--- __init__old.py	2007-02-19 14:06:16.000000000 +0100
+++ __init__.py	2007-02-19 14:55:34.000000000 +0100
@@ -121,12 +121,20 @@
         
             Language macro are used in two ways:
              * [lang] - set the current language until next lang macro
-             * [lang(text)] - insert text with specific lang inside page
+             * [lang(text)] - insert wikimarkup with specific lang inside page
         """
         if text:
-            return (self.formatter.lang(1, self.name) +
-                    self.formatter.text(text) +
-                    self.formatter.lang(0, self.name))
+            # Code taken from fabelous MiniPage macro by ReimarBauer
+            from MoinMoin.parser import text_moin_wiki as wiki
+            import string, StringIO
+            out=StringIO.StringIO()
+            self.request.redirect(out)
+            wikiizer = wiki.Parser(text, self.request)
+            wikiizer.format(self.formatter)
+            result=out.getvalue()
+            self.request.redirect()
+            del out
+            return result
 
         self.request.current_lang = self.name
         return ''
