feat: integrate standardized Indonesian (id) locale support#177
feat: integrate standardized Indonesian (id) locale support#177kiddo90-N wants to merge 2 commits into
Conversation
|
@kiddo90-N is attempting to deploy a commit to the osama's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Thank you for the pull request! ✅ A maintainer will review this soon. Please be patient while we take a look. 🙌 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
@kiddo90-N The build failed with this error:
`
Failed to type check.
./lib/i18n-core.ts:9:3
Type error: Object literal may only specify known properties, and 'id' does not exist in type 'Record<"en" | "ar", { dir: "ltr" | "rtl"; label: string; }>'.
7 | en: { dir: "ltr", label: "English" },
8 | ar: { dir: "rtl", label: "\u0627\u0644\u0639\u0631\u0628\u064a\u0629" },
9 | id: { dir: "ltr", label: "Bahasa Indonesia" },
| ^
10 | };
11 |
12 | export function isSupportedLocale(value: string | null | undefined): value is Locale {
Next.js build worker exited with code: 1 and signal: null
ELIFECYCLE Command failed with exit code 1.
Error: Command "pnpm run build" exited with 1
`
You can fix by edit the type that's cause the error to be string and make sure the app running and building without problems.
|
It is look like you add the changes using an ai model, please don't use ai without manual review, there are multiple things to make this feature ready for the production! |
Fixes #174
Overview
This Pull Request introduces comprehensive Indonesian language support by implementing the
id.jsonlocale package and registering the configurations properly withinlib/i18n-core.ts.To align with the universal and professional nature of this application, the translation strictly adheres to formal Indonesian lexical standards (KBBI and PUEBI). Technical and computing terminology has been carefully mapped to ensure it looks natural to global developers while remaining grammatically flawless.
Contextual Refinements
During development, a raw or literal translation was intentionally avoided for two specific keys, as standard machine translations introduce significant contextual dissonance for native Indonesian speakers:
banner.leadby: Refactored from a literal translation to a dynamic localized phrasing. This ensures that when the key is rendered alongside numerical metrics on the UI banner, the sentence flow remains perfectly coherent.error.generic: Redundant phrasing was eliminated and the technical concept of rate limiting was re-contextualized. The updated string balances technical clarity with natural phrasing, preventing UI clutter while staying informative.Additionally, at the time of submission of this PR: