[gnome-control-center/wip/inigomartinez/meson: 4/4] build: Migrate from Intltool to Gettext



commit 9c0e4229ffc55c6d238530806fd12d4f015971c0
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.

 gettext/its/sounds.its                             |    6 +
 gettext/its/sounds.loc                             |    6 +
 meson.build                                        |    6 +-
 .../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 +-
 panels/info/gnome-info-panel.desktop.in.in         |    6 +-
 .../info/gnome-removable-media-panel.desktop.in.in |    6 +-
 panels/info/meson.build                            |    5 +-
 panels/keyboard/00-multimedia.xml                  |   24 +++
 panels/keyboard/00-multimedia.xml.in               |   25 ---
 panels/keyboard/01-input-sources.xml               |    8 +
 panels/keyboard/01-input-sources.xml.in            |   15 --
 panels/keyboard/01-launchers.xml                   |   18 ++
 panels/keyboard/01-launchers.xml.in                |   19 --
 panels/keyboard/01-screenshot.xml                  |   18 ++
 panels/keyboard/01-screenshot.xml.in               |   29 ----
 panels/keyboard/01-system.xml                      |    8 +
 panels/keyboard/01-system.xml.in                   |    9 -
 panels/keyboard/50-accessibility.xml               |   20 +++
 panels/keyboard/50-accessibility.xml.in            |   20 ---
 panels/keyboard/gnome-keyboard-panel.desktop.in.in |    6 +-
 panels/keyboard/meson.build                        |   23 +--
 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                                     |  177 ++++++++++----------
 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 +-
 72 files changed, 376 insertions(+), 371 deletions(-)
---
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 3bd6e30..8123e92 100644
--- a/meson.build
+++ b/meson.build
@@ -349,11 +349,7 @@ desktop_conf = configuration_data()
 desktop_conf.set('VERSION', control_center_version)
 
 po_dir = join_paths(meson.source_root(), 'po')
-
-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@']
+its_dir = join_paths(meson.source_root(), 'gettext')
 
 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 2b665f2..f20e1ec 100644
--- a/panels/background/gnome-background-panel.desktop.in.in
+++ b/panels/background/gnome-background-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Back­ground
-_Comment=Change your background image to a wallpaper or photo
+Name=Back­ground
+Comment=Change your background image to a wallpaper or photo
 Exec=gnome-control-center background
 Icon=preferences-desktop-wallpaper
 Terminal=false
@@ -11,4 +11,4 @@ StartupNotify=true
 
Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-PersonalSettings;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 ecb27e0..ebf4821 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 a0879dc..bd36242 100644
--- a/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
+++ b/panels/bluetooth/gnome-bluetooth-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Blue­tooth
-_Comment=Turn Bluetooth on and off and connect your devices
+Name=Blue­tooth
+Comment=Turn Bluetooth on and off and connect your devices
 Icon=bluetooth
 Exec=gnome-control-center bluetooth
 Terminal=false
@@ -15,4 +15,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 f8a2e5e..2ee8279 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 35b161a..2de3fe2 100644
--- a/panels/color/gnome-color-panel.desktop.in.in
+++ b/panels/color/gnome-color-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Co­lor
-_Comment=Calibrate the color of your devices, such as displays, cameras or printers
+Name=Co­lor
+Comment=Calibrate the color of your devices, such as displays, cameras or printers
 Exec=gnome-control-center color
 Icon=preferences-color
 Terminal=false
@@ -15,4 +15,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 05f15f0..5d87f97 100644
--- a/panels/color/meson.build
+++ b/panels/color/meson.build
@@ -9,11 +9,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 446b23e..5b4bdd0 100644
--- a/panels/datetime/gnome-datetime-panel.desktop.in.in
+++ b/panels/datetime/gnome-datetime-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_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
@@ -11,4 +11,4 @@ StartupNotify=true
 Categories=GNOME;GTK;Settings;X-GNOME-SystemSettings;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 6b57d8b..ff21f44 100644
--- a/panels/datetime/meson.build
+++ b/panels/datetime/meson.build
@@ -10,22 +10,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.' + cappletname + '.policy'
 
-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 3c8f32c..8d0b545 100644
--- a/panels/display/gnome-display-panel.desktop.in.in
+++ b/panels/display/gnome-display-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Dis­plays
-_Comment=Choose how to use connected monitors and projectors
+Name=Dis­plays
+Comment=Choose how to use connected monitors and projectors
 Exec=gnome-control-center display
 Icon=preferences-desktop-display
 Terminal=false
