问题标签 [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 NumberFormatter 斯洛文尼亚语拼写错误
我正在尝试使用 intl 包中的 NumberFormatter 类将整数数量拼写为斯洛文尼亚语单词(用于邮政声明),但结果完全错误且毫无意义。
结果是“petsto šestdeset ena”,而它应该是“petsto enainšestdeset”。看起来像婴儿说话。
在非常相似的克罗地亚语中,结果似乎还可以(“petsto šezdeset i jedan”)。
这是在 PHP 中做的不好的翻译还是基于我的系统语言环境?我在 PHP 5.3.10 / Ubuntu 12.04 上。
编辑:
intl 是 1.1.0 版本,当前是 3.0.0,所以也许它已经修复了?
symfony - 如何在 Windows 环境下通过 composer 下载包而不出现 icu 版本错误?
我发现了很多关于这个问题的帖子,但我认为我的问题是不同的(尤其是我的环境)。
我使用 Windows 7、Symfony 2.3.6 和 wamp 2.2
我想下载并安装 FOSUserBundle :
我有一个(显然很常见)错误:
显然我已经有了 1.2 版的 symfony/icu。
我还是尝试更新它:
但它想安装以前的版本(1.0.0)。为什么 ?
所以我保留了 1.2.0
我知道 icu 是随 PHP intl 扩展一起交付的。它开着。
启动 phpinfo 我有这个:
所以 4.6 >= 4.4,应该没问题吧?
怎么了 ?
我该如何解决?
注意:我没有更改 composer.json 而是添加我要添加的捆绑包的 require 部分
笔记2 :
也许这是相关的:当我尝试使用 https 与作曲家一起下载时,我遇到了一个例外:
问题是我的 php_openssl 已激活...
因此,即使它们被激活,作曲家也可能看不到扩展名(openssl 都没有,国际可能也没有)......我不知道
php - IntlDateFormatter 总是 en_US 输出月/日名称
我正在尝试使用 Intl 包实现语言环境支持。NumberFormatter
更改时工作并更改输出样式,Locale
但IntlDateFormatter
似乎没有检测到语言环境更改。
我正在使用这段代码设置语言环境,在“en_US”和“sv_SV”之间切换。
IntlDateFormatter
然后使用此代码初始化
当我现在尝试格式化日期名称时,例如星期三,我总是得到名称的英文表示 - 即使预期瑞典表示。
这应该输出“onsdag”,但两个语言环境都输出“wednesday”。我在这里做错了什么?
php - 本地主机上的 locale_get_default() 函数问题
我在本地主机上使用 wampserver;
- PHP 5.3.13
- 阿帕奇 2.2.22
- 启用 php_intl.dll 扩展
locale_get_default()
但是我在使用函数时遇到了以下错误
致命错误:调用未定义的函数 locale_get_default()
或者使用Locale::getDefault()
函数
致命错误:找不到类“区域设置”
macos - MAMP PRO 安装扩展 intl 不起作用
我将 MAMP PRO 2.2 版与 PHP 5.5.3 一起使用。我使用端口来安装软件包。我安装了 php5-intl 并将文件 intl.so 复制到 /Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212 中。我通过> Edit config> php> php5.5.3.ini 调用了php.ini 文件中的扩展名,因为我有mamp 的专业版。重新启动服务器并显示 phpinfo() 后,扩展未加载。我试图直接在 php.ini 中调用扩展,如下所示“extension = '/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212 /intl.so'但它不起作用。
我不明白为什么没有加载扩展程序你能帮我吗?
此致,
symfony - 操作 Symfony Intl 提供的国家列表和表单选择类型
抛开政治不谈,我在选择国家时需要提供科索沃作为一种形式选择。
使用 Symfony 的内置表单选择类型country
,同时还提供科索沃名称的翻译,最优雅的方式是什么?
这是我到目前为止所做的并且它有效,但我担心这可能有点hack-ish。
php - 安装 intl mamp php 5.5.3
我在 MAC 上使用 MAMP 并尝试在执行 phpinfo 时安装扩展 INTL,它说我使用的是 5.5.3 版
我尝试了很多东西例如
但是当我刷新 phpinfo 仍然没有安装国际扩展名时,我什至在 php.ini 中添加了这一行 extension=intl.so
如果您有任何想法,请告诉我谢谢
php - ISO 3166-1 alpha-2 国家代码的区域名称
在数据库中,我们有ISO 3166-1 alpha-2 国家代码,例如 GB 代表英国,AR 代表阿根廷。今天我们保留一个数据库表,其中一列用于这些国家代码,一列用于对应的英文国家名称。
我们在 PHP (5.4.x) 中工作,它具有intl 扩展(ICU 库的包装器),所以我想我想从这个源中获取国家名称,这使得应用程序更易于维护和更容易国际化,因为我可以轻松获取德语,法语或我们将来想要的任何国家名称。
Locale::getDisplayRegion ( string $locale [, string $in_locale ] )
提供来自语言环境的区域名称。例如
问题是我没有语言代码,只有国家代码,所以我不确定如何建立适当的语言环境。
似乎我可以通过在英语前面加上“en_”来获取区域名称,例如
但是,这感觉更像是一种黑客攻击,我不确定我真的可以依赖它吗?
我在想是否可以使用国家/地区代码(取决于术语的区域/领土)和该国家/地区的任何有效语言以某种方式构成一个语言环境,但至少就我所发现的而言,它似乎不起作用:
关于如何解决这个问题的任何建议?我不想维护我自己的国家名称数据库,或者当有一个似乎已经是一个很好的来源(ICU)的内置扩展时,我不想简单地使用一个外部 PHP 库。
提前非常感谢!
php - PHP 国际化与 intl
我正在寻找一种使 PHP 应用程序国际化的好方法。到目前为止,我的结论是我不会使用(我猜会gettext
随机失败,缓存的实现不好)并且不是我的选择。lighttpd
Zend
我对PHP 5.3 中引入的PHP 国际化函数非常感兴趣。但我不太确定它是否是这项工作的工具。我没有找到任何关于使用这些人进行应用本地化的文章,但似乎BundleResource正是我想要的。
有人可以在这里确认这是要走的路以及如何组织/创建/填充/使用资源包吗?官方文档太肤浅(例如ResourceBundle::create)或者我在这里遗漏了一些东西。
否则,我将使用数组作为最后的手段。啊!
php - Nitrous.IO 上的 Symfony,缺少 INTL pecl 扩展
我正在尝试在 Nitrous 平台上设置我的 Symfony 应用程序。建议借助 INTL pecl 模块进行翻译,所以我尝试安装它(pecl install intl)。但似乎它缺少 lib ICU 标头。当您安装 php5-intl(通过 apt-get)时默认安装这些,但我没有正确的权限。如何解决这个问题?