Localization/Guide/zh-cn

时区
为了在现在的位置保持正确的系统时间，必须设置时区. 在 系统时间 这篇文章中可以找到有关基于 OpenRC 系统 和 基于 systemd 的系统 的说明.

什么是 locale?
区域设置 (locale) 是大多数程序用来确定国家和语言特定设置的一组信息. locale 及其数据是系统库的一部分，大多数系统上可以在 找到 locale. 一个 locale 名称通常被命名为 ，  是两个（或三个）单词的语言代码（在 ISO-639 中指定），   是两个字母的国家代码（在 ISO-3166 中指定）. 像  和   这样的变量通常被附加到 locale  名称之后，例如   or. 请浏览 维基百科 了解更多关于 locale 信息和相关文章.

locale 的环境变量
下表给出了 locale 设置中控制不同方面的变量. 他们都采用上面给出的  格式 locale 的一个名称.

通常，用户只在全局设置 LANG 变量.

生成特定 locale
大多数用户可能只会在其系统上使用一个或两个locale. 在 文件中说明了如何指定其他 locale.

下一步是运行. 它将生成所有在 文件中指定的 locale 并且把他们写入到 locale-存档（）.

用验证所选择的 locale 是否可用.

可以用 列出  文件.

可以用 命令显示原始数据.

OpenRC
使用 OpenRC 时，locale 设置存储在环境变量中. 通常在 （系统级的设置）和   (用于用户特定的设置). 更多细节可以在 UTF-8 文章中找到. 系统级的设置可以通过 eselect locale 进行管理. 例如，要将 LANG 变量的值设置为 ：

当然，也可以手动编辑文件使 locale 变量多样化.

The command above lists the suffix in lower case without any hyphens, glibc understands both forms of the suffix, many other programs don't. The most common example of which is X. So it is best to always use UTF-8 in preference to utf8.

在某些情况下，用户可能会注意到某些应用程序(如 Krusader )中的非英语展现有问题( https://bugs.kde.org/show_bug.cgi?id=371582 ). 从 删除或注释   行应该能修复此问题.

It's also possible, and pretty common especially in a more traditional UNIX environment, to leave the global settings unchanged, i.e. in the  locale. Users can still specify their preferred locale in their own shell configuration file:

配置系统的另一种方法是将其保留在默认的  locale，但同时启用UTF-8 字符表示（character representation）. 此选项使用 中的以下设置实现：

使用上面的代码片段，用户将能够正确地查看本地化文件名，而不必完全使用所选的语言.

一旦设置了正确的 locale，请确保更新环境变量以使系统知道更改了 locale.

对于系统级默认 locale：

对于用户用户特定的 locale:

之后，按 ++ 结束 X 服务，注销，然后使用用户登录.

现在，严重更改是否生效：

The values of locale environment variables that have been explicitly set e.g. in an export statement (if using bash) are listed without double quotes. Those whose value has been inherited from other locale environment variables have their values in double quotes.

systemd
在 systemd 中，使用 命令设置 locale. 通过以下方法检查可用 locale 列表：

然后设置所需的 local：

最后检查结果是否良好：

OpenRC
控制台使用的键盘布局是在 中设置的 keymap 变量. 可以在 中找到有效值. 进一步细分为布局 （， 等）. 有些语言有多种选择——请尝试各种不同的选择来决定哪一种最能满足你的需要.

systemd
使用 systemd 时，可以使用 命令设置控制台使用的键映射布局. 首先检查可用的键盘映射布局：

然后设置需求的控制台键盘映射布局：

最后检查控制台的键盘布局是否正确设置：

OpenRC
X 服务使用的键盘布局在 ，通过 XkbLayout 设置. 更多详细信息请查看 Xorg 向导 和关于 键盘布局切换 的文章.

systemd
使用 systemd 时，可以使用 命令设置 X11 服务的键映射布局. 首先检查可用的 X11 键盘映射布局：

然后设置需求的 X11 键盘映射布局：

最后检查 X11 的键盘布局是否正确设置：

母语支持
For message based localization to work in programs that support it and have the  USE flag, compile the programs with this flag set. Message strings are installed in files. Most of the programs using the Native Language Support (NLS) also need the gettext library to extract and use localized messages. Of course, Portage will automatically install it when needed.

在启用  USE flag 之后，一些软件包可能需要重新 emerge：

LINGUAS
还有一个额外的 LINGUAS 变量，一些基于 gettext 的构建系统使用该变量来控制构建和安装哪些本地化文件. 该变量采用“空格”分隔的语言代码列表，并且建议在 中设置它：

注意，不设置 LINGUAS 和用  设置为空值有很大的不同，大多数 ebuild 将仅安装软件包的默认语言，但是没有  文件.

L10N
被称为 L10N 的 USE_EXPAND 变量决定将安装哪些额外的本地化支持. 它常用于通过软件包来下载其他语言包. 类似于 LINGUAS ，该变量采用空格分隔的语言标签列表，并且它可以在 中设置：

若要在每一个软件包设置，编辑 并且为需求的语言包添加前缀 "l10n_"，如下例所示：

注意，虽然常见的两字母的语言代码(像  和  ) 在 LINGUAS 和 L10N 变量中是一样的，但是更复杂的条目具有不同的语法，因为 L10N 使用  IETF 语言标签 （又称BCP 47）. 例如，在 LINGUAS 中的  和   分别为 L10N 中的   和.

可用的 L10N 值列表在 中提供：

在设置了 L10N USE_EXPAND 变量之后，可能需要重新 emerge 一些软件包：

另请参阅

 * 配置 locales (Gentoo 手册)
 * 键盘布局 inside the Evdev article
 * X resources

外部资源

 * Locales and Internationalization (gnu.org)
 * L10N USE_EXPAND variable replacing LINGUAS
 * Michał Górny: How LINGUAS are thrice wrong!
 * [gentoo-dev [RFC] How to deal with LINGUAS mess? ]
 * [gentoo-dev [RFC] Masterplan for solving LINGUAS problems ]