@@ -15,4 +15,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 4b52ac4..7d060ff 100644
--- a/panels/display/meson.build
+++ b/panels/display/meson.build
@@ -9,13 +9,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 0154f34..bde0db8 100644
--- a/panels/info/gnome-default-apps-panel.desktop.in.in
+++ b/panels/info/gnome-default-apps-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Defa­ult Applications
-_Comment=Configure Default Applications
+Name=Defa­ult Applications
+Comment=Configure Default Applications
 Exec=gnome-control-center default-apps
 Icon=starred
 Terminal=false
@@ -15,4 +15,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 cb7e44b..70207e5 100644
--- a/panels/info/gnome-info-overview-panel.desktop.in.in
+++ b/panels/info/gnome-info-overview-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Ab­out
-_Comment=View information about your system
+Name=Ab­out
+Comment=View information about your system
 Exec=gnome-control-center about
 Icon=help-about
 Terminal=false
@@ -17,4 +17,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-info-panel.desktop.in.in b/panels/info/gnome-info-panel.desktop.in.in
index 22714aa..6642956 100644
--- a/panels/info/gnome-info-panel.desktop.in.in
+++ b/panels/info/gnome-info-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=De­tails
-_Comment=View information about your system
+Name=De­tails
+Comment=View information about your system
 Exec=gnome-control-center info
 Icon=applications-system
 Terminal=false
@@ -17,4 +17,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 bc4675e..0eb22e9 100644
--- a/panels/info/gnome-removable-media-panel.desktop.in.in
+++ b/panels/info/gnome-removable-media-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Remo­vable Media
-_Comment=Configure Removable Media settings
+Name=Remo­vable Media
+Comment=Configure Removable Media settings
 Exec=gnome-control-center removable-media
 Icon=media-removable
 Terminal=false
