Steps to reproduce

  1. Instal Drupal 7.7 - standard install in English;
  2. Enable Locale and Content Translation core modules;
  3. Add a language besides English (keeping English as default) and select all detection methods;
  4. Add the Language Switcher block to your theme;
  5. Create an article in English and translate it to the other language;
  6. Define a path alias in each language for the created nodes;
  7. Instal and enable Entity Translation 7.x-1.x-dev (2011-Jun-20);
  8. Go to the English node.

What should happen

In the language switcher block, the links to both nodes should be aliased.

What happens

The link to the other language (non-default) node is not aliased.

Further details

System: OSX 10.7.1, MAMP 2.0.2 (Apache 2.2.17, PHP 5.3.6, MySQL 5.5.9), Drupal 7.7, Entity Translation 7.x-1.x-dev (2011-Jun-20)
No errors reported in the Drupal log.
The same problem was confirmed in another drupal install loaded with around 20 contrib modules in the same machine.
Problem always occurs to the non-default language link.

Comments

plach’s picture

Component: Code » User interface

Thanks for reporting this the right way :)

This is more of an UX problem than a functional bug: when enabling ET you are enabling also content language negotiation and the related language switcher block. If you go to the language detection and selection screen you will find an additional language type: enable all language detection methods there too, then replace the UI language switcher block with the content language switcher block and you should get the previous behavior.

plach’s picture

Title: Entity translation disables node path alias on language switcher block for non-default language » ET enables content language negotiation without giving any clue
guictx’s picture

An UX problem it is! Following your instructions I now have a fully functional language switcher block. Thank you.

Cyclodex’s picture

Oooo, i was fighting for hours now, to get this stuff working.
I changed from only node translation to some special content types which are now handled with entity translation.
Unfortunately I never read or stumbled over this additional language switcher block...

Finally it seems to work as expected. Thanks a lot for this post !

Something I want to mention here:

Something strange happens if you already had content types which are handled over "node translation".
If you disable the setting "Enable language fallback" on the entity_translation settings, the previous mentioned posts aren't displayed any more. Even they have nothing to do with entity translation itself. Seems to be another bug or related to a different topic... Just wanted to note that here. So just enable or let it enabled (not sure what the default is), and the node translation contents will show in their proper language...

plach’s picture

Actually language fallback is a core global setting that affects any node, no matter its configured multilingual support. ET just exposes an UI for it.

Cyclodex’s picture

Ok thanks. And I also was in a mistake. The crazy behaviour just happens on the "wrong" UI language switcher block!
So change language with this block will fail with the message "Translation unavailable".
But with the content language switcher block everything works as expected.
So there it will only display this message for real missing content. On "normal" node translation contents, it will even make the language link struck through and not linked. Nice.

So thanks for fast feedback. I am pretty new to Drupal(few months), and fighting with setting up multilingual pages. Currently trying to understand all the different aspects. Thank you so much for all your work, especially plach, Gábor, Jose etc. Nice Community out there. I hope I can help you soon somehow. (just starting with some bug reports and translations :) )