撇号不能通过.po文件传出

时间:2016-03-14 15:09:26

标签: php poedit

我正在用poedit进行翻译。然而,poedit似乎忽略了撇号。例如不应该正在不应该。我在utf-8编码。有谁知道为什么会这样,如果有解决方案?

2 个答案:

答案 0 :(得分:0)

我向你保证,Poedit并不是在某种程度上忽略或吃撇号 - 这是荒谬的。它只是一个编辑器,可以将您编写的内容与您编写的内容完全相同(是的,包括'或任何Unicode字符)到您的PO和MO文件中。

你的问题是你的PHP代码中的 ,你在打印它们之前错误地转义(翻译过的)字符串 - 你不知道如何以及在什么情况下你不能分享。< / p>

但这就是为什么WordPress具有像esc_attr_e这样的功能,可以做任何必要的转义并正确执行,这样你就不必做任何荒谬的事情(和使用一样痛苦!)就像用{{'代替&#8217; 1}}在您的所有翻译中(使用未翻译的文本时甚至无法正常工作......)。

答案 1 :(得分:-1)

您需要使用html实体:noexcept

来源:http://geektnt.com/tag/poedit

某些文字字符需要转换为html实体,否则无法正确显示。一个非常常见的例子是包含撇号或单引号(')的单词,需要用&#8217;替换 - 例如,Chloe O'Brian应该写成&#8217;。有关html实体的完整列表,请访问W3Schools。