From dc44c7a68ee4522189ad86cd33824dc68c9600c4 Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Mon, 21 Oct 2024 23:33:36 +0200 Subject: [PATCH] build: co-opt i18n-init.sh to kick start an empty app folder Signed-off-by: Paul Donald --- build/i18n-add-language.sh | 6 +++--- build/i18n-init.sh | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/build/i18n-add-language.sh b/build/i18n-add-language.sh index 951985253e..d244e71c0c 100755 --- a/build/i18n-add-language.sh +++ b/build/i18n-add-language.sh @@ -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 [ ...]" >&2 + echo $(basename "$0") "adds i18n catalogues in each folder (luci-app-*, luci-mod-*, etc)." + echo "Usage: $(basename "$0") [ ...]" >&2 exit 1 ;; esac diff --git a/build/i18n-init.sh b/build/i18n-init.sh index de8626163d..7f3161e6cd 100755 --- a/build/i18n-init.sh +++ b/build/i18n-init.sh @@ -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 \ No newline at end of file -- 2.30.2