Bash 脚本的国际化

Bash 脚本的国际化

我想获取语言区域设置,以便可以调用特定语言的相关帮助功能。我可以使用locale来获取LANGLANGUAGE变量。但需要一些帮助来实现针对特定语言的条件检查。

locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

答案1

以下脚本可能是您的 bash shellscript 的一部分。

#!/bin/bash

function help_fr () {
    echo "Francais"
}
#
function help_it () {
    echo "Italiano"
}
#
function help_en () {
    echo "English"
}

# main

curlang="${LANG:0:2}"

case "$curlang" in
 fr)
  help_fr
  ;;
 it)
  help_it
  ;;
 *) # assuming default English
  help_en
  ;;
esac

相关内容