Invoiso started as an English-only app, and for a lot of users that was never a barrier — but plenty of shop owners, freelancers and accountants are far more comfortable working in their own language. Full multi-language support is now in progress, and the goal is simple: make Invoiso usable regardless of the language you think in.
This is a localization effort covering the whole interface, not a handful of menu labels. It is built on Flutter's official ARB / gen-l10n workflow, which keeps every translatable string in structured resource files rather than scattered through the code — making the translations straightforward to maintain and, importantly, open for contributors to extend later.
Supported languages
- 🇬🇧 English — default and fully reviewed
- 🇳🇵 Nepali
- 🇹🇯 Tibetan
- 🇫🇷 French
- 🇪🇸 Spanish
- 🇮🇳 Hindi
- 🇨🇳 Chinese (Simplified)
English remains the baseline every other language is translated against. The rest are being filled in and reviewed, with accuracy prioritised over rushing a half-finished locale into a release.
What gets localized
The target is the entire Invoiso user interface, including:
- Every screen in the app
- Dialogs and popups
- Shared widgets and components
- Settings and preferences
- Invoice and product management interfaces
- Customer and user management
- Messages, labels, buttons, validation text and other UI strings
Local-language names on invoices
Interface language is only half of it. Invoiso already supports a local-language alias name for each product and customer — a separate display name that appears on generated invoice PDFs alongside or instead of the English name. So even before the interface translation lands in your language, you can already print bills with names your customers actually read.
Why the ARB / gen-l10n approach
Using Flutter's standard localization pipeline instead of a custom string system has a few practical benefits. Translatable text lives in per-language ARB files, missing translations are caught at build time, and adding a new language is a matter of contributing one more file rather than touching app logic. It also means the translation work is reviewable in the open repository, the same way code changes are.
Community contributions
Translation quality depends on native speakers. We welcome help from contributors to review the existing locales and improve wording, and to expand coverage to languages not on the list yet. A special thanks to the community members who have already offered to help translate Invoiso — that early interest is a big part of why this is moving now.
If you would like to help with a language you speak, the GitHub repository is the place to start — open an issue or a pull request against the ARB files.
What's next
Localization is rolling out progressively. English is done; the other languages ship as their translations are completed and reviewed. Watch the changelog for the release that turns on the in-app language switcher.
Download Invoiso to try it today, or follow the changelog for language rollout updates.