如何将Symfony翻译的句子传递给树枝?

问题描述 投票:1回答:1

我正在使用Twig,twig-bridge,symfony / form和symfony / translator v4。不是Symfony框架。我对翻译感到困惑。在{root} /translations/messages.fr.php中,我写道:

// translations/messages.fr.php
return [
    'Symfony is great' => "J'aime Symfony",
];

在{root}的主脚本中,我写道:

setlocale(LC_ALL, 'fr_FR');
$translator = new Translator('fr');
$translated = $translator->trans('Symfony is great');
var_dump($translated); // Not translated!

并且在Twig模板中我写道:

<h1>{% trans %}Symfony is great{% endtrans %}</h1>

但是不翻译。我仍然得到英语版本。我做错了什么我应该将{root} /translations/messages.fr.php移到其他地方,因为它是独立的而不是symfony框架吗?

php symfony twig locale translation
1个回答
1
投票

如果您在不使用框架的情况下使用Symfony Translator,则需要手动配置翻译文件的路径,否则Translator将无法找到它们,并且任何翻译尝试都将退回到原始字符串。

我从未亲自做过,但是根据documentation,这应该对您有用:

$translator->addLoader('php', new PhpFileLoader());
$translator->addResource('php', 'path/to/messages.fr.php', 'fr_FR');
© www.soinside.com 2019 - 2024. All rights reserved.