Skip to content

Commit 8dc0c1e

Browse files
author
Daniel Nylander
committed
Add 5 translations: Swedish, German, French, Italian, Portuguese (BR)
Collected from open PRs against balena-io/etcher: - Swedish (sv) — PR balena-io#4416 by Sopor - German (de) — PR balena-io#4110 by Benjamin Weis - French (fr) — PR balena-io#4524 by Theo - Italian (it) — PR balena-io#4337 by bovirus - Portuguese BR (pt-BR) — PR balena-io#4271 by Carlos Eduardo da Silva Oliveira Also includes sudo-askpass translations for de, fr, pt-BR. All languages registered in i18n.ts with automatic locale detection.
1 parent a79db1d commit 8dc0c1e

File tree

9 files changed

+889
-1
lines changed

9 files changed

+889
-1
lines changed

lib/gui/app/i18n.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ 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 sv_translation from './i18n/sv';
7+
import de_translation from './i18n/de';
8+
import fr_translation from './i18n/fr';
9+
import it_translation from './i18n/it';
10+
import pt_BR_translation from './i18n/pt-BR';
611

712
export function langParser() {
813
if (process.env.LANG !== undefined) {
@@ -20,6 +25,8 @@ export function langParser() {
2025
else {
2126
return 'zh-TW';
2227
} // Traditional Chinese
28+
case 'pt':
29+
return 'pt-BR';
2330
default:
2431
return lang.substr(0, 2);
2532
}
@@ -36,9 +43,14 @@ i18next.use(initReactI18next).init({
3643
'zh-CN': zh_CN_translation,
3744
'zh-TW': zh_TW_translation,
3845
en: en_translation,
46+
sv: sv_translation,
47+
de: de_translation,
48+
fr: fr_translation,
49+
it: it_translation,
50+
'pt-BR': pt_BR_translation,
3951
},
4052
});
4153

42-
export const supportedLocales = ['en', 'zh'];
54+
export const supportedLocales = ['en', 'zh', 'sv', 'de', 'fr', 'it', 'pt-BR'];
4355

4456
export default i18next;

lib/gui/app/i18n/de.ts

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
const translation = {
2+
translation: {
3+
continue: 'Fortsetzen',
4+
ok: 'OK',
5+
cancel: 'Abbrechen',
6+
skip: 'Überspringen',
7+
sure: "Ja, ich bin sicher",
8+
warning: 'WARNUNG! ',
9+
attention: 'Achtung',
10+
failed: 'Fehlgeschlagen',
11+
completed: 'Abgeschlossen',
12+
yesContinue: 'Ja, fortsetzen',
13+
reallyExit: 'Bist du sicher, dass du Etcher schließen möchtest?',
14+
yesExit: 'Ja, beenden',
15+
progress: {
16+
starting: 'Wird gestartet...',
17+
decompressing: 'Wird dekomprimiert...',
18+
flashing: 'Wird geflasht...',
19+
finishing: 'Wird fertiggestellt...',
20+
verifying: 'Wird validiert...',
21+
failing: 'Fehlgeschlagen',
22+
},
23+
message: {
24+
sizeNotRecommended: 'Nicht empfohlen',
25+
tooSmall: 'Zu klein',
26+
locked: 'Gesperrt',
27+
system: 'Systemlaufwerk',
28+
containsImage: 'Quelllaufwerk',
29+
largeDrive: 'Großes Laufwerk',
30+
sourceLarger: 'Die ausgewählte Quelle ist {{byte}} größer als dieses Laufwerk.',
31+
flashSucceed_one: 'Erfolgreiches Ziel',
32+
flashSucceed_other: 'Erfolgreiche Ziele',
33+
flashFail_one: 'Fehlgeschlagenes Ziel',
34+
flashFail_other: 'Fehlgeschlagene Ziele',
35+
toDrive: 'auf {{description}} ({{name}})',
36+
toTarget_one: 'auf {{num}} Ziel',
37+
toTarget_other: 'auf {{num}} Ziele',
38+
andFailTarget_one: 'und konnte nicht auf {{num}} Ziel geflasht werden',
39+
andFailTarget_other: 'und konnte nicht auf {{num}} Ziele geflasht werden',
40+
succeedTo: '{{name}} wurde erfolgreich geflasht {{target}}',
41+
exitWhileFlashing:
42+
'Du flashst gerade ein Laufwerk. Das Schließen von Etcher könnte dein Laufwerk in einen unbrauchbaren Zustand versetzen.',
43+
looksLikeWindowsImage:
44+
'Es sieht so aus, als würdest du versuchen, ein Windows-Abbild zu brennen.\n\nIm Gegensatz zu anderen Abbildern erfordern Windows-Abbilder eine spezielle Verarbeitung, um bootfähig zu werden. Wir empfehlen dir, ein speziell für diesen Zweck entwickeltes Werkzeug zu verwenden, wie <a href="https://rufus.akeo.ie">Rufus</a> (Windows), <a href="https://github.com/slacka/WoeUSB">WoeUSB</a> (Linux) oder Boot Camp Assistant (macOS).',
45+
image: 'Abbild',
46+
drive: 'Laufwerk',
47+
missingPartitionTable:
48+
'Es sieht so aus, als wäre dies kein bootfähiges {{type}}.\n\nDas {{type}} scheint keine Partitionstabelle zu enthalten und wird möglicherweise von deinem Gerät nicht erkannt oder ist nicht bootfähig.',
49+
largeDriveSize:
50+
"Dies ist ein großes Laufwerk! Stelle sicher, dass es keine Dateien enthält, die du behalten möchtest.",
51+
systemDrive:
52+
'Die Auswahl deines Systemlaufwerks ist gefährlich und wird dein Laufwerk löschen!',
53+
sourceDrive: 'Enthält das Abbild, das du zum Flashen ausgewählt hast',
54+
noSpace:
55+
'Nicht genug Platz auf dem Laufwerk. Bitte lege ein größeres ein und versuche es erneut.',
56+
genericFlashError:
57+
'Etwas ist schiefgelaufen. Wenn es sich um ein komprimiertes Abbild handelt, überprüfe bitte, ob das Archiv nicht beschädigt ist.\n{{error}}',
58+
validation:
59+
'Der Schreibvorgang wurde erfolgreich abgeschlossen, aber Etcher hat beim Zurücklesen des Abbilds vom Laufwerk eine mögliche Beschädigung festgestellt. \n\nBitte denke darüber nach, das Abbild auf ein anderes Laufwerk zu schreiben.',
60+
openError:
61+
'Beim Öffnen von {{source}} ist etwas schiefgelaufen.\n\nFehler: {{error}}',
62+
flashError: 'Beim Schreiben von {{image}} {{targets}} ist etwas schiefgelaufen.',
63+
unplug:
64+
"Es sieht so aus, als hätte Etcher den Zugriff auf das Laufwerk verloren. Wurde es versehentlich ausgesteckt? \n\nManchmal wird dieser Fehler durch fehlerhafte Lesegeräte verursacht, die keinen stabilen Zugriff auf das Laufwerk ermöglichen.",
65+
cannotWrite:
66+
'Es sieht so aus, als ob Etcher nicht in der Lage ist, in diesen Bereich des Laufwerks zu schreiben. Dieser Fehler wird normalerweise durch ein fehlerhaftes Laufwerk, Lesegerät oder einen fehlerhaften Anschluss verursacht. \n\nBitte versuche es noch einmal mit einem anderen Laufwerk, Lesegerät oder Anschluss.',
67+
childWriterDied:
68+
'Der Schreibprozess endete unerwartet. Bitte versuche es erneut und kontaktiere das Etcher-Team, falls das Problem weiterhin besteht.',
69+
badProtocol: 'Es werden nur http:// und https:// URLs unterstützt.',
70+
},
71+
target: {
72+
selectTarget: 'Ziel auswählen',
73+
plugTarget: 'Ziellaufwerk anschließen',
74+
targets: 'Ziele',
75+
change: 'Ändern',
76+
},
77+
source: {
78+
useSourceURL: 'Abbild-URL verwenden',
79+
auth: 'Authentifizierung',
80+
username: 'Benutzername eingeben',
81+
password: 'Passwort eingeben',
82+
unsupportedProtocol: 'Nicht unterstütztes Protokoll',
83+
windowsImage: 'Mögliches Windows-Abbild erkannt',
84+
partitionTable: 'Fehlende Partitionstabelle',
85+
errorOpen: 'Fehler beim Öffnen der Quelle',
86+
fromFile: 'Von Datei flashen',
87+
fromURL: 'Von URL flashen',
88+
clone: 'Laufwerk klonen',
89+
image: 'Abbild',
90+
name: 'Name: ',
91+
path: 'Pfad: ',
92+
selectSource: 'Quelle auswählen',
93+
plugSource: 'Quelllaufwerk anschließen',
94+
osImages: 'BS-Abbilder',
95+
allFiles: 'Alle',
96+
enterValidURL: 'Eine gültige URL eingeben',
97+
},
98+
drives: {
99+
name: 'Name',
100+
size: 'Größe',
101+
location: 'Ort',
102+
find: '{{length}} gefunden',
103+
select: '{{select}} auswählen',
104+
showHidden: '{{num}} Versteckte(s) anzeigen',
105+
systemDriveDanger:
106+
'Die Auswahl deines Systemlaufwerks ist gefährlich und wird dein Laufwerk löschen!',
107+
openInBrowser: '`Etcher wird {{link}} in deinem Browser öffnen`',
108+
changeTarget: 'Ziel ändern',
109+
largeDriveWarning: 'Du bist dabei, ein ungewöhnlich großes Laufwerk zu löschen ',
110+
largeDriveWarningMsg:
111+
'Bist du sicher, dass das ausgewählte Laufwerk kein Datenaufbewahrungslaufwerk ist?',
112+
systemDriveWarning: "Du bist dabei, die Laufwerke deines Computers zu löschen",
113+
systemDriveWarningMsg:
114+
'Bist du sicher, dass du dein Systemlaufwerk flashen möchtest?',
115+
},
116+
flash: {
117+
another: 'Anderes flashen',
118+
target: 'Ziel',
119+
location: 'Ort',
120+
error: 'Fehler',
121+
flash: 'Flashen',
122+
flashNow: 'Flashen!',
123+
skip: 'Validierung wurde übersprungen',
124+
moreInfo: 'weitere Infos',
125+
speedTip:
126+
'Die Geschwindigkeit wird berechnet, indem die Größe des Abbilds durch die Flash-Zeit geteilt wird.\nFestplattenabbilder mit ext-Partitionen werden schneller geflasht, da wir in der Lage sind, ungenutzte Bestandteile zu überspringen.',
127+
speed: 'Effektive Geschwindigkeit: {{speed}} MB/s',
128+
speedShort: '{{speed}} MB/s',
129+
eta: 'ETA: {{eta}}',
130+
failedTarget: 'Fehlgeschlagene Ziele',
131+
failedRetry: 'Fehlgeschlagene Ziele wiederholen',
132+
flashFailed: 'Flashen fehlgeschlagen.',
133+
flashCompleted: 'Flashen abgeschlossen!',
134+
},
135+
settings: {
136+
errorReporting:
137+
'Fehler und Nutzungsstatistiken anonym an balena.io melden',
138+
autoUpdate: 'Automatische Aktualisierungen aktiviert',
139+
settings: 'Einstellungen',
140+
systemInformation: 'Systeminformationen',
141+
trimExtPartitions:
142+
'Nicht zugewiesenen Speicherplatz auf Roh-Abbildern (in Partitionen vom Typ ext) kürzen',
143+
},
144+
menu: {
145+
edit: 'Bearbeiten',
146+
view: 'Ansicht',
147+
devTool: 'Entwicklerwerkzeuge umschalten',
148+
window: 'Fenster',
149+
help: 'Hilfe',
150+
pro: 'Etcher Pro',
151+
website: 'Etcher Website',
152+
issue: 'Ein Problem melden',
153+
about: 'Über Etcher',
154+
hide: 'Etcher ausblenden',
155+
hideOthers: 'Andere ausblenden',
156+
unhide: 'Alle einblenden',
157+
quit: 'Etcher beenden',
158+
},
159+
},
160+
};
161+
162+
export default translation;

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;

0 commit comments

Comments
 (0)