Skip to content

feat(i18n): ship the visitor form in all seven supported languages - #41

Merged
ph33nx merged 1 commit into
mainfrom
feat/translations-seven-locales
Aug 5, 2026
Merged

feat(i18n): ship the visitor form in all seven supported languages#41
ph33nx merged 1 commit into
mainfrom
feat/translations-seven-locales

Conversation

@ph33nx

@ph33nx ph33nx commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

199 visitor-facing strings translated into de, es, fr, hi, pt, ru, tr: form labels, help text, section headings, form titles, buttons, consent and error messages.

Domain vocabulary practitioners use untranslated stays transliterated (ayanamsa, nakshatra, panchang, kundli, gun milan, dosha), matching the convention already in the codebase.

Why bundled rather than waiting for wordpress.org

This is the documented on-ramp, not a shortcut. Per the wp.org meta handbook: shipped .mo files are imported into translate.wordpress.org to seed the project, language packs generate once a locale reaches 90%, and at that point the bundled copies can be removed. Verified on a real render that they load with no load_plugin_textdomain() call and nothing in wp-content/languages.

Verified live, all seven

Locale Section Label Button
es_ES Datos de nacimiento Fecha de nacimiento Calcular carta
de_DE Geburtsdaten Geburtsdatum Chart berechnen
fr_FR Données de naissance Date de naissance Calculer le thème
pt_BR Dados de nascimento Data de nascimento Calcular mapa
tr_TR Doğum bilgileri Doğum tarihi Haritayı hesapla
ru_RU Данные рождения Дата рождения Рассчитать карту
hi_IN जन्म विवरण जन्म तिथि कुंडली बनाएँ

Quality checks

  • Placeholder integrity asserted per string: %s / %1$s counts must match the source or the build fails.
  • French elisions restored (l'ayanamsa, d'une, J'accepte) after an early pass stripped them, which is a grammar error rather than a style choice.
  • Turkish filter labels corrected from ele alma (reads as "do not handle") to yok say.
  • 0 empty strings, 0 placeholder mismatches across all seven.

Formats

Ships .po (editable source), .mo, and .l10n.php (the WP 6.5+ format that avoids parsing .mo per request). phpcs now excludes languages/ for the same reason it excludes src/Generated: those files are emitted, not authored.

199 visitor-facing strings translated into de, es, fr, hi, pt, ru and tr:
form labels, help text, section headings, form titles, buttons, consent and
error messages. Domain vocabulary that practitioners use untranslated stays
transliterated (ayanamsa, nakshatra, panchang, kundli, gun milan, dosha).

Bundled rather than waiting on wordpress.org, which is the documented on-ramp:
shipped .mo files are imported into translate.wordpress.org to seed the project,
and once a locale reaches the language-pack threshold the bundled copies can be
removed. They load with no load_plugin_textdomain() call, verified on a real
render with nothing in wp-content/languages.

Ships .po (editable source), .mo, and .l10n.php (the WP 6.5+ format that avoids
parsing .mo on every request). phpcs excludes languages/ for the same reason it
excludes src/Generated: the .l10n.php files are emitted, not authored.

Verified end to end in a live WordPress across all seven locales.
@ph33nx
ph33nx merged commit dabfb7a into main Aug 5, 2026
11 checks passed
@ph33nx
ph33nx deleted the feat/translations-seven-locales branch August 5, 2026 18:51
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