{"id":13531604,"url":"https://github.com/wagtail/wagtail-localize","last_synced_at":"2025-04-01T19:32:29.889Z","repository":{"id":36652560,"uuid":"179706908","full_name":"wagtail/wagtail-localize","owner":"wagtail","description":"Translation plugin for Wagtail CMS","archived":false,"fork":false,"pushed_at":"2025-03-25T21:30:52.000Z","size":5951,"stargazers_count":231,"open_issues_count":136,"forks_count":91,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-25T22:29:55.500Z","etag":null,"topics":["internationalisation","wagtail","wagtail-package","wagtail-plugin"],"latest_commit_sha":null,"homepage":"https://wagtail-localize.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wagtail.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-05T15:21:14.000Z","updated_at":"2025-03-25T21:30:57.000Z","dependencies_parsed_at":"2024-03-18T19:27:57.599Z","dependency_job_id":"2ca7a47f-03e7-4768-a056-2fe6c2b68a5d","html_url":"https://github.com/wagtail/wagtail-localize","commit_stats":{"total_commits":909,"total_committers":56,"mean_commits":"16.232142857142858","dds":0.55005500550055,"last_synced_commit":"7d9fc0329a4c67b6b7f8f0f42050a325a286dbf7"},"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail%2Fwagtail-localize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail%2Fwagtail-localize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail%2Fwagtail-localize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wagtail%2Fwagtail-localize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wagtail","download_url":"https://codeload.github.com/wagtail/wagtail-localize/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246700708,"owners_count":20819923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["internationalisation","wagtail","wagtail-package","wagtail-plugin"],"created_at":"2024-08-01T07:01:04.290Z","updated_at":"2025-04-01T19:32:24.873Z","avatar_url":"https://github.com/wagtail.png","language":"Python","funding_links":[],"categories":["Python","Apps"],"sub_categories":["Translations"],"readme":"# Wagtail localize\n\n\u003c!--content-start--\u003e\n\n[![Version](https://img.shields.io/pypi/v/wagtail-localize.svg?style=flat)](https://pypi.python.org/pypi/wagtail-localize/)\n[![License](https://img.shields.io/badge/license-BSD-blue.svg?style=flat)](https://opensource.org/licenses/BSD-3-Clause)\n[![codecov](https://img.shields.io/codecov/c/github/wagtail/wagtail-localize?style=flat)](https://codecov.io/gh/wagtail/wagtail-localize)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/wagtail/wagtail-localize/main.svg)](https://results.pre-commit.ci/latest/github/wagtail/wagtail-localize/main)\n\nWagtail Localize is a translation plugin for the [Wagtail CMS](https://wagtail.org). It allows pages or snippets to be translated within Wagtail's admin interface. It also provides integrations with external translations services such as [Pontoon](https://pontoon.mozilla.org/) or [DeepL](https://www.deepl.com/), and importing/exporting translations with PO files.\n\n[Documentation](https://wagtail-localize.org)\n[Changelog](https://github.com/wagtail/wagtail-localize/blob/main/CHANGELOG.md)\n\n## Join the Community at Wagtail Space!\n\nWe'll be at Wagtail Space US this year! The Call for Participation and Registration for both Wagtail Space 2024 events is open. We would love to have you give a talk, or just us as an attendee in June.\n\n- [Wagtail Space NL](https://nl.wagtail.space/), Arnhem, The Netherlands. 2024-06-14\n- [Wagtail Space US](https://us.wagtail.space/), Philadelphia, PA. 2024-06-20 to 2024-06-22\n\n## Requirements\n\nWagtail Localize requires the following:\n\n- Python (3.9, 3.10, 3.11)\n- Django (4.2, 5.0, 5.1)\n- Wagtail (5.2, 6.1) with [internationalisation enabled](https://docs.wagtail.org/en/stable/advanced_topics/i18n.html#configuration)\n- [wagtail-modeladmin](https://pypi.org/project/wagtail-modeladmin/) if `using wagtail_localize.modeladmin` and Wagtail \u003e= 5.2\n\n## Installation\n\nInstall using `pip`:\n\n```shell\npip install wagtail-localize\n```\n\nAdd `wagtail_localize` and `wagtail_localize.locales` to your `INSTALLED_APPS` setting:\n\n```python\nINSTALLED_APPS = [\n    # ...\n    \"wagtail_localize\",\n    \"wagtail_localize.locales\",  # This replaces \"wagtail.locales\"\n    # ...\n]\n```\n\n`wagtail-localize` loads additional assets for the editing interface. Run the `collectstatic` management command to collect all the required assets.\n\n```shell\npython manage.py collectstatic\n```\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\ncd wagtail-localize\n```\n\nWith your preferred virtualenv activated, install testing dependencies:\n\n#### Using pip\n\n```sh\npip install \"pip\u003e=21.3\"\npip install -e '.[testing]' -U\n```\n\n#### Using flit\n\n```sh\npip install \"flit\u003e=3.8.0\"\nflit install\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# go to the project directory\n$ cd wagtail-localize\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 python3.11-django4.2-wagtail5.2` or specific test\n`tox -e python3.11-django4.2-wagtail5.2-sqlite -- wagtail_localize.tests.test_edit_translation.TestGetEditTranslationView`\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## Support\n\nFor support, please use [GitHub Discussions](https://github.com/wagtail/wagtail-localize/discussions) or ask a question on the `#multi-language` channel on [Wagtail's Slack instance](https://wagtail.org/slack/).\n\n## Thanks\n\nMany thanks to all of our supporters, contributors, and early adopters who helped with the initial release. In particular, to The Mozilla Foundation and Torchbox who sponsored the majority of the initial development and Wagtail core's internationalisation support.\n\n\u003c!--content-end--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwagtail%2Fwagtail-localize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwagtail%2Fwagtail-localize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwagtail%2Fwagtail-localize/lists"}