Which translation file formats are supported?+
Nested and flat JSON (i18next, vue-i18n, next-intl), YAML (Rails, Symfony), gettext PO, XLIFF 1.2 and 2.0 input, .NET RESX, Android strings.xml, iOS .strings, Java .properties, Flutter ARB, and two-column CSV.
How are nested keys converted to flat formats?+
Nested keys are joined with dots, so {"nav": {"home": "Home"}} becomes nav.home. Converting back to nested JSON or YAML restores the structure.
How do I convert JSON to a PO file?+
Choose JSON as the input and Gettext PO as the output. Each key becomes a msgid and each value a msgstr. A gettext msgctxt is kept when you convert a PO file to another format and back.
What happens to Android plurals and string arrays?+
Plurals become keys such as files.one and files.other, and string arrays become items.0, items.1. Converting those keys back to Android rebuilds the <plurals> and <string-array> elements.
Which XLIFF value is used?+
The target text when it exists, otherwise the source text. XLIFF output contains your values as source text, ready to send to a translator or a CAT tool.
Is my file uploaded?+
No. Parsing and conversion run entirely in your browser, so the file never leaves your computer.