问题标签 [setlocale]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12186 浏览

php - 依赖 setlocale 并依赖安装的语言环境是否可行?

我试图用 生成一个本地化的日期字符串strftime,我使用的占位符是%x。语言/区域设置是setlocale(LC_ALL, array('jp','japanese')),但是两个区域设置都不可用,因此它生成了一个包含不正确字符的字符串。然后我安装了ja_JP.utf8语言环境并将其指定为数组中的第一个元素,并且我遇到的日期格式问题得到了解决。

我的问题是,我应该总是依赖安装的语言环境吗?我知道如何将它们安装在我有 root 访问权限的盒子上,但是如果我没有访问权限怎么办?

我相信Zend_Locale并且Zend_Translate根本不依赖,setlocale而是以某种方式在内部进行,这给我的印象是它对于企业级应用程序实际上是不可行的。

我知道我可能会在我的应用程序中使用Zend_LocaleZend_Translate,但它也需要支持 PHP4,至少再过一年,这就是为什么我不能完全依赖这些。

0 投票
2 回答
2237 浏览

javascript - Javascript 等效于 vbscript setlocale

希望有人能快速回答,但我的 google-fu 已经抛弃了我。

在 vbscript 中,我可以使用“setlocale”来设置脚本正在运行的语言环境。我需要一个 javascript 版本。

例如,假设我的用户正在使用具有法语设置的浏览器,但我希望数字和日期是英文的,并且就像它们是英文一样使用。然后在 vbscript 我可以做

设置为英语语言环境

然后当我处理完数字/日期后,我可以设置回法语

是否有等效的javascript?我怎样才能在javascript中完成这个?

0 投票
2 回答
3172 浏览

php - Unicode setlocale 和 strftime 在 Windows 上失败

我有一页,它的编码是UTF-8,如果我尝试在unix系统中运行该代码,一切看起来都很好,但是当我尝试在windows(7)中运行时,一些字符看起来是问号(�)。如何在两个系统中运行代码都很好(不使用 iconv)。

0 投票
1 回答
2646 浏览

iphone - NSDateFormatter - 将设备语言设置为区域设置?

我正在尝试让 iPhone 显示由NSDateFormatter当前设备语言格式化的日期。

我已经尝试过setLocale:[NSLocale currentLocale],但这只会返回5而不是May(或者Mai,如我所愿)。

编辑currentLocale显示May(英文)。systemLocale显示 5(我认为 systemLocale 是挪威语),并且也autoupdatingCurrentLocale显示May

任何帮助表示赞赏。谢谢!:)

没关系 - 模拟器跟我开玩笑,它可以在真实设备上运行。#

0 投票
2 回答
12978 浏览

php - PHP/Gettext 问题

我记得几个月前使用 gettext 运行了一些测试,以下代码运行良好:

这工作得很好(如果我没记错的话,在 Windows XP 和 CentOS 下),这很好,因为我可以使用任意的“语言环境”,而不必担心它们是否安装在系统上。但是,这似乎不再起作用了,我想知道为什么...


红帽 + PHP 5.2.11:

我可以在各种语言环境中来回切换,只要setlocale()调用不返回错误(如果系统上可用/安装了语言环境),翻译就会显示正确。

这并不完美(如果我可以将 gettext 指向任何任意翻译目录而不必测试语言环境的存在,那就太好了),但这是可以接受的。稍后我将进行更多测试。

Windows 7 + PHP 5.3.1 (XAMPP):

setlocale()总是返回 false (即使使用LC_ALL而不是LC_MESSAGES),除非我使用一些有效的 Windows 语言环境,例如eng,deuptg- 在这种情况下,语言环境似乎设置正确,但翻译仍然不显示。我现在无法测试,因为我打开了数百个选项卡,但我认为对该脚本的第一次调用会产生正确的翻译(重新启动 Apache 不会成功)。

我不确定这是否与PHP Bug #49349 有关。我会测试这是几个小时。


有什么方法可以跨不同的操作系统(可能使用自定义语言环境,如)可靠地使用 gettext 扩展(不是纯 PHP 实现,如php-gettextZend Translate Adapter)?l33t

另外,绝对有必要使用setlocale(LC_ALL, ...)吗?我宁愿保留TIME,NUMERICMONETARY(特别是)语言环境设置不变(默认为POSIX语言环境)。


我有一个想法......是否可以setlocale()使用非常常见的语言环境(如C,POSIXen_US)进行调用并通过域指定语言?像这样的东西:

这可以在 *nix 和 Windows 平台上正常工作吗?

0 投票
1 回答
6966 浏览

c++ - 基于 ISO-639/ISO-3166 的语言/国家/地区名称与 Windows 名称之间的转换表

我想将使用 ISO-639-1 和 ISO-3166 代码的 POSIX 语言环境名称转换en_USde_DEWindows 的English_United StatesGerman_Germany然后返回。

我在 MSDN 网站上找到了以下表格:

然而,它们是非常片面的。例如,这些表缺少阿拉伯语、希伯来语和我知道支持的许多其他语言环境Hebrew_Israel

在哪里可以找到完全更新的 Windows 语言环境名称和 ISO 639/3166 代码表。

注意:我需要它从 Windows 2000 或至少 XP 到 Windows 7 工作,所以我不想转述 Vista 和 7 支持 BCP-47 样式语言环境名称的事实。

编辑:我有一个ISO-639语言代码和ISO-3166国家/地区代码。但我需要知道支持哪些语言/国家以及我应该使用它们在 MSVC 下的实际命名方式。

0 投票
3 回答
8086 浏览

php - setlocale() 返回 false

我已经在我的网络服务器上安装了荷兰语本地(nl_NL utf8)(当我执行时,locale -a我看到nl_NL utf8了,这没关系)。

但是,我网页上的日期是英文的(我已经放在setlocale(LC_ALL, 'nl_NL');我的页面顶部)。我已经阅读了当你在编译 php 后安装语言环境包时,我必须重新编译 php。

但是有没有其他解决方案,无需重新编译 php,让它工作?

谢谢!

0 投票
1 回答
6256 浏览

php - 如何将挪威语添加到 setlocale()?

我想添加挪威日期。这样我的网站上就可以有两种语言。

根据PHP手册,它说

setlocale() 的返回值取决于 PHP 运行的系统。它准确地返回系统 setlocale 函数返回的内容。

如何添加挪威语?

提前致谢。

我想使用 setlocale() 和 strftime() 如下。(挪威语和英语)

0 投票
4 回答
4849 浏览

php - 如何根据语言环境格式化日期?

在模板中,我显示特定日期的日期和月份:

这很好用,问题是月份名称是英文的。我在哪里指定我想要另一个语言环境中的月份名称,例如法语?

0 投票
6 回答
5755 浏览

c++ - setlocale 是线程安全的函数吗?

我需要更改线程中的语言环境以正确解析带有 strtod() 的 double,我为此使用 setlocale() (C++)。它是线程安全的吗?

更新:另一个问题。当我在 main() 函数中调用 setlocale() 时,它不会更深入地影响其他例程。为什么???代码很多,所以写chunk是有问题的。