feat(i18n): Add German (de) and Bosnian (bs) UI translations - #3280
feat(i18n): Add German (de) and Bosnian (bs) UI translations#3280Emcooo wants to merge 3 commits into
Conversation
Add complete UI translations for German and Bosnian languages, covering all 37
locale files (~914 strings each). This makes quran.com accessible to German-speaking
Muslims (~5M in DACH region) and Bosnian-speaking Muslims (Bosniaks, one of the
largest Muslim communities in Europe).
Changes:
- Add locales/de/ with all 37 translated JSON files
- Add locales/bs/ with all 37 translated JSON files
- Register 'de' and 'bs' in i18n.json locales array
- Add BS enum value to types/Language.ts
- Add Bosnian locale name and mapping to src/utils/locale.ts
- Add German locale mapping (de-DE) to LANG_LOCALE_MAP
Translation conventions:
- German: Islamic terms kept as-is (Surah, Ayah, Juz, etc.), "Quran" not "Koran"
- Bosnian: Uses local Islamic terminology (Sura, Ajet, Džuz, Kur'an, Ramazan)
- All template variables ({{...}}) and HTML tags preserved
- Natural, fluent translations — not word-for-word
Closes quran#3279
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
💡 Codex Reviewquran.com-frontend-next/i18n.json Lines 22 to 23 in 5cdbff6 Registering quran.com-frontend-next/src/redux/Provider.tsx Lines 55 to 56 in 5cdbff6 This locale-change effect now always dispatches ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
Add locale-specific default settings modules for German and Bosnian to prevent module-not-found errors when navigating to /de or /bs routes. - de.ts: defaults to Frank Bubenheim & Nadeem translation (ID 27) - bs.ts: defaults to Besim Korkut translation (ID 126) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…le files Fix missing diacritical marks in Bosnian translations. The initial translation pass omitted many special characters (š→s, č→c, ć→c, đ→dj, ž→z). Fixes include: - š: završen, više, šta, još, prošli, mišljenje, čuvanje, slušajte... - č: učenje, čitanje, sačuvaj, označiti, počnite, različit, kolačiće... - ć: će, mogućnost, budućnost, posvećeni, sljedeći, obećanje... - đ: između, pronađite, ugrađenim, događajima, međunarodni, uređajima... - ž: želite, može, ažurirano, istražite, različitih, pejzaž... - Džuz (not Dzuz) for Islamic term All 35 modified files validated as correct JSON. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
This PR adds complete UI translations for German (de) and Bosnian (bs), covering all 37 locale files (~914 strings each).
Why these languages?
What's included
locales/de/— 37 JSON files, fully translated to Germanlocales/bs/— 37 JSON files, fully translated to Bosniani18n.json— registereddeandbslocalestypes/Language.ts— addedBS = 'bs'enum valuesrc/utils/locale.ts— added locale names (Bosanski,Deutsch) andLANG_LOCALE_MAPentries (bs-BA,de-DE)Translation conventions
{{template variables}}and HTML-like tags (<0>,</0>,<br/>) preserved exactlyAbout the translator
I am a native speaker of both German and Bosnian, born in Bosnia and raised in Germany. I am happy to iterate on any strings that need adjustment.
Closes #3279
Test plan
deand verify German UI renders correctlybsand verify Bosnian UI renders correctly🤲 JazakAllahu Khairan for this amazing project