/ONIi18n

Primary LanguagePythonMIT LicenseMIT

MIT license JSDelivr CDN

ONIi18n

The repo to hold the translation for ModI18n.

Adding your translation

First, download the pot file of the mod you are interested in strings directory. If you can not find the string template of the mod you want, Please create it with the instructions below. You can also create an issue to request it.

Then translate it (e.g. with Poedit). When finished, you can create an issue to submit it. You can also create a pull request if you are familiar with Git/GitHub.

To update existing translations, just download the old PO file instead.

To test your translations, you can set "Use Local Translations Only" to true in the in-game mod options of ModI18n, and then put your translations as mods/i18n/xx.po. Available language code could be found inside strings/languages.json

Generate template for a mod

To generate a strings template of a mod that does not support translation on its own, please follow the steps listed below:

  1. Disable all mods except Mod Translation (ModI18n) and the mod you are going to generate a strings template for.
  2. Set the "Use Local Translations Only" option to true.
  3. Delete all existing translation files in <KLEI_MODS_FOLDER>/i18n.
  4. Start the game and wait until the main manual shows up.
  5. The strings templates should be ready as <KLEI_MODS_FOLDER>/strings_template/curr_mods_templates.pot.

Test your translation locally

You may want to check your translations locally before contributing them to this repository.

  1. Launch the game and then set the "Use Local Translations Only" option to true and set the "Preferred Language" option to the target language of your translation.
  2. Copy your PO file to <KLEI_MODS_FOLDER>/i8n/<YOUR_LANG_CODE>.po, where YOUR_LANG_CODE is one of the language codes in strings/languages.json (same as that you chose in step 1).
  3. Launch the game again and you should be able to see your translations.

Adding your mod for translation

It is always preferred to use string templates generated by the original mod. To add your mod's translation template, please make a PR with your .pot file under /strings/YOUR_MOD_NAME/. The YOUR_MOD_NAME here is not strict, just make sure to be different from others' mod. If you want, you can also create an issue with your pot file so that we can add it for you.

To make sure all users of your mod have ModI18n enabled, you can mention it in your mod's description page or add ModI18n as the dependency of your mod (it should not add any noticeable lag to English users).

To update existing string templates, just create a new issue/PR with the new templates.

Modders Choice

The following modders explictly stated that they don't mind people adding translations via ModI18n.

Opt out

Mod Translation is an open "platform" for translations of various languages for Oxygen Not Included mods and it won't steal or ruin your work (instead it helps mods to be subscribed by more international gamers). However, if you do want to prevent Mod Translation from translating your mods, you can opt out here so that this repo won't hold translations for your mods.

The following modders don't want their mods to be translated without their supervision:

  • Cairath

Known issues & TODO

  • Link this repo with smartCat