2

今天,当我尝试扫描我的插件以查找翻译并为其创建本地化文件时,我遇到了这个麻烦,但我看到 Poedit 扫描了所有文件但没有解析所有字符串。例如,如果我有这样 <?php _e('test string')?>的字符串,它会被解析,但如果我在这样的上下文中使用它

如果($a == $b){
  _e('一切正常');
}别的{
  _e('错误');
}

poedit 没有解析任何字符串。然后我做了一个简单的测试,我把我的消息放在这样的一行
<?php_e('test string'); _e('test string 2');?>中,然后 poedit 提取它们!

注意: poedit 没有抛出错误。所有关键字都在那里,并通过搜索(_,__,_e)

4

2 回答 2

1

我有时会认为 Poedit 在文件中某处的注释后似乎无法识别字符串。

今天,它不会看到我的很多字符串。所以我做了一个测试。这是文件中间的一段代码:

//
// Check for valid address
//

echo __('Dit is een simpele test');

该字符串未被识别,之后的任何字符串也未被识别。删除评论和其他一些评论使 Poedit 可以看到文件中的所有字符串。

对我来说,它似乎是随机的,因为很多文件都包含注释并且它确实识别这些字符串。所以这似乎是一个错误。

我的一位同事指出,它只发生在单行注释中//#而不是使用多行注释/* */。我对其进行了测试并且它有效,所以这似乎是一个简单的修复。

我使用的是 1.5.5 版本,并且在旧版本中遇到了这个问题。

(为什么我不能添加评论?)

于 2013-03-08T09:51:17.877 回答
0

将文件的行尾更改为 Unix(从 Mac OS 9 开始)导致我丢失的字符串出现在 Poedit 中。

删除评论也有效,但如果它是通用的,这是一个更好的解决方案。评论问题似乎是 Poedit 中的一个错误。

于 2015-01-28T14:40:37.020 回答