LANG和LANGUAGE的区别

 区别在于:
LANGUAGE是设置应用程序的界面语言。
而LANG是优先级很低的一个变量,它指定所有与locale有关的变量的默认值,
例如如果LC_MESSAGE没有被用户设置,则LC_MESSAGE的取值由LANG确定。
LANG的值由用户选择的默认locale决定 ,例如你的默认locale是zh_CN.UTF-8,
则LANG=zh_CN.UTF-8

Installing the locales package

In Debian, locales is a seperate package from glibc, so you'll have to install it in order to generate and use the Japanese locale in Liunx. During installation, debconf will ask you to choose which locales to generate. For starters, pick ja_JP.EUC-JP and en_US. You may also want to choose en_US.UTF-8 and ja_JP.UTF-8 for unicode support.

After installation, you can choose and generate locales manually by editing /etc/locale.gen. The contents of mine are as follows:
# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/doc/locales/SUPPORTED.gz. Other
# combinations are possible, but may not be well tested. If you change
# this file, you need to rerun locale-gen.

en_US ISO-8859-1
en_US.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
After editing the file, run locale-gen as root.
Setting up the environment

There are several special environment variables that determine how various locale-specific tasks should be handled.
LANG - Specifies the default locale for all unset locale variables
LANGUAGE - Most programs use this for the language of its interface
LINGUAS - (Obsolete?) The WindowMaker window manager used to use this instead of LANGUAGE.
LC_ALL - Overrides the locale for all LC_ variables and LANG
LC_CTYPE - Character handling functions
LC_COLLATE - Affects glob bracket ranges and sort order
LC_MESSAGES - Language that messages should be written in. Most programs use the value of LANGUAGE instead.
LC_NUMERIC - Determines the thousands seperator and how to write floating point numbers
LC_TIME - How to format dates and times
To run X with an English interface but the ability to display, input, and copy-paste Japanese text, set the environment variables as follows prior to running X or in your .Xsession file. These examples assume your are running a Bourne-like shell, such as sh, bash, or zsh:
export LANGUAGE=en
export LINGUAS=en
export LC_CTYPE=ja_JP # May break certain things like window maker; untested
export LC_TIME=C # Format time as English
export LC_NUMERIC=C # Format numbers as English
export LC_MESSAGES=C # Output messages in English
export LC_COLLATE=ja_JP # Do sorting and collating of characters as Japanese
export LANG=ja_JP # Use Japanese for all others
If you are using a c-shell like csh or tcsh, use the following instead:
setenv LANGUAGE en
setenv LINGUAS en
setenv LC_CTYPE ja_JP
setenv LC_TIME C
setenv LC_NUMERIC C
setenv LC_MESSAGES C
setenv LC_COLLATE ja_JP
setenv LANG ja_JP
### 回答1: 这是一段 JavaScript 代码。它的作用是获取浏览器的语言设置。 `navigator.language` 属性包含浏览器当前使用的语言代码。`navigator.browserLanguage` 属性包含浏览器默认使用的语言代码。 该代码通过使用 JavaScript 的逻辑或运算符 `||` 来确定哪个属性可用。如果 `navigator.language` 可用,则它的值将赋给变量 `lang`,否则 `navigator.browserLanguage` 的值将赋给 `lang`。 这段代码没有明显的问题,但是要注意,不是所有浏览器都支持 `navigator.language` 和 `navigator.browserLanguage` 属性。因此,应该对这些属性进行检查,以确保在使用它们时不会出现任何问题。 ### 回答2: 这段代码的问题是它对浏览器语言进行了两次检查,首先是`navigator.language`,如果未定义则再检查`navigator.browserLanguage`。然而,这两个属性的语义和用法是不同的。 `navigator.language`是只读属性,返回当前浏览器窗口的语言环境,遵循BCP 47语言标记,表示主要语言标签和可选的区域和变体标签。例如,在英语环境下,它可能返回"en-US"。 另一方面,`navigator.browserLanguage`是过时的属性,并不是所有浏览器都支持。它是在早期版本的IE中引入的,并返回使用的浏览器默认语言。 因此,这段代码的问题在于两次检查语言环境,第一次使用了标准属性`navigator.language`,第二次使用了不稳定并且不被所有浏览器支持的属性`navigator.browserLanguage`。建议只使用`navigator.language`来获取浏览器语言,这样可以确保代码的兼容性和可靠性。 ### 回答3: 这段代码中的问题是它使用了非标准的属性`navigator.browserLanguage`。正确的属性应该是`navigator.languages`。 `navigator.languages`是一个只读属性,返回用户的首选语言设置的可用语言的列表(按优先级顺序排列)。如果用户未进行任何设置,则该属性返回浏览器默认的语言列表。 而`navigator.language`是一个只读属性,返回浏览器报告的当前页面的默认语言。如果返回的语言是"undefined",那么就会使用`navigator.browserLanguage`属性作为备选值。 然而,几乎所有现代浏览器都支持`navigator.languages`属性,而不是支持`navigator.browserLanguage`。因此,使用非标准属性`navigator.browserLanguage`可能会导致代码在某些浏览器上出现问题。 正确的写法应该是使用`navigator.languages`属性来获取用户的首选语言设置的语言列表,并在需要时进行适当的处理。这样代码的兼容性会更好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值