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