问题标签 [zend-locale]

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 回答
644 浏览

php - 存储和显示省、州、前缀表单下拉数据的策略?

我目前正在从以数组形式存储国家、州和省列表的类迁移到以ldml xml 文件形式使用 Zend 的区域设置数据。这些 ldml 文件提供了国家、货币、语言的本地化列表 - 所以我不确定我应该在哪里存储美国各州、(加拿大各省)、前缀 - 我在想可能只是创建一个通用 xml 文件并将其存储在同一个文件中目录作为 ldml 文件,但有疑问,因为它不会真正本地化,因为我会用英文存储它。

我应该将它存储在通用 xml 文件中,还是可能更新每个语言环境文件(例如 en.xml )并附加它们?后者可能不值得工作,这就是为什么我倾向于只使用general.xmlor dropdown-data.xml

至于生成下拉选项,我想我可以说,抓住所有美国州,将数组附加到加拿大各省,然后附加一个“其他”选项——这似乎是正确的做法吗?

0 投票
4 回答
6038 浏览

php - 如何使用 Zend 将国家字符串转换为其 ISO 3166-1 代码?

如果您将国家名称作为字符串,有人知道是否可以使用 Zend_Locale 获取国家/地区的 ISO 3166-1 代码?例如,我有“Nederland”,所以我想获得“NL”。

0 投票
2 回答
594 浏览

zend-framework - 在 Zend Framework 应用程序上使用 PHPUnit,如何强制将语言环境用于给定测试?

我正在使用 phpunit 测试一个多语言站点。我想要执行的测试之一是应用程序将检测用户的语言环境并自动重定向。

也就是说,用户在 / 上访问该站点。应用程序检测到他们来自法国并重定向到 /fr-FR/

该应用程序似乎确实这样做了,但尝试为此编写单元测试似乎是不可能的。为了测试的目的,我需要伪造语言环境。任何人都可以建议吗?

0 投票
1 回答
675 浏览

zend-framework - 使用完整的语言环境首选项列表从 Zend 框架中提取用户定义的语言环境的最佳方法是什么?

Zend Framework 有一个很棒的组件,叫做 Zend_Locale。在正确解析语言和语言环境方面存在各种细节,部分原因是它已被入侵到HTTP Accept-Language 标头中。

在 Zend Framework语言环境文档中,它说:

注意:请注意,不仅存在大多数人认为的具有 2 个字符的语言环境。还有一些语言和地区不仅缩写为 2 个字符。因此,您不应该自己剥离区域和语言,而是在您想从区域设置字符串中剥离语言或区域时使用 Zend_Locale。否则,当您自己执行此操作时,您的代码中可能会出现意外行为。

完美的。除了我一直在测试各种语言翻译。假设您使用 Firefox 浏览,更改您的设置并添加一些 language_region 配置文件...更改默认顺序。您会看到 Zend 只拉取默认值。文档甚至这样说:

如果用户在他的浏览器中提供了多个语言环境,Zend_Locale 将使用第一个找到的语言环境。如果用户没有提供语言环境或从命令行调用脚本,将自动使用并返回自动语言环境“环境”。

这是不幸的。如果您定义了 5 种语言,您希望浏览用户在浏览器中定义的所有语言环境并使用匹配的语言...

所以我的问题是,你会采取什么方法来解析完整列表并提取任何匹配项?

更新 有一个 Zend_Locale::getBrowser() 方法返回完整列表。伟大的!不知道为什么 Zend_Translate 似乎只拉第一个。我会在检查它是如何工作的之后回来......可能需要构建你有翻译的语言数组,并将其与 getBrowser() 的结果进行比较并提取第一个匹配项。

UPDATE2 我确实实现了一个解决方案,但它仍然有点 hacky,因为 Zend_Translate 和 Zend_Locale 不是小的小类。显然,国际化是一个很大的话题。有相当多的研究。

但从本质上讲,它归结为检查每种语言是否与浏览器首选项列表匹配。

0 投票
3 回答
5750 浏览

php - 带有 zend 语言环境的国家名称

当我将国家/地区保存到我的数据库中时,我使用国际缩写。

如何将此缩写转换zend_locale为完整的国家名称?

0 投票
3 回答
2753 浏览

php - Zend_Date / Zend_Locale :更改特定语言环境的日期格式?

是否可以指示 Zend_Locale 它应该使用特定的语言环境,除了对日期格式的小改动?我不想使用具有特定格式的 Zend_Date::toString(),因为那样会在所有语言环境中使用这种格式。

有问题的案例:我根据用户的区域设置格式化了日期。我的荷兰同胞 (nl_NL) 用户要求使用 dd-mm-yyyy 格式的日期,而不是 Zend_Locale 强烈声称是我们的短日期格式的 dd-mm-yy。如果我将输出日期的代码更改为明确使用自定义格式,这将适用于所有客户,而不仅仅是普通客户。我可以检查用户的语言环境,但如果需要创建更多异常,每次回显日期时,我都需要添加这些检查和异常,这让我感到畏缩。

我不能直接(也不想)改变 Zend_Locale XML 数据,因为 ZF 库被各种站点使用。

我确信这是那些“非常简单”的问题之一......一旦你知道如何。有任何想法吗?

0 投票
1 回答
822 浏览

zend-framework - zend-framework 如何本地化 Zend_Date

如何本地化 Zend_Date

当我写

我得到了长数组的一些元素

所以我认为支持伊斯兰日历希伯来日历如何达到此功能?

在此页面http://framework.zend.com/issues/browse/ZF-4291中也对此进行了评论

0 投票
2 回答
963 浏览

zend-framework - 带有 Zend_Locale 输出的 jquery datepicker 日期格式

我正在尝试使用返回的日期格式设置 jquery datepicker 元素的格式Zend_Locale::getTranslationList('date', $locale);

我的问题是 zend 返回'dd/MM/yyyy'日期格式的字符串,但 jquery 预计年份只有 2 个字符'dd/mm/yy',因此它两次输入年份20112011

是否有一些选项可以传递给 zend 或 jquery 以使它们以相同的方式工作?我已经阅读了文档,似乎找不到任何东西

非常感谢您提前提供的帮助!

0 投票
3 回答
987 浏览

zend-framework - 如何用 Zend、l18n mysql 对多语言数据库建模?

我知道这个话题被讨论过几次,但没有一个能代表我的最终解决方案。

情况 我正在设计一个关系 mysql 数据库,该数据库以后应该包含多语言内容。您可以从 Wikipedia 或 Microsoft 技术支持页面了解这一点。每种语言的内容应该相同。例如,如果缺少翻译,则该站点会自动为您提供相同的内容,或以信息可用的语言提供。如果未设置某些值,则应回退到第二种或默认浏览器语言或通过谷歌进行翻译。开发环境是Zend。

到目前为止,我的想法是解决问题:

两个主键:(ID,语言) 优势:通过数据库抽象层轻松访问数据库。问题:外键、关系船、回退

带有语言后缀的列:优势:数据库性能,没有关系问题。问题:数据库抽象层不能处理这个?

是否有任何概念证明了自己或比其他概念更可取?有没有人已经创造了这样的东西并可以与我分享他的经验?对于这种情况,是否存在修改后的 Zend DB 控制器?您如何将此信息链接到表格?

感谢您的帮助、提示和建议!

亲切的问候,

曼努埃尔