[gtk+] Make a pot generating command available



commit 79321c0d8a0a5ed75a441b6720aaf8edb0dba6f9
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Mar 3 07:11:41 2015 -0500

    Make a pot generating command available
    
    Translators don't want to run autogen before generating pot,
    so give them a script.

 Makefile.am                  |    3 +-
 make-pot                     |   61 ++++++++++++++++++++++++++++++++++++++++++
 po-properties/Makefile.in.in |   13 ++++-----
 po/Makefile.in.in            |   36 +++++-------------------
 4 files changed, 77 insertions(+), 36 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 2b72ff9..a4c56a7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,8 @@ EXTRA_DIST +=                 \
        gtk-zip.sh.in           \
        sanitize-la.sh          \
        po/README.translators   \
-       po/po2tbl.sed.in
+       po/po2tbl.sed.in        \
+       make-pot
 
 MAINTAINERCLEANFILES = \
        $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
diff --git a/make-pot b/make-pot
new file mode 100755
index 0000000..279cfaa
--- /dev/null
+++ b/make-pot
@@ -0,0 +1,61 @@
+#! /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 GTK+ checkout directory, like this:
+#
+#   ./make-pot
+#
+# to generate po/gtk30.pot, and like this:
+#
+#   ./make-pot properties
+#
+# to generate po-properties/gtk30-properties.pot.
+
+
+XGETTEXT="${XGETTEXT:-xgettext}"
+top_srcdir="${top_srcdir:-.}"
+
+if test "$1" = "properties"; then
+  srcdir="${srcdir:-$top_srcdir/po-properties}"
+  GETTEXT_PACKAGE="${GETTEXT_PACKAGE:-gtk30-properties}"
+  XGETTEXT_KEYWORDS="${XGETTEXT_KEYWORDS:- --keyword --keyword=P_ }"
+else
+  srcdir="${srcdir:-$top_srcdir/po}"
+  GETTEXT_PACKAGE="${GETTEXT_PACKAGE:-gtk30}"
+  XGETTEXT_KEYWORDS="${XGETTEXT_KEYWORDS:- --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 
--keyword=g_dngettext:2,3 }"
+fi
+
+$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" )
+
diff --git a/po-properties/Makefile.in.in b/po-properties/Makefile.in.in
index 8657177..41b41df 100644
--- a/po-properties/Makefile.in.in
+++ b/po-properties/Makefile.in.in
@@ -95,13 +95,12 @@ all-yes: $(CATALOGS)
 all-no:
 
 $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
-       $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
-         --add-comments --keyword --keyword=P_ \
-         --from-code=utf-8 \
-         --files-from=$(srcdir)/POTFILES.in \
-       && test ! -f $(GETTEXT_PACKAGE).po \
-          || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \
-               && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot )
+       XGETTEXT="$(XGETTEXT)" \
+       XGETTEXT_KEYWORDS=$(XGETTEXT_KEYWORDS)" \
+       GETTEXT_PACKAGE="$(GETTEXT_PACKAGE)" \
+       top_srcdir="$(top_srcdir)" \
+       srcdir="$(srcdir)" \
+       $(top_srcdir)/make-pot
 
 install: install-exec install-data
 install-exec:
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 9774e73..55bc85f 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -16,6 +16,8 @@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 
+XGETTEXT_KEYWORDS= --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3
+
 SHELL = @SHELL@
 @SET_MAKE@
 
@@ -96,34 +98,12 @@ all-yes: $(CATALOGS)
 all-no:
 
 $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
-       $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
-         --add-comments --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 \
-         --from-code=utf-8 \
-         --keyword=g_dngettext:2,3 \
-         --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 )
+       XGETTEXT="$(XGETTEXT)" \
+       XGETTEXT_KEYWORDS="$(XGETTEXT_KEYWORDS)" \
+       GETTEXT_PACKAGE="$(GETTEXT_PACKAGE)" \
+       top_srcdir="$(top_srcdir)" \
+       srcdir="$(srcdir)" \
+       $(top_srcdir)/make-pot
 
 install: install-exec install-data
 install-exec:


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