如何创建新的系统区域设置

如何创建新的系统区域设置

所以我想创建一种国际化的美国英语区域设置,具有公制/SI 测量、A4 纸张尺寸、ISO 日期格式等。

据我所知,区域设置是在 中定义的/usr/share/i18n/locales。我是否可以将区域设置放在这里并在选择区域设置时识别它?我应该如何命名此区域设置的文件?在哪里可以找到有关文件格式和各种设置的有效值的信息?

答案1

我们在维基页面上有描述如何向 Ubuntu 添加新语言。 简而言之:

  1. 选择语言环境的名称. 格式为language_REGION@modifier,其中语言是一个ISO 639-2 双字母代码(如果前者不可用,则为三个字母的那个),地区是一个ISO 3166 代码代表使用该语言的地区,以及修饰符没有固定语法,可用于指定语言环境的高级用途(例如不同的脚本)。大多数语言环境不需要修饰符。

    • 例如:bn_IN 是印度孟加拉语的语言环境,it_CH 是瑞士意大利语的语言环境。
  2. 创建同名文件。选择名称后,您必须创建一个同名文件,其中包含您的语言环境的定义。请注意,如果您的语言在不同地区使用,您可能需要为每个地区创建不同的文件。

    • 例如:ca_AD、ca_ES、ca_FR、ca_IT 是安道尔、西班牙、法国和意大利地区使用的加泰罗尼亚语的区域设置定义。
  3. 定义区域设置。此时,您必须使用语言定义填充文件。语言环境定义文件具有特定的语法。请参阅下面的其他资源以了解此语法以及如何定义新的语言环境。查看glibc 源中可用的语言环境文件有助于了解格式。另外请记住重复使用:使用该copy语句包含具有相同内容的区域的部分。

  4. 测试语言环境定义. 语言环境文件准备就绪后,您应该在本地测试它们以确保它们正确无误。基本步骤如下:

    • 将文件复制到/usr/local/share/i18n/locales/

    • 运行以下命令生成应用程序要使用的二进制文件,并进行实际测试。

      localedef -i inputfile -c -f <charset> <locale>
      

    示例(使用 date 命令测试阿斯图里亚斯语言环境):

    cp ast_ES /usr/local/share/i18n/locales/ast_ES
    localedef -i ast_ES -c -f ISO-8859-15 ast_ES
    LANG=ast_ES date
    

有关创建 glibc 区域设置的其他资源:

答案2

使用以下方法编译您的语言环境:

sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v 

其中 custom 是您的语言环境文件的名称,然后复制语言环境文件/usr/share/i18n/locales/sudo locale-gen修改/etc/environment~/.profile。完成!!!

我应该将这个区域的文件命名为什么?

你可以给你的本地

我是否可以在这里输入语言环境并在选择语言环境时识别它?

您需要在/etc/environment或中提及自定义语言环境~/.profile

在哪里可以找到有关文件格式和各种设置的有效值的信息?

您可以参考此链接了解更多信息:如何自定义系统区域设置?http://lh.2xlibre.net/locales/

相关内容