Skip to content

add .agents to .gitignore and add id.json for Indonesian locale. - #895

Open
okabrionz wants to merge 2 commits into
rmyndharis:mainfrom
okabrionz:oka
Open

add .agents to .gitignore and add id.json for Indonesian locale.#895
okabrionz wants to merge 2 commits into
rmyndharis:mainfrom
okabrionz:oka

Conversation

@okabrionz

@okabrionz okabrionz commented Jul 24, 2026

Copy link
Copy Markdown

Description

This pull request adds support for the Indonesian (id) language locale in the dashboard and updates .gitignore to ignore the .agents directory.

Key Changes:

  • i18n / Localization:

  • Added id.json containing full Indonesian translations for UI components, navigation, chats, and error messages.

  • Registered id in supportedLanguages, languageOptions, and i18n setup in dashboard/src/i18n/index.ts.

  • Repository Maintenance:

  • Added .agents/ to .gitignore.


Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist

  • Tests added/updated
  • Documentation updated
  • Lint passes
  • Self-reviewed

@rmyndharis

Copy link
Copy Markdown
Owner

Thanks for the contribution! The Indonesian locale is well-structured and the translations look solid. However, there's a blocker below that needs to be fixed before this can merge, plus a couple of smaller points.

Blocker: id.json is not valid JSON

dashboard/src/i18n/locales/id.json fails to parse:

SyntaxError: Bad control character in string literal in JSON
  at position 21971 (line 604, column 47)

Line 604 contains a raw newline inside the string value:

"bulkRecipientsPlaceholder": "+62812345678

",

For comparison, en.json (line 604) is a clean single-line value:

"bulkRecipientsPlaceholder": "+62812345678",

All 12 existing locales parse without error, so this is a regression introduced here. Since index.ts does import id from './locales/id.json', the dashboard build will fail once this file is imported.

Line 610 also has a broken UTF-8 sequence in bulkDelayHint:

1000�60000 ms (bawaan 3000)

en.json has a proper en-dash: 1000–60000 ms. It looks like the en-dash was corrupted into an invalid byte sequence.

Both need fixing. The "Lint passes" checkbox in the PR description can't be accurate while the JSON is invalid — worth re-running npm run lint / a build after the fix.

What's good

  • Key structure is complete. After repairing the broken line for comparison, id.json has all 720/720 keys matching en.json — 0 missing, 0 extra, 0 placeholder mismatches ({{count}} etc. all preserved).
  • Translation quality. The 31 strings where id equals en are almost all legitimate loanwords that are correctly left untranslated in standard Indonesian (Status, URL, Port, Host, Admin, Redis, SQLite, …). This reads as a competent translation, not a lazy one.

.gitignore change

.gitignore already ignores .agent/ (singular). Adding .agents/ is a variant spelling — it's fine in itself, but:

  • It mixes two unrelated changes (locale + gitignore) into one PR. These should ideally be separate PRs / commits.
  • It looks like it's serving your local tooling rather than the project. If you don't have a strong reason to land it here, consider dropping it so this PR stays focused on the locale.

Also note: the diff removes the trailing newline at the end of .gitignore (\ No newline at end of file). Minor, but worth restoring.

Minor

  • Language label is 'Indonesia'. The more common endonym is 'Bahasa Indonesia' — the other entries use endonyms (Français, Italiano, Português). Up to you, but consistency would favor 'Bahasa Indonesia'.
  • The second commit message ("fix: update Indonesian translation to use Indonesian language") is a bit unclear — a more specific message helps reviewers follow what changed.

Suggested follow-up (optional)

A small CI check that validates every locale JSON parses would prevent broken locale files from slipping in again — something like looping node -e "JSON.parse(require('fs').readFileSync(f))" over dashboard/src/i18n/locales/*.json.

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.

2 participants