[gnome-shell] extensions-tool: Set up translations for standalone builds



commit 624cf1dad45bc532beaf0a913743687a65e8c37b
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Dec 3 03:02:30 2019 +0100

    extensions-tool: Set up translations for standalone builds
    
    While we can now build gnome-extensions-tool as stand-alone project,
    we are currently missing any translations, as those are part of
    gnome-shell.
    
    The easiest option for addressing this would be to symlink the toplevel
    po directory into the subproject, however that would mean duplicating
    the entire gnome-shell message catalogs.
    
    So instead, set up a bare po directory and provide a script to populate
    it from the translations in the toplevel po directory.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/877

 subprojects/extensions-tool/README.md                |  9 +++++++++
 subprojects/extensions-tool/generate-translations.sh | 19 +++++++++++++++++++
 subprojects/extensions-tool/meson.build              |  4 ++++
 subprojects/extensions-tool/po/.gitignore            |  3 +++
 subprojects/extensions-tool/po/LINGUAS               |  1 +
 subprojects/extensions-tool/po/meson.build           |  1 +
 6 files changed, 37 insertions(+)
---
diff --git a/subprojects/extensions-tool/README.md b/subprojects/extensions-tool/README.md
index 1416abe1da..dc2e2d7943 100644
--- a/subprojects/extensions-tool/README.md
+++ b/subprojects/extensions-tool/README.md
@@ -6,6 +6,15 @@ create an extension bundle as part of continuous integration).
 
 Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
 
+## Building
+Before the project can be built stand-alone, the po directory has
+to be populated with translations (from gnome-shell).
+
+To do that, simply run the included script:
+```sh
+$ ./generate-translations.sh
+```
+
 ## License
 gnome-extensions-tool is distributed under the terms of the GNU General Public
 License, version 3 or later. See the [COPYING][license] file for details.
diff --git a/subprojects/extensions-tool/generate-translations.sh 
b/subprojects/extensions-tool/generate-translations.sh
new file mode 100755
index 0000000000..9f630812d7
--- /dev/null
+++ b/subprojects/extensions-tool/generate-translations.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/bash
+
+cd $(dirname $0)
+
+sed -e '/subprojects\/extensions-tool/!d' \
+    -e 's:subprojects/extensions-tool/::' ../../po/POTFILES.in > po/POTFILES.in
+
+for l in $(<po/LINGUAS)
+do
+  cp ../../po/$l.po po/$l.po
+done
+
+builddir=$(mktemp -d -p.)
+
+meson -Dman=False $builddir
+ninja -C $builddir gnome-extensions-tool-pot
+ninja -C $builddir gnome-extensions-tool-update-po
+
+rm -rf $builddir
diff --git a/subprojects/extensions-tool/meson.build b/subprojects/extensions-tool/meson.build
index 426c901884..ca7e67ce22 100644
--- a/subprojects/extensions-tool/meson.build
+++ b/subprojects/extensions-tool/meson.build
@@ -40,3 +40,7 @@ if get_option('man')
 
   subdir('man')
 endif
+
+if not meson.is_subproject()
+  subdir('po')
+endif
diff --git a/subprojects/extensions-tool/po/.gitignore b/subprojects/extensions-tool/po/.gitignore
new file mode 100644
index 0000000000..3b2228d1c3
--- /dev/null
+++ b/subprojects/extensions-tool/po/.gitignore
@@ -0,0 +1,3 @@
+*.po
+*.pot
+POTFILES.in
diff --git a/subprojects/extensions-tool/po/LINGUAS b/subprojects/extensions-tool/po/LINGUAS
new file mode 120000
index 0000000000..4fb83a533f
--- /dev/null
+++ b/subprojects/extensions-tool/po/LINGUAS
@@ -0,0 +1 @@
+../../../po/LINGUAS
\ No newline at end of file
diff --git a/subprojects/extensions-tool/po/meson.build b/subprojects/extensions-tool/po/meson.build
new file mode 100644
index 0000000000..5a1b0e29dd
--- /dev/null
+++ b/subprojects/extensions-tool/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext(package_name, preset: 'glib')


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