diff --git a/resources/assets/js/components/base/modal/CustomerModal.vue b/resources/assets/js/components/base/modal/CustomerModal.vue
index fd0726e0..5c27bfcf 100644
--- a/resources/assets/js/components/base/modal/CustomerModal.vue
+++ b/resources/assets/js/components/base/modal/CustomerModal.vue
@@ -56,9 +56,9 @@
:options="currencies"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('customers.select_currency')"
label="name"
track-by="id"
- placeholder="select currency"
/>
@@ -130,9 +130,9 @@
@@ -142,9 +142,9 @@
@@ -162,10 +162,10 @@
:options="countryList"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('general.select_country')"
:allow-empty="false"
track-by="id"
label="name"
- placeholder="select country"
/>
@@ -178,10 +178,10 @@
:options="billingStates"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('general.select_state')"
:disabled="isDisabledBillingState"
track-by="id"
label="name"
- placeholder="select state"
/>
@@ -194,10 +194,10 @@
:options="billingCities"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('general.select_city')"
:disabled="isDisabledBillingCity"
track-by="id"
label="name"
- placeholder="select city"
/>
@@ -314,10 +314,10 @@
:options="shippingStates"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('general.select_state')"
:disabled="isDisabledShippingState"
track-by="id"
label="name"
- placeholder="select state"
/>
@@ -330,10 +330,10 @@
:options="shippingCities"
:searchable="true"
:show-labels="false"
+ :placeholder="$t('general.select_city')"
:disabled="isDisabledShippingCity"
track-by="id"
label="name"
- placeholder="select city"
/>
diff --git a/resources/assets/js/components/base/modal/EstimateTemplate.vue b/resources/assets/js/components/base/modal/EstimateTemplate.vue
index 7bf954e5..8887efac 100644
--- a/resources/assets/js/components/base/modal/EstimateTemplate.vue
+++ b/resources/assets/js/components/base/modal/EstimateTemplate.vue
@@ -31,7 +31,7 @@
color="theme"
@click="chooseTemplate()"
>
- {{ $t('general.choose_template') }}
+ {{ $t('general.choose') }}
diff --git a/resources/assets/js/components/base/modal/InvoiceTemplate.vue b/resources/assets/js/components/base/modal/InvoiceTemplate.vue
index f08aaead..0739246f 100644
--- a/resources/assets/js/components/base/modal/InvoiceTemplate.vue
+++ b/resources/assets/js/components/base/modal/InvoiceTemplate.vue
@@ -31,7 +31,7 @@
color="theme"
@click="chooseTemplate()"
>
- {{ $t('general.choose_template') }}
+ {{ $t('general.choose') }}
diff --git a/resources/assets/js/components/base/modal/TaxTypeModal.vue b/resources/assets/js/components/base/modal/TaxTypeModal.vue
index dfd8f4f9..76b26240 100644
--- a/resources/assets/js/components/base/modal/TaxTypeModal.vue
+++ b/resources/assets/js/components/base/modal/TaxTypeModal.vue
@@ -189,7 +189,7 @@ export default {
response = await this.updateTaxType(this.formData)
}
if (response.data) {
- window.toastr['success'](this.$t('settings.sales_taxes.created_message'))
+ window.toastr['success'](this.$t('settings.tax_types.created_message'))
window.hub.$emit('newTax', response.data.taxType)
this.closeTaxModal()
this.isLoading = false
diff --git a/resources/assets/js/components/base/popup/TaxSelectPopup.vue b/resources/assets/js/components/base/popup/TaxSelectPopup.vue
index 5d9fd4c4..2874fc72 100644
--- a/resources/assets/js/components/base/popup/TaxSelectPopup.vue
+++ b/resources/assets/js/components/base/popup/TaxSelectPopup.vue
@@ -76,7 +76,7 @@ export default {
},
openTaxModal () {
this.openModal({
- 'title': 'Add Tax',
+ 'title': this.$t('settings.tax_types.add_tax'),
'componentName': 'TaxTypeModal'
})
}
diff --git a/resources/assets/js/plugins/en.js b/resources/assets/js/plugins/en.js
index e9530099..82479fc1 100644
--- a/resources/assets/js/plugins/en.js
+++ b/resources/assets/js/plugins/en.js
@@ -49,7 +49,8 @@ export default {
all: 'All',
select_all: 'Select All',
choose_file: 'Click here to choose a file',
- choose_template: 'Choose',
+ choose_template: 'Choose a template',
+ choose: 'Choose',
remove: 'Remove',
powered_by: 'Powered by',
bytefury: 'Bytefury',
@@ -599,6 +600,7 @@ export default {
},
tax_types: {
title: 'Tax Types',
+ add_tax: 'Add Tax',
description: 'You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.',
add_new_tax: 'Add New Tax',
tax_settings: 'Tax Settings',
@@ -747,13 +749,13 @@ export default {
price_greater_than_zero: 'Price must be greater than zero.',
payment_greater_than_zero: 'Payment must be greater than zero.',
payment_greater_than_due_amount: 'Entered Payment is more than due amount of this invoice.',
- quantity_maxlength: 'Quantity should not be greater than 10 characters.',
- price_maxlength: 'Price should not be greater than 10 characters.',
- amount_maxlength: 'Amount should not be greater than 10 characters.',
+ quantity_maxlength: 'Quantity should not be greater than 10 digits.',
+ price_maxlength: 'Price should not be greater than 10 digits.',
+ amount_maxlength: 'Amount should not be greater than 10 digits.',
description_maxlength: 'Description should not be greater than 255 characters.',
maximum_options_error: 'Maximum of {max} options selected. First remove a selected option to select another.',
notes_maxlength: 'Notes should not be greater than 255 characters.',
address_maxlength: 'Address should not be greater than 255 characters.',
- ref_number_maxlength: 'Ref Number should not be greater than 10 characters'
+ ref_number_maxlength: 'Ref Number should not be greater than 10 digits'
}
}
diff --git a/resources/assets/js/plugins/es.js b/resources/assets/js/plugins/es.js
index 0f151f31..04c67339 100644
--- a/resources/assets/js/plugins/es.js
+++ b/resources/assets/js/plugins/es.js
@@ -49,7 +49,8 @@ export default {
all: 'Todas',
select_all: 'Seleccionar todo',
choose_file: 'Haga clic aquí para elegir un archivo.',
- choose_template: 'Escoger',
+ choose_template: 'Elige una plantilla',
+ choose: 'Escoger',
remove: 'Eliminar',
powered_by: 'Energizado por',
bytefury: 'Bytefury',
@@ -186,6 +187,7 @@ export default {
list_of_items: 'Esta sección contendrá la lista de artículos.',
select_a_unit: 'seleccione unidad',
+ item_attached_message: 'No se puede eliminar un elemento que ya está en uso.',
confirm_delete: 'No podrá recuperar este artículo | No podrás recuperar estos elementos',
created_message: 'Artículo creado con éxito',
updated_message: 'Artículo actualizado con éxito',
@@ -225,6 +227,7 @@ export default {
estimate_template: 'Plantilla de estimación',
convert_to_invoice: 'Convertir a factura',
mark_as_sent: 'Marcar como enviado',
+ send_estimate: 'Enviar presupuesto',
record_payment: 'Registro de pago',
add_estimate: 'Agregar presupuesto',
save_estimate: 'Guardar estimación',
@@ -331,6 +334,7 @@ export default {
select_an_item: 'Escriba o haga clic para seleccionar un elemento',
type_item_description: 'Tipo Elemento Descripción (opcional)'
},
+ payment_attached_message: 'Una de las facturas seleccionadas ya tiene un pago adjunto. Asegúrese de eliminar primero los pagos adjuntos para continuar con la eliminación',
confirm_delete: 'No podrá recuperar esta factura | No podrá recuperar estas facturas',
created_message: 'Factura creada exitosamente',
updated_message: 'Factura actualizada exitosamente',
@@ -597,6 +601,7 @@ export default {
},
tax_types: {
title: 'Tipos de impuestos',
+ add_tax: 'Agregar impuesto',
description: 'Puede agregar o eliminar impuestos a su gusto. Crater admite impuestos sobre artículos individuales, así como sobre la factura.',
add_new_tax: 'Agregar nuevo impuesto',
tax_settings: 'Configuraciones de impuestos',
@@ -699,13 +704,13 @@ export default {
price_greater_than_zero: 'El precio debe ser mayor que cero.',
payment_greater_than_zero: 'El pago debe ser mayor que cero.',
payment_greater_than_due_amount: 'El pago ingresado es mayor al monto adeudado de esta factura.',
- quantity_maxlength: 'La cantidad no debe ser mayor de 10 caracteres.',
- price_maxlength: 'El precio no debe tener más de 10 caracteres.',
- amount_maxlength: 'La cantidad no debe ser mayor de 10 caracteres.',
+ quantity_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
+ price_maxlength: 'El precio no debe ser mayor de 10 dígitos.',
+ amount_maxlength: 'La cantidad no debe ser mayor de 10 dígitos.',
description_maxlength: 'La descripción no debe tener más de 255 caracteres.',
maximum_options_error: 'Máximo de {max} opciones seleccionadas. Primero elimine una opción seleccionada para seleccionar otra.',
notes_maxlength: 'Las notas no deben tener más de 255 caracteres.',
address_maxlength: 'La dirección no debe tener más de 255 caracteres.',
- ref_number_maxlength: 'El número de referencia no debe tener más de 10 caracteres.'
+ ref_number_maxlength: 'El número de referencia no debe tener más de 10 dígitos.'
}
}
diff --git a/resources/assets/js/plugins/fr.js b/resources/assets/js/plugins/fr.js
index 58c39f34..597d1c23 100644
--- a/resources/assets/js/plugins/fr.js
+++ b/resources/assets/js/plugins/fr.js
@@ -49,7 +49,8 @@ export default {
all: 'Tout',
select_all: 'Tout sélectionner',
choose_file: 'Cliquez ici pour choisir un fichier',
- choose_template: 'Choisir',
+ choose_template: 'Choisissez un modèle',
+ choose: 'Choisir',
remove: 'Retirer',
powered_by: 'Alimenté par',
bytefury: 'Bytefury',
@@ -186,6 +187,7 @@ export default {
list_of_items: 'Cette section contiendra la liste des éléments.',
select_a_unit: 'sélectionner lunité',
+ item_attached_message: 'Impossible de supprimer un élément déjà utilisé',
confirm_delete: 'Vous ne pourrez pas récupérer cet article | Vous ne pourrez pas récupérer ces objets',
created_message: 'Article créé avec succès',
updated_message: 'Élément mis à jour avec succès',
@@ -225,6 +227,7 @@ export default {
estimate_template: 'Modèle destimation',
convert_to_invoice: 'Convertir en facture',
mark_as_sent: 'Marquer comme envoyé',
+ send_estimate: 'Envoyer une estimation',
record_payment: 'Record de paiement',
add_estimate: 'Ajouter une estimation',
save_estimate: 'Sauvegarder lestimation',
@@ -331,6 +334,7 @@ export default {
select_an_item: 'Tapez ou cliquez pour sélectionner un élément',
type_item_description: 'Type Item Description (optionnel)'
},
+ payment_attached_message: "Un paiement est déjà associé à l'une des factures sélectionnées. Assurez-vous d’effacer d’abord les paiements en pièce jointe afin de procéder à la suppression.",
confirm_delete: 'Vous ne pourrez pas récupérer cette facture | Vous ne pourrez pas récupérer ces factures',
created_message: 'Facture créée avec succès',
updated_message: 'Facture mise à jour avec succès',
@@ -597,6 +601,7 @@ export default {
},
tax_types: {
title: 'Types de taxe',
+ add_tax: 'Ajouter une taxe',
description: 'Vous pouvez ajouter ou supprimer des taxes à votre guise. Crater prend en charge les taxes sur les articles individuels ainsi que sur la facture.',
add_new_tax: 'Ajouter une nouvelle taxe',
tax_settings: 'Paramètres de taxe',
@@ -690,7 +695,7 @@ export default {
not_yet: 'Pas encore? Envoyer à nouveau',
password_min_length: 'Le mot de passe doit contenir {nombre} caractères',
name_min_length: 'Le nom doit avoir au moins {count} lettres.',
- enter_valid_tax_rate: 'Enter valid tax rate',
+ enter_valid_tax_rate: 'Entrez un taux de taxe valide',
numbers_only: 'Chiffres uniquement.',
characters_only: 'Caractères seulement.',
password_incorrect: 'Les mots de passe doivent être identiques',
@@ -699,13 +704,13 @@ export default {
price_greater_than_zero: 'Le prix doit être supérieur à zéro.',
payment_greater_than_zero: 'Le paiement doit être supérieur à zéro.',
payment_greater_than_due_amount: 'Le paiement entré est plus que le montant dû de cette facture.',
- quantity_maxlength: 'La quantité ne doit pas dépasser 10 caractères.',
- price_maxlength: 'Le prix ne doit pas dépasser 10 caractères.',
- amount_maxlength: 'Le montant ne doit pas dépasser 10 caractères.',
+ quantity_maxlength: 'La quantité ne doit pas dépasser 10 chiffres.',
+ price_maxlength: 'Le prix ne doit pas dépasser 10 chiffres.',
+ amount_maxlength: 'Le montant ne doit pas dépasser 10 chiffres.',
description_maxlength: 'La description ne doit pas dépasser 255 caractères.',
maximum_options_error: 'Maximum de {max} options sélectionnées. Commencez par supprimer une option sélectionnée pour en sélectionner une autre.',
notes_maxlength: 'Les notes ne doivent pas dépasser 255 caractères.',
address_maxlength: "L'adresse ne doit pas dépasser 255 caractères.",
- ref_number_maxlength: 'Le numéro de référence ne doit pas dépasser 10 caractères'
+ ref_number_maxlength: 'Le numéro de référence ne doit pas dépasser 10 chiffres.'
}
}
diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js
index d1df1dc5..0fbdacbd 100644
--- a/resources/assets/js/store/actions.js
+++ b/resources/assets/js/store/actions.js
@@ -15,7 +15,7 @@ export default {
commit('company/' + companyTypes.BOOTSTRAP_COMPANIES, response.data.companies)
commit('taxType/' + taxTypeTypes.BOOTSTRAP_TAX_TYPES, response.data.taxTypes)
commit('preferences/' + preferencesTypes.SET_MOMENT_DATE_FORMAT, response.data.moment_date_format)
-
+ commit('preferences/' + preferencesTypes.SET_LANGUAGE_FORMAT, response.data.default_language)
commit(types.UPDATE_APP_LOADING_STATUS, true)
resolve(response)
}).catch((err) => {
diff --git a/resources/assets/js/store/modules/settings/preferences/mutation-types.js b/resources/assets/js/store/modules/settings/preferences/mutation-types.js
index 3140c769..650e19bf 100644
--- a/resources/assets/js/store/modules/settings/preferences/mutation-types.js
+++ b/resources/assets/js/store/modules/settings/preferences/mutation-types.js
@@ -1 +1,2 @@
export const SET_MOMENT_DATE_FORMAT = 'SET_MOMENT_DATE_FORMAT'
+export const SET_LANGUAGE_FORMAT = 'SET_LANGUAGE_FORMAT'
diff --git a/resources/assets/js/store/modules/settings/preferences/mutations.js b/resources/assets/js/store/modules/settings/preferences/mutations.js
index 18be60a1..fab3bc63 100644
--- a/resources/assets/js/store/modules/settings/preferences/mutations.js
+++ b/resources/assets/js/store/modules/settings/preferences/mutations.js
@@ -3,5 +3,8 @@ import * as types from './mutation-types'
export default {
[types.SET_MOMENT_DATE_FORMAT] (state, data) {
state.momentDateFormat = data
+ },
+ [types.SET_LANGUAGE_FORMAT] (state, data) {
+ window.i18n.locale = data
}
}
diff --git a/resources/assets/js/views/estimates/Create.vue b/resources/assets/js/views/estimates/Create.vue
index 13887f18..e6443c8a 100644
--- a/resources/assets/js/views/estimates/Create.vue
+++ b/resources/assets/js/views/estimates/Create.vue
@@ -582,7 +582,7 @@ export default {
},
openTemplateModal () {
this.openModal({
- 'title': 'Choose a template',
+ 'title': this.$t('general.choose_template'),
'componentName': 'EstimateTemplate',
'data': this.estimateTemplates
})
diff --git a/resources/assets/js/views/estimates/Tax.vue b/resources/assets/js/views/estimates/Tax.vue
index 3328b21f..62c00192 100644
--- a/resources/assets/js/views/estimates/Tax.vue
+++ b/resources/assets/js/views/estimates/Tax.vue
@@ -159,7 +159,7 @@ export default {
},
openTaxModal () {
this.openModal({
- 'title': 'Add Tax',
+ 'title': this.$t('settings.tax_types.add_tax'),
'componentName': 'TaxTypeModal'
})
}
diff --git a/resources/assets/js/views/invoices/Create.vue b/resources/assets/js/views/invoices/Create.vue
index f49a7cd1..3b37ab66 100644
--- a/resources/assets/js/views/invoices/Create.vue
+++ b/resources/assets/js/views/invoices/Create.vue
@@ -591,7 +591,7 @@ export default {
},
openTemplateModal () {
this.openModal({
- 'title': 'Choose a template',
+ 'title': this.$t('general.choose_template'),
'componentName': 'InvoiceTemplate',
'data': this.invoiceTemplates
})
diff --git a/resources/assets/js/views/invoices/Edit.vue b/resources/assets/js/views/invoices/Edit.vue
index d72137a9..5b41ec84 100644
--- a/resources/assets/js/views/invoices/Edit.vue
+++ b/resources/assets/js/views/invoices/Edit.vue
@@ -500,7 +500,7 @@ export default {
},
openTemplateModal () {
this.openModal({
- 'title': 'Choose a template',
+ 'title': this.$t('general.choose_template'),
'componentName': 'InvoiceTemplate',
'data': this.invoiceTemplates
})
diff --git a/resources/assets/js/views/invoices/Tax.vue b/resources/assets/js/views/invoices/Tax.vue
index ba972458..639fc6b4 100644
--- a/resources/assets/js/views/invoices/Tax.vue
+++ b/resources/assets/js/views/invoices/Tax.vue
@@ -156,7 +156,7 @@ export default {
},
openTaxModal () {
this.openModal({
- 'title': 'Add Tax',
+ 'title': this.$t('settings.tax_types.add_tax'),
'componentName': 'TaxTypeModal'
})
}
diff --git a/resources/assets/js/views/settings/TaxTypes.vue b/resources/assets/js/views/settings/TaxTypes.vue
index f7e60914..a98e32ad 100644
--- a/resources/assets/js/views/settings/TaxTypes.vue
+++ b/resources/assets/js/views/settings/TaxTypes.vue
@@ -161,15 +161,15 @@ export default {
async removeTax (id, index) {
let response = await this.deleteTaxType(id)
if (response.data.success) {
- window.toastr['success'](this.$t('settings.sales_taxes.deleted_message'))
+ window.toastr['success'](this.$t('settings.tax_types.deleted_message'))
this.id = null
this.$refs.table.refresh()
return true
- }window.toastr['success'](this.$t('settings.sales_taxes.already_in_use'))
+ }window.toastr['success'](this.$t('settings.tax_types.already_in_use'))
},
openTaxModal () {
this.openModal({
- 'title': 'Add Tax',
+ 'title': this.$t('settings.tax_types.add_tax'),
'componentName': 'TaxTypeModal'
})
this.$refs.table.refresh()