drupal - 如何在 Drupal 6 的用户/注册表单中添加语言切换器

标签 drupal drupal-6 internationalization registration

我正在尝试在用户/注册表单中添加语言设置(如在用户编辑中),但我没有成功通过 Google 找到解决方案。

任何想法如何在注册表单中添加用户的语言设置?

提前致谢

最佳答案

我也没有设法找到直接的解决方案。
所以似乎需要一个小的自定义模块。
我复制了 hook_user 的实现来自 locale模块并稍作修改。
所以创建你的自定义模块,这个钩子(Hook)就足够了。

/**
 * Implementation of hook_user().
 */
function yourmodulename_user($op, &$edit, &$account, $category = NULL) {
  global $language;

  // If we have more then one language and either creating a user on the
  // admin interface or edit the user, show the language selector.
  if ($op == 'register') {
        $languages = language_list('enabled');
        $languages = $languages[1];

        // If the user is being created, we set the user language to the page language.
        $user_preferred_language = $user ? user_preferred_language($user) : $language;

        $names = array();
        foreach ($languages as $langcode => $item) {
          $name = t($item->name);
          $names[$langcode] = $name . ($item->native != $name ? ' ('. $item->native .')' : '');
        }
        $form['locale'] = array(
          '#type' => 'fieldset',
          '#title' => t('Language settings'),
          '#weight' => 1,
        );

        $form['locale']['language'] = array(
          '#type' => (count($names) <= 5 ? 'radios' : 'select'),
          '#title' => t('Language'),
          '#default_value' => $user_preferred_language->language,
          '#options' => $names,
          '#description' => t("This account's default language for e-mails."),
        );
        return $form;
    }
}

关于drupal - 如何在 Drupal 6 的用户/注册表单中添加语言切换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556895/

相关文章:

php - Drupal:使用 View 输出作为节点内容

php - 在 Drupal 中自定义 WebForm 模块

javascript - 仅使用 JSON API 的 Web 应用程序的基础架构和国际化

ruby-on-rails - 在 View 中使用 I18n 而不是在控制台中使用 I18n 的 Rails 问题

android - 语言更改菜单用于更改不同的语言

php - Drupal 到 zen cart sql 查询转换

javascript - 从较低的 div 获取背景图像 url 以将它们添加到较高的 div

drupal - 图像未显示在 drupal 测试站点上

drupal-6 - Drupal 6 - 如何禁用所有节点/内容类型上的注释?