我正在使用PHP的gettext函数进行本地化.我正在使用Poedit进行实际翻译,并且通过其"从源代码更新"功能,可以很容易地提取所有需要翻译的字符串 - 除了内部heredoc语法.
Poedit正在使用xgettext程序从PHP源文件生成.po文件.当PHP代码如下所示,它工作得很好:
echo "<h1>". _("test") ."</h1>";
Run Code Online (Sandbox Code Playgroud)
但是没有提取以下内容(请注意需要使用伪t对象):
echo <<<EOD
<h1>{$->_('test')}
EOD;
Run Code Online (Sandbox Code Playgroud)
在PHP代码中,您可以通过以下方式解决问题:
<?php
$t = _('test');
echo <<<EOD
<h1>$t</h1>
EOD
?>
Run Code Online (Sandbox Code Playgroud)
但我真的希望xgettext程序可以从heredoc块中提取字符串.
一个对于解决办法已建议在PHP文档注释.解决方法是告诉xgettext程序将PHP源文件视为Python代码.但是在Poedit中使用这种方法会给我带来很多来自xgettext解析器的语法错误.
有没有人知道获取xgettext从PHP heredoc语法中提取翻译的解决方法?
在gettext项目的票证系统上打开了一个有点相关的票证:http://savannah.gnu.org/bugs/?27740这表明可以改进对heredoc语法的支持?
我正在进行数据迁移任务,我必须将一个稍大的Lotus Notes应用程序导出到博客平台.我的第一个任务是将Lotus Notes中的文章导出为CSV文件.
我在LotusScript中创建了一个代理,将数据导出为CSV文件.我使用此IBM DeveloperWorks论坛帖子的修改版本.它基本上完成了这项工作.但Rich Text字段的内容将被删除任何格式.这不是我想要的,我希望Rich Text字段呈现为HTML.
GetItemValue方法的文档明确声明文本呈现为纯文本.所以我开始研究能够检索HTML的东西.我在IBM文章如何使用LotusScript访问富文本字段中找到了NotesMIMEEntity类和一些示例代码.
但是,对于上述文章中描述的技术,富文本字段需要具有"将内容存储为HTML和MIME"属性.我的Lotus Notes数据库不是这种情况.我试图在有问题的字段上设置属性,但它没有做到这一点.
是否可以使用NotesMIMEEntity并在添加内容后设置"将内容存储为HTML和MIME"属性,以导出呈现为HTML的字段?
或者我将Notes数据库Rich Text字段导出为HTML的选项有哪些?
额外信息:我使用的是IBM Lotus Domino Designer 8.5版