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 :;; # Default attachment handler
34 */:?*/) # Faulty URL build
35 REDIRECT "${_BASE}${PATH_INFO%/}"
37 # */:"${LANGUAGE_DEFAULT}")
38 # REDIRECT "${_BASE}${PATH_INFO%:*}"
41 LANGUAGE="${PATH_INFO##*/:}"
42 PATH_INFO="${PATH_INFO%:*}"
44 [ "$LANGUAGE" != "$LANGUAGE_DEFAULT" ] \
45 && case "$(mdfile "${PATH_INFO}")" in
46 *"/:$LANGUAGE/#page.md")
50 *)ERROR_MSG="TRANSLATION NOT FOUND"
54 /|*/*/) # Keep Language from Referer
55 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
56 REDIRECT "${_BASE}${PATH_INFO}:${LANGUAGE_REFERRED}"
59 */\[*\]) # Keep Language from Referer
60 if [ "$LANGUAGE_REFERRED" -a "$LANGUAGE_REFERRED" != "$LANGUAGE_DEFAULT" ]; then
61 REDIRECT "${_BASE}${PATH_INFO%\[*\]}:${LANGUAGE_REFERRED}/[${PATH_INFO##*/\[}"