[gnome-control-center] build: Migrate from Intltool to Gettext



commit 0dd386f405f49105880041202eeb270959ec3268
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Mon Sep 11 22:05:40 2017 +0200

    build: Migrate from Intltool to Gettext
    
    Recent versions of Gettext are able to translate several formats
    that are used in GNOME applications. This patch migrates from
    Intltool to Gettext by using meson's i18n features.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787588

 .../keyboard => gettext/its}/gnome-keybindings.its |    0
 .../keyboard => gettext/its}/gnome-keybindings.loc |    0
 gettext/its/sounds.its                             |    6 +
 gettext/its/sounds.loc                             |    6 +
 meson.build                                        |    9 +-
 .../gnome-background-panel.desktop.in.in           |    6 +-
 panels/background/meson.build                      |    5 +-
 .../bluetooth/gnome-bluetooth-panel.desktop.in.in  |    6 +-
 panels/bluetooth/meson.build                       |    5 +-
 panels/color/gnome-color-panel.desktop.in.in       |    6 +-
 panels/color/meson.build                           |    5 +-
 panels/datetime/gnome-datetime-panel.desktop.in.in |    6 +-
 panels/datetime/meson.build                        |    9 +-
 .../org.gnome.controlcenter.datetime.policy.in     |    4 +-
 panels/display/gnome-display-panel.desktop.in.in   |    6 +-
 panels/display/meson.build                         |    7 +-
 panels/info/gnome-default-apps-panel.desktop.in.in |    6 +-
 .../info/gnome-info-overview-panel.desktop.in.in   |    6 +-
 .../info/gnome-removable-media-panel.desktop.in.in |    6 +-
 panels/info/meson.build                            |    5 +-
 panels/keyboard/00-multimedia.xml.in               |   22 ++--
 panels/keyboard/01-input-sources.xml.in            |    6 +-
 panels/keyboard/01-launchers.xml.in                |   16 +-
 panels/keyboard/01-screenshot.xml.in               |   16 +-
 panels/keyboard/01-system.xml.in                   |    6 +-
 panels/keyboard/50-accessibility.xml.in            |   18 +-
 panels/keyboard/gnome-keyboard-panel.desktop.in.in |    6 +-
 panels/keyboard/meson.build                        |   20 +--
 panels/mouse/gnome-mouse-panel.desktop.in.in       |    6 +-
 panels/mouse/meson.build                           |    5 +-
 panels/network/gnome-network-panel.desktop.in.in   |    6 +-
 panels/network/gnome-wifi-panel.desktop.in.in      |    6 +-
 panels/network/meson.build                         |    5 +-
 .../gnome-notifications-panel.desktop.in.in        |    6 +-
 panels/notifications/meson.build                   |    5 +-
 .../gnome-online-accounts-panel.desktop.in.in      |    6 +-
 panels/online-accounts/meson.build                 |    5 +-
 panels/power/gnome-power-panel.desktop.in.in       |    6 +-
 panels/power/meson.build                           |    5 +-
 panels/printers/gnome-printers-panel.desktop.in.in |    6 +-
 panels/printers/meson.build                        |    5 +-
 panels/privacy/gnome-privacy-panel.desktop.in.in   |    6 +-
 panels/privacy/meson.build                         |    5 +-
 panels/region/gnome-region-panel.desktop.in.in     |    6 +-
 panels/region/meson.build                          |    5 +-
 panels/search/gnome-search-panel.desktop.in.in     |    6 +-
 panels/search/meson.build                          |    5 +-
 panels/sharing/gnome-sharing-panel.desktop.in.in   |    6 +-
 panels/sharing/meson.build                         |    9 +-
 ....controlcenter.remote-login-helper.policy.in.in |    4 +-
 panels/sound/data/gnome-sound-panel.desktop.in.in  |    6 +-
 .../data/sounds/gnome-sounds-default.xml.in.in     |    8 +-
 panels/sound/data/sounds/meson.build               |    5 +-
 panels/sound/meson.build                           |    5 +-
 .../gnome-universal-access-panel.desktop.in.in     |    6 +-
 panels/universal-access/meson.build                |    5 +-
 .../data/gnome-user-accounts-panel.desktop.in.in   |    6 +-
 panels/user-accounts/meson.build                   |    9 +-
 ...org.gnome.controlcenter.user-accounts.policy.in |    4 +-
 panels/wacom/gnome-wacom-panel.desktop.in.in       |    6 +-
 panels/wacom/meson.build                           |    5 +-
 po/POTFILES.in                                     |  163 ++++++++++----------
 po/POTFILES.skip                                   |   58 -------
 po/meson.build                                     |    6 +-
 shell/appdata/gnome-control-center.appdata.xml.in  |    8 +-
 shell/appdata/meson.build                          |    4 +-
 shell/gnome-control-center.desktop.in.in           |    4 +-
 shell/meson.build                                  |    5 +-
 68 files changed, 313 insertions(+), 343 deletions(-)
---
diff --git a/panels/keyboard/gnome-keybindings.its b/gettext/its/gnome-keybindings.its
similarity index 100%
rename from panels/keyboard/gnome-keybindings.its
rename to gettext/its/gnome-keybindings.its
diff --git a/panels/keyboard/gnome-keybindings.loc b/gettext/its/gnome-keybindings.loc
similarity index 100%
rename from panels/keyboard/gnome-keybindings.loc
rename to gettext/its/gnome-keybindings.loc
diff --git a/gettext/its/sounds.its b/gettext/its/sounds.its
new file mode 100644
index 0000000..187c000
--- /dev/null
+++ b/gettext/its/sounds.its
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its";
+           version="2.0">
+  <its:translateRule selector="/sounds" translate="no"/>
+  <its:translateRule selector="//name" translate="yes"/>
+</its:rules>
diff --git a/gettext/its/sounds.loc b/gettext/its/sounds.loc
new file mode 100644
index 0000000..c92565d
--- /dev/null
+++ b/gettext/its/sounds.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+  <locatingRule name="sounds" pattern="*.xml">
+    <documentRule localName="sounds" target="sounds.its"/>
+  </locatingRule>
+</locatingRules>
diff --git a/meson.build b/meson.build
index cd3e9c0..3543e63 100644
--- a/meson.build
+++ b/meson.build
@@ -234,11 +234,12 @@ desktop_conf = configuration_data()
 desktop_conf.set('VERSION', meson.project_version())
 
 po_dir = join_paths(meson.source_root(), 'po')
+its_dir = join_paths(meson.source_root(), 'gettext')
 
-intltool_merge = find_program('intltool-merge')
-intltool_cache = join_paths(po_dir, '.intltool-merge-cache')
-intltool_desktop_cmd = [intltool_merge, '-d', '-u', '-c', intltool_cache, po_dir, '@INPUT@', '@OUTPUT@']
-intltool_xml_cmd = [intltool_merge, '-x', '-u', '-c', intltool_cache, po_dir, '@INPUT@', '@OUTPUT@']
+install_subdir(
+  'gettext',
+  install_dir: control_center_datadir
+)
 
 top_inc = include_directories('.')
 shell_inc = include_directories('shell')
diff --git a/panels/background/gnome-background-panel.desktop.in.in 
b/panels/background/gnome-background-panel.desktop.in.in
index d78a07b..b6ff168 100644
--- a/panels/background/gnome-background-panel.desktop.in.in
+++ b/panels/background/gnome-background-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Background
-_Comment=Change your background image to a wallpaper or photo
+Name=Background
+Comment=Change your background image to a wallpaper or photo
 Exec=gnome-control-center background
 Icon=preferences-desktop-wallpaper
 Terminal=false
@@ -10,4 +10,4 @@ StartupNotify=true
 Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-PersonalizationSettings;
 OnlyShowIn=GNOME;
 # Translators: those are keywords for the background control-center panel
