Eints is OpenTTD's WebTranslator.
- Registered translators translate from English to their language.
- Eints validates the translations syntactically and that parameter usage matches the English base language.
- Eints synchronises translations to OpenTTD's repository every day, shortly before the nightly build.
When adding or altering strings in english.txt, you should stick to some rules, so translations are handled smoothly by Eints and translators. This document gives some guidelines.
Just sign up as a translator.
Open an issue, so it can be assigned to the translation team of the language. The translators will decide whether, where and how to apply your suggestion.
Sorry, we don't offer this option.
Please create an issue for this.
OpenTTD has more than 4000 strings, translating all of them is a lot of work. Despite the initial enthusiasm, only few people have the endurance to get to even 20% translation progress.
As such, starting a new translation requires the prospect that there is also translation interest in the future. And, frankly, OpenTTD probably already covers all languages to which this applies, and a few more.
If you still want to make the case, that your language is spoken by several 100 million people, please create an issue for adding a new language.
I want to change the wording / fix a typo in an English string, without changing the meaning (drastically).
Just change it in your PR.
Translators will be notified that their translation became "outdated", so they can double-check whether the translation needs updating.
Just change the parameters in english.txt in your PR. Don't touch the translations, please ignore compile warnings about them.
Translators will be notified that their translation became "invalid", so they can adjust the translation. Eints will remember the old translations for translators to view, but remove them from the git repository, while they are "invalid"; so there won't be any compile warnings after the nightly sync.
I want to change the meaning of an English string, so that no existing translation makes any sense anymore.
In this case, please change the STR_xxx string identifier of the string; basically: remove the old string, add a new one. Don't touch the translations, please ignore compile warnings about them.
Eints will discard all memory of the old strings in the nightly sync, and translators can start fresh with a new string.
Add the new string somewhere in english.txt, where it fits with the neighbouring strings. Don't touch the translations, even if you can speak some of the languages.
Remove the string from english.txt. Don't touch the translations, please ignore compile warnings about them.
Eints will remove the translations from the git repository in the nightly sync.
Reorder english.txt as you like. Don't touch the translations.
Eints will reorder all translations to match english.txt in the nightly sync.
Change comments in english.txt as you like. Don't touch the translations.
Eints will replicate comments into all translations in the nightly sync. Comments are not translated.
I want to change the STR_xxx string identifier for code style reasons, without changing the English text.
This is the only case, where your PR should also edit translations. The STR_xxx string identifier is used by Eints as key value to track strings and translations. If you change it, that's the same as deleting a string and adding an unrelated new one. So, to keep translations, you have to replace the STR_xxx for all translations in the PR as well.
However, you will only be able to keep the translations which are part of the git repository. Translation history and information about translations being "outdated" will be lost. So, keep your code style OCD to a minimum :)
Here are some things, people sometimes want to do, but which won't work.
You have to change the STR_xxx string identifier, that's the only option.
You cannot "clear" translations by removing them via PR; eints will reinstall the previous "syntactically perfect valid" translation.
You have to revert the translations via the WebTranslator interface. If there are many changes, ask someone with Admin access to eints, so they can manually upload a fixed translation file to eints.
You cannot revert translations changes via PR. Eints merges translations from git and from web by keeping a translation history, and committing the newest translation to git. If you revert to an old translation in git, eints will simply think git did not yet get the newer translation, and commit it again.