【问题标题】:Symfony Translation using YAML files使用 YAML 文件的 Symfony 翻译
【发布时间】:2014-12-19 01:41:36
【问题描述】:

我目前在 symfony2 中遇到翻译问题。

有些翻译正在加载,有些没有。

我的messages.de.yml

form:
    label:
        save: Speichern
status:
    daten_mangelhaft: Die Daten scheinen etwas mager zu sein, bitte überprüfen.

一些树枝文件:

{{ 'form.label.save'|trans }}

输出(如预期):

Speichern

而(相同的树枝文件):

{{ 'status.daten_mangelhaft'|trans }}

输出:

status.daten_mangelhaft

如果我将其添加到 messages.de.yml 中,如下所示:

status.daten_mangelhaft: Die Daten scheinen etwas mager zu sein, bitte überprüfen.

我真的不明白,它在某些情况下有效,但在其他情况下无效。

我试过了:

  • 清除缓存
  • 在翻译中省略特殊字符(ä、ö、ü)
  • 在标识符中省略了分数
  • 将翻译用引号或单引号括起来

无济于事。

以前有人遇到过这个问题吗?你是怎么解决的?

【问题讨论】:

  • 您是否尝试过使用"' 转义翻译字符串?
  • 是的,我有(我会更新问题)。它没有帮助。
  • 尝试设置翻译域。翻译域是翻译文件的名称,所以试试 {{ 'status.daten_mangelhaft'|trans({},'messages') }}
  • 这也不起作用,老实说,我没想到会这样,因为同一文件中的其他翻译显示在同一页面上。感谢您尝试提供帮助。
  • 我还没有解决这个问题,仅供参考,我使用了一个 yaml 到 xliff 转换器,并且可以工作。

标签: symfony


【解决方案1】:

这仍然准确吗?

但是:您是否在 config.yml 中检查了备用语言?

framework:
    translator: {fallbacks: ['de']}
    default_locale: 'de'

您还可以使用您的 parameters.yml 文件中的语言环境参数并具有:

framework:
    translator: {fallbacks: ['%locale%']}
    default_locale: '%locale%'

【讨论】:

    【解决方案2】:

    在删除翻译后尝试运行php app/console translation:update(确保已保存)。它应该列出您需要的翻译。 这样你就可以确定在哪里写什么了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-14
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2019-04-13
      • 2019-11-01
      相关资源
      最近更新 更多