我的翻译网站版本的symfony 2.2是正确的,直到我升级到v.2.3.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 。如果我将语言环境强制为英语,那就可以了。
答案 0 :(得分:1)
答案 1 :(得分:1)
我调试错误,它最终让我
vendor/symfony/symfony/src/Symfony/Component/Translation/Translator.php
在第420行的变量$locale
中代表" de" (在我的情况下)。空白是个问题。如果你将$locale = trim($locale);
放在正则表达式之前就可以了。
答案 2 :(得分:0)
日期格式似乎失败了。它使用IntlDateFormatter,它只与“en”日期格式兼容。
您可以禁用页面中日期的翻译,看看它是否有效吗?
否则请注释Symfony的这部分源代码:
if ('en' != $locale) {
throw new MethodArgumentValueNotImplementedException(__METHOD__, 'locale', $locale, 'Only the locale "en" is supported');
}