Hi, <br><br>this is my first post, and pardon me if this idea was already on the table. I have to admit I didn't deep dive into drupal code, but nevertheless I will propose one more approach. <br><br>So far I think we have 2 scenarios:
<br>1) translating hard-coded strings in drupal core + modules<br>2) translating menus + content (user created)<br><br><br>How about tagging the in scenario 2) with language tags: <br><br>On example: using single storage, we can store also information about languages, so for a single menu item it should look similar as this:
<br>&lt;en&gt;about us&lt;/en&gt;&lt;de&gt;ueber uns&lt;/de&gt;&lt;hr&gt;o nama&lt;/hr&gt;<br><br>Processing of the menu item: if user chooses German language, and there is not German tag in menu item &lt;en&gt;about us&lt;/en&gt;&lt;hr&gt;o nama&lt;/hr&gt;, then this menu item won't be displayed. 
<br><br>The same is for content:<br>in one node should be present information for all languages <br>&lt;en&gt;text, images, bla bla bla&lt;/en&gt;<br>&lt;de&gt;text, bilder, bla bla bla&lt;/de&gt;<br>&lt;hr&gt;text, slike bla bla bla&lt;/hr&gt;
<br><br>When drupal builds up the page, after it loads the node, proper translation should be processed (if user is on EN part of the site, then&nbsp; should be always English content processed from the node. <br>If there is no content (and menu is there), we can put some default info message. 
<br><br>Of course this approach than needs changes in GUI so that we can edit each language content separately (combo box with language selection, some javascript, some text processing/tagging in background).<br><br>Advantage is that we don't need to change table structure. 
<br><br>Drupal core can take care about how many languages are installed and&nbsp; how to process adding a new language or deinstalling/reinstalling existing one. <br><br><br>This is just in short. <br><br>Regards, <br><br>Boris Iljadica
<br><br>p.s.<br>I also would like to build multilingual web site in drupal, and so far, for my case, I think it is best idea to create multisite (3 web sites) for 3 languages sharing photo gallery. <br>