-
-
Notifications
You must be signed in to change notification settings - Fork 365
Contributing Translations
github-actions[bot] edited this page Feb 4, 2026
·
104 revisions
- 💡 When using Calibre-Web Automated, you may see a notification if your language is missing translations. You can also open your
.pofile in PoEdit or another editor to see which entries are still untranslated (msgstr ""). - 🎯 If you want to help but aren't sure which strings are most important, focus on those that appear in the web interface or are marked as fuzzy/incomplete.
If your language needs help, by default you'll see a notification like this that'll link you to this page & encourage you to contribute!:

| Language | Total Strings | Untranslated | Completion |
|---|---|---|---|
| Arabic (ar) | 1518 | 517 | 65% |
| Czech (cs) | 1518 | 707 | 53% |
| German (de) | 1518 | 24 | 98% |
| Greek (el) | 1518 | 687 | 54% |
| Spanish (es) | 1518 | 24 | 98% |
| Finnish (fi) | 1518 | 843 | 44% |
| French (fr) | 1518 | 51 | 96% |
| Galician (gl) | 1518 | 550 | 63% |
| Hungarian (hu) | 1518 | 622 | 59% |
| Indonesian (id) | 1518 | 548 | 63% |
| Italian (it) | 1518 | 332 | 78% |
| Japanese (ja) | 1518 | 386 | 74% |
| Khmer (km) | 1518 | 1016 | 33% |
| Korean (ko) | 1518 | 338 | 77% |
| Dutch (nl) | 1518 | 338 | 77% |
| Norwegian (no) | 1518 | 707 | 53% |
| Polish (pl) | 1518 | 332 | 78% |
| Portuguese (pt) | 1518 | 528 | 65% |
| Portuguese (Brazil) (pt_BR) | 1518 | 332 | 78% |
| Russian (ru) | 1518 | 332 | 78% |
| Slovak (sk) | 1518 | 527 | 65% |
| Slovenian (sl) | 1518 | 29 | 98% |
| Swedish (sv) | 1518 | 612 | 59% |
| Turkish (tr) | 1518 | 912 | 39% |
| Ukrainian (uk) | 1518 | 915 | 39% |
| Vietnamese (vi) | 1518 | 804 | 47% |
| Chinese (Simplified, China) (zh_Hans_CN) | 1518 | 378 | 75% |
| Chinese (Traditional, Taiwan) (zh_Hant_TW) | 1518 | 593 | 60% |
Help make Calibre-Web Automated accessible to users around the world by improving translations! Follow these steps to add or update translations for your language:
- 🌐 Navigate to the translations section of the CWA repository.
- 🗂️ Locate the folder for your language (e.g.,
defor German,frfor French). - 📥 Download the
messages.pofile fromcps/translations/<your_language>/LC_MESSAGES/messages.po.
- 📝 Use a translation editor such as:
- PoEdit (free desktop app)
- Loco's free online .po editor
- ✍️ Open the
messages.pofile and:- ➕ Add translations for any empty entries (
msgstr "") - 🔄 Improve or correct existing translations as needed
- ➕ Add translations for any empty entries (
- 🔙 Return to the translation file in the GitHub repo.
- ✏️ Click the pencil icon to edit, or fork the repository if you prefer to work locally.
- 📤 Replace the existing
messages.pofile with your updated version. - 🚀 Submit a Pull Request (PR) with a short description of your changes.
- 👀 The project maintainers will review your PR and merge it if everything looks good.
- 🎉 Your translations will be included in the next release!
💡 Tips:
- ✏️ Only edit the
msgstrfields—do not change themsgidvalues. - ❓ If you have questions, open an issue or ask in the project's community channels.
- 🌎 You can contribute translations for any language, even if it is not yet listed—just create a new folder following the existing structure.
- ✏️ Only edit the
msgstrfields—do not change themsgidvalues. - 🧹 Try to keep translations clear, concise, and consistent with the style of the app.
- 💬 If you see a translation that could be improved, feel free to suggest changes!
- 📚 For technical terms, try to match the terminology used in your language's ebook apps or platforms.
- 🆘 If you have trouble editing or submitting your
.pofile, open an issue on GitHub or ask in the project's community channels. - 🌍 If your language is not listed, you can create a new folder using the same structure as other languages.
⚠️ If you see errors after submitting a translation, check for syntax issues (e.g., missing quotes or special characters).
🙏 Thank you for helping make Calibre-Web Automated better for everyone! Your contributions make a real difference to users worldwide ❤️