From 93cc565c0ed16adb27866c3bbabc1d263e89743c Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sat, 18 Jun 2016 13:09:02 +0000 Subject: Feature: Added multi-language support --- webgen | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'webgen') diff --git a/webgen b/webgen index 8e83d1c..60f82f6 100755 --- a/webgen +++ b/webgen @@ -45,6 +45,7 @@ END=end PAGE_SUFFIX='.html' DEFAULT_MENU='-menu-none' PREPROCESSOR='none' +LANGUAGE='' # CODE: setup() { @@ -83,6 +84,10 @@ do PREPROCESSOR="$2" shift ;; + '--language') + LANGUAGE="$2" + shift + ;; '--setup') setup exit 0 @@ -199,7 +204,15 @@ gen_faq() proc_page() { _tpl="$1" CLEANTPLNAME=$(echo "$_tpl" | sed 's/^[\-\+\~]//') - OF="$OUT"/"$CLEANTPLNAME""$PAGE_SUFFIX" + if [ "$LANGUAGE" = '' ] + then + LANGUAGE_SUFFIX='' + TRANSLATE_REGEX='s/(translate:\(.*\):)/\1/' + else + LANGUAGE_SUFFIX=".$LANGUAGE" + TRANSLATE_REGEX=`grep "^$LANGUAGE[[:space:]]" "#translate" "#translate$LANGUAGE_SUFFIX" "#translate$_tpl" "#translate$_tpl$LANGUAGE_SUFFIX" 2> /dev/null | sed 's/^[^\t]*\t\t*\([^\t]*\)\t\t*\(.*\)$/s|(translate:\1:)|\2|g;/'`'s/(translate:\(.*\):)/\1/' + fi + OF="$OUT"/"$CLEANTPLNAME""$LANGUAGE_SUFFIX""$PAGE_SUFFIX" echo "Compiling $CLEANTPLNAME -> $OF" SECTIONS=`for _sec in $(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#section-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); do O=''; for i in $(tr . ' ' <<<"$_sec"); do O="$O.$i"; echo $O; done; done`' .ALL' # echo "Sections: $SECTIONS" @@ -216,7 +229,8 @@ proc_page() { cat_file -$END } | \ sed "$SECTIONS_REGEX" | \ - sed 's#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' > "$OF" + sed "$TRANSLATE_REGEX" | \ + sed 's#href="[+~]\([^"\#(]*\)(same-language)\(\#*[^"]*\)"#href="\1'"$LANGUAGE_SUFFIX""$PAGE_SUFFIX"'\2"#g; s#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' > "$OF" } proc_raw() { -- cgit v1.2.3