build: co-opt i18n-init.sh to kick start an empty app folder
authorPaul Donald <newtwen+github@gmail.com>
Mon, 21 Oct 2024 21:33:36 +0000 (23:33 +0200)
committerPaul Donald <newtwen+github@gmail.com>
Mon, 21 Oct 2024 22:49:01 +0000 (00:49 +0200)
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
build/i18n-add-language.sh
build/i18n-init.sh

index 951985253eb0f55a8e24ea8a863f45fd0bf932c8..d244e71c0c93d57f9498f611bb74b2bb6aa6b64a 100755 (executable)
@@ -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
index de8626163d0677366355387ef2c3586bd25fc013..7f3161e6cdca3fbda5bbca02b7a1fa1091c83aff 100755 (executable)
@@ -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