Есть ли способ скрыть HTML-теги при отображении строки с «gettext»? - PullRequest
1 голос
/ 24 февраля 2012

Интересно, есть ли способ скрыть теги html при выводе строки с помощью функции php gettext.

Это то, что я получил, и я хочу убрать теги html из строки перед тем, как поместить их в файл .po.

<?=_('You must be logged in to add a link.<br />
If you already have a account, 
<a href="#" name="Log In">click here</a> to log in or 
<a href="#" name="Register">join us</a> now!'); ?>

Это помещает строку в .po файл следующим образом:

You must be logged in to add a link.<br />  If you already have a account, <a href="#" name="Log In">click here</a> to log in or <a href="#" name="Register">join us</a> now!

Переводы моего сайта будут доступны для публичного редактирования (с помощью Pootle), поэтому мне интересно, есть ли способ скрыть теги html от общественности? есть ли что-нибудь подобное:

You must be logged in to add a link. If you already have a account, click here to log in or join us now!

1 Ответ

1 голос
/ 24 февраля 2012

Нет реального способа скрыть их и иметь возможность вставлять их после перевода, вы можете использовать карту положения символов, но после перевода длина символов в тегах html изменится.

Если вы абсолютно хотите избежать html-тегов, то вы можете оставить разрывы и преобразовать их в новые строки, если это необходимо для переводчиков, а затем использовать отдельные переводы для текста внутри html-тегов, например;

<?=_('You must be logged in to add a link.<br /> If you already have a account,') ?>
<a href="#" name="Log In"><?= _('click here') ?></a> <?= _('to log in or') ?>

'); ?>

...