Skip to content

feat: Add Indonesian locale support #174

Description

@O2sa

Indonesian is spoken by over 200 million people and is the official language of Indonesia. Adding Indonesian locale support will make the application accessible to a large and growing community of Indonesian-speaking developers.

Overview

Indonesian will be added as a new supported locale with the language code id. Indonesian uses left-to-right (LTR) layout, making this a straightforward addition similar to French, Spanish, and Mandarin Chinese.

Tasks

  • Create a new locale file locales/id.json with all translation keys from locales/en.json translated to Indonesian.
  • Update lib/i18n-core.ts to add id to the supportedLocales array.
  • Add Indonesian entry to the localeMeta object in lib/i18n-core.ts with the following configuration:
    id: { dir: "ltr", label: "Bahasa Indonesia" }
  • Test the language switcher to ensure Indonesian appears in the dropdown menu.
  • Test the application with Indonesian locale selected to ensure all UI elements display correctly.
  • Verify that all text content renders properly without layout issues.
  • Update CONTRIBUTING.md with instructions for translating content to Indonesian (if not already documented in the localization guide).

Translation Keys

All translation keys from the existing English locale must be translated to Indonesian. The keys include:

  • Application titles and subtitles
  • Error messages
  • UI labels and buttons
  • Explanations and descriptions
  • Comparison metrics
  • Community contribution labels
  • And more (reference locales/en.json for the complete list)

Testing

  • Language switcher displays "Bahasa Indonesia" correctly.
  • All pages render without errors when Indonesian is selected.
  • No layout shifts or broken styling in LTR mode.
  • All Indonesian translations are grammatically correct and contextually appropriate.

Tip

🚀 Want to contribute?
Comment assign me to be automatically assigned to this issue via our GitHub Actions bot. Happy coding! ✨

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions