fix(l10n): normalize de_DE to de before user manual build#15317
Conversation
Every other Nextcloud project (server, apps, clients) syncs formal German as "de_DE" in Transifex, but these docs use bare "de". This confuses translators managing both German teams and fragments the translation memory across projects. The published URL (user_manual/de/) can't change since it's linked from many external sites, so this keeps the Transifex resource language-code-agnostic on the build side: if locale/de_DE exists it is folded into locale/de right before Sphinx runs, following the same pattern already used for POT->PO renaming in change_file_extension.sh. This is currently a no-op — it only takes effect once the Transifex resource for the user manual is reconfigured to sync German under de_DE instead of de. Relates to #13370 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Anna Larch <anna@nextcloud.com>
|
I'm overly busy and not familiar with the new deployment mechanism, so I will stay out of this |
|
Oh, that sounds good. Renaming a language at Transifex is not possible. Question: |
|
Good question! There's no static list to edit — the available languages are derived dynamically from directory names in both places:
So as long as On the Transifex side: once you add |
📖 Documentation PreviewNo RST documentation pages changed in this PR. Last updated: Wed, 15 Jul 2026 18:37:59 GMT |
AndyScherzinger
left a comment
There was a problem hiding this comment.
Code looks good to me, but I have no knowledge myself on how generation and deployment works on the docs repo. So I'd be relying on @skjnldsv and @nickvergessen for that.
But generally would be happy if we can make the translation community happy with this.
☑️ Resolves
Relates to #13370
💡 Context
Every other Nextcloud project (server, apps, clients) syncs formal German as
de_DEin Transifex. These docs are the outlier, using barede— which confuses translators (not everyone is on both German teams) and keeps the translation memory from pooling with the maturede_DETM used everywhere else.The published URL (
user_manual/de/) can't change — it's linked from many external sites (see discussion on the issue).This PR decouples the two: it adds a build-time step (
build/normalize_locale_codes.sh, wired intouser_manual/Makefile'shtmltarget) that foldslocale/de_DEintolocale/deright before Sphinx builds, ifde_DEexists. It follows the same pattern already used bychange_file_extension.shfor.pot→.porenaming.This is currently a no-op —
locale/de_DEdoesn't exist yet. It only takes effect once the Transifex resource for the user manual is reconfigured to sync German underde_DEinstead ofde, which needs to happen on the Transifex side (cc @rakekniven).Opening as a draft to get eyes on the approach before the Transifex-side config change happens — cc @AndyScherzinger @nickvergessen since you both weighed in on the issue.
🖼️ Screenshots
N/A — build tooling change only, no rendered content changes.
✅ Checklist
codespellor similar and addressed any spelling issues