原文链接:How to Build Multilingual Drupal Sites
译者:晴空 校对:龙马
安装Drupal的时候有很多不同的语言可供选择,但是如果你想实现一个多语言的网站,该怎么办呢?Drupal可以实现这样的功能,但是过程并不简单。有两个方面需要进行翻译。
首先,首先你需要翻译网站界面,这包括按钮、下拉菜单、消息和其他在网站上用于交互的文字。定制界面是比较简单的,而且你可以下载语言包来减少你的工作量。Drupal开发者经常称这个过程为“网站本地化”。
其次,你还需要翻译页面内容。有一些模块可以实现这个功能,但是工作量比翻译界面大很多。
让我们看一看如何翻译界面和内容。
第一步:下载并安装所有需要的模块
以下模块是你在翻译的时候必须用到的。在你继续下一步之前,请确认你已经下载,安装并启用了他们。
- Locale (用于支持唯一一个核心自带的模块,你必须开启它)
- Entity Translation
- Title (用于翻译节点标题)
- Entity API (用于支持Title模块)
- Internationalization (i18n)
- Variable (用于支持许多翻译相关的模块)
- Localization Update
- Language Icons
第二步:启用并配置local模块
这是一个核心模块,你可以在模块页面的核心部分找到它。
先确认安装并启用了Local和Localization Update模块。Localization Update模块是在安装 Entity Translation模块的时候被添加的。
第三步:设置语言
导航到“配置”并找到“地区及语言”。你会看到两个新的选项:“语言”及“翻译”。点击“语言”
在语言页面,点击“添加语言”
在预定义语言下面的下拉菜单中选择一个语言。如果你找不到你想要的语言,你可以自己定义一个语言。但是这并不是这个教程要讲的内容。你可以在https://localize.drupal.org找到可供下载的语言包。
添加所有需要的语言后将页面滚动至底部并点击保存设置按钮。
第四步:选择语言检测方式并激活它
给你想使用的方法打钩,并保存。
警告:不要关闭或者改变你的默认语言,这会导致严重的错误及不可预料的结果。你的默认语言不一定必须是英语。如果你用的是某个国际化的Drupal版本,不要改变它的默认语言。
第五步:配置翻译升级
在“更新翻译”选项卡,你可以配置为你的语言文件自动升级的功能。
导航到“配置”并找到“地区及语言”。点击“翻译”。这里你可以看到一排选项卡,可以让你执行导入、升级和管理界面的字符串。
你下载的语言包会翻译大部分的东西。使用这个页面上的工具,你可以搜索并找到你想翻译的字符串或者一段话。
在上图中我搜索了字符串 "An AJAX HTTP error occurred." 字符串必须完全按照它在页面中所显示的那样来输入。点击编辑来翻译这个字符串。
现在你可以为不同的语言添加字符串,并为他们添加翻译。如果你不为字符串添加翻译,那么用户只能在默认语言下看到他们。
第六步:为页面添加翻译
启用下面的模块,如果你还没有启用的话
- Entity Translation
- Title
- Internationalization
- Entity API
- Variable
启用之后,导航至结构,然后进入内容类型
点击你想要添加翻译的内容类型的编辑按钮
点击发布选项并启用多语言支持
-如果选择启用,编辑表单中会被添加一个语言选择字段,它可以让你选择已经启用的语言。
-你也可以为这个内容类型开启翻译,这样你可以对内容进行翻译。
-如果不启用。新添加的内容将用默认语言保存。已经存在的内容不会因为这个选项的改变而受到影响。
-如果entity translation被启用了,它可以针对每个启用的语言为同一个内容提供不同的翻译版本。
点击“Multilingual settings”。选择扩展语言支持选项。点击保存内容类型。为每一个内容类型重复这个步骤。
第七步:让每一个字段都可以被翻译
退回到你正在编辑的内容类型,并点击“管理字段”选项卡。你会看到标题字段有一个“replace”选项。
如果你勾选“Replace title with a field instance”,标题就会被一个字段所取代。(译者注:这样你就可以翻译标题了)
现在你会得到一条确认信息。
第八步:为每个字段激活语言选项
点击“字段”栏中的字段名称。你需要为该内容类型里的每一个字段重复这个步骤。
勾选并保存,以确保字段可以被翻译。
第九步:创建一些内容并为他们添加翻译
点击“添加内容”并为一个你已经激活了多语言属性的内容类型添加一个内容。
当你保存之后,在编辑页上会有一个多出来的选项卡。点击“翻译”。
在新的对话框中点击“add translation”
进行翻译并保存。在上面的例子中,我将标题和body字段翻译成了法语。
第十步:为每个语种重复同样的步骤
为每个页面上会使用到的语种重复同样的步骤。
第十一步:添加一个用于语言切换的区块
导航至结构,然后到区块,找到“语言切换器(内容)”和“语言切换器(用户界面文本)”这2个区块。
将他们之一或者一起加入到你的页面的指定位置。
在区块页面上点击“配置”,点击“语言”。对可见性进行配置。这里如果不配置的话,默认是不区分语言的。
如上图所示,语言选择区块被放置在了页脚部分。点击国旗图标或者语言链接就可以切换页面的语言。
上图显示的是我点击了南非国旗之后的样子。你会发现某些标签并没有被翻译。你需要像在第五步里描述的那样,一对一的找到他们并对他们进行翻译。也许在将来这些词汇的翻译会被加入这个语言的语言包中,也有可能在这个语言中并不存在相对应的词汇。
现在你学会了如何为一个drupal网站添加界面和内容的翻译。你需要执行很多个步骤而且你很容易被搞昏了头。如果你是个新手,不要急,慢慢来,并且在你做下一步之前,一定要确定前一个步骤没有搞错。