Merge pull request #6 from jflefebvre/french_translations

-- french translations
This commit is contained in:
Pipapu
2021-06-21 09:24:55 +03:00
committed by GitHub
28 changed files with 290 additions and 39 deletions

View 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"
}

View File

@ -0,0 +1,6 @@
{
"loading": "Chargement",
"bank": "Banque",
"bank_account_details": "Détails du compte bancaire",
"add_bank_account": "Ajouter un compte bancaire"
}

View File

@ -0,0 +1,10 @@
{
"label": "Libellé",
"field": "Champs",
"delete_modal": {
"title": "Supprimer champ",
"ok_title": "Supprimer",
"cancel_title": "Annuler"
},
"notification_deleted": "Supprimé"
}

View 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"
}

View File

@ -0,0 +1,6 @@
{
"client": "Client",
"create": "Créer",
"new": "nouveau",
"suggest_placeholder": "Rechercher client"
}

View File

@ -0,0 +1,5 @@
{
"title": "Customiser vos factures",
"textarea_label": "Ajouter votre CSS customisée",
"updated": "Mis à jour"
}

View File

@ -0,0 +1,3 @@
{
"content": "Rien à voir ici"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View File

@ -0,0 +1,5 @@
{
"add_website": "Ajouter un site web",
"add_email": "Ajouter un e-mail",
"add_phone": "Ajouter un téléphone"
}

View 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é"
}

View File

@ -0,0 +1,3 @@
{
"insert_note": "Ajouter une note"
}

View 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"
}

View 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"
}

View File

@ -0,0 +1,7 @@
{
"item": "Objet",
"quantity": "Quantité",
"unit": "Unité",
"price": "Prix",
"sum": "Total"
}

View File

@ -0,0 +1,5 @@
{
"subtotal": "Sous-total",
"total": "Total",
"add_currency": "Ajouter devise"
}

View File

@ -0,0 +1,7 @@
{
"invoice_number": "No.",
"client": "Client",
"issued_at": "Facturé le",
"total": "Total",
"status": "Etat"
}

View File

@ -0,0 +1,6 @@
{
"title": "Factures",
"new_invoice": "Nouvelle facture",
"export": "Exporter",
"import": "Importer"
}

View File

@ -0,0 +1,9 @@
{
"statuses": {
"draft": "brouillon",
"booked": "signé",
"sent": "envoyé",
"paid": "payé",
"cancelled": "annulé"
}
}

View File

@ -0,0 +1,10 @@
{
"label": "Libellé",
"field": "Champ",
"delete_modal": {
"title": "Supprimer un champ",
"ok_title": "Supprimer",
"cancel_title": "Annuler"
},
"notification_delete": "Supprimé"
}

View 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"
}
}

View 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"
}

View File

@ -0,0 +1,10 @@
{
"label": "Libellé",
"tax": "Taxe",
"delete_modal": {
"title": "Supprimer la taxe",
"ok_title": "Supprimer",
"cancel_title": "Annuler"
},
"notification_deleted": "Supprimé"
}

View 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"
}

View File

@ -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;

View File

@ -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));
},
},
},
};
};