欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal7 多语言 宁皓网 有大用 有大大用 有大大大用

shiping1 的头像

Drupal 7 多语言
准备
安装默认的英文版 Drupal 7

在这个视频里我们演示一下在自己的电脑上安装默认的英文版的 Druapl 7,首先我们要去 Drupal 的官方网站下载最新的 Druapl7 ,然后把它放在我们的网站发布目录里面。

找到下载下来的压缩包,然后解压一下… 重命名一下 Drupal 所在的文件夹… multilingual…

然后去创建一个 Drupal 的配置文件 settings.php ,打开 multilingual ,sites,default,复制里面的 default.settings.php,重命名为 settings.php。

下面我们可以修改一下 sites 这个文件夹的权限,点击右键,把权限都改成 读与写,点一下这个小锁头,再点一下这个小齿轮,选择 应用到包含的项目 …

然后启动网站的运行环境…

打开浏览器,我们为即将安装的 Drupal 创建一个数据库,输入 localhost/phpmyadmin … 在这个文本框里输入数据库的名称 multilingual 点击 创建。

然后再打开 Drupal 的地址,localhost/multilingual ,

这一步选择安装的 profile ,选择默认的 Standard ,点击 Save and continue,然后是选择默认的语言,这里我们只能选择 English 英文。

然后是数据库的配置信息, Database name 是数据库的名称,输入 multilingual,Database username 是数据库的用户名,输入 root ,Database password 是数据库的管理密码,这里我们并没有为 root 这个用户设置密码,所以这里留为空白…

点击 Save and continue 开始安装…

简单的配置一下网站的相关信息

Site name 站点名称,输入 Multilingual Site,Site e-mail address 是网站使用的电子邮件地址,service@ninghao.net

下面是网站管理员的相关信息

Username 是网站管理员的用户名,Phoenix,然后是管理员的电子邮件地址,117663444@qq.com ,再输入管理员的密码…

在下面,选择默认的国家…

然后点击 Save and continue ,完成 Drupal 的安装!

来自 http://ninghao.net/video/499#info
 

为 Drupal 添加新的语言与翻译界面

Drupal 默认使用的语言是英文,现在你看到的是默认安装 Drupal 之后的样子,界面上出现的文字都是英文的。这个视频我们来看一下如何为 Drupal 添加其它的语言,我们一起来添加一个简体中文。然后再把界面上的文字都翻译成中文。

这里我们说的界面,就是用户界面的意思,这些界面上的文字都是在对应的模块上去定义的,比如这里你看到的这个登录区块上, 这个 Username ,Password ,还有下面的 Create new account 等等 ,这些都属于界面上的文字,Drupal 的开发者在设计模块的时候,会定义这些界面上的文字为可被翻译的字符串,这样我们就可以很容易把这些在界面上出现的默认的英文字符串,翻译成其它的语言版本。

下面我们先用管理员的身份登录到网站…

你会发现工具栏上也都使用默认的英文… 所有的配置界面上也都是英文…

启用 Locale 模块 添加新的语言

创建多语言的网站,我们就需要把这些界面上的文字翻译成网站支持的其它的语言版本。在翻译之前,我们先要启用 Locale 模块,然后为 Drupal 添加新的语言。

点击“Modules”,找到 Locale 模块,勾选一下,点击 Save configuration 。这样就可以启用 Locale 模块。

有了这个模块我们就可以为 Drupal 添加其它的语言。下面我们添加简体中文语言。

打开 Configuration 配置,在 Regional And Language 区域里,点击 Languages,默认这里只有 English 英文,点击 Add language 来添加新的语言。

在 Language name 语言名称这里,选择 简体中文 。然后点击 Add language 。

现在,语言列表里会出现简体中文。我们可以把它设置为 Drupal 默认使用的语言,在 Default 这栏里,选择 简体中文,然后点击 Save configuration 。

现在我们就可以去翻译界面上的这些文字了。回到 Regional and language ,打开 Translate interface ,点击 Translate 标签,在这里,你可以看到 Drupal 界面上面出现的字符串,点击字符串后面对应的语言版本下面的 edit ,可以翻译这个字符串。

导入中文语言包

Drupal 核心里有很多这样的字符串,还好,我们 Drupal 社区的中文翻译团队,已经为我们翻译好了这些字符串,Drupal 的官方网站会把这些做好的翻译打包成一个 .po 格式的文件。我们把它下载下来,然后导入到我们自己的 Drupal 网站里面,这样我们就不用自己去翻译这些字符串了。

打开:http://localize.drupal.org/ ,我们先去下载 Drupal 核心的简体中文的翻译语言文件。

在右边的 Quick navigation 这里,先选择一种想要下载的语言, Chinese, Simplified,代表简体中文。点击下面的 Go there 。
在这个页面你可以下载 Drupal 核心的中文语言包,另外还有一些热门模块的中文语言包,这里我们先下载 Drupal 7 核心的简体中文语言包 …

点击 Download …

回到我们自己的 Drupal 网站,把下载的 Drupal 核心的语言包导入进来。

点击 Translate interface 页面上的 Import 标签,在 Language file 这里,选择下载的中文语言翻译文件...

