add german language

This commit is contained in:
No Name Pro 2020-08-15 15:57:28 +02:00
parent c52b3bf00c
commit fa49b97692
5 changed files with 235 additions and 2 deletions

View File

@ -43,7 +43,8 @@
"zh-CN",
"en-US",
"fr-FR",
"es"
"es",
"de"
],
"showNameOnTiles": true,
"setBuildNumber": true
@ -64,7 +65,8 @@
"zh_CN",
"en",
"fr",
"es"
"es",
"de"
]
},
"mas": {

View File

@ -107,6 +107,7 @@ class AppTab extends React.Component<AppTabProps, AppTabState> {
{ key: "es", text: "Español"},
{ key: "fr-FR", text: "Français"},
{ key: "zh-CN", text: "中文(简体)"},
{ key: "de", text: "Deutsch"}
]
toggleStatus = () => {

View File

@ -8,5 +8,6 @@ Currently, Fluent Reader supports the following languages.
| es | Español | [@kant](https://github.com/kant) |
| fr-FR | Français | [@Toinane](https://github.com/Toinane) |
| zh-CN | 中文(简体) | [@yang991178](https://github.com/yang991178) |
| de | Deutsch | [@NoNamePro0](https://github.com/NoNamePro0) |
Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization.

View File

@ -1,12 +1,14 @@
import en_US from "./en-US.json"
import zh_CN from "./zh-CN.json"
import fr_FR from "./fr-FR.json"
import de from "./de.json"
import es from "./es.json"
const locales = {
"en-US": en_US,
"zh-CN": zh_CN,
"fr-FR": fr_FR,
"de": de,
"es": es,
}

227
src/scripts/i18n/de.json Normal file
View File

@ -0,0 +1,227 @@
{
"allArticles": "Alle Artikel",
"add": "Hinzufügen",
"create": "Erstellen",
"icon": "Icon",
"name": "Name",
"openExternal": "Extern öffnen",
"emptyName": "Dieses Feld darf nicht leer sein.",
"emptyField": "Dieses Feld darf nicht leer sein.",
"edit": "Berarbeiten",
"delete": "Entfernen",
"followSystem": "Folge System",
"more": "Mehr",
"close": "Schließen",
"search": "Suchen",
"loadMore": "Lade mehr",
"dangerButton": "Bestätige {action}?",
"confirmMarkAll": "Möchtest Du wirklich alle Artikel als gelesen markieren?",
"confirm": "Bestätigen",
"cancel": "Abbrechen",
"time": {
"now": "gerade eben",
"m": " Minuten",
"h": "h",
"d": " Tage",
"minute": "{m, plural, =1 {# minute} other {# minutes}}",
"hour": "{h, plural, =1 {# hour} other {# hours}}",
"day": "{d, plural, =1 {# day} other {# days}}"
},
"log": {
"empty": "Keine Benachrichtigungen",
"fetchFailure": "Fehler beim laden von \"{name}\".",
"fetchSuccess": "Erfolgreich {count, plural, =1 {# article} other {# articles}} geladen.",
"networkError": "Netzwerk-Fehler aufgetreten.",
"parseError": "Fehler beim laden des XML Feeds.",
"syncFailure": "Fehler beim syncronisieren"
},
"nav": {
"menu": "Menü",
"refresh": "Neu laden",
"markAllRead": "Makiere alles als gelesen",
"notifications": "Benachrichtigungen",
"view": "Ansicht",
"settings": "Einstellungen",
"minimize": "Minimieren",
"maximize": "Maximieren"
},
"menu": {
"close": "Menü schließen",
"subscriptions": "Abonennten"
},
"article": {
"error": "Fehler beim laden des Artikels.",
"reload": "Neu laden?",
"empty": "Keine Artikel vorhanden",
"untitled": "(Unbenannt)",
"hide": "Artikel ausblenden",
"unhide": "Artikel wieder anzeigen",
"markRead": "Makiere als gelesen",
"markUnread": "Makiere als ungelesen",
"markAbove": "Makiere darüber als gelesen",
"markBelow": "Makiere darunter als gelesen",
"star": "Favorisieren",
"unstar": "Favorit entfernen",
"fontSize": "Schritgröße",
"loadWebpage": "Lade Internetseite",
"loadFull": "Lade kompletten Inhalt",
"notify": "Benachrechtige wenn im Hintergrund erhalten",
"dontNotify": "Nicht benachrechtigen"
},
"context": {
"share": "Teilen",
"read": "Lesen",
"copyTitle": "Kopiere Title",
"copyURL": "Kopiere URL Link",
"copy": "Kompieren",
"search": "Suche \"{text}\" auf {engine}",
"view": "Ansicht",
"cardView": "Karten-Ansicht",
"listView": "List-Ansicht",
"magazineView": "Magazine-Ansicht",
"compactView": "Kompakte Ansicht",
"filter": "Filter",
"unreadOnly": "Nur ungelesene",
"starredOnly": "Nur Favoriten",
"fullSearch": "Suche im kompletten Text",
"showHidden": "Zeige ausgeblendete Artikel an",
"manageSources": "Verwalte Feeds",
"saveImageAs": "Speichere Bild unter …",
"copyImage": "Kopiere Bild",
"copyImageURL": "Kopiere Bild Link",
"caseSensitive": "Case-Sensitive"
},
"searchEngine": {
"name": "Suchmachine",
"google": "Google",
"bing": "Bing",
"baidu": "Baidu",
"duckduckgo": "DuckDuckGo"
},
"settings": {
"writeError": "Fehler beim schreiben der Datei",
"name": "Einstellungen",
"fetching": "Aktualliesiere Feeds, bitte warten …",
"exit": "Schließe Einstellungen",
"sources": "Feeds",
"grouping": "Gruppen",
"rules": "Regeln",
"service": "Server",
"app": "Einstellungen",
"about": "Info",
"version": "Version",
"shortcuts": "Verknüpfungen",
"openSource": "Open Source",
"feedback": "Feedback"
},
"sources": {
"serviceWarning": "Feeds die importiert oder hinzugefügt wurden, werden nicht syncroniesiert mit ihrem Server.",
"serviceManaged": "Dieser Feed wird verwaltet von ihrem Server.",
"untitled": "Feed",
"errorAdd": "Ein Fehler ist aufgetreten beim hinzufügen von ihrem Server.",
"errorParse": "Ein Fehler ist aufgetreten beim parsen der OPML Datei.",
"errorParseHint": "Bitte überprüfe, ob die Datei mit UTF-8 formatiert ist.",
"errorImport": "Fehler beim importieren von {count, plural, =1 {# source} other {# sources}}.",
"exist": "Dieser Server existiert bereits",
"opmlFile": "OPML Datei",
"name": "Server Name",
"editName": "Bearbeite Name",
"fetchFrequency": "Frequenzbegrenzung abrufen",
"unlimited": "Unbegrenzt",
"openTarget": "Standard Öffnungs-Ziel für Artikel",
"delete": "Server entfernen",
"add": "Server hinzufügen",
"import": "Importieren",
"export": "Exportieren",
"rssText": "RSS voll Text",
"loadWebpage": "Lade Internetseite",
"inputUrl": "Feed-URL",
"badIcon": "Falsches Icon",
"badUrl": "Falsche URL",
"deleteWarning": "Der Server und alle gespeicherten Artikel werden entfernt.",
"selected": "Ausgewählter Server",
"selectedMulti": "Ausgewählte Server"
},
"groups": {
"exist": "Diese Gruppe existiert bereits",
"type": "Typ",
"group": "Gruppe",
"source": "Server",
"capacity": "Kapazität",
"exitGroup": "Zurück zu Gruppen",
"deleteSource": "Entfernen von Gruppen",
"sourceHint": "Drag and drop um zu sortieren.",
"create": "Gruppe erstelllen",
"selectedGroup": "Ausgeählte Gruppe",
"selectedSource": "Ausgewählte Feeds",
"enterName": "Namen",
"editName": "Bearbeite Name",
"deleteGroup": "Entgerne Gruppe",
"chooseGroup": "Wählen sie ein Gruppe aus",
"addToGroup": "Hinzufügen zu ...",
"groupHint": "Doppelklicke auf die Gruppe um Feeds zu bearbeiten. Drag and drop zum sortieren."
},
"rules": {
"intro": "Automatisch markieren von ArtikelA oder senden von Benachrechtigungen mit regulärer Ausdruck.",
"help": "Erfahre mehr",
"source": "Feeds",
"selectSource": "Wähle Feed aus",
"new": "Neue Regel",
"if": "Wenn",
"then": "Dann",
"title": "Title",
"content": "Inhalt",
"fullSearch": "Titel oder Inhalt",
"match": "trifft",
"notMatch": "trifft nicht",
"regex": "regulärer Ausdruck",
"badRegex": "Falscher regulärer Ausdruck.",
"action": "Aktionen",
"selectAction": "Wähle Aktionen",
"hint": "Regeln werden in Reihenfolge verwendet. Drag and drop zum sortieren.",
"test": "Teste Regeln"
},
"service": {
"intro": "Syncronisiere über mehrere Geräten mit RSS Server.",
"select": "Wähle ein Server aus",
"suggest": "Schlage einen Server vor",
"overwriteWarning": "Lokale Feeds werden gelöscht wenn sie schon auf dem Server existieren.",
"groupsWarning": "Gruppen werden nicht automarisch mit dem Server syncronisiert.",
"endpoint": "Endpoint",
"username": "Username",
"password": "Passwort",
"unchanged": "Unverändert",
"fetchLimit": "Syncronisation-Limit",
"fetchLimitNum": "{count} Artikel",
"importGroups": "Importiere Gruppe",
"failure": "Fehler beim verbinden zum Server",
"failureHint": "Bite überprüfen sie die Server-Konfiguaration oder ihren Netzwerk-Status."
},
"app": {
"cleanup": "Aufräumen",
"cache": "Cache leeren",
"cacheSize": "{size} Daten gecachet",
"deleteChoices": "Entferne Artikel von vor ... Tagen",
"confirmDelete": "Löschen",
"daysAgo": "vor {days} Tagen",
"deleteAll": "Entferne alle Artikel",
"calculatingSize": "Berechne Größe...",
"itemSize": "Umgefähr {size} lokaler Speicher wird für Artikel genutzt.",
"confirmImport": "Möchtest du wirklich deine Daten neu importieren? Deine aktuellen Daten werden gelöscht.",
"data": "App-Daten",
"backup": "Backup",
"restore": "Restore",
"frData": "Fluent Reader Daten",
"language": "Anzeige Sprache",
"theme": "Theme",
"lightTheme": "Hell",
"darkTheme": "Dunkel",
"enableProxy": "Aktiviere Proxy",
"badUrl": "Falsche URL",
"pac": "PAC Addresse",
"setPac": "Setze PAC Addresse",
"pacHint": "For Socks proxies, it is recommended for PAC to return \"SOCKS5\" for proxy-side DNS. Turning off proxy requires restart.",
"fetchInterval": "Interval zwischen dem Abrufen der Daten",
"never": "Nie"
}
}