aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar beerisgood <beerisgood@users.noreply.github.com> 2025-09-21 13:45:12 +0200
committerGravatar GitHub <noreply@github.com> 2025-09-21 13:45:12 +0200
commitf0388f64acea1c5c241e4b29d4d19777af500466 (patch)
tree5d5536cb383db22512a254c93fe76aa9b5338af7
parentbc3e4c8fa4bae9591166e12caa3fb6bf73893102 (diff)
Update German (#7833)
* Update sub.php German translation added. * Update gen.php German translation added * make fix-all * Update conf.php * make fix-all * Update index.php * make fix-all * Update admin.php * Update feedback.php * Update app/i18n/de/index.php * make fix-all * Apply suggestions from code review Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Update app/i18n/de/index.php Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Update app/i18n/de/feedback.php Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Icon * make fix-all --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com>
-rw-r--r--app/i18n/de/admin.php2
-rw-r--r--app/i18n/de/conf.php28
-rw-r--r--app/i18n/de/feedback.php6
-rw-r--r--app/i18n/de/gen.php10
-rw-r--r--app/i18n/de/index.php36
-rw-r--r--app/i18n/de/sub.php22
-rw-r--r--docs/i18n/flags/gen/de.svg2
7 files changed, 53 insertions, 53 deletions
diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php
index 75f3c4180..b50ad2898 100644
--- a/app/i18n/de/admin.php
+++ b/app/i18n/de/admin.php
@@ -16,7 +16,7 @@ return array(
'allow_anonymous_refresh' => 'Anonymes Aktualisieren der Artikel erlauben',
'api_enabled' => '<abbr>API</abbr>-Zugriff erlauben <small>(für mobile Apps und Benutzerabfragen benötigt)</small>',
'form' => 'Webformular (traditionell, benötigt JavaScript)',
- 'http' => 'HTTP (advanced: managed by Web server, OIDC, SSO…)', // TODO
+ 'http' => 'HTTP (fortgeschritten: vom Webserver verwaltet, OIDC, SSO…)',
'none' => 'Keine (gefährlich)',
'title' => 'Authentifizierung',
'token' => 'Master-Authentifizierungs-Token',
diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php
index cf0e00514..8c53cfb47 100644
--- a/app/i18n/de/conf.php
+++ b/app/i18n/de/conf.php
@@ -41,7 +41,7 @@ return array(
'icon' => array(
'bottom_line' => 'Fußzeile',
'display_authors' => 'Autoren',
- 'entry' => 'Artikel-Symbole',
+ 'entry' => 'Artikel-Icon',
'publication_date' => 'Datum der Veröffentlichung',
'related_tags' => 'Hashtags',
'sharing' => 'Teilen',
@@ -101,9 +101,9 @@ return array(
),
'mark_read_button' => array(
'_' => '„Alle als gelesen markieren“ Button',
- 'big' => 'Big', // TODO
- 'none' => 'None', // TODO
- 'small' => 'Small', // TODO
+ 'big' => 'Groß',
+ 'none' => 'Keine',
+ 'small' => 'Klein',
),
'privacy' => array(
'_' => 'Privatsphäre',
@@ -113,22 +113,22 @@ return array(
'_' => 'Profil-Verwaltung',
'api' => array(
'_' => 'API-Verwaltung',
- 'api_not_set' => 'API password not set', // TODO
- 'api_set' => 'API password set', // TODO
+ 'api_not_set' => 'API-Passwort ist nicht gesetzt',
+ 'api_set' => 'API-Passwort ist gesetzt',
'check_link' => 'API-Status prüfen: <kbd><a href="../api/" target="_blank">%s</a></kbd>',
'disabled' => 'Der API-Zugriff ist deaktiviert.',
'documentation_link' => 'Siehe die <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">Dokumentation und die Liste der bekannten Apps</a>',
'help' => 'Siehe <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target=_blank>Dokumentation</a>',
),
- 'change_password' => 'Change password', // TODO
- 'confirm_new_password' => 'Confirm new password', // TODO
- 'current_password' => 'Current password<br /><small>(for the Web-form login method)</small>', // TODO
+ 'change_password' => 'Passwort ändern',
+ 'confirm_new_password' => 'Neues Passwort bestätigen',
+ 'current_password' => 'Aktuelles Passwort<br /><small>(für die Web-Formular-Anmeldemethode)</small>',
'delete' => array(
'_' => 'Accountlöschung',
'warn' => 'Dieser Account und alle damit bezogenen Daten werden gelöscht.',
),
'email' => 'E-Mail-Adresse',
- 'new_password' => 'New password', // TODO
+ 'new_password' => 'Neues Passwort',
'password_api' => 'API-Passwort<br /><small>(z.B. für mobile Anwendungen)</small>',
'password_format' => 'mindestens 7 Zeichen',
'title' => 'Profil',
@@ -149,8 +149,8 @@ return array(
'tags' => 'Nach Labels filtern',
'type' => 'Filter-Typ',
),
- 'get_A' => 'Show all feeds, also those shown in their category', // TODO
- 'get_Z' => 'Show all feeds, also archived ones', // TODO
+ 'get_A' => 'Alle Feeds anzeigen, auch die in ihrer Kategorie angezeigten',
+ 'get_Z' => 'Alle Feeds anzeigen, auch archivierte',
'get_all' => 'Alle Artikel anzeigen',
'get_all_labels' => 'Alle Artikle mit beliebigem Label anzeigen',
'get_category' => 'Kategorie „%s“ anzeigen',
@@ -270,13 +270,13 @@ return array(
'show' => array(
'_' => 'Artikel zum Anzeigen',
'active_category' => 'Aktive Kategorie',
- 'adaptive' => 'Show unreads if any, all articles otherwise', // TODO
+ 'adaptive' => 'Ungelesene Artikel anzeigen, falls vorhanden, sonst alle Artikel',
'all_articles' => 'Alle Artikel zeigen',
'all_categories' => 'Alle Kategorien',
'no_category' => 'Keine Kategorie',
'remember_categories' => 'Geöffnete Kategorien merken',
'unread' => 'Nur ungelesene zeigen',
- 'unread_or_favorite' => 'Show unreads and favourites', // TODO
+ 'unread_or_favorite' => 'Ungelesene Artikel und Favoriten anzeigen',
),
'show_fav_unread_help' => 'Auch auf Labels anwenden',
'sides_close_article' => 'Klick außerhalb des Artikel-Textes schließt den Artikel',
diff --git a/app/i18n/de/feedback.php b/app/i18n/de/feedback.php
index 2c2da41d3..fac22c6da 100644
--- a/app/i18n/de/feedback.php
+++ b/app/i18n/de/feedback.php
@@ -66,7 +66,7 @@ return array(
),
'profile' => array(
'error' => 'Ihr Profil kann nicht geändert werden',
- 'passwords_dont_match' => 'Passwords don’t match', // TODO
+ 'passwords_dont_match' => 'Passwörter stimmen nicht überein',
'updated' => 'Ihr Profil ist geändert worden',
),
'sub' => array(
@@ -97,8 +97,8 @@ return array(
'deleted' => 'Der Feed ist gelöscht worden',
'error' => 'Der Feed kann nicht aktualisiert werden',
'favicon' => array(
- 'too_large' => 'Uploaded icon is too large. The maximum file size is <em>%s</em>.', // TODO
- 'unsupported_format' => 'Unsupported image file format!', // TODO
+ 'too_large' => 'Das hochgeladene Icon ist zu groß. Die maximale Dateigröße beträgt <em>%s</em>.',
+ 'unsupported_format' => 'Das Bilddateiformat wird nicht unterstützt!',
),
'internal_problem' => 'Der RSS-Feed konnte nicht hinzugefügt werden. Für Details <a href="%s">prüfen Sie die FreshRSS-Protokolle</a>. Mit <code>#force_feed</code> am Ende der Feed-URL kann das Hinzufügen erzwungen werden.',
'invalid_url' => 'Die URL <em>%s</em> ist ungültig',
diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php
index 3371cd839..62d67c988 100644
--- a/app/i18n/de/gen.php
+++ b/app/i18n/de/gen.php
@@ -62,9 +62,9 @@ return array(
'format' => '<small>mindestens 7 Zeichen</small>',
),
'reauth' => array(
- 'header' => 'Reauthentication is required', // TODO
- 'tip' => 'You won’t be asked to sign in again for <u>%d minutes</u>', // TODO
- 'title' => 'Reauthentication', // TODO
+ 'header' => 'Eine erneute Anmeldung erforderlich',
+ 'tip' => 'Sie müssen sich für die nächsten <u>%d Minuten</u> nicht erneut anmelden',
+ 'title' => 'Erneute Anmeldung',
),
'registration' => array(
'_' => 'Neuer Account',
@@ -145,7 +145,7 @@ return array(
'category_empty' => 'Kategorie leeren',
'confirm_action' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Diese Aktion kann nicht abgebrochen werden!',
'confirm_action_feed_cat' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Sie werden zugehörige Favoriten und Benutzerabfragen verlieren. Dies kann nicht abgebrochen werden!',
- 'confirm_exit_slider' => 'Are you sure you want to discard unsaved settings?', // TODO
+ 'confirm_exit_slider' => 'Sollen die nicht gespeicherten Einstellungen wirklich verworfen werden?',
'feedback' => array(
'body_new_articles' => 'Es gibt %%d neue Artikel zum Lesen auf FreshRSS.',
'body_unread_articles' => '(Ungelesen: %%d)',
@@ -155,7 +155,7 @@ return array(
'labels_empty' => 'Keine Labels',
'new_article' => 'Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.',
'should_be_activated' => 'JavaScript muss aktiviert sein',
- 'unsafe_csp_header' => 'The CSP header in use is unsafe and FreshRSS may be vulnerable to XSS attacks. <a target="_blank" href="https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security">See documentation</a>', // TODO
+ 'unsafe_csp_header' => 'Der verwendete CSP-Header ist unsicher und FreshRSS könnte anfällig für XSS-Angriffe sein. <a target="_blank" href="https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security">Siehe Dokumentation</a>',
),
'lang' => array(
'cs' => 'Čeština', // IGNORE
diff --git a/app/i18n/de/index.php b/app/i18n/de/index.php
index 681915519..c657ce70c 100644
--- a/app/i18n/de/index.php
+++ b/app/i18n/de/index.php
@@ -20,7 +20,7 @@ return array(
'browser' => 'Browser', // IGNORE
'database' => 'Datenbank',
'server_software' => 'Serversoftware',
- 'version_curl' => 'cURL version', // TODO
+ 'version_curl' => 'cURL-Version',
'version_frss' => 'FreshRSS-Version',
'version_php' => 'PHP-Version',
),
@@ -37,9 +37,9 @@ return array(
'feed' => array(
'empty' => 'Es gibt keinen Artikel zum Anzeigen.',
'received' => array(
- 'before_yesterday' => 'Received before yesterday', // TODO
- 'today' => 'Received today', // TODO
- 'yesterday' => 'Received yesterday', // TODO
+ 'before_yesterday' => 'Vorgestern empfangen',
+ 'today' => 'Heute empfangen',
+ 'yesterday' => 'Gestern empfangen',
),
'rss_of' => 'RSS-Feed von %s',
'title' => 'Haupt-Feeds',
@@ -76,24 +76,24 @@ return array(
'rss_view' => 'RSS-Feed',
'search_short' => 'Suchen',
'sort' => array(
- '_' => 'Sorting criteria', // TODO
+ '_' => 'Sortierkriterien',
'c' => array(
- 'name_asc' => 'Category, feed titles A→Z', // TODO
- 'name_desc' => 'Category, feed titles Z→A', // TODO
+ 'name_asc' => 'Kategorie, Feed-Titel A→Z',
+ 'name_desc' => 'Kategorie, Feed-Titel Z→A',
),
- 'date_asc' => 'Publication date 1→9', // TODO
- 'date_desc' => 'Publication date 9→1', // TODO
+ 'date_asc' => 'Veröffentlichungsdatum 1→9',
+ 'date_desc' => 'Veröffentlichungsdatum 9→1',
'f' => array(
- 'name_asc' => 'Feed title A→Z', // TODO
- 'name_desc' => 'Feed title Z→A', // TODO
+ 'name_asc' => 'Feed-Titel A→Z',
+ 'name_desc' => 'Feed-Titel Z→A',
),
- 'id_asc' => 'Freshly received last', // TODO
- 'id_desc' => 'Freshly received first', // TODO
- 'link_asc' => 'Link A→Z', // TODO
- 'link_desc' => 'Link Z→A', // TODO
- 'rand' => 'Random order', // TODO
- 'title_asc' => 'Title A→Z', // TODO
- 'title_desc' => 'Title Z→A', // TODO
+ 'id_asc' => 'Älteste zuerst',
+ 'id_desc' => 'Neueste zuerst',
+ 'link_asc' => 'Link A→Z', // IGNORE
+ 'link_desc' => 'Link Z→A', // IGNORE
+ 'rand' => 'Zufällige Reihenfolge',
+ 'title_asc' => 'Titel A→Z',
+ 'title_desc' => 'Titel Z→A',
),
'starred' => 'Nur Favoriten zeigen',
'stats' => 'Statistiken',
diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php
index 0e4fdf3d5..9dbbcf294 100644
--- a/app/i18n/de/sub.php
+++ b/app/i18n/de/sub.php
@@ -50,7 +50,7 @@ return array(
'password' => 'HTTP-Passwort',
'username' => 'HTTP-Nutzername',
),
- 'change_favicon' => 'Change…', // TODO
+ 'change_favicon' => 'Ändern…',
'clear_cache' => 'Nicht cachen (für defekte Feeds)',
'content_action' => array(
'_' => 'Behandlung von Feed-Inhalt beim Herunterladen von Artikelinhalt',
@@ -58,7 +58,7 @@ return array(
'prepend' => 'Artikelinhalt vor Feed-Inhalt hinzufügen',
'replace' => 'Artikelinhalt ersetzt Feed-Inhalt (Standard)',
),
- 'content_retrieval' => 'Content retrieval', // TODO
+ 'content_retrieval' => 'Inhaltsabruf',
'css_cookie' => 'Verwende Cookies beim Herunterladen des Feed-Inhalts mit CSS-Filtern',
'css_cookie_help' => 'Beispiel: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
'css_help' => 'Ruft bei gekürzten RSS-Feeds den vollständigen Artikelinhalt ab (Achtung, benötigt mehr Zeit!)',
@@ -69,21 +69,21 @@ return array(
),
'description' => 'Beschreibung',
'empty' => 'Dieser Feed ist leer. Bitte stellen Sie sicher, dass er noch gepflegt wird.',
- 'error' => 'Dieser Feed ist auf ein Problem gestoßen. Bitte stellen Sie sicher, dass er immer lesbar ist.', // DIRTY
+ 'error' => 'Dieser Feed ist auf ein Problem gestoßen. Bitte stellen Sie sicher, dass er immer lesbar ist.',
'export-as-opml' => array(
'download' => 'Download', // IGNORE
'help' => 'XML Datei (ausgewählte Daten. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">Siehe Dokumentation</a>)',
'label' => 'Export als OPML',
),
- 'ext_favicon' => 'Set automatically', // TODO
- 'favicon_changed_by_ext' => 'The icon has been set by the <b>%s</b> extension.', // TODO
+ 'ext_favicon' => 'Automatisch festlegen',
+ 'favicon_changed_by_ext' => 'Das Icon wurde von der Erweiterung <b>%s</b> festgelegt.',
'filteractions' => array(
'_' => 'Filteraktionen',
'help' => 'Ein Suchfilter pro Zeile. Operatoren <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">siehe Dokumentation</a>.',
),
'http_headers' => 'HTTP Headers', // IGNORE
'http_headers_help' => 'Headers werden durch einen Zeilenumbruch getrennt. Name und Wert des Headers werden per Doppelpunkt getrennt (z.B: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer some-token</code></kbd>).',
- 'icon' => 'Icon', // TODO
+ 'icon' => 'Icon', // IGNORE
'information' => 'Informationen',
'keep_min' => 'Minimale Anzahl an Artikeln, die behalten wird',
'kind' => array(
@@ -92,7 +92,7 @@ return array(
'_' => 'HTML + XPath + JSON Punkt-Notation (JSON in HTML)',
'xpath' => array(
'_' => 'XPath für JSON in HTML',
- 'help' => 'Beispiel: <code>normalize-space(//script[@type="application/json"])</code> (single JSON)<br />or: <code>//script[@type="application/ld+json"]</code> (one JSON object per article)</code>', // DIRTY
+ 'help' => 'Beispiel: <code>normalize-space(//script[@type="application/json"])</code> (einzelnes JSON)<br />oder: <code>//script[@type="application/ld+json"]</code> (ein JSON-Objekt pro Artikel)</code>',
),
),
'html_xpath' => array(
@@ -151,7 +151,7 @@ return array(
'help' => 'JSON punktnotiert nutzt Punkte zwischen den Objekten und eckige Klammern für Arrays (e.g. <code>data.items[0].title</code>)',
'item' => array(
'_' => 'News <strong>Items</strong> finden<br /><small>(sehr wichtig)</small>',
- 'help' => 'JSON-Pfad zum Array, das die Items enthält, z.B. <code>$</code> or <code>newsItems</code>', // DIRTY
+ 'help' => 'JSON-Pfad zum Array, das die Einträge enthält, z. B. <code>$</code> oder <code>newsItems</code>',
),
'item_author' => 'Item Autor',
'item_categories' => 'Item Hashtags',
@@ -206,7 +206,7 @@ return array(
'no_selected' => 'Kein Feed ausgewählt.',
'number_entries' => '%d Artikel',
'open_feed' => 'Feed %s öffnen',
- 'path_entries_conditions' => 'Conditions for content retrieval', // TODO
+ 'path_entries_conditions' => 'Bedingungen für den Inhaltsabruf',
'priority' => array(
'_' => 'Sichtbarkeit',
'category' => 'Zeige in eigener Kategorie',
@@ -215,8 +215,8 @@ return array(
'main_stream' => 'In Haupt-Feeds zeigen',
),
'proxy' => 'Verwende einen Proxy, um den Feed abzuholen',
- 'proxy_help' => 'Wähle ein Protokoll (z.B. SOCKS5) und einen Proxy mit Port (z.B. <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
- 'reset_favicon' => 'Reset to default', // TODO
+ 'proxy_help' => 'Wähle ein Protokoll (z.B. SOCKS5) und einen Proxy mit Port (z.B. <kbd>127.0.0.1:1080</kbd> oder <kbd>username:password@127.0.0.1:1080</kbd>)',
+ 'reset_favicon' => 'Auf Standard zurücksetzen',
'selector_preview' => array(
'show_raw' => 'Quellcode anzeigen',
'show_rendered' => 'Inhalt anzeigen',
diff --git a/docs/i18n/flags/gen/de.svg b/docs/i18n/flags/gen/de.svg
index b2806e1ac..b2b7ffd02 100644
--- a/docs/i18n/flags/gen/de.svg
+++ b/docs/i18n/flags/gen/de.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇩🇪 95%</text>
+ <text x="34" y="14">🇩🇪 100%</text>
</g>
</svg> \ No newline at end of file