The Export API offers more than just JSON responses. You can output your translations to a wealth of file types and language pack formats.
For help with specific translation file formats, see the general help section for your platform.
File extensions
The following language pack formats can be exported by specifying the relevant file extension:
.pot.po.mo— Gettext PO, POT and binary MO.xlf.xliff— Localization Interchange File Format.tmx— Translation Memory eXchange.tbx— TBX TermBase eXchange.csv— Comma separated values.tsv— Tab separated values.html— Simple HTML table.strings.xcstrings— iOS/Xcode Localizable strings.stringsdict— iOS/Xcode plural rules.plist.bplist— Apple property list XML and binary formats.properties— Java properties file.ts— An XML format for Qt Framework.res.txt— ICU Resource Bundles (binary and source).resx— ResX for .NET framework
The following extensions are used for multiple formats, but have a default:
.json— Defaults to simple JSON structure, see alternative JSON formats.xml— Defaults to Android string resources, see alternative XML formats.yml— Defaults to Symfony-style flat structure, see alternative YAML formats.php— Defaults to Zend-style array, see alternative PHP formats
Alternative styles
The format parameter can be used to export a more specific style of some of the formats above.
JSON formats
In addition to the default JSON format, you can specify ARB, Chrome, Jed and i18next language pack formats as follows:
/api/export/locale/{locale}.arb
/api/export/locale/{locale}.json?format=jed
/api/export/locale/{locale}.json?format=chrome
/api/export/locale/{locale}.json?format=i18next4
Legacy i18next versions are also supported: use format=i18next3 for v3 plurals or format=i18next for older output.
The multi format is a multi-language version of the default (generic) JSON output. Compare the following:
/api/export/all.json
/api/export/locale/{locale}.json
Note that ?format=multi is implied for export/all, but needs specifying when importing.
YAML formats
Several YAML formats are available — Simple (default), Symfony and Rails. The default format is flat, and only exports a single locale.
The Rails format is specifically for Ruby on Rails and follows the conventions of the i18n module. It supports multiple locales in the same file, and you can also specify a top level namespace key.
/api/export/locale/{locale}.yml?format=symfony
/api/export/locale/{locale}.yml?format=rails
/api/export/locale/{locale}.yml?format=rails&yaml-prefix=app
XML formats
The default for the .xml extension is Android format. Specify java to produce Java properties XML and tizen to produce Tizen formatted XML.
/api/export/locale/{locale}.xml?format=java
/api/export/locale/{locale}.xml?format=tizen
Other XML formats have their own specific file extensions, such as .tmx .xlf .resx .plist .ts
XLIFF formats
The default for .xlf and .xliff is XLIFF 1.2. Use format=xlf2 for XLIFF 2.0, format=symfony for Symfony-flavoured XLIFF, or format=angular for Angular i18n XLIFF.
/api/export/locale/{locale}.xlf?format=xlf2
/api/export/locale/{locale}.xlf?format=symfony
/api/export/locale/{locale}.xlf?format=angular
iOS/Xcode localization files
In addition to the strings, xcstrings and stringsdict extensions, you can export an Xcode-specific XLIFF file suitable for Xcode's "Import Localizations" feature:
/api/export/locale/{locale}.xliff?format=xcode
PHP language packs
The default PHP format is Zend (for legacy reasons) and is a simple array. Specify Symfony or CodeIgniter or output simple constant or ini definitions.
/api/export/locale/{locale}.phps?format=symfony
/api/export/locale/{locale}.phps?format=codeigniter
/api/export/locale/{locale}.phps?format=constants
/api/export/locale/{locale}.ini
Note that the .phps extension is used to indicate source code output, but you can use .php if you prefer.
See also
- Export API reference — all export endpoints
- Exporting translations — full list of export options
- Import formats — supported formats for the Import API