Installation of translation (.mo) files - failing

Feb 25, 2026 Closed
T

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

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.

C

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: