Usually best practice is to create separate branche for each language like:
By using dictionary items, templates and some xslt, most of the functionality built for one language is easily available for other languages.
Pros: - flexibility, sites can really be different and still share mutual resources - easy assignment of user rights for nodes
Cons: - sometimes sharing of resources, like media files, will become a mess. Consider case when you have 5 languages and documentation in 2, which you want to share depending on language.
One other option is to use multiple tabs in your text pages, one tab for each language and change body content depending on a language variable (might be the active sub-domain).
The draw-back (or advantage) with this second solution is that all editors will be able to change all languages since you can't restrict access to different tabs in umbraco. Another one might be that your menu XSLT's will become a bit complex if you have to check if the language exists for each node you want to display...
Language specific char in page namesEdit
Umbraco can handle language specific characters so that you do not have them in page names. Like in Icelandic we have ð and þ among others. http://yourdomain.com/þaðan.aspx would become http://yourdomain.com/thadan.aspx if configured correctly. Umbraco handles spaces dots and danish char by default. To ad yours modify umbracosettings.xml from the config folder, find the <urlReplacing></urlReplacing> section and add your char to it. Like <char org="þ">th</char>