在 OS X Yosemite 上 运行 `locale -a` 时 LANG 和 LC_ALL 是空的不好吗?
Is it bad that LANG and LC_ALL are empty when running `locale -a` on OS X Yosemite?
我用 OS X Yosemite.
当我 运行 locale
我得到这个:
locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
问题
LANG
和LC_ALL
的空是bad/normal/prefered吗?
通常情况下,我不会太在意它,但我有一个警告
(process:16182): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
当我使用 GTK
() 时。
人们一直在用多种语言解决这个问题 (Python for example) and different OS (Ubuntu for example)。
重点是我找不到C语言和OS X的任何解决方案。
我猜 GTK 警告是因为 GTK 实际上试图使用系统偏好设置中的 Mac 语言和区域设置来制作区域设置标识符字符串,将该字符串与 setlocale()
一起使用,并被告知 C 库不支持该语言环境。因此,它默认为 "C" 语言环境。如果它不是试图找到一个更好的语言环境,就没有理由警告它正在使用 "C" 语言环境,因为当 LANG
和 LC_ALL
未设置时,这是预期的结果。
OS X 在高级框架(Cocoa 等)中支持许多语言和区域设置,但并非所有这些都在 C 库级别也受支持.系统偏好设置中的语言和区域设置是什么?您希望您的语言和区域设置使用什么区域设置标识符?看看 locale -a
的输出中是否有(或者,类似地,/usr/share/locale
中是否有它的目录)。
要检查的另一件事是终端的首选项。在“设置”窗格的“高级”选项卡下,是否设置了 "Set locale environment variables on startup"?如果没有,那么默认情况下不会设置这些环境变量,这可能解释了您所看到的内容。如果该设置已启用但您仍然没有获得这些环境变量,则表明终端无法找到与您的系统设置匹配的合适的 C 库语言环境。
最后,您可以简单地尝试将 LANG
设置为您想要使用的内容。例如:
export LANG=pl_PL.UTF-8
我用 OS X Yosemite.
当我 运行 locale
我得到这个:
locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
问题
LANG
和LC_ALL
的空是bad/normal/prefered吗?
通常情况下,我不会太在意它,但我有一个警告
(process:16182): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
当我使用 GTK
(
人们一直在用多种语言解决这个问题 (Python for example) and different OS (Ubuntu for example)。
重点是我找不到C语言和OS X的任何解决方案。
我猜 GTK 警告是因为 GTK 实际上试图使用系统偏好设置中的 Mac 语言和区域设置来制作区域设置标识符字符串,将该字符串与 setlocale()
一起使用,并被告知 C 库不支持该语言环境。因此,它默认为 "C" 语言环境。如果它不是试图找到一个更好的语言环境,就没有理由警告它正在使用 "C" 语言环境,因为当 LANG
和 LC_ALL
未设置时,这是预期的结果。
OS X 在高级框架(Cocoa 等)中支持许多语言和区域设置,但并非所有这些都在 C 库级别也受支持.系统偏好设置中的语言和区域设置是什么?您希望您的语言和区域设置使用什么区域设置标识符?看看 locale -a
的输出中是否有(或者,类似地,/usr/share/locale
中是否有它的目录)。
要检查的另一件事是终端的首选项。在“设置”窗格的“高级”选项卡下,是否设置了 "Set locale environment variables on startup"?如果没有,那么默认情况下不会设置这些环境变量,这可能解释了您所看到的内容。如果该设置已启用但您仍然没有获得这些环境变量,则表明终端无法找到与您的系统设置匹配的合适的 C 库语言环境。
最后,您可以简单地尝试将 LANG
设置为您想要使用的内容。例如:
export LANG=pl_PL.UTF-8