以占位符开头的Yaml翻译

以占位符开头的Yaml翻译,yaml,translation,placeholder,symfony4,Yaml,Translation,Placeholder,Symfony4,我尝试使用变量占位符进行翻译,它工作正常,除非翻译字符串以占位符开头 例如 如果在第一个%之前有任何非空白字符,则可以。否则它会说yaml文件无效。尽管可能允许百分比符号出现在纯标量的开头,而纯标量不是从文档的开头开始的(它们表示一个指令),但并非所有解析器都允许这样做。您可以通过与进行比较在线检查。YAML规范明确禁止%(即a)出现在a的开头 如果编辑中引入冒号(后跟空格)或反斜杠,则会遇到类似的问题 简单的解决方案是引用该值: example.translation: '%variable%

我尝试使用变量占位符进行翻译,它工作正常,除非翻译字符串以占位符开头

例如


如果在第一个%之前有任何非空白字符,则可以。否则它会说yaml文件无效。

尽管可能允许百分比符号出现在纯标量的开头,而纯标量不是从文档的开头开始的(它们表示一个指令),但并非所有解析器都允许这样做。您可以通过与进行比较在线检查。YAML规范明确禁止
%
(即a)出现在a的开头

如果编辑中引入冒号(后跟空格)或反斜杠,则会遇到类似的问题

简单的解决方案是引用该值:

example.translation: '%variable% example translation'
我在这里使用单引号,因为在这些单引号中,只有单引号有特殊的含义(如果您的原文有单引号,请使用两个单引号)

使用双引号引用YAML标量也是可能的,但是任何反斜杠(
\
)和原始的双引号之前必须加反斜杠(即
\\
\“

还可以将此类纯标量转换为文字样式块标量:

example.translation: |-
  %variable% example translation
必须使用
-
chomping指示符,否则标量将以换行结束,而原始标量没有换行。这样就不必了 对原件中的单引号或双引号,以及任何反斜杠,请执行任何特殊操作。

另请参见:
example.translation: |-
  %variable% example translation