build: co-opt i18n-init.sh to kick start an empty app folder

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
This commit is contained in:
Paul Donald 2024-10-21 23:33:36 +02:00
parent 24bbea6825
commit dc44c7a68e
2 changed files with 19 additions and 5 deletions

View File

@ -2,7 +2,7 @@
LANGS=$@
if [ "$#" -eq 0 ]; then
echo $0 "adds i18n catalogue(s) in po/ folders (luci-app-*, luci-mod-*, etc) for each LUCI_LANG.* in luci.mk"
echo $(basename "$0") "adds i18n catalogue(s) in po/ folders (luci-app-*, luci-mod-*, etc) for each LUCI_LANG.* in luci.mk"
echo "Hint: run in the root of the luci repo or in your luci-app-* folder."
# get existing language codes from luci.mk
@ -14,8 +14,8 @@ else
case "$LANG" in
[a-z][a-z]|[a-z][a-z][_-][A-Za-z][A-Za-z]*) : ;;
*)
echo $0 "adds i18n catalogues in each folder (luci-app-*, luci-mod-*, etc)."
echo "Usage: $0 <ISO_CODE> [<ISO_CODE> <ISO_CODE> ...]" >&2
echo $(basename "$0") "adds i18n catalogues in each folder (luci-app-*, luci-mod-*, etc)."
echo "Usage: $(basename "$0") <ISO_CODE> [<ISO_CODE> <ISO_CODE> ...]" >&2
exit 1
;;
esac

View File

@ -3,8 +3,8 @@
PATTERN=$1
SCM=
echo $0 "initialises po/ i18n catalogues in empty language sub-folders."
echo $0 "is deprecated and may be removed in the future."
echo $(basename "$0") "initialises po/ i18n catalogues in empty language sub-folders."
echo $(basename "$0") "is deprecated and may be removed in the future."
echo "Hint: run i18n-add-language.sh instead."
[ -d .svn ] && SCM="svn"
@ -18,6 +18,18 @@ git=$( command -v git 2>/dev/null )
[ -z "$PATTERN" ] && PATTERN="*.pot"
[ "${1#luci-}" ] && {
# user passed e.g. applications/luci-app-example - build template pot
path="${1%/}"
mkdir -p "$path/po/templates"
./build/i18n-scan.pl "$1" > "$1"/po/templates/"${path##*-}".pot && echo "Created $1/po/templates/${path##*-}.pot"
slashes="${path//[^\/]}/" # Keep only slashes
depth="${#slashes}" # Get the length of the remaining string (number of slashes)
prefix=$(printf '../%.0s' $(seq 1 "$depth"))
pushd "$path" 2&>/dev/null || exit
"$prefix"build/i18n-add-language.sh
}
for lang in $(cd po; echo ?? ??_??); do
for file in $(cd po/templates; echo $PATTERN); do
if [ -f po/templates/$file -a ! -f "po/$lang/${file%.pot}.po" ]; then
@ -26,3 +38,5 @@ for lang in $(cd po; echo ?? ??_??); do
fi
done
done
popd 2&>/dev/null|| exit