跳转到主要内容

基于Git的翻译服务集成Wagtail Localize

项目描述

wagtail-localize-git

Version License black pre-commit

此插件通过git仓库中的PO文件实现Wagtail内容的翻译。

它通过将源内容提交到仓库并轮询更新来实现。当PO文件被翻译时,这将自动在Wagtail中创建翻译后的页面。

这对于您使用外部翻译工具翻译Wagtail内容非常有用。目前,此插件支持Mozilla的Pontoon,但欢迎其他翻译工具的PR!

安装

此插件需要Wagtail >= 5.2,且已启用国际化Wagtail Localize

安装wagtail-localizewagtail-localize-git,然后将其添加到您的INSTALLED_APPS

# settings.py

INSTALLED_APPS = [
    # ...
    "wagtail_localize",
    "wagtail_localize.locales",  # Replaces 'wagtail.locales'
    "wagtail_localize_git",
    # ...
]

然后设置以下设置

WAGTAILLOCALIZE_GIT_URL - 这是wagtail-localize-git将推送到并从其中获取翻译的空git仓库的URL。WAGTAILLOCALIZE_GIT_CLONE_DIR - git仓库将被检出到的本地目录。

默认情况下,wagtail-localize-git将尝试检出并使用main分支。要更改此设置,将WAGTAILLOCALIZE_GIT_DEFAULT_BRANCH设置为您的仓库的默认分支(例如,master

同步

配置完成后,您可以使用sync_git管理命令来推送/拉取更改。应将此管理命令设置在服务器的crontab中,以便经常运行(最好是每10分钟一次)。

工作原理

此插件使用wagtail-localize将页面转换为段,并从翻译的段中构建新页面。wagtail-localize提供Web界面,用于在Wagtail本身中翻译这些段,此插件与该界面配合良好(翻译也可以从Wagtail端进行)。

当页面/片段从默认区域设置提交以进行翻译时,它们会被提交到git仓库。目前不支持在其他区域设置中编写的页面。

贡献

欢迎所有贡献!

安装

要对此项目进行更改,首先克隆此仓库

git clone git@github.com:wagtail/wagtail-localize-git.git
cd wagtail-localize-git

使用您首选的虚拟环境激活后,安装测试依赖项

pip install -e .[testing] -U

pre-commit

请注意,此项目使用pre-commit。要本地设置

# if you don't have it yet, globally
$ pip install pre-commit
# go to the project directory
$ cd wagtail-localize-git
# initialize pre-commit
$ pre-commit install

# Optional, run all checks once for this, then the checks will run only on the changed files
$ pre-commit run --all-files

如何运行测试

现在您可以按照以下方式运行测试

tox

或者,您可以针对特定环境运行它们 tox -e py3.11-django4.2-wagtail5.2 或特定测试 tox -e py3.11-django4.2-wagtail5.2-sqlite -- tests.test_git.TestRepository

要交互式运行测试应用,使用 tox -e interactive,访问 http://127.0.0.1:8020/admin/ 并使用 admin/changeme 登录。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源代码分发

wagtail_localize_git-0.14.1.tar.gz (14.3 kB 查看哈希值)

上传时间

构建分发

wagtail_localize_git-0.14.1-py3-none-any.whl (16.2 kB 查看哈希值)

上传时间: Python 3

支持者