В 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'));
Наше программное обеспечение должно поддерживать версии PHP от 5.3 -> до последней, но я хотел бы упростить работу переводчиков.
Может ли кто-нибудь представить способ реализации именованных аргументов в MessageFormatter на PHP ‹ 5.5?