多语言网站中的菜单drupal

时间:2012-11-27 15:38:39

标签: php drupal drupal-7 drupal-modules

我的drupal网站的EN版本中没有任何菜单,菜单中包含以下设置:

setting setting

当我选择法语时一切正常但是当我选择英语时,什么都没有出现(我确实在两个菜单中都有内容)

html zone for the menu

在块部分中,我看到两个菜单已禁用。

感谢帮助我: - )

4 个答案:

答案 0 :(得分:3)

我建议使用menu block contrib模块。

此模块允许您将菜单视为块。

创建2个块(每个菜单1个),在块管理页面中,您可以指定每个块的语言。

希望这有帮助......穆罕默德。

答案 1 :(得分:1)

由于通常有几种方法可以通过drupal达到目标,这是一个解决方案的建议:

  • 创建两个没有语言设置的菜单。
  • 尝试将所有菜单项都设为中性语言,以便显示 两种语言都有。 (测试)
  • 将菜单作为块分配到右侧区域。
  • 然后使用i18n module来控制特定语言 在块级别显示而不是菜单或菜单项级别。 (注意,您需要使用i18n_block模块来执行i18n模块的一部分)
  • 如果您需要块的附加设置,请参阅已经提到的menu block模块。
  • 另请确保查看internationalisation documentation

答案 2 :(得分:1)

我发现对于多语言网站来说,拥有两个菜单总是更容易。 我也更喜欢为不同的语言使用不同的视图页面,所以我不会遇到问题。这样我就可以轻松地将路径添加到相应的菜单中。每当我尝试将多语言视图和菜单结合起来时,我就遇到了很多问题。

在您提供的屏幕截图中,我可以看到您有两个菜单。

首先,我发现根据他们的语言更容易命名和标题菜单,因为它很容易混淆,否则主菜单英语 - main_menu_en。

其次,您的法语菜单可能有效,因为它是由您的主题打印的,该主题配置为呈现特定区域中的主菜单链接。要使您的英语菜单正常工作,您必须:

a)在主题中添加所需的代码,或

b)删除主题中主菜单的代码,并通过块管理页面使用放置在所需区域中的2个菜单块。在每个块的块设置中,您可以选择要显示的语言。

正如其他人所说,你需要:menu_block

如果您需要有关添加或删除主题菜单的帮助,请告诉我们您使用的是哪种主题。

答案 3 :(得分:0)

要实现七个步骤:

第1步:启用所有模块

  • 内容翻译(核心模块)
  • 区域设置(核心模块)
  • 国际
  • 可变

可选

  • 语言图标
  • 翻译概述

第2步:添加语言

转到配置>区域和语言>语言

默认语言为英语,您可以使用“添加语言”链接添加预定义语言或自定义语言。

第3步:检测和选择

在本教程中,我选择使用“网址前缀”设置。这告诉Drupal将domain.com/es用于西班牙语,将domain.com/de用于德语。

第4步:为内容类型启用多语言支持

创建或编辑现有内容类型,然后点击“发布选项”。在这里,您将看到启用多语言支持的选项。选择“启用,带翻译。这将允许您将节点翻译成多种语言。

第5步:创建英语内容

创建节点时,请确保使用正确的语言,而不仅仅是“语言中立”。这很重要,因为当您创建URL别名和菜单链接标题时,它将知道将链接放入哪个菜单。

创建节点后,您应该会看到“翻译”标签。如果单击此选项卡,则可以向此节点添加翻译。

请注意,如果您安装了“翻译概述”模块(我强烈建议),您将会看到一个漂亮的小窗口,告诉您已添加哪些语言,这些语言需要优先级,等

第6步:创建已翻译的内容

创建翻译时,请为其翻译菜单链接标题,但为其提供与原始节点相同的网址别名。由于您安装了多语言支持,因此使用相同的URL别名不会给您带来任何错误(请记住,它将西班牙语节点放在domain.com/es上,将德语节点放在domain.com/de上)。

第7步:添加对多语言菜单的支持

转到结构>菜单>主菜单。编辑菜单并启用“翻译和本地化”选项。这将根据用户在网站范围内选择的语言切换菜单项。

你会看到你有英文菜单项和西班牙文项。您可以按照自己的意愿订购这些产品,但请注意,当选择西班牙语作为主菜单时,只会显示西班牙语链接(您知道因为该网址会显示域名网址)。

您的最终产品:在前端,您可以看到它的动作。

您也可以使用 i18n_menu_navigation_links 功能。