Prerequisites
To install on Fedora 28+, run:
dnf install libmodulemd koji
Installation
With the prerequisites installed, the latest version can be installed with:
pip install ModulemdTranslationHelpers
or on Fedora 28+ (recommended) with:
dnf install python3-ModulemdTranslationHelpers
CLI Usage
Extract Translatable Strings
To extract translatable strings from modules for a particular Fedora release (e.g. f29):
ModulemdTranslationHelpers --branch f29 extract [--pot-file <path>]
This will read all of the module metadata from the Koji build-system and
convert the translatable strings to a portable object template (.pot)
document.
Specify the destination for the output file with --pot-file.
Produce modulemd-translations YAML
To convert portable object (.po) files into
modulemd-translations YAML documents that can be included in repodata:
ModulemdTranslationHelpers --branch f29 generate_metadata \
[--pofile-dir <path>] \
[--yaml-file <path>]
This will read all files with a .po suffix in the pofile-dir path and
write the modulemd YAML to yaml-file.
API
ModulemdTranslationHelpers
The ModulemdTranslationHelpers package has two primary functions:
get_translation_catalog_from_index()get_modulemd_translations_from_catalog()
ModulemdTranslationHelpers.get_translation_catalog_from_index()
This returns a babel.message.Catalog object containing all of the
translatable strings from any module tagged with one of the passed tags. It
can be passed to babel.messages.pofile.write_po() to create a portable
object template (.pot) file.
ModulemdTranslationHelpers.get_modulemd_translations_from_catalog()
This returns an iterable of modulemd-translation objects generated from a
set of paths to portable object (.po) files containing translation
information.
ModulemdTranslationHelpers.Fedora
This package provides helper routines for dealing with translations in Fedora Modules.
ModulemdTranslationHelpers.Fedora.KOJI_URL
The URL to the standard Fedora Koji instance.
ModulemdTranslationHelpers.Fedora.get_fedora_rawhide_version()
Looks up which Fedora version the current Rawhide branch will become.
ModulemdTranslationHelpers.Fedora.get_tags_for_fedora_branch()
Gets the list of tags for modules in a given Fedora branch. (For rawhide, make sure to use the value returned from get_fedora_rawhide_version.)