Connectors (early access)¶
Warning
Early access. The connector packages are in development and not on PyPI yet. Names, settings and behaviour may still change before the first stable release. To take part, write to hello@ponyglot.app.
Connectors are open-source Django apps that you install on your website. They find the translatable content, send it to Ponyglot, and write translations back as drafts or suggestions. Everything they do goes through the public API v1, so you can also write your own (see Connect a site through the API).
Packages¶
Package |
For |
|---|---|
|
The core, for Django 5.2+: API client, sync, the suggestion review and translation dialogs in the admin, the translation dashboard. Includes the adapters for django-parler ( |
|
django CMS 5 with djangocms-versioning: any frontend-editable content (pages, posts, your own models), plugin fields read from each plugin’s form (djangocms-frontend included), drafts per language, and a translations dialog in the toolbar. Depends on |
|
Wagtail (planned): drafts as revisions through wagtail-localize. |
Configuration¶
The dashboard’s Getting started shows these steps tailored to your site (see Connect your Django site):
INSTALLED_APPS += [
"ponyglot",
"djangocms_ponyglot", # django CMS
"ponyglot.contrib.parler", # or "ponyglot.contrib.modeltranslation"
]
PONYGLOT = {
"API_KEY": env("PONYGLOT_API_KEY"),
"SOURCE_LANGUAGE": "en",
}
Then, on your site:
$ python manage.py migrate
$ python manage.py ponyglot check # settings and connection
$ python manage.py ponyglot backfill # first sync of your existing content
$ python manage.py ponyglot sync # every few minutes, or --loop 60 as a worker
ponyglot sync sends what changed, reports editors’ decisions and fetches finished
translations. ponyglot status shows the state per language, ponyglot translate requests
translation from the command line.
Working with them¶
Translate in django CMS: the toolbar dialog, drafts and publishing.
Translate models in the admin: suggestions, the admin dialogs and the translation dashboard for parler and modeltranslation models.
Each package’s README lists all settings, for example which content types and plugin fields are translated, exclusions, and emails to editors.