While writing the Drupal 7 multilingual features posts and planning for the upcoming items in the series, I always wanted to figure out a framework for thinking of these items and to match core features and modules with contributed module functionality. Drupal 7 clearly is a multilingual system with additional contributed modules only. Also, there are so many modules involved that a summary of which Drupal objects they work with and what functionality they serve would be clearly beneficial to summarize in an overview. Also, a good matrix of features and functionality with further pointers could easily outlast my blog posts which might quickly age as improvements land.
So I've started from my usual assumption of three methods of multilingual approach (a) language association (b) translation sets of copies and (c) in-object translation that was explained in part 6 of my series (as well as maybe somewhat hidden in part 4). If you apply this to nodes, (a) is great for your forum section, (b) is for a documentation section on your site (that needs comments, authors, workflows, revisions separate) and (c) is great for e-commerce products for example, where you'd translate one on one. Same applied to menus (a) would be menus only applicable to a language, (b) would be menus with somewhat different structures for different languages and (c) would be 100% identical menus for all languages. These concepts map well to almost all "objects" in Drupal, even if not all are applicable for all cases. Think blocks, taxonomy, site settings, views, panels, webform, etc.
What's even more important is that you'll need to figure out whether you need (a), (b) or (c) on a case by case (node type by node type, menu instance by menu instance) basis. This is the primary reason that there is no one size fits all multilingual solution for Drupal and you need to lego together your pieces and configure them as needed for your site.
Therefore there are lots of moving pieces involved, and I'm definitely not the most proficient person in all of the corners of multilingual Drupal objects, so I decided to create a doc with starter content based on some of my understanding, and let everyone work and extend on it (as well as just view if you want to tap into the minds of people who hopefully understand each area well). I've made it a free-for-all editable spreadsheet on Google Docs as an experiment to see if it works out. (Groups.drupal.org is not too convenient for parallel editing of tabular data). Feedback and extensions of the doc are very welcome. I hope to have this document in a much more complete form for the community and Drupal 7 site builders in general to have a good overview of the tools possibly involved when certain requirements are to be met.
The results of this document could also help inform sprinters at next month's multilingual Drupal sprint, to aid in prioritizing work to do and spot missing but crucial pieces and help identity important parts that still need completion and porting.
Access and edit the document at https://spreadsheets.google.com/ccc?key=0Aqxsrc5BVkagdFV2NkhkRjV5WXJoZjB...
Do you have a module that fits into this picture? Did you struggle with figuring out good solutions for one of the cells in the matrix? Share it with us! Thanks for your contributions.