Translations ============ Betty is fully multilingual (internationalized), and can be localized to different `locales `_, which includes translations of the built-in US English messages to any language of your choice. .. seealso:: View the available translations on `Weblate `_. Each time a message is translated, Betty finds the translation as follows: #. If the project has a translation in its assets directory, use it #. If an extension has a translation in its assets directory, use it #. If a built-in translation exists, use it #. If no translation exists, use the original US English message Read more about :doc:`asset directories `. Project translations -------------------- Adding a new translation ^^^^^^^^^^^^^^^^^^^^^^^^ Run ``betty new-translation $locale`` where ``$locale`` is an `IETF BCP 47 language tag `_. This will create ``./locale/$locale/betty.po``, which you can then edit yourself. Updating existing translations after changing translatable messages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you've made changes to the translatable messages in your project, run ``betty update-translations`` to update ``betty.pot`` and any ``betty.po`` files for existing translations. You can then edit the updated ``betty.po`` files yourself. Read more about how to :doc:`contribute to Betty's built-in translations `.