fxa/_scripts/l10n/prime.sh

55 строки
1.3 KiB
Bash
Executable File

#!/bin/bash -e
# Pulls the latest localization files into a target workspace.
PACKAGE=$1
FOLDER="public/locales"
PREFIX="[l10n/prime]"
if [ -z "$PACKAGE" ]; then
echo "$PREFIX: A package must be defined as argument 1."
exit 1
fi
#Split PACKAGE by /
PACKAGE_FOLDER_ARR=(${PACKAGE//\// })
# No cd necessary for apps/*
# Applications in apps/* should already be in monorepo root
if [[ "${PACKAGE_FOLDER_ARR[0]}" == "packages" ]]; then
# Move to monorepo root
cd "$(dirname "$0")/../.."
fi
ROOT_FOLDER=$(pwd)
echo $ROOT_FOLDER
if [ ! -d "$ROOT_FOLDER/external/l10n/locale" ]; then
echo "$PREFIX: No external/l10n folder exists! Run yarn l10n:clone script first."
exit 1
fi
# Check path is valid
TARGET_FOLDER="$PACKAGE/$FOLDER"
rm -rf "$TARGET_FOLDER"
mkdir -p "$TARGET_FOLDER"
# Loop through all files and combine
cd "$ROOT_FOLDER/external/l10n/locale";
for d in */; do
cd "$d";
locale=$(echo $d | sed 's/_/-/' | sed 's/\/$//')
count=$(ls | grep .ftl | wc -l)
if [[ $((count)) == 0 ]]; then
echo "$PREFIX: $locale has no .ftl files"
else
mkdir -p "$ROOT_FOLDER/$TARGET_FOLDER/$locale"
cp *.ftl "$ROOT_FOLDER/$TARGET_FOLDER/$locale/"
fi
cd ..
done
# Record the current git version
cd "$ROOT_FOLDER/external/l10n"
git rev-parse HEAD > "$ROOT_FOLDER/$TARGET_FOLDER/git-head.txt"