Skip to content

mick88/poeditor-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c840fa7 · Jan 16, 2025
Mar 23, 2024
Aug 31, 2021
Jan 10, 2025
Jul 11, 2021
Aug 31, 2021
Jul 10, 2021
Mar 23, 2024
Jan 10, 2025
Jul 10, 2021
Jan 10, 2025
Jan 10, 2025

Repository files navigation

POEditor sync

Tests poeditor-sync

A commandline tool for synchronizing your project's translation with POEditor.

The script uses Click library to wrap POEditor API client into a commandline tool that can be used manually or inside shell scripts.

Installation

pip install poeditor-sync

Usage

Configuration

Create a config file poeditor.yml to link your project with a POEditor project and define paths to translation files. Multiple projects are supported.

api_token: ABC123...
projects:
  - id: 12345
    format: po
    # set it to terms to order results by 'terms' alphabetically.
    order: terms
    # generic path to translation file
    terms_path: locale/{language_code}/LC_MESSAGES/django.po
    # alternatively, specify per-language path
    terms:
      en: locale/en/LC_MESSAGES/django.po
      pl: locale/pl/LC_MESSAGES/django.po
  - id: 54321
    format: po
    terms_path: locale/{language_code}/LC_MESSAGES/djangojs.po
    terms:
      en: locale/en/LC_MESSAGES/djangojs.po
      pl: locale/pl/LC_MESSAGES/djangojs.po

If you're planning to commit the config file into your repository or share it with someone, it is recommend that the API token in your config file be a read-only token. You can use a separate token for uploads and pass it using --token option or POEDITOR_TOKEN environment variable.

Commands:

# View usage instructions
poeditor --help
# generate config file
poeditor init {project-id}
# List projects and their translation languages
poeditor project-details
# download translations
poeditor pull
# Upload local translations to poeditor
poeditur push
# Upload only one language and user a different API token:
poeditur --language pl --token=123ABCD push
# Upload only terms (after adding new strings to the project)
poeditor push-terms --sync-terms --overwrite

Options

Option environment variable default value description
--token POEDITOR_TOKEN api_token from config file Authentication token for POEditor. Overrides value from config file.
--config-file POEDITOR_CONFIG_FILE poeditor.yml Path to the project config file in yaml format
--language POEDITOR_LANGUAGE Operate only on this language