在下面 Import into 选择想要把翻译文件导入到哪种语言里,这里选择的是 Chinese, Simplified ,简体中文。

选择文件,点击页面下方的 Import 导入。

可能要等一会儿,如果你使用的是 Windows 版本的 WAMP 搭建的网站环境,导入这个 Drupal 核心的语言包需要很多时间,有的时候很可能导入不成功,推荐大家使用 Acquia 的 Dev Desktop 来搭建 Drupal 的运行环境,在《 Drupal 7 基础教程》里,我们介绍过这个软件的使用方法。

提示导入成功以后,刷新一下页面。

你会看到现在 Drupal 的界面就会变成简体中文的了。

用同样的方法,你可以为 Drupal 添加其它的语言。

来自 http://ninghao.net/video/500#info


工具
用 Localization client 模块手工翻译遗失的字符串
 

在上一个视频里,我们为 Drupal 添加了简体中文语言,并且导入了简体中文语言文件,把 Drupal 核心的界面变成了简体中文版。如果我们以后为 Drupal 安装了其它的模块,那么这些模块的界面仍然会使用默认的英文,想把它们变成简体中文,我们需要去下载模块的简体中文翻译文件,再通过我们自己的 Drupal 网站的翻译界面把它导入到网站里。

这个视频我们先演示一下手工导入这些翻译文件的方法,然后我们再介绍一下可以自动去下载导入翻译文件的模块,Localization update

这里我提前为 Drupal 安装了一个叫 Google Analytics 的模块,这是一个用来统计和分析网站访问数据的模块。

你可以看以这个模块界面上的文字都是英文,不过有几个地方是中文字,这是因为这个模块共享了来自 Drupal 核心的一些字符串,而这些 Drupal 核心的字符已经被我们翻译成了中文,所以这里会显示中文。

除此以外,其它的地方仍然是英文,下面我们去下载这个模块的简体中文翻译文件。

打开模块的介绍页面,http://drupal.org/project/google_analytics

在页面的右侧,Resources 区域里有一个 View project translations 查看项目的翻译。点击这个链接,然后再点击 Download translations 下载翻译文件。

在这个下载页面,找到简体中文,如果你用的是 Chrome 浏览器,我们可以按住 ALT 键,然后点击对应的 Drupal 版本和模块版本的下载链接。这样可以强制浏览器下载这个翻译文件。

有了这个模块的翻译文件,你就可以通过把它导入到网站里面了,导入的方法跟我们之前导入 Drupal 核心的语言文件的方法是一样的。

回到我们的 Drupal 网站,点击 配置 ,在 地区和语言 里,点击 翻译 。然后点击 导入 标签,选择我们下载下来的翻译文件,然后点击 导入 就可以了。

这就是一般的手工导入翻译文件的方法。

使用 Localization update

下面我们介绍一下自动的方法,要用到一个叫 Localization update 的模块。

先去下载这个模块。打开:http://drupal.org/project/l10n_update ,复制模块的下载链接,回到 Drupal,点击 模块 , 安装新的模块 ,把模块的下载地址粘贴过来。

点击 安装 。成功以后,我们去启用这个模块… 勾选 Localization update ,点击 保存设置 。

下面我们去配置一下 Localization update 模块,点击 配置 ,在 地区和语言 这里,打开 翻译 。

在我们安装了 Localization update 模块以后,这个页面会多出一个 更新 的标签。 点击打开…

在这里可以更新 Drupal 核心还有后来安装的模块的翻译,点击这个 更新设置页面 这个链接,你可以设置让 Drupal 自动更新翻译。这个设置界面就是 语言 下面的 更新翻译 这个页面。

这里你可以选择更新源,更新模式,还有检查更新的频率。在检查更新这里,选择的是 从不 ,也就是 Drupal 不会自动更新翻译,除非手工点击 更新 按钮。

再回到 更新 翻译的页面。点击下面的 语言 ,在这里你可以选择想要更新的翻译的语言。目前我们的网站上除了英文以外,只有简体中文。所以这里只显示简体中文。

你可以选择想要更新的语言,不选择的话,Drupal 会去更新所有语言的翻译。

点击 更新翻译 …

这个时候我们的 Drupal 会自动去 Drupal 官方的服务器上下载语言翻译文件,然后把它们导入到我们的网站里面。

下面我们回到 Google Analytics 模块的界面看一下。刷新… 你会发现,界面的语言就变成了简体中文。

不过有些地方还是会显示英文,这是因为 Drupal 导入的模块的简体中文翻译文件里,没有包含这些地方的翻译字符串。

在下面的视频里,我们一起来解决这个问题。





来自 http://ninghao.net/video/501#info
 

用 Localization update 自动更新贡献模块的翻译
上一个视频里我们用 Localization update 模块自动导入了模块的翻译文件,不过还是有一些英文字符串没有被翻译成中文。

你要知道,翻译的工作并不能神奇的自动变成,每一个字符串都是 Drupal 社区的成员手工翻译的,所以翻译的时候漏掉一些字符串是可以理解的。

我们可以自己手工去翻译这些被漏掉的字符串。

