aboutsummaryrefslogtreecommitdiffstats
path: root/Scripts/localize.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts/localize.sh')
-rwxr-xr-xScripts/localize.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/Scripts/localize.sh b/Scripts/localize.sh
new file mode 100755
index 00000000..911cf8ea
--- /dev/null
+++ b/Scripts/localize.sh
@@ -0,0 +1,56 @@
+#! /bin/ksh
+
+## $Id$
+##
+## Author: Created by Rowan Beentje.
+## Copyright (c) 2010 Sequel Pro Team. All rights reserved.
+##
+## Paramters: <none>
+##
+## Description: Localizes all of the application's NIB files. This script should only be run by Xcode.
+
+echo "Running genstrings to update 'Localizable.strings'..."
+
+# Update 'Localizable.strings' by running genstrings(1)
+GENSTRINGS_ERRORS=$(genstrings -o "${SRCROOT}/Resources/English.lproj" "${SRCROOT}/Source/"*.m)
+
+# Check for genstrings errors
+if [[ ${GENSTRINGS_ERRORS} -ne 0 ]]
+then
+ echo "error: genstrings exited with error: ${GENSTRINGS_ERRORS}"
+fi
+
+echo "Updating nib and xib localisations..."
+
+# Generate up-to-date nib .strings files for localisation
+find "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"/**/*.nib | while read nibFile
+do
+ stringsFilePath="${SOURCE_ROOT}/Resources/English.lproj/`basename "${nibFile}" .nib`.strings"
+ xibFile=`basename "${nibFile}" .nib`.xib
+ xibFilePath=`echo "${SOURCE_ROOT}"/Interfaces/**/"${xibFile}"`
+
+ if [[ -e ${xibFilePath} ]]
+ then
+ xibfileModDate=`stat -f "%m" "${xibFilePath}"`
+
+ if [[ -e ${stringsFilePath} ]]
+ then
+ stringsFileModDate=`stat -f "%m" "${stringsFilePath}"`
+ else
+ stringsFileModDate=0
+ fi
+
+ if [[ ${xibfileModDate} -gt ${stringsFileModDate} ]]
+ then
+ printf "\tLocalising ${xibFile}...\n";
+
+ ibtool --generate-stringsfile "${stringsFilePath}~" "${xibFilePath}"
+
+ "${BUILT_PRODUCTS_DIR}"/xibLocalizationPostprocessor "${stringsFilePath}~" "${stringsFilePath}"
+
+ rm "${stringsFilePath}~"
+ fi
+ fi
+done
+
+exit 0