mirror of
https://github.com/mokuappio/serverless-invoices.git
synced 2025-10-27 07:51:08 -04:00
Merge pull request #6 from jflefebvre/french_translations
-- french translations
This commit is contained in:
9
public/locales/fr/bank-account-form.json
Normal file
9
public/locales/fr/bank-account-form.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"title": "Compte bancaire",
|
||||
"bank_name": "Nom de la banque",
|
||||
"account_no": "Détails du compte bancaire",
|
||||
"loading": "Chargement",
|
||||
"done": "Terminé",
|
||||
"create": "Créer",
|
||||
"notification_updated": "Mis à jour"
|
||||
}
|
||||
6
public/locales/fr/bank-accounts-list.json
Normal file
6
public/locales/fr/bank-accounts-list.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"loading": "Chargement",
|
||||
"bank": "Banque",
|
||||
"bank_account_details": "Détails du compte bancaire",
|
||||
"add_bank_account": "Ajouter un compte bancaire"
|
||||
}
|
||||
10
public/locales/fr/client-fields.json
Normal file
10
public/locales/fr/client-fields.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"label": "Libellé",
|
||||
"field": "Champs",
|
||||
"delete_modal": {
|
||||
"title": "Supprimer champ",
|
||||
"ok_title": "Supprimer",
|
||||
"cancel_title": "Annuler"
|
||||
},
|
||||
"notification_deleted": "Supprimé"
|
||||
}
|
||||
36
public/locales/fr/client-form.json
Normal file
36
public/locales/fr/client-form.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"title": "Client",
|
||||
"delete": "Supprimer",
|
||||
"done": "Terminé",
|
||||
"create": "Créer",
|
||||
"loading": "Chargement",
|
||||
"tabs": {
|
||||
"general": "Général",
|
||||
"invoicing": "Facturation",
|
||||
"address": "Adresse"
|
||||
},
|
||||
"general": {
|
||||
"company_name": "Nom de la société",
|
||||
"invoice_email": "E-mail"
|
||||
},
|
||||
"invoicing": {
|
||||
"currency": "Devise",
|
||||
"rate": "Taux horaire",
|
||||
"has_tax": "Taxes à appliquer",
|
||||
"bank_account": "Compte bancaire"
|
||||
},
|
||||
"address": {
|
||||
"company_address": "Addresse de la société",
|
||||
"company_postal_code": "Code postal",
|
||||
"company_city": "Ville",
|
||||
"company_county": "Province/Région",
|
||||
"company_country": "Pays"
|
||||
},
|
||||
"delete_modal": {
|
||||
"title": "Supprimer client",
|
||||
"ok_title": "Supprimer",
|
||||
"cancel_title": "Annuler"
|
||||
},
|
||||
"notification_deleted": "Supprimer",
|
||||
"notification_updated": "Mis à jour"
|
||||
}
|
||||
6
public/locales/fr/client-selector.json
Normal file
6
public/locales/fr/client-selector.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"client": "Client",
|
||||
"create": "Créer",
|
||||
"new": "nouveau",
|
||||
"suggest_placeholder": "Rechercher client"
|
||||
}
|
||||
5
public/locales/fr/customizations-modal.json
Normal file
5
public/locales/fr/customizations-modal.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"title": "Customiser vos factures",
|
||||
"textarea_label": "Ajouter votre CSS customisée",
|
||||
"updated": "Mis à jour"
|
||||
}
|
||||
3
public/locales/fr/empty-state.json
Normal file
3
public/locales/fr/empty-state.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"content": "Rien à voir ici"
|
||||
}
|
||||
6
public/locales/fr/import-modal.json
Normal file
6
public/locales/fr/import-modal.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"title": "Importer vos données",
|
||||
"warning": "Vos données actuelles seront supprimées et écrasées avec les données importées!",
|
||||
"button_text": "Choisissez votre fichier à importer",
|
||||
"import-error": "Format JSON invalide"
|
||||
}
|
||||
5
public/locales/fr/invoice-bank-details.json
Normal file
5
public/locales/fr/invoice-bank-details.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"bank_name": "Ajouter une banque",
|
||||
"bank_account_no": "Ajoutez les détails d'une banque",
|
||||
"bank_account_modal_title": "Choisissez un compte bancaire"
|
||||
}
|
||||
8
public/locales/fr/invoice-client-details.json
Normal file
8
public/locales/fr/invoice-client-details.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"client_address": "Adresse",
|
||||
"client_postal_code": "Code postal",
|
||||
"client_city": "Ville",
|
||||
"client_county": "Province/Région",
|
||||
"client_country": "Pays",
|
||||
"client_email": "E-mail du client"
|
||||
}
|
||||
9
public/locales/fr/invoice-company-details.json
Normal file
9
public/locales/fr/invoice-company-details.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"your_company_name": "Votre nom de société",
|
||||
"address": "Adresse",
|
||||
"postal_code": "Code postal",
|
||||
"city": "Ville",
|
||||
"county": "Province/Région",
|
||||
"country": "Country",
|
||||
"your_email": "Your email"
|
||||
}
|
||||
5
public/locales/fr/invoice-contact-details.json
Normal file
5
public/locales/fr/invoice-contact-details.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"add_website": "Ajouter un site web",
|
||||
"add_email": "Ajouter un e-mail",
|
||||
"add_phone": "Ajouter un téléphone"
|
||||
}
|
||||
16
public/locales/fr/invoice-controls.json
Normal file
16
public/locales/fr/invoice-controls.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"back": "Retour",
|
||||
"book": "Book",
|
||||
"design_and_layout": "Apparence",
|
||||
"compact": "Compacte",
|
||||
"comfortable": "Comfortable",
|
||||
"customize": "Customise",
|
||||
"download_pdf": "Télécharger PDF",
|
||||
"delete": "Supprimer",
|
||||
"delete_modal": {
|
||||
"title": "Supprimer facture",
|
||||
"ok_title": "Supprimer",
|
||||
"cancel_title": "Annuler"
|
||||
},
|
||||
"notification_deleted": "Supprimé"
|
||||
}
|
||||
3
public/locales/fr/invoice-form.json
Normal file
3
public/locales/fr/invoice-form.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"insert_note": "Ajouter une note"
|
||||
}
|
||||
10
public/locales/fr/invoice-header.json
Normal file
10
public/locales/fr/invoice-header.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"invoice_title": "Facture ",
|
||||
"invoice_number": "No.",
|
||||
"issued_at": "Facturé le: ",
|
||||
"due_at": "Exigible le:",
|
||||
"late_fee": "Intérets de retard:",
|
||||
"add_late_fee": "Ajouter intérets de retard",
|
||||
"modal_issued_at_title": "Facturé le",
|
||||
"modal_due_at_title": "Exigible le"
|
||||
}
|
||||
7
public/locales/fr/invoice-row.json
Normal file
7
public/locales/fr/invoice-row.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"enter_item": "Entrer objet",
|
||||
"enter_quantity": "Entrer quantité",
|
||||
"enter_unit": "Entrer unité",
|
||||
"enter_price": "Entrer prix",
|
||||
"enter_tax": "Entrer taxe"
|
||||
}
|
||||
7
public/locales/fr/invoice-rows-header.json
Normal file
7
public/locales/fr/invoice-rows-header.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"item": "Objet",
|
||||
"quantity": "Quantité",
|
||||
"unit": "Unité",
|
||||
"price": "Prix",
|
||||
"sum": "Total"
|
||||
}
|
||||
5
public/locales/fr/invoice-totals.json
Normal file
5
public/locales/fr/invoice-totals.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"subtotal": "Sous-total",
|
||||
"total": "Total",
|
||||
"add_currency": "Ajouter devise"
|
||||
}
|
||||
7
public/locales/fr/invoices-list.json
Normal file
7
public/locales/fr/invoices-list.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"invoice_number": "No.",
|
||||
"client": "Client",
|
||||
"issued_at": "Facturé le",
|
||||
"total": "Total",
|
||||
"status": "Etat"
|
||||
}
|
||||
6
public/locales/fr/invoices.json
Normal file
6
public/locales/fr/invoices.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"title": "Factures",
|
||||
"new_invoice": "Nouvelle facture",
|
||||
"export": "Exporter",
|
||||
"import": "Importer"
|
||||
}
|
||||
9
public/locales/fr/statuses.json
Normal file
9
public/locales/fr/statuses.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"statuses": {
|
||||
"draft": "brouillon",
|
||||
"booked": "signé",
|
||||
"sent": "envoyé",
|
||||
"paid": "payé",
|
||||
"cancelled": "annulé"
|
||||
}
|
||||
}
|
||||
10
public/locales/fr/team-fields.json
Normal file
10
public/locales/fr/team-fields.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"label": "Libellé",
|
||||
"field": "Champ",
|
||||
"delete_modal": {
|
||||
"title": "Supprimer un champ",
|
||||
"ok_title": "Supprimer",
|
||||
"cancel_title": "Annuler"
|
||||
},
|
||||
"notification_delete": "Supprimé"
|
||||
}
|
||||
36
public/locales/fr/team-form.json
Normal file
36
public/locales/fr/team-form.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"title": "Votre société",
|
||||
"done": "Terminé",
|
||||
"updated": "Mis à jour",
|
||||
"loading": "Chargement",
|
||||
"tabs": {
|
||||
"general": "Général",
|
||||
"invoicing": "Facturation",
|
||||
"address": "Adresse",
|
||||
"taxes": "Taxes"
|
||||
},
|
||||
"general": {
|
||||
"company_name": "Nom de la société",
|
||||
"contact_email": "E-mail",
|
||||
"contact_phone": "Téléphone",
|
||||
"website": "Site web"
|
||||
},
|
||||
"invoicing": {
|
||||
"invoice_late_fee": "Intérêt de retard (%)",
|
||||
"invoice_due_days": "Conditions de paiements, jours",
|
||||
"currency": "Devise par défaut"
|
||||
},
|
||||
"address": {
|
||||
"company_address": "Address de la société",
|
||||
"company_postal_code": "Code postal",
|
||||
"company_city": "Ville",
|
||||
"company_county": "Province/Région",
|
||||
"company_country": "Pays"
|
||||
},
|
||||
"tax_modal": {
|
||||
"title": "Ecraser les taxes pour les lignes de la facture courante?",
|
||||
"ok_title": "Ecraser",
|
||||
"cancel_title": "Annuler",
|
||||
"taxes_updated": "Taxes mises à jour"
|
||||
}
|
||||
}
|
||||
7
public/locales/fr/team-logo.json
Normal file
7
public/locales/fr/team-logo.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"modal_title": "Choisissez un logo",
|
||||
"button_text": "Choisissez dans vos fichiers",
|
||||
"logo_url": "Insérez un image à partir d'une url",
|
||||
"logo_url_err": "Le logo doit avoir une taille < 512kb.",
|
||||
"or": "ou"
|
||||
}
|
||||
10
public/locales/fr/team-taxes.json
Normal file
10
public/locales/fr/team-taxes.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"label": "Libellé",
|
||||
"tax": "Taxe",
|
||||
"delete_modal": {
|
||||
"title": "Supprimer la taxe",
|
||||
"ok_title": "Supprimer",
|
||||
"cancel_title": "Annuler"
|
||||
},
|
||||
"notification_deleted": "Supprimé"
|
||||
}
|
||||
9
public/locales/fr/the-footer.json
Normal file
9
public/locales/fr/the-footer.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"lights-on": "Mode clair",
|
||||
"lights-off": "Mode sombre",
|
||||
"title": "Toutes vos données sont sauvées dans votre naviguateur et sur aucun serveur.\n Cette application est réellement serverless et vous avez seulement accès à vos propres données.",
|
||||
"what_about_my_data": "Qu'en est-il de mes données? ",
|
||||
"made_with": "Créé avec",
|
||||
"by": "par",
|
||||
"upgrade": "Mise à jour"
|
||||
}
|
||||
@ -8,28 +8,28 @@ import app from '@/main';
|
||||
Vue.use(VueI18Next);
|
||||
|
||||
i18next
|
||||
.use(LanguageDetector)
|
||||
.use(Backend);
|
||||
.use(LanguageDetector)
|
||||
.use(Backend);
|
||||
|
||||
const initialized = i18next.init({
|
||||
fallbackLng: 'en',
|
||||
whitelist: ['en', 'et', 'fa', 'bn', 'es'],
|
||||
backend: {
|
||||
loadPath: `${window.location.origin}/locales/{{lng}}/{{ns}}.json`,
|
||||
},
|
||||
detection: {
|
||||
order: ['querystring', 'path', 'localStorage', 'navigator'],
|
||||
lookupQuerystring: 'lang',
|
||||
caches: ['localStorage'],
|
||||
checkWhitelist: true,
|
||||
},
|
||||
fallbackLng: 'en',
|
||||
whitelist: ['en', 'fr', 'et', 'fa', 'bn', 'es'],
|
||||
backend: {
|
||||
loadPath: `${window.location.origin}/locales/{{lng}}/{{ns}}.json`,
|
||||
},
|
||||
detection: {
|
||||
order: ['querystring', 'path', 'localStorage', 'navigator'],
|
||||
lookupQuerystring: 'lang',
|
||||
caches: ['localStorage'],
|
||||
checkWhitelist: true,
|
||||
},
|
||||
});
|
||||
initialized.then(() => app.$store.dispatch('language/initLanguage', i18next.language));
|
||||
|
||||
const i18n = new VueI18Next(i18next, {
|
||||
loadComponentNamespace: true,
|
||||
loadComponentNamespace: true,
|
||||
});
|
||||
|
||||
i18n.initialized = initialized;
|
||||
|
||||
export default i18n;
|
||||
export default i18n;
|
||||
@ -1,30 +1,31 @@
|
||||
import app from '../main';
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
lang: null,
|
||||
all: [
|
||||
{ name: 'English', code: 'en' },
|
||||
{ name: 'Estonian', code: 'et' },
|
||||
{ name: 'Persian', code: 'fa' },
|
||||
{ name: 'Spanish', code: 'es' },
|
||||
{ name: 'Bangla', code: 'bn' },
|
||||
],
|
||||
},
|
||||
mutations: {
|
||||
lang(state, lang) {
|
||||
state.lang = lang;
|
||||
namespaced: true,
|
||||
state: {
|
||||
lang: null,
|
||||
all: [
|
||||
{ name: 'English', code: 'en' },
|
||||
{ name: 'French', code: 'fr' },
|
||||
{ name: 'Estonian', code: 'et' },
|
||||
{ name: 'Persian', code: 'fa' },
|
||||
{ name: 'Spanish', code: 'es' },
|
||||
{ name: 'Bangla', code: 'bn' },
|
||||
],
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
changeLanguage({ commit }, lang) {
|
||||
app.$i18n.i18next.changeLanguage(lang.code);
|
||||
app.$router.push({ query: { ...app.$route.query, lang: lang.code } });
|
||||
commit('lang', lang);
|
||||
mutations: {
|
||||
lang(state, lang) {
|
||||
state.lang = lang;
|
||||
},
|
||||
},
|
||||
initLanguage({ commit, state }, code) {
|
||||
commit('lang', state.all.find(lang => lang.code === code));
|
||||
actions: {
|
||||
changeLanguage({ commit }, lang) {
|
||||
app.$i18n.i18next.changeLanguage(lang.code);
|
||||
app.$router.push({ query: {...app.$route.query, lang: lang.code } });
|
||||
commit('lang', lang);
|
||||
},
|
||||
initLanguage({ commit, state }, code) {
|
||||
commit('lang', state.all.find(lang => lang.code === code));
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user