用可翻译的字符串替换帖子中的字符串

时间:2014-08-05 作者:Bojana Šekeljić

我正在一个多语言网站上工作。有些帖子有外部资源可供下载。”下载包装在中的字符串a 所有语言的下载标签均为英文。如何包装这些字符串以使其可翻译?

我尝试搜索“下载”并替换为<?php _e(\'Download\', \'rkm\') ?> 但是php块被封装在注释标记中,我想它在<?php the_content() ?> 作用

如果您需要更多信息,请随时询问。

提前感谢!

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

作为帖子内容的一部分,无法使用翻译功能翻译字符串。您可能需要一个多语言插件,如WPMLMultilingual Press.

这样,你就可以对同一篇文章有不同的“版本”(每种语言支持一个版本)。

然而,如果你只需要翻译“下载”这个词,你可以创建一个短代码,并在postcontent中使用它。

示例:

function my_download_btn_cb( $atts, $content = "" ) {
  $format = \'<a href="%s"%s>%s</a>\';
  $blank = isset( $atts[\'blank\'] ) && $atts[\'blank\'] ? \' target="_blank"\' : \'\';
  $content = filter_var( $content, FILTER_SANITIZE_URL );
  return sprintf( $format, $content, $blank, __( \'Download\', \'rkm\' ) );
}

add_shortcode( \'download\', \'my_download_btn_cb\' );
在插件或函数中包含此代码后。php,在您的帖子内容中,您可以这样使用它:

[download]http://example.com/url/to/the/external/download[/download]
或者,如果要在新窗口中打开下载链接:

[download blank="1"]http://example.com/url/to/the/external/download[/download]
这样,“下载”一词将根据当前语言显示在链接中的翻译(当然,如果相关的.mo文件中有翻译的话)

结束

相关推荐

Custom metabox translation

我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。