先找到你想手工翻译的界面上出现的字符串,比如这个 What are you tracking? 复制一下…

打开,配置,翻译,再打开 翻译 这个标签。

在这个页面你可以管理模块界面上的字符串的翻译。我们把复制的字符串粘贴到这个文本框里,然后点击 过滤 。

Drupal 会为我们找出相关的字符串,如果没找到的话,你可以复制字符串其中的一部分,然后再过滤一下看看。

这里 Drupal 给我们找到一个相关的字符串,在语言这栏里,zh-hans 上面有一个删除线,zh-hans 就是简体中文的代号,这就表示这个字符还有没有简体中文版的翻译。

点击 编辑 ,然后在这个文本框里,可以输入这个字符串的简体中文的翻译。

“ 你想跟踪统计的是 ? ” ,然后点击 保存翻译 。

回以出现这个字符串的页面,刷新… 这里你会发现,刚才的英文字符串,就变成了,我们翻译之后的简体中文了。

复制想要翻译的字符串,到翻译界面搜索,找到以后再编辑,输入翻译之后的字符串,再保存,一般我们可以使用这种方法去翻译界面上的字符串。

下面我们再介绍一种更方便的翻译方法,我们要用到一个叫 Localization client 的模块。在这个地址下载这个模块:http://drupal.org/project/l10n_client

复制下载的址址,回到 Drupal,点击 模块,安装新的模块,把模块地址粘贴过来,点击安装…

然后打开 模块 ,在 MULTILINGUAL 区域这里,勾选 Localization client ,保存设置 …

Localization client 这个模块启用以后,在页面的下方会出现一个蓝色的条,点击右下角的 Translate text,会弹出一个窗口。

在这里会显示当前这个页面上的界面上的字符串。你可以选择没有被翻译成简体中文的字符串,然后在右边的 翻译成简体中文 这个文本区域里输入这个字符串的中文版本。再点击 保存翻译 ,这样就可以直接把字符串翻译成中文。

使用同样的方法你也可以修改已有的字符串的翻译。 下面来演示一下,还是打开谷歌分析这个模块的配置界面。刷新一下…

在这个页面上找到一个没有被翻译的字符串,比如这个 Tracking scope ,先复制一下,打开页面下方的这个翻译窗口,然后粘贴这个文本框里,这样可以快速的查找到想要翻译的字符串。

点击选中想要翻译的字符串,在右边的 翻译成简体中文 这里输入这个字符串的中文版本, “ 跟踪范围 ” ,点击 保存翻译 …

再刷新一下页面… 你会看到,这里会显示翻译之后的中文版的字符串。




来自 http://ninghao.net/video/502#info

 

向 Drupal 社区贡献你的翻译

Drupal 的社区成员会用不同的形式对 Drupal 做出自己的贡献,加入翻译团队就是其中的一种方式。

这个视频我们介绍一下为 Drupal 贡献翻译的方法。

我们需要先在 Drupal 的官方网站上注册一个帐户,打开 drupal.org ,点击 Log in / Register,登录或注册…

如果你之前注册过,可以直接登录,想注册一个新的帐户,点击 Create new account ,创建一个新帐户。

Username 这里就是你登录 drupal.org 使用的用户名,E-mail address 这里填入你的 Email 地址。注意这里一定要填写真实的 Email 地址,等会儿 drupal.org 会给你发送一封验证的邮件。

下面可以输入一些个人的信息,也可以不用埴,然后在 Country 国家这里,选择你的国家,这里我们选择 China 。然后点击 Create new account …

这个时候 Drupal 会往你的 Email 地址里发送一封邮件,里面有你登录 drupal.org 使用的用户名和密码。

登录到你的邮箱,找到 drupal.org 给你发送的邮件,然后复制里面的 password,也就是密码,然后回到 drupal.org。

用我们注册的用户名,还有邮件里的密码登录到 drupal.org。

登录以后我们就可以去加入到某种语言的翻译团队,然后贡献你的翻译了。

打开 localize.drupal.org ,在右边栏这里,先选择你感兴趣的语言… 这里我们选择简体中文,Chinese,Simplified同时就会看到所有的中文翻译

然后点击 Go there,在这个页面里,你可以下载核心的翻译文件,还有热门模块的翻译文件。在右边栏这里,会显示中文翻译团队的一些情况…

点击这里的 Join 按钮,可以加入到中文翻译团队。

点击 Join 确认加入…

提示成功以后,在这里你会看到一个 Translate 标签…

这里会显示出所有在 drupal.org 上的模块里,定义的那些可被翻译的字符串,你可以把这些英文字符翻译成中文。

在 Project 这里,你可以输入想要翻译的模块的名称,比如这里我们找一下 Media gallery 这个模块… 当我们输入 media gallery 的时候, Drupal 会自动找出相关的模块,这里选择 media gallery 模块。

然后再选择一个模块的版本… 再点击 Filter 过滤。

现在显示出来的就是你选择的模块相关的字符串。

左边是原版的英文字符,在对应的右边这里,你可以输入这个字符串的中文版本。完成以后,点击页面下方的 Save changes,保存一下修改。 Drupal.org 会保存你的翻译。