-_Keywords=Wallpaper;Screen;Desktop;
+Keywords=Wallpaper;Screen;Desktop;
diff --git a/panels/background/meson.build b/panels/background/meson.build
index 5ac5a6b..bb34b69 100644
--- a/panels/background/meson.build
+++ b/panels/background/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in 
b/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
index 7f757d8..2c2e696 100644
--- a/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
+++ b/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Bluetooth
-_Comment=Turn Bluetooth on and off and connect your devices
+Name=Bluetooth
+Comment=Turn Bluetooth on and off and connect your devices
 Icon=bluetooth
 Exec=gnome-control-center bluetooth
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-bluetooth
 X-GNOME-Bugzilla-Component=properties
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the bluetooth control-center panel
-_Keywords=share;sharing;bluetooth;obex;
+Keywords=share;sharing;bluetooth;obex;
diff --git a/panels/bluetooth/meson.build b/panels/bluetooth/meson.build
index 573185e..76b05a1 100644
--- a/panels/bluetooth/meson.build
+++ b/panels/bluetooth/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/color/gnome-color-panel.desktop.in.in b/panels/color/gnome-color-panel.desktop.in.in
index a879ecc..0963bc3 100644
--- a/panels/color/gnome-color-panel.desktop.in.in
+++ b/panels/color/gnome-color-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Color
-_Comment=Calibrate the color of your devices, such as displays, cameras or printers
+Name=Color
+Comment=Calibrate the color of your devices, such as displays, cameras or printers
 Exec=gnome-control-center color
 Icon=preferences-color
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=color
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the color control-center panel
-_Keywords=Color;ICC;Profile;Calibrate;Printer;Display;
+Keywords=Color;ICC;Profile;Calibrate;Printer;Display;
diff --git a/panels/color/meson.build b/panels/color/meson.build
index 2f80024..36bd4be 100644
--- a/panels/color/meson.build
+++ b/panels/color/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/datetime/gnome-datetime-panel.desktop.in.in 
b/panels/datetime/gnome-datetime-panel.desktop.in.in
index dcf9a00..0815c4e 100644
--- a/panels/datetime/gnome-datetime-panel.desktop.in.in
+++ b/panels/datetime/gnome-datetime-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Date & Time
-_Comment=Change the date and time, including time zone
+Name=Date & Time
+Comment=Change the date and time, including time zone
 Exec=gnome-control-center datetime
 Icon=preferences-system-time
 Terminal=false
@@ -10,4 +10,4 @@ StartupNotify=true
 Categories=GNOME;GTK;Settings;X-GNOME-Settings-Panel;X-GNOME-DetailsSettings;
 OnlyShowIn=GNOME;
 # Translators: those are keywords for the date and time control-center panel
-_Keywords=Clock;Timezone;Location;
+Keywords=Clock;Timezone;Location;
diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
index 0ff209d..ba82618 100644
--- a/panels/datetime/meson.build
+++ b/panels/datetime/meson.build
@@ -7,22 +7,23 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
 
 polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
 
-custom_target(
+i18n.merge_file(
   polkit,
   input: polkit + '.in',
   output: polkit,
-  command: intltool_xml_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: join_paths(control_center_datadir, 'polkit-1', 'actions')
 )
diff --git a/panels/datetime/org.gnome.controlcenter.datetime.policy.in 
b/panels/datetime/org.gnome.controlcenter.datetime.policy.in
index 5ac5be5..f9c115f 100644
--- a/panels/datetime/org.gnome.controlcenter.datetime.policy.in
+++ b/panels/datetime/org.gnome.controlcenter.datetime.policy.in
@@ -8,8 +8,8 @@
   <vendor_url>http://www.gnome.org/</vendor_url>
 
   <action id="org.gnome.controlcenter.datetime.configure">
-    <_description>Change system time and date settings</_description>
-    <_message>To change time or date settings, you need to authenticate.</_message>
+    <description>Change system time and date settings</description>
+    <message>To change time or date settings, you need to authenticate.</message>
     <defaults>
       <allow_any>no</allow_any>
       <allow_inactive>no</allow_inactive>
diff --git a/panels/display/gnome-display-panel.desktop.in.in 
b/panels/display/gnome-display-panel.desktop.in.in
index 2441c0e..84c5e37 100644
--- a/panels/display/gnome-display-panel.desktop.in.in
+++ b/panels/display/gnome-display-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Displays
-_Comment=Choose how to use connected monitors and projectors
+Name=Displays
+Comment=Choose how to use connected monitors and projectors
 Exec=gnome-control-center display
 Icon=preferences-desktop-display
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=Screen resolution
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the display control-center panel
-_Keywords=Panel;Projector;xrandr;Screen;Resolution;Refresh;Monitor;Night;Light;Blue;redshift;color;sunset;sunrise;
+Keywords=Panel;Projector;xrandr;Screen;Resolution;Refresh;Monitor;Night;Light;Blue;redshift;color;sunset;sunrise;
diff --git a/panels/display/meson.build b/panels/display/meson.build
index f5aab76..ee33b43 100644
--- a/panels/display/meson.build
+++ b/panels/display/meson.build
@@ -7,13 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-# FIXME: You will need a recent intltool or the patch from this bug
-# http://bugzilla.gnome.org/show_bug.cgi?id=462312
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/info/gnome-default-apps-panel.desktop.in.in 
b/panels/info/gnome-default-apps-panel.desktop.in.in
index ea48dcb..218a7f8 100644
--- a/panels/info/gnome-default-apps-panel.desktop.in.in
+++ b/panels/info/gnome-default-apps-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Default Applications
-_Comment=Configure Default Applications
+Name=Default Applications
+Comment=Configure Default Applications
 Exec=gnome-control-center default-apps
 Icon=starred
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=info
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the Default Applications panel
-_Keywords=default;application;preferred;media;
+Keywords=default;application;preferred;media;
diff --git a/panels/info/gnome-info-overview-panel.desktop.in.in 
b/panels/info/gnome-info-overview-panel.desktop.in.in
index d2bb473..88f133e 100644
--- a/panels/info/gnome-info-overview-panel.desktop.in.in
+++ b/panels/info/gnome-info-overview-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=About
-_Comment=View information about your system
+Name=About
+Comment=View information about your system
 Exec=gnome-control-center info-overview
 Icon=help-about
 Terminal=false
@@ -16,4 +16,4 @@ X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the System Information panel
 # "Preferred Applications" is the old name for the preference, so make
 # sure that you use the same "translation" for those keywords
-_Keywords=device;system;information;memory;processor;version;default;application;preferred;cd;dvd;usb;audio;video;disc;removable;media;autorun;
+Keywords=device;system;information;memory;processor;version;default;application;preferred;cd;dvd;usb;audio;video;disc;removable;media;autorun;
diff --git a/panels/info/gnome-removable-media-panel.desktop.in.in 
b/panels/info/gnome-removable-media-panel.desktop.in.in
index 7c9de59..f4eab18 100644
--- a/panels/info/gnome-removable-media-panel.desktop.in.in
+++ b/panels/info/gnome-removable-media-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Removable Media
-_Comment=Configure Removable Media settings
+Name=Removable Media
+Comment=Configure Removable Media settings
 Exec=gnome-control-center removable-media
 Icon=media-removable
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=info
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the Removable Media panel
-_Keywords=device;system;default;application;preferred;cd;dvd;usb;audio;video;disc;removable;media;autorun;
+Keywords=device;system;default;application;preferred;cd;dvd;usb;audio;video;disc;removable;media;autorun;
diff --git a/panels/info/meson.build b/panels/info/meson.build
index 6ed2677..13015b9 100644
--- a/panels/info/meson.build
+++ b/panels/info/meson.build
@@ -15,11 +15,12 @@ foreach name: panel_names
     configuration: desktop_conf
   )
 
