Export & Import

Translations need to travel: between staging and production, to an external translation agency, to a colleague’s computer for review, to backup storage. PerfLocale supports three formats covering every common use case - pick the one that fits the receiver.

Formats

  • XLIFF 1.2 - the industry-standard translation exchange format. Open in any CAT tool (SDL Trados, memoQ, Phrase, Crowdin, etc.) to hand off work to professional translators. Post content, titles, excerpts, + meta fields marked translatable are exported as <trans-unit> elements.
  • .po / .mo - classic gettext format. Best for exporting string translations (from PerfLocale → Strings) to edit in Poedit or Loco, or to ship as a language pack alongside a theme/plugin.
  • JSON - PerfLocale’s own format. Round-trips every plugin-specific field (translation link groups, workflow state, glossary, etc.) with no loss. Use for site-to-site migration or full backups.

Exporting via the admin UI

At Settings → Export & Import:

  1. Choose what to export (translations / strings / glossary / language definitions / all).
  2. Optionally filter by post type + language pair.
  3. Pick a format (XLIFF / PO-MO / JSON).
  4. Click Download. The file streams directly to your browser.

Importing via the admin UI

Same page, Import section. Upload a file in any of the supported formats. PerfLocale auto-detects the format from the content, validates it, shows a preview (X rows, Y new, Z updates), and asks for confirmation before writing. Imports are idempotent - re-importing the same file is a no-op on data that hasn’t changed.

WP-CLI (faster for large exports)

For sites with tens of thousands of translations, the CLI is dramatically faster than the UI (no HTTP timeout; streams directly to disk):

# Export
wp perflocale export --format=xliff --language=de --post_type=post > de-posts.xliff
wp perflocale export --format=po --scope=strings --domain=mytheme > mytheme-de.po
wp perflocale export --format=json --all > full-backup.json

# Import
wp perflocale import de-posts.xliff
wp perflocale import full-backup.json --dry-run

See WP-CLI Commands for the complete flag reference.

Translation-agency handoff pattern

Typical flow when hiring an external agency:

  1. Export the source post(s) as XLIFF with target language = German (source = your default).
  2. Agency opens the XLIFF in their CAT tool, fills in translations, returns the file.
  3. Import the returned XLIFF via UI or CLI. Status of each translation becomes Pending for your review.
  4. Approve / tweak in the editor, change status to Published.

What isn’t included in exports

  • Translation Memory rows - they’re a runtime cache; re-built as you translate.
  • API keys - secrets stay in the DB / wp-config.php; never exported.
  • Webhook subscriber URLs - site-specific infra.

← Back to Docs