首页 > 解决方案 > 全局变量/函数的良好实践

问题描述

我遇到了一个问题,即我的项目只有部分被正确翻译/本地化。

问题是gettext函数_在两个模块中的定义不同。print_text1()得到翻译,print_text2()但没有。

该解决方案似乎具有某种语言的全局变量或标志。什么样的解决方案会被认为是好的做法?

模块 A.py

import gettext
from B import *

language='de'

if language is 'de':
    de = gettext.translation('base', localedir='locales', languages=['de'])
    de.install()
    _ = de.gettext
else:
    _ = gettext.gettext

def print_text1():
    print(_("Power consumption"))

print_text1()
print_text2()

模块 B.py

import gettext

_ = gettext.gettext

def print_text2():
    print(_("Warm Water"))

标签: pythonpython-importgettext

解决方案


推荐阅读