Merge pull request #330 from robin-moser/add-german-translation
Add german translation
This commit is contained in:
commit
98c1722dcf
|
@ -1849,6 +1849,7 @@ enum LanguageTranslation {
|
||||||
Danish,
|
Danish,
|
||||||
Spanish,
|
Spanish,
|
||||||
Polish,
|
Polish,
|
||||||
|
German,
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserPreferences {
|
type UserPreferences {
|
||||||
|
|
|
@ -78,6 +78,7 @@ const (
|
||||||
LanguageTranslationDanish LanguageTranslation = "Danish"
|
LanguageTranslationDanish LanguageTranslation = "Danish"
|
||||||
LanguageTranslationSpanish LanguageTranslation = "Spanish"
|
LanguageTranslationSpanish LanguageTranslation = "Spanish"
|
||||||
LanguageTranslationPolish LanguageTranslation = "Polish"
|
LanguageTranslationPolish LanguageTranslation = "Polish"
|
||||||
|
LanguageTranslationGerman LanguageTranslation = "German"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AllLanguageTranslation = []LanguageTranslation{
|
var AllLanguageTranslation = []LanguageTranslation{
|
||||||
|
@ -88,11 +89,12 @@ var AllLanguageTranslation = []LanguageTranslation{
|
||||||
LanguageTranslationDanish,
|
LanguageTranslationDanish,
|
||||||
LanguageTranslationSpanish,
|
LanguageTranslationSpanish,
|
||||||
LanguageTranslationPolish,
|
LanguageTranslationPolish,
|
||||||
|
LanguageTranslationGerman,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e LanguageTranslation) IsValid() bool {
|
func (e LanguageTranslation) IsValid() bool {
|
||||||
switch e {
|
switch e {
|
||||||
case LanguageTranslationEnglish, LanguageTranslationFrench, LanguageTranslationItalian, LanguageTranslationSwedish, LanguageTranslationDanish, LanguageTranslationSpanish, LanguageTranslationPolish:
|
case LanguageTranslationEnglish, LanguageTranslationFrench, LanguageTranslationItalian, LanguageTranslationSwedish, LanguageTranslationDanish, LanguageTranslationSpanish, LanguageTranslationPolish, LanguageTranslationGerman:
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -229,6 +229,7 @@ enum LanguageTranslation {
|
||||||
Danish,
|
Danish,
|
||||||
Spanish,
|
Spanish,
|
||||||
Polish,
|
Polish,
|
||||||
|
German,
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserPreferences {
|
type UserPreferences {
|
||||||
|
|
|
@ -11,6 +11,7 @@ export enum LanguageTranslation {
|
||||||
Danish = 'Danish',
|
Danish = 'Danish',
|
||||||
English = 'English',
|
English = 'English',
|
||||||
French = 'French',
|
French = 'French',
|
||||||
|
German = 'German',
|
||||||
Italian = 'Italian',
|
Italian = 'Italian',
|
||||||
Polish = 'Polish',
|
Polish = 'Polish',
|
||||||
Spanish = 'Spanish',
|
Spanish = 'Spanish',
|
||||||
|
|
|
@ -13,7 +13,7 @@ module.exports = function (api) {
|
||||||
plugins.push([
|
plugins.push([
|
||||||
'i18next-extract',
|
'i18next-extract',
|
||||||
{
|
{
|
||||||
locales: ['en', 'da', 'fr', 'sv', 'es', 'it', 'pl'],
|
locales: ['en', 'da', 'fr', 'sv', 'es', 'it', 'pl', 'de'],
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
|
@ -0,0 +1,254 @@
|
||||||
|
{
|
||||||
|
"album_filter": {
|
||||||
|
"only_favorites": "Nur Favoriten anzeigen",
|
||||||
|
"sort_by": "Sortieren nach",
|
||||||
|
"sorting_options": {
|
||||||
|
"date_imported": "Importdatum",
|
||||||
|
"date_shot": "Aufnahmedatum",
|
||||||
|
"title": "Titel",
|
||||||
|
"type": "Typ"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"albums_page": {
|
||||||
|
"title": "Alben"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"action": {
|
||||||
|
"add": "Hinzufügen",
|
||||||
|
"cancel": "Abbrechen",
|
||||||
|
"delete": "Löschen",
|
||||||
|
"more": "Mehr",
|
||||||
|
"remove": "Entfernen",
|
||||||
|
"save": "Speichern"
|
||||||
|
},
|
||||||
|
"loading": {
|
||||||
|
"album": "Lade Album",
|
||||||
|
"default": "Lade...",
|
||||||
|
"media": "Lade Medien",
|
||||||
|
"page": "Lade Seite",
|
||||||
|
"paginate": {
|
||||||
|
"faces": "Lade mehr Personen",
|
||||||
|
"media": "Lade mehr Medien"
|
||||||
|
},
|
||||||
|
"shares": "Lade Freigaben...",
|
||||||
|
"timeline": "Lade Timeline"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"search": {
|
||||||
|
"loading": "Lade Ergebnisse...",
|
||||||
|
"no_results": "Keine Ergebnisse gefunden",
|
||||||
|
"placeholder": "Suche",
|
||||||
|
"result_type": {
|
||||||
|
"albums": "Alben",
|
||||||
|
"photos": "Fotos"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"field": {
|
||||||
|
"password": "Passwort",
|
||||||
|
"submit": "Einloggen",
|
||||||
|
"username": "Benutzername"
|
||||||
|
},
|
||||||
|
"initial_setup": {
|
||||||
|
"field": {
|
||||||
|
"photo_path": {
|
||||||
|
"label": "Foto Pfad",
|
||||||
|
"placeholder": "/pfad/zu/fotos"
|
||||||
|
},
|
||||||
|
"submit": "Photoview einrichten"
|
||||||
|
},
|
||||||
|
"title": "Einrichtung"
|
||||||
|
},
|
||||||
|
"welcome": "Willkommen zu Photoview"
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"description": "Einfache und nutzerfreundliche Fotogallerie für Homeserver"
|
||||||
|
},
|
||||||
|
"people_page": {
|
||||||
|
"face_group": {
|
||||||
|
"label_placeholder": "Zuordnung",
|
||||||
|
"unlabeled": "Nicht zugeordnet"
|
||||||
|
},
|
||||||
|
"recognize_unlabeled_faces_button": "Nicht zugeordnete Gesichter erkennen"
|
||||||
|
},
|
||||||
|
"photos_page": {
|
||||||
|
"title": "Fotos"
|
||||||
|
},
|
||||||
|
"places_page": {
|
||||||
|
"title": "Orte"
|
||||||
|
},
|
||||||
|
"routes": {
|
||||||
|
"page_not_found": "Seite nicht gefunden"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"concurrent_workers": {
|
||||||
|
"description": "Die maximale erlaubte Anzahl an gleichzeitig laufenden Scanner Jobs",
|
||||||
|
"title": "Anzahl an Workern"
|
||||||
|
},
|
||||||
|
"logout": "Ausloggen",
|
||||||
|
"periodic_scanner": {
|
||||||
|
"checkbox_label": "Kontinuierlichen Scanner aktivieren",
|
||||||
|
"field": {
|
||||||
|
"description": "Intervall, in dem automatische Scans aller Nutzer wiederholt werden",
|
||||||
|
"label": "Intervall - kontinuierlicher Scanner"
|
||||||
|
},
|
||||||
|
"interval_unit": {
|
||||||
|
"days": "Tage",
|
||||||
|
"hour": "Stunden",
|
||||||
|
"minutes": "Minuten",
|
||||||
|
"months": "Monate",
|
||||||
|
"seconds": "Sekunden"
|
||||||
|
},
|
||||||
|
"title": "Kontinuierlicher Scanner"
|
||||||
|
},
|
||||||
|
"scanner": {
|
||||||
|
"description": "Neue und aktualisierte Medien aller Benutzer scannen",
|
||||||
|
"scan_all_users": "Alle Benutzer scannen",
|
||||||
|
"title": "Scanner"
|
||||||
|
},
|
||||||
|
"user_preferences": {
|
||||||
|
"change_language": {
|
||||||
|
"description": "Ändert die Spracheinstellungen der Website für diesen Benutzer",
|
||||||
|
"label": "Sprache"
|
||||||
|
},
|
||||||
|
"language_selector": {
|
||||||
|
"placeholder": "Sprache auswählen"
|
||||||
|
},
|
||||||
|
"title": "Persönliche Einstelungen"
|
||||||
|
},
|
||||||
|
"users": {
|
||||||
|
"add_user": {
|
||||||
|
"submit": "Benutzer hinzufügen"
|
||||||
|
},
|
||||||
|
"confirm_delete_user": {
|
||||||
|
"action": "Lösche {{user}}",
|
||||||
|
"description": "<0>Du bist dabei, den Nutzer <1></1> endgültig zu löschen.</0><p>Diese Aktion kann nicht rückgängig gemacht werden. Bist du sicher?</p>",
|
||||||
|
"title": "Benutzer löschen"
|
||||||
|
},
|
||||||
|
"password_reset": {
|
||||||
|
"description": "Passwort von Benutzer <1></1> aktualisieren",
|
||||||
|
"form": {
|
||||||
|
"label": "Neues Passwort",
|
||||||
|
"placeholder": "Passwort",
|
||||||
|
"submit": "Passwört aktualisieren"
|
||||||
|
},
|
||||||
|
"title": "Passwort aktualisieren"
|
||||||
|
},
|
||||||
|
"table": {
|
||||||
|
"column_names": {
|
||||||
|
"action": "Aktion",
|
||||||
|
"admin": "Administrator",
|
||||||
|
"photo_path": "Pfad der Medien",
|
||||||
|
"username": "Benutzername"
|
||||||
|
},
|
||||||
|
"new_user": "Neuer Benutzer",
|
||||||
|
"row": {
|
||||||
|
"action": {
|
||||||
|
"change_password": "Passwort aktualisieren",
|
||||||
|
"delete": "Löschen",
|
||||||
|
"edit": "Bearbeiten",
|
||||||
|
"scan": "Scannen"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"title": "Benutzer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"share_page": {
|
||||||
|
"media": {
|
||||||
|
"title": "Freigegebene Medien"
|
||||||
|
},
|
||||||
|
"protected_share": {
|
||||||
|
"description": "Diese Freigabe ist passwortgeschützt.",
|
||||||
|
"title": "Passwortgeschützte Freigabe"
|
||||||
|
},
|
||||||
|
"share_not_found": "Freigabe nicht gefunden",
|
||||||
|
"share_not_found_description": "Möglicherweise ist die Freigabe abgelaufen oder wurde gelöscht.",
|
||||||
|
"wrong_password": "Falsches Passwort, bitte erneut probieren."
|
||||||
|
},
|
||||||
|
"sidebar": {
|
||||||
|
"album": {
|
||||||
|
"title": "Album Optionen"
|
||||||
|
},
|
||||||
|
"download": {
|
||||||
|
"filesize": {
|
||||||
|
"byte": "{{count}} Byte",
|
||||||
|
"byte_plural": "{{count}} Bytes",
|
||||||
|
"giga_byte": "{{count}} GB",
|
||||||
|
"kilo_byte": "{{count}} KB",
|
||||||
|
"mega_byte": "{{count}} MB",
|
||||||
|
"tera_byte": "{{count}} TB"
|
||||||
|
},
|
||||||
|
"table_columns": {
|
||||||
|
"dimensions": "Dimension",
|
||||||
|
"file_size": "Dateigröße",
|
||||||
|
"file_type": "Typ",
|
||||||
|
"name": "Name"
|
||||||
|
},
|
||||||
|
"title": "Download"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"exif": {
|
||||||
|
"exposure_program": {
|
||||||
|
"action_program": "Action (kurze Verschlusszeit)",
|
||||||
|
"aperture_priority": "Blende Priorität",
|
||||||
|
"bulb": "Glühbirne",
|
||||||
|
"creative_program": "Creative (lange Verschlusszeit)",
|
||||||
|
"landscape_mode": "Querformat",
|
||||||
|
"manual": "Manuell",
|
||||||
|
"normal_program": "Normalprogramm",
|
||||||
|
"not_defined": "Nicht definiert",
|
||||||
|
"portrait_mode": "Hochformat",
|
||||||
|
"shutter_priority": "Verschlusszeit Priorität"
|
||||||
|
},
|
||||||
|
"flash": {
|
||||||
|
"auto": "Auto",
|
||||||
|
"did_not_fire": "Nicht gezündet",
|
||||||
|
"fired": "Gezündet",
|
||||||
|
"no_flash": "Kein Blitz",
|
||||||
|
"no_flash_function": "Keine Blitz Funktionalität",
|
||||||
|
"off": "Aus",
|
||||||
|
"on": "An",
|
||||||
|
"red_eye_reduction": "Rote-Augen-Korrektur",
|
||||||
|
"return_detected": "Reflektion erkannt",
|
||||||
|
"return_not_detected": "Reflektion nicht erkannt"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"aperture": "Blende",
|
||||||
|
"camera": "Kamera",
|
||||||
|
"date_shot": "Aufnahmedatum",
|
||||||
|
"exposure": "Belichtung",
|
||||||
|
"exposure_program": "Programm",
|
||||||
|
"flash": "Blitz",
|
||||||
|
"focal_length": "Brennweite",
|
||||||
|
"iso": "ISO",
|
||||||
|
"lens": "Objektiv",
|
||||||
|
"maker": "Hersteller"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sharing": {
|
||||||
|
"add_share": "Freigabe hinzufügen",
|
||||||
|
"copy_link": "Link kopieren",
|
||||||
|
"no_shares_found": "Keine Freigaben gefunden",
|
||||||
|
"public_link": "Öffentlicher Link",
|
||||||
|
"table_header": "Öffentliche Freigabe",
|
||||||
|
"title": "Freigabeoptionen"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sidemenu": {
|
||||||
|
"albums": "Alben",
|
||||||
|
"people": "Personen",
|
||||||
|
"photos": "Fotos",
|
||||||
|
"places": "Orte",
|
||||||
|
"settings": "Einstellungen"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"loading_album": "Lade Album",
|
||||||
|
"login": "Login",
|
||||||
|
"people": "Personen",
|
||||||
|
"settings": "Einstellungen"
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,6 +24,7 @@ const languagePreferences = [
|
||||||
{ key: 5, text: 'Español', flag: 'es', value: LanguageTranslation.Spanish },
|
{ key: 5, text: 'Español', flag: 'es', value: LanguageTranslation.Spanish },
|
||||||
{ key: 6, text: 'polski', flag: 'pl', value: LanguageTranslation.Polish },
|
{ key: 6, text: 'polski', flag: 'pl', value: LanguageTranslation.Polish },
|
||||||
{ key: 7, text: 'Italiano', flag: 'it', value: LanguageTranslation.Italian },
|
{ key: 7, text: 'Italiano', flag: 'it', value: LanguageTranslation.Italian },
|
||||||
|
{ key: 8, text: 'Deutsch', flag: 'de', value: LanguageTranslation.German },
|
||||||
]
|
]
|
||||||
|
|
||||||
const CHANGE_USER_PREFERENCES = gql`
|
const CHANGE_USER_PREFERENCES = gql`
|
||||||
|
|
|
@ -100,6 +100,12 @@ export const loadTranslations = () => {
|
||||||
i18n.changeLanguage('pl')
|
i18n.changeLanguage('pl')
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
case LanguageTranslation.German:
|
||||||
|
import('../extractedTranslations/de/translation.json').then(german => {
|
||||||
|
i18n.addResourceBundle('de', 'translation', german)
|
||||||
|
i18n.changeLanguage('de')
|
||||||
|
})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
exhaustiveCheck(language)
|
exhaustiveCheck(language)
|
||||||
|
|
Loading…
Reference in New Issue