我对主题和插件开发还不太熟悉,而且一直停留在翻译部分。我读到一个地方,如果你使用__()
, 和e()
自始至终,您不需要像WPML这样的插件。是否正确?生成所有目标语言的翻译文件(如.po文件)是一项困难的工作吗?我是否需要手动从google translator复制粘贴内容并将其粘贴到这些文件中?请原谅我没有经验,谢谢你的耐心。
使WP主题/插件无需插件即可实现多种语言
我读到一个地方,如果你使用__()
, 和e()
自始至终,您不需要像WPML这样的插件。
这是不准确的。这些函数和WPML用于两种不同的用途。
WordPress网站可能需要翻译两种文本:
内容。这是作为存储在数据库中的内容输入WordPress的任何文本。这包括帖子和页面的主体,还包括标题、小部件和菜单等。模板字符串。这是指编码到模板和函数中的文本片段。例如,您的主题可能有一个;继续阅读“;循环中每个帖子的按钮。这个标签就是其中之一__(), _e()
etc.专门用于处理#2,如果要允许翻译这些字符串,则它们是必需的。如果没有它们,这些字符串将始终是它们最初使用的语言。
您可以自己打包这些翻译,也可以只提供一个。pot文件,以便用户可以自己创建翻译。如果您的主题正确地实现了本地化,并通过WordPress分发。组织主题存储库,然后用户可以使用https://translate.wordpress.org 用他们的语言进行翻译。本文概述了WordPress中的本地化here.
对于#1内容,不需要这些功能。用户可以将他们的网站设置为他们喜欢的任何语言,并以他们喜欢的任何语言输入内容。唯一的例外是从右向左的语言。为了支持这些,主题需要为从右到左的语言提供样式。有一篇关于这个的代码文章here.
那么WPML的作用是什么呢?WPML提供了允许站点具有多种语言内容的工具。这适用于网站可能需要提供两种或两种以上语言的内容,并允许用户在两种语言之间切换的情况。WPML不需要翻译模板字符串,也不需要以作者选择的任何语言输入内容。它仅适用于需要多种语言内容的网站。
一些多语言插件,如WPML,提供了用于翻译模板字符串的内置工具。这些特性意味着用户不需要依赖主题作者提供翻译,也不需要了解翻译工具。但是,要使这些功能正常工作,您需要使用翻译功能。
总结如下:
正确使用翻译功能可以翻译主题的硬编码字符串here.