#!/usr/bin/env bash set -x BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $BIN_DIR/.. # Pull all translations which are at least 80% complete tx pull -a --minimum-perc=80 # Legacy hack: pull *any existing* translations regardless of their completion. # Once supported, we don't want to drop any translations. tx pull --force for dir in *.lproj do # en.lproj is already utf-8 if [[ "$dir" = "en.lproj" ]]; then continue fi pushd $dir # Transifex pulls utf-16, but our string linting script needs utf-8. # Plus we can see the string diffs in GH this way. iconv -f utf-16 -t utf-8 Localizable.strings > Localizable.strings.utf8 mv Localizable.strings.utf8 Localizable.strings popd done # Get and build iStringsCheck from https://github.com/FredericJacobs/iStringsCheck # This does some checks to make sure all strings are present and that interpolated strings have the right number of arguments ../../../iStringsCheck/target/debug/iStringsCheck en.lproj/Localizable.strings . echo "Make sure you register any new localizations in XCode! (Go to Project > Signal > Localizations > Add Localizations)"