python - 全局变量/函数的良好实践
问题描述
我遇到了一个问题,即我的项目只有部分被正确翻译/本地化。
问题是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"))
解决方案
推荐阅读
- elasticsearch - 在具有多个字段的弹性搜索中使用 cutoff_frequency
- ios - Cordova:iOS 10 中的 WKWebView 与 UIWebView
- reactjs - 如何从 react-router v1 迁移到 v4 ?{this.props.children}
- javascript - 使用 youtube iframe 播放器 API 播放背景视频
- javascript - JS Summernote 填充两个元素
- java - 为什么Wildfly 12 中的@Resource 注入需要“java:/”前缀?
- java - 春季可定制的方面
- android - 受信任的 Web 活动/给定的 CustomTabsIntent 应与有效的 CustomTabsSession 相关联
- java - 在 Android Studio 中使用 jssc
- android-studio - AndroidStudio 3.1.2 突然将导入显示为未解析