Symfony 翻译忽略参数中的花括号

当使用 symfony 翻译模块翻译一段代码时,symfony 似乎忽略了花括号。


 <trans-unit id="test">

    <source>test<source>

    <target>

        test {test}

    </target>

</trans-unit>

使用以下Translator配置时。


$translator = new Translator("en");

$translator->addLoader('xlf', new XliffFileLoader());

$translator->addResource('xlf', 'translations/messages+intl-icu.en.xlf', 'en');

$translator->setFallbackLocales(["en"]);


$message = $translator->trans("test", ["test" => "error"], null, "en");

产生以下翻译:error {error}虽然我期望test error


这是我的配置中的错误还是我误解了应该如何进行替换?


我的 symfony 版本如下。


"symfony/translation": "v5.0.2",

"symfony/config": "v5.0.2"

根据文档(https://symfony.com/doc/current/translation/message_format.html)


Everything within the curly braces ({...}) is processed by the formatter and replaced by its placeholder:


这是 Symfony 中的错误还是我用错了?


翻阅古今
浏览 113回答 1
1回答

杨魅力

我遇到了同样的问题并问:https ://github.com/symfony/symfony/issues/36461答:您需要['{test}' => 'error']作为参数数组传递,包括键字符串中的花括号。
打开App,查看更多内容
随时随地看视频慕课网APP