2

我在我的 drupal 站点的 EN 版本中看不到任何菜单,菜单中有以下设置:

环境 环境

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

菜单的 html 区域

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

感谢帮助我:-)

4

4 回答 4

3

我建议使用菜单块contrib 模块。

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

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

于 2012-12-03T14:14:33.957 回答
1

由于通常有几种方法可以使用 drupal 达到目标,因此这里有一个解决方法的建议:

  • 创建两个没有语言设置的菜单。
  • 尝试将所有菜单项设置为中性语言,以便它们以两种语言显示。(测试一下)
  • 将菜单作为块分配给正确的区域。
  • 然后使用i18n 模块在块级别而不是菜单或菜单项级别控制特定于语言的显示。(请注意,您需要 i18n_block 模块来执行 i18n 模块的一部分)
  • 如果您需要对块进行额外设置,请参阅前面提到的菜单块模块。
  • 还要确保检查国际化文档
于 2012-12-06T14:28:55.797 回答
1

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

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

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

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

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

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

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

如果您在从主题中添加或删除菜单方面需要帮助,请告诉我们您使用的是哪个主题。

于 2012-12-07T13:47:41.827 回答
0

有七个步骤来实现:

第 1 步:启用所有模块

  • 内容翻译(核心模块)
  • 语言环境(核心模块)
  • 国际化
  • 多变的

选修的:

  • 语言图标
  • 翻译概述

第 2 步:添加语言

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

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

第三步:检测和选择

在本教程中,我选择使用“<strong>URL Prefix”</strong> 设置。这告诉 Drupal 对西班牙语使用 domain.com/es,对德语使用 domain.com/de。

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

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

第 5 步:创建英文内容

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

创建节点后,您应该会看到一个“<strong>translate”选项卡。如果单击此选项卡,您将能够向此节点添加翻译。

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

第 6 步:创建翻译内容

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

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

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

你会看到你有英文菜单项和西班牙项。您可以像您希望的那样订购这些,但知道只选择西班牙语时,只有西班牙语链接将显示为主菜单(所以您知道的,因为URL会说Domain.com/es)。

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

您也可以使用i18n_menu_navigation_links功能。

于 2012-12-10T12:04:40.900 回答