PHP 8.0.30
Preview: lang.sh Size: 2.26 KB
//etc/profile.d/lang.sh

# /etc/profile.d/lang.sh - exports environment variables, and provides fallback
#                          for CJK languages that can't be displayed in console.

if [ -n "${LANG}" ]; then
    LANG_backup="${LANG}"
fi

for config in /etc/locale.conf "${HOME}/.i18n"; do
    # NOTE: We are using eval & sed here to avoid invoking of any commands & functions from those files.
    if [ -f "${config}" ]; then
        eval $(/usr/bin/sed -r -e 's/^[[:blank:]]*([[:upper:]_]+)=([[:print:][:digit:]\._-]+|"[[:print:][:digit:]\._-]+")/export \1=\2/;t;d' ${config})
    fi
done

if [ -n "${LANG_backup}" ]; then
    LANG="${LANG_backup}"
fi

unset LANG_backup config

# ----------------------------------------------

# The LC_ALL is not supposed to be set in /etc/locale.conf according to 'man 5 locale.conf'.
# If it is set, then we we expect it is user's explicit override (most likely from ~/.i18n file).
# See 'man 7 locale' for more info about LC_ALL.
if [ -n "${LC_ALL}" ]; then
    if [ "${LC_ALL}" != "${LANG}" ]; then
        export LC_ALL
    else
        unset LC_ALL
    fi
fi

# The ${LANG} manipulation is necessary only in virtual terminal (a.k.a. console - /dev/tty*):
if [ -n "${LANG}" ] && [ "${TERM}" = 'linux' ] && /usr/bin/tty | /usr/bin/grep --quiet -e '/dev/tty'; then
    if /usr/bin/grep --quiet -E -i -e '^.+\.utf-?8$' <<< "${LANG}"; then
        case ${LANG} in
            ja*)    LANG=en_US.UTF-8 ;;
            ko*)    LANG=en_US.UTF-8 ;;
            si*)    LANG=en_US.UTF-8 ;;
            zh*)    LANG=en_US.UTF-8 ;;
            ar*)    LANG=en_US.UTF-8 ;;
            fa*)    LANG=en_US.UTF-8 ;;
            he*)    LANG=en_US.UTF-8 ;;
            en_IN*) true             ;;
            *_IN*)  LANG=en_US.UTF-8 ;;
        esac
    else
        case ${LANG} in
            ja*)    LANG=en_US ;;
            ko*)    LANG=en_US ;;
            si*)    LANG=en_US ;;
            zh*)    LANG=en_US ;;
            ar*)    LANG=en_US ;;
            fa*)    LANG=en_US ;;
            he*)    LANG=en_US ;;
            en_IN*) true       ;;
            *_IN*)  LANG=en_US ;;
        esac
    fi

    # NOTE: We are not exporting the ${LANG} here again on purpose.
    #       If user starts GUI session from console manually, then
    #       the previously set LANG should be okay to use.
fi

Directory Contents

Dirs: 0 × Files: 34

Name Size Perms Modified Actions
69 B lrw-r--r-- 2021-10-11 07:39:41
Edit Download
196 B lrw-r--r-- 2019-05-11 00:25:42
Edit Download
201 B lrw-r--r-- 2019-05-11 00:25:42
Edit Download
1.70 KB lrw-r--r-- 2026-03-24 12:45:15
Edit Download
1.57 KB lrw-r--r-- 2026-03-24 12:45:15
Edit Download
69 B lrw-r--r-- 2024-07-03 09:37:09
Edit Download
56 B lrw-r--r-- 2024-07-03 09:37:09
Edit Download
162 B lrw-r--r-- 2022-06-14 12:58:42
Edit Download
183 B lrw-r--r-- 2022-06-14 12:58:42
Edit Download
216 B lrw-r--r-- 2022-04-20 11:03:05
Edit Download
220 B lrw-r--r-- 2022-04-20 11:03:05
Edit Download
376 B lrw-r--r-- 2021-10-11 07:39:42
Edit Download
80 B lrw-r--r-- 2023-05-15 14:46:40
Edit Download
674 B lrw-r--r-- 2025-08-25 12:55:47
Edit Download
596 B lrw-r--r-- 2025-08-25 12:55:47
Edit Download
1.08 KB lrw-r--r-- 2017-12-14 17:53:45
Edit Download
757 B lrw-r--r-- 2017-12-14 17:53:45
Edit Download
2.43 KB lrw-r--r-- 2023-05-15 14:46:40
Edit Download
2.26 KB lrw-r--r-- 2023-05-15 14:46:40
Edit Download
500 B lrw-r--r-- 2024-07-02 19:57:10
Edit Download
253 B lrw-r--r-- 2024-07-02 19:57:10
Edit Download
240 B lrwxr-xr-x 2021-10-11 07:41:02
Edit Download
288 B lrwxr-xr-x 2021-10-11 07:41:02
Edit Download
49 B lrw-r--r-- 2019-10-18 20:38:39
Edit Download
153 B lrw-r--r-- 2019-10-18 20:38:39
Edit Download
105 B lrw-r--r-- 2023-10-14 18:46:13
Edit Download
448 B lrw-r--r-- 2023-10-14 18:46:13
Edit Download
284 B lrw-r--r-- 2017-08-25 08:23:02
Edit Download
637 B lrw-r--r-- 2017-08-25 08:23:02
Edit Download
81 B lrw-r--r-- 2023-05-15 14:46:40
Edit Download
106 B lrw-r--r-- 2026-07-13 08:07:59
Edit Download
248 B lrw-r--r-- 2026-07-13 08:07:59
Edit Download
120 B lrw-r--r-- 2025-08-26 08:51:59
Edit Download
628 B lrw-r--r-- 2025-08-26 08:51:59
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).