Menu ▾ ▴

#139 Localize the landing page into 20 more languages

closed
nobody
None
2026-07-23
2026-07-18
Anonymous
No

Originally created by: kristofferR

Adds 20 more languages to the landing page (docs/index.html), following the exact recipe from [#138] — the inline dependency-free i18n engine now carries 30 locales.

Languages

Round 2 — next-largest Messenger markets: Indonesian, Hindi, Bengali, Burmese, Khmer, Turkish, Ukrainian, Italian, German, Hungarian.
Round 3: Simplified Chinese, Urdu, Nepali, Sinhala, Lao, Romanian, Czech, Greek, Swedish, Danish — completing the strongly Messenger-dominant markets (Nepal, Laos, Czechia, Scandinavia…) plus Chinese for the worldwide diaspora.

What's localized

  • 132 keyed strings per locale — hero, features, full FAQ, downloads, footer, and the app-window replica's chat; same coverage as [#138].
  • Cultural recasting, not just translation — every locale gets a local fictional cast and adapted conversations. The promised dessert becomes puding cokelat, gulab jamun, payesh, sanwin makin, sangkhya lapov, islak kek, medovyk, tiramisù, Schokokuchen, almás rétes, 蛋挞, kheer, sel roti, watalappan, khao nom kuay, cozonac, štrúdl, μωσαϊκό, kladdkaka, and drømmekage. Locale-true details throughout: Burmese/Nepali/Urdu numerals in timestamps, the Khmer ៖ colon, Nepal's Saturday family day, Greek ";" question marks, Czech gender-neutral phrasings.
  • Urdu is the second RTL locale — reuses the Arabic RTL infrastructure unchanged (page mirrors, the app-window replica stays LTR).
  • Per-locale profile photos — 140 new AI-generated portraits of fictional people authentic to each culture under docs/avatars/{locale}/, generated with the same FLUX pipeline and matching the established style.

Integration

  • The language picker grew to 30 entries, now ordered by native name (Latin scripts A–Z, then Greek/Cyrillic, then Indic/SEA/CJK scripts, RTL last; English stays first as the default). Each entry leads with its market's flag emoji, matched to the culture each cast was written for (🇲🇽 Español, 🇪🇬 العربية, 🇧🇩 বাংলা…); on Windows these degrade gracefully to letter pairs.
  • One new auto-detect fallback: zh* → zh-CN. All other new codes are covered by the existing two-letter matching.
  • Page size grows to ~434 KB (locale dictionaries are inlined by design, per [#138]; avatars remain separate per-locale assets).
  • Verified headlessly and in-browser: every locale resolves all 132 used keys with zero fallbacks, JSON round-trips, and the notification simulation re-localizes.

Related

Tickets: #138

Discussion

  • Anonymous

    Anonymous - 2026-07-18

    Originally posted by: kristofferR

    @coderabbitai review

     
  • Anonymous

    Anonymous - 2026-07-18

    Originally posted by: coderabbitai[bot]

    Rate Limit Exceeded

    @kristofferR have exceeded the limit for the number of chat messages per hour. Please wait 12 minutes and 43 seconds before sending another message.

     
  • Anonymous

    Anonymous - 2026-07-18

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.