forked from organicmaps/organicmaps
Updated translate script
Signed-off-by: Alexander Borsuk <me@alex.bio>
This commit is contained in:
parent
c59766cfe7
commit
e8b509ecc0
1 changed files with 18 additions and 10 deletions
|
@ -1,6 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e -u
|
||||
# Install translate-shell before using this script.
|
||||
# Use `brew install translate-shell` on Mac OS X.
|
||||
|
||||
# There is a rate-limit for Google which can be work-arounded by using
|
||||
# another IP or IPv6.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
case $# in
|
||||
1) SRC=en
|
||||
|
@ -9,22 +15,24 @@ case $# in
|
|||
2) SRC="$1"
|
||||
WORD="$2"
|
||||
;;
|
||||
*) echo "Usage: $0 word_in_English"
|
||||
*) echo "Usage: $0 word_or_text_in_English"
|
||||
echo " or"
|
||||
echo " $0 language_code word_in_given_language"
|
||||
echo " $0 source_language_code word_or_text_in_given_language"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
LANGUAGES=( en ar cs da de el es fi fr he hu id it ja ko nb nl pl pt ro ru sk sv sw th tr uk vi zh-CN zh-TW )
|
||||
# Note: default Google engine doesn't properly support European Portuguese (pt-PT)
|
||||
# and always produces Brazilian translations.
|
||||
LANGUAGES=( en ru ar be bg cs da de el es fa fi fr he hu id it ja ko nb nl pl pt-PT pt-BR ro ru sk sv sw th tr uk vi zh-CN zh-TW )
|
||||
|
||||
for lang in "${LANGUAGES[@]}"; do
|
||||
TRANSLATION=$(trans -b "$SRC:$lang" "$WORD" | sed 's/ *//')
|
||||
# Use our categories.txt names for Chinese.
|
||||
if [[ $lang == "zh-CN" ]]; then
|
||||
lang="zh-Hans";
|
||||
elif [[ $lang == "zh-TW" ]]; then
|
||||
lang="zh-Hant";
|
||||
fi
|
||||
# Correct language codes to ours.
|
||||
case $lang in
|
||||
zh-CN) lang="zh-Hans" ;;
|
||||
zh-TW) lang="zh-Hant" ;;
|
||||
pt-PT) lang="pt" ;;
|
||||
esac
|
||||
echo "$lang:$(tr '[:lower:]' '[:upper:]' <<< ${TRANSLATION:0:1})${TRANSLATION:1}"
|
||||
done
|
||||
|
|
Loading…
Add table
Reference in a new issue