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 :;; # Default handler, considered valid in most cases
33 # Accidental double language link, last one stays valid!
34 REDIRECT "${_BASE}${PATH_INFO%/:?*/:?*}/:${PATH_INFO##*/:}"
37 :;; # Default attachment handler
38 */:?*/) # Faulty URL build
39 REDIRECT "${_BASE}${PATH_INFO%/}"
41 # */:"${LANGUAGE_DEFAULT}")
42 # REDIRECT "${_BASE}${PATH_INFO%:*}"
45 LANGUAGE="${PATH_INFO##*/:}"
46 PATH_INFO="${PATH_INFO%:*}"
48 [ "$LANGUAGE" != "$LANGUAGE_DEFAULT" ] \
49 && case "$(mdfile "${PATH_INFO}")" in
50 *"/:$LANGUAGE/#page.md")
54 *)ERROR_MSG="TRANSLATION NOT FOUND"
58 /|*/*/) # Keep Language from Referer
59 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
60 REDIRECT "${_BASE}${PATH_INFO}:${LANGUAGE_REFERRED}"
63 */\[*\]) # Keep Language from Referer
64 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
65 REDIRECT "${_BASE}${PATH_INFO%\[*\]}:${LANGUAGE_REFERRED}/[${PATH_INFO##*/\[}"
70 [ -r "${_EXEC}/l10n/${LANGUAGE}.sh" ] && . "${_EXEC}/l10n/${LANGUAGE}.sh"