From d27453cb948dfb8bd523c90badf725bea18f03e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Dr=C4=85g?= Date: Tue, 15 Aug 2017 16:16:32 +0200 Subject: [PATCH] Restore make-pot script Until #783099 is fixed. --- make-pot | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 make-pot diff --git a/make-pot b/make-pot new file mode 100644 index 0000000000..e95e971f30 --- /dev/null +++ b/make-pot @@ -0,0 +1,72 @@ +#! /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/gtk40.pot, and like this: +# +# ./make-pot properties +# +# to generate po-properties/gtk40-properties.pot. +# +# Various things can be passed in by environment variables, which +# are heavily inspired by the variables used in po/Makefile.in.in: +# +# 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 + + +XGETTEXT="${XGETTEXT:-xgettext}" +top_srcdir="${top_srcdir:-.}" + +if test "$1" = "properties"; then + srcdir="${srcdir:-$top_srcdir/po-properties}" + GETTEXT_PACKAGE="${GETTEXT_PACKAGE:-gtk40-properties}" + XGETTEXT_KEYWORDS="${XGETTEXT_KEYWORDS:- --keyword --keyword=P_ }" +else + srcdir="${srcdir:-$top_srcdir/po}" + GETTEXT_PACKAGE="${GETTEXT_PACKAGE:-gtk40}" + 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" ) +