使WP主题/插件无需插件即可实现多种语言

时间:2021-09-22 作者:Raging Vids

我对主题和插件开发还不太熟悉,而且一直停留在翻译部分。我读到一个地方,如果你使用__(), 和e() 自始至终,您不需要像WPML这样的插件。是否正确?生成所有目标语言的翻译文件(如.po文件)是一项困难的工作吗?我是否需要手动从google translator复制粘贴内容并将其粘贴到这些文件中?请原谅我没有经验,谢谢你的耐心。

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

我读到一个地方,如果你使用__(), 和e() 自始至终,您不需要像WPML这样的插件。

这是不准确的。这些函数和WPML用于两种不同的用途。

WordPress网站可能需要翻译两种文本:

内容。这是作为存储在数据库中的内容输入WordPress的任何文本。这包括帖子和页面的主体,还包括标题、小部件和菜单等。模板字符串。这是指编码到模板和函数中的文本片段。例如,您的主题可能有一个;继续阅读“;循环中每个帖子的按钮。这个标签就是其中之一__(), _e() etc.专门用于处理#2,如果要允许翻译这些字符串,则它们是必需的。如果没有它们,这些字符串将始终是它们最初使用的语言。

您可以自己打包这些翻译,也可以只提供一个。pot文件,以便用户可以自己创建翻译。如果您的主题正确地实现了本地化,并通过WordPress分发。组织主题存储库,然后用户可以使用https://translate.wordpress.org 用他们的语言进行翻译。本文概述了WordPress中的本地化here.

对于#1内容,不需要这些功能。用户可以将他们的网站设置为他们喜欢的任何语言,并以他们喜欢的任何语言输入内容。唯一的例外是从右向左的语言。为了支持这些,主题需要为从右到左的语言提供样式。有一篇关于这个的代码文章here.

那么WPML的作用是什么呢?WPML提供了允许站点具有多种语言内容的工具。这适用于网站可能需要提供两种或两种以上语言的内容,并允许用户在两种语言之间切换的情况。WPML不需要翻译模板字符串,也不需要以作者选择的任何语言输入内容。它仅适用于需要多种语言内容的网站。

一些多语言插件,如WPML,提供了用于翻译模板字符串的内置工具。这些特性意味着用户不需要依赖主题作者提供翻译,也不需要了解翻译工具。但是,要使这些功能正常工作,您需要使用翻译功能。

总结如下:

正确使用翻译功能可以翻译主题的硬编码字符串here.

相关推荐

month name translation

我使用birdtips主题,它将发布日期格式化为$birdtips_posted = date(__(\'Y. F j.\', \'birdtips\'), strtotime(get_the_time(\"Y-m-d\"))); 其中Y.F.j.已经被改写以反映我的语言。据我所知,\\uuuu是翻译功能,但我如何告诉Wordpress我使用匈牙利语,它会自动翻译月份名称,或者我应该在中给出名称。采购订单文件?