1
在PHP <中5.5不支持具有命名參數的Intl MessageFormatter字符串。 使用一些語言和字符串會導致翻譯字符串很難理解。Howto在PHP 5.3中實現ICU MessageFormatter命名參數支持PHP 5.5中的
PHP 5.4(PHP < 5.5)
$Formater = new MessageFormatter($locale, "{0} inhabit {1}.");
print $Formater->format(array('Wookies', 'Kashyyyk'));
與PHP 5.5命名參數
$Formater = new MessageFormatter($locale, "{raceName} inhabit {planetName}.");
print $Formater->format(array('raceName'=>'Wookies', 'planetName=>'Kashyyyk'));
我們的軟件已經可以支持PHP的版本從5.3 - >到最新的,但我想讓翻譯更容易。
任何人都可以提供一種方法來實現PHPFor的MessageFormatter命名參數< 5.5?
我正在於它的Yii2框架,但與現在的字符串替換還挺stucked:https://github.com/yiisoft/yii2/pull/917/files#diff-0968cc0757071ec901e4c4dfac1145cdR20。這個想法是將命名參數轉換爲位置參數。 –