open source · 5 min read
Help translate cheki into your language
cheki is built for Ethiopia. Add Amharic, Oromiffa, Tigrinya, or any other language. No coding required: just edit a JSON file.
cheki is open source and free, but it's only useful if people can read it. Right now the interface is in English and Amharic. We want to add Oromiffa, Tigrinya, Somali, and any other language the community needs.
The good news: you don't need to be a developer. Translations live in a single JSON file per language. If you can edit text, you can translate cheki.
How translation works
Every piece of user-facing text in cheki has a key. For example, the hero title is stored as 'hero.title'. The English file says 'Verify Ethiopian receipts for free'. The Amharic file says 'የኢትዮጵያ ደረሰኞችን በነፃ ያረጋግጡ'.
To add a new language, you copy the English file, translate each value, and submit it. The site will automatically load the new language once the file is merged.
Two ways to contribute
- GitHub: Fork github.com/1RB/cheki, copy src/lib/i18n/translations.ts, add your locale, and open a pull request.
- Telegram: Send translated text to @raysterminalbot and we will format it into the codebase for you.
What to translate first
- Navigation labels (Verify, Banks, Guides, Developers, Compare)
- Hero text and the verify form
- Bank status labels (Live, In development)
- Footer links and legal text
- Compare page section headers
File structure
Translations are in src/lib/i18n/translations.ts. Each locale is a top-level object with the same keys as English. If a key is missing in a new language, the site falls back to English so nothing breaks.
We keep all languages in one file so reviewers can see gaps easily. For now, focus on the strings used by the homepage, banks page, and footer. Guide articles and SEO pages stay in English until there is demand for translation.
Quality standards
Use the formal or informal tone that fits your language best. Keep bank names in English unless there is a widely accepted local spelling. Test your translation by running the site locally if you can, or just send us the text and we'll verify it renders correctly.
Start with one screen
You don't have to translate everything. Even translating the hero and navigation helps a lot of users. We can merge partial translations and fill in the rest later.