зеркало из https://github.com/Azure/aks-engine.git
60 строки
1.4 KiB
Bash
Executable File
60 строки
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
GO_SOURCE="pkg/engine/*.go pkg/engine/transform/*.go pkg/api/*.go pkg/operations/*.go pkg/operations/kubernetesupgrade/*.go"
|
|
LANGUAGE="en_US"
|
|
DOMAIN="acsengine"
|
|
generate_po="false"
|
|
generate_mo="false"
|
|
|
|
while getopts "hl:pm" opt; do
|
|
case $opt in
|
|
h)
|
|
echo "$0 [-l language] [-p] [-m]"
|
|
echo " -l <language>: Language to translate"
|
|
echo " -p extract strings and generate PO file"
|
|
echo " -m generate MO file"
|
|
exit 0
|
|
;;
|
|
l)
|
|
LANGUAGE="${OPTARG}"
|
|
;;
|
|
p)
|
|
generate_po="true"
|
|
;;
|
|
m)
|
|
generate_mo="true"
|
|
;;
|
|
\?)
|
|
echo "$0 [-l language] [-p] [-m]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ! which go-xgettext > /dev/null; then
|
|
echo 'Can not find go-xgettext, install with:'
|
|
echo 'go get github.com/JiangtianLi/gettext/go-xgettext'
|
|
exit 1
|
|
fi
|
|
|
|
if ! which msginit > /dev/null; then
|
|
echo 'Can not find msginit, install with:'
|
|
echo 'apt-get install gettext'
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${generate_po}" == "true" ]]; then
|
|
echo "Extract strings and generate PO files..."
|
|
go-xgettext -o ${DOMAIN}.pot --keyword=Translator.Errorf --keyword-plural=Translator.NErrorf --msgid-bugs-address="" --sort-output ${GO_SOURCE}
|
|
msginit -l ${LANGUAGE} -o ${DOMAIN}.po -i ${DOMAIN}.pot
|
|
fi
|
|
|
|
if [[ "${generate_mo}" == "true" ]]; then
|
|
echo "Generate MO file..."
|
|
if [ ! -f ${DOMAIN}.po ]; then
|
|
echo "${DOMAIN}.po not found!"
|
|
exit 1
|
|
fi
|
|
msgfmt -c -v -o ${DOMAIN}.mo ${DOMAIN}.po
|
|
fi
|