feat: add Indonesian (Bahasa Indonesia) localization#1513
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 15, 2026, 1:00 AM ET / 05:00 UTC. Summary Reproducibility: not applicable. this is a feature PR adding a new language rather than a bug reproduction. Current main lacks Indonesian, while the contributor screenshots show the after-change Settings and menu UI path. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the focused Indonesian localization after normal maintainer/native-speaker review and validation. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a feature PR adding a new language rather than a bug reproduction. Current main lacks Indonesian, while the contributor screenshots show the after-change Settings and menu UI path. Is this the best way to solve the issue? Yes; the implementation follows the existing localization pattern with an enum case, bundled resource catalog, cross-catalog picker labels, and focused tests. The only remaining review gap is translation quality, which is best handled by maintainer or native-speaker spot check. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 3b5f5234c9fa. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
ff38e4e to
d84f77c
Compare
Runtime proofFreshly built app with Indonesian selected: Settings → General → Language picker showing "Bahasa Indonesia":
Menu bar / UI rendered in Indonesian:
Verification
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Add native Indonesian (id) as a first-class language: - id.lproj/Localizable.strings with all strings translated to native Indonesian (placeholders/format specifiers preserved) - Register `indonesian` in the AppLanguage enum + Settings language picker - Add the localized "language_indonesian" name to en.lproj - Extend LocalizationLanguageCatalogTests parity list
d84f77c to
2cd2138
Compare





Summary
Adds native Indonesian (
id) as a first-class language, integrated into CodexBar's existing localization system.id.lproj/Localizable.strings— all strings translated into native, idiomatic Indonesian. Format specifiers (%@,%d,%1$@…) and\(name)interpolation placeholders are preserved exactly.idin theAppLanguageenum + Settings → Language picker."language_indonesian"name to the English catalog.LocalizationLanguageCatalogTestsparity list.No changes were needed to
Localization.swiftorPackage.swift(.process("Resources")auto-bundles the new catalog).Using it
Selectable as Bahasa Indonesia in Settings → Language (requires app restart). In the default System mode it is now picked up automatically for users whose macOS language is Indonesian.
Verification
plutil -lintpasses on both.stringsfiles (English and Indonesian).Notes
This is my first contribution to this repository. I followed the established localization pattern used by prior language PRs (Korean #1460, Vietnamese #1247, Ukrainian #1250).