使用WordPress构建多语言网站

  • 所需知识:中级(X)HTML,CSSWordPress的主题,基本熟悉.htaccess
  • 要求:Poedit或类似推荐
  • 项目时间:6-8小时

在世界上大多数地方,多语种网络不是例外,它是常态。世界上大约三分之二的人口在现实世界中使用多种语言,因此他们在线使用这些语言也就不足为奇了。

人们通常认为英语是网络的事实上的语言,但现在大部分的互联网使用都是用英语以外的语言进行的(www.internetworldstats.com/stats7.htm)。随着越来越多的人加入来自俄罗斯,中国和发展中国家的网络世界,这一领先优势将会增长。

对于适应全球市场的企业,以及试图在家中培养客户忠诚度的组织,同时以多种语言运营网站正变得越来越普遍。

01.多语言与本地化

许多人将多语言网站与一个以英语以外的语言(一个本地化网站)运行的单语网站混为一谈。

使用WordPress构建本地化站点非常简单。该WordPress语言文件库存储70多种语言的语言包,包括威尔士语,日语甚至克林贡语。如果您没有看到您的语言,您可以随时提供自己的语言包。 WordPress可以处理许多字母表,包括拉丁语,西里尔语和阿拉伯语,还可以处理从右到左的书面语言。

目前,您需要下载完全本地化的WordPress版本,或者只上传语言包。即将推出的WordPress 3.3的计划改进之一是直接从管理面板添加新语言的快速方法。

A screenshot of what the language pack interface might look like in WordPress 3.3 (via wpbeginner)

WordPress 3.3中语言包界面的截图(通过wpbeginner)

02.多语言与多区域

地理定位是另一个经常与多语言混淆的术语。通常,大公司为其经营的每个国家建立单独的网站,并以不同的语言运营。它是多区域的,但这与多语言不完全相同。语言使用,地理和政治不完全重叠。

03.内容策略

您可以通过多种方式为多语言内容组织网站。

快速而肮脏的方式是添加自动翻译插件(Google AJAX翻译是一个)或自动翻译工具,如谷歌翻译。这很容易且免费,但翻译不可靠且不太专业。但是,对于小型个人博客来说,它是一个实用的选择。

其他网站选择部分解决方案。一些双语博客用一种语言建立一个网站,然后用交替的语言写帖子,偶尔翻译一下内容。

但是,专业网站需要更强大的策略。界面需要以多种语言运行,内容可能会在很大程度上被镜像。人的翻译是必须的;然而,有可能使用在线服务来众包翻译MyGengoSmartling

It’s easy to add Google Translate to a website

将Google翻译添加到网站很容易

04.技术考虑

在开始之前,您需要考虑以下事项。您会以哪种语言提供内容?那么界面和管理面板呢?您可能需要一种在语言之间切换的方法。您可能也会考虑某种形式的语言持久性,通常是通过cookie,这样访问者就不必在每次访问时选择语言。您需要考虑您的网址结构。另外,您需要考虑您将使用的字母和文字方向。

05.政治

您还需要考虑语言使用的政治。例如,许多语言切换器使用标志,但这是不建议。语言使用和民族国家并不是完全重叠的实体,当你做出这个假设时,很容易冒犯人。您可能还想根据颜色选择等设计元素来考虑文化因素。

第三个考虑因素是选择默认语言。有时这是一个简单的选择,但在没有主导语言(瑞士)或语言选择有争议的地区(加拿大,比利时),你不能总是有一种默认语言。例如,加拿大的一个常见选项是使用带有语言选择的启动页面(尽管将其描述为多语言主页会更准确)。它并不适合搜索引擎优化,但它比一群愤怒的访问者要好得多。

Multilingual home pages are common in Canada, where language issues can be contentious

多语种主页在加拿大很常见,语言问题可能引起争议

06. SEO怎么样?

谷歌有一些详细资料关于多语言网站的预期。它希望语言显而易见。这意味着不要在单个页面上混合语言。谷歌还建议阻止搜索引擎的自动翻译,因为它们可能非常不可靠,以至于混淆了搜索引擎抓取工具。

Google建议通过URL使用不同的子域(de.example.com,en.example.com),子目录(example.com/en,example.com/es)或完全不同的域(example.com,示例)来分隔语言.FR)。

谷歌也希望这种语言很容易被发现。每个页面都应交叉链接到其他语言版本。建议不要使用cookie来保存语言选择,并且使用JavaScript执行相同操作可能会非常棘手,除非JavaScript优雅地降级。

Google不鼓励基于访问者的浏览器语言或地理映射IP地址进行自动重定向,因为这也会阻止搜索引擎。这使得语言持久性也难以实现。 Google还会忽略您网站HTML中的语言标签。

07.主题怎么样?

您将需要一个已本地化或国际化的WordPress主题(已有许多商业主题),或者您需要本地化您自己的主题。该WordPress Codex包含有关如何本地化WordPress本身的信息,但信息也适用于主题。

第一步是让您的主题可翻译。 WordPress使用了GNU Gettext本地化框架翻译WordPress核心。它也可以用在主题中。

