На самом деле это довольно просто, вы определяете функцию с переменным значением следующим образом:
function myGettext($id)
{
return vsprintf(gettext($id), array_slice(func_get_args(), 1));
}
Теперь выполнение myGettext('%u %s in a %s', 3, 'monkeys', 'tree')
вернет ожидаемую строку с заполнителями, замененными оставшимися аргументами.Очевидно, что вам также нужно реализовать функцию распознавания множественного числа, которая вместо этого вызывает ngettext()
.
Что касается poEdit, вам нужно изменить ключевые слова, которые он ищет, прошло некоторое время с тех пор, как я последний раз использовал его, но это было довольно просто.единственной проблемой, с которой я столкнулся, было определение ключевых слов для поддержки множественного числа ( смотри это ).
Надеюсь, это поможет!