symfony5 translation:update 结果不符合预期

symfony5 translation:update result not as expected

我有一个 messages.de.yaml 文件:

测试:测试

just.another.test: 测试 2

当我做 php bin/console translation:update --force en --output-format=yaml 我得到:

messages.en.yaml 测试:测试

just.another.test: __just.another.test

为什么右边的不是翻译器的“测试 2”?

__ 是为了表明它是一个未翻译的字符串(您可以使用 --prefix 选项更改它)。
更新翻译文件时,翻译 keys 是它们通过系统时的消息,在您的情况下,而不是您使用关键字的短语。翻译 values 只是键加上前缀。
然后你必须“填充”这些翻译,系统无法自行“弥补”翻译,也无法复制原始语言的值,这会使待处理的翻译更难被发现。

但是如果密钥在文件中完全丢失,它将使用来自 fallback_locale 的消息。

因此,在这种情况下,第一条消息必须已经翻译成另一个 translation:update 运行,而第二条消息是新的且待翻译。