【问题标题】:drupal language switcher unaware of the aliases? switches to node/XX/ instead of LANG/textdrupal 语言切换器不知道别名?切换到 node/XX/ 而不是 LANG/text
【发布时间】:2011-05-05 06:45:51
【问题描述】:
我的语言切换器有一个大问题,
我有一个多语言网站,每篇文章都是英文和西班牙文的,西班牙文是默认的
所以如果一篇文章被命名为:
domain.com/mi-articulo 然后英文版将是 domain.com/en/my-article (使用自动路径创建这些别名)
现在,如果我手动更改 url,这可以正常工作.. 但是如果我使用语言切换器 .. 英语 corespondent 它的开关没有别名和 Lang 前缀
所以它找到了 domain.com/en/my-article 而不是 domain.com/node/47 所以当我翻译了菜单和其他内容时,drupal 不知道语言切换了..
这是屏幕截图,以更好地了解正在发生的事情(奇怪的行为)
版本 1。西班牙语
版本 2。英语
现在,如果我单击英语..看看发生了什么(请参阅 url 和内容,如 drupal 不知道此内容既不是西班牙语也不是英语...因为语言切换器找不到别名)
【问题讨论】:
标签:
drupal
translation
multilingual
language-switching
drupal-path-aliases
【解决方案1】:
在我设置 默认“语言域”之前,我遇到了同样的问题
在admin/settings/language/edit/en。现在该模块正在按预期工作。
【解决方案2】:
我今天偶然发现了同样的问题。
所有节点都是从另一个站点导入的。已导入所有翻译,但未导入它们之间的关系,因此如果您编辑节点并检查翻译,您可能会注意到您的节点没有任何给定的翻译。
如果这是您的问题,您可以使用该功能将现有节点添加为翻译。
【解决方案3】:
语言切换器也有同样的问题;只是不能让它做它应该做的事情。通过添加一个块并插入以下 html,我最终有效地编写了一个非常简单的版本:
<ul>
<li class="first en"><a href="http://www.yoursite.com">English</a></li>
<li class="last fr"><a href="http://www.yoursite.com/fr">Français</a></li>
</ul>
它的局限性在于它总是在切换后将您带回主页,但一旦完成,指向其他节点的链接将继续正确地在 url 中使用/fr。