As a standard :
1)You would need to assign a number to each language.
2)A global array (also to be used by the blocks/modules. In it the languages/numbers to be used
3)Module names/block names/menu item names/topic names and so on should be replaced by symbolic names
4)For the content : I like the method I use now (with the square brackets) When I make a mistake, I see it when I post, and no big harm is done. Some things I write are only in dutch language (local events in dutch language for example)So when you can't read dutch, just skip that article.
Of course there are some items like for instance searching that are more difficult, but it's a matter of growing insight, and though I am a very 'young' Xoopser I noticed that this is a community with spirit.
Aloha