3 # Set LANGUAGE_DEFAULT to enable Plugin
4 [ ! "$LANGUAGE_DEFAULT" ] && return 1
6 export LANGUAGE_DEFAULT="${LANGUAGE_DEFAULT:-en}"
7 export HTTP_REFERER="${HTTP_REFERER:-$(HEADER Referer)}"
8 export LANGUAGE ERROR_MSG
10 case ${HTTP_REFERER} in
13 LANGUAGE_REFERRED="${HTTP_REFERER##*/:}"
17 LANGUAGE="${LANGUAGE_REFERRED:-${LANGUAGE_DEFAULT}}"
20 */:?*/\[attachment\]/?*)
21 LANGUAGE="${PATH_INFO#*/:}"
22 LANGUAGE="${LANGUAGE%%/*}"
23 PATH_INFO="${PATH_INFO%%:?*/*}${PATH_INFO#*/:?*/}"
26 LANGUAGE="${PATH_INFO#*/:}"
27 LANGUAGE="${LANGUAGE%%/*}"
28 PATH_INFO="${PATH_INFO%:?*/\[attachment\]}[attachment]"
31 LANGUAGE="${PATH_INFO#*/:}"
32 LANGUAGE="${LANGUAGE%%/*}"
35 # Accidental double language link, last one stays valid!
36 REDIRECT "${_BASE}${PATH_INFO%/:?*/:?*}/:${PATH_INFO##*/:}"
39 :;; # Default attachment handler
40 */:?*/) # Faulty URL build
41 REDIRECT "${_BASE}${PATH_INFO%/}"
43 # */:"${LANGUAGE_DEFAULT}")
44 # REDIRECT "${_BASE}${PATH_INFO%:*}"
47 LANGUAGE="${PATH_INFO##*/:}"
48 PATH_INFO="${PATH_INFO%:*}"
50 [ "$LANGUAGE" != "$LANGUAGE_DEFAULT" ] \
51 && case "$(mdfile "${PATH_INFO}")" in
52 *"/:$LANGUAGE/#page.md")
56 *)ERROR_MSG="TRANSLATION NOT FOUND"
60 /|*/*/) # Keep Language from Referer
61 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
62 REDIRECT "${_BASE}${PATH_INFO}:${LANGUAGE_REFERRED}"
65 */\[*\]) # Keep Language from Referer
66 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
67 REDIRECT "${_BASE}${PATH_INFO%\[*\]}:${LANGUAGE_REFERRED}/[${PATH_INFO##*/\[}"
72 _(){ printf %s\\n "$*"; }
73 [ -r "${_EXEC}/l10n/${LANGUAGE}.sh" ] && . "${_EXEC}/l10n/${LANGUAGE}.sh"