Installation of translation (.mo) files - failing

Hullo, I am working on com.github.louis77.tuner, a Vala radio app, and I’ve been cleaning up the portable object translation code, but I am finding that the translations are not making it into the flakpak.

I had split the translations into two .pot files (which generate fine with i18n.gettext) in subdirectories under /po, use Weblate to generate the .po files (fine) and I use a meson setup-hook to concatenate the language .po’s into the /po dir before generating the .mo’s at build time. This all works great for local builds.

However for flatpak build, which apprear to show the .mo’s being moved:

[79/79] Linking target com.github.louis77.tuner

[0/1] Installing files

Installing po/ar/LC_MESSAGES/com.github.louis77.tuner.mo to /app/share/locale/ar/LC_MESSAGES

etc.

But I don’t see the .mo’s once its installed and neither does the code, which looks in:

config_data.set_quoted('LOCALEDIR',

  join_paths(get_option('prefix'), get_option('localedir')))

config_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())

Any help or pointers appreciated!

T

And the answer, in the short term, is adding separate-locales: false to the manifest .yml

However this begs an architecture review and how to manage locales in app and flatpak locales.

Flatpak only installs the Locales for the languages the system uses.

You can use flatpak config to see which languages are set to be installed, or use flatpak config --set languages * to install the Locales for all languages.

See also the documentation about flatpak config: