php twig многоязычный без gettext

Я новичок в php и пишу свою первую веб-страницу, используя PHP + JS без каких-либо фреймворков (возможно, позже).

У меня следующий вопрос.

Как реализовать многоязычность в Twig без Gettext или других плагинов?

Как-то так (в чистом PHP — без вопросов … но как его использовать в ветке)

$lang=array(
"about_site" => "о нас",
"project" => "проект",
"team" => "команда");

На самом деле мой проект не имеет ограничений.
Если Gettext — лучшее решение для меня — я воспользуюсь им.
Я думал, что мне придется переводить только 5-10 слов на странице. Использование Gettext для этой цели немного странно.

1

Решение

Вы можете легко использовать массив php, как ваш, для перевода в веточку. Просто передайте массив в шаблон веточки:

/* $twig is a is an instance of Twig_Environment */
$template = $twig->loadTemplate('yourtemplate.html');

$templateVars['trans'] = array(
"about_site" => "о нас",
"project" => "проект",
"team" => "команда");
echo $template->render($templateVars);

И в шаблоне:

<!-- a lot of html stuff -->
<ul>
<li><a href="#">{{ trans.about_site }}</a></li>
<li><a href="#">{{ trans.project }}</a></li>
<li><a href="#">{{ trans.team }}</a></li>
</ul>

Но учтите, что если у вас есть сложные переводы с выражениями в единственном / множественном числе, переменными, выражениями даты и т. Д., Я настоятельно рекомендую вам использовать расширение twig i18n, построенное на gettext:
http://twig.sensiolabs.org/doc/extensions/i18n.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]