gparted/po
Mike Fleetwood ddd32e838c Migrate build from intltool to gettext translation (!107)
[0] GNOME Goal: Gettext Migration
    https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration

This goal from 2016 is to migrate away from using intltool to help
translate especially GNOME application related files, and instead use
gettext directly now that gettext can handle a lot more file formats
[1][2][3].

The GNOME Goal: Gettext Migration [0] says:
    "With gettext 0.19.8, there is really no need anymore to use
    intltool or GLib's dated gettext glue (AM_GLIB_GNU_GETTEXT and
    glib-gettextize)."

This version or later of gettext is available in the oldest supported
distributions except for SLES 12:
    Distribution       EOL        gettext -V
    Debian 10          2022-Aug   0.19.8.1
    RHEL / CentOS 7    2024-Jun   0.19.8.1
    Ubuntu 18.04 LTS   2023-Apr   0.19.8.1
    SLES 12 SP5        2024-Oct   0.19.2 [4][5]
As SLES 12 SP5 doesn't contain GParted and SLES 15 contains GParted
0.31.0 [6] loosing the ability to compile future GParted 1.5 release on
SLES 12 SP5 is acceptable.

Additionally the use of intltool and the associated GLib provided macro
AM_GLIB_GNU_GETTEXT was the source of the remaining warnings from
autoconf 2.71 seen in Fedora 36 and Ubuntu 22.04 LTS about the use of
obsolete macros:
    $ ./autogen.sh
    ...
    autoreconf: running: /usr/bin/autoconf --force
    configure.ac:59: warning: The macro `GLIB_GNU_GETTEXT' is obsolete.
    configure.ac:59: You should run autoupdate.
    aclocal.m4:426: GLIB_GNU_GETTEXT is expanded from...
>>  aclocal.m4:526: AM_GLIB_GNU_GETTEXT is expanded from...
>>  configure.ac:59: the top level
    configure.ac:59: warning: The macro `AC_TRY_LINK' is obsolete.
    configure.ac:59: You should run autoupdate.
    ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
    lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
    lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
    ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
    ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
    aclocal.m4:111: GLIB_LC_MESSAGES is expanded from...
    aclocal.m4:426: GLIB_GNU_GETTEXT is expanded from...
