Symfony:这些消息不适用于给定的语言环境,并且无法在后备语言环境中找到
Symfony : These messages are not available for the given locale and cannot be found in the fallback locales
我正在尝试使用 symfony 翻译。这是我的 translation.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 %}
我收到此错误消息,
These messages are not available for the given locale and cannot be
found in the fallback locales. Add them to the translation catalogue
to avoid Symfony outputting untranslated contents.
php bin/console cache:clear
清除你的缓存,如果你创建了新的翻译文件,你必须这样做。
语言环境由两部分(语言和国家/地区)和下划线组成:例如。 it_IT 或 en_EN
例如瑞士有 3 种口头语言:
- de_CH
- ch_CH
- fr_CH
翻译文件的文件名应该是这样的:
- messages.en_EN.yml
- messages.it_IT.yml
- ...
每个翻译文件中的翻译键应该是唯一的、以点分隔且相等的。首先是 translation-key,冒号之后是翻译后的内容。
# 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 将帮助您选择它们。当为应用程序的不同部分使用不同的文件时,您必须在树枝中解决它们,例如:
{{ 'navigation.home'|trans({}, 'application') }}
{{ 'navigation.help'|trans({}, 'application') }}
<div class="error-message">
The following error occured: {{ 'error.login'|trans({}, 'messages') }}
</div>
我刚刚找到了解决方法。在 translation.yml
中添加了 messages.it.yml 文件并更改了 fallbacks: ['it']
framework:
default_locale: 'en'
translator:
paths:
- '%kernel.project_dir%/translations'
fallbacks: ['it']
因为我已经添加了 messages.en.yml 更改显示为英文,但我不确定为什么会这样。
我正在尝试使用 symfony 翻译。这是我的 translation.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 %}
我收到此错误消息,
These messages are not available for the given locale and cannot be found in the fallback locales. Add them to the translation catalogue to avoid Symfony outputting untranslated contents.
php bin/console cache:clear
清除你的缓存,如果你创建了新的翻译文件,你必须这样做。
语言环境由两部分(语言和国家/地区)和下划线组成:例如。 it_IT 或 en_EN
例如瑞士有 3 种口头语言:
- de_CH
- ch_CH
- fr_CH
翻译文件的文件名应该是这样的:
- messages.en_EN.yml
- messages.it_IT.yml
- ...
每个翻译文件中的翻译键应该是唯一的、以点分隔且相等的。首先是 translation-key,冒号之后是翻译后的内容。
# 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 将帮助您选择它们。当为应用程序的不同部分使用不同的文件时,您必须在树枝中解决它们,例如:
{{ 'navigation.home'|trans({}, 'application') }}
{{ 'navigation.help'|trans({}, 'application') }}
<div class="error-message">
The following error occured: {{ 'error.login'|trans({}, 'messages') }}
</div>
我刚刚找到了解决方法。在 translation.yml
中添加了 messages.it.yml 文件并更改了fallbacks: ['it']
framework:
default_locale: 'en'
translator:
paths:
- '%kernel.project_dir%/translations'
fallbacks: ['it']
因为我已经添加了 messages.en.yml 更改显示为英文,但我不确定为什么会这样。