Skip to content

Commit 1667457

Browse files
committed
feat(i18n): add french language
1 parent a79db1d commit 1667457

File tree

3 files changed

+189
-1
lines changed

3 files changed

+189
-1
lines changed

lib/gui/app/i18n.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { initReactI18next } from 'react-i18next';
33
import zh_CN_translation from './i18n/zh-CN';
44
import zh_TW_translation from './i18n/zh-TW';
55
import en_translation from './i18n/en';
6+
import fr_translation from './i18n/fr';
67

78
export function langParser() {
89
if (process.env.LANG !== undefined) {
@@ -36,9 +37,10 @@ i18next.use(initReactI18next).init({
3637
'zh-CN': zh_CN_translation,
3738
'zh-TW': zh_TW_translation,
3839
en: en_translation,
40+
fr: fr_translation,
3941
},
4042
});
4143

42-
export const supportedLocales = ['en', 'zh'];
44+
export const supportedLocales = ['en', 'fr', 'zh'];
4345

4446
export default i18next;

lib/gui/app/i18n/fr.ts

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
const translation = {
2+
translation: {
3+
continue: 'Continuer',
4+
ok: 'OK',
5+
cancel: 'Annuler',
6+
skip: 'Ignorer',
7+
sure: 'Oui, je suis sûr',
8+
warning: 'AVERTISSEMENT ! ',
9+
attention: 'Attention',
10+
failed: 'Échec',
11+
completed: 'Terminé',
12+
yesContinue: 'Oui, continuer',
13+
reallyExit: 'Êtes-vous sûr de vouloir fermer Etcher ?',
14+
yesExit: 'Oui, quitter',
15+
progress: {
16+
starting: 'Démarrage...',
17+
decompressing: 'Décompression...',
18+
flashing: 'Écriture...',
19+
finishing: 'Finalisation...',
20+
verifying: 'Vérification...',
21+
failing: 'Échec',
22+
},
23+
message: {
24+
sizeNotRecommended: 'Non recommandé',
25+
tooSmall: 'Trop petit',
26+
locked: 'Verrouillé',
27+
system: 'Disque système',
28+
containsImage: 'Disque source',
29+
largeDrive: 'Grand disque',
30+
sourceLarger:
31+
'La source sélectionnée est plus grande de {{byte}} que ce disque.',
32+
flashSucceed_one: 'Cible réussie',
33+
flashSucceed_other: 'Cibles réussies',
34+
flashFail_one: 'Cible échouée',
35+
flashFail_other: 'Cibles échouées',
36+
toDrive: 'vers {{description}} ({{name}})',
37+
toTarget_one: 'vers {{num}} cible',
38+
toTarget_other: 'vers {{num}} cibles',
39+
andFailTarget_one: 'et n’a pas pu être écrite sur {{num}} cible',
40+
andFailTarget_other: 'et n’a pas pu être écrite sur {{num}} cibles',
41+
succeedTo: '{{name}} a été correctement écrite {{target}}',
42+
exitWhileFlashing:
43+
'Une écriture est en cours. Fermer Etcher maintenant peut rendre votre disque inutilisable.',
44+
looksLikeWindowsImage:
45+
'Il semble que vous essayiez de graver une image Windows.\n\nContrairement à d’autres images, les images Windows nécessitent un traitement spécial pour être rendues amorçables. Nous vous recommandons d’utiliser un outil conçu pour cela, comme <a href="https://rufus.akeo.ie">Rufus</a> (Windows), <a href="https://github.com/slacka/WoeUSB">WoeUSB</a> (Linux) ou Assistant Boot Camp (macOS).',
46+
image: 'image',
47+
drive: 'disque',
48+
missingPartitionTable:
49+
'Il semble que ceci ne soit pas un {{type}} amorçable.\n\nLe {{type}} ne semble pas contenir de table de partition, et pourrait ne pas être reconnu ou amorçable par votre appareil.',
50+
largeDriveSize:
51+
'Ceci est un grand disque ! Assurez-vous qu’il ne contient pas de fichiers que vous souhaitez conserver.',
52+
systemDrive:
53+
'Sélectionner votre disque système est dangereux et effacera son contenu !',
54+
sourceDrive: 'Contient l’image que vous avez choisie d’écrire',
55+
noSpace:
56+
'Espace insuffisant sur le disque. Veuillez en insérer un plus grand et réessayer.',
57+
genericFlashError:
58+
'Une erreur est survenue. Si l’image est compressée, vérifiez que l’archive n’est pas corrompue.\n{{error}}',
59+
validation:
60+
'L’écriture s’est terminée avec succès, mais Etcher a détecté des problèmes potentiels de corruption en relisant l’image sur le disque. \n\nVeuillez envisager d’écrire l’image sur un autre disque.',
61+
openError:
62+
'Une erreur est survenue lors de l’ouverture de {{source}}.\n\nErreur : {{error}}',
63+
flashError:
64+
'Une erreur est survenue lors de l’écriture de {{image}} {{targets}}.',
65+
unplug:
66+
'Etcher semble avoir perdu l’accès au disque. A-t-il été débranché accidentellement ?\n\nParfois, cette erreur provient de lecteurs défectueux qui n’offrent pas un accès stable au disque.',
67+
cannotWrite:
68+
'Etcher ne peut pas écrire à cet emplacement du disque. Cette erreur est généralement due à un disque, un lecteur ou un port défectueux. \n\nVeuillez réessayer avec un autre disque, lecteur ou port.',
69+
childWriterDied:
70+
'Le processus d’écriture s’est arrêté de manière inattendue. Veuillez réessayer et contacter l’équipe Etcher si le problème persiste.',
71+
badProtocol: 'Seuls les liens http:// et https:// sont pris en charge.',
72+
},
73+
target: {
74+
selectTarget: 'Sélectionner une cible',
75+
plugTarget: 'Branchez un disque cible',
76+
targets: 'Cibles',
77+
change: 'Changer',
78+
},
79+
source: {
80+
useSourceURL: 'Utiliser une URL d’image',
81+
auth: 'Authentification',
82+
username: 'Entrer le nom d’utilisateur',
83+
password: 'Entrer le mot de passe',
84+
unsupportedProtocol: 'Protocole non pris en charge',
85+
windowsImage: 'Image Windows détectée',
86+
partitionTable: 'Table de partition manquante',
87+
errorOpen: 'Erreur lors de l’ouverture de la source',
88+
fromFile: 'Écrire à partir d’un fichier',
89+
fromURL: 'Écrire à partir d’une URL',
90+
clone: 'Cloner un disque',
91+
image: 'Image',
92+
name: 'Nom : ',
93+
path: 'Chemin : ',
94+
selectSource: 'Sélectionner une source',
95+
plugSource: 'Branchez un disque source',
96+
osImages: 'Images système',
97+
allFiles: 'Tous les fichiers',
98+
enterValidURL: 'Entrez une URL valide',
99+
},
100+
drives: {
101+
name: 'Nom',
102+
size: 'Taille',
103+
location: 'Emplacement',
104+
find: '{{length}} trouvé(s)',
105+
select: 'Sélectionner {{select}}',
106+
showHidden: 'Afficher {{num}} caché(s)',
107+
systemDriveDanger:
108+
'Sélectionner votre disque système est dangereux et effacera son contenu !',
109+
openInBrowser: '`Etcher ouvrira {{link}} dans votre navigateur`',
110+
changeTarget: 'Changer de cible',
111+
largeDriveWarning:
112+
'Vous êtes sur le point d’effacer un disque inhabituellement grand',
113+
largeDriveWarningMsg:
114+
'Êtes-vous sûr que le disque sélectionné n’est pas un disque de stockage ?',
115+
systemDriveWarning:
116+
'Vous êtes sur le point d’effacer les disques de votre ordinateur',
117+
systemDriveWarningMsg:
118+
'Êtes-vous sûr de vouloir écrire sur votre disque système ?',
119+
},
120+
flash: {
121+
another: 'Écrire un autre',
122+
target: 'Cible',
123+
location: 'Emplacement',
124+
error: 'Erreur',
125+
flash: 'Écrire',
126+
flashNow: 'Écrire maintenant !',
127+
skip: 'La vérification a été ignorée',
128+
moreInfo: 'plus d’infos',
129+
speedTip:
130+
'La vitesse est calculée en divisant la taille de l’image par le temps d’écriture.\nLes images disque avec des partitions ext s’écrivent plus rapidement car les parties inutilisées peuvent être ignorées.',
131+
speed: 'Vitesse effective : {{speed}} Mo/s',
132+
speedShort: '{{speed}} Mo/s',
133+
eta: 'Temps restant : {{eta}}',
134+
failedTarget: 'Cibles échouées',
135+
failedRetry: 'Réessayer les cibles échouées',
136+
flashFailed: 'Écriture échouée.',
137+
flashCompleted: 'Écriture terminée !',
138+
},
139+
settings: {
140+
errorReporting: 'Signaler anonymement les erreurs à balena.io',
141+
autoUpdate: 'Mises à jour automatiques activées',
142+
settings: 'Paramètres',
143+
systemInformation: 'Informations système',
144+
trimExtPartitions:
145+
'Espace libre supprimé sur les images brutes (dans les partitions de type ext)',
146+
},
147+
menu: {
148+
edit: 'Édition',
149+
view: 'Affichage',
150+
devTool: 'Afficher les outils de développement',
151+
window: 'Fenêtre',
152+
help: 'Aide',
153+
pro: 'Etcher Pro',
154+
website: 'Site web d’Etcher',
155+
issue: 'Signaler un problème',
156+
about: 'À propos d’Etcher',
157+
hide: 'Masquer Etcher',
158+
hideOthers: 'Masquer les autres',
159+
unhide: 'Tout afficher',
160+
quit: 'Quitter Etcher',
161+
},
162+
},
163+
};
164+
165+
export default translation;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env osascript -l JavaScript
2+
3+
ObjC.import('stdlib')
4+
5+
const app = Application.currentApplication()
6+
app.includeStandardAdditions = true
7+
8+
const result = app.displayDialog('balenaEtcher a besoin de privilèges pour écrire sur le disque.\n\nEntrez votre mot de passe pour l\'y autoriser', {
9+
defaultAnswer: '',
10+
withIcon: 'caution',
11+
buttons: ['Annuler', 'Ok'],
12+
defaultButton: 'Ok',
13+
hiddenAnswer: true,
14+
})
15+
16+
if (result.buttonReturned === 'Ok') {
17+
result.textReturned
18+
} else {
19+
$.exit(255)
20+
}
21+

0 commit comments

Comments
 (0)