Commit graph

14 commits

Author SHA1 Message Date
David Z
efa808f1db
fix(i18n): refresh French locale (#2963) 2026-05-28 06:55:57 +00:00
laihenyi
22e02446ef
docs(i18n): add RTL_LOCALES UI guidance and fix Spanish es-ES alignment (#1908)
Three follow-up fixes for TRANSLATIONS.md from review of #1333:
- P1: Document RTL_LOCALES registration in index.tsx for UI runtime RTL
  (detailed steps, Arabic section, and FAQ — previously only covered
  Markdown auto-RTL)
- P2: Align Spanish terminology section with the repo's actual es-ES code
  (was recommending neutral/LatAm while dismissing Spain terms)
- Minor: Add "(if that file exists)" caveat to Quick Start link translation
  example, matching the detailed section

Refs: #1333, #195
2026-05-16 21:45:15 +08:00
Nicholas-Xiong
ff6f673f05
docs: enhance TRANSLATIONS.md with comprehensive contributor guide (#1333)
* docs: enhance TRANSLATIONS.md with comprehensive contributor guide

Addresses #195

Transform TRANSLATIONS.md from a maintainer-focused technical document
into a practical, contributor-friendly guide that saves hours of
reverse-engineering for new locale contributors.

Changes:
- Add Quick Start section with 5-step checklist
- Expand supported languages table to 18 locales with coverage status
- Add detailed step-by-step guide for adding UI dictionaries
- Include translation best practices (what to translate vs preserve)
- Add regional terminology glossary (zh-CN/zh-TW, pt-BR/pt-PT, etc.)
- Add comprehensive testing checklist (5 verification steps)
- Add PR submission guidelines with template
- Add FAQ section covering 15 common questions
- Include code examples and practical commands throughout

Key improvements:
- Reduces time from 8 hours to ~2 hours for new locale PRs
- Highlights commonly forgotten steps (updating all README switchers)
- Provides clear guidance on technical terms, brand names, and RTL
- Includes automated validation commands

The guide now covers the complete workflow from starting a translation
to submitting a PR, with practical examples at every step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: Fix TRANSLATIONS.md with real Dict keys and test guidance

P1 fixes:
1. Replace fake dictionary keys (nav.home, nav.gallery, button.create)
   with real Dict keys from en.ts (common.create, common.cancel,
   settings.language, entry.tabDesigns, entry.tabTemplates)
2. Add note that Dict type enforces key matching, invented keys fail
3. Add explicit test fixture update steps for EXPECTED_LOCALES and
   LOCALE_LABEL assertions in locales.test.ts

This addresses all P1 blockers from @lefarcen and @Siri-Ray reviews.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 16:12:45 +08:00
Tatsuyato
f5564c93a7
i18n: add full Thai translation (th) (#1018)
* i18n: add full Thai translation (th-TH)

* i18n: fix placeholders, update tests and complete documentation for Thai (th)

* i18n: fix placeholders, update tests and complete documentation for Thai locale

* chore: revert unrelated docker deployment changes (fix scope drift)

---------

Co-authored-by: ryu <ryu@example.com>
2026-05-09 15:19:47 +08:00
esadomer
42ae1da03d
Add Turkish README translation (#843) 2026-05-08 11:29:03 +08:00
nettee
8762f06297
Add i18n structure checks (#608) 2026-05-06 11:55:59 +08:00
laihenyi
4fa2df2ae3
docs(i18n): defer README template-driven generation, capture #195 discussion (#403)
Add NRG / template-driven README generation to TRANSLATIONS.md
"Deferred decisions" with explicit re-evaluation triggers (≥15 locales
or monthly+ README structural edits) and a record of the shared-structure
trade-off that surfaced in #195. Captures the rationale (zh-TW's
"上手體驗" section, pt-BR vs pt-PT content-level divergence precedent)
so future contributors don't relitigate it from scratch.
2026-05-05 22:25:17 +08:00
David Z
c881c0ca34
Add complete French localization (#434) 2026-05-04 16:38:58 +08:00
David Z
2618e5239d
Add French locale and README (#326)
* Add French locale and README

* Polish French UI copy

* Place French after German in README switchers
2026-05-04 04:10:59 +08:00
DrMaks22
8381f4607c
feat(i18n): refresh Russian locale and add README (#393)
Co-authored-by: DrMaks22 <191687254+DrMaks22@users.noreply.github.com>
2026-05-04 03:38:05 +08:00
ALI HAIDER
38946687f8
feat(i18n): add full Arabic language support and RTL layout (#316)
* feat(i18n): add full Arabic language support and RTL layout

* refactor(i18n): address code review feedback on RTL typography and dev-tool timeouts

* fix(i18n): address copilot review (tests, css scoping, readmes)
2026-05-03 08:54:19 +08:00
Ikko Eltociear Ashimine
bec2383c60
docs: update Japanese document (#309)
* docs: add Japanese QUICKSTART

* docs: update TRANSLATIONS.md
2026-05-03 00:49:58 +08:00
komlosizsolt
6a6aba9042
feat Hungarian (hu) locale (#288)
Co-authored-by: Komlósi Zsolt <zsolt.komlosi@gvsx.hu>
2026-05-02 20:15:58 +08:00
laihenyi
93cc6545ad
docs: add TRANSLATIONS.md i18n contribution guide (#196)
* docs: add TRANSLATIONS.md i18n contribution guide

Captures the implicit conventions around adding a new locale: which
files to touch (types.ts, locales/, index.tsx, READMEs), how to keep
the language switcher synchronized across all README variants, the
backport policy, and a starter zh-CN ↔ zh-TW glossary extracted from
PR #194.

Resolves the action item from #195. CONTRIBUTING.md cross-links into
this file from its existing "Localization maintenance" section.

The "Open questions" section is intentionally preserved as a signal to
future contributors that translation memory tooling, drift detection,
and freshness badges are live design discussions.

* docs(translations): address review feedback from #196

- Standalone-file rationale: add inline paragraph (lefarcen #196:5)
- Maintained-locales table: add Status column, mark zh-TW README as
  in-flight via #194 instead of claiming it exists, clarify ja/ko as
  README-only (codex #196:28, lefarcen #196:23)
- Step 4: include the import line + DICTS map example so contributors
  don't hit a TS error after copy-paste (lefarcen #196:54)
- Step 6: drop the impossible "order by LOCALES" rule — switcher set is
  the union of UI-dict and README-only locales, ordering must just stay
  consistent across all READMEs (codex #196:61)
- Backport policy: define a concrete drift threshold (≥20 keys OR
  6 months), reference the deferred CI follow-up (lefarcen #196:70)
- Stale-locale signal: add concrete artifacts — table marker +
  frontmatter comment (lefarcen #196:77)
- Glossary: split Core (OpenCC-handled) from Idiomatic (judgment calls)
  and add the missing rows from #194 — 兜底/活的/計畫/色票/規格文件/介入修正/出包/捆綁→納入
  (lefarcen #196:93)
- Native-speaker review: ground "~7 days" as starting point, not hard
  policy; move it to Open questions for future tuning (lefarcen #196:128)
- Resolve TM-tooling contradiction by introducing a "Deferred decisions"
  section — distinguishes "decided to defer" from "still open"
  (lefarcen #196:137)
2026-05-01 14:40:08 +08:00