Translation resources live in packages/shared/i18n/<lang>/<ns>.json (common, errors) and ship with de and en. The web app initializes react-i18next with bundled resources (?lng= wins, then the browser language); all shell components use useTranslation and the temporary t() stub is gone. The api localizes its uniform error bodies via a minimal i18next instance negotiated from Accept-Language. `pnpm i18n:check` fails CI when any key is missing in any language, backed by tested helpers in @dorfteich/shared. Closes #5 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28 lines
732 B
JSON
28 lines
732 B
JSON
{
|
|
"layout": {
|
|
"sidebar": {
|
|
"expand": "Seitenleiste einblenden",
|
|
"collapse": "Seitenleiste ausblenden",
|
|
"label": "Seiten",
|
|
"placeholder": "Deine Teiche und Seiten erscheinen hier."
|
|
},
|
|
"user": {
|
|
"anonymous": "Nicht angemeldet"
|
|
}
|
|
},
|
|
"home": {
|
|
"title": "Willkommen im Dorfteich",
|
|
"intro": "Dorfteich ist ein Open-Source-Wiki mit Echtzeit-Zusammenarbeit. Diese Instanz wird gerade eingerichtet.",
|
|
"api": {
|
|
"checking": "Prüfe API …",
|
|
"ok": "API erreichbar",
|
|
"error": "API nicht erreichbar"
|
|
}
|
|
},
|
|
"notFound": {
|
|
"title": "Seite nicht gefunden",
|
|
"body": "Die aufgerufene Adresse existiert nicht.",
|
|
"home": "Zurück zur Startseite"
|
|
}
|
|
}
|