* Donn Ingle (Fri, 28 Dec 2007 20:01:48 +0200) > I'm 100% new to this i18n lark and my approach so far has been to create > a .mo file per module in my app. > My thinking was, why load one huge .mo file when a single module only needs > a few strings? Since then, it seems, I have made the wrong decision. > > For example I have module A that imports module B. Each one does this: > > gettext.install( domain, localedir, unicode = True ) > lang = gettext.translation(domain, localedir, languages = [ loc ] ) > lang.install(unicode = True ) > > (where doman is the name of the module, so "A" and "B") > > The problem is that domain "A" loads and then import B happens and so > the "lang" reference (I think) gets replaced by domain "B" -- the result is > that module A can only translate strings that are in domain "B". > > How does one 'merge' gettext.translations objects together? Or is that > insane? > > What's the best way to handle a project with multiple domain.mo files?
I can give you just general advice how I dealt with internationalization in my example app. "scipt" is the main app with its own mo file and imports optparse which has again its own mo file # gettext.textdomain('optparse') gettext.install('script', unicode = True) from optparse import OptionParser, \ OptionGroup # [...] Thorsten -- http://mail.python.org/mailman/listinfo/python-list