【问题标题】:Use non-breaking space in Symfony translation在 Symfony 翻译中使用不间断空格
【发布时间】:2017-05-15 21:23:12
【问题描述】:

我正在尝试使用不间断的空格字符  在翻译中。

# messages.cs.yml
"City near river": "Město u řeky"

但是,在模板中翻译时,不间断空格字符会被转义。

{{ 'City near river'|trans }} # prints "Město u řeky"

有什么办法可以做到这一点吗?

【问题讨论】:

    标签: symfony translation


    【解决方案1】:

    您可以尝试添加raw filter 喜欢:

    {{ 'City near river'|trans|raw }}
    

    这将防止 Twig 自动转义。

    另外我认为最好防止在 CSS 中破坏字符串,而不是在其中放置  

    您可以使用 CSS 规则来实现:

    white-space:nowrap;
    

    分配给包含翻译字符串的元素。

    这样您将获得更灵活的翻译,因为您可能不希望每次使用此字符串时都获取此 html 实体。

    【讨论】:

    • 我不能使用 white-space:nowrap 因为我希望文本正常中断。我只需要在单个字符介词之后使用不间断空格,例如“u”或“v”。这是一种特定的语言语法(捷克语)。
    • 使用原始过滤器可能会起作用,但如果翻译例如“Mike & Co” => “&” 不会在此处转义,则会破坏 HTML。我终于找到了使用 unicode char 的解决方案,请参阅上面的答案。
    【解决方案2】:

    我刚刚找到了一个使用 Unicode 字符的解决方案:

    # messages.cs.yml
    "City near river": "Město u\xA0řeky"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 2013-10-09
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多