有没有一种使用Perl在我的Linux系统中查找有效区域设置列表的方法?

30
我需要找到我Linux机器上已安装/支持的语言环境列表。 是否有一种使用Perl查找Linux上有效语言环境列表的方法?
谢谢
5个回答

48

这个命令将会给你一个地区列表:

locale -a

从 Perl 脚本中,您可以使用以下方式执行相同操作:

system("locale -a");

9
如果您想获取所有支持的语言环境列表,在我的Debian发行版中,它们在/usr/share/i18n/SUPPORTED中,因此您可以执行以下操作:
system("cat /usr/share/i18n/SUPPORTED");

这个实际上是有用的 :) +1 另一种方法是: less /usr/share/i18n/SUPPORTED,它当然可以让你搜索“感兴趣的区域设置”。 - user5395338

2
my @locale_list = `locale -a`;
chomp(@locale_list);

2

http://perldoc.perl.org/perllocale.html#Finding-locales

如果您想查看系统中可用的语言环境,请参考setlocale(3)以查看它是否导致可用语言环境列表(搜索“SEE ALSO”部分)。如果失败,请尝试以下命令行:

locale -a
nlsinfo
ls /usr/lib/nls/loc
ls /usr/lib/locale
ls /usr/lib/nls
ls /usr/share/locale

0
如果你说的“有效区域设置”是想检查哪些区域设置是被支持的,
那么你需要去找到这个文件(你可以用“nano”打开它来检查它是否还在)。
nano /usr/share/i18n/SUPPORTED

在Ubuntu 18上测试过


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接