跳转到主要内容
qingkong 提交于 21 May 2014

原文链接:How to Build Multilingual Drupal Sites

译者:晴空 校对:龙马

tutuploadsmedia_1326929592271.png 安装Drupal的时候有很多不同的语言可供选择,但是如果你想实现一个多语言的网站,该怎么办呢?Drupal可以实现这样的功能,但是过程并不简单。有两个方面需要进行翻译。

首先,首先你需要翻译网站界面,这包括按钮、下拉菜单、消息和其他在网站上用于交互的文字。定制界面是比较简单的,而且你可以下载语言包来减少你的工作量。Drupal开发者经常称这个过程为“网站本地化”。

其次,你还需要翻译页面内容。有一些模块可以实现这个功能,但是工作量比翻译界面大很多。

让我们看一看如何翻译界面和内容。

第一步:下载并安装所有需要的模块

以下模块是你在翻译的时候必须用到的。在你继续下一步之前,请确认你已经下载,安装并启用了他们。

第二步:启用并配置local模块

tutuploadsStep_2__Enable_and_configure_Locale.png

这是一个核心模块,你可以在模块页面的核心部分找到它。

tutuploadsmedia_1326858686932.png

先确认安装并启用了Local和Localization Update模块。Localization Update模块是在安装 Entity Translation模块的时候被添加的。

第三步:设置语言

tutuploadsStep_3_Configure_Languages.png

导航到“配置”并找到“地区及语言”。你会看到两个新的选项:“语言”及“翻译”。点击“语言”

tutuploadsmedia_1326857306494.png

在语言页面,点击“添加语言”

tutuploadsmedia_1326857397128.png

在预定义语言下面的下拉菜单中选择一个语言。如果你找不到你想要的语言,你可以自己定义一个语言。但是这并不是这个教程要讲的内容。你可以在https://localize.drupal.org找到可供下载的语言包。

添加所有需要的语言后将页面滚动至底部并点击保存设置按钮。

第四步:选择语言检测方式并激活它

tutuploadsStep_4__Choose_a_detection_method_and_enable_it_with_a_ch.png

给你想使用的方法打钩,并保存。

警告:不要关闭或者改变你的默认语言,这会导致严重的错误及不可预料的结果。你的默认语言不一定必须是英语。如果你用的是某个国际化的Drupal版本,不要改变它的默认语言。

第五步:配置翻译升级

tutuploadsStep_5_Configure_Translation_Updates..png

在“更新翻译”选项卡,你可以配置为你的语言文件自动升级的功能。

tutuploadsmedia_1326860356104.png

导航到“配置”并找到“地区及语言”。点击“翻译”。这里你可以看到一排选项卡,可以让你执行导入、升级和管理界面的字符串。

tutuploadsmedia_1326860773347.png

你下载的语言包会翻译大部分的东西。使用这个页面上的工具,你可以搜索并找到你想翻译的字符串或者一段话。

在上图中我搜索了字符串 "An AJAX HTTP error occurred." 字符串必须完全按照它在页面中所显示的那样来输入。点击编辑来翻译这个字符串。

tutuploadsmedia_1326860938401.png

现在你可以为不同的语言添加字符串,并为他们添加翻译。如果你不为字符串添加翻译,那么用户只能在默认语言下看到他们。

第六步:为页面添加翻译

tutuploadsStep_6_Add_the_translation_to_the_website.png

启用下面的模块,如果你还没有启用的话

  • Entity Translation
  • Title
  • Internationalization
  • Entity API
  • Variable

启用之后,导航至结构,然后进入内容类型

tutuploadsmedia_1326922982363.png

点击你想要添加翻译的内容类型的编辑按钮

tutuploadsmedia_1326923055299.png

点击发布选项并启用多语言支持

-如果选择启用,编辑表单中会被添加一个语言选择字段,它可以让你选择已经启用的语言。

-你也可以为这个内容类型开启翻译,这样你可以对内容进行翻译。

-如果不启用。新添加的内容将用默认语言保存。已经存在的内容不会因为这个选项的改变而受到影响。

-如果entity translation被启用了,它可以针对每个启用的语言为同一个内容提供不同的翻译版本。

tutuploadsmedia_1326923446012.png

点击“Multilingual settings”。选择扩展语言支持选项。点击保存内容类型。为每一个内容类型重复这个步骤。

第七步:让每一个字段都可以被翻译

tutuploadsStep_7_Make_each_field_translatable.png

退回到你正在编辑的内容类型,并点击“管理字段”选项卡。你会看到标题字段有一个“replace”选项。

tutuploadsmedia_1326924079411.png

如果你勾选“Replace title with a field instance”,标题就会被一个字段所取代。(译者注:这样你就可以翻译标题了)

tutuploadsmedia_1326924160600.png

现在你会得到一条确认信息。

第八步:为每个字段激活语言选项

tutuploadsStep_8_Activate_the_language_option_for_each_field.png

点击“字段”栏中的字段名称。你需要为该内容类型里的每一个字段重复这个步骤。

tutuploadsmedia_1326925225904.png

勾选并保存,以确保字段可以被翻译。

第九步:创建一些内容并为他们添加翻译

tutuploadsStep_9_Create_some_content_and_activate_the_translation_f.png

点击“添加内容”并为一个你已经激活了多语言属性的内容类型添加一个内容。

tutuploadsmedia_1326927322414.png

当你保存之后,在编辑页上会有一个多出来的选项卡。点击“翻译”。

tutuploadsmedia_1326927391598.png

在新的对话框中点击“add translation”

tutuploadsmedia_1326927572410.png

进行翻译并保存。在上面的例子中,我将标题和body字段翻译成了法语。

第十步:为每个语种重复同样的步骤

tutuploadsStep_10_Repeat_for_each_language.png

为每个页面上会使用到的语种重复同样的步骤。

第十一步:添加一个用于语言切换的区块

tutuploadsStep_11_Add_a_block_for_the_language_switcher.png

导航至结构,然后到区块,找到“语言切换器(内容)”和“语言切换器(用户界面文本)”这2个区块。

tutuploadsStep_12_Add_the_block_to_your_site.png

将他们之一或者一起加入到你的页面的指定位置。

tutuploadsmedia_1326928781631.png

在区块页面上点击“配置”,点击“语言”。对可见性进行配置。这里如果不配置的话,默认是不区分语言的。

tutuploadsmedia_1326928955792.png

如上图所示,语言选择区块被放置在了页脚部分。点击国旗图标或者语言链接就可以切换页面的语言。

tutuploadsmedia_1326929117337.png

上图显示的是我点击了南非国旗之后的样子。你会发现某些标签并没有被翻译。你需要像在第五步里描述的那样,一对一的找到他们并对他们进行翻译。也许在将来这些词汇的翻译会被加入这个语言的语言包中,也有可能在这个语言中并不存在相对应的词汇。

现在你学会了如何为一个drupal网站添加界面和内容的翻译。你需要执行很多个步骤而且你很容易被搞昏了头。如果你是个新手,不要急,慢慢来,并且在你做下一步之前,一定要确定前一个步骤没有搞错。

Drupal 版本