mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
Session 1 of 2 of the i18n rollout. - Split i18n module into per-language files under frontend/js/i18n/ so a translator can edit one language without touching the others. - Add Portuguese (pt) and seed Hindi (hi). Hindi is intentionally a skeleton -- 0 keys, full English fallback -- because we have an active Indian user and would rather ship "no Hindi" than ship machine-quality Hindi that could read as unprofessional or get formality/gender register wrong. - 183 keys, 100% parity across en/es/fr/de/pt; native review still recommended before publicizing as "fully supported". - Add t(key, vars) variable substitution and tn(keyBase, n, vars) plural helper for _one/_other key pairs. - setLanguage() now triggers a CustomEvent + HashChangeEvent so the existing hash router naturally re-renders the current view, plus a subscriber pattern for nav labels rendered once outside the router. - Wire t() into 3 high-traffic views end-to-end: dashboard, login, content-library. Sidebar nav labels in app.js update on language change. - The remaining 16 views still ship with hardcoded English; they will be wired in session 2. The t() lookup is robust against unwired views, so the dashboard works in 5 languages while clicking into e.g. Schedule still shows English. No regressions. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
19 lines
990 B
JavaScript
19 lines
990 B
JavaScript
// Hindi translations — INTENTIONALLY SKELETON.
|
|
//
|
|
// We have an active user in India. Rather than ship machine-quality Hindi that
|
|
// could read as unprofessional or get formality register / gendered verbs
|
|
// wrong, this file is empty: every key falls back to English via the t()
|
|
// loader. When a native speaker reviews and fills in keys here, those keys
|
|
// take effect immediately without any code change in views.
|
|
//
|
|
// Translation guidelines for whoever fills this in:
|
|
// - Use formal आप register (this is B2B software, not consumer chat).
|
|
// - Keep technical terms in English when borrowed (Playlist, YouTube, MIME)
|
|
// — these are familiar to Indian users in their English form.
|
|
// - Translate UI verbs (Save, Cancel, etc.) into proper Hindi.
|
|
// - Test on the dashboard and content views first; those are wired to t().
|
|
//
|
|
// To add a key: copy from en.js and translate the value. Order doesn't matter;
|
|
// the loader merges over English fallback.
|
|
export default {};
|