Fix up locale generator to exit on error instead of ignoring it, handle filenames better (#2422)
Don't mix tabs and spaces, use tabs, just like the main script
This commit is contained in:
parent
3f4fbed7b7
commit
7011ac095f
|
|
@ -1,49 +1,48 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cd $(dirname "$0")/..
|
||||
|
||||
function update_lang() {
|
||||
file=$1
|
||||
file=${1}
|
||||
|
||||
echo "Updating: $file"
|
||||
path=$(dirname $file)
|
||||
msgmerge --quiet --no-location --width 512 --backup none --update $file locales/base.pot
|
||||
msgfmt -o $path/base.mo $file
|
||||
echo "Updating: ${file}"
|
||||
path=$(dirname "${file}")
|
||||
msgmerge --quiet --no-location --width 512 --backup none --update "${file}" locales/base.pot
|
||||
msgfmt -o "${path}/base.mo" "${file}"
|
||||
}
|
||||
|
||||
|
||||
function generate_all() {
|
||||
for file in $(find locales/ -name "base.po"); do
|
||||
update_lang "$file"
|
||||
done
|
||||
for file in $(find locales/ -name "base.po"); do
|
||||
update_lang "${file}"
|
||||
done
|
||||
}
|
||||
|
||||
function generate_single_lang() {
|
||||
lang_file="locales/$1/LC_MESSAGES/base.po"
|
||||
lang_file="locales/${1}/LC_MESSAGES/base.po"
|
||||
|
||||
if [ ! -f "$lang_file" ]; then
|
||||
echo "Language files not found: $lang_file"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "${lang_file}" ]; then
|
||||
echo "Language files not found: ${lang_file}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
update_lang "$lang_file"
|
||||
update_lang "${lang_file}"
|
||||
}
|
||||
|
||||
|
||||
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo "Usage: locales_generator.sh <language_abbr>"
|
||||
exit 1
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: ${0} <language_abbr>"
|
||||
echo "Special case 'all' for <language_abbr> builds all languages."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
lang=$1
|
||||
lang=${1}
|
||||
|
||||
# Update the base file containing all translatable string
|
||||
# Update the base file containing all translatable strings
|
||||
find . -type f -iname "*.py" | xargs xgettext --join-existing --no-location --omit-header -d base -o locales/base.pot
|
||||
|
||||
case "$lang" in
|
||||
"all") generate_all
|
||||
;;
|
||||
*) generate_single_lang "$lang"
|
||||
case "${lang}" in
|
||||
"all") generate_all;;
|
||||
*) generate_single_lang "${lang}"
|
||||
esac
|
||||
|
|
|
|||
Loading…
Reference in New Issue