为 Weblate 模块作贡献

除了主仓库之外Weblate 还包含几个 Python 模块,所有这些都遵循相同的结构本文档涵盖了所有这些。

例如,这涵盖了:

代码编写准则

在为 Weblate 编写任何代码时都应该考虑到 通过设计保证安全原则

任何代码都应附带解释行为的文档。不要忘记记录方法、复杂的代码块或用户可见的功能。

任何新代码都应使用 PEP 484 类型提示。我们尚未在 CI 中检查此项,因为现有代码尚未包含它们。

Git commits should follow Conventional Commits specification.

运行测试

测试使用:program:`py.test`执行,首先你需要安装测试需求:

pip install -e '.[test,lint]'

然后您可以在仓库签出中执行测试套件:

py.test

参见

CI 集成与 Weblate 测试套件与持续集成 非常相似。

编码标准和代码检查

代码应该遵循 PEP-8 代码编写准则,并且应该使用 ruff 代码格式化程序进行代码格式化。

要检查代码质量,你可以使用 ruff,其配置存储在 pyproject.toml 中。

将所有这些强制的最简单的方法是安装 pre-commit。仓库为此包含了配置,来确定提交的文件是正常的。安装后(它已经包括在 pyproject.toml`中了)通过在 Weblate 的付款台运行 ``pre-commit install` 来将它打开。通过这种方法,所有更改都将被自动检查。

还能够手动触发检查,来检查所有文件的运行:

pre-commit run --all