Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ PHP checks and optional E2E checks are described in [docs/release-process.md](do
### Protected pad permission errors

- Verify Etherpad API key and Etherpad auth mode
- Run admin `Health check` in `Settings -> Administration -> Pads`
- Run admin `Test Etherpad connection` in `Settings -> Administration -> Pads`

### Protected pads fail because of cookies / iframe auth

Expand Down
46 changes: 27 additions & 19 deletions docs/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,39 @@ SPDX-License-Identifier: AGPL-3.0-or-later
## Status

- Admin settings UI text uses Nextcloud L10N (`IL10N->t(...)` / `t(app, key)`).
- File menu labels for `+ New` are localized (`New pad`, `Public pad`, `External public pad`).
- File menu labels for `+ New` are localized (`New pad`, `Public pad`, `Public pad from URL`).
- Currently maintained locales: `de`, `es`, `fr`. Additional locales are
expected to come in via translatewiki once the project is onboarded.

## Translation File Formats

Available translations currently exist in multiple formats:
Per locale we ship two files in `l10n/`:

- `l10n/de.json`
- `l10n/de_DE.json`
- `l10n/de.php`
- `l10n/de_DE.php`
- `l10n/de.js`
- `l10n/de_DE.js`
- `l10n/fr.json`
- `l10n/fr.php`
- `l10n/fr.js`
- `l10n/es.json`
- `l10n/es.php`
- `l10n/es.js`
- `l10n/<locale>.json` — read by PHP via `IL10N`.
- `l10n/<locale>.js` — read by the JS frontend via `OC.L10N.register`.

Background:
The two formats are generated from the same source-of-truth dict and must
stay in sync. The legacy `*.php` catalogs are not used by modern Nextcloud
(see the [developer manual][nc-l10n-docs]: *"you then just need the .json
and .js files for a working localized app"*) and are intentionally not
shipped.

- `*.json` is the standard format in modern Nextcloud apps.
- `*.php` and `*.js` are kept as compatibility/fallback variants.
`de_DE` is not maintained as a separate file — Nextcloud's locale fallback
maps `de_DE` users to `de.json` automatically. The DE catalog uses Du
throughout.

[nc-l10n-docs]: https://docs.nextcloud.com/server/stable/developer_manual/basics/front-end/l10n.html

## Maintenance Rule

- Keep `de`, `de_DE`, `fr`, and `es` key sets aligned.
- After updating translation keys, regenerate `*.json` and `*.js` from the corresponding `*.php` map to keep server/client contexts consistent.
- All maintained locales (`de`, `es`, `fr`) must hold the same set of keys.
Both the `.json` and `.js` catalog per locale must agree on keys and
values; never edit one without the other.
- New user-visible strings must be wrapped in `t(...)` / `$l10n->t(...)`
calls so they can be picked up by translation tooling.
- For ongoing translation work, the long-term plan is to onboard the
project to [translatewiki.net][tw] (same platform Etherpad upstream
uses). Until then, the maintainer keeps the three locales in sync by
hand.

[tw]: https://translatewiki.net/
231 changes: 113 additions & 118 deletions l10n/de.js

Large diffs are not rendered by default.

231 changes: 113 additions & 118 deletions l10n/de.json

Large diffs are not rendered by default.

143 changes: 0 additions & 143 deletions l10n/de.php

This file was deleted.

Loading
Loading