翻译字符串和Poedit问题

时间:2015-02-09 09:37:15

标签: php po poedit

我遇到了给定来源的翻译问题;

<?php
$this->messageAdd($this->_("Ett okänt fel uppstod när %0 skulle skapas!", $term2), "error");
return $this->setResultCode(self::RESULT_ERROR);
?>

如果我不是盲目的,这是一个完全正常的字符串,我在其他源文件中有很多相似但是这个特定的字符串导致po文件中的这些行;

#: ../../../../path/to/source_file.php:552
#, php-format
msgid "Ett okänt fel uppstod när %0 skulle skapas!"
msgstr "An unknown error occurred while creating the %0!"

错误

  

错误:'msgstr'不是有效的PHP格式字符串,与'msgid'不同。原因:在指令编号1中,字符“w”不是有效的会话说明符。

问题是什么,为什么只有这个字符串会导致错误?如果我从源文件中删除字符串,则不会在poedit中生成错误。

编辑#1 ;我在进一步研究后发现this issue,发现在源文件中的翻译字符串之前添加注释/* xgettext:no-php-format */解决了问题。虽然知道为什么这只发生在指定的字符串而不是我的5k +字符串中的任何其他字符串会很好。

1 个答案:

答案 0 :(得分:1)

删除

#, php-format
来自.po文件的

指令。