Ethio-Intl is an open-source internationalization library built to support Ethiopian languages and systems in modern software development. It brings together: Amharic transliteration , Ethiopian ↔ Gregorian calendar conversion, Geez numeral support, Multi-language foundations (Amharic, Oromo, Tigrinya, English).
# 🌍 Ethio-Intl
A modern JavaScript SDK for Ethiopian web applications with Amharic transliteration, Ethiopian calendar conversion, Geez numerals, and multi-language support.
## Project Video
Click the image below to watch our project video:
youtube.com
## 🎮 Live Demo
Try the interactive demo: **Open Demo**
Experience real-time Amharic transliteration, Ethiopian calendar conversion, Geez numerals, and multi-language support!
## ✨ Features
- 🔤 **Amharic Transliteration**: Real-time English to Amharic conversion
- 📅 **Ethiopian Calendar**: Precise Gregorian ↔ Ethiopian date conversion
- 🔢 **Geez Numerals**: Convert Arabic numbers to traditional Geez script
- 🌐 **Multi-language Support**: Amharic, English, Tigrinya, and Oromo
- ⚡ **Zero Dependencies**: Pure TypeScript with no external libraries
- 🎯 **TypeScript First**: Full type safety and IntelliSense support
- 🪝 **React Hooks**: Custom hooks for easy React integration
## 🚀 Quick Start
### Installation
```bash
npm install ethio-intl
```
```bash
yarn add ethio-intl
```
```bash
pnpm add ethio-intl
```
### Basic Usage
```javascript
import { toEthDate, toEthNumber } from 'ethio-intl';
// Ethiopian Calendar
const today = new Date();
const ethDate = toEthDate(today, 'en');
// Result: "Tahsas 13, 2018"
const ethDateAmharic = toEthDate(today, 'am');
// Result: "ታህሳስ 13, 2018"
// Geez Numerals
const geezNumber = toEthNumber(2025);
// Result: "፳፻፳፭"
const geez100 = toEthNumber(100);
// Result: "፻" (note: no '1' multiplier)
```
## 📚 API Reference
### Calendar Functions
#### `toEthDate(date, lang?)`
Convert Gregorian date to Ethiopian date.
```javascript
import { toEthDate } from 'ethio-intl';
const ethDate = toEthDate(new Date(2025, 8, 11), 'en');
// Result: "Meskerem 1, 2018"
const ethDateAmharic = toEthDate(new Date(2025, 8, 11), 'am');
// Result: "መስከረም 1, 2018"
```
#### `isEthiopianLeapYear(year)`
Check if Ethiopian year is a leap year.
```javasc …