Sap*_*Sap 7 environment-variables locale
“LANGUAGE”变量应该设置默认语言,可用于指定一组语言,如果第一个(前一个)消息中的消息不可用,则将使用下一个语言。
例如(来自gettext示例)带有 'sv:de' 变量值的程序将以瑞典语显示消息,如果找不到此类文本,则以德语显示。
我想使用英语作为我的主要语言和其他一些(比如说俄语)作为次要语言:
export LANGUAGE=en:ru; blabla
blabla: ??????? ?? ???????
^^^^^^^^^^^^^^^^^^
**Russian error message used**
Run Code Online (Sandbox Code Playgroud)
好的。让我们尝试另一个命令:
export LANGUAGE=ru:en; blabla
blabla: ??????? ?? ???????
^^^^^^^^^^^^^^^^^^
**Russian error message used again**
Run Code Online (Sandbox Code Playgroud)
换句话说,在哪个位置指定英语无关紧要,它始终具有最低优先级,如果消息是为该语言定义的,则将以任何其他指定语言显示消息。
问题:如何将英语指定为主要语言,将任何其他语言指定为次要语言?LANGUAGE 变量是怎么回事?
PS 'LC_MESSAGES' 设置为英语语言环境。
正如在这个问题中所讨论的,大多数程序没有“英语”语言环境,而是使用带有英语消息的默认(“C”)语言环境。因此,如果我想使用某些首选英语的语言,那么我必须在列表中的英语语言环境之后添加“C”语言环境。在我的情况下,“语言”必须是:
LANGUAGES=en:C:ru
Run Code Online (Sandbox Code Playgroud)
这意味着“使用英语,然后使用默认值,然后使用俄语”。因此,每个没有英语语言环境的程序(因为使用英语语言环境作为其默认语言环境)将回退到其默认语言环境。
有人可能认为在 'default' 之后指定俄语区域设置没有效果,因为默认区域设置始终存在并且永远不会选择俄语区域设置。这是真的。但是一些程序(如浏览器和文本编辑器)使用“LANGUAGES”变量来获取用户口语的列表(如请求 HTML 页面的语言,或用于拼写检查的语言),在这种情况下俄语获胜'不要在语言列表中多余。
没有理由LANGUAGE
只责备变量。首先,您必须查看locale
程序的输出,并注意有许多变量负责不同的事情。因此,如果您想接收英文消息,请更改变量LC_MESSAGES
:
LC_MESSAGES=C type test\ntest is a shell builtin\n\ntype test\ntest \xd0\xb2\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb5\xd0\xbd\xd0\xb0 \xd0\xb2 \xd0\xbe\xd0\xb1\xd0\xbe\xd0\xbb\xd0\xbe\xd1\x87\xd0\xba\xd1\x83\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2159 次 |
最近记录: |