[recipes] Add a script to generate the .pot file
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] Add a script to generate the .pot file
- Date: Tue, 3 Jan 2017 20:53:33 +0000 (UTC)
commit 7d7a52090f4a8f2be3c3c183f10953a6bd6c3922
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jan 3 14:48:32 2017 -0500
Add a script to generate the .pot file
This is heavily inspired by a similar script in GTK+.
make-pot | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
---
diff --git a/make-pot b/make-pot
new file mode 100755
index 0000000..ed776c6
--- /dev/null
+++ b/make-pot
@@ -0,0 +1,68 @@
+#! /bin/bash
+
+# This script extracts the typical xgettext invokation out of
+# po/Makefile.in.in, in order for it to be available as a shell
+# command without the need to autogen first. This is needed for
+# translation tools such as the damn lies website.
+#
+# Call this from your checkout directory, like this:
+#
+# ./make-pot
+#
+# to generate po/recipes.pot
+#
+# Various things can be passed in by environment variables, which
+# are heavily inspired by the variables used in po/Makefile.in.in:
+#
+# SED - path to the sed binary
+# XGETTEXT - path of the xgettext binary
+# top_srcdir - the location of the GTK+ checkout
+# srcdir - the directory where POTFILES.in is located (defaults to
+# $top_srcdir/po or $top_srcdir/po-properties)
+# GETTEXT_PACKAGE - the gettext domain, used for naming the resulting
+# .pot file (defaults to gtk40 or gtk40-properties)
+# XGETTEXT_KEYWORDS - --keyword arguments to pass to xgettext
+
+
+SED="${SED:-sed}"
+XGETTEXT="${XGETTEXT:-xgettext}"
+top_srcdir="${top_srcdir:-.}"
+
+srcdir="${srcdir:-$top_srcdir/po}"
+GETTEXT_PACKAGE="${GETTEXT_PACKAGE:-recipes}"
+XGETTEXT_KEYWORDS="${XGETTEXT_KEYWORDS:- --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2
--keyword=g_dngettext:2,3 }"
+
+$SED -e 's/^\(.*\)$$/ N_("\1"),/' $top_srcdir/data/ingredients.list > $top_srcdir/src/ingredients.c
+$SED -e 's/^\(.*\)$$/ N_("no \1"),/' $top_srcdir/data/ingredients.list > $top_srcdir/src/no-ingredients.c
+$SED -e 's/^\(.*\)$$/ N_("\1"),/' $top_srcdir/data/segments.list > $top_srcdir/src/segments.c
+
+$XGETTEXT --default-domain="$GETTEXT_PACKAGE" \
+ --directory="$top_srcdir" \
+ --add-comments \
+ $XGETTEXT_KEYWORDS \
+ --from-code=utf-8 \
+ --flag=g_dngettext:2:pass-c-format \
+ --flag=g_strdup_printf:1:c-format \
+ --flag=g_string_printf:2:c-format \
+ --flag=g_string_append_printf:2:c-format \
+ --flag=g_error_new:3:c-format \
+ --flag=g_set_error:4:c-format \
+ --flag=g_markup_printf_escaped:1:c-format \
+ --flag=g_log:3:c-format \
+ --flag=g_print:1:c-format \
+ --flag=g_printerr:1:c-format \
+ --flag=g_printf:1:c-format \
+ --flag=g_fprintf:2:c-format \
+ --flag=g_sprintf:2:c-format \
+ --flag=g_snprintf:3:c-format \
+ --flag=g_scanner_error:2:c-format \
+ --flag=g_scanner_warn:2:c-format \
+ --flag=gtk_message_dialog_format_secondary_markup:2:c-format \
+ --flag=gtk_message_dialog_format_secondary_text:2:c-format \
+ --flag=gtk_message_dialog_new:5:c-format \
+ --flag=gtk_message_dialog_new_with_markup:5:c-format \
+ --files-from="$srcdir/POTFILES.in" \
+ && test ! -f "$GETTEXT_PACKAGE.po" \
+ || ( rm -f "$srcdir/$GETTEXT_PACKAGE.pot" \
+ && mv "$GETTEXT_PACKAGE.po" "$srcdir/$GETTEXT_PACKAGE.pot" )
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]