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
运行中进行了翻译,而第二条消息是新的、挂起的翻译。