我正在编写一个包含我需要翻译的文本反馈的库。
我将以下几行放在_config.py
我在我的应用程序中随处导入的模块中:
import gettext, os, sys
pathname = os.path.dirname(sys.argv[0])
localdir = os.path.abspath(pathname) + "/locale"
gettext.install("messages", localdir)
我有*.mo
文件,./locale/lang_LANG/LC_MESSAGES
我将_()
函数应用于所有需要翻译的字符串。
现在我刚刚为用户(据说是程序员)添加了一项功能,以便能够创建自己的消息。我不希望他关心底层实现,所以我希望他能够让它变得简单,比如:
lib_object.message = "My message"
我使用属性使其干净,但是如果我的用户要翻译他自己的代码(使用我的)并执行以下操作怎么办:
import gettext, os, sys
pathname = os.path.dirname(sys.argv[0])
localdir = os.path.abspath(pathname) + "/locale"
gettext.install("user_app", localdir)
lib_object.message = _("My message")
这是个问题吗 ?我可以做些什么来避免麻烦而不打扰我的用户?