警告不正确的gettext用法。
flake8-i18n的Python项目详细描述
flake8 i18n插件
在python中经常使用gettext会导致 以下错误:
(f“{context_variable}”)
不仅getText在这里不起作用,因为fstring插值 在函数调用之前发生,但使用getText工具收集 翻译键产生:
File “/usr/lib/python3.6/site-packages/babel/messages/extract.py”,
line 480, in extract_python value = eval(code, {‘__builtins__’: {}}, {})
File “<string>”, line 2, in <module> NameError: name ‘context_variable’ is not defined
- 类似的情况是
- (值为%s)
- 和
- “{}”。格式(值))
不会触发收集错误, 但是仍然会导致gettext函数调用中的键名不正确。
Flake8扩展为上述情况提供了基本检查。
安装
使用pip安装:
$ pip install flake8-i18n
配置
在.flake8文件中添加以下内容
- i18nfuncs =
- gettext ngettext myfunny_gettext _
- 否则,默认函数名列表为
- 获取文本 恩盖特文本 _
在gettext中使用字符串插值现在将导致以下结果之一:
I001 fstring is resolved before function call
I002 format is resolved before function call
I003 printf is resolved before function call
要求
- Python3.6,3.7
- 薄片8
许可证
GNU通用公共许可证v2(GPLV2)
更改日志
0.1.0(2019-03-02)
- 基本实现