[tbb-commits] [torbutton/master] Bug 16268: non-en-US Tor Browser has Firefox branding in about box.
mikeperry at torproject.org
mikeperry at torproject.org
Tue Jul 28 07:29:02 UTC 2015
commit d7ff1cc7c2b785a2e44e2a568ae0d66a890f225b
Author: Kathy Brade <brade at pearlcrescent.com>
Date: Mon Jul 27 13:40:29 2015 -0400
Bug 16268: non-en-US Tor Browser has Firefox branding in about box.
Import aboutDialog.dtd and aboutTor.properties from Transifex.
Improved import-translations.sh to check that all .dtd and
.properties files are imported.
Work around a Transifex issue that caused some entities to be
encoded twice.
---
trans_tools/import-translations.sh | 88 ++++++++++++++++++++++++------------
1 file changed, 60 insertions(+), 28 deletions(-)
diff --git a/trans_tools/import-translations.sh b/trans_tools/import-translations.sh
index c29ed4c..28816ff 100755
--- a/trans_tools/import-translations.sh
+++ b/trans_tools/import-translations.sh
@@ -1,4 +1,4 @@
-#!/bin/sh -e
+#!/bin/bash -e
# This var comes from the TBB locale list.
# XXX: Find some way to keep this, tor-launcher, and Tor Browser in sync
@@ -11,6 +11,48 @@ BUNDLE_LOCALES="ar de es fa fr it ko nl pl pt ru tr vi zh-CN"
# and translations are available.
BUNDLE_LOCALES="$BUNDLE_LOCALES eu ja sv"
+LOCALE_DIR=../src/chrome/locale
+
+# FILEMAP is an array of "localeFile:translationBranch" strings.
+FILEMAP=( "aboutDialog.dtd:torbutton-aboutdialogdtd"
+ "aboutTor.dtd:abouttor-homepage"
+ "aboutTor.properties:torbutton-abouttorproperties"
+ "brand.dtd:torbutton-branddtd"
+ "brand.properties:torbutton-brandproperties"
+ "browser.properties:torbutton-browserproperties"
+ "torbutton.dtd:torbutton-torbuttondtd"
+ "torbutton.properties:torbutton-torbuttonproperties"
+ )
+
+# Verify that the FILEMAP contains an entry for each Torbutton file.
+FILES_ARE_MISSING=0
+for DEST_PATH in $LOCALE_DIR/en/*.dtd $LOCALE_DIR/en/*.properties;
+do
+ IS_FILE_IN_MAP=0
+ DEST_FILE=${DEST_PATH##*/}
+ for KEYVAL in "${FILEMAP[@]}";
+ do
+ FILE="${KEYVAL%%:*}"
+ if [ $FILE = $DEST_FILE ];
+ then
+ IS_FILE_IN_MAP=1
+ break;
+ fi
+ done
+
+ if [ $IS_FILE_IN_MAP -eq 0 ];
+ then
+ echo "Please add $DEST_FILE to FILEMAP." 1>&2
+ FILES_ARE_MISSING=1
+ fi
+done
+
+if [ $FILES_ARE_MISSING -ne 0 ];
+then
+ exit 1
+fi
+
+# Clone or update our translation repo.
if [ -d translation ];
then
cd translation
@@ -20,32 +62,22 @@ else
git clone https://git.torproject.org/translation.git
fi
+# Update each translated file for each locale.
+echo "Locales: $BUNDLE_LOCALES"
cd translation
-for i in $BUNDLE_LOCALES
-do
- UL="`echo $i|tr - _`"
- mkdir -p ../../src/chrome/locale/$i/
- git checkout abouttor-homepage
- git merge origin/abouttor-homepage
- cp $UL/aboutTor.dtd ../../src/chrome/locale/$i/
-
- git checkout torbutton-torbuttondtd
- git merge origin/torbutton-torbuttondtd
- cp $UL/torbutton.dtd ../../src/chrome/locale/$i/
-
- git checkout torbutton-branddtd
- git merge origin/torbutton-branddtd
- cp $UL/brand.dtd ../../src/chrome/locale/$i/
-
- git checkout torbutton-torbuttonproperties
- git merge origin/torbutton-torbuttonproperties
- cp $UL/torbutton.properties ../../src/chrome/locale/$i/
-
- git checkout torbutton-browserproperties
- git merge origin/torbutton-browserproperties
- cp $UL/browser.properties ../../src/chrome/locale/$i/
-
- git checkout torbutton-brandproperties
- git merge origin/torbutton-brandproperties
- cp $UL/brand.properties ../../src/chrome/locale/$i/
+for KEYVAL in "${FILEMAP[@]}"; do
+ FILE="${KEYVAL%%:*}"
+ BRANCH="${KEYVAL##*:}"
+ echo "Updating ${FILE}..."
+ git checkout -q "$BRANCH"
+ git merge -q origin/"$BRANCH"
+ for i in $BUNDLE_LOCALES;
+ do
+ UL="`echo $i|tr - _`"
+ mkdir -p ../$LOCALE_DIR/$i/
+# Use sed to work around a Transifex "double entity" issue.
+ sed -e 's/\&brandShortName;/\&brandShortName;/g' \
+ -e 's/\&vendorShortName;/\&vendorShortName;/g' \
+ $UL/"$FILE" > ../$LOCALE_DIR/$i/"$FILE"
+ done
done
More information about the tbb-commits
mailing list