Comment 11 for bug 1762889

Revision history for this message
Jeremy BĂ­cha (jbicha) wrote :

Big oops. I believe my suggestion in my original bug report was wrong.

I compared gnome-chess and gnome-mines (two simple games in Ubuntu main). gnome-mahjongg in its current release still uses autotools, but gnome-chess uses meson.

The build produces gnome-mahjongg_3.22.0-3_amd64_translations.tar.gz
In there is a gnome-mahjongg.pot in the source/help/ directory.

gnome-chess doesn't have a .pot in its source/help/, but one can be made easily by running the help-gnome-chess-pot target.

Both of these builds are also interesting compared to some of the other packages we've looked at because they produce a second tarball like gnome-mahjongg_3.22.0-3_static_translations.tar.gz containing the pre-built help.

By the Way
==========
We don't actually allow translators to translate the help files for gnome-mahjongg. I don't know how complicated that would be to support.

https://translations.launchpad.net/ubuntu/+source/gnome-mahjongg

Revised suggestion
==================
We should run all the -pot targets offered by meson.

This will do the right thing for all the apps that provide help files.
It will do the right thing for libgweather (which has a second "locations" pot).

I guess we do need to be smart enough to know which one is the main gettext domain though or at least the one to insert into the .desktop files that we strip.

Note about gnome-control-center
==============================
My suggestion will break for gnome-control-center where the gnome-control-center-2.0-timezones-pot meson target isn't runnable. But gnome-control-center is an unusual case. I am guessing that those translations are somehow built in to the gnome-control-center binary.

See https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/panels/datetime/po-timezones/README

I think the existence of panels/datetime/po-timezones/meson.build is wrong and that file should be removed. When it's removed, we'll no longer have the broken gettext domain meson target.

Bionic
======
Once we fix this bug, I think we should rebuild all the meson apps in main so that the .desktop files will be translatable. We should be able to drop all of our manual dh_translations overrides at the same time (although I believe they are harmless). These rebuilds can be done as SRUs as this isn't an urgent issue because the .desktop files should already be translated by GNOME for popular languages.

Final Note
==========
Gunnar, I apologize for all the time you spent on this bug. I think there is no known reason we would need to specify the gettext domain for either autotools or meson (once we handle gnome-control-center).

Appendix
=========
$ ninja -C obj-x86_64-linux-gnu/ gnome-control-center-2.0-timezones-pot
ninja: Entering directory `obj-x86_64-linux-gnu/'
[0/1] Running external command gnome-control-center-2.0-timezones-pot.
Could not find file POTFILES in gnome-control-center/panels/datetime/po-timezones
FAILED: meson-gnome-control-center-2.0-timezones-pot
/usr/bin/python3 /usr/bin/meson --internal commandrunner gnome-control-center gnome-control-center/obj-x86_64-linux-gnu panels/datetime/po-timezones /usr/bin/python3 /usr/bin/meson /usr/bin/python3 /usr/bin/meson --internal gettext pot --pkgname=gnome-control-center-2.0-timezones --extra-args=--keyword=N_@@--flag=NC_:2:pass-c-format@@--from-code=UTF-8@@--flag=g_error_new:3:c-format@@--flag=g_set_error:4:c-format@@--flag=g_string_append_printf:2:c-format@@--keyword=g_dpgettext2:2c,3@@--keyword=g_dngettext:2,3@@--flag=N_:1:pass-c-format@@--flag=g_dngettext:2:pass-c-format@@--keyword=C_:1c,2@@--add-comments@@--keyword=_@@--flag=g_strdup_printf:1:c-format@@--flag=C_:2:pass-c-format@@--keyword=g_dcgettext:2@@--flag=g_string_printf:2:c-format@@--keyword=NC_:1c,2
ninja: build stopped: subcommand failed.