站点变量(Variables)多语言化

  上一节我们已经使用 Drupal 核心的 Locale 模块为 Drupal 站点启用了多语言的功能,并且对 Drupal 界面进行了翻译。不过还遗留了一点点小问题,就是 Drupal 的站点标题没有翻译过来。

  Drupal 中的一些文本和配置存储在数据库的variables表中。比如“站点名称”和“站点口号”这样的配置文本,Drupal 核心的 Locale 模块不能实现这些配置变量的多语言化。因此创建一个更彻底的多语言站点,还需要用到 Internationalization(i18n)模块,i18n 模块提供了 Drupal 变量多语言化的功能。

  要实现对 Drupal 变量的多语言化操作,需要知道要翻译的变量的名称,这一步可以通过搜索 Drupal 数据库的 variables 表来实现。

  当你确定要对哪些变量进行多语言化操作时,你只需要按照以下格式,将变量添加到 settings.php 文件中即可。以下添加了 Drupal 站点的一些常见变量:

/**
 * Multilingual settings
 *
 * This is a collection of variables that can be set up for each language when i18n is enabled.
 * These are the basic ones for Drupal core, but you can add your own here.
 */

$conf['i18n_variables'] = array(

  // Site name, slogan, mission, etc..
  'site_name',
  'site_slogan',
  'site_mission',
  'site_footer',
  'anonymous',

  // Different front page for each language
  'site_frontpage',

  // Primary and secondary links
  'menu_primary_links_source',
  'menu_secondary_links_source',

  // Contact form information
  'contact_form_information',

  // For theme variables, read more below
  'theme_settings',
  'theme_garland_settings',

);

  当启用了 i18n 模块,并且向 settings.php 配置文件中添加了以上代码之后,可以在 管理 > 站点设置 > 语言 > Multilingual system > Variables(admin/settings/languages/i18n/variables)页面中,看到可以实现多语言化的变量名称及翻译状态。

Drupal 站点信息多语言化

  1. 访问 管理 > 站点设置 > 站点信息(admin/settings/site-information),可以看到一些表单项的后面加上了 This is a multilingual varibles 的提示,说明这些配置已经可以多语言化了
  2. 使用中文填写站点信息表单项,如:
    名称:Drupal 多语言化测试站点
    口号:使用 Drupal 创建多语言站点
    ...
    然后,点击“保存设置”。
  3. 切换到英语界面(如果你阅读了本教程的前面章节,并跟着教程进行的配置,那么,点击右边栏语言切换区块中的 English 链接即可切换到英文界面。如果你是路途看到这一篇文章,而不知如何切换,推荐你先看看前面的章节)
  4. 在英语界面中,使用英文填写 Site Information(站点信息)表单项,如:
    Name:Drupal Multilingual Test Sites
    Slogan:Using Drupal create a multilinugal website
    ...
    然后,点击“Save Configuration”。

  尝试在语言间进行一些切换,可以看到中文界面使用了中文的标题和口号,英文界面则使用英文的标题和口号

Drupal 多语言站点中文界面截图

Drupal 站点变量多语言化-中文

Drupal 多语言站点英文界面截图

Drupal 站点变量多语言化-英文


付费阅读