wagtail-localize-git


Namewagtail-localize-git JSON
Version 0.15.0 PyPI version JSON
download
home_pageNone
SummaryWagtail Localize integration for Git-based translation services
upload_time2024-11-25 21:29:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords wagtail django content review
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # wagtail-localize-git

[![Version](https://img.shields.io/pypi/v/wagtail-localize-git.svg?style=flat)](https://pypi.python.org/pypi/wagtail-localize-git/)
[![License](https://img.shields.io/badge/license-BSD-blue.svg?style=flat)](https://opensource.org/licenses/BSD-3-Clause)
[![black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat)](https://github.com/psf/black)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat)](https://github.com/pre-commit/pre-commit)

This plugin enables translating Wagtail content using a PO files in a git repository.

It works by committing source content into the repository then polling it for updates. When the PO files are translated, this will automatically create translated pages in Wagtail.

This is useful for when you are using external translation tools for translating your Wagtail content. Currently, this plugin supports Mozilla's [Pontoon](https://pontoon.mozilla.org/), but PRs are welcome for other translation tools!

## Installation

This plugin requires Wagtail >= 5.2 with [internationalisation enabled](https://docs.wagtail.org/en/stable/advanced_topics/i18n.html#configuration) and [Wagtail Localize](https://github.com/wagtail/wagtail-localize).

Install both `wagtail-localize` and `wagtail-localize-git`, then add the following to your `INSTALLED_APPS`:

```python
# settings.py

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

Then set the following settings:

`WAGTAILLOCALIZE_GIT_URL` - This is a URL to an empty git repository that `wagtail-localize-git` will push source strings to and fetch translations from.
`WAGTAILLOCALIZE_GIT_CLONE_DIR` - The local directory where the git repository will be checked out.

By default, `wagtail-localize-git` will try to checkout and work with the `main` branch. To change that, set `WAGTAILLOCALIZE_GIT_DEFAULT_BRANCH`
to your repository's default branch (e.g. `master`)

## Synchronisation

Once this is configured, you can use the `sync_git` management command to push/pull changes. This management command should be set up in your server's crontab to run often (preferably, every 10 minutes).

## How it works

This plugin uses `wagtail-localize` to convert pages into segments and build new pages from translated segments. `wagtail-localize` provides a web interface for translating these segments in Wagtail itself and this plugin plays nicely with that (translations can be made from the Wagtail side too).

Pages/snippets are submitted to the git repo when they are submitted for translation from the default locale. Pages authored in other locales are not supported yet.

## Contributing

All contributions are welcome!

### Install

To make changes to this project, first clone this repository:

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

With your preferred virtualenv activated, install testing dependencies:

```sh
pip install -e .[testing] -U
```

### pre-commit

Note that this project uses [pre-commit](https://github.com/pre-commit/pre-commit). To set up locally:

```shell
# 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
```

### How to run tests

Now you can run tests as shown below:

```sh
tox
```

or, you can run them for a specific environment `tox -e py3.11-django4.2-wagtail5.2` or specific test
`tox -e py3.11-django4.2-wagtail5.2-sqlite -- tests.test_git.TestRepository`

To run the test app interactively, use `tox -e interactive`, visit `http://127.0.0.1:8020/admin/` and log in with `admin`/`changeme`.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "wagtail-localize-git",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Dan Braghis <dan.braghis@torchbox.com>",
    "keywords": "Wagtail, Django, content, review",
    "author": null,
    "author_email": "Karl Hobley <karl@torchbox.com>",
    "download_url": "https://files.pythonhosted.org/packages/8a/cf/32af4ceb6fd76017ce2b5950fcc84795fb5857c1f9411bc9968710cea63f/wagtail_localize_git-0.15.0.tar.gz",
    "platform": null,
    "description": "# wagtail-localize-git\n\n[![Version](https://img.shields.io/pypi/v/wagtail-localize-git.svg?style=flat)](https://pypi.python.org/pypi/wagtail-localize-git/)\n[![License](https://img.shields.io/badge/license-BSD-blue.svg?style=flat)](https://opensource.org/licenses/BSD-3-Clause)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat)](https://github.com/psf/black)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat)](https://github.com/pre-commit/pre-commit)\n\nThis plugin enables translating Wagtail content using a PO files in a git repository.\n\nIt works by committing source content into the repository then polling it for updates. When the PO files are translated, this will automatically create translated pages in Wagtail.\n\nThis is useful for when you are using external translation tools for translating your Wagtail content. Currently, this plugin supports Mozilla's [Pontoon](https://pontoon.mozilla.org/), but PRs are welcome for other translation tools!\n\n## Installation\n\nThis plugin requires Wagtail >= 5.2 with [internationalisation enabled](https://docs.wagtail.org/en/stable/advanced_topics/i18n.html#configuration) and [Wagtail Localize](https://github.com/wagtail/wagtail-localize).\n\nInstall both `wagtail-localize` and `wagtail-localize-git`, then add the following to your `INSTALLED_APPS`:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n    # ...\n    \"wagtail_localize\",\n    \"wagtail_localize.locales\",  # Replaces 'wagtail.locales'\n    \"wagtail_localize_git\",\n    # ...\n]\n```\n\nThen set the following settings:\n\n`WAGTAILLOCALIZE_GIT_URL` - This is a URL to an empty git repository that `wagtail-localize-git` will push source strings to and fetch translations from.\n`WAGTAILLOCALIZE_GIT_CLONE_DIR` - The local directory where the git repository will be checked out.\n\nBy default, `wagtail-localize-git` will try to checkout and work with the `main` branch. To change that, set `WAGTAILLOCALIZE_GIT_DEFAULT_BRANCH`\nto your repository's default branch (e.g. `master`)\n\n## Synchronisation\n\nOnce this is configured, you can use the `sync_git` management command to push/pull changes. This management command should be set up in your server's crontab to run often (preferably, every 10 minutes).\n\n## How it works\n\nThis plugin uses `wagtail-localize` to convert pages into segments and build new pages from translated segments. `wagtail-localize` provides a web interface for translating these segments in Wagtail itself and this plugin plays nicely with that (translations can be made from the Wagtail side too).\n\nPages/snippets are submitted to the git repo when they are submitted for translation from the default locale. Pages authored in other locales are not supported yet.\n\n## Contributing\n\nAll contributions are welcome!\n\n### Install\n\nTo make changes to this project, first clone this repository:\n\n```sh\ngit clone git@github.com:wagtail/wagtail-localize-git.git\ncd wagtail-localize-git\n```\n\nWith your preferred virtualenv activated, install testing dependencies:\n\n```sh\npip install -e .[testing] -U\n```\n\n### pre-commit\n\nNote that this project uses [pre-commit](https://github.com/pre-commit/pre-commit). To set up locally:\n\n```shell\n# if you don't have it yet, globally\n$ pip install pre-commit\n# go to the project directory\n$ cd wagtail-localize-git\n# initialize pre-commit\n$ pre-commit install\n\n# Optional, run all checks once for this, then the checks will run only on the changed files\n$ pre-commit run --all-files\n```\n\n### How to run tests\n\nNow you can run tests as shown below:\n\n```sh\ntox\n```\n\nor, you can run them for a specific environment `tox -e py3.11-django4.2-wagtail5.2` or specific test\n`tox -e py3.11-django4.2-wagtail5.2-sqlite -- tests.test_git.TestRepository`\n\nTo run the test app interactively, use `tox -e interactive`, visit `http://127.0.0.1:8020/admin/` and log in with `admin`/`changeme`.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Wagtail Localize integration for Git-based translation services",
    "version": "0.15.0",
    "project_urls": {
        "Changelog": "https://github.com/wagtail/wagtail-localize-git/blob/main/CHANGELOG.md",
        "Source": "https://github.com/wagtail/wagtail-localize-git"
    },
    "split_keywords": [
        "wagtail",
        " django",
        " content",
        " review"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de821b77d11235a248892420b3a1285e9085edc83915f0adbcbbb72ee7f08252",
                "md5": "f014ff0ca810d59b7c6a74ffc551368f",
                "sha256": "0c9ce2b70a2626ba0a7c9dba409950bab5ad4e999c0d397a14c8da57f6136305"
            },
            "downloads": -1,
            "filename": "wagtail_localize_git-0.15.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f014ff0ca810d59b7c6a74ffc551368f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 16352,
            "upload_time": "2024-11-25T21:29:30",
            "upload_time_iso_8601": "2024-11-25T21:29:30.186859Z",
            "url": "https://files.pythonhosted.org/packages/de/82/1b77d11235a248892420b3a1285e9085edc83915f0adbcbbb72ee7f08252/wagtail_localize_git-0.15.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8acf32af4ceb6fd76017ce2b5950fcc84795fb5857c1f9411bc9968710cea63f",
                "md5": "c974e26d1a1a33f568349afe4cdf83e8",
                "sha256": "73fbcebe7348899cb147e7f9542264f00f3eb63de0c98b4a284550365bd1a6cb"
            },
            "downloads": -1,
            "filename": "wagtail_localize_git-0.15.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c974e26d1a1a33f568349afe4cdf83e8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 14416,
            "upload_time": "2024-11-25T21:29:33",
            "upload_time_iso_8601": "2024-11-25T21:29:33.708351Z",
            "url": "https://files.pythonhosted.org/packages/8a/cf/32af4ceb6fd76017ce2b5950fcc84795fb5857c1f9411bc9968710cea63f/wagtail_localize_git-0.15.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-25 21:29:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wagtail",
    "github_project": "wagtail-localize-git",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "wagtail-localize-git"
}
        
Elapsed time: 1.77551s