Skip to content

Commit a82446b

Browse files
feat(i18n): add German language support and README (#145)
* Add German localisation Add German language support and README file. Update README files from other languages. * Update relative paths in localised README files Update relative paths so that files are referenced correctly. * Optimise German README translation Optimise translation * Optimize translation of German README * Optimize translation of German README * Optimize German translation * docs(i18n): update PR references and fix documentation paths * docs(i18n): convert translator list to table format * fix(i18n): improve translations and fix typos across locales --------- Co-authored-by: NekoAria <NekoAria@users.noreply.github.com>
1 parent 1839c96 commit a82446b

File tree

11 files changed

+441
-32
lines changed

11 files changed

+441
-32
lines changed

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ReactFlux
22

3-
Read in other languages: [Español](docs/README.es-ES.md), [Français](docs/README.fr-FR.md), [简体中文](docs/README.zh-CN.md)
3+
Read in other languages: [Deutsch](docs/README.de-DE.md), [Español](docs/README.es-ES.md), [Français](docs/README.fr-FR.md), [简体中文](docs/README.zh-CN.md)
44

55
## Overview
66

@@ -31,7 +31,7 @@ Key features include:
3131
- Batch update the host of filtered subscription URLs (useful for replacing RSSHub instances)
3232
- Batch refresh errored subscriptions
3333
- Save articles to third-party services
34-
- I18n supports (English / Español / Français / 简体中文)
34+
- I18n supports (Deutsch / English / Español / Français / 简体中文)
3535
- Other features waiting for you to discover...
3636

3737
## Online Demo & Screenshots
@@ -101,13 +101,16 @@ Additionally, you need to add a README file for the respective language and refe
101101

102102
You should also modify parts of the source code to include the i18n language packages for `Arco Design` and `Day.js`.
103103

104-
For detailed changes, please refer to the modifications in [PR #120](https://github.com/electh/ReactFlux/pull/120).
104+
For detailed changes, please refer to the modifications in [PR #145](https://github.com/electh/ReactFlux/pull/145).
105105

106106
### Current Translators
107107

108-
- Español by [Victorhck](https://github.com/victorhck)
109-
- Français by [MickGe](https://github.com/MickGe)
110-
- 简体中文 by [Neko Aria](https://github.com/NekoAria)
108+
| Language | Translator |
109+
| -------- | ----------------------------------------------- |
110+
| Deutsch | [DonkeeeyKong](https://github.com/donkeeeykong) |
111+
| Español | [Victorhck](https://github.com/victorhck) |
112+
| Français | [MickGe](https://github.com/MickGe) |
113+
| 简体中文 | [Neko Aria](https://github.com/NekoAria) |
111114

112115
## Contributors
113116

docs/README.de-DE.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# ReactFlux
2+
3+
In anderen Sprachen lesen: [English](../README.md), [Español](README.es-ES.md), [Français](README.fr-FR.md), [简体中文](README.zh-CN.md)
4+
5+
## Überblick
6+
7+
ReactFlux ist ein Drittanbieter-Web-Frontend für [Miniflux](https://github.com/miniflux/v2), das ein benutzerfreundlicheres Leseerlebnis bieten soll.
8+
9+
Die wichtigsten Merkmale sind:
10+
11+
- Modernes Oberflächendesign
12+
- Responsives Layout mit Unterstützung von Touch-Gesten
13+
- Unterstützung für Darkmode und benutzerdefinierte Designs
14+
- Anpassbare Leseerfahrung:
15+
- Einstellungen für Schriftfamilie und -größe
16+
- Anpassung der Artikelbreite
17+
- Optionen für Titelausrichtung
18+
- Bildbetrachter mit Zoom und Diashow
19+
- Fußnoten-Verbesserung
20+
- Quelltext-Syntax-Hervorhebung
21+
- Geschätzte Lesezeit
22+
- Verwaltung von Artikeln und Abonnements (_Feeds_):
23+
- Google-artige Syntax für die Suche
24+
- Filtern von Artikeln nach Lesestatus, Veröffentlichungsdatum, Titel, Inhalt oder Autor
25+
- Stapel-Operationen für Abonnements (_Feeds_)
26+
- Unterstützung für Volltextabruf
27+
- Artikel nach Hashsumme, Titel oder URL de-duplizieren
28+
- Artikel beim Scrollen automatisch als gelesen markieren
29+
- Erweiterte Funktionen:
30+
- Tastenkürzel (anpassbar)
31+
- Stapelaktualisierung des Hosts von gefilterten Abonnement-URLs (nützlich für den Austausch von RSSHub-Instanzen)
32+
- Stapelaktualisierung fehlerhafter Abonnements
33+
- Speichern von Artikeln in Diensten von Drittanbietern
34+
- I18n-Unterstützung (Deutsch / English / Español / Français / 简体中文)
35+
- Andere Funktionen warten darauf, entdeckt zu werden…
36+
37+
## Online-Demo & Screenshots
38+
39+
ReactFlux mit unserer [Online-Demo-Instanz](https://reactflux.pages.dev) testen.
40+
41+
So sieht ReactFlux in verschiedenen Designs aus:
42+
43+
![screenshot](../images/screenshot.png)
44+
![devices](../images/devices.png)
45+
46+
## Schnellstart
47+
48+
1. Sicherstellen, dass eine funktionierende Miniflux-Instanz vorhanden ist
49+
2. Direkt unsere [Online-Demo-Instanz](https://reactflux.pages.dev) verwenden oder ReactFlux mit einer der folgenden Methoden einrichten
50+
3. Mit Miniflux-Benutzernamen und -Passwort oder mit API-Schlüssel (empfohlen) anmelden
51+
52+
## Installation
53+
54+
### Cloudflare Pages
55+
56+
ReactFlux wird mit React erstellt und generiert nach der Erstellung eine Reihe von statischen Webdateien, die direkt auf Cloudflare Pages bereitgestellt werden können.
57+
58+
ReactFlux kann auf Cloudflare Pages eingerichtet werden, indem man `Framework preset` als `Create React App` auswählt.
59+
60+
### Vorgenerierte Dateien verwenden
61+
62+
Fertige Dateien können aus dem `gh-pages`-Zweig heruntergeladen und bei jedem statischen Hosting-Service eingesetzt werden, der Single-Page-Webanwendungen (SPA: _single-page applications_) unterstützt.
63+
64+
Es sollte sichergestellt werden, dass das URL-Rewriting so konfiguriert ist, dass alle Anfragen auf `index.html` umgeleitet werden.
65+
66+
Wird Nginx verwendet, muss möglicherweise folgende Konfiguration hinzugefügt werden:
67+
68+
```nginx
69+
location / {
70+
try_files $uri $uri/ /index.html;
71+
}
72+
```
73+
74+
### Vercel
75+
76+
[![Deploy to Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/electh/ReactFlux)
77+
78+
### Docker
79+
80+
[![dockeri.co](https://dockerico.blankenship.io/image/electh/reactflux)](https://hub.docker.com/r/electh/reactflux)
81+
82+
```bash
83+
docker run -p 2000:2000 electh/reactflux
84+
```
85+
86+
Oder mit [Docker Compose](../docker-compose.yml):
87+
88+
```bash
89+
docker-compose up -d
90+
```
91+
92+
<!-- ### Zeabur (Veraltet, nicht empfohlen)
93+
94+
[![Deploy to Zeabur](https://zeabur.com/button.svg)](https://zeabur.com/templates/OKXO3W) -->
95+
96+
## Übersetzungsleitfaden
97+
98+
Um uns bei der Übersetzung von ReactFlux in deine Sprache zu helfen, bitte den Ordner `locales` ergänzen und einen Pull-Request senden.
99+
100+
Zusätzlich muss eine README-Datei für die jeweilige Sprache hinzufügt und diese in allen bestehenden README-Dateien referenziert werden.
101+
102+
Es sollten auch Teile des Quellcodes geändert werden, um die i18n-Sprachpakete für `Arco Design` und `Day.js` einzubinden.
103+
104+
Detaillierte Änderungen bitte [PR #145](https://github.com/electh/ReactFlux/pull/145) entnehmen.
105+
106+
### Derzeit mit Übersetzungen Beitragende
107+
108+
| Sprache | Mitwirkende |
109+
| -------- | ----------------------------------------------- |
110+
| Deutsch | [DonkeeeyKong](https://github.com/donkeeeykong) |
111+
| Español | [Victorhck](https://github.com/victorhck) |
112+
| Français | [MickGe](https://github.com/MickGe) |
113+
| 简体中文 | [Neko Aria](https://github.com/NekoAria) |
114+
115+
## Mitwirkende
116+
117+
> Danke an alle Mitwirkenden, die dieses Projekt noch großartiger gemacht haben!
118+
119+
<a href="https://github.com/electh/ReactFlux/graphs/contributors">
120+
<img src="https://contrib.rocks/image?repo=electh/ReactFlux" alt="An ReactFlux Mitwirkende" />
121+
</a>
122+
123+
Erstellt mit [contrib.rocks](https://contrib.rocks).
124+
125+
## Sternverlauf
126+
127+
[![Star History](https://starchart.cc/electh/ReactFlux.svg)](https://starchart.cc/electh/ReactFlux)

docs/README.es-ES.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ReactFlux
22

3-
Lea este texto en otros idiomas: [English](../README.md), [Français](README.fr-FR.md), [简体中文](README.zh-CN.md)
3+
Lea este texto en otros idiomas: [Deutsch](README.de-DE.md), [English](../README.md), [Français](README.fr-FR.md), [简体中文](README.zh-CN.md)
44

55
## Descripción general
66

@@ -31,7 +31,7 @@ Las funcionalidades clave incluyen:
3131
- Actualización por lotes del host de URL de suscripción filtradas (útil para reemplazar instancias de RSSHub)
3232
- Actualización por lotes de suscripciones con errores
3333
- Guardar artículos en servicios de terceros
34-
- Disponible en varios idiomas (English / Español / Français / 简体中文)
34+
- Disponible en varios idiomas (Deutsch / English / Español / Français / 简体中文)
3535
- Otras características esperando que las descubras...
3636

3737
## Demostración en línea y capturas de pantalla
@@ -83,7 +83,7 @@ location / {
8383
docker run -p 2000:2000 electh/reactflux
8484
```
8585

86-
O usando [Docker Compose](docker-compose.yml):
86+
O usando [Docker Compose](../docker-compose.yml):
8787

8888
```bash
8989
docker-compose up -d
@@ -101,13 +101,16 @@ Además, necesita agregar un archivo README para el idioma respectivo y referenc
101101

102102
También debe modificar partes del código fuente para incluir los paquetes de idiomas i18n para `Arco Design` y `Day.js`.
103103

104-
Para cambios detallados, por favor consulte las modificaciones en [PR #120](https://github.com/electh/ReactFlux/pull/120).
104+
Para cambios detallados, por favor consulte las modificaciones en [PR #145](https://github.com/electh/ReactFlux/pull/145).
105105

106106
### Traductores Actuales
107107

108-
- Español by [Victorhck](https://github.com/victorhck)
109-
- Français by [MickGe](https://github.com/MickGe)
110-
- 简体中文 by [Neko Aria](https://github.com/NekoAria)
108+
| Idioma | Traductor |
109+
| -------- | ----------------------------------------------- |
110+
| Deutsch | [DonkeeeyKong](https://github.com/donkeeeykong) |
111+
| Español | [Victorhck](https://github.com/victorhck) |
112+
| Français | [MickGe](https://github.com/MickGe) |
113+
| 简体中文 | [Neko Aria](https://github.com/NekoAria) |
111114

112115
## Colaboradores
113116

docs/README.fr-FR.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ReactFlux
22

3-
Lire dans d'autres langues : [English](../README.md), [Español](README.es-ES.md), [简体中文](README.zh-CN.md)
3+
Lire dans d'autres langues : [Deutsch](README.de-DE.md), [English](../README.md), [Español](README.es-ES.md), [简体中文](README.zh-CN.md)
44

55
## Aperçu
66

@@ -31,7 +31,7 @@ Les fonctionnalités principales incluent :
3131
- Mise à jour par lot de l'hôte des URLs de souscription filtrées (utile pour remplacer les instances RSSHub)
3232
- Actualisation par lot des souscriptions récemment en erreur
3333
- Sauvegarde d'articles vers des services tiers
34-
- Support multilingue (English / Español / Français / 简体中文)
34+
- Support multilingue (Deutsch / English / Español / Français / 简体中文)
3535
- D'autres fonctionnalités à découvrir...
3636

3737
## Démo en ligne et captures d'écran
@@ -83,7 +83,7 @@ location / {
8383
docker run -p 2000:2000 electh/reactflux
8484
```
8585

86-
Ou en utilisant [Docker Compose](docker-compose.yml):
86+
Ou en utilisant [Docker Compose](../docker-compose.yml):
8787

8888
```bash
8989
docker-compose up -d
@@ -101,13 +101,16 @@ De plus, vous devez ajouter un fichier README pour la langue respective et le r
101101

102102
Vous devez également modifier certaines parties du code source pour inclure les packages de langue i18n pour `Arco Design` et `Day.js`.
103103

104-
Pour des modifications détaillées, veuillez vous référer aux modifications dans la [PR #120](https://github.com/electh/ReactFlux/pull/120).
104+
Pour des modifications détaillées, veuillez vous référer aux modifications dans la [PR #145](https://github.com/electh/ReactFlux/pull/145).
105105

106106
### Traducteurs actuels
107107

108-
- Español by [Victorhck](https://github.com/victorhck)
109-
- Français by [MickGe](https://github.com/MickGe)
110-
- 简体中文 by [Neko Aria](https://github.com/NekoAria)
108+
| Langue | Traducteur |
109+
| -------- | ----------------------------------------------- |
110+
| Deutsch | [DonkeeeyKong](https://github.com/donkeeeykong) |
111+
| Español | [Victorhck](https://github.com/victorhck) |
112+
| Français | [MickGe](https://github.com/MickGe) |
113+
| 简体中文 | [Neko Aria](https://github.com/NekoAria) |
111114

112115
## Contributeurs
113116

docs/README.zh-CN.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ReactFlux
22

3-
阅读其他语言版本: [English](../README.md), [Español](README.es-ES.md), [Français](README.fr-FR.md)
3+
阅读其他语言版本: [Deutsch](README.de-DE.md), [English](../README.md), [Español](README.es-ES.md), [Français](README.fr-FR.md)
44

55
## 概述
66

@@ -31,7 +31,7 @@ ReactFlux 是 [Miniflux](https://github.com/miniflux/v2) 的第三方 Web 前端
3131
- 批量更新过滤后的订阅 URL 的 host(适用于替换 RSSHub 实例)
3232
- 批量刷新最近更新错误的订阅源
3333
- 保存文章到第三方服务
34-
- 多语言支持 (English / Español / Français / 简体中文)
34+
- 多语言支持 (Deutsch / English / Español / Français / 简体中文)
3535
- 其他功能等您来发现...
3636

3737
## 在线演示和截图
@@ -83,7 +83,7 @@ location / {
8383
docker run -p 2000:2000 electh/reactflux
8484
```
8585

86-
或者使用 [Docker Compose](docker-compose.yml)
86+
或者使用 [Docker Compose](../docker-compose.yml)
8787

8888
```bash
8989
docker-compose up -d
@@ -101,13 +101,16 @@ docker-compose up -d
101101

102102
您还需要修改部分源代码,以包含 `Arco Design``Day.js` 的 i18n 语言包。
103103

104-
有关详细的更改,请参阅 [PR #120](https://github.com/electh/ReactFlux/pull/120) 中的修改。
104+
有关详细的更改,请参阅 [PR #145](https://github.com/electh/ReactFlux/pull/145) 中的修改。
105105

106106
### 当前翻译者
107107

108-
- Español by [Victorhck](https://github.com/victorhck)
109-
- Français by [MickGe](https://github.com/MickGe)
110-
- 简体中文 by [Neko Aria](https://github.com/NekoAria)
108+
| 语言 | 译者 |
109+
| -------- | ----------------------------------------------- |
110+
| Deutsch | [DonkeeeyKong](https://github.com/donkeeeykong) |
111+
| Español | [Victorhck](https://github.com/victorhck) |
112+
| Français | [MickGe](https://github.com/MickGe) |
113+
| 简体中文 | [Neko Aria](https://github.com/NekoAria) |
111114

112115
## 贡献者
113116

src/components/Settings/General.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { polyglotState } from "@/hooks/useLanguage"
77
import { settingsState, updateSettings } from "@/store/settingsState"
88

99
const languageOptions = [
10+
{ label: "Deutsch", value: "de-DE" },
1011
{ label: "English", value: "en-US" },
1112
{ label: "Español", value: "es-ES" },
1213
{ label: "Français", value: "fr-FR" },

src/hooks/useLanguage.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { useStore } from "@nanostores/react"
22
import dayjs from "dayjs"
3+
import "dayjs/locale/de"
34
import "dayjs/locale/en"
45
import "dayjs/locale/es"
56
import "dayjs/locale/fr"
@@ -14,6 +15,7 @@ import createSetter from "@/utils/nanostores"
1415

1516
const languageToLocale = {
1617
"zh-CN": "zh-cn",
18+
de: "de",
1719
es: "es",
1820
fr: "fr",
1921
}
@@ -58,7 +60,7 @@ const useLanguage = () => {
5860
loadLanguage(language)
5961

6062
const locale =
61-
language.startsWith("es-") || language.startsWith("fr-")
63+
language.startsWith("de-") || language.startsWith("es-") || language.startsWith("fr-")
6264
? language.substring(0, 2)
6365
: languageToLocale[language] || "en"
6466
dayjs.locale(locale)

0 commit comments

Comments
 (0)