X Tutup
Skip to content

feat(locale): add indonesian locale#567

Merged
sinaatalay merged 1 commit intorendercv:mainfrom
akmalsyrf:feat/indonesian-locale
Dec 23, 2025
Merged

feat(locale): add indonesian locale#567
sinaatalay merged 1 commit intorendercv:mainfrom
akmalsyrf:feat/indonesian-locale

Conversation

@akmalsyrf
Copy link
Contributor

Add Indonesian Locale Support

Summary

This PR adds Indonesian (Bahasa Indonesia) locale support to RenderCV, allowing users to create CVs with Indonesian translations for date formatting, month names, and other locale-specific text.

Changes Made

Added

  • New locale file: src/rendercv/schema/models/locale/other_locales/indonesia.yaml
    • Complete Indonesian translations for all locale fields
    • Month abbreviations: Jan, Feb, Mar, Apr, Mei, Jun, Jul, Agu, Sep, Okt, Nov, Des
    • Full month names: Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember
    • Translations: last_updated, month, months, year, years, present

Modified

  • src/rendercv/schema/models/locale/english_locale.py

    • Added ISO 639-1 language code mapping: "indonesia": "id" to the language_iso_639_1 method
  • schema.json

    • Updated to include indonesia as a valid locale option (auto-generated via just update-schema)

Testing

✅ All tests pass:

  • test_available_locales() - Verifies locale is discovered and included in available locales
  • test_creates_valid_model_for_all_themes_and_locales[indonesia-*] - Validates locale works with all 5 themes:
    • classic
    • engineeringclassic
    • engineeringresumes
    • moderncv
    • sb2nov

✅ Manual verification:

  • Locale correctly loads from YAML file
  • ISO 639-1 code "id" is properly mapped
  • All translations are correctly applied
  • No linter errors

Usage

Users can now use Indonesian locale in their CV YAML files:

locale:
  language: indonesia

Or when creating a new CV:

rendercv new "Nama Anda" --locale indonesia

Example Translations

  • last_updated: "Terakhir diperbarui"
  • month / months: "bulan"
  • year / years: "tahun"
  • present: "sekarang"
  • Month names: Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember

Related

This follows the same pattern as other locale additions (see v2.4 changelog entry for 11 languages added). The implementation follows the developer guide: How to Add a Locale.

Checklist

  • Locale YAML file created with all required fields
  • ISO 639-1 code added to english_locale.py
  • Schema updated (just update-schema run)
  • All tests pass
  • Locale works with all themes
  • No linter errors
  • Follows existing locale file structure and conventions

@sinaatalay
Copy link
Member

Thank you!

@sinaatalay sinaatalay merged commit 83114b0 into rendercv:main Dec 23, 2025
11 checks passed
@sinaatalay
Copy link
Member

I fixed indonesia as indonesian by the way.

@akmalsyrf
Copy link
Contributor Author

I fixed indonesia as indonesian by the way.

Just wanna clarify a little bit

  • Indonesia is the country name
  • Indonesian is a nationality

If that's what you meant, then go ahead🚀

@sinaatalay
Copy link
Member

I meant the language name. Should it be Indonesian, or Indonesia?

@akmalsyrf
Copy link
Contributor Author

I meant the language name. Should it be Indonesian, or Indonesia?

Indonesia, or it's often called "Bahasa Indonesia"

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

X Tutup