【问题标题】:Symfony : These messages are not available for the given locale and cannot be found in the fallback localesSymfony :这些消息不适用于给定的语言环境,并且无法在备用语言环境中找到
【发布时间】:2018-11-27 06:25:51
【问题描述】:

我正在尝试使用 symfony 翻译。这是我的翻译.yml

framework:
    default_locale: 'en'
    translator:
        paths:
            - '%kernel.project_dir%/translations'
        fallbacks: ['en']

我在翻译目录中创建了 messages.en.yml。

## YAML Template.
Home: Home
Admin: Admin
Dashboard: Dashboard
Vehicles: Vehicles
Id: Id

但是当我尝试这样使用时,

{% trans %}Dashboard{% endtrans %}

我收到此错误消息,

这些消息不适用于给定的语言环境,也不能 在后备语言环境中找到。将它们添加到翻译目录 避免 Symfony 输出未翻译的内容。

【问题讨论】:

  • 尝试messages.en.yaml而不是messages.en.yml。
  • 抱歉,还是出现同样的错误
  • 您是在项目目录中创建了翻译目录,还是在 Recources 目录下创建了它?

标签: symfony symfony4


【解决方案1】:

区域设置由两部分(语言和国家/地区)和下划线组合而成:例如。 it_IT 或 en_EN

例如瑞士有 3 种口语:

  • de_CH
  • ch_CH
  • fr_CH

翻译文件的文件名应该是这样的:

  • messages.en_EN.yml
  • messages.it_IT.yml
  • ...

每个翻译文件中的翻译键应该是唯一的、以点分隔且相等的。先是翻译键,冒号后是翻译内容。

# messages.it_IT.yml
navigation.home: Clicca per casa
navigation.help: Clicca per aiuto

# messages.en_EN.yml
navigation.home: Click for home
navigation.help: Click for help

现在您可以在应用程序中使用导航键,一个好的 IDE 将通过选择它们来帮助您。当为应用程序的不同部分使用不同的文件时,您必须在 twig 中处理它们,例如:

{{ 'navigation.home'|trans({}, 'application') }}
{{ 'navigation.help'|trans({}, 'application') }}

<div class="error-message">
    The following error occured: {{ 'error.login'|trans({}, 'messages') }}
</div>

【讨论】:

  • 对不起,但是当我转储时我得到'en'并且当我尝试 messages.it.yml 时它工作得很好。无论如何,谢谢,当我正确时,我会支持你
【解决方案2】:

我刚刚找到了一个解决方法。添加messages.it.yml文件并在translation.yml中更改fallbacks: ['it']

framework:
    default_locale: 'en'
    translator:
        paths:
            - '%kernel.project_dir%/translations'
        fallbacks: ['it']

因为我已经添加了以英语显示的 messages.en.yml 更改,所以我不确定为什么会发生这种情况。

【讨论】:

  • 我编辑了我的答案,使翻译文件的功能更加清晰。当我正确阅读您的答案时,您的问题似乎仍未解决。现在您已将“en”设置为所有新会话的默认值,当找不到翻译键时,它应该回退到“it”。因此,当您的文件之间的翻译键不同时,您将得到一个真正混乱的结果:-) 希望我的额外解释对您有所帮助:-)
【解决方案3】:
php bin/console cache:clear

清除缓存,如果你创建了新的翻译文件,你必须这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2020-08-28
    • 2020-04-18
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多