We work on extending the list of formats supported. If you need a format and can't find it here send us an email.
Will import / export in JSON format nesting keys separated by .
:
{"appName": "locize.com - localization as a service","label": {"cancel": "cancel","save": "save"}}
Will import / export in JSON format flat ignoring .
separation:
{"appName": "locize.com - localization as a service","label.cancel": "cancel","label.save": "save"}
Exports reference language and target language in one file. This format is also supported for imports and is an option to send translations to freelancers not supporting xliff or other formats.
For optimal import reuse the previously exported files including added translations.
"key","de","en""appName","locize.com - Lokalisierung als Service","locize.com - localization as a service""label.cancel","abbrechen","cancel""label.save","speichern","save"
Yaml is a alternative format to json.
appName: locize.com - localization as a servicelabel.cancel: cancellabel.save: save
Well known translation exchange format.
<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"><file original="formats" datatype="plaintext" source-language="de" target-language="en"><body><trans-unit id="appName"><source>locize.com - Lokalisierung als Service</source><target>locize.com - localization as a service</target></trans-unit><trans-unit id="label.cancel"><source>abbrechen</source><target>cancel</target></trans-unit><trans-unit id="label.save"><source>speichern</source><target>save</target></trans-unit></body></file></xliff>
Well known translation exchange format. Used format on iOS.
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="de" trgLang="en"><file id="formats"><unit id="appName"><segment><source>locize.com - Lokalisierung als Service</source><target>locize.com - localization as a service</target></segment></unit><unit id="label.cancel"><segment><source>abbrechen</source><target>cancel</target></segment></unit><unit id="label.save"><segment><source>speichern</source><target>save</target></segment></unit></file></xliff>
Format used on Android.
<resources><string name="appName">locize.com - localization as a service</string><string name="label.cancel">cancel</string><string name="label.save">save</string></resources>
Format used for example for OS X and iOS.
"appName" = "locize.com - localization as a service";โ"label.cancel" = "cancel";โ"label.save" = "save";
Gettext standard format.
msgid ""msgstr """Project-Id-Version: locize: My project - translations\n""MIME-Version: 1.0\n""Content-Type: text/plain; charset=utf-8\n""Content-Transfer-Encoding: 8bit\n""Plural-Forms: nplurals=2; plural=(n != 1)\n""POT-Creation-Date: 2017-07-14T22:26:46.631Z\n""PO-Revision-Date: 2017-07-14T22:26:46.631Z\n""Language: it\n"โmsgid "title"msgstr "La soluzione migliore per il miglior cliente!"โmsgid "description"msgstr """S est Lorem ipsum dolor sit amet. Il cammino รจ morto, a duo dolores ed a ""rebum. Stet clita kasd gubergren, senza mare incontro sanctus est Lorem ""ipsum dolor sit amet."
Used mostly as translation memory file.
<tmx version="1.4b"><header creationtool="tmexchange" creationtoolversion="1.0.1" adminlang="en" datatype="PlainText" segtype="sentence" o-tmf="ABCTransMem" srclang="en"/><body><tu tuid="appName"><prop type="group">my-namespace</prop><tuv xml:lang="en"><seg>locize.com - localization as a service</seg></tuv><tuv xml:lang="de"><seg>locize.com - Lokalisierung als Dienstleistung</seg></tuv></tu><tu tuid="label.cancel"><prop type="group">my-namespace</prop><tuv xml:lang="en"><seg>cancel</seg></tuv><tuv xml:lang="de"><seg>Abbrechen</seg></tuv></tu><tu tuid="label.save"><prop type="group">my-namespace</prop><tuv xml:lang="en"><seg>save</seg></tuv><tuv xml:lang="de"><seg>Speichern</seg></tuv></tu></body></tmx>
Localization files used in .net framework
<?xml version="1.0" encoding="utf-8"?><root><!--Microsoft ResX SchemaโVersion 2.0โThe primary goals of this format is to allow a simple XML formatthat is mostly human readable. The generation and parsing of thevarious data types are done through the TypeConverter classesassociated with the data types.โExample:โ... ado.net/XML headers & schema ...<resheader name="resmimetype">text/microsoft-resx</resheader><resheader name="version">2.0</resheader><resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader><resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader><data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data><data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data><data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"><value>[base64 mime encoded serialized .NET Framework object]</value></data><data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"><value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value><comment>This is a comment</comment></data>โThere are any number of "resheader" rows that contain simplename/value pairs.โEach data row contains a name, and value. The row also contains atype or mimetype. Type corresponds to a .NET class that supporttext/value conversion through the TypeConverter architecture.Classes that don't support this are serialized and stored with themimetype set.โThe mimetype is used for serialized objects, and tells theResXResourceReader how to depersist the object. This is currently notextensible. For a given mimetype the value must be set accordingly:โNote - application/x-microsoft.net.object.binary.base64 is the formatthat the ResXResourceWriter will generate, however the reader canread any of the formats listed below.โmimetype: application/x-microsoft.net.object.binary.base64value : The object must be serialized with: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter: and then encoded with base64 encoding.โmimetype: application/x-microsoft.net.object.soap.base64value : The object must be serialized with: System.Runtime.Serialization.Formatters.Soap.SoapFormatter: and then encoded with base64 encoding.โmimetype: application/x-microsoft.net.object.bytearray.base64value : The object must be serialized into a byte array: using a System.ComponentModel.TypeConverter: and then encoded with base64 encoding.--><xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"><xsd:import namespace="http://www.w3.org/XML/1998/namespace"/><xsd:element name="root" msdata:IsDataSet="true"><xsd:complexType><xsd:choice maxOccurs="unbounded"><xsd:element name="metadata"><xsd:complexType><xsd:sequence><xsd:element name="value" type="xsd:string" minOccurs="0"/></xsd:sequence><xsd:attribute name="name" use="required" type="xsd:string"/><xsd:attribute name="type" type="xsd:string"/><xsd:attribute name="mimetype" type="xsd:string"/><xsd:attribute ref="xml:space"/></xsd:complexType></xsd:element><xsd:element name="assembly"><xsd:complexType><xsd:attribute name="alias" type="xsd:string"/><xsd:attribute name="name" type="xsd:string"/></xsd:complexType></xsd:element><xsd:element name="data"><xsd:complexType><xsd:sequence><xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/><xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/></xsd:sequence><xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/><xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/><xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/><xsd:attribute ref="xml:space"/></xsd:complexType></xsd:element><xsd:element name="resheader"><xsd:complexType><xsd:sequence><xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/></xsd:sequence><xsd:attribute name="name" type="xsd:string" use="required"/></xsd:complexType></xsd:element></xsd:choice></xsd:complexType></xsd:element></xsd:schema><resheader name="resmimetype"><value>text/microsoft-resx</value></resheader><resheader name="version"><value>2.0</value></resheader><resheader name="reader"><value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader><resheader name="writer"><value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader><data name="action.add" xml:space="preserve"><value>Add</value></data><data name="action.addDemoProject" xml:space="preserve"><value>Create a demo project</value></data><data name="action.addNewLanguage" xml:space="preserve"><value>Add new language</value></data></root>
โ
Mozilla's translation format https://projectfluent.org/โ
emails ={ $unreadEmails ->[one] You have one unread email.*[other] You have { $unreadEmails } unread emails.}โ-brand-name ={*[nominative] Firefox[accusative] Firefoxa}โ-another-term = another termโapp-title = { -brand-name }โrestart-app = Zrestartuj { -brand-name[accusative] }.โ# Note: { $title } is a placeholder for the title of the web page# captured in the screenshot. The default, for pages without titles, is# creating-page-title-default.login = Predefined value.placeholder = example@email.com.aria-label = Login input value.title = Type your login emailโlogout = Logout
โ
PHP Laravel's translation format https://laravel.com/docs/localizationโ
<?phpreturn ['key1' => 'Hello! Let\'s go!','key2' => 'An application to manipulate and process laravel php language files','key' => ['nested' => 'laravel Data Manager']];
โ
(Java) .properties files https://en.wikipedia.org/wiki/.propertiesโ
key1 = Hello! Let\'s go!key2 = An application to manipulate and process .properties language fileskey.nested = .properties Data Manager
โ