我正在考虑为用Perl编写的成熟CGI应用程序引入多语言支持.我最初考虑使用Perl哈希(存储在磁盘上)来翻译我自己的解决方案,但后来我遇到了一个CPAN模块,它看起来像我想做的那样(i18n).
有没有人在Perl中有国际化经验(特别是i18n CPAN模块)?i18n模块是多语言支持的首选方法还是我应该重新考虑自定义解决方案?
谢谢
我自己的模块覆盖了内置的Python(特别是日志记录模块).这是我的项目布局:
run.py
package/
__init__.py
logging/
__init__.py
...
Run Code Online (Sandbox Code Playgroud)
run.py
from package import main
main()
Run Code Online (Sandbox Code Playgroud)
包/ __ init__.py
from __future__ import absolute_import
import logging
import logging.config
def main():
logging.config.fileConfig(...)
Run Code Online (Sandbox Code Playgroud)
包/记录/ __ init__.py
class Logging(object):
pass
Run Code Online (Sandbox Code Playgroud)
现在看来,上面的代码是有效的.一旦我尝试从package.logging导入Logging类,如下所示:
from __future__ import absolute_import
import logging
import logging.config
from package.logging import Logging
def main():
logging.config.fileConfig(...)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
AttributeError: 'module' object has no attribute 'config'
Run Code Online (Sandbox Code Playgroud)
我已经阅读了PEP 328发行说明,发现绝对导入非常简单.不幸的是我无法弄明白这一点.
我在这里错过了什么?