>>  aclocal.m4:526: AM_GLIB_GNU_GETTEXT is expanded from...
>>  configure.ac:59: the top level
    configure.ac:59: warning: The macro `AC_TRY_LINK' is obsolete.
    configure.ac:59: You should run autoupdate.
    ...

Note that use of AM_GLIB_GNU_GETTEXT was deprecated in GLib 2.47.5
released 2016-01-18 [7].  Newer versions of GLib are included in the
oldest supported distributions:

    Distro             Package containing   Version
                       glib-gettext.m4
    Debian 10          libglib2.0-dev-bin   2.58.3
    RHEL / CentOS 7    glib2-devel          2.56.1
    Ubuntu 18.04 LTS   libglib2.0-dev-bin   2.56.4
    SLES 12 SP5        glib2-devel          2.48.2

Therefore perform the migration described in the GNOME wiki documents
[0][1].  This involves:
1. Replacing the macros used in configure.ac;
2. Copying Makevars.template to po/Makevars and setting
   PO_DEPENDS_ON_POT and DIST_DEPENDS_ON_UPDATE_PO to "no";
3. Replace @INTLTOOL_*@ macros in Makefile.am with rules to use gettext
   to directly translate the relevent GNOME application files;
4. Removing (_) underscore marking translation prefixes from XML tags in
   GNOME application files as gettext understands which tags of which
   files need translating.
For reference are these commits in projects GNOME-System-Monitor [8],
Reversi [9] and Evince [10] making the same transition.

At this point "./autogen.sh && make" succeeds, at least on Ubuntu which
provides the instructions gettext needs to correctly translate .policy
files by default.  These:
    /usr/share/gettext/its/polkit.its
    /usr/share/gettext/its/polkit.loc
are included in the base policykit-1 package.

[1]  Migrating from Intltool to Gettext
     https://wiki.gnome.org/MigratingFromIntltoolToGettext
[2]  Using Modern Gettext
     https://blogs.gnome.org/mclasen/2016/07/21/using-modern-gettext/
[3]  On the killing of intltool
     https://blogs.gnome.org/mcatanzaro/2016/07/27/on-the-killing-of-intltool/
[4]  SUSE package search, SLES 12 SP5, gettext
     https://scc.suse.com/packages?name=SUSE%20Linux%20Enterprise%20Server&version=12.5&arch=x86_64&query=gettext&module=
[5]  SUSE Long Term Service Pack Support
     https://links.imagerelay.com/cdn/3404/ql/f3a083e9bcd34c76addd096d7f60ec00/long_term_service_pack_support_flyer.pdf
[6]  SUSE package search, SLES 15, gparted
     https://scc.suse.com/packages?name=SUSE%20Linux%20Enterprise%20Server&version=15&arch=x86_64&query=gparted&module=
[7]  Deprecate GLIB_GNU_GETTEXT macro, use upstream gettext instead
     6b577196ee
[8]  [GNOME-System-Monitor] Migrate from intltool
     9185b9c713
[9]  [Reversi] Gettext migration (bgo#793040)
     d22f560ac8
[10] [Evince] build: Migrate from Intltool to Gettext
     4fd6821324

Closes !107 - Migrate from intltool to gettext translation
2022-11-12 16:44:55 +00:00
..
ChangeLog Add note that ChangeLogs are no longer used 2009-04-19 15:19:15 -06:00
LINGUAS Add Georgian translation 2022-05-11 17:20:38 +00:00
Makevars Migrate build from intltool to gettext translation (!107) 2022-11-12 16:44:55 +00:00
POTFILES.in Report busy status of bcache (#183) 2022-03-01 16:58:46 +00:00
POTFILES.skip Add required polkit action file (#776437) 2017-09-01 10:14:20 -06:00
ar.po Update Arabic translation 2018-08-21 23:53:43 +00:00
be.po Update Belarusian translation 2020-11-28 14:30:22 +00:00
bg.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
br.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
bs.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
ca.po Update Catalan translation 2022-06-24 09:30:40 +02:00
ca@valencia.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
cs.po Updated Czech translation 2021-09-05 07:49:27 +02:00
da.po Update Danish translation 2022-09-20 17:12:00 +00:00
de.po Update German translation 2022-06-24 14:44:08 +00:00
dz.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
el.po Update Greek translation 2018-09-04 22:57:14 +00:00
en_CA.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
en_GB.po Update British English translation 2020-01-12 21:10:09 +00:00
eo.po Update Esperanto translation 2019-01-20 12:04:43 +00:00
es.po Updated Spanish translation 2021-07-13 09:03:32 +02:00
et.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
eu.po Update Basque translation 2022-03-10 07:11:14 +00:00
fa.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
fi.po Update Finnish translation 2021-05-01 12:08:31 +00:00
fr.po Update French translation 2022-09-17 08:20:07 +00:00
fur.po Update Friulian translation 2021-08-07 17:20:14 +00:00
gd.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
gl.po Update Galician translation 2021-04-26 13:17:51 +00:00
gu.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
he.po Update Hebrew translation 2022-09-11 04:48:31 +00:00
hr.po Update Croatian translation 2022-08-13 16:29:09 +00:00
hu.po Update Hungarian translation 2022-08-29 23:17:14 +00:00
id.po Update Indonesian translation 2022-09-14 08:50:19 +00:00
is.po Update Icelandic translation 2020-01-10 18:25:40 +00:00
it.po Update Italian translation 2022-03-16 16:20:33 +00:00
ja.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
ka.po Add Georgian translation 2022-05-11 17:20:38 +00:00
kk.po Update Kazakh translation 2021-07-12 16:50:36 +00:00
ko.po Update Korean translation 2021-09-04 15:06:20 +00:00
lt.po Updated Lithuanian translation 2021-09-06 14:02:57 +03:00
lv.po Update Latvian translation 2022-03-27 18:24:08 +00:00
mk.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
ml.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
nb.po Update Norwegian Bokmål translation 2022-03-23 14:38:39 +00:00
ne.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
nl.po Update Dutch translation 2022-06-03 09:18:30 +00:00
nn.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
oc.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
pa.po Update Punjabi translation 2022-03-17 14:53:37 +00:00
pl.po Update Polish translation 2022-06-05 14:16:59 +02:00
pt.po Update Portuguese translation 2022-06-23 22:03:32 +00:00
pt_BR.po Update Brazilian Portuguese translation 2022-06-27 15:46:00 +00:00
ro.po Update Romanian translation 2021-07-13 16:19:08 +00:00
ru.po Update Russian translation 2022-06-13 13:25:17 +00:00
rw.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
si.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
sk.po Update Slovak translation 2022-10-09 19:01:37 +00:00
sl.po Update Slovenian translation 2022-09-22 20:45:39 +00:00
sr.po Update Serbian translation 2022-06-12 20:56:38 +00:00
sr@latin.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
sv.po Update Swedish translation 2022-09-13 17:58:57 +00:00
te.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
th.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
tr.po Update Turkish translation 2022-09-08 04:50:47 +00:00
uk.po Update Ukrainian translation 2022-06-01 13:13:13 +00:00
vi.po Update Vietnamese translation 2021-07-14 01:33:20 +00:00
zh_CN.po Update Chinese (China) translation 2022-02-05 15:27:34 +00:00
zh_HK.po Update bug links in the UI translation files too (!11) 2018-08-24 11:32:00 +01:00
zh_TW.po Update Chinese (Taiwan) translation 2020-05-24 17:33:58 +00:00