Skip to content

chore(i18n): bring stale locale translations up to date (de, es, it, ne, nl, nl-BE, no)#886

Open
edwh wants to merge 1 commit into
developfrom
chore/update-stale-translations
Open

chore(i18n): bring stale locale translations up to date (de, es, it, ne, nl, nl-BE, no)#886
edwh wants to merge 1 commit into
developfrom
chore/update-stale-translations

Conversation

@edwh

@edwh edwh commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Completes translations for every locale in the language-select dropdown and fixes the ne locale.

The dropdown (active supportedLocales) is de, en, es, fr, fr-BE, it, nl, nl-BE. en/fr/fr-BE are the maintained source and are untouched. This brings every other dropdown locale to complete coverage — all 29 lang/<locale>/*.php namespaces plus the .json — translated from lang/en, creating the files that were missing (per "fix up the languages even if all the files aren't in place").

Now complete (29/29 php files + json)

Locale Language php files created
de German +10
es Spanish +28
it Italian +8
nl Dutch +29 (dir didn't exist)
nl-BE Flemish +12
ne Dutch (mirrors nl) corrected
no Norwegian +10, + new no.json

Corrections

  • ne → Dutch: ne is country-code based and should be Dutch, not Nepali — its content is now the Netherlands-Dutch set. (An earlier pass had wrongly converted it to Nepali from the ISO 639 code.)
  • es/partials.php was an empty return []; de/login.php had a "German Welcome…" artifact; nl/nl-BE Clothing/textile was "Schoonmaak" (Cleaning) → "Kleding/textiel"; nl-BE/validation.php had 3 broken Laravel placeholders — all fixed.

Verification

Every locale 29/29 files, 0 missing keys vs en, 0 placeholder mismatches; all files parse (php -l + return-array; valid JSON); vite-plugin-laravel-translations loads the whole tree.

Notes / what to review

  • Machine-translated — a native-speaker pass is recommended before production.
  • Country lists: a few entries use current official names where en is outdated (e.g. MK "Macedonia, the former Yugoslav Republic of" → North Macedonia; SZ Swaziland → Eswatini in some locales). Trivial to revert to mirror en exactly if preferred.
  • The non-en .json files still carry ~16 keys not present in en.json (likely category names dropped from en); left in place rather than delete live data.
  • ne/no are not currently in the active dropdown config but have lang files, so they were completed too. Adding them to config/laravellocalization.php supportedLocales is a separate decision.

🤖 Generated with Claude Code

@edwh edwh force-pushed the chore/update-stale-translations branch from eada3bb to 4cc76d7 Compare June 25, 2026 21:10
…l-BE) + fix ne→Dutch

The language-select dropdown offers de, en, es, fr, fr-BE, it, nl, nl-BE. en/fr/fr-BE
are the maintained source (untouched). This brings every other dropdown locale to
COMPLETE coverage — all 29 lang/<locale>/*.php namespaces plus the .json — translated
from lang/en, creating the files that were missing.

Per locale (now 29/29 php files, every en key present):
  de German    es Spanish    it Italian    nl Dutch    nl-BE Flemish

Also:
- ne → Dutch: 'ne' is a country-code-based locale that should be Dutch, not Nepali;
  its content mirrors nl (an earlier pass had wrongly converted it to Nepali).
- no (Norwegian) completed too: all 29 files + new lang/no.json.
- Consistency pass: harmonised same-English-string translations that diverged across
  files within a locale (e.g. it "Salva modifiche" vs "Memorizza cambiamenti";
  nl-BE "E-mailadres"/"Beschrijving"). 44 fixed; 3 left intentionally different where
  context truly differs (event-RSVP vs group-join; welcome banner vs section heading).

Other fixes: es/partials.php was empty; de/login.php "German Welcome…" artifact;
nl & nl-BE "Clothing/textile"→"Kleding/textiel"; nl-BE/validation.php broken Laravel
placeholders + typos.

Verified: every locale 29/29 files, 0 missing keys vs en, 0 placeholder mismatches,
0 unintended same-string inconsistencies; all files parse; the Vite translations
plugin loads the whole tree. Machine-translated — native-speaker review recommended.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@edwh edwh force-pushed the chore/update-stale-translations branch from 4cc76d7 to 15a0492 Compare June 26, 2026 07:22
@edwh

edwh commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator Author

Follow-up: ran a consistency pass across all the new locales (the same English string was being translated different ways in different files). 44 same-string inconsistencies harmonised; 3 left intentionally different where the context genuinely differs (event-RSVP vs group-join in nl/ne — different Dutch prepositions; "Getting started" welcome banner vs section heading in nl-BE). Re-verified: every locale 29/29 files, 0 missing keys, 0 placeholder mismatches, 0 unintended same-string inconsistencies, all parse.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
23.7% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant