问题标签 [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.
php - 依赖 setlocale 并依赖安装的语言环境是否可行?
我试图用 生成一个本地化的日期字符串strftime
,我使用的占位符是%x
。语言/区域设置是setlocale(LC_ALL, array('jp','japanese'))
,但是两个区域设置都不可用,因此它生成了一个包含不正确字符的字符串。然后我安装了ja_JP.utf8
语言环境并将其指定为数组中的第一个元素,并且我遇到的日期格式问题得到了解决。
我的问题是,我应该总是依赖安装的语言环境吗?我知道如何将它们安装在我有 root 访问权限的盒子上,但是如果我没有访问权限怎么办?
我相信Zend_Locale
并且Zend_Translate
根本不依赖,setlocale
而是以某种方式在内部进行,这给我的印象是它对于企业级应用程序实际上是不可行的。
我知道我可能会在我的应用程序中使用Zend_Locale
和Zend_Translate
,但它也需要支持 PHP4,至少再过一年,这就是为什么我不能完全依赖这些。
javascript - Javascript 等效于 vbscript setlocale
希望有人能快速回答,但我的 google-fu 已经抛弃了我。
在 vbscript 中,我可以使用“setlocale”来设置脚本正在运行的语言环境。我需要一个 javascript 版本。
例如,假设我的用户正在使用具有法语设置的浏览器,但我希望数字和日期是英文的,并且就像它们是英文一样使用。然后在 vbscript 我可以做
设置为英语语言环境
然后当我处理完数字/日期后,我可以设置回法语
是否有等效的javascript?我怎样才能在javascript中完成这个?
php - Unicode setlocale 和 strftime 在 Windows 上失败
我有一页,它的编码是UTF-8,如果我尝试在unix系统中运行该代码,一切看起来都很好,但是当我尝试在windows(7)中运行时,一些字符看起来是问号(�)。如何在两个系统中运行代码都很好(不使用 iconv)。
iphone - NSDateFormatter - 将设备语言设置为区域设置?
我正在尝试让 iPhone 显示由NSDateFormatter
当前设备语言格式化的日期。
我已经尝试过setLocale:[NSLocale currentLocale]
,但这只会返回5
而不是May
(或者Mai
,如我所愿)。
编辑:currentLocale
显示May
(英文)。systemLocale
显示 5(我认为 systemLocale 是挪威语),并且也autoupdatingCurrentLocale
显示May
。
任何帮助表示赞赏。谢谢!:)
没关系 - 模拟器跟我开玩笑,它可以在真实设备上运行。#
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
,deu
或ptg
- 在这种情况下,语言环境似乎设置正确,但翻译仍然不显示。我现在无法测试,因为我打开了数百个选项卡,但我认为对该脚本的第一次调用会产生正确的翻译(重新启动 Apache 不会成功)。
我不确定这是否与PHP Bug #49349 有关。我会测试这是几个小时。
有什么方法可以跨不同的操作系统(可能使用自定义语言环境,如)可靠地使用 gettext 扩展(不是纯 PHP 实现,如php-gettext或Zend Translate Adapter)?l33t
另外,绝对有必要使用setlocale(LC_ALL, ...)
吗?我宁愿保留TIME
,NUMERIC
和MONETARY
(特别是)语言环境设置不变(默认为POSIX
语言环境)。
我有一个想法......是否可以setlocale()
使用非常常见的语言环境(如C
,POSIX
或en_US
)进行调用并通过域指定语言?像这样的东西:
这可以在 *nix 和 Windows 平台上正常工作吗?
c++ - 基于 ISO-639/ISO-3166 的语言/国家/地区名称与 Windows 名称之间的转换表
我想将使用 ISO-639-1 和 ISO-3166 代码的 POSIX 语言环境名称转换en_US
为de_DE
Windows 的English_United States
,German_Germany
然后返回。
我在 MSDN 网站上找到了以下表格:
- 语言http://msdn.microsoft.com/en-us/library/39cwe7zf(v=VS.71).aspx
- 国家http://msdn.microsoft.com/en-us/library/cdax410z(v=VS.71).aspx
然而,它们是非常片面的。例如,这些表缺少阿拉伯语、希伯来语和我知道支持的许多其他语言环境Hebrew_Israel
。
在哪里可以找到完全更新的 Windows 语言环境名称和 ISO 639/3166 代码表。
注意:我需要它从 Windows 2000 或至少 XP 到 Windows 7 工作,所以我不想转述 Vista 和 7 支持 BCP-47 样式语言环境名称的事实。
编辑:我有一个ISO-639语言代码和ISO-3166国家/地区代码。但我需要知道支持哪些语言/国家以及我应该使用它们在 MSVC 下的实际命名方式。
php - setlocale() 返回 false
我已经在我的网络服务器上安装了荷兰语本地(nl_NL utf8
)(当我执行时,locale -a
我看到nl_NL utf8
了,这没关系)。
但是,我网页上的日期是英文的(我已经放在setlocale(LC_ALL, 'nl_NL');
我的页面顶部)。我已经阅读了当你在编译 php 后安装语言环境包时,我必须重新编译 php。
但是有没有其他解决方案,无需重新编译 php,让它工作?
谢谢!
php - 如何将挪威语添加到 setlocale()?
我想添加挪威日期。这样我的网站上就可以有两种语言。
根据PHP手册,它说
setlocale() 的返回值取决于 PHP 运行的系统。它准确地返回系统 setlocale 函数返回的内容。
如何添加挪威语?
提前致谢。
我想使用 setlocale() 和 strftime() 如下。(挪威语和英语)
php - 如何根据语言环境格式化日期?
在模板中,我显示特定日期的日期和月份:
这很好用,问题是月份名称是英文的。我在哪里指定我想要另一个语言环境中的月份名称,例如法语?
c++ - setlocale 是线程安全的函数吗?
我需要更改线程中的语言环境以正确解析带有 strtod() 的 double,我为此使用 setlocale() (C++)。它是线程安全的吗?
更新:另一个问题。当我在 main() 函数中调用 setlocale() 时,它不会更深入地影响其他例程。为什么???代码很多,所以写chunk是有问题的。