问题标签 [intl]
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 - 如何使用 PHP 5.3.8-ZS5.5.0 在 OS X 10.7 Lion 上将 intl 扩展升级到 ICU 4+
我正在使用 Zend Server CE 5.5(因此 PHP 5.3.8)运行 OS X 10.7 Lion。当我尝试设置一个新的 Symfony2 项目时,配置检查器会警告我将 intl 扩展升级到 ICU 4+。
我按照我在另一个 StackOverflow 帖子中找到的说明进行操作,主要是关于在 Lion 上升级 intl 的这篇博文。但是当我尝试用 PHP 5.3.8 编译扩展时。我收到以下错误:
我能够使用 PHP 5.3.6 编译 intl.so,但是当我将该文件放在我的 php_extensions 目录中时,PHP 根本无法识别 intl。我认为在我最后一次尝试中,我尝试使用 ICU 4.0.1 编译它,但我也尝试了其他一些版本,例如 4.8.1 或 4.6.1。目前是否有可能在 10.7 上使用 PHP 5.3.8 编译 ICU?
php - 如何从 PHP Intl(ICU 库)获取默认货币
我使用 PHP,并且想知道如何通过国际化扩展(ICU 库的包装器)获取语言环境的默认货币?
下面是一个脚本,它解释了内容和原因。我需要一些东西来替换这个getCurrCode()
功能。
我知道,我可以使用setlocale(LC_MONETARY, $locale);
,但这意味着我必须将所有语言环境安装到 Linux 上,并处理 Linux 发行版的变化。那么首先使用 Intl 有什么意义呢?
php - numfmt_format() 期望参数 1 为 NumberFormatter,给定 null
我最近升级了我的 WAMP 服务器,但我似乎无法让 Intl 扩展工作。我已经确定
- 两个ini文件中的扩展路径都是正确的
- 扩展在两个inis中加载
- 我可以看到扩展名
php --re intl
- 我可以看到一个示例函数
php --rf numfmt_create
- 我的 php 文件夹中有 icu dll 文件(icu 46、php 5.3.8、wamp 2.2)
- 我已
C:\wamp\bin\php\php5.3.8
在系统变量中附加到 PATH - 代码是正确的 - wamp 升级之前的工作代码和 php 手动示例代码失败
我正在尝试使用数字格式化程序,但它给了我一些奇怪的错误。以 php 手册中的示例代码为例:
它给了我这个:
遇到 PHP 错误
严重性:警告
消息:numfmt_format() 期望参数 1 为 NumberFormatter,给定 null
文件名:控制器/test.php
行号:867
回溯:
文件:C:\wamp\www\application\controllers\test.php 行:867 功能:numfmt_format
文件:C:\wamp\www\index.php 行:260 功能:require_once
遇到 PHP 错误
严重性:警告
消息:numfmt_format() 期望参数 1 为 NumberFormatter,给定 null
文件名:控制器/test.php
行号:869
回溯:
文件:C:\wamp\www\application\controllers\test.php 行:869 功能:numfmt_format
文件:C:\wamp\www\index.php 行:260 功能:require_once
我注意到numfmt_create()
无论我做什么,它似乎都会返回 NULL 。
php - 未找到类规范器(在 PHP 5.3.8 中)
我在尝试使用Normalizer
该类时收到此 PHP 错误,特别是Normalizer::normalize
函数:
我目前使用的是 PHP 5.3.8,所以根据PHP 文档,它应该默认激活。我唯一能想到的是 PECL intl 扩展的问题。
我检查了php/ext/
文件夹,并且在php_intl.dll
那里。我检查了php.ini
文件,没有extension=php_intl.dll
命令,所以我添加了它。但仍然没有运气。除此之外我不知道。谁能告诉我这里到底发生了什么?
谢谢
附加信息:当我运行phpinfo
时,没有提及 PECL intl 扩展,所以我猜它没有正确安装。
什么解决了我的问题:
http://www.tiv.net/2010/12/php-intl-extension-windows-apache.html,卸载 XAMPP 1.77(它有某种与 PECL intl 扩展有关的内部错误)并安装 XAMPP 1.73。
php - 使用 PHP 的 INTL MessageFormatter 的命名参数
我想在传递给 MessageFormater 的字符串中使用命名参数,就像这样
当我运行此代码时,我收到错误消息:
数字格式化失败:U_ILLEGAL_ARGUMENT_ERROR
然而
效果很好。
icu-project 网站报告称,自 ICU 3.8 起支持命名参数(见此处),我使用 4.2.1
独角兽在哪里?PHP 不支持 MessageFormatter 的命名参数?也许有替代方案?
php - PHP中可用的整理器列表?
我正在考虑在 PHP 中使用整理器(我不是 PHP 专家)。有没有办法知道/列出 PHP 中可用的所有整理器?我正在寻找类似于 Java 的Collator.getAvailableLocales()的东西。谢谢。
php - PHP IntlDateFormatter 格式返回错误的日期
我使用 IntlDateFormatter 得到不正确的结果:
但这仅发生在 2012/03/26 和 2012/10/28 之间且没有小时 (00:00:00) 的日期。
我无法找出问题所在。
谢谢您的帮助。
localization - 从 C++Builder (i18n) 获取文本
我需要从 C++ 代码中调用 gettext 进行本地化,并且我使用 C++Builder 作为 IDE。我需要知道如何为 C++Builder 获取 libintl 和 libiconv dll/lib。
有没有其他方法可以达到同样的效果?
cmake - 将 intltool 与 cmake 一起使用
我正在编写一个 GNOME 应用程序并使用 CMake。现在我正在考虑使应用程序可翻译,GNU 为其提供了intltool
、gettext
、msgfmt
等。autotools支持这些工具和整个 i18n 进程开箱即用。
如何让它与 CMake 一起使用?是否有任何模块或代码片段?
php - Symfony2 日期表单类型:致命错误:在非对象上调用成员函数 setLenient()
感谢 IRC 上的 Stof,我现在知道答案了。我只是想分享它,以防有人偶然发现同样的问题。
问题
当您有字段类型 datetime 时:
在表单类型中,您使用日期表单类型:
你得到这个错误:
致命错误:在第 64 行的 (...)\vendor\symfony\src\Symfony\Component\Form\Extension\Core\Type\DateType.php 中的非对象上调用成员函数 setLenient()