Skip to content

Add Hindi translation - #79

Merged
aghyad97 merged 4 commits into
mainfrom
i18n/hindi
Aug 2, 2026
Merged

Add Hindi translation#79
aghyad97 merged 4 commits into
mainfrom
i18n/hindi

Conversation

@aghyad97

@aghyad97 aghyad97 commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Adds messages/hi.json, a complete Hindi (hi) translation of messages/en.json.

Single file added. No changes to src/lib/locales.ts or src/providers/language-provider.tsx — registry wiring is handled separately.

Key parity

  • 4,577 leaf keys compared against en.json: 0 missing, 0 extra
  • 0 placeholder mismatches, 0 type mismatches
  • bunx tsc --noEmit clean; bun run test 1282/1282 passing

Conventions used

  • Everyday code-mixed register with Devanagari loanwords (फ़ाइल, ब्राउज़र, डाउनलोड, कंप्यूटर, पासवर्ड) rather than Sanskritized coinages
  • Polite आप; करें imperative for buttons
  • Western numerals; acronyms and format names left in Latin (PDF, JSON, SRT, TOTP…)
  • Interpolated placeholders kept out of gendered verb agreement, restructuring the sentence where needed

Terminal punctuation
Source punctuation is mirrored, with the danda standing in for the Latin full stop — 586 .-ending strings and the 65 !-ending strings all end in ; ?, :, and unpunctuated strings carry over unchanged.

Hindi has no native exclamation mark and does not conventionally use the borrowed ! for routine operation confirmations — Hindi UIs render these declaratively (कॉपी हो गया।, not कॉपी हो गया!). The ! in the English toasts is a tone convention rather than semantic emphasis, so it maps to the danda. The only ! characters in the file are the three literal !@#$ character-class examples, which are inherited from the source.

Worth a native speaker's eye

  • HTTP status reason phrases were translated rather than kept as English tokens — 200 OKठीक है, 502 Bad Gatewayख़राब गेटवे. Recognition rests on the numeric code. Reasonable to reverse if English tokens are preferred.
  • Periodic table uses standard NCERT science terms (क्षार धातु, परमाणु क्रमांक, इलेक्ट्रॉन विन्यास) — deliberately more Sanskritic than the rest of the file, matching how these are actually taught.
  • Sample/placeholder data was localized: example names → अमित/प्रिया/राहुल, आरव/नेहा; Meme Generator default text → ऊपर का टेक्स्ट / नीचे का टेक्स्ट.
  • Mixed loan/native choices worth confirming: एक्ज़ीक्यूट vs पढ़ना/लिखना for chmod bits, सर्कल/इलिप्स over वृत्त/दीर्घवृत्त for CSS shapes, ओवरड्यू for invoice status, यूनिक शब्द over अद्वितीय.
  • TextCaseConverter labels (UPPER, lower, Title, camelCase) left in English — Devanagari has no letter case, so translating them would destroy what the button demonstrates.
  • TipCalculator.pays renders as भुगतान: rather than a verb, to avoid forcing gender agreement with an interpolated name.

@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
browserytools Ready Ready Preview Aug 2, 2026 10:27am

Request Review

@aghyad97
aghyad97 merged commit d206d6a into main Aug 2, 2026
4 checks passed
@aghyad97
aghyad97 deleted the i18n/hindi branch August 2, 2026 10:30
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