It seems that Cocoon's I18N code is more geared towards internationalisation of 'webapps' rather than static sites.
It deals with menu items, etc, taking the various translations from catalog files, as necessary.
However, when you want to build a static site, where the entire content is in different languages, you need a way to pick the right file at the generator stage.
I think you missed LocaleAction.
...
Two other areas that it should support:
(1) If the user specifies preferences in terms of locale, it should serve back the page most suiting their preference, e.g they might supply de, en, saying they prefer German, but English would be okay.
(2) If a translation in the user's language does not exist, it should offer a page in the 'default' language.
From this description it sound like combination of LocaleAction and ResourceExistAction is what you need.
Vadim
