summaryrefslogtreecommitdiff
path: root/webgen
diff options
context:
space:
mode:
authorPhilipp Schafft <lion@lion.leolix.org>2016-06-18 13:09:02 +0000
committerPhilipp Schafft <lion@lion.leolix.org>2017-03-27 02:11:20 +0000
commit93cc565c0ed16adb27866c3bbabc1d263e89743c (patch)
tree12d02cc296c65f2f1e8c602cd8a5fc2d6fb791ca /webgen
parent56229d3b3e55b924fe85e1e3b2fa97b42cd821d7 (diff)
Feature: Added multi-language support
Diffstat (limited to 'webgen')
-rwxr-xr-xwebgen18
1 files changed, 16 insertions, 2 deletions
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() {