Skip to content

Commit 031f72a

Browse files
authored
Add French translations (#78)
1 parent 38ec9a5 commit 031f72a

File tree

3 files changed

+139
-1
lines changed

3 files changed

+139
-1
lines changed

src/locale/dicts/fr.json

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
{
2+
"lang.name": "Français",
3+
"browser_warning.lines.first": "Oh non, votre navigateur ne prend pas en charge les communications Bluetooth et série",
4+
"browser_warning.lines.second": "Quoi qu'il en soit, vous pouvez toujours dessiner des étiquettes.",
5+
"connector.bluetooth": "Bluetooth",
6+
"connector.disconnect.heartbeat": "Déconnecté (l'imprimante ne répond pas)",
7+
"connector.serial": "Série (USB)",
8+
"editor.clear": "Effacer le canevas",
9+
"editor.clear.confirm": "Effacer le contenu du canevas ?",
10+
"editor.clone": "Dupliquer",
11+
"editor.default_text": "Texte",
12+
"editor.delete": "Supprimer",
13+
"editor.iconpicker.mdi_link_title": "Voir la liste détaillée ici",
14+
"editor.iconpicker.search": "Rechercher",
15+
"editor.iconpicker.title": "Ajouter une icône",
16+
"editor.import.zpl": "Importer ZPL",
17+
"editor.objectpicker.barcode": "Code-barres",
18+
"editor.objectpicker.circle": "Cercle",
19+
"editor.objectpicker.image": "Image",
20+
"editor.objectpicker.line": "Ligne",
21+
"editor.objectpicker.qrcode": "QR Code",
22+
"editor.objectpicker.rectangle": "Rectangle",
23+
"editor.objectpicker.text": "Texte",
24+
"editor.objectpicker.title": "Ajouter un objet",
25+
"editor.preview": "Aperçu",
26+
"editor.print": "Imprimer",
27+
"editor.redo": "Rétablir",
28+
"editor.undo": "Annuler",
29+
"editor.warning.load": "Le canevas sera remplacé par les données enregistrées",
30+
"editor.warning.save": "Les données enregistrées seront écrasées. Enregistrer ?",
31+
"main.built": "construit le",
32+
"main.code": "Code",
33+
"params.barcode.content": "Contenu",
34+
"params.barcode.enable_caption": "Activer la légende",
35+
"params.barcode.encoding": "Codage",
36+
"params.barcode.font_size": "Taille de la police",
37+
"params.barcode.scale": "Facteur d'échelle",
38+
"params.csv.enabled": "Activé",
39+
"params.csv.placeholders": "Variables :",
40+
"params.csv.rowsfound": "Lignes de données trouvées :",
41+
"params.csv.tip": "La première ligne est un en-tête. Elle est utilisée comme noms de variables. Les virgules sont utilisées comme séparateurs.",
42+
"params.csv.title": "Données d'étiquettes dynamiques (CSV)",
43+
"params.generic.center.horizontal": "Centrer horizontalement",
44+
"params.generic.center.vertical": "Centrer verticalement",
45+
"params.generic.fit": "Ajuster à la page",
46+
"params.generic.fit.mode.stretch": "Étirement",
47+
"params.generic.fit.mode.ratio_min": "Ajuster",
48+
"params.generic.fit.mode.ratio_max": "Remplir",
49+
"params.label.apply": "Appliquer",
50+
"params.label.current": "Paramètres actuels :",
51+
"params.label.direction.left": "Gauche",
52+
"params.label.direction.top": "Haut",
53+
"params.label.direction": "Sens d'impression",
54+
"params.label.dpmm": "ppmm",
55+
"params.label.export": "Exporter",
56+
"params.label.head_density.help": "Calcul : DPI / 25,4",
57+
"params.label.head_density": "Densité de pixels",
58+
"params.label.import": "Importer",
59+
"params.label.label_title": "Titre personnalisé",
60+
"params.label.menu_title": "Propriétés de l'étiquette",
61+
"params.label.mm": "mm",
62+
"params.label.px": "px",
63+
"params.label.save_template": "Enregistrer comme modèle",
64+
"params.label.shape": "Forme de l'étiquette",
65+
"params.label.size": "Taille",
66+
"params.label.split": "Fractionnement de l'étiquette",
67+
"params.label.tail.length": "Longueur du trait",
68+
"params.label.tail.position": "Position du trait",
69+
"params.label.mirror": "Miroir de l'objet",
70+
"params.label.warning.direction": "Sens recommandé pour votre imprimante :",
71+
"params.label.warning.import": "Tous les modèles enregistrés seront écrasés",
72+
"params.label.warning.width": "La largeur de l'étiquette est trop grande pour votre imprimante :",
73+
"params.qrcode.ecl": "Niveau de correction d'erreur",
74+
"params.saved_labels.kb_used": "ko utilisés",
75+
"params.saved_labels.label_title.placeholder": "(facultatif)",
76+
"params.saved_labels.label_title": "Titre",
77+
"params.saved_labels.load.browser": "Charger",
78+
"params.saved_labels.load.json": "Importer",
79+
"params.saved_labels.make_default": "Définir par défaut",
80+
"params.saved_labels.menu_title": "Enregistrer/charger (stockage du navigateur)",
81+
"params.saved_labels.save.browser.replace": "Enregistrer (remplacer)",
82+
"params.saved_labels.save.browser": "Enregistrer",
83+
"params.saved_labels.save.json": "Exporter",
84+
"params.text.align.center": "Aligner le texte : centré",
85+
"params.text.align.left": "Aligner le texte : à gauche",
86+
"params.text.align.right": "Aligner le texte : à droite",
87+
"params.text.bold": "Gras",
88+
"params.text.edit.title": "Modifier le texte",
89+
"params.text.edit": "Modifier dans la fenêtre",
90+
"params.text.fetch_fonts": "Récupérer les polices",
91+
"params.text.font_family": "Police de caractères",
92+
"params.text.font_size.down": "Réduire la taille de la police",
93+
"params.text.font_size.up": "Augmenter la taille de la police",
94+
"params.text.font_size": "Taille de la police",
95+
"params.text.invert_colors": "Inverser les couleurs",
96+
"params.text.line_height": "Hauteur de ligne",
97+
"params.text.vorigin.bottom": "Bas",
98+
"params.text.vorigin.center": "Centre",
99+
"params.text.vorigin.top": "Haut",
100+
"params.text.vorigin": "Origine verticale",
101+
"params.variables.insert.date": "Date",
102+
"params.variables.insert.datetime": "Date et heure",
103+
"params.variables.insert.time": "Heure",
104+
"params.variables.insert": "Insérer une variable",
105+
"preview.close": "Fermer",
106+
"preview.copies": "Copies",
107+
"preview.density": "Densité",
108+
"preview.label_type.Black": "Noir",
109+
"preview.label_type.BlackMarkGap": "Marque noire (gap)",
110+
"preview.label_type.Continuous": "Continue",
111+
"preview.label_type.HeatShrinkTube": "Manchon thermorétractable",
112+
"preview.label_type.Invalid": "Invalide",
113+
"preview.label_type.Perforated": "Perforée",
114+
"preview.label_type.PvcTag": "Étiquette PVC",
115+
"preview.label_type.Transparent": "Transparent",
116+
"preview.label_type.WithGaps": "Avec espaces",
117+
"preview.label_type": "Type d'étiquette",
118+
"preview.not_connected": "Imprimante non connectée",
119+
"preview.not_implemented": "NON IMPLÉMENTÉ",
120+
"preview.offset.inner": "Intérieur",
121+
"preview.offset.outer": "Extérieur",
122+
"preview.offset": "Décalage",
123+
"preview.postprocess.atkinson": "Tramage (Atkinson)",
124+
"preview.postprocess.threshold": "Seuillage",
125+
"preview.postprocess": "Post-traitement",
126+
"preview.print_task": "Tâche d'impression",
127+
"preview.print.cancel": "Annuler l'impression",
128+
"preview.print.system": "Imprimer avec l'imprimante du système",
129+
"preview.print": "Imprimer",
130+
"preview.threshold": "Seuil",
131+
"preview.title": "Aperçu d'impression"
132+
}

src/locale/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import lang_it from "./dicts/it.json";
55
import lang_ru from "./dicts/ru.json";
66
import lang_pl from "./dicts/pl.json";
77
import lang_zh_cn from "./dicts/zh_cn.json";
8+
import lang_fr from "./dicts/fr.json";
89

910
export type TranslationKey = keyof typeof lang_en;
1011
export type TranslationDict = Record<TranslationKey, string>;
@@ -24,13 +25,15 @@ export const langPack = {
2425
pl: lang_pl as TranslationDict,
2526
/** Simplified Chinese */
2627
zh_cn: lang_zh_cn as TranslationDict,
28+
/** French */
29+
fr: lang_fr as TranslationDict
2730
} as const;
2831

2932
export type SupportedLanguage = keyof typeof langPack;
3033

3134
export const languageNames = Object.assign(
3235
{},
3336
...Object.entries(langPack).map(([k, v]) => ({
34-
[k]: v["lang.name"] ?? k,
37+
[k]: v["lang.name"] ?? k
3538
}))
3639
) as Record<SupportedLanguage, string>;

src/utils/i18n.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ const guessBrowserLanguage = (): SupportedLanguage => {
3030
case "zh-Hans":
3131
case "zh-CN":
3232
return "zh_cn";
33+
case "fr":
34+
case "fr-FR":
35+
return "fr";
3336
default:
3437
return "en";
3538
}

0 commit comments

Comments
 (0)