aboutsummaryrefslogtreecommitdiffstats
path: root/bin/update_po_header.bash
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2014-03-19 10:06:06 +0000
committerStruan Donald <struan@exo.org.uk>2014-04-08 13:21:11 +0100
commit96a2bb583e614cdd721909ebff21f3c1522e1024 (patch)
tree4432c23921cc33d3ea44d7cdb01fee256654d1bf /bin/update_po_header.bash
parentea01f4ff8681284e8f5f1e45e4c6c61a14f11311 (diff)
enable generation of cobrand specific po files
This is to stop the main FixMyStreet .po file being filled up with strings that only apply to a single Cobrand that are not relevant to people running their own fairly vanilla version. Restrict the list of templates that we pull strings out of by generating a list of all the ones in currently translated cobrands for minimal impact. Use that to create the FixMyStreet.po file in gettext-extract. I've left the existing cobrands in but at some point we should split these out. Add a specific script for generating Cobrand .po files which extracts strings from the Cobrand's templates. This is then translated and the translated file place in the locale/$lang/LC_MESSAGES. The the merge_cobrand_po script is run which will create an autoCobrand.po file which has the Cobrand strings and the FixMyStreet strings. This is then the domain used by the Cobrand. Any cobrand specific strings from the Perl code are still in the main FixMyStreet .po file but there should be relatively few of them so it's less of an issue.
Diffstat (limited to 'bin/update_po_header.bash')
-rwxr-xr-xbin/update_po_header.bash33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/update_po_header.bash b/bin/update_po_header.bash
new file mode 100755
index 000000000..2f37ad5d3
--- /dev/null
+++ b/bin/update_po_header.bash
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# fixmystreet/bin/gettext-extract
+# Generate English language .po files from the source code and email templates,
+# for FixMyStreet. Writes the output to appropriate .po files in locale/.
+#
+# Copyright (c) 2011 UK Citizens Online Democracy. All rights reserved.
+# Email: matthew@mysociety.org; WWW: http://www.mysociety.org/
+
+cd "$(dirname $(readlink -f $BASH_SOURCE))/.."
+
+# File to write to, clear it to start with
+PO=$1
+
+# Fix headers
+# no such thing as tempfile on OS X
+TEMP=`tempfile 2>/dev/null || mktemp /tmp/gettext-extract.XXXXXX`
+NOW=`date +"%Y-%m-%d %H:%M%z"`
+# strictly POSIX sed on e.g. OS X doesn't let you used \n in replacements so we do this
+nl=$'\n';
+cat $PO | sed "
+ s/SOME DESCRIPTIVE TITLE/FixMyStreet original .po file, autogenerated by gettext-extract/;
+ s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2011 UK Citizens Online Democracy/;
+ s/PACKAGE package/main FixMyStreet code/;
+ s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR./Matthew Somerville <matthew@mysociety.org>, 2011-06-03./;
+
+ s/PACKAGE VERSION/1.0\\\n\"\\$nl\"Report-Msgid-Bugs-To: matthew@mysociety.org/;
+ s/POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE/POT-Creation-Date: $NOW/;
+ s/LL@li.org/team@fixmystreet.com/;
+ s/charset=CHARSET/charset=UTF-8/;
+ s/8bit/8bit\\\n\"\\$nl\"Plural-Forms: nplurals=2; plural=n != 1;/;
+" >> $TEMP
+mv $TEMP $PO