Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 2.12 KB

File metadata and controls

49 lines (37 loc) · 2.12 KB

I18N / Translations

SPDX-License-Identifier: AGPL-3.0-or-later

Status

  • Admin settings UI text uses Nextcloud L10N (IL10N->t(...) / t(app, key)).
  • The + New entry label (New pad) is localized.
  • The template tiles are not: the picker labels a tile with its file name, and a template is a file. The same applies to every template, including the ones richdocuments ships. What a tile asks can be translated — the external tile's template field carries a translated label.
  • Currently maintained locales: de, es, fr, it. Additional locales are expected to come in via translatewiki once the project is onboarded.
  • de and it are reviewed end-to-end by native speakers. es and fr are first-pass translations and are expected to receive native-speaker polish.

Translation File Formats

Per locale we ship two files in l10n/:

  • l10n/<locale>.json — read by PHP via IL10N.
  • l10n/<locale>.js — read by the JS frontend via OC.L10N.register.

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: "you then just need the .json and .js files for a working localized app") and are intentionally not shipped.

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.

Maintenance Rule

  • All maintained locales (de, es, fr, it) 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 (same platform Etherpad upstream uses). Until then, the maintainer keeps the three locales in sync by hand.