Manual
CLI
API
Log in Get started free

File formats

The formats that can be imported and exported in the web app, and which ones the CLI supports.

The web app imports and exports these formats. See Import and export files for how.

FormatExtensionsLanguages per fileUsed by
JSON.jsonOneWeb and mobile apps, most JavaScript i18n libraries
YAML.yml, .yamlOneRuby on Rails and others
XLIFF.xlf, .xliffOneTranslation tools, Angular
Gettext.po, .potOnePHP, Python, many others
Android strings.xmlOneAndroid
iOS strings.stringsOneiOS and macOS
Apple String Catalog.xcstringsSeveralXcode
Java properties.propertiesOneJava
Flutter ARB.arbOneFlutter
CSV.csvSeveralSpreadsheets
TSV.tsvSeveralSpreadsheets
Excel.xlsxSeveralSpreadsheets

Good to know #

  • One language per file: on export you get one file per language, delivered as a zip when you pick several. On import, the language comes from the file when it says so, and otherwise from the file name (messages.nl.po, pt_BR.json). You can always change it before importing.
  • Several languages per file: spreadsheets have a key column and one column per language code. An Apple String Catalog holds all languages and the source language itself.
  • Source texts in the file: XLIFF, Gettext and Apple String Catalog carry the source text next to the translation. The import offers to use them as source strings.
  • Nested files: nested JSON and YAML become keys with dots (checkout.title) and are nested again on export. Entries that are not text, such as numbers and lists, are skipped and reported.
  • Language codes: pt_BR, pt-br and pt-BR all mean the same language.
  • Plurals: An ICU message such as {count, plural, one {# item} other {# items}} is a plain text value to every format and is imported and exported as written. Gettext plural forms are converted to an ICU plural on import. See ICU messages and placeholders.

CLI formats #

The CLI reads and writes the formats with one language per file: JSON, YAML, XLIFF, Gettext, Android strings, iOS strings, Java properties and Flutter ARB. Spreadsheets and Apple String Catalogs are handled in the web app.