Skip to content

Commit 32145cf

Browse files
committed
added german translation for yopass
1 parent adf1cab commit 32145cf

File tree

4 files changed

+125
-1
lines changed

4 files changed

+125
-1
lines changed

website/src/shared/components/LanguageSwitcher.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default function LanguageSwitcher() {
66
const languages = [
77
{ code: 'en', name: 'English' },
88
{ code: 'sv', name: 'Svenska' },
9+
{ code: 'de', name: 'Deutsch' },
910
];
1011

1112
const handleLanguageChange = (languageCode: string) => {

website/src/shared/lib/i18n.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { initReactI18next } from 'react-i18next';
33
import LanguageDetector from 'i18next-browser-languagedetector';
44

55
// Import translations
6-
import { en, sv } from '../locales';
6+
import { en, sv, de} from '../locales';
77

88
i18n
99
.use(initReactI18next)
@@ -16,6 +16,9 @@ i18n
1616
sv: {
1717
translation: sv,
1818
},
19+
de: {
20+
translation: de,
21+
},
1922
},
2023
fallbackLng: 'en',
2124
debug: false,

website/src/shared/locales/de.json

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
{
2+
"create": {
3+
"title": "Nachricht verschlüsseln",
4+
"inputSecretLabel": "Dein Geheimnis",
5+
"inputSecretPlaceholder": "Gib dein Geheimnis ein...",
6+
"buttonEncrypt": "Nachricht verschlüsseln",
7+
"inputCustomPasswordLabel": "Eigenes Passwort",
8+
"inputCustomPasswordPlaceholder": "Gib dein Passwort ein...",
9+
"inputOneTimeLabel": "Einmaliger Download",
10+
"inputGenerateKeyLabel": "Entschlüsselungsschlüssel generieren"
11+
},
12+
"upload": {
13+
"title": "Datei hochladen",
14+
"buttonUpload": "Hochladen",
15+
"uploadFileButton": "Datei hochladen",
16+
"dragDropText": "Datei ziehen & ablegen oder klicken, um eine Datei auszuwählen",
17+
"fileDescription": "Der Datei-Upload ist für kleine Dateien wie SSH-Keys und Zertifikate gedacht.",
18+
"errorSelectFile": "Bitte wählen Sie eine Datei zum Hochladen aus",
19+
"errorFailedToRead": "Datei konnte nicht gelesen werden",
20+
"expirationLegendFile": "Die verschlüsselte Datei wird automatisch gelöscht nach"
21+
},
22+
"display": {
23+
"titleDecrypting": "Entschlüsseln...",
24+
"titleDecryptionKey": "Entschlüsselungsschlüssel eingeben",
25+
"captionDecryptionKey": "Bitte dieses Fenster nicht aktualisieren, da das Geheimnis möglicherweise auf einen einmaligen Download beschränkt ist.",
26+
"inputDecryptionKeyPlaceholder": "Entschlüsselungsschlüssel",
27+
"inputDecryptionKeyLabel": "Ein Entschlüsselungsschlüssel ist erforderlich, bitte unten eingeben",
28+
"errorInvalidPassword": "Ungültiges Passwort, bitte erneut versuchen",
29+
"buttonDecrypt": "Geheimnis entschlüsseln",
30+
"decryptingMessage": "Dein Geheimnis wird entschlüsselt…",
31+
"errorInvalidPasswordDetailed": "Ungültiges Passwort. Bitte erneut versuchen.",
32+
"buttonDecryptSecret": "GEHEIMNIS ENTSCHLÜSSELN",
33+
"loading": "Lädt...",
34+
"secureMessageTitle": "Sichere Nachricht",
35+
"secureMessageSubtitle": "Du hast eine sichere Nachricht erhalten, die nur einmal angesehen werden kann",
36+
"importantTitle": "Wichtig",
37+
"oneTimeWarning": "Diese Nachricht zerstört sich nach dem Anzeigen selbst. Nach der Enthüllung kann sie nicht erneut aufgerufen werden.",
38+
"oneTimeWarningReady": "Stelle sicher, dass du bereit bist, sie jetzt anzusehen.",
39+
"buttonRevealMessage": "Sichere Nachricht anzeigen"
40+
},
41+
"error": {
42+
"title": "Geheimnis existiert nicht",
43+
"subtitle": "Dies könnte durch einen der folgenden Gründe verursacht worden sein.",
44+
"titleOpened": "Bereits geöffnet",
45+
"subtitleOpenedBefore": "Ein Geheimnis kann auf einen einmaligen Download beschränkt sein. Es könnte verloren gegangen sein, weil der Absender den Link geöffnet hat, bevor du es gesehen hast.",
46+
"subtitleOpenedCompromised": "Das Geheimnis könnte kompromittiert und von jemand anderem gelesen worden sein. Bitte kontaktiere den Absender und fordere ein neues Geheimnis an.",
47+
"titleBrokenLink": "Defekter Link",
48+
"subtitleBrokenLink": "Der Link muss exakt übereinstimmen, damit die Entschlüsselung funktioniert. Möglicherweise fehlen magische Ziffern.",
49+
"titleExpired": "Abgelaufen",
50+
"subtitleExpired": "Kein Geheimnis hält ewig. Alle gespeicherten Geheimnisse laufen ab und zerstören sich automatisch. Die Lebensdauer reicht von einer Stunde bis zu einer Woche."
51+
},
52+
"result": {
53+
"title": "Geheimnis sicher gespeichert",
54+
"subtitle": "Dein Geheimnis wurde verschlüsselt und gespeichert. Teile diese Links, um Zugriff zu gewähren.",
55+
"subtitleDownloadOnce": "Geheimnis kann nur einmal heruntergeladen werden. Öffne den Link also nicht selbst. Vorsichtige senden den Entschlüsselungsschlüssel über einen separaten Kommunikationskanal.",
56+
"reminderTitle": "Merke",
57+
"rowLabelOneClick": "Ein-Klick-Link",
58+
"rowOneClickDescription": "Teile diesen Link für direkten Zugriff auf das Geheimnis",
59+
"rowLabelShortLink": "Kurzlink",
60+
"rowShortLinkDescription": "Erfordert, dass der Entschlüsselungsschlüssel separat geteilt wird",
61+
"rowLabelDecryptionKey": "Entschlüsselungsschlüssel",
62+
"rowDecryptionKeyDescription": "Erforderlich, um die Nachricht mit dem Kurzlink zu entschlüsseln",
63+
"buttonCreateAnother": "Ein weiteres Geheimnis erstellen"
64+
},
65+
"secret": {
66+
"titleFile": "Datei heruntergeladen",
67+
"subtitleFile": "Deine Datei wurde entschlüsselt und heruntergeladen. Wenn du sie erneut herunterladen musst, klicke auf den Button unten.",
68+
"fileDownloaded": "Datei heruntergeladen",
69+
"buttonDownloadFile": "Datei erneut herunterladen",
70+
"titleMessage": "Entschlüsselte Nachricht",
71+
"subtitleMessage": "Dieses Geheimnis wird nicht erneut zugänglich sein. Stelle sicher, dass du es jetzt speicherst!",
72+
"buttonCopy": "Kopieren",
73+
"buttonCopyToClipboard": "In Zwischenablage kopieren",
74+
"buttonCopied": "Kopiert!",
75+
"showQrCode": "QR-Code anzeigen",
76+
"hideQrCode": "QR-Code ausblenden"
77+
},
78+
"delete": {
79+
"buttonDelete": "Löschen",
80+
"messageDeleted": "Das Geheimnis wurde vom Server entfernt!",
81+
"dialogTitle": "Geheimnis löschen?",
82+
"dialogMessage": "Bist du sicher, dass du dieses Geheimnis entfernen möchtest?",
83+
"dialogProgress": "Löschen...",
84+
"dialogConfirm": "Löschen",
85+
"dialogCancel": "Abbrechen"
86+
},
87+
"expiration": {
88+
"legend": "Die verschlüsselte Nachricht wird automatisch gelöscht nach",
89+
"optionOneHourLabel": "Eine Stunde",
90+
"optionOneDayLabel": "Ein Tag",
91+
"optionOneWeekLabel": "Eine Woche"
92+
},
93+
"features": {
94+
"title": "Geheimnisse sicher und einfach teilen",
95+
"subtitle": "Yopass wurde entwickelt, um die Menge an Klartext-Passwörtern in E-Mails und Chats zu reduzieren, indem es diese verschlüsselt und einen kurzlebigen Link erstellt, der nur einmal angesehen werden kann.",
96+
"featureEndToEndTitle": "Ende-zu-Ende-Verschlüsselung",
97+
"featureEndToEndText": "Verschlüsselung und Entschlüsselung erfolgen lokal im Browser. Der Schlüssel wird nie bei Yopass gespeichert.",
98+
"featureSelfDestructionTitle": "Selbstzerstörung",
99+
"featureSelfDestructionText": "Verschlüsselte Nachrichten haben eine feste Lebensdauer und werden nach Ablauf automatisch gelöscht.",
100+
"featureOneTimeTitle": "Einmal-Downloads",
101+
"featureOneTimeText": "Die verschlüsselte Nachricht kann nur einmal heruntergeladen werden, was das Risiko verringert, dass jemand deine Geheimnisse ausspäht.",
102+
"featureSimpleSharingTitle": "Einfaches Teilen",
103+
"featureSimpleSharingText": "Yopass erstellt einen eindeutigen Ein-Klick-Link für die verschlüsselte Datei oder Nachricht. Das Entschlüsselungspasswort kann alternativ separat gesendet werden.",
104+
"featureNoAccountsTitle": "Keine Konten erforderlich",
105+
"featureNoAccountsText": "Teilen soll schnell und einfach sein; außer dem verschlüsselten Geheimnis werden keine weiteren Informationen in der Datenbank gespeichert.",
106+
"featureOpenSourceTitle": "Open-Source-Software",
107+
"featureOpenSourceText": "Der Yopass-Verschlüsselungsmechanismus basiert auf Open-Source-Software, was volle Transparenz sowie die Möglichkeit zur Prüfung und Einreichung von Features bietet."
108+
},
109+
"header": {
110+
"buttonHome": "Startseite",
111+
"buttonUpload": "Hochladen",
112+
"appName": "Yopass"
113+
},
114+
"common": {
115+
"copy": "Kopieren",
116+
"copied": "Kopiert!"
117+
}
118+
}
119+

website/src/shared/locales/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Export translation resources for type safety
22
export { default as en } from './en.json';
33
export { default as sv } from './sv.json';
4+
export { default as de } from './de.json';
45

56
// Add future language exports here
67
// export { default as es } from './es.json';

0 commit comments

Comments
 (0)