区块的翻译,首先翻译自定义的静态区块“联系我们”,导航到这个区块的配置页面,我们把这个区块的语言设为“Chinese, Simplified(简体中文)”,保存。然后再创建一个自定义的静态区块“Contact Us”,这在这里输入“联系我们”对应的英文翻译。保存这个区块,并将这个区块指定到左边栏,把它紧挨着放在“联系我们”区块的下面。这样就完成了区块的翻译。
当你看到Drupal中是怎么翻译区块的,我想一定会想,这么简单啊,这样就可以了阿?是啊,这样就可以了,Drupal中的区块的翻译就是这样实现的。
现在我们来翻译views生成的那个区块,对于Views生成的区块,我们也可以采用上面的方式,对于这个区块,我们为其加个过滤器,将语言限定在中文上,然后,将这个区块设置为中文的。接着,我们创建另一个区块,将其限定为英文的。这是一种方式。非常简单的一种方式。
我们看一下另一种方式,也是给views添加一个过滤器,不过语言限定在当前用户的语言上了。这样就可以实现一个view用在多个语言上了。但是,问题又出现了,如何翻译区块标题“部门新闻”呢?
有一种方式,那就是使用中文导航到这个区块的配置页面,在区块标题一栏中输入中文的标题;然后使用英语导航到这个区块的配置页面,在区块标题一栏中输入英文的标题。这是一种方式,但是你需要知道这个变量在数据库中的名字,并在settings文件做一下设置,这种方式才可能有效。
由于我们在翻译的搜索页面,搜索不到“部门新闻”,所以也无法使用后台的字符串翻译,怎么办呢?
我们可以让Views来负责区块的标题,编辑这个区块对应的view,给它设定一个标题“Department news”。然后导航到这个区块的配置页面,将它的标题置为空。导航到翻译的搜索界面admin/build/translate/search,搜索“Department news”,然后将它翻译为“部门新闻”,这样就实现了Views区块的翻译。
这里面涉及到了多个技巧,大家可以慢慢体会。
学习到了这里,我们再来看一下,自定义区块(静态区块)的另一种翻译方式。我们创建一个一个测试区块,区块的说明为“测试区块说明”,区块的标题为“测试区块标题”,区块的内容为“测试区块内容”,这个区块的语言选项为“All languages (Translatable)”。我们同样把这个测试区块指定到左边栏。然后导航到翻译界面,admin/build/translate,点击搜索,admin/build/translate/search,输入“测试区块标题”,我们搜到了一个字符串。点击编辑,为其输入英文的翻译“test block title”,保存。在中英文之间切换两次,我们看到了效果,这样也可以翻译区块。我们把“测试区块内容”翻译为“test block content”,这样就完成了这个区块的翻译工作。这里涉及到了自定义区块的另一种翻译方式。与前面的翻译方式相比,两者之间各有所长。