メインサーバースレッドで翻訳することをお勧めしますが、次のように翻訳者オブジェクトを登録/使用できます。
import gettext
str_to_translate = u'String to Translate'
DOMAIN = 'example' # name of your translation babel translation file, here would be example.po
LOCALE_DIR = '/path/to/locale/dir' # directory containing language subdirectories
LANGUAGES = ['es']
CODESET = 'utf8'
translator = gettext.translation(DOMAIN, localedir=LOCALE_DIR, languages=LANGUAGES, codeset=CODESET)
translated_str = translator.gettext(str_to_translate)
パイロン環境をもう少し利用したい場合は、次のようにすることができます。
from pylons import config
from pylons.i18n.translation import set_lang
conf = config.current_conf()
if not conf['pylons.paths']['root']:
conf['pylons.paths']['root'] = os.path.abspath(NAME_OF_YOUR_PROJECT)
if not conf.get('pylons.package'):
conf['pylons.package'] = 'example' # same as domain above
set_lang(LANG, pylons_config=conf)
その後_
、メインスレッドと同じように動作します。