Steps to reproduce:

setup:

  1. set up Drupal 6
  2. enable locale module
  3. add 2 more languages (i take german and polish for example)
  4. set german as default language
  5. add the language switcher-block to any region you want
  6. create node/1 as english
  7. translate node/1 to another language (german) as node/2
  8. translate node/1 to another language (polish) as node/3
  9. set node/2 as frontpage

bug:

  1. go to your frontpage(you should arrive on the german frontpage)
  2. click on english in the language switcher

expected result:

  • you should see node/1 now
  • the interface should be english

actual result:

  • you see node/2 now
  • but the interface language is english

Comments

loominade’s picture

this problem, seems to be connected with the local module

loominade’s picture

the issue could easily be fixed: mysite.com/de should lead to the german version of the Frontpage.

mysterious way, $_GET['q'] doesn't contain the language

MantasK’s picture

Version: 6.14 » 6.19
Status: Active » Needs review

It only happens if front page is node. The easiest way to solve this is to fix locale block
the line

$path = drupal_is_front_page() ? '<front>' : $_GET['q'];

can be changed to:

 $path = drupal_is_front_page() && 'node' != arg(0) ? '<front>' : $_GET['q'];
thedavidmeister’s picture

Version: 6.19 » 6.x-dev
Status: Needs review » Needs work

Solution in #3 doesn't seem great, it also matches node/% and node/%/foo

There's no patch here, so there's nothing to review.

Status: Needs work » Closed (outdated)

Automatically closed because Drupal 6 is no longer supported. If the issue verifiably applies to later versions, please reopen with details and update the version.