Formats
Translation files that survive the round trip
locamorph reads and writes seven translation file formats: JSON,
YAML, Android strings.xml, iOS .strings, Flutter ARB, Java
properties and XLIFF. Import any of them, translate, and export files your toolchain
accepts without a cleanup pass.
Every implemented format ships with a round trip test: what locamorph exports parses back identically, and translator notes travel in both directions.
At a glance
Seven formats, one pipeline
Files enter through uploads, repo syncs, S3 or the CLI, and leave the same ways. The format decides what can be expressed; locamorph maps everything onto one model of keys, values, plurals and notes.
Guarantees
What holds across every format
Exports parse back identically
Each format's exporter is tested against its own parser. A file that leaves locamorph and comes back carries the same keys, values, plurals and notes.
Plural forms are never dropped
Plurals normalize to CLDR categories internally. Android plurals
blocks, ARB ICU messages and XLIFF groups convert without losing a form.
Content based detection
Imports identify the format from the content itself with confidence scoring, so
a YAML file named .txt or an ARB served as JSON still lands right.
Exports are also deterministic. Indentation, key order, nesting and plural style follow the project’s settings rather than whoever exported last, so the same keys always serialize to the same bytes and a translation diff stays down to the strings that changed.
Keep going
Where the files come from
Bring the files you already have
Drop a file on a free project and locamorph identifies the format, reads the plurals and keeps the notes. When you export, your toolchain gets exactly the shape it expects.