You are here

3 使用Entity translation模块翻译节点

admin 的头像
Submitted by admin on 星期二, 2015-08-18 09:16

    作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

我们下载、安装、启用Entity translation模块,我这里使用的版本是entity_translation-7.x-1.0-beta3。我们知道,Drupal7里面,标题不是一个字段,而是一个属性,为了实现标题的翻译,我们还需要安装Title模块。我这里使用的版本是title-7.x-1.0-alpha7

启用后,我们可以导航到Entity translation模块的配置界面,admin/config/regional/entity_translation。这里有三个配置选项;

1.png 

一个是启用语言回退,一个是显示共享标签,最后一个是启用翻译工作流权限。我们这里采用默认的配置即可。

再往下是配置哪些实体类型可被翻译:

2.png 

默认选择了节点,我们这里把分类术语也选中。我想知道Tittle模块是否支持分类术语的标签。选中分类保存后,下面多出来了一些与分类相关的配置选项。

3.png 

展开后:

4.png 

我们这里采用默认的即可。

除了这里的配置以外,在admin/config/regional/language/configure,语言的检测与选择页面,此时多出来了“内容语言检测”的配置选项。

5.png 

在这里,我们启用网址、浏览器两种方法。对于网址的配置,我们采用路径前缀的方式即可。

我们回到内容类型的管理界面,编辑“关于我们”内容类型,进入页面zh-hans/admin/structure/types/manage/about-us。这个时候路径前缀已经显示出来了。在“发布选项”里面,有这么一个配置选项:

6.png 

我们这里选中“Enabled, with field translation”,就是让这个内容类型支持多语言,通过字段翻译的方式。选中后,下面会显示出来进一步的配置选项:

7.png 

隐藏内容翻译链接,这个我们采用默认的不选中就可以了。保存这里的配置。现在访问Entity translation的配置界面,我们可以看到“关于我们”内容类型的配置选项了,和前面分类术语的一样,只是默认值不同。

8.png 

下面有四个配置选项,隐藏语言选择器,从可用语言中排除语言中立,一旦实体创建后就阻止修改语言属性,在翻译表单中隐藏共享元素。我们还是采用默认值。上面的默认语言,是这个节点类型的默认语言,可以与站点的默认语言不同。

现在,我们去编辑节点1,访问页面node/1/edit,此时在节点的编辑表单中,我们可以看到语言的下拉选择框:

9.png 

这里有三个语言选项:

10.png 

在右上角的标签中,多了一个“翻译”:

11.png 

我们点击这个标签,进入页面node/1/translate

12.png 

这里显示的是“No translatable fields”,没有可翻译的字段,我想可能是这样的,原来我们保存节点的时候,字段的语言都是采用und的形式存储的,我们这里对原始内容编辑一下,保存,此时会有语言属性的。

我们导航到“关于我们”内容类型的管理字段页面,admin/structure/types/manage/about-us/fields

13.png 

Title的右边,有一个replace链接,点击这个链接,进入页面:

14.png 

我们选中这个复选框,并点击保存设置按钮。这样标题就会被一个字段取代:

15.png 

我们编辑这个字段,在字段实例的配置页面,我们看到这个配置选项:

16.png 

这是这个字段的翻译设置,当前这个字段是可被翻译的,下面有一个“Disable translation”链接,可以用来禁用这个字段的翻译。

此时我们终于有了眉目,编辑Body字段,我们可以看到:

17.png 

点击下面的“Enable translation”(启用翻译)链接。点击后,会看到这个配置选项:

18.png 

我们采用默认的选中即可。点击这个页面的确认按钮。这样我们就为正文字段启用了翻译功能。

现在回到页面node/1/translate

19.png 

     英文右边的操作,现在变为了“添加”,我们点击这个链接,进入页面en/node/1/edit/add/zh-hans/en。现在这里面是有内容的:

20.png 

还是原来的,我们需要把它们替换为英文。

再往下是:

21.png 

这个下拉选择框是被禁用了的,无法修改,原始语言为简体中文,我们这里实际情况下也不需要修改这个。

再往下是节点的配置选项:

22.png 

很多配置选项后面都多了一个“(all languages)”,表明里面的配置是作用所有语言的。不过这里面有两个不是,其中一个是URL路径设置,这意味着我们可以为同一节点,在不同语言下设置不同的别名。

对于“翻译”,展开后,里面包含四个配置选项:

23.png 

我们这里采用默认的即可。我们使用Google翻译,将标题和正文翻译一下,然后输入进来。

24.png 

这是保存后的样子:

25.png 

在正文的下面,有一个语言切换链接:

26.png 

点击后,可以方便的切换到简体中文。在简体中文的版本下,有同样一个链接,可以用来切换到英文。

前面我们提到可以为单个语言分别设置路径别名,我们在保存英文翻译的时候,没有为node/1设置别名,此时英文的路径为en/node/1,并没有为它应用别名aboutus。我们还需要单独为它设置一下,不然出不来。

为其余的内容类型,重复前面的操作,直到所有内容类型都可被正确的翻译。


Drupal版本: