symfony5翻译:更新结果不符合预期



i jave a messages.de.yaml文件:

测试:测试

只是另一个测试:测试2

当我进行php-bin/console翻译时:update--force-en-output format=yaml i get:

messages.en.yaml测试:测试

just.another.test:__just.another.test

为什么就在后面:不是"测试2";翻译?

__是为了让它明显地表明它是一个未翻译的字符串(您可以使用--prefix选项来更改它(
在更新翻译文件时,翻译是在系统中传递的消息,而不是您使用的短语关键字。翻译只是键加前缀
然后您必须"填充";那些翻译,系统没有办法";弥补";翻译本身也不复制原始语言的价值,这将使未决翻译更难被发现。

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

因此,在这种情况下,第一条消息肯定已经在另一个translation:update运行中进行了翻译,而第二条消息是新的、挂起的翻译。

最新更新