-  custom_target(
+  i18n.merge_file(
     desktop,
+    type: 'desktop',
     input: desktop_in,
     output: desktop,
-    command: intltool_desktop_cmd,
+    po_dir: po_dir,
     install: true,
     install_dir: control_center_desktopdir
   )
diff --git a/panels/keyboard/00-multimedia.xml.in b/panels/keyboard/00-multimedia.xml.in
index 7ad4488..5216e02 100644
--- a/panels/keyboard/00-multimedia.xml.in
+++ b/panels/keyboard/00-multimedia.xml.in
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" _name="Sound and Media">
+<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" name="Sound and Media">
 
-       <KeyListEntry name="volume-mute" _description="Volume mute"/>
+       <KeyListEntry name="volume-mute" description="Volume mute"/>
 
-       <KeyListEntry name="volume-down" _description="Volume down"/>
+       <KeyListEntry name="volume-down" description="Volume down"/>
 
-       <KeyListEntry name="volume-up" _description="Volume up"/>
+       <KeyListEntry name="volume-up" description="Volume up"/>
 
-       <KeyListEntry name="media" _description="Launch media player"/>
+       <KeyListEntry name="media" description="Launch media player"/>
 
-       <KeyListEntry name="play" _description="Play (or play/pause)"/>
+       <KeyListEntry name="play" description="Play (or play/pause)"/>
 
-       <KeyListEntry name="pause" _description="Pause playback"/>
+       <KeyListEntry name="pause" description="Pause playback"/>
 
-       <KeyListEntry name="stop" _description="Stop playback"/>
+       <KeyListEntry name="stop" description="Stop playback"/>
 
-       <KeyListEntry name="previous" _description="Previous track"/>
+       <KeyListEntry name="previous" description="Previous track"/>
 
-       <KeyListEntry name="next" _description="Next track"/>
+       <KeyListEntry name="next" description="Next track"/>
 
-       <KeyListEntry name="eject" _description="Eject"/>
+       <KeyListEntry name="eject" description="Eject"/>
 
 </KeyListEntries>
 
diff --git a/panels/keyboard/01-input-sources.xml.in b/panels/keyboard/01-input-sources.xml.in
index 3695d47..355bba4 100644
--- a/panels/keyboard/01-input-sources.xml.in
+++ b/panels/keyboard/01-input-sources.xml.in
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <KeyListEntries group="system"
                 schema="org.gnome.desktop.wm.keybindings"
-                _name="Typing">
+                name="Typing">
 
   <KeyListEntry name="switch-input-source"
                reverse-entry="switch-input-source-backward"
-                _description="Switch to next input source"/>
+                description="Switch to next input source"/>
 
   <KeyListEntry name="switch-input-source-backward"
                reverse-entry="switch-input-source"
                is-reversed="true"
-                _description="Switch to previous input source"/>
+                description="Switch to previous input source"/>
 
 </KeyListEntries>
diff --git a/panels/keyboard/01-launchers.xml.in b/panels/keyboard/01-launchers.xml.in
index 3d798ad..67c8325 100644
--- a/panels/keyboard/01-launchers.xml.in
+++ b/panels/keyboard/01-launchers.xml.in
@@ -1,19 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" _name="Launchers">
+<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" name="Launchers">
 
-       <KeyListEntry name="help" _description="Launch help browser"/>
+       <KeyListEntry name="help" description="Launch help browser"/>
 
-       <KeyListEntry name="control-center" _description="Settings"/>
+       <KeyListEntry name="control-center" description="Settings"/>
 
-       <KeyListEntry name="calculator" _description="Launch calculator"/>
+       <KeyListEntry name="calculator" description="Launch calculator"/>
 
-       <KeyListEntry name="email" _description="Launch email client"/>
+       <KeyListEntry name="email" description="Launch email client"/>
 
-       <KeyListEntry name="www" _description="Launch web browser"/>
+       <KeyListEntry name="www" description="Launch web browser"/>
 
-       <KeyListEntry name="home" _description="Home folder"/>
+       <KeyListEntry name="home" description="Home folder"/>
 
-       <_KeyListEntry name="search" description="Search" msgctxt="keybinding">Search</_KeyListEntry>
+       <KeyListEntry name="search" description="Search" msgctxt="keybinding">Search</KeyListEntry>
 
 </KeyListEntries>
 
diff --git a/panels/keyboard/01-screenshot.xml.in b/panels/keyboard/01-screenshot.xml.in
index 5a6afec..002bd38 100644
--- a/panels/keyboard/01-screenshot.xml.in
+++ b/panels/keyboard/01-screenshot.xml.in
@@ -1,29 +1,29 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" _name="Screenshots">
+<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" name="Screenshots">
 
        <!-- translators: $PICTURES will be replaced by the name of the XDG Pictures directory -->
        <KeyListEntry name="screenshot"
-               _description="Save a screenshot to $PICTURES"/>
+               description="Save a screenshot to $PICTURES"/>
 
        <!-- translators: $PICTURES will be replaced by the name of the XDG Pictures directory -->
        <KeyListEntry name="window-screenshot"
-               _description="Save a screenshot of a window to $PICTURES"/>
+               description="Save a screenshot of a window to $PICTURES"/>
 
        <!-- translators: $PICTURES will be replaced by the name of the XDG Pictures directory -->
        <KeyListEntry name="area-screenshot"
-                      _description="Save a screenshot of an area to $PICTURES"/>
+                      description="Save a screenshot of an area to $PICTURES"/>
 
        <KeyListEntry name="screenshot-clip"
-                      _description="Copy a screenshot to clipboard"/>
+                      description="Copy a screenshot to clipboard"/>
 
        <KeyListEntry name="window-screenshot-clip"
-                      _description="Copy a screenshot of a window to clipboard"/>
+                      description="Copy a screenshot of a window to clipboard"/>
 
        <KeyListEntry name="area-screenshot-clip"
-                      _description="Copy a screenshot of an area to clipboard"/>
+                      description="Copy a screenshot of an area to clipboard"/>
 
        <KeyListEntry name="screencast"
-               _description="Record a short screencast"/>
+               description="Record a short screencast"/>
 
 </KeyListEntries>
 
diff --git a/panels/keyboard/01-system.xml.in b/panels/keyboard/01-system.xml.in
index 0ce2afe..1fcf78b 100644
--- a/panels/keyboard/01-system.xml.in
+++ b/panels/keyboard/01-system.xml.in
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" _name="System">
+<KeyListEntries group="system" schema="org.gnome.settings-daemon.plugins.media-keys" name="System">
 
-       <KeyListEntry name="logout" _description="Log out"/>
+       <KeyListEntry name="logout" description="Log out"/>
 
-       <KeyListEntry name="screensaver" _description="Lock screen"/>
+       <KeyListEntry name="screensaver" description="Lock screen"/>
 
 </KeyListEntries>
 
diff --git a/panels/keyboard/50-accessibility.xml.in b/panels/keyboard/50-accessibility.xml.in
index 8ad09f1..d8b24b8 100644
--- a/panels/keyboard/50-accessibility.xml.in
+++ b/panels/keyboard/50-accessibility.xml.in
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<KeyListEntries group="system" _name="Universal Access" 
schema="org.gnome.settings-daemon.plugins.media-keys">
+<KeyListEntries group="system" name="Universal Access" schema="org.gnome.settings-daemon.plugins.media-keys">
 
-       <KeyListEntry name="magnifier" _description="Turn zoom on or off"/>
+       <KeyListEntry name="magnifier" description="Turn zoom on or off"/>
 
-       <KeyListEntry name="magnifier-zoom-in" _description="Zoom in"/>
+       <KeyListEntry name="magnifier-zoom-in" description="Zoom in"/>
 
-       <KeyListEntry name="magnifier-zoom-out" _description="Zoom out"/>
+       <KeyListEntry name="magnifier-zoom-out" description="Zoom out"/>
 
-       <KeyListEntry name="screenreader" _description="Turn screen reader on or off"/>
+       <KeyListEntry name="screenreader" description="Turn screen reader on or off"/>
 
-       <KeyListEntry name="on-screen-keyboard" _description="Turn on-screen keyboard on or off"/>
+       <KeyListEntry name="on-screen-keyboard" description="Turn on-screen keyboard on or off"/>
 
-       <KeyListEntry name="increase-text-size" _description="Increase text size"/>
+       <KeyListEntry name="increase-text-size" description="Increase text size"/>
 
-       <KeyListEntry name="decrease-text-size" _description="Decrease text size"/>
+       <KeyListEntry name="decrease-text-size" description="Decrease text size"/>
 
-       <KeyListEntry name="toggle-contrast" _description="High contrast on or off"/>
+       <KeyListEntry name="toggle-contrast" description="High contrast on or off"/>
 
 </KeyListEntries>
diff --git a/panels/keyboard/gnome-keyboard-panel.desktop.in.in 
b/panels/keyboard/gnome-keyboard-panel.desktop.in.in
index 5bbb057..41fc474 100644
--- a/panels/keyboard/gnome-keyboard-panel.desktop.in.in
+++ b/panels/keyboard/gnome-keyboard-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Keyboard
-_Comment=View and change keyboard shortcuts and set your typing preferences
+Name=Keyboard
+Comment=View and change keyboard shortcuts and set your typing preferences
 Exec=gnome-control-center keyboard
 Icon=input-keyboard
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=keyboard
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the keyboard control-center panel
-_Keywords=Shortcut;Workspace;Window;Resize;Zoom;Contrast;Input;Source;Lock;Volume;
+Keywords=Shortcut;Workspace;Window;Resize;Zoom;Contrast;Input;Source;Lock;Volume;
diff --git a/panels/keyboard/meson.build b/panels/keyboard/meson.build
index e2f79bc..47f0f76 100644
--- a/panels/keyboard/meson.build
+++ b/panels/keyboard/meson.build
@@ -7,25 +7,16 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
 
-its_data = files(
-  'gnome-keybindings.its',
-  'gnome-keybindings.loc'
-)
-
-install_data(
-  its_data,
-  install_dir: join_paths(control_center_datadir, 'gettext', 'its')
-)
-
 pc_conf = configuration_data()
 pc_conf.set('prefix', control_center_prefix)
 pc_conf.set('datarootdir', control_center_datadir)
@@ -53,11 +44,12 @@ xml_files = [
 ]
 
 foreach file: xml_files
-  custom_target(
+  i18n.merge_file(
     file,
     input: file + '.in',
     output: file,
-    command: [intltool_merge, '-x', '-u', '--no-translations', '@INPUT@', '@OUTPUT@'],
+    po_dir: po_dir,
+    data_dirs: its_dir,
     install: true,
     install_dir: join_paths(control_center_pkgdatadir, 'keybindings')
   )
diff --git a/panels/mouse/gnome-mouse-panel.desktop.in.in b/panels/mouse/gnome-mouse-panel.desktop.in.in
index ae01674..3a11747 100644
--- a/panels/mouse/gnome-mouse-panel.desktop.in.in
+++ b/panels/mouse/gnome-mouse-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Mouse & Touchpad
-_Comment=Change your mouse or touchpad sensitivity and select right or left-handed
+Name=Mouse & Touchpad
+Comment=Change your mouse or touchpad sensitivity and select right or left-handed
 Exec=gnome-control-center mouse
 Icon=input-mouse
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=mouse
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the mouse and touchpad control-center panel
-_Keywords=Trackpad;Pointer;Click;Tap;Double;Button;Trackball;Scroll;
+Keywords=Trackpad;Pointer;Click;Tap;Double;Button;Trackball;Scroll;
diff --git a/panels/mouse/meson.build b/panels/mouse/meson.build
index c4ee3f1..2f4b6b8 100644
--- a/panels/mouse/meson.build
+++ b/panels/mouse/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/network/gnome-network-panel.desktop.in.in 
b/panels/network/gnome-network-panel.desktop.in.in
index 4cfdbbd..9139dbe 100644
--- a/panels/network/gnome-network-panel.desktop.in.in
+++ b/panels/network/gnome-network-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Network
-_Comment=Control how you connect to the Internet
+Name=Network
+Comment=Control how you connect to the Internet
 Exec=gnome-control-center network
 Icon=network-workgroup
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=network
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the network control-center panel
-_Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Proxy;WAN;Broadband;Modem;Bluetooth;vpn;DNS;
+Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Proxy;WAN;Broadband;Modem;Bluetooth;vpn;DNS;
diff --git a/panels/network/gnome-wifi-panel.desktop.in.in b/panels/network/gnome-wifi-panel.desktop.in.in
index 0727d1e..74a181f 100644
--- a/panels/network/gnome-wifi-panel.desktop.in.in
+++ b/panels/network/gnome-wifi-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Wi-Fi
-_Comment=Control how you connect to Wi-Fi networks
+Name=Wi-Fi
+Comment=Control how you connect to Wi-Fi networks
 Exec=gnome-control-center wifi
 Icon=network-wireless
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=network
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the wi-fi control-center panel
-_Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Broadband;DNS;
+Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Broadband;DNS;
diff --git a/panels/network/meson.build b/panels/network/meson.build
index f9b4f7e..8036d79 100644
--- a/panels/network/meson.build
+++ b/panels/network/meson.build
@@ -22,11 +22,12 @@ foreach name: panel_names
     configuration: desktop_conf
   )
 
-  custom_target(
+  i18n.merge_file(
     desktop,
+    type: 'desktop',
     input: desktop_in,
     output: desktop,
-    command: intltool_desktop_cmd,
+    po_dir: po_dir,
     install: true,
     install_dir: control_center_desktopdir
   )
diff --git a/panels/notifications/gnome-notifications-panel.desktop.in.in 
b/panels/notifications/gnome-notifications-panel.desktop.in.in
index bd98e1c..d0f9e8e 100644
--- a/panels/notifications/gnome-notifications-panel.desktop.in.in
+++ b/panels/notifications/gnome-notifications-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Notifications
-_Comment=Control which notifications are displayed and what they show
+Name=Notifications
+Comment=Control which notifications are displayed and what they show
 Exec=gnome-control-center notifications
 Icon=preferences-system-notifications
 Terminal=false
@@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Component=Notifications
 X-GNOME-Bugzilla-Version=@VERSION@
 X-GNOME-Settings-Panel=notifications
 # Translators: those are keywords for the notifications control-center panel
-_Keywords=Notifications;Banner;Message;Tray;Popup;
+Keywords=Notifications;Banner;Message;Tray;Popup;
diff --git a/panels/notifications/meson.build b/panels/notifications/meson.build
index b332eac..97a623f 100644
--- a/panels/notifications/meson.build
+++ b/panels/notifications/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in 
b/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
index 551dcd8..86bd282 100644
--- a/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
+++ b/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Online Accounts
-_Comment=Connect to your online accounts and decide what to use them for
+Name=Online Accounts
+Comment=Connect to your online accounts and decide what to use them for
 Exec=gnome-control-center online-accounts
 Icon=goa-panel
 Terminal=false
@@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Component=Online Accounts
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the online-accounts control-center panel
 # For ReadItLater and Pocket, see http://en.wikipedia.org/wiki/Pocket_(application)
-_Keywords=Google;Facebook;Twitter;Yahoo;Web;Online;Chat;Calendar;Mail;Contact;ownCloud;Kerberos;IMAP;SMTP;Pocket;ReadItLater;
+Keywords=Google;Facebook;Twitter;Yahoo;Web;Online;Chat;Calendar;Mail;Contact;ownCloud;Kerberos;IMAP;SMTP;Pocket;ReadItLater;
diff --git a/panels/online-accounts/meson.build b/panels/online-accounts/meson.build
index 1b196b0..597a1ad 100644
--- a/panels/online-accounts/meson.build
+++ b/panels/online-accounts/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/power/gnome-power-panel.desktop.in.in b/panels/power/gnome-power-panel.desktop.in.in
index 0622b97..3e6ca26 100644
--- a/panels/power/gnome-power-panel.desktop.in.in
+++ b/panels/power/gnome-power-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Power
-_Comment=View your battery status and change power saving settings
+Name=Power
+Comment=View your battery status and change power saving settings
 Exec=gnome-control-center power
 Icon=gnome-power-manager
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=power
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the power control-center panel
-_Keywords=Power;Sleep;Suspend;Hibernate;Battery;Brightness;Dim;Blank;Monitor;DPMS;Idle;
+Keywords=Power;Sleep;Suspend;Hibernate;Battery;Brightness;Dim;Blank;Monitor;DPMS;Idle;
diff --git a/panels/power/meson.build b/panels/power/meson.build
index da9b6d1..25695ca 100644
--- a/panels/power/meson.build
+++ b/panels/power/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/printers/gnome-printers-panel.desktop.in.in 
b/panels/printers/gnome-printers-panel.desktop.in.in
index 4653e06..d085a0a 100644
--- a/panels/printers/gnome-printers-panel.desktop.in.in
+++ b/panels/printers/gnome-printers-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Printers
-_Comment=Add printers, view printer jobs and decide how you want to print
+Name=Printers
+Comment=Add printers, view printer jobs and decide how you want to print
 Exec=gnome-control-center printers
 Icon=printer
 Terminal=false
@@ -11,4 +11,4 @@ StartupNotify=true
 Categories=GNOME;GTK;Settings;HardwareSettings;X-GNOME-Settings-Panel;X-GNOME-DevicesSettings;
 OnlyShowIn=GNOME;Unity;
 # Translators: those are keywords for the printing control-center panel
-_Keywords=Printer;Queue;Print;Paper;Ink;Toner;
+Keywords=Printer;Queue;Print;Paper;Ink;Toner;
diff --git a/panels/printers/meson.build b/panels/printers/meson.build
index 82bae77..6be8590 100644
--- a/panels/printers/meson.build
+++ b/panels/printers/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/privacy/gnome-privacy-panel.desktop.in.in 
b/panels/privacy/gnome-privacy-panel.desktop.in.in
index a52ca78..dda53a9 100644
--- a/panels/privacy/gnome-privacy-panel.desktop.in.in
+++ b/panels/privacy/gnome-privacy-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Privacy
-_Comment=Protect your personal information and control what others might see
+Name=Privacy
+Comment=Protect your personal information and control what others might see
 Exec=gnome-control-center privacy
 # FIXME
 Icon=preferences-system-privacy
@@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=privacy
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the privacy control-center panel
-_Keywords=screen;lock;diagnostics;crash;private;recent;temporary;tmp;index;name;network;identity;
+Keywords=screen;lock;diagnostics;crash;private;recent;temporary;tmp;index;name;network;identity;
diff --git a/panels/privacy/meson.build b/panels/privacy/meson.build
index 98fe325..a929451 100644
--- a/panels/privacy/meson.build
+++ b/panels/privacy/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/region/gnome-region-panel.desktop.in.in b/panels/region/gnome-region-panel.desktop.in.in
index e03467e..e9c5406 100644
--- a/panels/region/gnome-region-panel.desktop.in.in
+++ b/panels/region/gnome-region-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Region & Language
-_Comment=Select your display language, formats, keyboard layouts and input sources
+Name=Region & Language
+Comment=Select your display language, formats, keyboard layouts and input sources
 Exec=gnome-control-center region
 Icon=preferences-desktop-locale
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=region
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the region control-center panel
-_Keywords=Language;Layout;Keyboard;Input;
+Keywords=Language;Layout;Keyboard;Input;
diff --git a/panels/region/meson.build b/panels/region/meson.build
index dcc5189..5bca266 100644
--- a/panels/region/meson.build
+++ b/panels/region/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/search/gnome-search-panel.desktop.in.in b/panels/search/gnome-search-panel.desktop.in.in
index 1eec2ad..363bfcd 100644
--- a/panels/search/gnome-search-panel.desktop.in.in
+++ b/panels/search/gnome-search-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Search
-_Comment=Control which applications show search results in the Activities Overview
+Name=Search
+Comment=Control which applications show search results in the Activities Overview
 Exec=gnome-control-center search
 Icon=preferences-system-search
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=search
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the search control-center panel
-_Keywords=Search;Find;Index;Hide;Privacy;Results;
+Keywords=Search;Find;Index;Hide;Privacy;Results;
diff --git a/panels/search/meson.build b/panels/search/meson.build
index d31ee95..0081674 100644
--- a/panels/search/meson.build
+++ b/panels/search/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/sharing/gnome-sharing-panel.desktop.in.in 
b/panels/sharing/gnome-sharing-panel.desktop.in.in
index 9f86118..81b55ec 100644
--- a/panels/sharing/gnome-sharing-panel.desktop.in.in
+++ b/panels/sharing/gnome-sharing-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Sharing
-_Comment=Control what you want to share with others
+Name=Sharing
+Comment=Control what you want to share with others
 Exec=gnome-control-center sharing
 Icon=preferences-system-sharing
 Terminal=false
@@ -11,4 +11,4 @@ Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-Acc
 OnlyShowIn=GNOME;Unity;
 X-GNOME-Settings-Panel=sharing
 # Translators: those are keywords for the sharing control-center panel
-_Keywords=share;sharing;ssh;host;name;remote;desktop;media;audio;video;pictures;photos;movies;server;renderer;
+Keywords=share;sharing;ssh;host;name;remote;desktop;media;audio;video;pictures;photos;movies;server;renderer;
diff --git a/panels/sharing/meson.build b/panels/sharing/meson.build
index 7f0bdfb..5caac36 100644
--- a/panels/sharing/meson.build
+++ b/panels/sharing/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
@@ -27,11 +28,11 @@ polkit_in = configure_file(
   configuration: polkit_conf
 )
 
-custom_target(
+i18n.merge_file(
   polkit,
   input: polkit_in,
   output: polkit,
-  command: intltool_xml_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: join_paths(control_center_datadir, 'polkit-1', 'actions')
 )
diff --git a/panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in.in 
b/panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in.in
index 9032941..7fabac2 100644
--- a/panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in.in
+++ b/panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in.in
@@ -8,8 +8,8 @@
   <vendor_url>http://www.gnome.org/</vendor_url>
 
   <action id="org.gnome.controlcenter.remote-login-helper">
-    <_description>Enable or disable remote login</_description>
-    <_message>Authentication is required to enable or disable remote login</_message>
+    <description>Enable or disable remote login</description>
+    <message>Authentication is required to enable or disable remote login</message>
     <defaults>
       <allow_any>no</allow_any>
       <allow_inactive>no</allow_inactive>
diff --git a/panels/sound/data/gnome-sound-panel.desktop.in.in 
b/panels/sound/data/gnome-sound-panel.desktop.in.in
index 25b4f7a..3b2dc36 100644
--- a/panels/sound/data/gnome-sound-panel.desktop.in.in
+++ b/panels/sound/data/gnome-sound-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Sound
-_Comment=Change sound levels, inputs, outputs, and alert sounds
+Name=Sound
+Comment=Change sound levels, inputs, outputs, and alert sounds
 Exec=gnome-control-center sound
 Icon=multimedia-volume-control
 Terminal=false
@@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Component=sound
 X-GNOME-Bugzilla-Version=@VERSION@
 X-GNOME-Settings-Panel=sound
 # Translators: those are keywords for the sound control-center panel
-_Keywords=Card;Microphone;Volume;Fade;Balance;Bluetooth;Headset;Audio;
+Keywords=Card;Microphone;Volume;Fade;Balance;Bluetooth;Headset;Audio;
diff --git a/panels/sound/data/sounds/gnome-sounds-default.xml.in.in 
b/panels/sound/data/sounds/gnome-sounds-default.xml.in.in
index b0574bc..9563fa9 100644
--- a/panels/sound/data/sounds/gnome-sounds-default.xml.in.in
+++ b/panels/sound/data/sounds/gnome-sounds-default.xml.in.in
@@ -3,25 +3,25 @@
   <sound deleted="false">
     <!-- Translators: This is the name of an audio file that sounds like the bark of a dog.
          You might want to translate it into the equivalent words of your language.  -->
-    <_name>Bark</_name>
+    <name>Bark</name>
     <filename>@datadir@/sounds/gnome/default/alerts/bark.ogg</filename>
   </sound>
   <sound deleted="false">
     <!-- Translators: This is the name of an audio file that sounds like a water drip.
          You might want to translate it into the equivalent words of your language.  -->
-    <_name>Drip</_name>
+    <name>Drip</name>
     <filename>@datadir@/sounds/gnome/default/alerts/drip.ogg</filename>
   </sound>
   <sound deleted="false">
     <!-- Translators: This is the name of an audio file that sounds like tapping glass.
          You might want to translate it into the equivalent words of your language.  -->
-    <_name>Glass</_name>
+    <name>Glass</name>
     <filename>@datadir@/sounds/gnome/default/alerts/glass.ogg</filename>
   </sound>
   <sound deleted="false">
     <!-- Translators: This is the name of an audio file that sounds sort of like a submarine sonar ping.
          You might want to translate it into the equivalent words of your language.  -->
-    <_name>Sonar</_name>
+    <name>Sonar</name>
     <filename>@datadir@/sounds/gnome/default/alerts/sonar.ogg</filename>
   </sound>
 </sounds>
diff --git a/panels/sound/data/sounds/meson.build b/panels/sound/data/sounds/meson.build
index 2d9321a..0cdc482 100644
--- a/panels/sound/data/sounds/meson.build
+++ b/panels/sound/data/sounds/meson.build
@@ -21,11 +21,12 @@ metadata_in = configure_file(
   configuration: metadata_conf
 )
 
-custom_target(
+i18n.merge_file(
   metadata,
   input: metadata_in,
   output: metadata,
-  command: intltool_xml_cmd,
+  po_dir: po_dir,
+  data_dirs: its_dir,
   install: true,
   install_dir: join_paths(control_center_pkgdatadir, 'sounds')
 )
diff --git a/panels/sound/meson.build b/panels/sound/meson.build
index 7acb59c..5a3bc9a 100644
--- a/panels/sound/meson.build
+++ b/panels/sound/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/universal-access/gnome-universal-access-panel.desktop.in.in 
b/panels/universal-access/gnome-universal-access-panel.desktop.in.in
index 10fd7cf..91296c2 100644
--- a/panels/universal-access/gnome-universal-access-panel.desktop.in.in
+++ b/panels/universal-access/gnome-universal-access-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Universal Access
-_Comment=Make it easier to see, hear, type, point and click
+Name=Universal Access
+Comment=Make it easier to see, hear, type, point and click
 Exec=gnome-control-center universal-access
 Icon=preferences-desktop-accessibility
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=Universal Access
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the universal access control-center panel
-_Keywords=Keyboard;Mouse;a11y;Accessibility;Contrast;Zoom;Screen;Reader;text;font;size;AccessX;Sticky;Keys;Slow;Bounce;Mouse;Double;click;Delay;Assist;Repeat;Blink;
+Keywords=Keyboard;Mouse;a11y;Accessibility;Contrast;Zoom;Screen;Reader;text;font;size;AccessX;Sticky;Keys;Slow;Bounce;Mouse;Double;click;Delay;Assist;Repeat;Blink;
diff --git a/panels/universal-access/meson.build b/panels/universal-access/meson.build
index 5b193f9..d7983f2 100644
--- a/panels/universal-access/meson.build
+++ b/panels/universal-access/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/panels/user-accounts/data/gnome-user-accounts-panel.desktop.in.in 
b/panels/user-accounts/data/gnome-user-accounts-panel.desktop.in.in
index 3399a4f..ed91ba9 100644
--- a/panels/user-accounts/data/gnome-user-accounts-panel.desktop.in.in
+++ b/panels/user-accounts/data/gnome-user-accounts-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Users
-_Comment=Add or remove users and change your password
+Name=Users
+Comment=Add or remove users and change your password
 Exec=gnome-control-center user-accounts
 Icon=system-users
 Terminal=false
@@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Component=user-accounts
 X-GNOME-Bugzilla-Version=@VERSION@
 X-GNOME-Settings-Panel=user-accounts
 # Translators: those are keywords for the user accounts control-center panel
-_Keywords=Login;Name;Fingerprint;Avatar;Logo;Face;Password;
+Keywords=Login;Name;Fingerprint;Avatar;Logo;Face;Password;
diff --git a/panels/user-accounts/meson.build b/panels/user-accounts/meson.build
index 5d44f54..1673db0 100644
--- a/panels/user-accounts/meson.build
+++ b/panels/user-accounts/meson.build
@@ -7,11 +7,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
@@ -50,11 +51,11 @@ install_data(
 
 polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
 
-custom_target(
+i18n.merge_file(
   polkit,
   input: polkit + '.in',
   output: polkit,
-  command: intltool_xml_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: join_paths(control_center_datadir, 'polkit-1', 'actions')
 )
diff --git a/panels/user-accounts/org.gnome.controlcenter.user-accounts.policy.in 
b/panels/user-accounts/org.gnome.controlcenter.user-accounts.policy.in
index 0f11b29..7d9e686 100644
--- a/panels/user-accounts/org.gnome.controlcenter.user-accounts.policy.in
+++ b/panels/user-accounts/org.gnome.controlcenter.user-accounts.policy.in
@@ -8,8 +8,8 @@
   <vendor_url>http://www.gnome.org/</vendor_url>
 
   <action id="org.gnome.controlcenter.user-accounts.administration">
-    <_description>Manage user accounts</_description>
-    <_message>Authentication is required to change user data</_message>
+    <description>Manage user accounts</description>
+    <message>Authentication is required to change user data</message>
     <defaults>
       <allow_any>no</allow_any>
       <allow_inactive>no</allow_inactive>
diff --git a/panels/wacom/gnome-wacom-panel.desktop.in.in b/panels/wacom/gnome-wacom-panel.desktop.in.in
index 3e562b7..38277ed 100644
--- a/panels/wacom/gnome-wacom-panel.desktop.in.in
+++ b/panels/wacom/gnome-wacom-panel.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Wacom Tablet
-_Comment=Set button mappings and adjust stylus sensitivity for graphics tablets
+Name=Wacom Tablet
+Comment=Set button mappings and adjust stylus sensitivity for graphics tablets
 Exec=gnome-control-center wacom
 Icon=input-tablet
 Terminal=false
@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=wacom
 X-GNOME-Bugzilla-Version=@VERSION@
 # Translators: those are keywords for the wacom tablet control-center panel
-_Keywords=Tablet;Wacom;Stylus;Eraser;Mouse;
+Keywords=Tablet;Wacom;Stylus;Eraser;Mouse;
diff --git a/panels/wacom/meson.build b/panels/wacom/meson.build
index 7feea22..dbd9748 100644
--- a/panels/wacom/meson.build
+++ b/panels/wacom/meson.build
@@ -20,11 +20,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 396577d..e40ee9b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,13 +1,12 @@
 # List of source files containing translatable strings.
 # Please keep this file sorted alphabetically.
-[encoding: UTF-8]
-[type: gettext/glade]panels/background/background.ui
+panels/background/background.ui
 panels/background/bg-colors-source.c
 panels/background/cc-background-chooser-dialog.c
 panels/background/cc-background-item.c
 panels/background/cc-background-panel.c
 panels/background/gnome-background-panel.desktop.in.in
-[type: gettext/glade]panels/bluetooth/bluetooth.ui
+panels/bluetooth/bluetooth.ui
 panels/bluetooth/cc-bluetooth-panel.c
 panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
 panels/color/cc-color-calibrate.c
@@ -15,32 +14,32 @@ panels/color/cc-color-common.c
 panels/color/cc-color-device.c
 panels/color/cc-color-panel.c
 panels/color/cc-color-profile.c
-[type: gettext/glade]panels/color/color-calibrate.ui
-[type: gettext/glade]panels/color/color.ui
+panels/color/color-calibrate.ui
+panels/color/color.ui
 panels/color/gnome-color-panel.desktop.in.in
 panels/common/cc-common-language.c
 panels/common/cc-language-chooser.c
 panels/common/cc-util.c
-[type: gettext/glade]panels/common/language-chooser.ui
-[type: gettext/glade]panels/datetime/big.ui
+panels/common/language-chooser.ui
+panels/datetime/big.ui
 panels/datetime/cc-datetime-panel.c
-[type: gettext/glade]panels/datetime/datetime.ui
+panels/datetime/datetime.ui
 panels/datetime/gnome-datetime-panel.desktop.in.in
-[type: gettext/glade]panels/datetime/little.ui
-[type: gettext/glade]panels/datetime/middle.ui
+panels/datetime/little.ui
+panels/datetime/middle.ui
 panels/datetime/org.gnome.controlcenter.datetime.policy.in
-[type: gettext/glade]panels/datetime/ydm.ui
+panels/datetime/ydm.ui
 panels/display/cc-display-panel.c
-[type: gettext/glade]panels/display/display.ui
+panels/display/display.ui
 panels/display/gnome-display-panel.desktop.in.in
 panels/info/cc-info-overview-panel.c
 panels/info/cc-info-removable-media-panel.c
 panels/info/gnome-default-apps-panel.desktop.in.in
 panels/info/gnome-info-overview-panel.desktop.in.in
 panels/info/gnome-removable-media-panel.desktop.in.in
-[type: gettext/glade]panels/info/info-default-apps.ui
-[type: gettext/glade]panels/info/info-overview.ui
-[type: gettext/glade]panels/info/info-removable-media.ui
+panels/info/info-default-apps.ui
+panels/info/info-overview.ui
+panels/info/info-removable-media.ui
 panels/keyboard/00-multimedia.xml.in
 panels/keyboard/01-input-sources.xml.in
 panels/keyboard/01-launchers.xml.in
@@ -52,18 +51,18 @@ panels/keyboard/cc-keyboard-option.c
 panels/keyboard/cc-keyboard-panel.c
 panels/keyboard/cc-keyboard-shortcut-editor.c
 panels/keyboard/gnome-keyboard-panel.desktop.in.in
-[type: gettext/glade]panels/keyboard/gnome-keyboard-panel.ui
+panels/keyboard/gnome-keyboard-panel.ui
 panels/keyboard/keyboard-shortcuts.c
-[type: gettext/glade]panels/keyboard/shortcut-editor.ui
+panels/keyboard/shortcut-editor.ui
 panels/mouse/cc-mouse-panel.c
 panels/mouse/gnome-mouse-panel.desktop.in.in
 panels/mouse/gnome-mouse-properties.c
-[type: gettext/glade]panels/mouse/gnome-mouse-properties.ui
+panels/mouse/gnome-mouse-properties.ui
 panels/mouse/gnome-mouse-test.c
-[type: gettext/glade]panels/mouse/gnome-mouse-test.ui
+panels/mouse/gnome-mouse-test.ui
 panels/network/cc-network-panel.c
 panels/network/cc-wifi-panel.c
-[type: gettext/glade]panels/network/connection-editor/8021x-security-page.ui
+panels/network/connection-editor/8021x-security-page.ui
 panels/network/connection-editor/ce-page-8021x-security.c
 panels/network/connection-editor/ce-page.c
 panels/network/connection-editor/ce-page-details.c
@@ -73,16 +72,16 @@ panels/network/connection-editor/ce-page-ip6.c
 panels/network/connection-editor/ce-page-security.c
 panels/network/connection-editor/ce-page-vpn.c
 panels/network/connection-editor/ce-page-wifi.c
-[type: gettext/glade]panels/network/connection-editor/connection-editor.ui
-[type: gettext/glade]panels/network/connection-editor/details-page.ui
-[type: gettext/glade]panels/network/connection-editor/ethernet-page.ui
-[type: gettext/glade]panels/network/connection-editor/ip4-page.ui
-[type: gettext/glade]panels/network/connection-editor/ip6-page.ui
+panels/network/connection-editor/connection-editor.ui
+panels/network/connection-editor/details-page.ui
+panels/network/connection-editor/ethernet-page.ui
+panels/network/connection-editor/ip4-page.ui
+panels/network/connection-editor/ip6-page.ui
 panels/network/connection-editor/net-connection-editor.c
-[type: gettext/glade]panels/network/connection-editor/security-page.ui
+panels/network/connection-editor/security-page.ui
 panels/network/connection-editor/vpn-helpers.c
-[type: gettext/glade]panels/network/connection-editor/vpn-page.ui
-[type: gettext/glade]panels/network/connection-editor/wifi-page.ui
+panels/network/connection-editor/vpn-page.ui
+panels/network/connection-editor/wifi-page.ui
 panels/network/gnome-network-panel.desktop.in.in
 panels/network/gnome-wifi-panel.desktop.in.in
 panels/network/net-device-ethernet.c
@@ -90,57 +89,57 @@ panels/network/net-device-mobile.c
 panels/network/net-device-wifi.c
 panels/network/net-proxy.c
 panels/network/net-vpn.c
-[type: gettext/glade]panels/network/network-ethernet.ui
-[type: gettext/glade]panels/network/network-mobile.ui
-[type: gettext/glade]panels/network/network-proxy.ui
-[type: gettext/glade]panels/network/network-simple.ui
-[type: gettext/glade]panels/network/network.ui
-[type: gettext/glade]panels/network/network-vpn.ui
-[type: gettext/glade]panels/network/network-wifi.ui
-[type: gettext/glade]panels/network/wifi.ui
+panels/network/network-ethernet.ui
+panels/network/network-mobile.ui
+panels/network/network-proxy.ui
+panels/network/network-simple.ui
+panels/network/network.ui
+panels/network/network-vpn.ui
+panels/network/network-wifi.ui
+panels/network/wifi.ui
 panels/network/panel-common.c
 panels/network/wireless-security/eap-method.c
 panels/network/wireless-security/eap-method-fast.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-fast.ui
+panels/network/wireless-security/eap-method-fast.ui
 panels/network/wireless-security/eap-method-leap.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-leap.ui
+panels/network/wireless-security/eap-method-leap.ui
 panels/network/wireless-security/eap-method-peap.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-peap.ui
+panels/network/wireless-security/eap-method-peap.ui
 panels/network/wireless-security/eap-method-simple.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-simple.ui
+panels/network/wireless-security/eap-method-simple.ui
 panels/network/wireless-security/eap-method-tls.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-tls.ui
+panels/network/wireless-security/eap-method-tls.ui
 panels/network/wireless-security/eap-method-ttls.c
-[type: gettext/glade]panels/network/wireless-security/eap-method-ttls.ui
+panels/network/wireless-security/eap-method-ttls.ui
 panels/network/wireless-security/wireless-security.c
-[type: gettext/glade]panels/network/wireless-security/ws-dynamic-wep.ui
+panels/network/wireless-security/ws-dynamic-wep.ui
 panels/network/wireless-security/ws-leap.c
-[type: gettext/glade]panels/network/wireless-security/ws-leap.ui
+panels/network/wireless-security/ws-leap.ui
 panels/network/wireless-security/ws-wep-key.c
-[type: gettext/glade]panels/network/wireless-security/ws-wep-key.ui
-[type: gettext/glade]panels/network/wireless-security/ws-wpa-eap.ui
+panels/network/wireless-security/ws-wep-key.ui
+panels/network/wireless-security/ws-wpa-eap.ui
 panels/network/wireless-security/ws-wpa-psk.c
-[type: gettext/glade]panels/network/wireless-security/ws-wpa-psk.ui
+panels/network/wireless-security/ws-wpa-psk.ui
 panels/notifications/cc-edit-dialog.c
 panels/notifications/cc-notifications-panel.c
-[type: gettext/glade]panels/notifications/edit-dialog.ui
+panels/notifications/edit-dialog.ui
 panels/notifications/gnome-notifications-panel.desktop.in.in
-[type: gettext/glade]panels/notifications/notifications.ui
+panels/notifications/notifications.ui
 panels/online-accounts/cc-online-accounts-panel.c
 panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
-[type: gettext/glade]panels/online-accounts/online-accounts.ui
+panels/online-accounts/online-accounts.ui
 panels/power/cc-power-panel.c
 panels/power/gnome-power-panel.desktop.in.in
-[type: gettext/glade]panels/power/power.ui
-[type: gettext/glade]panels/printers/authentication-dialog.ui
+panels/power/power.ui
+panels/printers/authentication-dialog.ui
 panels/printers/cc-printers-panel.c
-[type: gettext/glade]panels/printers/details-dialog.ui
+panels/printers/details-dialog.ui
 panels/printers/gnome-printers-panel.desktop.in.in
-[type: gettext/glade]panels/printers/jobs-dialog.ui
-[type: gettext/glade]panels/printers/new-printer-dialog.ui
-[type: gettext/glade]panels/printers/options-dialog.ui
+panels/printers/jobs-dialog.ui
+panels/printers/new-printer-dialog.ui
+panels/printers/options-dialog.ui
 panels/printers/pp-details-dialog.c
-[type: gettext/glade]panels/printers/ppd-selection-dialog.ui
+panels/printers/ppd-selection-dialog.ui
 panels/printers/pp-host.c
 panels/printers/pp-ipp-option-widget.c
 panels/printers/pp-jobs-dialog.c
@@ -150,30 +149,30 @@ panels/printers/pp-ppd-option-widget.c
 panels/printers/pp-ppd-selection-dialog.c
 panels/printers/pp-printer-entry.c
 panels/printers/pp-samba.c
-[type: gettext/glade]panels/printers/printer-entry.ui
-[type: gettext/glade]panels/printers/printers.ui
+panels/printers/printer-entry.ui
+panels/printers/printers.ui
 panels/privacy/cc-privacy-panel.c
 panels/privacy/gnome-privacy-panel.desktop.in.in
-[type: gettext/glade]panels/privacy/privacy.ui
+panels/privacy/privacy.ui
 panels/region/cc-format-chooser.c
 panels/region/cc-input-chooser.c
 panels/region/cc-region-panel.c
-[type: gettext/glade]panels/region/format-chooser.ui
+panels/region/format-chooser.ui
 panels/region/gnome-region-panel.desktop.in.in
-[type: gettext/glade]panels/region/input-chooser.ui
-[type: gettext/glade]panels/region/input-options.ui
-[type: gettext/glade]panels/region/region.ui
+panels/region/input-chooser.ui
+panels/region/input-options.ui
+panels/region/region.ui
 panels/search/cc-search-locations-dialog.c
 panels/search/cc-search-panel.c
 panels/search/gnome-search-panel.desktop.in.in
-[type: gettext/glade]panels/search/search-locations-dialog.ui
-[type: gettext/glade]panels/search/search.ui
+panels/search/search-locations-dialog.ui
+panels/search/search.ui
 panels/sharing/cc-sharing-networks.c
 panels/sharing/cc-sharing-panel.c
 panels/sharing/gnome-sharing-panel.desktop.in.in
-[type: gettext/glade]panels/sharing/networks.ui
+panels/sharing/networks.ui
 panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in.in
-[type: gettext/glade]panels/sharing/sharing.ui
+panels/sharing/sharing.ui
 panels/sound/cc-sound-panel.c
 panels/sound/data/gnome-sound-panel.desktop.in.in
 panels/sound/data/sounds/gnome-sounds-default.xml.in.in
@@ -186,16 +185,16 @@ panels/sound/gvc-speaker-test.c
 panels/sound/sound-theme-file-utils.c
 panels/universal-access/cc-ua-panel.c
 panels/universal-access/gnome-universal-access-panel.desktop.in.in
-[type: gettext/glade]panels/universal-access/uap.ui
+panels/universal-access/uap.ui
 panels/universal-access/zoom-options.c
-[type: gettext/glade]panels/universal-access/zoom-options.ui
-[type: gettext/glade]panels/user-accounts/data/account-dialog.ui
-[type: gettext/glade]panels/user-accounts/data/account-fingerprint.ui
+panels/universal-access/zoom-options.ui
+panels/user-accounts/data/account-dialog.ui
+panels/user-accounts/data/account-fingerprint.ui
 panels/user-accounts/data/gnome-user-accounts-panel.desktop.in.in
-[type: gettext/glade]panels/user-accounts/data/history-dialog.ui
-[type: gettext/glade]panels/user-accounts/data/join-dialog.ui
-[type: gettext/glade]panels/user-accounts/data/password-dialog.ui
-[type: gettext/glade]panels/user-accounts/data/user-accounts-dialog.ui
+panels/user-accounts/data/history-dialog.ui
+panels/user-accounts/data/join-dialog.ui
+panels/user-accounts/data/password-dialog.ui
+panels/user-accounts/data/user-accounts-dialog.ui
 panels/user-accounts/org.gnome.controlcenter.user-accounts.policy.in
 panels/user-accounts/pw-utils.c
 panels/user-accounts/run-passwd.c
@@ -208,7 +207,7 @@ panels/user-accounts/um-photo-dialog.c
 panels/user-accounts/um-realm-manager.c
 panels/user-accounts/um-user-panel.c
 panels/user-accounts/um-utils.c
-[type: gettext/glade]panels/wacom/button-mapping.ui
+panels/wacom/button-mapping.ui
 panels/wacom/calibrator/calibrator-gui.c
 panels/wacom/cc-wacom-button-row.c
 panels/wacom/cc-wacom-button-row.h
@@ -218,16 +217,16 @@ panels/wacom/cc-wacom-page.c
 panels/wacom/cc-wacom-panel.c
 panels/wacom/cc-wacom-stylus-page.c
 panels/wacom/gnome-wacom-panel.desktop.in.in
-[type: gettext/glade]panels/wacom/gnome-wacom-properties.ui
+panels/wacom/gnome-wacom-properties.ui
 panels/wacom/gsd-wacom-key-shortcut-button.c
-[type: gettext/glade]panels/wacom/wacom-stylus-page.ui
+panels/wacom/wacom-stylus-page.ui
 shell/appdata/gnome-control-center.appdata.xml.in
 shell/cc-application.c
 shell/cc-window.c
 shell/gnome-control-center.desktop.in.in
-[type: gettext/glade]shell/help-overlay.ui
+shell/help-overlay.ui
 shell/hostname-helper.c
-[type: gettext/glade]shell/panel-list.ui
-[type: gettext/glade]shell/window.ui
+shell/panel-list.ui
+shell/window.ui
 # Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get 
it.
 subprojects/gvc/gvc-mixer-control.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index b8c40bd..ed05d53 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,64 +1,6 @@
 # List of source files that should *not* be translated.
 # Please keep this file sorted alphabetically.
 egg-list-box/egg-flow-box.c
-panels/background/gnome-background-panel.desktop.in
-panels/bluetooth/gnome-bluetooth-panel.desktop.in
-panels/color/gnome-color-panel.desktop.in
-panels/datetime/gnome-datetime-panel.desktop.in
-panels/display/gnome-display-panel.desktop.in
-panels/info/gnome-default-apps-panel.desktop.in
-panels/info/gnome-info-overview-panel.desktop.in
-panels/info/gnome-info-panel.desktop.in
-panels/info/gnome-removable-media-panel.desktop.in
-panels/keyboard/gnome-keyboard-panel.desktop.in
-panels/mouse/gnome-mouse-panel.desktop.in
-panels/network/gnome-network-panel.desktop.in
-panels/network/gnome-wifi-panel.desktop.in
-panels/notifications/gnome-notifications-panel.desktop.in
-panels/online-accounts/gnome-online-accounts-panel.desktop.in
-panels/power/gnome-power-panel.desktop.in
-panels/printers/gnome-printers-panel.desktop.in
-panels/privacy/gnome-privacy-panel.desktop.in
-panels/region/gnome-region-panel.desktop.in
-panels/search/gnome-search-panel.desktop.in
-panels/sharing/gnome-sharing-panel.desktop.in
-panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in
-panels/sound/data/gnome-sound-panel.desktop.in
-panels/sound/data/sounds/gnome-sounds-default.xml.in
-panels/universal-access/gnome-universal-access-panel.desktop.in
-panels/user-accounts/data/gnome-user-accounts-panel.desktop.in
 panels/user-accounts/fingerprint-strings.h
-panels/wacom/gnome-wacom-panel.desktop.in
-shell/gnome-control-center.desktop.in
-
-# Meh, autofools :-(
-sub/panels/background/gnome-background-panel.desktop.in
-sub/panels/bluetooth/gnome-bluetooth-panel.desktop.in
-sub/panels/color/gnome-color-panel.desktop.in
-sub/panels/datetime/gnome-datetime-panel.desktop.in
-sub/panels/display/gnome-display-panel.desktop.in
-sub/panels/info/gnome-default-apps-panel.desktop.in
-sub/panels/info/gnome-info-overview-panel.desktop.in
-sub/panels/info/gnome-info-panel.desktop.in
-sub/panels/info/gnome-removable-media-panel.desktop.in
-sub/panels/keyboard/gnome-keyboard-panel.desktop.in
-sub/panels/mouse/gnome-mouse-panel.desktop.in
-sub/panels/network/gnome-network-panel.desktop.in
-sub/panels/network/gnome-wifi-panel.desktop.in
-sub/panels/notifications/gnome-notifications-panel.desktop.in
-sub/panels/online-accounts/gnome-online-accounts-panel.desktop.in
-sub/panels/power/gnome-power-panel.desktop.in
-sub/panels/printers/gnome-printers-panel.desktop.in
-sub/panels/privacy/gnome-privacy-panel.desktop.in
-sub/panels/region/gnome-region-panel.desktop.in
-sub/panels/search/gnome-search-panel.desktop.in
-sub/panels/sharing/gnome-sharing-panel.desktop.in
-sub/panels/sharing/org.gnome.controlcenter.remote-login-helper.policy.in
-sub/panels/sound/data/gnome-sound-panel.desktop.in
-sub/panels/sound/data/sounds/gnome-sounds-default.xml.in
-sub/panels/universal-access/gnome-universal-access-panel.desktop.in
-sub/panels/user-accounts/data/gnome-user-accounts-panel.desktop.in
-sub/panels/wacom/gnome-wacom-panel.desktop.in
-sub/shell/gnome-control-center.desktop.in
 
 subprojects/libgd/libgd/gd-header-bar.c
diff --git a/po/meson.build b/po/meson.build
index 0c92431..a5f96d5 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -1 +1,5 @@
-i18n.gettext(control_center_gettext, preset: 'glib')
+i18n.gettext(
+  control_center_gettext,
+  data_dirs: its_dir,
+  preset: 'glib'
+)
diff --git a/shell/appdata/gnome-control-center.appdata.xml.in 
b/shell/appdata/gnome-control-center.appdata.xml.in
index 7ae737f..f417f80 100644
--- a/shell/appdata/gnome-control-center.appdata.xml.in
+++ b/shell/appdata/gnome-control-center.appdata.xml.in
@@ -4,13 +4,13 @@
   <id>gnome-control-center.desktop</id>
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-2.0+</project_license>
-  <_name>GNOME Control Center</_name>
-  <_summary>Utilities to configure the GNOME desktop</_summary>
+  <name>GNOME Control Center</name>
+  <summary>Utilities to configure the GNOME desktop</summary>
   <description>
-    <_p>
+    <p>
       The control center is GNOME’s main interface for configuration of various
       aspects of your desktop.
-    </_p>
+    </p>
   </description>
   <url type="bugtracker">https://bugzilla.gnome.org/browse.cgi?product=control-center</url>
   <update_contact>richard_at_hughsie.com</update_contact>
diff --git a/shell/appdata/meson.build b/shell/appdata/meson.build
index d480daa..3b36171 100644
--- a/shell/appdata/meson.build
+++ b/shell/appdata/meson.build
@@ -1,10 +1,10 @@
 appdata = 'gnome-control-center.appdata.xml'
 
-custom_target(
+i18n.merge_file(
   appdata,
   input: appdata + '.in',
   output: appdata,
-  command: intltool_xml_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: join_paths(control_center_datadir, 'metainfo')
 )
diff --git a/shell/gnome-control-center.desktop.in.in b/shell/gnome-control-center.desktop.in.in
index 1be3bbc..7622d11 100644
--- a/shell/gnome-control-center.desktop.in.in
+++ b/shell/gnome-control-center.desktop.in.in
@@ -1,5 +1,5 @@
 [Desktop Entry]
-_Name=Settings
+Name=Settings
 Icon=gnome-control-center
 Exec=gnome-control-center --overview
 Terminal=false
@@ -11,4 +11,4 @@ X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=gnome-control-center
 X-GNOME-Bugzilla-Component=shell
 X-GNOME-Bugzilla-Version=@VERSION@
-_Keywords=Preferences;Settings;
+Keywords=Preferences;Settings;
diff --git a/shell/meson.build b/shell/meson.build
index 70ca2af..10340a6 100644
--- a/shell/meson.build
+++ b/shell/meson.build
@@ -22,11 +22,12 @@ desktop_in = configure_file(
   configuration: desktop_conf
 )
 
-custom_target(
+i18n.merge_file(
   desktop,
+  type: 'desktop',
   input: desktop_in,
   output: desktop,
-  command: intltool_desktop_cmd,
+  po_dir: po_dir,
   install: true,
   install_dir: control_center_desktopdir
 )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]