[PATCH v2] i18n: deprecate intltool and use only gettext (+itstool)

philip.chimento at gmail.com philip.chimento at gmail.com
Tue Aug 29 03:21:00 UTC 2017


Hi,

This is a great test of the migration instructions in that wiki page. If
you found any discrepancies don't hesitate to edit the page.

I wonder if you have the same patch on a Github branch or Bugzilla or
somewhere else with a code review UI? That would be easier for me to get an
overview of the changes and make comments inline.

I do think you should go ahead and require itstool at build time.

Additionally, you could check if you can assume a recent enough version of
gettext that you could do without itstool and just use Gettext's built-in
support for ITS rules:
https://www.gnu.org/software/gettext/manual/html_node/Preparing-ITS-Rules.html#Preparing-ITS-Rules

Regards,
Philip

On Mon, Aug 28, 2017 at 4:54 AM Aleksander Morgado <aleksander at aleksander.es>
wrote:

> Instead of mixing both intltool and gettext, which not always work
> correctly together, this patch obsoletes intltool and uses only
> gettext (plus itstool for the translation of policy XML files using
> ITS rules, as intltool already did).
>
> See migration steps for GNOME projects here:
>   https://wiki.gnome.org/MigratingFromIntltoolToGettext
>
> Worth noting that this patch includes under version control the two
> files that are generated by itstool, so that it isn't a build
> dependency for the usual case of non-maintainer builds from git
> checkouts. These two files may be explicitly rebuilt automatically
> after a 'maintainer-clean' operation.
>
> Also, instead of relying on autotools to generate the policy file with
> the correct MM_DEFAULT_USER_POLICY substitution (based on the polkit
> policy type requested), we now do this ourselves after translations
> have been included in the XML file.
> ---
>
> Hey,
>
> This v2 patch fixes the generation of the policy.pot file after a "make
> maintainer-clean".
>
> Also flagged as non-translatable several of the strings in the policy
> file, like e.g. the "auth_self_keep" rules or "ModemManager".
>
> ---
>  .gitignore                                      |   3 +-
>  Makefile.am                                     |  16 +---
>  autogen.sh                                      |   3 +-
>  configure.ac                                    |   8 +-
>  data/Makefile.am                                |  32 +++++--
>  data/org.freedesktop.ModemManager1.policy.in    | 112
> ++++++++++++++++++++++++
>  data/org.freedesktop.ModemManager1.policy.in.in |  45 +++++-----
>  data/org.freedesktop.ModemManager1.policy.pot   |  91 +++++++++++++++++++
>  po/Makevars                                     |  78 +++++++++++++++++
>  po/POTFILES.in                                  |   2 +-
>  po/de.po                                        |  80 +++++++++++++----
>  po/uk.po                                        |  80 +++++++++++++----
>  12 files changed, 465 insertions(+), 85 deletions(-)
>  create mode 100644 data/org.freedesktop.ModemManager1.policy.in
>  create mode 100644 data/org.freedesktop.ModemManager1.policy.pot
>  create mode 100644 po/Makevars
>
> diff --git a/.gitignore b/.gitignore
> index 685ff84f..320b01cf 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -74,7 +74,6 @@ Makefile.in
>  /data/org.freedesktop.ModemManager1.conf
>  /data/org.freedesktop.ModemManager1.service
>  /data/org.freedesktop.ModemManager1.policy
> -/data/org.freedesktop.ModemManager1.policy.in
>  /data/ModemManager.service
>  /data/ModemManager.pc
>  /data/mm-common.pc
> @@ -94,6 +93,8 @@ Makefile.in
>  /po/insert-header.sin
>  /po/quot.sed
>  /po/remove-potcdate.sin
> +/po/remove-potcdate.sed
> +/po/stamp-po
>  /po/*.gmo
>
>  /docs/reference/api/version.xml
> diff --git a/Makefile.am b/Makefile.am
> index e0c14b02..a85e4154 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -2,6 +2,7 @@
>  SUBDIRS = \
>         . \
>         build-aux \
> +       po \
>         data \
>         include \
>         libqcdm \
> @@ -13,7 +14,6 @@ SUBDIRS = \
>         vapi \
>         introspection \
>         uml290 \
> -       po \
>         test \
>         examples \
>         docs \
> @@ -25,21 +25,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
>         --enable-gtk-doc=yes \
>         $(NULL)
>
> -INTLTOOL_FILES = \
> -       intltool-extract.in \
> -       intltool-merge.in \
> -       intltool-update.in \
> -       $(NULL)
> -
> -DISTCLEANFILES = \
> -       intltool-extract \
> -       intltool-merge \
> -       intltool-update \
> -       po/.intltool-merge-cache \
> -       $(NULL)
> -
>  EXTRA_DIST = \
> -       $(INTLTOOL_FILES) \
>         autogen.sh \
>         gtester.make \
>         COPYING.LIB \
> diff --git a/autogen.sh b/autogen.sh
> index 230a7218..a3ff2db0 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -15,8 +15,7 @@ PKG_NAME=ModemManager
>
>  (cd $srcdir;
>      gtkdocize || exit 1
> -    autopoint --force
> -    AUTOPOINT='intltoolize --automake --copy' autoreconf --force
> --install --verbose
> +    autoreconf --force --install --verbose
>  )
>
>  if test -z "$NOCONFIGURE"; then
> diff --git a/configure.ac b/configure.ac
> index fa46b4f5..d7085f50 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -82,10 +82,11 @@
> dnl-----------------------------------------------------------------------------
>  dnl i18n
>  dnl
>
> -IT_PROG_INTLTOOL([0.40.0])
> -
>  AM_GNU_GETTEXT([external])
> -AM_GNU_GETTEXT_VERSION([0.19.3])
> +AM_GNU_GETTEXT_VERSION([0.19.7])
> +
> +dnl don't fail if itstool not found
> +AC_PATH_PROG([ITSTOOL], [itstool], [notfound])
>
>  GETTEXT_PACKAGE=ModemManager
>  AC_SUBST(GETTEXT_PACKAGE)
> @@ -389,7 +390,6 @@ Makefile
>  data/Makefile
>  data/ModemManager.pc
>  data/mm-glib.pc
> -data/org.freedesktop.ModemManager1.policy.in
>  data/tests/Makefile
>  data/tests/org.freedesktop.ModemManager1.service
>  include/Makefile
> diff --git a/data/Makefile.am b/data/Makefile.am
> index 168895d9..49a777b9 100644
> --- a/data/Makefile.am
> +++ b/data/Makefile.am
> @@ -61,13 +61,32 @@ diagrams = \
>
>
>  # Polkit
> -polkit_policy_in_in_files = org.freedesktop.ModemManager1.policy.in.in
> +
> +org.freedesktop.ModemManager1.policy.pot:
> org.freedesktop.ModemManager1.policy.in.in
> +       $(AM_V_GEN) $(ITSTOOL) -o $@.tmp $< && mv $@.tmp $@
> +
> +org.freedesktop.ModemManager1.policy.in:
> org.freedesktop.ModemManager1.policy.in.in
> +       $(AM_V_GEN) $(ITSTOOL) -j $< -o $@ $(top_srcdir)/po/*.gmo
> +
>  if WITH_POLKIT
> +org.freedesktop.ModemManager1.policy:
> org.freedesktop.ModemManager1.policy.in
> +       $(AM_V_GEN) sed -e
> s, at MM_DEFAULT_USER_POLICY\@,$(MM_DEFAULT_USER_POLICY), $< > $@.tmp && mv
> $@.tmp $@
>  polkit_policydir = $(datadir)/polkit-1/actions
> -polkit_policy_DATA = $(polkit_policy_in_in_files:.policy.in.in=.policy)
> - at INTLTOOL_POLICY_RULE@
> +polkit_policy_DATA = org.freedesktop.ModemManager1.policy
>  endif
>
> +# distribute the .pot and .in files as well, so that itstool isn't
> +# required when building from tarball
> +dist_noinst_DATA = \
> +       org.freedesktop.ModemManager1.policy.in.in \
> +       org.freedesktop.ModemManager1.policy.in \
> +       org.freedesktop.ModemManager1.policy.pot \
> +       $(NULL)
> +
> +MAINTAINERCLEANFILES = \
> +       org.freedesktop.ModemManager1.policy.in \
> +       org.freedesktop.ModemManager1.policy.pot \
> +       $(NULL)
>
>  # Set up pkg-config .pc files for exported libraries
>  pkgconfigdir = $(libdir)/pkgconfig
> @@ -75,23 +94,20 @@ pkgconfig_DATA = \
>         ModemManager.pc \
>         mm-glib.pc
>
> -
>  DISTCLEANFILES = \
> +       org.freedesktop.ModemManager1.policy \
>         $(dbusactivation_DATA) \
> -       $(dbusservice_DATA) \
> -       $(polkit_policy_DATA)
> +       $(dbusservice_DATA)
>
>  if HAVE_SYSTEMD
>  DISTCLEANFILES += $(systemdsystemunit_DATA)
>  endif
>
> -
>  EXTRA_DIST = \
>         $(systemdsystemunit_in_files) \
>         $(dbusactivation_in_files) \
>         $(dbusservice_file_polkit) \
>         $(dbusservice_file_nopolkit) \
>         $(icon_DATA) \
> -       $(polkit_policy_in_in_files) \
>         $(logos) \
>         $(diagrams)
> diff --git a/data/org.freedesktop.ModemManager1.policy.in b/data/
> org.freedesktop.ModemManager1.policy.in
> new file mode 100644
> index 00000000..bf1036b1
> --- /dev/null
> +++ b/data/org.freedesktop.ModemManager1.policy.in
> @@ -0,0 +1,112 @@
> +<?xml version="1.0" encoding="utf-8"?>
> +<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy
> Configuration 1.0//EN" "
> http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
> +<policyconfig xmlns:its="http://www.w3.org/2005/11/its"
> its:version="1.0">
> +
> +  <vendor its:translate="no">ModemManager</vendor>
> +  <vendor_url its:translate="no">
> http://www.freedesktop.org/wiki/ModemManager</vendor_url>
> +  <icon_name its:translate="no">ModemManager</icon_name>
> +
> +  <its:rules version="1.0">
> +    <its:translateRule selector="//action/defaults/allow_inactive"
> translate="no"/>
> +    <its:translateRule selector="//action/defaults/allow_active"
> translate="no"/>
> +  </its:rules>
> +
> +  <action id="org.freedesktop.ModemManager1.Control">
> +    <description>Control the Modem Manager daemon</description>
> +    <description xml:lang="de">Den Modem-Manager-Daemon
> steuern</description>
> +    <description xml:lang="uk">Керування фоновою службою Modem
> Manager</description>
> +    <message>System policy prevents controlling the Modem
> Manager.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern die Steuerung
> von ModemManager.</message>
> +    <message xml:lang="uk">Правила системи перешкоджають керування Modem
> Manager.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>auth_admin</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Device.Control">
> +    <description>Unlock and control a mobile broadband
> device</description>
> +    <description xml:lang="de">Ein mobiles Breitbandgerät entsperren und
> steuern</description>
> +    <description xml:lang="uk">Розблокувати пристрій мобільної
> широкосмугової мережі і керувати ним</description>
> +    <message>System policy prevents unlocking or controlling the mobile
> broadband device.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern das
> Entsperren oder Steuern des mobilen Breitbandgerätes.</message>
> +    <message xml:lang="uk">Правила системи забороняють розблокування і
> керування пристроями широкосмугових мобільних мереж.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Contacts">
> +    <description>Add, modify, and delete mobile broadband
> contacts</description>
> +    <description xml:lang="de">Kontakte für mobiles Breitband hinzufügen,
> ändern und löschen</description>
> +    <description xml:lang="uk">Додати, внести зміни і вилучити контакти
> пристрою мобільних широкосмугових мереж</description>
> +    <message>System policy prevents adding, modifying, or deleting this
> device's contacts.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern das
> Hinzufügen, Ändern oder Löschen der Kontakte dieses Gerätes.</message>
> +    <message xml:lang="uk">Правила системи перешкоджають додаванню,
> внесенню змін та вилученню записів контактів на цьому пристрої.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Messaging">
> +    <description>Send, save, modify, and delete text
> messages</description>
> +    <description xml:lang="de">Textnachrichten senden, speichern,
> bearbeiten und löschen</description>
> +    <description xml:lang="uk">Надіслати, зберегти, внести зміни або
> вилучити текстові повідомлення</description>
> +    <message>System policy prevents sending or manipulating this device's
> text messages.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Voice">
> +    <description>Accept incoming voice calls or start outgoing voice
> calls.</description>
> +    <message>System policy prevents voice calls.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Location">
> +    <description>Enable and view geographic location and positioning
> information</description>
> +    <description xml:lang="de">Informationen zum geografischen Standort
> und Positionierung aktivieren und anzeigen</description>
> +    <description xml:lang="uk">Увімкнути або переглянути дані щодо
> географічного розташування і позиціювання</description>
> +    <message>System policy prevents enabling or viewing geographic
> location information.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern das
> Aktivieren oder Ändern der Informationen zum geografischen
> Standort.</message>
> +    <message xml:lang="uk">Правила системи забороняють вмикання або
> перегляд даних щодо розташування.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.USSD">
> +    <description>Query and utilize network information and
> services</description>
> +    <description xml:lang="de">Netzwerkinformationen und -dienste
> abfragen und nutzen</description>
> +    <description xml:lang="uk">Надіслати запит і використати дані щодо
> мережі і служби</description>
> +    <message>System policy prevents querying or utilizing network
> information and services.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern die Abfrage
> der Netzwerkinformationen und -dienste.</message>
> +    <message xml:lang="uk">Правила системи забороняють надсилання запитів
> і використання даних щодо мережі і служб.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>yes</allow_active>
> +    </defaults>
> +  </action>
> +
> +  <action id="org.freedesktop.ModemManager1.Firmware">
> +    <description>Query and manage firmware on a mobile broadband
> device</description>
> +    <description xml:lang="de">Firmware auf mobilen Breitbandgeräten
> abfragen und verwalten</description>
> +    <description xml:lang="uk">Опитування та керування мікропрограмою на
> пристрої мобільної широкосмугової мережі</description>
> +    <message>System policy prevents querying or managing this device's
> firmware.</message>
> +    <message xml:lang="de">Die Systemrichtlinien verhindern die Abfrage
> oder Verwaltung der Firmware dieses Gerätes.</message>
> +    <message xml:lang="uk">Правила системи перешкоджають опитуванню або
> керування мікропрограмою цього пристрою.</message>
> +    <defaults>
> +      <allow_inactive>no</allow_inactive>
> +      <allow_active>auth_admin</allow_active>
> +    </defaults>
> +  </action>
> +
> +</policyconfig>
> diff --git a/data/org.freedesktop.ModemManager1.policy.in.in b/data/
> org.freedesktop.ModemManager1.policy.in.in
> index bb60192b..d7689938 100644
> --- a/data/org.freedesktop.ModemManager1.policy.in.in
> +++ b/data/org.freedesktop.ModemManager1.policy.in.in
> @@ -3,15 +3,20 @@
>   "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
>   "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
>
> -<policyconfig>
> +<policyconfig xmlns:its="http://www.w3.org/2005/11/its"
> its:version="1.0">
>
> -  <vendor>ModemManager</vendor>
> -  <vendor_url>http://www.freedesktop.org/wiki/ModemManager</vendor_url>
> -  <icon_name>ModemManager</icon_name>
> +  <vendor its:translate="no">ModemManager</vendor>
> +  <vendor_url its:translate="no">
> http://www.freedesktop.org/wiki/ModemManager</vendor_url>
> +  <icon_name its:translate="no">ModemManager</icon_name>
> +
> +  <its:rules version="1.0">
> +    <its:translateRule selector="//action/defaults/allow_inactive"
> translate="no"/>
> +    <its:translateRule selector="//action/defaults/allow_active"
> translate="no"/>
> +  </its:rules>
>
>    <action id="org.freedesktop.ModemManager1.Control">
> -    <_description>Control the Modem Manager daemon</_description>
> -    <_message>System policy prevents controlling the Modem
> Manager.</_message>
> +    <description>Control the Modem Manager daemon</description>
> +    <message>System policy prevents controlling the Modem
> Manager.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>auth_admin</allow_active>
> @@ -19,8 +24,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Device.Control">
> -    <_description>Unlock and control a mobile broadband
> device</_description>
> -    <_message>System policy prevents unlocking or controlling the mobile
> broadband device.</_message>
> +    <description>Unlock and control a mobile broadband
> device</description>
> +    <message>System policy prevents unlocking or controlling the mobile
> broadband device.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> @@ -28,8 +33,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Contacts">
> -    <_description>Add, modify, and delete mobile broadband
> contacts</_description>
> -    <_message>System policy prevents adding, modifying, or deleting this
> device's contacts.</_message>
> +    <description>Add, modify, and delete mobile broadband
> contacts</description>
> +    <message>System policy prevents adding, modifying, or deleting this
> device's contacts.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> @@ -37,8 +42,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Messaging">
> -    <_description>Send, save, modify, and delete text
> messages</_description>
> -    <_message>System policy prevents sending or manipulating this
> device's text messages.</_message>
> +    <description>Send, save, modify, and delete text
> messages</description>
> +    <message>System policy prevents sending or manipulating this device's
> text messages.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> @@ -46,8 +51,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Voice">
> -    <_description>Accept incoming voice calls or start outgoing voice
> calls.</_description>
> -    <_message>System policy prevents voice calls.</_message>
> +    <description>Accept incoming voice calls or start outgoing voice
> calls.</description>
> +    <message>System policy prevents voice calls.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> @@ -55,8 +60,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Location">
> -    <_description>Enable and view geographic location and positioning
> information</_description>
> -    <_message>System policy prevents enabling or viewing geographic
> location information.</_message>
> +    <description>Enable and view geographic location and positioning
> information</description>
> +    <message>System policy prevents enabling or viewing geographic
> location information.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
> @@ -64,8 +69,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.USSD">
> -    <_description>Query and utilize network information and
> services</_description>
> -    <_message>System policy prevents querying or utilizing network
> information and services.</_message>
> +    <description>Query and utilize network information and
> services</description>
> +    <message>System policy prevents querying or utilizing network
> information and services.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>yes</allow_active>
> @@ -73,8 +78,8 @@
>    </action>
>
>    <action id="org.freedesktop.ModemManager1.Firmware">
> -    <_description>Query and manage firmware on a mobile broadband
> device</_description>
> -    <_message>System policy prevents querying or managing this device's
> firmware.</_message>
> +    <description>Query and manage firmware on a mobile broadband
> device</description>
> +    <message>System policy prevents querying or managing this device's
> firmware.</message>
>      <defaults>
>        <allow_inactive>no</allow_inactive>
>        <allow_active>auth_admin</allow_active>
> diff --git a/data/org.freedesktop.ModemManager1.policy.pot
> b/data/org.freedesktop.ModemManager1.policy.pot
> new file mode 100644
> index 00000000..47768dbc
> --- /dev/null
> +++ b/data/org.freedesktop.ModemManager1.policy.pot
> @@ -0,0 +1,91 @@
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: PACKAGE VERSION\n"
> +"POT-Creation-Date: 2017-08-28 13:47+0200\n"
> +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> +"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
> +"Language-Team: LANGUAGE <LL at li.org>\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:18
> +msgid "Control the Modem Manager daemon"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:19
> +msgid "System policy prevents controlling the Modem Manager."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:27
> +msgid "Unlock and control a mobile broadband device"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:28
> +msgid "System policy prevents unlocking or controlling the mobile
> broadband device."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:36
> +msgid "Add, modify, and delete mobile broadband contacts"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:37
> +msgid "System policy prevents adding, modifying, or deleting this
> device's contacts."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:45
> +msgid "Send, save, modify, and delete text messages"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:46
> +msgid "System policy prevents sending or manipulating this device's text
> messages."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:54
> +msgid "Accept incoming voice calls or start outgoing voice calls."
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:55
> +msgid "System policy prevents voice calls."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:63
> +msgid "Enable and view geographic location and positioning information"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:64
> +msgid "System policy prevents enabling or viewing geographic location
> information."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:72
> +msgid "Query and utilize network information and services"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:73
> +msgid "System policy prevents querying or utilizing network information
> and services."
> +msgstr ""
> +
> +#. (itstool) path: action/description
> +#: org.freedesktop.ModemManager1.policy.in.in:81
> +msgid "Query and manage firmware on a mobile broadband device"
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: org.freedesktop.ModemManager1.policy.in.in:82
> +msgid "System policy prevents querying or managing this device's
> firmware."
> +msgstr ""
> +
> diff --git a/po/Makevars b/po/Makevars
> new file mode 100644
> index 00000000..109c8760
> --- /dev/null
> +++ b/po/Makevars
> @@ -0,0 +1,78 @@
> +# Makefile variables for PO directory in any package using GNU gettext.
> +
> +# Usually the message domain is the same as the package name.
> +DOMAIN = $(PACKAGE)
> +
> +# These two variables depend on the location of this directory.
> +subdir = po
> +top_builddir = ..
> +
> +# These options get passed to xgettext.
> +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_
> --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3
> +
> +# This is the copyright holder that gets inserted into the header of the
> +# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
> +# package.  (Note that the msgstr strings, extracted from the package's
> +# sources, belong to the copyright holder of the package.)  Translators
> are
> +# expected to transfer the copyright for their translations to this person
> +# or entity, or to disclaim their copyright.  The empty string stands for
> +# the public domain; in this case the translators are expected to disclaim
> +# their copyright.
> +COPYRIGHT_HOLDER = The ModemManager developers.
> +
> +# This tells whether or not to prepend "GNU " prefix to the package
> +# name that gets inserted into the header of the $(DOMAIN).pot file.
> +# Possible values are "yes", "no", or empty.  If it is empty, try to
> +# detect it automatically by scanning the files in $(top_srcdir) for
> +# "GNU packagename" string.
> +PACKAGE_GNU = no
> +
> +# This is the email address or URL to which the translators shall report
> +# bugs in the untranslated strings:
> +# - Strings which are not entire sentences, see the maintainer guidelines
> +#   in the GNU gettext documentation, section 'Preparing Strings'.
> +# - Strings which use unclear terms or require additional context to be
> +#   understood.
> +# - Strings which make invalid assumptions about notation of date, time or
> +#   money.
> +# - Pluralisation problems.
> +# - Incorrect English spelling.
> +# - Incorrect formatting.
> +# It can be your email address, or a mailing list address where
> translators
> +# can write to without being subscribed, or the URL of a web page through
> +# which the translators can contact you.
> +MSGID_BUGS_ADDRESS = modemmanager-devel at lists.freedesktop.org
> +
> +# This is the list of locale categories, beyond LC_MESSAGES, for which the
> +# message catalogs shall be used.  It is usually empty.
> +EXTRA_LOCALE_CATEGORIES =
> +
> +# This tells whether the $(DOMAIN).pot file contains messages with an
> 'msgctxt'
> +# context.  Possible values are "yes" and "no".  Set this to yes if the
> +# package uses functions taking also a message context, like pgettext(),
> or
> +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
> +USE_MSGCTXT = no
> +
> +# These options get passed to msgmerge.
> +# Useful options are in particular:
> +#   --previous            to keep previous msgids of translated messages,
> +#   --quiet               to reduce the verbosity.
> +MSGMERGE_OPTIONS =
> +
> +# These options get passed to msginit.
> +# If you want to disable line wrapping when writing PO files, add
> +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
> +# MSGINIT_OPTIONS.
> +MSGINIT_OPTIONS =
> +
> +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
> +# has changed.  Possible values are "yes" and "no".  Set this to no if
> +# the POT file is checked in the repository and the version control
> +# program ignores timestamps.
> +PO_DEPENDS_ON_POT = yes
> +
> +# This tells whether or not to forcibly update $(DOMAIN).pot and
> +# regenerate PO files on "make dist".  Possible values are "yes" and
> +# "no".  Set this to no if the POT file and PO files are maintained
> +# externally.
> +DIST_DEPENDS_ON_UPDATE_PO = yes
> diff --git a/po/POTFILES.in b/po/POTFILES.in
> index 330da0fa..11602895 100644
> --- a/po/POTFILES.in
> +++ b/po/POTFILES.in
> @@ -1,5 +1,5 @@
> -[encoding: UTF-8]
>  # List of source files containing translatable strings.
>  # Please keep this file sorted alphabetically.
>  data/org.freedesktop.ModemManager1.policy.in.in
> +data/org.freedesktop.ModemManager1.policy.pot
>  src/mm-sleep-monitor.c
> diff --git a/po/de.po b/po/de.po
> index d11e4fe5..33f3b445 100644
> --- a/po/de.po
> +++ b/po/de.po
> @@ -7,8 +7,8 @@
>  msgid ""
>  msgstr ""
>  "Project-Id-Version: ModemManager\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2014-01-06 21:12+0100\n"
> +"Report-Msgid-Bugs-To: modemmanager-devel at lists.freedesktop.org\n"
> +"POT-Creation-Date: 2017-08-28 13:49+0200\n"
>  "PO-Revision-Date: 2014-01-06 21:23+0100\n"
>  "Last-Translator: Mario Blättermann <mario.blaettermann at gmail.com>\n"
>  "Language-Team: German <debian-l10n-german at lists.debian.org>\n"
> @@ -18,65 +18,103 @@ msgstr ""
>  "Content-Transfer-Encoding: 8bit\n"
>  "X-Generator: Poedit 1.5.4\n"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:1
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:18
> +#: org.freedesktop.ModemManager1.policy.in.in:18
>  msgid "Control the Modem Manager daemon"
>  msgstr "Den Modem-Manager-Daemon steuern"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:2
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:19
> +#: org.freedesktop.ModemManager1.policy.in.in:19
>  msgid "System policy prevents controlling the Modem Manager."
>  msgstr "Die Systemrichtlinien verhindern die Steuerung von ModemManager."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:3
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:27
> +#: org.freedesktop.ModemManager1.policy.in.in:27
>  msgid "Unlock and control a mobile broadband device"
>  msgstr "Ein mobiles Breitbandgerät entsperren und steuern"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:4
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:28
> +#: org.freedesktop.ModemManager1.policy.in.in:28
>  msgid ""
>  "System policy prevents unlocking or controlling the mobile broadband
> device."
>  msgstr ""
>  "Die Systemrichtlinien verhindern das Entsperren oder Steuern des mobilen
> "
>  "Breitbandgerätes."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:5
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:36
> +#: org.freedesktop.ModemManager1.policy.in.in:36
>  msgid "Add, modify, and delete mobile broadband contacts"
>  msgstr "Kontakte für mobiles Breitband hinzufügen, ändern und löschen"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:6
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:37
> +#: org.freedesktop.ModemManager1.policy.in.in:37
>  msgid ""
>  "System policy prevents adding, modifying, or deleting this device's
> contacts."
>  msgstr ""
>  "Die Systemrichtlinien verhindern das Hinzufügen, Ändern oder Löschen der
> "
>  "Kontakte dieses Gerätes."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:7
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:45
> +#: org.freedesktop.ModemManager1.policy.in.in:45
>  msgid "Send, save, modify, and delete text messages"
>  msgstr "Textnachrichten senden, speichern, bearbeiten und löschen"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:8
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:46
> +#: org.freedesktop.ModemManager1.policy.in.in:46
> +#, fuzzy
>  msgid ""
> -"System policy prevents sending or maniuplating this device's text
> messages."
> +"System policy prevents sending or manipulating this device's text
> messages."
>  msgstr ""
>  "Die Systemrichtlinien verhindern das Senden oder Bearbeiten der "
>  "Textnachrichten dieses Gerätes."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:9
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:54
> +#: org.freedesktop.ModemManager1.policy.in.in:54
> +msgid "Accept incoming voice calls or start outgoing voice calls."
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:55
> +#: org.freedesktop.ModemManager1.policy.in.in:55
> +#, fuzzy
> +msgid "System policy prevents voice calls."
> +msgstr "Die Systemrichtlinien verhindern die Steuerung von ModemManager."
> +
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:63
> +#: org.freedesktop.ModemManager1.policy.in.in:63
>  msgid "Enable and view geographic location and positioning information"
>  msgstr ""
>  "Informationen zum geografischen Standort und Positionierung aktivieren
> und "
>  "anzeigen"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:10
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:64
> +#: org.freedesktop.ModemManager1.policy.in.in:64
>  msgid ""
>  "System policy prevents enabling or viewing geographic location
> information."
>  msgstr ""
>  "Die Systemrichtlinien verhindern das Aktivieren oder Ändern der "
>  "Informationen zum geografischen Standort."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:11
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:72
> +#: org.freedesktop.ModemManager1.policy.in.in:72
>  msgid "Query and utilize network information and services"
>  msgstr "Netzwerkinformationen und -dienste abfragen und nutzen"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:12
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:73
> +#: org.freedesktop.ModemManager1.policy.in.in:73
>  msgid ""
>  "System policy prevents querying or utilizing network information and "
>  "services."
> @@ -84,12 +122,20 @@ msgstr ""
>  "Die Systemrichtlinien verhindern die Abfrage der Netzwerkinformationen
> und -"
>  "dienste."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:13
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:81
> +#: org.freedesktop.ModemManager1.policy.in.in:81
>  msgid "Query and manage firmware on a mobile broadband device"
>  msgstr "Firmware auf mobilen Breitbandgeräten abfragen und verwalten"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:14
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:82
> +#: org.freedesktop.ModemManager1.policy.in.in:82
>  msgid "System policy prevents querying or managing this device's
> firmware."
>  msgstr ""
>  "Die Systemrichtlinien verhindern die Abfrage oder Verwaltung der
> Firmware "
>  "dieses Gerätes."
> +
> +#: src/mm-sleep-monitor.c:114
> +msgid "ModemManager needs to reset devices"
> +msgstr ""
> diff --git a/po/uk.po b/po/uk.po
> index b4c8c5d8..8a19c512 100644
> --- a/po/uk.po
> +++ b/po/uk.po
> @@ -6,8 +6,8 @@
>  msgid ""
>  msgstr ""
>  "Project-Id-Version: Modem Manager\n"
> -"Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2013-10-19 18:13+0300\n"
> +"Report-Msgid-Bugs-To: modemmanager-devel at lists.freedesktop.org\n"
> +"POT-Creation-Date: 2017-08-28 13:49+0200\n"
>  "PO-Revision-Date: 2013-10-19 18:17+0300\n"
>  "Last-Translator: Yuri Chornoivan <yurchor at ukr.net>\n"
>  "Language-Team: Ukrainian <kde-i18n-uk at kde.org>\n"
> @@ -19,65 +19,103 @@ msgstr ""
>  "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
>  "X-Generator: Lokalize 1.5\n"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:1
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:18
> +#: org.freedesktop.ModemManager1.policy.in.in:18
>  msgid "Control the Modem Manager daemon"
>  msgstr "Керування фоновою службою Modem Manager"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:2
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:19
> +#: org.freedesktop.ModemManager1.policy.in.in:19
>  msgid "System policy prevents controlling the Modem Manager."
>  msgstr "Правила системи перешкоджають керування Modem Manager."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:3
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:27
> +#: org.freedesktop.ModemManager1.policy.in.in:27
>  msgid "Unlock and control a mobile broadband device"
>  msgstr "Розблокувати пристрій мобільної широкосмугової мережі і керувати
> ним"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:4
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:28
> +#: org.freedesktop.ModemManager1.policy.in.in:28
>  msgid ""
>  "System policy prevents unlocking or controlling the mobile broadband
> device."
>  msgstr ""
>  "Правила системи забороняють розблокування і керування пристроями "
>  "широкосмугових мобільних мереж."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:5
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:36
> +#: org.freedesktop.ModemManager1.policy.in.in:36
>  msgid "Add, modify, and delete mobile broadband contacts"
>  msgstr ""
>  "Додати, внести зміни і вилучити контакти пристрою мобільних
> широкосмугових "
>  "мереж"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:6
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:37
> +#: org.freedesktop.ModemManager1.policy.in.in:37
>  msgid ""
>  "System policy prevents adding, modifying, or deleting this device's
> contacts."
>  msgstr ""
>  "Правила системи перешкоджають додаванню, внесенню змін та вилученню
> записів "
>  "контактів на цьому пристрої."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:7
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:45
> +#: org.freedesktop.ModemManager1.policy.in.in:45
>  msgid "Send, save, modify, and delete text messages"
>  msgstr "Надіслати, зберегти, внести зміни або вилучити текстові
> повідомлення"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:8
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:46
> +#: org.freedesktop.ModemManager1.policy.in.in:46
> +#, fuzzy
>  msgid ""
> -"System policy prevents sending or maniuplating this device's text
> messages."
> +"System policy prevents sending or manipulating this device's text
> messages."
>  msgstr ""
>  "Правила системи забороняють надсилання або керування текстовими "
>  "повідомленнями цього пристрою."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:9
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:54
> +#: org.freedesktop.ModemManager1.policy.in.in:54
> +msgid "Accept incoming voice calls or start outgoing voice calls."
> +msgstr ""
> +
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:55
> +#: org.freedesktop.ModemManager1.policy.in.in:55
> +#, fuzzy
> +msgid "System policy prevents voice calls."
> +msgstr "Правила системи перешкоджають керування Modem Manager."
> +
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:63
> +#: org.freedesktop.ModemManager1.policy.in.in:63
>  msgid "Enable and view geographic location and positioning information"
>  msgstr ""
>  "Увімкнути або переглянути дані щодо географічного розташування і
> позиціювання"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:10
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:64
> +#: org.freedesktop.ModemManager1.policy.in.in:64
>  msgid ""
>  "System policy prevents enabling or viewing geographic location
> information."
>  msgstr ""
>  "Правила системи забороняють вмикання або перегляд даних щодо
> розташування."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:11
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:72
> +#: org.freedesktop.ModemManager1.policy.in.in:72
>  msgid "Query and utilize network information and services"
>  msgstr "Надіслати запит і використати дані щодо мережі і служби"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:12
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:73
> +#: org.freedesktop.ModemManager1.policy.in.in:73
>  msgid ""
>  "System policy prevents querying or utilizing network information and "
>  "services."
> @@ -85,14 +123,22 @@ msgstr ""
>  "Правила системи забороняють надсилання запитів і використання даних щодо
> "
>  "мережі і служб."
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:13
> +#. (itstool) path: action/description
> +#: data/org.freedesktop.ModemManager1.policy.in.in:81
> +#: org.freedesktop.ModemManager1.policy.in.in:81
>  msgid "Query and manage firmware on a mobile broadband device"
>  msgstr ""
>  "Опитування та керування мікропрограмою на пристрої мобільної
> широкосмугової "
>  "мережі"
>
> -#: ../data/org.freedesktop.ModemManager1.policy.in.in.h:14
> +#. (itstool) path: action/message
> +#: data/org.freedesktop.ModemManager1.policy.in.in:82
> +#: org.freedesktop.ModemManager1.policy.in.in:82
>  msgid "System policy prevents querying or managing this device's
> firmware."
>  msgstr ""
>  "Правила системи перешкоджають опитуванню або керування мікропрограмою
> цього "
>  "пристрою."
> +
> +#: src/mm-sleep-monitor.c:114
> +msgid "ModemManager needs to reset devices"
> +msgstr ""
> --
> 2.14.1
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20170829/0b23ac3d/attachment-0001.html>


More information about the ModemManager-devel mailing list