Сохраните результаты в массиве и затем дважды запустите этот массив.
$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
$rows = $stmt->fetchAll();
foreach ($rows as $r) {
// first run
}
foreach ($rows as $r) {
// seconds run
}
Решение 2 - то, что Вы хотите. Отправьте им целое предложение со встроенной разметкой HTML.
Причины:
Правовая оговорка: Я не испытан в интернационализации программного обеспечения сам.
<strong />
акцент походит на хорошую идею. Однако те переводы с (X) HTML возможно не могут использоваться больше нигде легко. , Если бы это был я, я думаю, что пошел бы со вторым подходом, но я поместил бы URI в параметр форматирования, так, чтобы это могло быть изменено, не имея необходимость изменять все те переводы.
Please <a href="%s">log in</a> to continue.
необходимо иметь в виду, что Вы, возможно, должны преподавать Вашим переводчикам элементарные знания (X) HTML, если Вы идете с этим подходом, так, чтобы они не завинчивали Вашу разметку и так, чтобы они знали, что ожидать от того текста, который они пишут. Во всяком случае это дополнительное знание могло бы привести к лучшей семантической разметке, потому что, как упомянуто выше, тексты могли быть переведены и аннотированы (X) HTML для отражения локального стиля записи.
Интересный вопрос, у меня будет эта проблема очень скоро. Я думаю, что пойду для 2 без любого вида хитрого материала. Разметка HTML проста, URL не переместятся в ближайшее время, и если что-нибудь будет изменено, то новая запись будет создана в django.po, таким образом, мы получим шанс рассмотреть перевод (исключая: сценарий должен проверить на пустые переводы после makemessages
).
Так, в шаблоне:
{% load i18n %}
{% trans 'hello <a href="/">world</a>' %}
... тогда, после python manage.py makemessages
я вхожу в свой django.po
#: templates/out.html:3
msgid "hello <a href=\"/\">world</a>"
msgstr ""
, я изменяю его на свои потребности
#: templates/out.html:3
msgid "hello <a href=\"/\">world</a>"
msgstr "bonjour <a href=\"/\">monde</a>"
..., и в простых все же частых случаях я встречусь, это не будет стоить, дальше беспокоятся. Другие решения здесь кажутся довольно умными, но я не думаю, что решением проблем разметки является больше разметки. Плюс, я хочу избежать слишком большого количества запутывающего материала в шаблонах.
Ваши шаблоны должны быть довольно стабильными через некоторое время, я предполагаю, но я не знаю то, что другую проблему Вы ожидаете. Если содержание изменяется много раз, возможно, что место содержания не в шаблоне, но в модели.
Редактирование: Я просто проверил его в документация , если Вам когда-нибудь нужны переменные в переводе, существует blocktrans
.
2, с потенциальным скручиванием.
Вы, конечно, могли локализовать целую строку, как:
loginLink=Please <a href="/login">log in</a> to continue
Однако в зависимости от Ваших инструментов и Вашей группы локализации, они могли бы предпочесть для Вас делать что-то как:
// tokens in this string add html links
loginLink=Please {0}log in{1} to continue
, Который был бы моим предпочтительным методом. Вы могли использовать различный шаблон замены, если у Вас есть локализация, оснащающая, который игнорирует определенные символы. Например,
loginLink=Please %startlink%log in%endlink% to continue
Тогда выполняют замену в Вашем jsp, сервлете, или эквивалентный для любого языка, который Вы используете...
Что когда-либо Вы действительно сохраняете целым предложением как одной строкой. Необходимо понять целый sentece для перевода его правильно.
Не все слова должны быть переведены на всех языках: например, на норвежском языке каждый не использует (мы можем говорить "vГ ¦ r sГҐ поводок" буквально "быть так добрыми", но при использовании в качестве команды это звучит слишком мощным), так корректный норвежский vould быть:
необходимо позволить полностью изменять порядок, например, на вымышленном демонстрационном языке:
, Некоторый язык может даже иметь одно отдельное слово для (большая часть) это предложение также...
я рекомендую решение 1, или возможно "% {потрясение} входит в систему % {endlink} для продолжения" этого способа, которым переводчик может сделать целое предложение ссылкой, если это более естественно, и это может быть полностью реструктурировано.