My very first multilanguage site was done very simply, with four top-level resources (English, French, Italian, German), and each "branch" contained the resources for that language.
These top-level resources themselves were used to generate the language menu, and contained a snippet to set a cookie with the resource ID to identify the language the user selected. Another snippet redirects to the first child, which is that language’s "home" page.
Another snippet was used to retrieve the cookie value for use in Wayfinder as the startId for the main menu, and also for use in any snippets that required a language to be specified for including a language file
The second two-language site I did used much the same method, with the addition of a TV for the alternate language that was used to hold the resource ID of the page’s opposite language resource; this way each page included a link to the same page in the other language. In the case of "News" pages, since they may not exist in both languages, I used the resource ID of the other language’s main News page.
http://wiki.modxcms.com/index.php/Make_Multi_Lingual_Site