如何创建新的系统区域设置
所以我想用Metric / SI测量,A4纸张尺寸,ISO日期格式等创建一种国际美国英语语言环境。
据我所知,语言环境在/usr/share/i18n/locales
。 我是否可以将语言环境置于此处并在选择语言环境时将其识别? 我会为此区域设置命名该文件? 我在哪里可以找到有关各种设置的文件格式和有效值的信息?
我们在维基页面上有文档描述了如何向Ubuntu添加新语言 。 简而言之:
-
选择区域设置的名称 。 格式为
language_REGION@modifier
,其中language是ISO 639-2双字母代码 (如果前者不可用,则为三字母代码 ), REGION是ISO 3166代码,代表说出该语言的区域,以及修饰符没有设置语法,可用于指定语言环境的高级用法(例如,不同的脚本)。 大多数语言环境不需要修饰符。- 示例:bn_ID是印度孟加拉语的语言环境,it_CH是瑞士意大利语的语言环境。
-
创建具有该名称的文件 。 选择名称后,您必须创建一个具有该名称的文件,该文件将包含您的语言环境的定义。 请注意,如果您的语言在不同地区使用,则可能必须创建不同的文件,每个区域对应一个文件。
- 示例:ca_AD,ca_ES,ca_FR,ca_IT是加泰罗尼亚语的语言环境定义,如安道尔,西class牙,法国和意大利地区所述。
-
定义区域设置 。 此时,您必须使用您的语言定义填充文件。 区域设置定义文件具有特定语法。 请参阅下面的其他资源以了解此语法以及如何定义新的语言环境。 查看glibc源中的可用语言环境文件有助于了解格式。 还要记住重用:使用copy语句包含具有相同内容的语言环境中的部分。
-
测试区域设置定义 。 一旦您的语言环境文件准备就绪,您应该在本地测试它们以确保它们是正确的。 基本步骤是:
- 将文件复制到
/usr/share/i18n/locales/
, -
运行folowing命令生成应用程序使用的二进制文件,并进行实际测试。
localedef -i inputfile -c -f
示例(使用date命令测试Asturian语言环境):
cp ast_ES /usr/share/i18n/locales/ast_ES localedef -i ast_ES -c -f ISO-8859-15 ast_ES LANG=ast_ES date
- 将文件复制到
有关创建glibc语言环境的其他资源:
- IBM Locale定义文档
- glibc源中的可用语言环境文件 (单击blob链接以查看文件的内容)
- 有关编写glibc语言环境文件的提示
- localedef上的Glibc文档
- 翻译Toolkit项目文档
- 例子:
- 提交普什图语区域
- 提交Chuvash语言环境
编译您的语言环境:
sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
其中custom是您的语言环境文件的名称,并复制/usr/share/i18n/locales/
下的语言环境文件,而不是sudo locale-gen
和modify /etc/environment
或~/.profile
。 做完!!!
What would I name the file for this locale?
你可以给你当地的任何名字
Would I be able to put the locale in here and have it be recognized when choosing a locale?
你需要在/etc/environment
或~/.profile
提到自定义语言/etc/environment
Where could I find information on file format and valid values for the various settings?
您可以参考此链接以获取更多信息: 如何自定义系统区域设置? 和http://lh.2xlibre.net/locales/