如何翻译多行字符串?

时间:2012-03-15 作者:Borek Bernard

如果PHP中有这样的长字符串:

<?php
$text = "Some ... very
         very...
         long string";
可以通过GetText将其包装在__(), e、 g。

<?php
$text = __("Some ... very
         very...
         long string", "domain");
?我听说GetText不支持多行字符串,实际上,当我尝试在poEdit中扫描这样的文件时,它找不到它。

你是怎么处理的?WordPress源文件似乎使用了很长的行,那么这样做是正确的吗?(很明显,将字符串拆分为多个较小的字符串,我宁愿避免使用这些字符串。)

Edit: 问题是我的字符串中有一个变量引用,例如。__("string $someVar") GetText不支持。我的错。

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

__() 其他l18n函数将处理您给它们的任何字符串,包括换行符。根据我的经验,poEdit可以很好地识别它们,但如果您有问题,可以考虑使用UNIX换行转义\\n 而不是字符串内的实际换行符;在这种情况下,请确保使用双引号,以便它们不会被逐字渲染。

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette