https://github.com/open-technology-foundation/en_id
https://github.com/open-technology-foundation/en_id
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/open-technology-foundation/en_id
- Owner: Open-Technology-Foundation
- License: other
- Created: 2025-06-26T23:54:59.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-27T00:24:12.000Z (about 1 year ago)
- Last Synced: 2025-06-27T00:44:39.151Z (about 1 year ago)
- Language: Shell
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# English Locale for Indonesia (en_ID)
A locale definition for English language users in Indonesia, combining international English standards with Indonesian regional conventions.
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Quick Start](#quick-start)
- [Installation](#installation)
- [Usage](#usage)
- [Testing](#testing)
- [Design Decisions](#design-decisions)
- [Contributing](#contributing)
- [License](#license)
## Overview
The `en_ID` locale provides English language support tailored for Indonesia. It combines:
- **British English** spelling conventions (inherited from `en_GB`)
- **Indonesian** currency format (IDR/Rp)
- **International** business standards (ISO 8601 dates, Anglo number formatting, 24-hour time)
### Who needs this?
- International businesses operating in Indonesia
- Indonesian professionals working in English
- Software systems requiring English UI with Indonesian regional settings
- Educational institutions using English as medium of instruction
## Features
| Category | Setting | Example |
|----------|---------|---------|
| **Language** | English (British spelling) | colour, centre |
| **Currency** | Indonesian Rupiah | Rp 1,234,567.89 |
| **Numbers** | Decimal point, comma separator | 1,234,567.89 |
| **Date** | ISO 8601 format | 2024-01-15 |
| **Time** | 24-hour format | 14:30:45 |
| **First Day** | Monday | - |
| **Paper** | A4 (297×210mm) | - |
| **Measurement** | Metric | - |
## Quick Start
Install en_ID as your default locale with one command:
### Ubuntu/Debian
```bash
wget -O- https://raw.githubusercontent.com/Open-Technology-Foundation/en_ID/main/install-ubuntu.sh | sudo bash
```
### Fedora/RHEL/CentOS
```bash
wget -O- https://raw.githubusercontent.com/Open-Technology-Foundation/en_ID/main/install-fedora.sh | sudo bash
```
### Arch Linux
```bash
wget -O- https://raw.githubusercontent.com/Open-Technology-Foundation/en_ID/main/install-arch.sh | sudo bash
```
## Installation
### Automated Installation
The quick start commands above will:
- ✓ Install the en_ID locale files
- ✓ Generate the locale
- ✓ Optionally set as system default
- ✓ Backup existing locale settings
- ✓ Test the installation
### Manual Installation
Ubuntu/Debian
```bash
# Clone repository
git clone https://github.com/Open-Technology-Foundation/en_ID.git
cd en_ID
# Install
sudo make install
# Verify
locale -a | grep en_ID
```
Fedora/RHEL/CentOS
```bash
# Clone repository
git clone https://github.com/Open-Technology-Foundation/en_ID.git
cd en_ID
# Install locale file
sudo cp localedata/en_ID /usr/share/i18n/locales/
# Generate locale
sudo localedef -i en_ID -f UTF-8 en_ID.UTF-8
# Set as default (optional)
sudo localectl set-locale LANG=en_ID.UTF-8
```
Arch Linux
```bash
# Clone repository
git clone https://github.com/Open-Technology-Foundation/en_ID.git
cd en_ID
# Install locale file
sudo cp localedata/en_ID /usr/share/i18n/locales/
# Add to locale.gen
echo "en_ID.UTF-8 UTF-8" | sudo tee -a /etc/locale.gen
# Generate locale
sudo locale-gen
# Set as default (optional)
echo "LANG=en_ID.UTF-8" | sudo tee /etc/locale.conf
```
**Note**: Systems may display the locale as `en_ID.utf8` or `en_ID.UTF-8`. Both refer to the same locale.
## Usage
### Set as System Default
```bash
# Ubuntu/Debian
sudo update-locale LANG=en_ID.UTF-8 LC_ALL=en_ID.UTF-8
# Fedora/RHEL
sudo localectl set-locale LANG=en_ID.UTF-8
# Arch Linux
echo "LANG=en_ID.UTF-8" | sudo tee /etc/locale.conf
```
### Use in Current Session
```bash
export LANG=en_ID.UTF-8
export LC_ALL=en_ID.UTF-8
```
### Use for Single Application
```bash
LC_ALL=en_ID.UTF-8 your-application
```
**Important**: Use `LC_ALL` to ensure all locale categories use en_ID. Using only `LANG` may result in some categories falling back to system defaults.
## Testing
Verify your installation:
```bash
# Check if installed
locale -a | grep en_ID
# Test date format (should show: 2024-01-15)
LC_ALL=en_ID.UTF-8 date +%x
# Test time format (should show: 14:30:45)
LC_ALL=en_ID.UTF-8 date +%X
# Test currency (number formatting)
LC_MONETARY=en_ID.UTF-8 printf "%'.2f\n" 1234567.89
# Output: 1,234,567.89
# Show all locale settings
LC_ALL=en_ID.UTF-8 locale
```
## Design Decisions
### LC_NAME Omission
The LC_NAME category is intentionally left minimal. Indonesian naming conventions don't map to Western name formatting:
- **Single names** are common (Sukarno, Suharto, Junarti)
- **Name origins** vary widely (Javanese, Balinese, Chinese, Arabic)
- **Titles** like Pak/Bu are Indonesian, not English
- **English contexts** typically use Mr./Ms. anyway
Rather than misrepresent Indonesian names, LC_NAME uses a minimal definition.
### Indonesian Standards Adopted
The en_ID locale adopts these standards from Indonesia:
- **Currency**: Indonesian Rupiah (IDR/Rp) with standard positioning
- **Country Codes**: ID (alpha-2), IDN (alpha-3), 360 (numeric)
- **Telephone**: International format with +62 country code
- **Paper Size**: A4 (297×210mm)
- **Measurement**: Metric system
- **Week Start**: Monday
### International Standards Used
Rather than traditional Indonesian formats, en_ID uses:
- **Dates**: ISO 8601 (YYYY-MM-DD) instead of Indonesian DD/MM/YYYY
- **Numbers**: Anglo format (1,234.56) instead of Indonesian (1.234,56)
- **Language**: English (inherited from en_GB and en_SG)
This design prioritizes international compatibility for English-language business and technical contexts.
### British vs American English
British English was chosen because:
- It's the standard in Indonesian education
- Used by neighboring Singapore and Malaysia
- Common in Commonwealth countries
## Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
### Reporting Issues
Please report bugs or suggestions via [GitHub Issues](https://github.com/Open-Technology-Foundation/en_ID/issues).
## License
This locale definition is released under the GNU General Public License v3.0. See [LICENSE](LICENSE) for details.
## Author
Created and maintained by [Yayasan Teknologi Terbuka Indonesia](https://yatti.id) (Indonesian Open Technology Foundation).
Contact: admin@yatti.id
## See Also
- [GNU C Library Locales](https://www.gnu.org/software/libc/manual/html_node/Locales.html)
- [ISO 639 Language Codes](https://www.loc.gov/standards/iso639-2/)
- [ISO 3166 Country Codes](https://www.iso.org/iso-3166-country-codes.html)
- [Unicode CLDR](http://cldr.unicode.org/)