Перевести отдельные части строки, используя Twig и расширение i18n?

У меня есть строка, которая выглядит как

This is a list of all items with number 123456 in United States.

и я хочу перевести его на шведский как

Detta är en lista över alla artiklar med nummer 123456 i USA.

Проблема в том, что число 123456 и название страны United States генерируются динамически, но строка доставляется в окончательном виде в шаблон Twig (она используется для <meta name="description" ... />,

У меня уже есть .po файл с названиями стран, которые я перевожу, в том числе

English             Swedish
United States       USA 

Сгенерированная мета-строка описания может иметь любую комбинацию чисел и названий стран, поэтому я не могу жестко закодировать переводы для всей строки. Можно ли как-то использовать мои существующие переводы для названий стран и перевести их в строку описания мета, и оставить номер таким, какой он есть? Или мне сначала нужно как-то разбить строку, а затем перевести каждую часть по отдельности?

1 ответ

Я не программист PHP, поэтому я использую псевдокод:

num_items = 42;
country = "United States";
string = sprintf(gettext("... items with number %d in %s"),
                 num_items, gettext(country));

Это то, что вы ищете?

Другие вопросы по тегам