@@ -15,4 +15,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 e41efc2..065a0d5 100644
--- a/panels/info/meson.build
+++ b/panels/info/meson.build
@@ -16,11 +16,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 b/panels/keyboard/00-multimedia.xml
new file mode 100644
index 0000000..60ed4c0
--- /dev/null
+++ b/panels/keyboard/00-multimedia.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.settings-daemon.plugins.media-keys" group="system" name="Sound and Media">
+
+       <KeyListEntry name="volume-mute" description="Volume mute"></KeyListEntry>
+
+       <KeyListEntry name="volume-down" description="Volume down"></KeyListEntry>
+
+       <KeyListEntry name="volume-up" description="Volume up"></KeyListEntry>
+
+       <KeyListEntry name="media" description="Launch media player"></KeyListEntry>
+
+       <KeyListEntry name="play" description="Play (or play/pause)"></KeyListEntry>
+
+       <KeyListEntry name="pause" description="Pause playback"></KeyListEntry>
+
+       <KeyListEntry name="stop" description="Stop playback"></KeyListEntry>
+
+       <KeyListEntry name="previous" description="Previous track"></KeyListEntry>
+
+       <KeyListEntry name="next" description="Next track"></KeyListEntry>
+
+       <KeyListEntry name="eject" description="Eject"></KeyListEntry>
+
+</KeyListEntries>
\ No newline at end of file
diff --git a/panels/keyboard/01-input-sources.xml b/panels/keyboard/01-input-sources.xml
new file mode 100644
index 0000000..abdec83
--- /dev/null
+++ b/panels/keyboard/01-input-sources.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.desktop.wm.keybindings" group="system" name="Typing">
+
+  <KeyListEntry reverse-entry="switch-input-source-backward" name="switch-input-source" description="Switch 
to next input source"></KeyListEntry>
+
+  <KeyListEntry reverse-entry="switch-input-source" name="switch-input-source-backward" is-reversed="true" 
description="Switch to previous input source"></KeyListEntry>
+
+</KeyListEntries>
\ No newline at end of file
diff --git a/panels/keyboard/01-launchers.xml b/panels/keyboard/01-launchers.xml
new file mode 100644
index 0000000..e18aca8
--- /dev/null
+++ b/panels/keyboard/01-launchers.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.settings-daemon.plugins.media-keys" group="system" name="Launchers">
+
+       <KeyListEntry name="help" description="Launch help browser"></KeyListEntry>
+
+       <KeyListEntry name="control-center" description="Settings"></KeyListEntry>
+
+       <KeyListEntry name="calculator" description="Launch calculator"></KeyListEntry>
+
+       <KeyListEntry name="email" description="Launch email client"></KeyListEntry>
+
+       <KeyListEntry name="www" description="Launch web browser"></KeyListEntry>
+
+       <KeyListEntry name="home" description="Home folder"></KeyListEntry>
+
+       <KeyListEntry name="search" msgctxt="keybinding" description="Search">Search</KeyListEntry>
+
+</KeyListEntries>
\ No newline at end of file
diff --git a/panels/keyboard/01-screenshot.xml b/panels/keyboard/01-screenshot.xml
new file mode 100644
index 0000000..8bae67b
--- /dev/null
+++ b/panels/keyboard/01-screenshot.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.settings-daemon.plugins.media-keys" group="system" name="Screenshots">
+
+       <KeyListEntry name="screenshot" description="Save a screenshot to $PICTURES"></KeyListEntry>
+
+       <KeyListEntry name="window-screenshot" description="Save a screenshot of a window to 
$PICTURES"></KeyListEntry>
+
+       <KeyListEntry name="area-screenshot" description="Save a screenshot of an area to 
$PICTURES"></KeyListEntry>
+
+       <KeyListEntry name="screenshot-clip" description="Copy a screenshot to clipboard"></KeyListEntry>
+
+       <KeyListEntry name="window-screenshot-clip" description="Copy a screenshot of a window to 
clipboard"></KeyListEntry>
+
+       <KeyListEntry name="area-screenshot-clip" description="Copy a screenshot of an area to 
clipboard"></KeyListEntry>
+
+       <KeyListEntry name="screencast" description="Record a short screencast"></KeyListEntry>
+
+</KeyListEntries>
diff --git a/panels/keyboard/01-system.xml b/panels/keyboard/01-system.xml
new file mode 100644
index 0000000..da75198
--- /dev/null
+++ b/panels/keyboard/01-system.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.settings-daemon.plugins.media-keys" group="system" name="System">
+
+       <KeyListEntry name="logout" description="Log out"></KeyListEntry>
+
+       <KeyListEntry name="screensaver" description="Lock screen"></KeyListEntry>
+
+</KeyListEntries>
\ No newline at end of file
diff --git a/panels/keyboard/50-accessibility.xml b/panels/keyboard/50-accessibility.xml
new file mode 100644
index 0000000..bfbf0ad
--- /dev/null
+++ b/panels/keyboard/50-accessibility.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<KeyListEntries schema="org.gnome.settings-daemon.plugins.media-keys" group="system" name="Universal Access">
+
+       <KeyListEntry name="magnifier" description="Turn zoom on or off"></KeyListEntry>
+
+       <KeyListEntry name="magnifier-zoom-in" description="Zoom in"></KeyListEntry>
+
+       <KeyListEntry name="magnifier-zoom-out" description="Zoom out"></KeyListEntry>
+
+       <KeyListEntry name="screenreader" description="Turn screen reader on or off"></KeyListEntry>
+
+       <KeyListEntry name="on-screen-keyboard" description="Turn on-screen keyboard on or 
off"></KeyListEntry>
+
+       <KeyListEntry name="increase-text-size" description="Increase text size"></KeyListEntry>
+
+       <KeyListEntry name="decrease-text-size" description="Decrease text size"></KeyListEntry>
+
+       <KeyListEntry name="toggle-contrast" description="High contrast on or off"></KeyListEntry>
+
+</KeyListEntries>
\ No newline at end of file
diff --git a/panels/keyboard/gnome-keyboard-panel.desktop.in.in 
b/panels/keyboard/gnome-keyboard-panel.desktop.in.in
index 1d45e64..c399435 100644
--- a/panels/keyboard/gnome-keyboard-panel.desktop.in.in
+++ b/panels/keyboard/gnome-keyboard-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Key­board
-_Comment=View and change keyboard shortcuts and set your typing preferences
+Name=Key­board
+Comment=View and change keyboard shortcuts and set your typing preferences
 Exec=gnome-control-center keyboard
 Icon=input-keyboard
 Terminal=false
@@ -15,4 +15,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 225de49..212e814 100644
--- a/panels/keyboard/meson.build
+++ b/panels/keyboard/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
 )
@@ -43,25 +44,19 @@ configure_file(
   configuration: pc_conf
 )
 
-xml_files = [
+xml_data = files(
   '00-multimedia.xml',
   '01-input-sources.xml',
   '01-launchers.xml',
   '01-screenshot.xml',
   '01-system.xml',
   '50-accessibility.xml'
-]
+)
 
