Development - infinityofspace/jellyfin_alexa_skill GitHub Wiki

If you would like to participate in the development of the skill, you will find important information below.

Notice

If you also test your skill (for code changes or translations) you should consider setting the force_reset_skill attribute in the skill.conf to true. This ensures that all previous customization whether automatic or in the Alexa Web Console, are overwritten with the current local skill models and manifest. However, this significantly increases the startup time of the skill, since the skill models for the various supported languages must first be created in the cloud, which can take several seconds.

Help with translation

Crowdin

Translation status

If you would like to help with the translations, you can simply join the Crowdin project and help translate one of the Alexa supported languages.

Translations during development

If you want texts that will be presented to the user, then add the decorator @translate to the handler function. This adds to the function a GNUTranslations object parameter named translations. In the function you can then internationalize texts with translation.gettext("my text").

Extraction of new translatable strings and updating the language specific po files

Translatable strings are automatically extracted by a Github action workflow and added to the catalog from the supported languages. Then the new strings are automatically transferred to Crowdin. No manual action is necessary.

Compile mo files

This step is performed automatically when installing the package or building the package and does not need to be done manually. For this reason you should not commit the compiled mo files to the repo.

For the development, however, the translations might have to be compiled manually. This can be done with the following command in the root directory of your local repo copy:

python3 setup.py compile_catalog