Я создаю многоязычное приложение на PHP + CodeIgniter. Я решил использовать gettext для перевода текста пользовательского интерфейса, и до сих пор он оказался эффективным и простым в работе.
Но теперь я столкнулся с чем-то действительно неприятным: функция gettext ()
принимает только один параметр, в то время как я хотел бы поведение, подобное printf, которое я получаю от адаптера gettext Zend Framework, где я могу использовать % 1 $ s
, % 2 $ s
и т. д. в качестве заполнителей а затем укажите заменяющие строки в качестве дополнительных параметров функции translate ()
Zend view.
Я не хочу отказываться от gettext из-за простого управления переводом с помощью файлов .po и poEdit (я могу его получить в конце концов, обновляется одним щелчком мыши). Какие у меня есть варианты?
Я уже пробовал написать помощник для взаимодействия с gettext: прогоните первый аргумент через gettext, а затем запустите strtr для полученной строки. Вы бы порекомендовали какие-либо другие / лучшие подходы?