如何解决symfony5 翻译:更新结果不符合预期
我有一个messages.de.yaml文件:
测试:测试
just.another.test:测试 2
当我执行 php bin/console 翻译时:update --force en --output-format=yaml 我得到:
messages.en.yaml 测试:测试
just.another.test: __just.another.test
为什么在右边之后:不是译者的“测试 2”?
解决方法
__
是为了明确表示它是一个未翻译的字符串(您可以使用 --prefix
选项更改它)。
在更新翻译文件时,翻译键是它们通过系统时的消息,在您的情况下,而不是您使用的关键字的短语。翻译值只是键加上前缀。
然后您必须“填写”这些翻译,系统无法自行“编造”翻译,也无法复制原始语言的值,这会使待处理的翻译更难以发现。
但如果文件中完全缺少密钥,它将使用来自 fallback_locale
的消息。
因此,在这种情况下,第一条消息必须已经在另一个 translation:update
运行中翻译过,而第二条消息是新的和待翻译的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。