Greetings!
I'm wondering if there is a module that allows the users to choose their Interface language (single choice) and Content languages (multiple choice)???
The best example of what I mean can be found on www.reddit.com. I think my attached screenshot visually explains what I'm after.

Consider a scenario of a community driven website, where members are from all around the world and speak different languages, but most of them can read 2-3 extra languages than their own native language. Now imagine that all those people submit large quantities of contnent that is in many different languages (for example in 7 languages).
In i18n if you make content language dependent on interface language, then only content in that language will be displayed to that user, but most users would like to see content in 2-3 languages of their choosing without having to switch to another language (so as not to break user experience). On the other hand, if you make content language independent of interface language then contnent in ALL languages piles into the same stream for ALL members to see irrespective of whether a particular user understands all of those languages or not (bad user experience - and quite alienating for the user and community). This lack of other choices is quite a significant limitation to i18n module!
So for example, Mary is from Belgium - she sets her interface language to French, but she also understands English, Flemish and Spanish and would like to see content in those languages in the steam of incoming news. But she doesn't understand German, Arabic, Greek, Italian, and Russian, so she doesn't want to see content in those languages on the website, and therefore she does not include those languages in her settings. Once she submits the form (see image attachment) her interface language will be in French, but she will be able to see contnet in French, English, Flemish and Spanish, while all content in all other enabled languages will be invisible to her.
I know there is a whole long discussion about making Content language independent from Interface language and its implications. But I'm wondering if there is a module that already does something like the scenario described above.
If not, I strongly believe that a module like this should exist. But unfortunately I'm not a code developer, so I have to ask if anybody in the i18n community would be willing to write a small module like this which will be no more than 300 lines of code. I found that the code in TAC_lite module could be potentially a good starting point: it's a taxonomy module and has nothing to do with languages, but if you hack it you can make users choose nodes under whichever taxonomies they wish to see and exclude -- and then you can re-write the code that calls taxonomy tables to work with i18n tables and variables instead.
What do you think??? (any suggestions, pointers, thoughts - much appreciated)
| Attachment | Size |
|---|---|
| reddit_content_language_acc.gif | 20.12 KB |
Comments
i18n_access
Check out i18n_access module. It does not do what you want, but it has some interesting similarities.
Yes, I found i18n_access
Yes, I found i18n_access module, after posting in this groups. It's a nice little module with just 200 lines. I tried to hack/fork it, but I know very little PHP, so couldn't get it to work.
I then posted a feature request in 18n_access here http://drupal.org/node/819938 . The problem is that 18n_access is a restrictive/privacy module, rather than a filtering module like original i18n -- so I'm not sure if the maintainer will take it.
I then posted a feature request in i18n module itself here http://drupal.org/node/823116
How do I find a developer who knows i18n API and who would be interested to write a small module for this new feature?
I think 100-150 lines of code should do the trick: set permissions to chose content languages, load enabled languages, add a content language selector form (like seen in the screenshot) to account settings form (or a block linking to a popup for anonymous users), remember the user selection, refer back to i18n module to filter the content accordingly. That's it. It would make for a very useful contrib module for i18n.
Great idea
Drupalina, I completely agree! This feature would be a fantastic addition to Drupal. Do you know the Select Translation module: http://drupal.org/project/select_translation? It offers something similiar, but on a general level. Of course, the best would be to let each user decide, not only their preferred content languages, but also in what order in case several translations exist of the same node. For example a user could choose to see content in 1)Dutch, 2)Spanish and 3)English. So if translations exist in Spanish and English, only the Spanish node (or teaser) would be displayed. Also the user could be given the option of see node in source language if not translated to any of the preferred content languages.