Перевести отдельные части строки, используя 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));
Это то, что вы ищете?