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:
- Choose what to export (translations / strings / glossary / language definitions / all).
- Optionally filter by post type + language pair.
- Pick a format (XLIFF / PO-MO / JSON).
- 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:
- Export the source post(s) as XLIFF with target language = German (source = your default).
- Agency opens the XLIFF in their CAT tool, fills in translations, returns the file.
- Import the returned XLIFF via UI or CLI. Status of each translation becomes Pending for your review.
- 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.
Related
- WP-CLI Commands
- Migration - from WPML / Polylang / TranslatePress.
- Content Translation