diff --git a/src/client/plugin/desktop-notifications/meson.build b/src/client/plugin/desktop-notifications/meson.build index d09e723b..315f8242 100644 --- a/src/client/plugin/desktop-notifications/meson.build +++ b/src/client/plugin/desktop-notifications/meson.build @@ -17,11 +17,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file diff --git a/src/client/plugin/email-templates/meson.build b/src/client/plugin/email-templates/meson.build index 835eb72c..ecebaf45 100644 --- a/src/client/plugin/email-templates/meson.build +++ b/src/client/plugin/email-templates/meson.build @@ -17,11 +17,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file diff --git a/src/client/plugin/folder-highlight/meson.build b/src/client/plugin/folder-highlight/meson.build index 2abd611d..28e99720 100644 --- a/src/client/plugin/folder-highlight/meson.build +++ b/src/client/plugin/folder-highlight/meson.build @@ -17,11 +17,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( - input: files(plugin_data + '.desktop.in'), +custom_target( + plugin_data, + input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file diff --git a/src/client/plugin/mail-merge/meson.build b/src/client/plugin/mail-merge/meson.build index fd3e9f0e..40209bd8 100644 --- a/src/client/plugin/mail-merge/meson.build +++ b/src/client/plugin/mail-merge/meson.build @@ -42,11 +42,11 @@ plugin = shared_module( install_rpath: client_lib_dir ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest ) diff --git a/src/client/plugin/meson.build b/src/client/plugin/meson.build index b795237e..579de6a6 100644 --- a/src/client/plugin/meson.build +++ b/src/client/plugin/meson.build @@ -26,6 +26,18 @@ plugin_c_args = geary_c_args plugin_data_src_suffix = '.desktop.in' plugin_data_suffix = '.plugin' +# LibPeas plugins are not using a valid .desktop keyword +# Force msgfmt to translate Description +msgfmt_plugin_cmd = [ + find_program('msgfmt'), + '--desktop', + '--keyword=Name', + '--keyword=Description', + '-d', po_dir, + '--template=@INPUT@', + '--output=@OUTPUT@' +] + subdir('desktop-notifications') subdir('email-templates') subdir('folder-highlight') diff --git a/src/client/plugin/messaging-menu/meson.build b/src/client/plugin/messaging-menu/meson.build index c89d2cba..a14a582e 100644 --- a/src/client/plugin/messaging-menu/meson.build +++ b/src/client/plugin/messaging-menu/meson.build @@ -36,11 +36,11 @@ if libmessagingmenu_dep.found() install_rpath: client_lib_dir, ) - i18n.merge_file( + custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest ) diff --git a/src/client/plugin/notification-badge/meson.build b/src/client/plugin/notification-badge/meson.build index 008c4a85..0e8457c1 100644 --- a/src/client/plugin/notification-badge/meson.build +++ b/src/client/plugin/notification-badge/meson.build @@ -20,11 +20,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file diff --git a/src/client/plugin/sent-sound/meson.build b/src/client/plugin/sent-sound/meson.build index 7228ecc2..9c91a8c8 100644 --- a/src/client/plugin/sent-sound/meson.build +++ b/src/client/plugin/sent-sound/meson.build @@ -20,11 +20,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file diff --git a/src/client/plugin/special-folders/meson.build b/src/client/plugin/special-folders/meson.build index 347d40ea..8a6dabff 100644 --- a/src/client/plugin/special-folders/meson.build +++ b/src/client/plugin/special-folders/meson.build @@ -17,11 +17,11 @@ shared_module( install_rpath: client_lib_dir, ) -i18n.merge_file( +custom_target( + plugin_data, input: files(plugin_data + plugin_data_src_suffix), output: plugin_data, - type: 'desktop', - po_dir: po_dir, + command: msgfmt_plugin_cmd, install: true, install_dir: plugin_dest -) +) \ No newline at end of file