How To Contribute to Language Translations in Mycodo

Translation files enable strings (words or phrases) to be automatically translated in the Mycodo user interface to either the default browser language or a manually-configured language on the Configuration page. There are currently several languages supported in Mycodo. If you would like to add a new language or improve the quality and coverage of translation for a language, this is now all done through weblate at

Many people ask how they can contribute to Mycodo if they don’t know how to code. If you know another language, this is a great way to contribute and enable more people to use and understand the software.

How to Contribute Using Weblate

Go to Mycodo Weblate to manage all the current translations

Submit Suggestions as an Anonymous User

Anonymous users can submit translations suggestions that will need to be approved by an administrator. Once approved, weblate can make a pull request to the Mycodo repository with the translation changes, which can then be merged and incorporated into the next Mycodo release.

Submit Suggestions as a Registered User

Registered users can still only submit suggestions, but the name and email used to register will be included in the contributors section of the translation file header. If you want recognition for contributing to translations, use this method.

Start a New Translation

If you would like to start translating in a new language, you must be registered and logged in. Once logged in, click the Start New Translation button on the bottom of, select the new language, then press Start New Translation. The next page will show the new language with 0 words translated. Press Translate to begin translating. After you’ve entered the translated string, press Save and Continue to go to the next string.


Automatic Suggestions

When translating, you can use the Automatic Suggestions tab to use the DeepL service to translate the string. If the suggested translation is completely correct, you can simply press Copy and Save to copy and save the translation, and continue to the next string, in one click. If the suggested translation is partially correct and you would like to use it but make a modification before saving, you can press Copy to copy the translation into the edit field. You can then edit the translation, then press Save and Continue to save and advance to the next string.

The DeepL service has a 500,000 character limit per month, so if the limit is reached, you will have to wait until the next month starts to use it again.

Google Translate is another good service but you will have to copy the string to another browser tab to use it.


If a string ends with punctuation, make sure the translated string also ends with the same punctuation. Sometimes the DeepL translation will add a period (.) to the end of a translation when the source string didn’t have a period. If this occurs, remove the period from the translation before saving.

Return to Previous Translation

If you saved and continued but need to go back to edit the previous translation, you can press the back arrow at the top of the page to return to previous entries.


You can search for specific source strings from the search page. This is useful if you want to translate the most commonly encountered strings. Open the Mycodo User Interface and change the default language to the language you’re translating. Now go through the pages of the User Interface looking for untranslated strings. When you encounter one, you can search for that word/phrase on the search page. If there’s a result, you can clock the source word/phrase link for the language you’re translating and it will allow you to create a translation for that specific string.

Zen Mode

Zen mode allows you to translate several strings at a time on the same page, without having to advance to another page for the next string. Zen mode can be activated by clicking the “Zen” link at the top right when you’re on a page translating a string. In Zen mode, all you need to do is enter the translate string and it is automatically saved (there is no Save button).

1 Like