要注意的是,保存以后你的翻译并不能马上成为这些字符串默认使用的中文版本。翻译团队的管理员,会去审核你的翻译,通过以后,才会正式使用你的翻译。

如果你想在线下去翻译,你可以把这个模块的相关的字符串导出来,Druapl 会为你生成一个 .po 格式的文件,这样你就可以在自己的电脑上去翻译了,翻译好以后,你可以再把这些翻译统一导入到 drupal.org 上来。

点击 Export 导出, 选择要导出翻译模板的模块,还有模块的版本,在下面你可以选择是否导出已经被翻译的字符,如果你勾选了下面的这个 Add Chinese,Simplified suggestions,这样你导出的翻译文件里面, 会包含那些还没有审核通过的中文翻译。

点击 Export Gettext file ,确认导出 …

drupal.org 会导出这些字符串,并且会把他们保存在一个 .po 格式的文件里面,然后把它下载到你的电脑上。你可以去安装一个叫 poedit 的软件来编辑它们...

点击想要翻译的字符串,在下面输入当前选中的字符串的中文翻译。

翻译完成以后记得要保存文件。

然后你可以把个翻译文件导入到你自己的 Drupal 网站上使用。或者也可以导入到 localize.drupal.org 里面分享给其它人。

Drupal 会自动识别你的翻译。这些被翻译的字符串会等待管理员的审核。

来自 http://ninghao.net/video/503#info




让用户可以切换显示网站的语言

在这个视频里,我们一起为用户创建一个切换网站语言版本的工具。

先打开 结构,区块,在这里找到 语言切换器 这个区块,这个区块就是用来选择网站语言版本用的。我们把它放在,边栏第一的区域上。然后点击 保存区块 。想用这个区块显示出来并使用它来切换网站的语言,我们还需要再做一个设置

点击 配置 ,语言,点击 检测及选择 标签。Drupal 会使用这里的方法来切换显示网站的语言版本。注意这些方法有一定的顺序,你可以用鼠标拖放来改变它们的使用顺序,排在最上面的方法会优先被使用。

最低层的是 默认,这是我们默认为网站选择使用的语言,然后是 浏览器,这种方法会根据用户浏览器上的设置来改变网站显示的语言,下面我们可以实验一下。先勾选 浏览器,点击 保存。

这里我用的是中文版的 Chrome 浏览器,下面我们可以把浏览器的语言设置为英文,点击浏览器右上角的设置按钮,选择 设置 。然后点击 显示高级设置 。找到 语言设置,默认这里只有中文,点击 添加,然后选择 英文。

确定。调整一下语言的顺序,我们把英文放在中文的上面。然后 确定。

回到 Drupal ,刷新… 你会发现网站界面上的语言会变成 英文 。这是因为我们使用了 浏览器 的方法切换网站的语言。我们把浏览器的语言设置成了英文,所以 Drupal 会根据浏览器的设置,自动为用户选择使用英文的界面。

下面我们再把浏览器语言改回中文…

回到 Drupal ,再刷新… 现在网站的语言会变回中文…

我们继续看其它的方法,用户 ,就是用户在个人帐户里可以设置使用网站的语言。

再往上是 会话 和 网址 ,想让刚才我们启用的语言选择器区块显示出来的话,这两种方法你至少要选择一种。

先勾选一下 会话 ,点击 保存设置 ,回到前台页面。

在左边栏这里会显示语言切换器这个区块,这个区块里会列出网站可用的语言,你可以安装一个 Language icons 的模块,它会在每种语言前面添加一个对应的小国旗的图标。 http://drupal.org/project/languageicons

这里当前选择的是简体中文。点击下面的 English,会把网站的语言转换成英文。

注意页面的地址,在地址的后面,会有一个 ?language=en,这个后缀只会在地址中出现一次。当用户访问了带这个后缀的地址以后,就相当于把网站的语言设置成了英文,后面的 en 就是英文的代号。

如果 未看到相应的语文版本 到 admin/config/regional/translate/i18n_string 刷新字符串 看一下 或者清空所有缓存看一下

而且这个设置会被浏览器记录下来。也就是当用户关掉浏览器,再回来访问我们的网站的时候,网站的语言仍然会是之前用户选择的英文。

下面我们再去看一下用网址选择语言的方法。我们可以先把网站的语言切换成简体中文,然后点击 配置 , 语言 , 检测及选择 。

去掉 会话 ,然后选择 网址 。 保存设置 。

回到前台页面。

然后点击 English ,同样这个链接会把网站语言切换成英文,注意页面的地址,你会看到里面多了一个 en ,我们再看一下其它的页面,其它的页面上都会有一个 en 。

下面我们把网站的语言改成简体中文… 现在,在内容的地址上会出现一个 zh-hans ,这个字符是简体中文的代号…

打开其它的页面… 同样在地址里会有 zh-hans 这个字符。

这就是用网址的方法切换网站语言。

来自 http://ninghao.net/video/504#info


内容

创建多语言内容

前面我们介绍了把在 Drupal 界面上出现的英文字符翻译成中文的方法。

如果你想让网站的内容,拥有不同语言的版本,我们还需要用到一些模块,这里我们提到的内容,特别指的就是 Drupal 的 node ,也就是网站里面的文章。

