1

在 PHP < 5.5 中,不支持具有命名参数的 Intl MessageFormatter 字符串。对于某些语言和字符串,这会导致翻译字符串非常难以理解。

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'));

我们的软件必须支持从 5.3 -> 到最新的 PHP 版本,但我想让翻译人员的工作更轻松。

任何人都可以提出一种在 PHP < 5.5 上实现 MessageFormatter 命名参数的方法吗?

4

1 回答 1

0

pecl install intl-beta为我工作,但那是差不多一年前的事了。不知道现在怎么样了。可能很简单pecl install intl

于 2013-11-25T07:23:17.467 回答