我是php的新手,我使用PHP + JS编写我的第一个网页,没有任何框架(可能稍后)。
我有下一个问题。
如何在没有Gettext或其他插件的情况下在Twig中实现多语言?
类似的东西(在纯PHP中 - 没有问题......但是如何在树枝上使用它)
$lang=array(
"about_site" => "о нас",
"project" => "проект",
"team" => "команда");
事实上我的项目没有任何限制。 如果Gettext对我来说是最好的解决方案 - 我会使用它。 我以为我每页只翻译5-10个单词。为此目的使用Gettext有点奇怪。
答案 0 :(得分:0)
你可以轻松地使用像你这样的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>
但是请注意,如果您使用单数/复数表达式,变量,日期表达式等进行复杂的翻译,我强烈建议您使用基于gettext构建的twig i18n扩展: http://twig.sensiolabs.org/doc/extensions/i18n.html