您的主题中的每个文本片段都需要使用GetText调用进行包装。这意味着代码片段由两个PHP函数之一传递。当代码段中称为消息的片段作为参数传递给另一个函数时,使用__();其余时间使用_e()。您还需要包含一个文本域,用于将片段标识为属于您的特定主题。这意味着您的主题将包含如下所示的文本:__('message','theme-name')

The Roots theme files include GetText calls

Roots主题文件包括GetText调用

接下来,您需要为计划使用的每种语言创建PO(可移植对象)文件。商业主题通常已经附带了流行语言的.po文件。如果没有,或者如果您使用自定义主题,则可以使用像poedit这样的工具生成包含GetText调用中包含的所有术语的文件。一些空白的主题,如包括几个语言PO文件,您可以使用它们来开始。

拥有PO文件后,您将需要创建MO(机器对象)文件,以加快GetText转换过程。类似的工具PoEdit的也可以为你做这件事。更多细节在这里:urbangiraffe.com/articles/translating-wordpress-themes-and-plugins/

The Roots theme contains POT, PO and MO files for multiple languages

Roots主题包含多种语言的POT,PO和MO文件

08.多安装方法

获得一些翻译内容和本地化主题后,您需要开始构建您的网站。一种方法是创建一个网站网络,每种语言一个。如果您愿意,可以使用WordPress内置的多站点功能。WordPress Codex包含有关激活此功能的信息,但这很简单。

使用此选项构建多语言网站所需的唯一插件是语言切换器。如果您只使用两种语言,则可以使用双语链接器插件。否则你可以使用语言切换器插件虽然截至2010年,这个插件已不再维护。如果您使用多站点选项,则可以使用多站点语言切换器插件

The Multisite Language Switcher plugin allows you to configure the switcher on a per-site basis

Multisite语言切换器插件允许您基于每个站点配置切换器

这种解决方案有几个优点。这非常稳定。它允许内容在不同语言之间相同。但它可能意味着更多的维护。您可以使用多站点功能减少此操作,这样您只需更新一个WordPress安装和一个主题。例如,如果您因文化原因需要修改配色方案,也可以使用子主题。但您仍需要跨多个站点管理内容。请注意,某些共享主机提供商不允许在其服务器上进行多站点安装。如果你没有使用多站点,你可以试试ManageWP Worker插件通过一个仪表板访问您的所有站点(我没有尝试过,插件处于测试阶段)。

09.单一安装方法

另一个选择是构建一个WordPress站点并使用多语言插件。

有几个插件可用但是WordPress多语言插件(WPML)可以说是最好的。有一个免费版本,但如果你想翻译你的菜单(可能!)并使用最新版本,你需要支付79美元的CMS商业版。该插件允许您翻译构成您网站的WordPress帖子和页面。它为每种语言创建单独的帖子和页面,并允许您将它们相互链接。它还允许您翻译菜单,小部件以及插件。

还有其他插件以类似的方式工作(QTranslate)但它们有一个主要缺点。他们将所有语言写入相同的数据库表,然后一次只向访问者显示一个版本的内容。这意味着如果您决定卸载插件,则需要从每个WordPress页面手动删除所有其他语言版本并发布。这可能非常耗时。

单一安装方法解决方案具有优势。 WPML插件非常易于使用和安装。它使维护站点内容变得更加容易,因为您只需要使用一个管理面板,并且可以轻松地从一种语言版本跳转到另一种语言版本。您可以翻译您的语言不可用的插件。实际上,几乎站点的每个部分都可以使用插件界面进行翻译。但是,一些更复杂的插件,尤其是电子商务插件,将无法与WPML一起使用。 WPML插件也可能有问题。有一些内置的故障排除工具,但它们很难找到,对客户来说不是特别友好。

WordPress Multilingual Plugin (WPML) allows you to operate a site in multiple languages with a single installation

WordPress多语种插件(WPML)允许您通过一次安装以多种语言操作网站

10.高级功能

仅仅因为您的网站是多语言的并不意味着它需要简单。我没有在多语言安装中亲自尝试过以下所有工具和插件,但我在这里列出它们是为了让您了解可能的内容。

例如,如果您需要跟踪库存,电子商务对于多语言网站来说可能会非常棘手。你可以将WordPress与Magento的要么的Prestashop,这是多语言的。如果您使用的是WPML,则可以使用MarketPress要么CartPress。其他WPML电子商务集成WP电子商务原码和处于beta和alpha开发阶段。

如果您需要完全双语的电子邮件营销解决方案,您也可以这样做。CakeMail提供完全双语的产品,虽然它有点贵。如果你使用Campaign Monitor,您可以为每种语言使用多个子帐户。您也可以使用多个安装PHPList
如果您需要复杂的表格,请在线服务Wufoo项目和WordPress插件重力形式可以提供那些。

对于多语言论坛和wiki,还有许多解决方案,但通常需要多次安装。

香农史密斯是CaféNoirDesign的创始人,专门从事多语言网站开发。她支持诸如使每个人都可以访问Web以及使用开源软件之类的东西。在chroni.ca上阅读她的博客。

喜欢这个?阅读这些!



翻译字数超限