2

在我升级到 v.2.3.2 之前,我翻译的 symfony 2.2 网站版本是正确的。

我所有的翻译文件都是 yml 格式的。而且似乎还不错。

我看到在新版本中,Symfony 使用自己的 Intl,对吗?但是为什么它不想翻译我的页面呢?

1/1 InvalidArgumentException: Only the locale "en" is supported.

有关信息,我将这些值放入我的 php 信息中:

intl

Internationalization support    enabled
version 1.1.0
ICU version 4.8.1.1
ICU Data version    4.8.1

Directive   Local Value Master Value
intl.default_locale no value    no value
intl.error_level    0   0

编辑:

似乎问题来自CountryType。如果我强制将语言环境设置为英语,它会起作用。

4

3 回答 3

1

我通过安装symfony intl 组件解决了这个问题。

尝试将此行添加到您的 composer.json :

"symfony/intl": "2.6.*@dev"
于 2014-05-27T11:11:46.160 回答
1

我调试了错误,它终于让我

vendor/symfony/symfony/src/Symfony/Component/Translation/Translator.php

在第 420 行的变量$locale中代表“de”(在我的例子中)。空白是问题所在。如果你把它放在$locale = trim($locale);正则表达式之前。

于 2016-01-22T20:44:33.933 回答
0

日期格式似乎失败了。它使用仅与“en”日期格式兼容的 IntlDateFormatter。

您可以禁用页面中日期的翻译并查看它是否有效吗?

否则注释这部分 Symfony 的源代码:

if ('en' != $locale) {
            throw new MethodArgumentValueNotImplementedException(__METHOD__, 'locale', $locale, 'Only the locale "en" is supported');
        }
于 2013-07-22T14:45:22.417 回答