这个视频我们来看一下把网站上的内容翻译成多种语言的方法。

用管理员登录到网站以后,点击工具栏上的 模块 ,我们要启用 Drupal 核心自带的 Content translation 这个模块,勾选一下,然后点击 保存设置 。

下面我们需要设置一下想要使用多语言的内容类型,比如我们让默认的 article 这个内容类型的内容可以使用多语言,打开 结构 , 内容类型,找到 article 内容类型 ,点击 编辑 。

点击 发布选项 ,在多语言支持这里,选择,启用,与翻译一起 ,意思就是启用多语言的功能,并且内容可以被翻译成多种语言。

下面我们来创建一个 article 类型的内容,点击 添加内容 ,选择 Article。

输入内容的标题和正文。关于 Drupal … Drupal 是一套开源的内容管理系统...

在正文的下面,因为我们启用了 Article 类型的内容的多语言功能,所以你会看到一下 语言 的选项,在这里你需要选择当前你正在编辑的内容的语言版本,点击以后,会弹出一个列表,这个列表就是所有在你网站中启用的语言。在这里我们选择简体中文。然后点击 保存 。

在这个内容的页面上,会有一个 翻译 标签,点击打开,在这里我们可以把当前这个内容翻译成其它的语言版本。目前已经有简体中文版了,下面我们可以给它再添加一个英文版的翻译。

在 English 这行,点击操作这栏里的 添加翻译 。

我们把 关于 Drupal 改成 About Drupal,再修改一下内容的正文… Drupal is an open source CMS.

下面的语言选项会自动选择英语,点击 保存 。

现在我们就成功的把之前创建的一个中文版的内容翻译成了英文。在内容的右下角,会显示一个切换语言的链接,点击 简体中文 会显示这个内容的简体中文版,点击 English 会显示这个内容的英文版。

我们留意一下这两个内容的地址,你会发现,其实这个中文版内容和英文版内容是两个独立的内容。Drupal 会创建一个翻译组,把这两个内容绑在这个翻译组里面,我们最开始创建的内容是原始内容,其它的都是这个原始内容的不同语言的翻译版本。

另外,还有一个有用的选项,打开原始的中文版的内容,编辑,在 翻译设置 这里,有一个 标记翻译为过时的 选项。如果说我们对原始的内容做了很多的修改,你可以勾选这个选项,提醒其它的翻译版本也需要做出相应的修改。

保存 ,点击 翻译 ,你会看到英文版内容这里会有一个过时的标记,点击编辑,你可以修改这个翻译版本的内容,修改完成以后,我们就可以把 翻译设置 里的这个 此翻译需要更新 前面的勾去掉,然后再点击 保存,这样提示过时的标记就不会再显示了。

来自 http://ninghao.net/video/505


为内容的字段添加翻译

Drupal 可以为内容添加不同的字段,创建多语言版本的网站我们也需要考虑到内容上的字段的翻译。字段的标签,字段的属性等等。

这里我们需要用到 Internationalization 模块,这个模块其实是很多个模块的群组,它扩展了 Drupal 的多语言功能。在以后的视频里我们还会用到这个模块组合里的其它的模块去解决遇到的问题。

我们先去下载这个模块,地址:http://drupal.org/project/i18n ,另外这个模块还需要用到 Variable 模块,http://drupal.org/project/variable

下载这两个模块到我们的 Drupal 里面。 然后打开 模块 。

在这里 MULTILINGUAL - INTERNATIONALIZATION 这个区域里的模块基本上都属于 Internationalization 这个模块群组。

让 Drupal 支持翻译字段内容,先得勾选一下 Internationalization ,再找到 Field translation ,这个模块可以翻译字段内容。

保存设置 ,提示我们还要启用 String translation 模块,这也是 Internationalization 模块群组的成员,另外还有 Variable 模块。

点击 继续 。

下面我们给 Article 类型的内容里添加一个选择列表字段。然后去翻译一下列表里的内容。

打开 结构,内容类型,找到 Article ,点击 管理字段,在 添加新字段 下面,输入新字段的标签,如果你想使用一个中文标签,你必须先在这里输入一个英文的字段标签,这个英文标签会做为这个字段的机读名称。

输入“source” ,然后点击 编辑,再把字段的标签改成中文。“新闻来源”…

字段类型 选择 列表(文本),点击 保存。

然后设置一下字段里的值。新浪 ,网易,搜狐…

保存字段设置 ,下面我们把这个字段翻译成英文版,点击页面上方的 翻译 标签。然后点击 English 这行后面的 翻译 。

先修改一下这个字段的标签内容,把“来源”,改成英文“Source”。 然后再点击 字段设置,再翻译一下字段里面的每个值的内容。

新浪改成 sina.com.cn,网易改成 163.com,搜狐改成 sohu.com …

确认以后,点击 保存翻译 。

下面我们可以回到前台页面,找到原始内容,点击 编辑 。找到内容的 新闻来源 这个字段,选择一个来源。然后 保存 。

