警告不正确的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)

  • 基本实现

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java ScheduleExpression:调度器只在第一个小时工作,为什么?   从Java代码转换时出现Kotlin错误   安卓上条件语句中的java布尔值?   java Wildfly:服务器重新启动后授权失败   java如何从hibernate自动ddl中排除模式   元音的java正则表达式负前瞻   线程中的java异常。我不能执行这个程序   java避免在线程处于特定块中时对静态对象进行全局修改   java布尔方法的行为不符合预期,当预期为true时返回false   java如何删除具有相同对象名的JavaFx标签   安卓W/System。犯错误﹕ JAVA木卫一。FileNotFoundException:访问存储在资产文件夹中的数据库时   gradle中的java条件依赖   Java中的资源、URI、URL、路径和文件有什么区别?   java电子学习平台技术、设计和体系结构