2013-07-22 82 views
2

我翻譯的symfony 2.2的網站版本是正確的,直到我升級到v.2.3.2。Symfony 2.3:InvalidArgumentException:只支持語言環境「en」

我有我所有的翻譯文件在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

它是同樣的問題比這裏:http://stackoverflow.com/questions/17783871/symfony-2-2-symfony-2-3-error-deutsch-locale?如果是,請不要針對同一問題發佈2個問題。 – cheesemacfly

+0

不,這是不一樣的。這一個不允許我翻譯任何頁面,另一個,似乎是來自deutch語言的錯誤... – Sam

回答

0

它似乎失敗的日期格式。它使用僅與「en」日期格式兼容的IntlDateFormatter。

你可以禁用翻譯日期從一個頁面,看看它的工作?

否則評論Symfony的源代碼,這部分:

if ('en' != $locale) { 
      throw new MethodArgumentValueNotImplementedException(__METHOD__, 'locale', $locale, 'Only the locale "en" is supported'); 
     } 
+0

如果我評論這部分,它不起作用。我必須評論所有這類消息,並且出現如下錯誤:「資源包」vendor/symfony/icu/Symfony/Component/Icu/Resources/data/region/fr.php「不存在」。我希望這不是唯一的方法.. – Sam

+0

如果您將語言環境設置爲「en」,它會工作嗎? –

+0

你確定你是2.2嗎?不在2.1? –

1

我調試錯誤,它帶給我終於

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

在變$locale上線420代表「德」 (在我的情況)。空的空間是問題。如果你在它的正則表達式之前加$locale = trim($locale);

相關問題