再点击 翻译 标签,编辑一下内容的英文翻译… 在这里,你可以找到 Source 字段,这就是之前我们添加的 新闻来源 字段,只不过在这里显示的是这个字段的英文翻译,选择 sina.com.cn 。然后点击 Save 保存。

在这个英文翻译内容上,新闻来源 也就是 Source 这个字段的值,显示的是原始内容字段里的值,并没有显示字段的英文翻译。

这是因为 Drupal 会使用默认的形式显示字段的值,我们需要修改一下这个字段的显示格式。先把网站的语言改成中文...

然后点击 结构,内容类型,Article,管理显示,找到 新闻来源 这个字段,这字段的格式改成 Default translated ,点击 保存。

回到这个内容,切换到内容的英文翻译,你会发现, 新闻来源 这个字段的值,在英文版内容下面就会显示我们翻译之后的值。

来自 http://ninghao.net/video/506#info


同步字段的内容

有些字段我们不想去翻译,比如图片字段,这个时候你需要一个字段的同步功能,把原始内容的字段内容同步到每一个翻译版本上。

我们先要去启用一下模块,点击 模块 ,找到 Synchronize translations ,这个模块也是 Internationalization 模块群组的成员之一。

点击 保存设置。

下面我们要在内容类型里指定想要同步的字段,比如我们想同步在 Article 内容类型里的 Image 字段。

打开 结构, 内容类型,找到 Article 这个内容类型,点击 编辑。

点击 Synchronize translations ,在这里,你可以选择同步跟这个内容类型相关的字段,勾选一下 Image 字段,点击 保存内容类型。

打开一个 Article 类型的内容,点击 编辑,浏览到 Image 字段,上传一张图片。选择文件,找到在自己电脑上的一张图片,确认,然后点击 保存。

你会看到 Image 字段会显示出我们上传的图片。

点击 English 切换到内容的英文翻译,我们并没有在这个内容上用 Image 字段上传图片,这里的 Image 字段会同步来自原始内容上的字段的内容。

来自 http://ninghao.net/video/507


翻译

翻译变量

这个视频里我们来看一下翻译 Drupal 的变量。这里说的变量就是 Druapl 网站中的某一些设置,比如网站的名称,网站默认的首页,主题的设置,用户头像的大小,给用户发送的邮件模板等等。

如果你想让在不同的语言版本中使用不同的设置,你需要用到 Variable translation 模块,这个模块也是 Internationalization 模块群组的成员之一。下面我们去启用它。

打开 模块 ,找到 Variable translation 模块,点击 保存设置 ,这里提示我们还需要启用 Variable store 和 Variable realm 这两个模块。点击 继续 ,这样 Drupal 会自动为我们启用这三个模块。

下面去配置一下,点击 配置 多语言设置 ,打开 变量 标签,在这里,你可以选择你想要翻译的变量,也就是选择你想要拥有多个语言版本的相关配置。

比如,你想让网站的名称和口号,在不同的语言版本里不一样。在 站点信息 这里,勾选 站点名称,站点口号。

点击 保存设置,下面我们找到配置站点名称和站点口号的地方,点击 配置,在系统这个区域里,找到 站点信息。

因为我们启用了 Variable translation 模块,并且勾选了想要翻译的相关变量,所以在这些变量的相关的配置页面的顶部,你会看到一下选择语言的区块。

当前选中的语言会用粗体显示,选中了相关的语言以后,你就可以修改在这个语言版本下面的相关设置了。

比如,当前选中的是 简体中文,在下面我们可以去修改一下之前勾选的 站点名称 和 站点口号 这两个变量。

站点名称修改成 多语言网站,口号修改成 Druapl 很棒 。然后点击 保存设置。

我们可以再切换到 英语 看一下,在英语下面,站点名称 和 口号 还是原来的,如果你想改成其它的,可以在下面去修改。

下面我们回到前台页面来看一下…

当前网站的语言是简体中文,所以网站的名称是 多语言网站,口号是 Druapl 很棒…

点击语言区块里的 English ,把网站语言切换成英语,你会看到,网站的名称是 Multilingual site ,口号是 Drupal is awesome 。

来自 http://ninghao.net/video/508


翻译区块

Drupal 默认的区块并不能分配显示在某种特定的语言上,也不能把区块的内容翻译成多个语言版本。这个视频我们来看一下区块的翻译,这里我们要用到的是 Internationalization 模块,还有它的附属模块 Block languages 。

点击 模块 ,在 Multilingual - Internationalization 区域,勾选 Block languages 这个模块。然后点击 保存设置 。

下面我们去创建一个简单的多语言版本的区块。

打开 结构 , 区块 ,点击 添加区块 ,我们可以创建一个默认语言版本的区块,输入区块的标题

为什么选择 Drupal,下面再输入区块的描述…

然后是区块内容… 因为 Drupal 很酷。选择这个区块在 Bartik 主题下面的显示的位置 ,这里选择 边栏第一 这个区域。

输入好以后,在这个区块的可见性设置里,点击 语言 ,我们先勾选一下 Make this block translatable ,让这个区块可被翻译。勾选以后,在页面最下方会多出一个 Save and translate 的按钮,就是保存并翻译的意思。

