菜单与主链接/次链接多语言化

  只使用 Drupal 核心所提供的功能,还不能菜单项的多语言化/翻译。不过使用 i18n 模块包中提供的 Menu translation 模块,可能很好的实现菜单、主链接/次链接的多语言化功能。

  i18n 模块包中的 Menu translation 模块,提供了以下特性:

  • 允许创建菜单时为菜单设置语言项(如中文、英文等等),设置了语言的菜单项只会在与当前使用语言一致时才会显示;
  • 可以为未设置语言项的菜单内容进行多语言化。实现可通过 Drupal 的翻译页面对菜单项进行翻译;

 

创建可翻译的多语言化菜单

 

  1. 启用模块:启用 i18n 模块的 Menu translation 模块;
  2. 访问 管理 > 站点构建 > 菜单 > 主链接(Primary links) > 增加菜单项(admin/build/menu-customize/primary-links/add)
  3. 创建可翻译菜单项:根据以下信息填写菜单创建表单后,点击“保存”
    路径:<front>
    菜单链接标题:首页
    语言:所有语言
    说明:将语言设置为所有语言的菜单项,会在所有语言界面下显示,可尝试在中英文界面之前进行切换,都能菜单项“首页”,不过在英文界面下也还是显示中文
  4. 搜索翻译项:访问 管理 > 站点构建 > 翻译 > 搜索(admin/build/translate/search),按照以下信息填写表单后,点击“搜索”
    字符串包括:首页
    将搜索限制在:菜单
  5. 从搜索结果中找到要翻译的菜单项目,点击后面的“编辑”链接
  6. 翻译菜单项:在翻译界面中,填写翻译内容,Home。然后点击保存翻译;
  7. 现在再在中英文之间进行切换,就可以看到,在中文界面下,主链接显示菜单项“首页”,在英文界面下,主链接显示菜单项“Home”

 

创建只在指定语言环境下显示的菜单

 

  1. 访问 管理 > 站点构建 > 菜单 > 主链接(Primary links) > 增加菜单项(admin/build/menu-customize/primary-links/add)
  2. 创建可翻译菜单项:根据以下信息填写菜单创建表单后,点击“保存”
    路径:node
    菜单链接标题:内容
    语言:Chinese Simplified (简体中文)
    说明:在这里为菜单语言项,该菜单只有在与当前语言环境一致时,才会显示出来。
  3. 重复第2步,使用以下信息创建一个英语菜单项路径:node
    菜单链接标题:Node
    语言:English (英语)
  4. 现在再在中英文之间进行切换,就可以看到,在中文界面下,会显示语言设置为 Chinese Simplified (简体中文)的菜单项“内容”,在英文界面下,则会显示语言设置为 English (英文)的菜单项“Node”

 

使用多语言化变量设置不同的主链接/次链接

 

  访问 管理 > 站点构建 > 菜单 > 设置(admin/build/menu/settings)页面,可以看到“主导航菜单来源”及“次级菜单来源”都被标识为“多语言化变量(This is a multilingual variable)”,这说明这两项值,在不同的语言环境下,可以设置不同的值,并被数据库分开保存。(更多关于多语言化变量请参考《站点变量(Variables)多语言化》)

  在中文语言下,为主链接/次链接选择恰当的中文链接,在英文语言下,为主链接/次链接选择恰当的英文链接,从而实现在不同语言下,使用不同语言的菜单项,以此来实现 Drupal 网站中菜单的多语言化。