I’ve just finished a multi-language site with the method described
here. I like the idea of not having to use a page-parameter. The idea of jaredc (
here) suits this method perfectly.
For now I use different chunks (templates) for each language. So my list of chunks looks like
- dothis_nl
- dothis_uk
- dothat_nl
- dothat_uk
And calling a snippet goes like
[[snippet?tmp=dothis_nl]] and
[[snippet?tmp=dotthis_uk]]
This way I separate the code from the templates. Ideally you would like to separate the layout within the template from the text within the template. I’ve solved that by using css for layout and using div tags within the templates.
What I think would make MODx a lot better is a way to organize the chunks (templates, snippets and plugins) like the way the documents are organized (as raised by others). This would be quite a change though.
Chunks organized in a tree would give access to a chunk in a certain language easily. I’ve used the ’_uk’ way to set the language for a chunk. A way to be able to set the language of a chunk (template, snippet and plugin) seems like a valuable addition. (Make everything a document, as raised by others!)
Ultimately I think of a way to organize TV’s the same way. If we could have the TV’s in a tree structure and make every possible field a TV you could have as many RTE-TV’s as you need for your languages. Hierarchical TV’s on the same level become tabs and child TV’s become tabs on their parent-tab.
The way MODx works now though is better than anything I’ve seen elsewhere. The biggest drawbacks of the ways we can do multi-language are the mutual settings for the language pages.
eg: I like to publish all the languages for one page on the same day. I’ve to set the publish date for all the languages individually. TV’s in a tree structure would solve this by having the publish date field on a parent with the RTE-fields as children.