[bijiben/wip/inigomartinez/meson: 4/5] build: Migrate from Intltool to Gettext
- From: Iñigo Martínez <inigomartinez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [bijiben/wip/inigomartinez/meson: 4/5] build: Migrate from Intltool to Gettext
- Date: Sat, 14 Oct 2017 08:40:42 +0000 (UTC)
commit 8ff99fb6c48f07b0118a7840a29ef13140948447
Author: Iñigo Martínez <inigomartinez gmail com>
Date: Fri Aug 18 13:02:01 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=786461
data/meson.build | 14 ++++++++------
data/org.gnome.bijiben.appdata.xml.in | 10 +++++-----
data/org.gnome.bijiben.desktop.in.in | 9 ++++-----
data/org.gnome.bijiben.xml.in | 2 +-
gettext/its/mime.its | 6 ++++++
gettext/its/mime.loc | 6 ++++++
meson.build | 6 +-----
po/POTFILES.in | 8 ++++----
po/meson.build | 6 +++++-
9 files changed, 40 insertions(+), 27 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index 06a5975..27da266 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -2,22 +2,23 @@ subdir('icons')
mime = 'org.gnome.bijiben.xml'
-custom_target(
+i18n.merge_file(
mime,
input: mime + '.in',
output: mime,
- command: intltool_xml_cmd,
+ po_dir: po_dir,
+ data_dirs: its_dir,
install: true,
install_dir: join_paths(bijiben_datadir, 'mime', 'packages')
)
appdata = 'org.gnome.bijiben.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(bijiben_datadir, 'metainfo')
)
@@ -33,11 +34,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: join_paths(bijiben_datadir, 'applications')
)
diff --git a/data/org.gnome.bijiben.appdata.xml.in b/data/org.gnome.bijiben.appdata.xml.in
index 0ef0921..76638e7 100644
--- a/data/org.gnome.bijiben.appdata.xml.in
+++ b/data/org.gnome.bijiben.appdata.xml.in
@@ -4,14 +4,14 @@
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+ and LGPL-3.0 and LGPL-2.0+</project_license>
<name>Bijiben</name>
- <_summary>Quickly jot notes</_summary>
+ <summary>Quickly jot notes</summary>
<description>
- <_p>
+ <p>
Notes is an editor allowing to make simple lists for later use.
- </_p>
- <_p>
+ </p>
+ <p>
It allows to use ownCloud as a storage location and online editor.
- </_p>
+ </p>
</description>
<kudos>
<kudo>AppMenu</kudo>
diff --git a/data/org.gnome.bijiben.desktop.in.in b/data/org.gnome.bijiben.desktop.in.in
index 7f5009d..af06fa0 100644
--- a/data/org.gnome.bijiben.desktop.in.in
+++ b/data/org.gnome.bijiben.desktop.in.in
@@ -1,9 +1,8 @@
-
[Desktop Entry]
-_Name=Notes
-_Keywords=notes;reminder;
-_Comment=Post notes, tag files!
-_GenericName=Note-taker
+Name=Notes
+Keywords=notes;reminder;
+Comment=Post notes, tag files!
+GenericName=Note-taker
Exec=bijiben %u
Icon=org.gnome.bijiben
MimeType=x-scheme-handler/note;
diff --git a/data/org.gnome.bijiben.xml.in b/data/org.gnome.bijiben.xml.in
index 56636a9..f511fd9 100644
--- a/data/org.gnome.bijiben.xml.in
+++ b/data/org.gnome.bijiben.xml.in
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-note">
- <_comment>Notes</_comment>
+ <comment>Notes</comment>
<glob pattern="*.note"/>
</mime-type>
</mime-info>
diff --git a/gettext/its/mime.its b/gettext/its/mime.its
new file mode 100644
index 0000000..dec8d13
--- /dev/null
+++ b/gettext/its/mime.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="/mime-info" translate="no"/>
+ <its:translateRule selector="//comment" translate="yes"/>
+</its:rules>
diff --git a/gettext/its/mime.loc b/gettext/its/mime.loc
new file mode 100644
index 0000000..a34fe8d
--- /dev/null
+++ b/gettext/its/mime.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="mime" pattern="*.xml">
+ <documentRule localName="mime-info" target="mime.its"/>
+ </locatingRule>
+</locatingRules>
diff --git a/meson.build b/meson.build
index d3f5891..7ee2cd6 100644
--- a/meson.build
+++ b/meson.build
@@ -124,11 +124,7 @@ gnome = import('gnome')
i18n = import('i18n')
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('.')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f00fbc3..86821f7 100755
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,7 +1,7 @@
# List of source files containing translatable strings.
data/org.gnome.bijiben.appdata.xml.in
data/org.gnome.bijiben.desktop.in.in
-[type: gettext/gsettings]data/org.gnome.bijiben.gschema.xml
+data/org.gnome.bijiben.gschema.xml
data/org.gnome.bijiben.xml.in
src/bijiben-shell-search-provider.c
src/bjb-app-menu.c
@@ -23,6 +23,6 @@ src/bjb-window-base.c
src/libbiji/biji-date-time.c
src/libbiji/biji-notebook.c
src/libbiji/provider/biji-local-provider.c
-[type: gettext/glade]src/resources/app-menu.ui
-[type: gettext/glade]src/resources/editor-toolbar.ui
-[type: gettext/glade]src/resources/settings-dialog.ui
+src/resources/app-menu.ui
+src/resources/editor-toolbar.ui
+src/resources/settings-dialog.ui
diff --git a/po/meson.build b/po/meson.build
index bd068b0..6fd3acc 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -1 +1,5 @@
-i18n.gettext(bijiben_name, preset: 'glib')
+i18n.gettext(
+ bijiben_name,
+ data_dirs: its_dir,
+ preset: 'glib'
+)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]