Я не думаю, что gettext распознает переменную, так как сканирует исходный код. Если вы хотите включить переменные в строку, лучше использовать
sprintf()
Например
echo sprintf(_("There are %d results!"), $numResults);
В gettext переводчик увидит
There are %d results!
поэтому его можно легко перевести, если он / она знает, что% d является переменной. Когда скрипт будет выполнен, gettext сначала заменит перевод, а затем sprintf вставит переменную $ numResults. Удачи! Я только что закончил интернационализацию своего сайта.