gpt4 book ai didi

macos - 在 Mac OSX 中添加区域设置

转载 作者:行者123 更新时间:2023-12-02 01:38:07 24 4
gpt4 key购买 nike

我在 MAMP 环境中使用 gettext。我有 es_ESca_ESen_USgl_ES 的语言环境文件。前三个没有问题,但对于第四个,我在尝试将语言环境翻译文件绑定(bind)到 gl_ES 语言(西类牙的加利西亚语)时收到错误。这对于 apache 或 PHP 来说不是问题,因为其他的都可以工作(在我的 CentOS 服务器中,我有 gl_ES 包并且工作正常)

所以我意识到我的Mac OS X 版本 10.6.8 没有加利西亚语支持。这很奇怪,因为它支持西类牙语、加泰罗尼亚语和尤斯克拉语(西类牙的其他三种官方语言)。一些终端向您展示:

$ locale -a | grep _ES
ca_ES
ca_ES.ISO8859-1
ca_ES.ISO8859-15
ca_ES.UTF-8
es_ES
es_ES.ISO8859-1
es_ES.ISO8859-15
es_ES.UTF-8
eu_ES
eu_ES.ISO8859-1
eu_ES.ISO8859-15
eu_ES.UTF-8
$ ll /usr/share/locale/ | grep _ES
drwxr-xr-x 8 root wheel 272B 3 dic 2010 ca_ES/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 ca_ES.ISO8859-1/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 ca_ES.ISO8859-15/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 ca_ES.UTF-8/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 es_ES/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 es_ES.ISO8859-1/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 es_ES.ISO8859-15/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 es_ES.UTF-8/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 eu_ES/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 eu_ES.ISO8859-1/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 eu_ES.ISO8859-15/
drwxr-xr-x 8 root wheel 272B 3 dic 2010 eu_ES.UTF-8/

回归

  • 我尝试了安装盘(添加语言包)但没有成功:它们只是操作系统的翻译。
  • 我发现this similar question ,但没有那么多信息,也没有好的答案。
  • 我来到localedef作为一个选项,但它似乎仅用于在您已经拥有基本文件时创建 .UTF-8 或类似文件。

我不知道如何向 Mac OS X 添加加利西亚语支持(或任何其他支持)。

如何在 Mac OS X 中添加新的区域设置?

最佳答案

经过几个小时的搜索、翻阅 Perl 代码和令人头疼的事情之后,我得出的结论是,Apple 在语言环境创建和定义部门中表现得非常失败。事情是这样的:OSX 为您提供了一个用 perl 编写的(*ehem* ...shoddy)实用程序脚本,位于 /usr/bin/localedef 中,该脚本用于创建新的语言环境。联机帮助页说用法应该是这样的(在 usr/share/locale 内部运行):

localedef -i base_file -f UTF-8 new_locale_name

正如OP所述,此命令仅用于复制当前区域设置。好吧,我什至无法让它发挥作用!我不懂 perl,但我在 /usr/bin/localedef 中发现了至少一个粗心的代码错误(第 512 行引用了一个名为 set_escape_char 的子程序,它实际上应该是 set_escape),最重要的是我根本无法让 localedef 工作,所以就这样了。正如 @alombarte 所说,您可以使用 cp -R src_locale trg_locale 复制当前区域设置目录,但他忘记提及源区域设置和目标区域设置之间存在差异,您需要实际手动更改文本文件在新的语言环境目录中。

例如,我想创建区域设置 es_NI.UTF-8(尼加拉瓜),并使用正确的货币代码和货币信息,所以这就是我所做的:

cd /usr/share/locale
sudo cp -R es_MX.UTF-8 es_NI.UTF-8
sudo vim es_NI.UTF-8/LC_MONETARY
# changed MXN to NIO, $ to C$, etc...
# saved LC_MONETARY

您可能需要根据新区域设置的使用情况更改其他相关值。 Here是我在网上找到的最好的语言环境信息集合。如果我是一个更好的程序员,我会制作一个脚本,采用该网站的“glibc”导出格式并重新格式化它以与 Mac OSX 中的 localedef 命令一起使用。

附注向 @alombarte 最初的否决表示歉意……尽管他的回答没有回答真正的问题,但我没有意识到以其他方式做到这一点会如此困难。

关于macos - 在 Mac OSX 中添加区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com