如果你想翻译这个区块,注意在区块的文本格式这里,要选择 Plain text ,纯文本格式,这是 Internationalization 模块默认允许我们翻译的文本格式,选择 Plain text 也是为了安全,在 配置 , 多语言设置 , 字符串 (admin/config/regional/i18n/strings)里面,你可以选择其它的可被翻译的文本格式。

 

admin/config/regional/i18n/strings

然后在下面选择让这个区块显示在哪种语言上。这里选择简体中文和英文,一会我们会创建这个区块的英文版,这样在简体中文下面会显示这个区块的简体中文版,在英文下面会显示这个区块的英文版。

点击页面下方的 保存区块,可以保存当前创建的这个区块,点击 Save and translate 可以先保存这个区块,然后继续创建这个区块的其它语言版本。

点击 English 后面的 翻译 ,这里会出现区块的标题和内容,我们可以把它们修改成英文版的内容。

Why choose Drupal… Because Drupal is cool. 保存…

回到前台页面…

在左边栏这里会显示刚才创建的区块,当前显示的是这个区块的中文版,我们用语言切换器把网站的语言切换成英文再试一下…

现在左边栏这里就会显示出这个区块的英文版的内容。

http://drupal.org/project/translation_overview

来自 http://ninghao.net/video/509


翻译菜单

想要翻译菜单,我们需要先启用 Menu translation 模块,点击 模块 ,勾选 Menu translation ,然后点击页面下方的 保存设置。

下面我们找到想要翻译的菜单,打开 结构, 菜单, 假设我们想翻译一下 Main menu 这个菜单,这个菜单就是默认显示在网站上的主菜单。找到 Main menu,点击 编辑菜单,启用了 Menu translation 模块以后,在菜单设置里会多出一个 多语言选项 ,在这里我们可以选择菜单的翻译模式。

这里有三种模式,第一种是菜单项没有多语言选项,只能翻译菜单本身。也就是我们只能翻译菜单的名称和描述,不能翻译菜单里面的菜单项。

第二种模式是,翻译与本地化,指定语言的菜单项可被翻译,不指定语言的菜单项可以被本地化。意思就是,如果我们为菜单项指定了某种语言,那么我们不但可以翻译菜单项的标题,还可以修改这个菜单项的相关设置,比如菜单项的链接路径等等。如果说我们不为菜单项指定语言的话,那么我们就只能翻译菜单项的标题,而不能去修改菜单项的设置。

第三种模式是,固定语言。 这种模式可以让我们为菜单指定某种特定的语言,这样这个菜单里面的所有的菜单项都会使用这种语言,并且这些菜单项也只会显示在这种语言上。也就是如果我们设置这个菜单的语言为中文,那么这个菜单里的所有的菜单项就只会显示在网站的中文版上。

在这里,我们选择第二种模式。翻译与本地化 ,点击 保存。

目前这个菜单里只有一个菜单项,点击 编辑,我们先把这个菜单链接标题修改成中文版,因为网站默认的语言是简体中文。

把 Home 改成 首页…

在这个菜单项的最下方, 我们可以指定这个菜单项的语言,如果只想翻译这个菜单项的标题,不想修改这个菜单的其它设置,比如菜单项的链接,那么这里,我们可以留为默认,也就是 不区分语种。

点击 保存

再来编辑一下这个菜单项… 点击这个菜单项右上角的 翻译 标签。

在 English 后面,点击 翻译,然后输入这个菜单项标题的英文版本,把 首页 改成 Home 。点击 保存翻译。

下面我们回到网站的前台页面… 切换网站的语言来看一下…

你会看到,中文版网站的首页菜单项的标题是 首页,英文版网站的首页菜单项的标题是 Home。

如果 未看到相应的语文版本 到 admin/config/regional/translate/i18n_string 刷新字符串 看一下  或者清空所有缓存看一下

来自 http://ninghao.net/video/510



翻译分类词汇表

这个视频我们来看一下分类词汇的翻译,首先我们要启用 Internationalization 模块群组里面的 Taxonomy translation 这个模块,打开 模块,勾选 Taxonomy translation ,点击页面下方的 保存设置。

如果提示你还需要启用其它的模块,点击 继续 , Drupal 会自动为你启用 Taxonomy translation 这个模块需要的其它模块。

下面我们打开一个分类词汇表看一下,点击 结构,分类 ,这里我提前添加了一个分类词汇表,就是这个 文章类型,然后我又为这个词汇表添加了两个分类词汇,一个是 文章,另一个词汇是 博客。

点击 文章类型 后面的 编辑术语表…

在这里,你可以选择这个分类词汇表的翻译模式。这里有四种模式。

第一种是分类词汇没有多语言选项,只能翻译词汇表。也就是我们只能翻译词汇表的名称和描述,不能翻译词汇表里面的分类词汇。

第二种是本地化。如果分类词汇适用于所有语言,你可以选择这种翻译模式,我们可以翻译分类词汇的名称和描述。

第三种是可被翻译,这种模式允许我们为分类词汇分配不同的语言,并且可以翻译这些分类词汇。

第四种是固定语言,也就是我们可以为分类词汇表指定一种语言,所有在这个词汇表里的词汇都会使用这种语言,并且它们只会显示在这种固定的语言上。

