Можно ли передать параметры в переведенное предложение в файле перевода .po? - PullRequest
3 голосов
/ 18 сентября 2009

Я использую .po и .mo файлы для перевода моего сайта. У меня вопрос, можно ли передать параметры в переведенное предложение в файле перевода .po ?

Например: Привет, меня зовут Сара, и я алкоголик Я хочу перевести это предложение, используя два параметра: имя (Сара) и профессия (алкоголик).

Заранее спасибо.

Ответы [ 2 ]

9 голосов
/ 18 сентября 2009

Это зависит от языка, но в основном да, вы всегда можете.

printf(_("Hi, my name is %s and I am %s"), name, prof);

в ц.

echo sprintf(_("Hi, my name is %s and I am %s"), $name, $prof);

в php.

alert( _('Hi, my name is %s and I am %s')
    .replace('%s',name).replace('%s',prof) );

в JavaScript или лучше что-то вроде:

alert( _('Hi, my name is %1 and I am %2')
    .replace('%1',name).replace('%2',prof) );

или что вы можете придумать для заполнителя. Разумеется, реализация Javascript основана на механизме перевода, предоставляемом либо во время предварительной обработки, либо в качестве функции подчеркивания во время выполнения.

и пр.

0 голосов
/ 06 января 2011

Это старая тема, но просто упомянуть ...

Во многих языках вы также можете указать, какой аргумент хотите использовать, например, (в PHP):

$name = 'Agustinus';
printf(_("Hi %1$s.\n The owner of this page is: %1$s. Today is %s.", 
   $name, date('d-m-Y'));
...