-foreach file: xml_files
-  custom_target(
-    file,
-    input: file + '.in',
-    output: file,
-    command: [intltool_merge, '-x', '-u', '--no-translations', '@INPUT@', '@OUTPUT@'],
-    install: true,
-    install_dir: join_paths(control_center_pkgdatadir, 'keybindings')
-  )
-endforeach
+install_data(
+  xml_data,
+  install_dir: join_paths(control_center_pkgdatadir, 'keybindings')
+)
 
 sources = files(
   'cc-' + cappletname + '-panel.c',
diff --git a/panels/mouse/gnome-mouse-panel.desktop.in.in b/panels/mouse/gnome-mouse-panel.desktop.in.in
index 2e0abee..748c7bd 100644
--- a/panels/mouse/gnome-mouse-panel.desktop.in.in
+++ b/panels/mouse/gnome-mouse-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Mouse & Touch­pad
-_Comment=Change your mouse or touchpad sensitivity and select right or left-handed
+Name=Mouse & Touch­pad
+Comment=Change your mouse or touchpad sensitivity and select right or left-handed
 Exec=gnome-control-center mouse
 Icon=input-mouse
 Terminal=false
@@ -15,4 +15,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 d2c39ee..b716477 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 d0817ab..5353118 100644
--- a/panels/network/gnome-network-panel.desktop.in.in
+++ b/panels/network/gnome-network-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Net­work
-_Comment=Control how you connect to the Internet
+Name=Net­work
+Comment=Control how you connect to the Internet
 Exec=gnome-control-center network
 Icon=network-workgroup
 Terminal=false
@@ -15,4 +15,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 b37e650..48040ea 100644
--- a/panels/network/gnome-wifi-panel.desktop.in.in
+++ b/panels/network/gnome-wifi-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_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
@@ -15,4 +15,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 015f7aa..b5a7ce6 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 1d9bc56..22e97fc 100644
--- a/panels/notifications/gnome-notifications-panel.desktop.in.in
+++ b/panels/notifications/gnome-notifications-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=No­ti­fi­ca­tions
-_Comment=Control which notifications are displayed and what they show
+Name=No­ti­fi­ca­tions
+Comment=Control which notifications are displayed and what they show
 Exec=gnome-control-center notifications
 Icon=preferences-system-notifications
 Terminal=false
@@ -16,4 +16,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 7db452c..41aa27a 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 271d939..bcffa8e 100644
--- a/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
+++ b/panels/online-accounts/gnome-online-accounts-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=On­line Accounts
-_Comment=Connect to your online accounts and decide what to use them for
+Name=On­line 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
@@ -16,4 +16,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 3e3a531..6d15fcc 100644
--- a/panels/online-accounts/meson.build
+++ b/panels/online-accounts/meson.build
@@ -9,11 +9,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 4eb5777..90df142 100644
--- a/panels/power/gnome-power-panel.desktop.in.in
+++ b/panels/power/gnome-power-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Po­wer
-_Comment=View your battery status and change power saving settings
+Name=Po­wer
+Comment=View your battery status and change power saving settings
 Exec=gnome-control-center power
 Icon=gnome-power-manager
 Terminal=false
@@ -15,4 +15,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 b540738..88dd60b 100644
--- a/panels/power/meson.build
+++ b/panels/power/meson.build
@@ -9,11 +9,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 079264d..509851f 100644
--- a/panels/printers/gnome-printers-panel.desktop.in.in
+++ b/panels/printers/gnome-printers-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Prin­ters
-_Comment=Add printers, view printer jobs and decide how you want to print
+Name=Prin­ters
+Comment=Add printers, view printer jobs and decide how you want to print
 Exec=gnome-control-center printers
 Icon=printer
 Terminal=false
@@ -12,4 +12,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 c2fa17e..0495cb6 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 ca8b53a..8eeb8ce 100644
--- a/panels/privacy/gnome-privacy-panel.desktop.in.in
+++ b/panels/privacy/gnome-privacy-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Pri­va­cy
-_Comment=Protect your personal information and control what others might see
+Name=Pri­va­cy
+Comment=Protect your personal information and control what others might see
 Exec=gnome-control-center privacy
 # FIXME
 Icon=preferences-system-privacy
@@ -16,4 +16,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 3b4ecff..6694100 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 79d1e12..0f19833 100644
--- a/panels/region/gnome-region-panel.desktop.in.in
+++ b/panels/region/gnome-region-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Re­gion & Lan­guage
-_Comment=Select your display language, formats, keyboard layouts and input sources
+Name=Re­gion & Lan­guage
+Comment=Select your display language, formats, keyboard layouts and input sources
 Exec=gnome-control-center region
 Icon=preferences-desktop-locale
 Terminal=false
@@ -15,4 +15,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 e0e1958..53a4c17 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 5679dbb..dc7101b 100644
--- a/panels/search/gnome-search-panel.desktop.in.in
+++ b/panels/search/gnome-search-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_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
@@ -15,4 +15,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 9c7b32d..ca6f693 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 c27d266..e8788d8 100644
--- a/panels/sharing/gnome-sharing-panel.desktop.in.in
+++ b/panels/sharing/gnome-sharing-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Sha­ring
-_Comment=Control what you want to share with others
+Name=Sha­ring
+Comment=Control what you want to share with others
 Exec=gnome-control-center sharing
 Icon=preferences-system-sharing
 Terminal=false
@@ -12,4 +12,4 @@ Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-Sys
 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 0864681..2608ea2 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 6eeeb51..43ae043 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
@@ -7,8 +7,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 bcf29ae..abce16b 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 f70ba99..c157012 100644
--- a/panels/sound/meson.build
+++ b/panels/sound/meson.build
@@ -11,11 +11,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 5df2358..dea7f8d 100644
--- a/panels/universal-access/gnome-universal-access-panel.desktop.in.in
+++ b/panels/universal-access/gnome-universal-access-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Uni­ver­sal Access
-_Comment=Make it easier to see, hear, type, point and click
+Name=Uni­ver­sal Access
+Comment=Make it easier to see, hear, type, point and click
 Exec=gnome-control-center universal-access
 Icon=preferences-desktop-accessibility
 Terminal=false
@@ -15,4 +15,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 7956ac9..19b8dfc 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 5b35f2f..282f825 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 103b890..f528d39 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.' + cappletname + '.policy'
 
-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 ce98b2e..771eef6 100644
--- a/panels/wacom/gnome-wacom-panel.desktop.in.in
+++ b/panels/wacom/gnome-wacom-panel.desktop.in.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 # Translators: Add soft hyphens to your translations so that the icon view won't clip your translations. See 
https://bugzilla.gnome.org/show_bug.cgi?id=647087#c13 for details
-_Name=Wa­com Tab­let
-_Comment=Set button mappings and adjust stylus sensitivity for graphics tablets
+Name=Wa­com Tab­let
+Comment=Set button mappings and adjust stylus sensitivity for graphics tablets
 Exec=gnome-control-center wacom
 Icon=input-tablet
 Terminal=false
@@ -15,4 +15,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 677e96a..ad6a9ed 100644
--- a/panels/wacom/meson.build
+++ b/panels/wacom/meson.build
@@ -23,11 +23,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 4fb6b61..7e8d721 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,23 +14,23 @@ 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-panel.c
@@ -40,33 +39,33 @@ panels/info/gnome-default-apps-panel.desktop.in.in
 panels/info/gnome-info-overview-panel.desktop.in.in
 panels/info/gnome-info-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
-[type: gettext/glade]panels/info/info.ui
-panels/keyboard/00-multimedia.xml.in
-panels/keyboard/01-input-sources.xml.in
-panels/keyboard/01-launchers.xml.in
-panels/keyboard/01-screenshot.xml.in
-panels/keyboard/01-system.xml.in
-panels/keyboard/50-accessibility.xml.in
+panels/info/info-default-apps.ui
+panels/info/info-overview.ui
+panels/info/info-removable-media.ui
+panels/info/info.ui
+panels/keyboard/00-multimedia.xml
+panels/keyboard/01-input-sources.xml
+panels/keyboard/01-launchers.xml
+panels/keyboard/01-screenshot.xml
+panels/keyboard/01-system.xml
+panels/keyboard/50-accessibility.xml
 panels/keyboard/cc-keyboard-manager.c
 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
@@ -76,16 +75,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
@@ -93,57 +92,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
@@ -153,30 +152,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
@@ -189,16 +188,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
@@ -211,7 +210,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
@@ -221,17 +220,17 @@ 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/alt/cc-window.c
 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/meson.build b/po/meson.build
index ac7bc95..512466c 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -1 +1,5 @@
-i18n.gettext(control_center_api_name, preset: 'glib')
+i18n.gettext(
+  control_center_api_name,
+  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 7a0a334..c86d5ea 100644
--- a/shell/appdata/meson.build
+++ b/shell/appdata/meson.build
@@ -1,10 +1,10 @@
 info = meson.project_name() + '.metainfo.xml'
 
-custom_target(
+i18n.merge_file(
   info,
   input: meson.project_name() + '.appdata.xml.in',
   output: info,
-  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 e124c10..11931a7 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=preferences-system
 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 3dbd91c..00ddc45 100644
--- a/shell/meson.build
+++ b/shell/meson.build
@@ -23,11 +23,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]