这里我们选择第二种翻译模式。也就是本地化… 因为我们的这个词汇表里的词汇适用所有的语言版本,我们只需要把他们的名称翻译成不同的语言就可以了。

保存…

点击 列出术语,分别点击分类词汇后面的 编辑,点击 翻译 标题,找到 English ,点击 翻译 …

在这里我们输入这个分类词汇,或者叫术语的英文版本,把 博客 修改成 Blog,点击 保存翻译

同样的方法,再打开另外一个分类词汇,点击页面右上角的 翻译 … 点击 English 后面的 翻译

输入这个分类词汇的英文版本,把 新闻 改成 News … 然后点击 保存翻译

下面我们可以为 article 内容类型添加一个分类字段来演示一下。

点击 结构 ,内容类型,找到 Article 点击 管理字段,在 添加新字段 这里输入新字段的标签,articletype ,点击 机读名称 这栏下面的 编辑,然后重新输入字段标签,文章类型… 字段类型 选择 术语来源,控件 选择 选择列表。

点击 保存 …

词汇表 选择 文章类型 … 然后 保存字段设置,点击 保存设置

下面我们可以设置同步这个字段的内容,点击 编辑, 在 Synchronize translations,这里选择刚才创建的 文章类型 这个字段,这样当我们在原始内容中设置了这个字段的内容,会把这个字段内容同步到内容的每一个翻译版本上。

然后再点击 管理字段,我们去翻译一下字段的标签,找到 文章类型,点击 编辑,点击 翻译 标签

点击 English 后面的 翻译,输入这个字段标签的英文版本 Article type… 然后点击 保存翻译

回到前台页面,打开一个内容,点击 编辑 标签,设置一下 文章类型 这个分类字段的内容,点击下拉菜单,选择 新闻。

点击 保存,现在网站的语言是简体中文,文章类型这个字段显示的是 新闻 这个分类词汇。

点击页面左侧的 语言切换器,我们把网站语言切换成英文…

在这里,你会看到,在英文版本下面,文章类型 会变成 Article type ,新闻 这个分类词汇会变成我们翻译之后的 News 。

来自 http://ninghao.net/video/511


翻译 Views

想要翻译 Views ,我们需要去下载并启用 Internationalization Views 模块,这个模块并没有包含在 Internationalization 模块群组里,你需要单独去下载它

http://drupal.org/project/i18nviews

下载好以后,把它放在 sites/all/modules 目录下面,然后点击 模块,找到 Views translation ,选中以后,点击页面下方的 保存设置。

下面我们去创建一个 Views ,打开 结构,视图,点击 添加视图。

输入视图名称 article… 显示 内容,类型是 Article , 勾选 生成一个页面,页面的标题和路径都是 article,显示格式 这里,选择 没有格式化的列表,后面选择 标题

点击 继续编辑 ,我们创建的这个视图里,目前只有一个字段,就是这个 标题 字段,点击这个字段编辑一下,勾选 生成标签,然后输入一下标签,比如 文章标题 ,这个标签会显示在标题内容的旁边。

点击 Apply 应用,然后点击视图右上角的 保存…

下面我们到前台打开刚才创建的这个 article 页面…

你会看到标题的旁边会显示 文章标题 这个标签,下面我们切换一下网站的语言… 在英文版下面,这个标签仍然会显示为 文章标题 这几个汉字。

因为我们启用了 Views translation 模块,所以,我们可以翻译在视图上出现的字符串…

打开 配置,翻译,点击 翻译 这个标签,在 字符串包括 这个文本框里,输入想要翻译的在视图中出现的字符串…

这里我们输入 文章标题,然后在 将搜寻限制在 这里,选择 视图,这样 Drupal 只会为我们显示出在视图中包含 文章标题 这几个汉字的字符串。

点击 过滤…

这里找到一个结果,点击 编辑… 在 英语 下面的文本区域里,输入这个字符串的英文版本,Title

点击 保存翻译

回到 Article 这个页面,刷新,你会发现,标题内容的标签,在中文版的时候是 文章标题,切换成英文版的时候,这个标签就会变成翻译之后的 Title 了。

使用同样的方法,你可以去翻译在视图中出现的其它的字符串。

按语言筛选内容

在这个页面上,你会发现会显示出 article 这个内容类型里的所有的内容,不管内容的语言是什么,如果你想显示对应语言版本的内容,你需要给视图添加一个按照用户选择的语言过滤内容的条件。

回到我们的 article 视图的编辑界面

点击 过滤标准 后面的 添加 按钮,为这个视图添加一个新的过滤标准,过滤标签的类型选择 内容:语言,然后点击 Apply 应用 ,

在 语言 这栏里,选择 当前用户的语言 ,然后点击 Apply 应用。 再点击视图右上角的 保存。

回到视图页面… 刷新…

现在,我们的这个视图页面只会显示与用户当前选择的网站语言一致的内容,也就是在简体中文下面显示所有的简体中文语言的内容,点击页面左侧的语言切换器里的 English,在英文下面也只会显示出设置为英文语言的内容。

来自 http://ninghao.net/video/512

普通分类: