Documentation
Integration
Language file converter
The Language File Converter is a free tool that converts a linguistic file from one format into another. An Apple .strings file can become an Android .xml file, a Gettext .po file can become JSON, a .resx file can become YAML, and so on.
It is a standalone tool: it does not touch your projects, and it needs no account. Point your browser at converter.webtranslateit.com, upload a file, choose the format you want out of it, and download the result.
It is the right tool for a one-off migration — moving a legacy file into the format your new platform expects, or producing a copy of a file for a team that works in a different toolchain. For an ongoing need, don’t convert files by hand: put them in a WebTranslateIt project and let the File Manager hold the same content in as many formats as you need.
Limits
Uploads are limited to 12 MB. Files above that need to be split, or handled in a project instead.
Conversion is a format translation, not a semantic one. Where the source format supports something the target format has no equivalent for — plural forms, comments, nested structures — that information cannot survive the round trip. Check the output before you ship it.
Converting over HTTP
The converter is also reachable programmatically, which is useful in a build script or a migration job. Two endpoints do the same work, differing only in how you hand over the file.
Neither endpoint requires authentication.
From a URL
GET https://converter.webtranslateit.com/convert [GET]
| Parameter | Required | Description |
|---|---|---|
convert_to |
yes | The format to convert to. See the table below. |
file_url |
— | A publicly reachable URL to fetch the source file from. |
file |
— | The source file, as an upload, if you are not using file_url. |
encoding |
no | Character encoding of the source file. Detected automatically when omitted. |
Supply either file_url or file.
curl -o strings.xml \
"https://converter.webtranslateit.com/convert?convert_to=AndroidXml2&file_url=https://example.com/en.strings"
By uploading a file
POST https://converter.webtranslateit.com/converter [POST]
| Parameter | Required | Description |
|---|---|---|
convert_to |
yes | The format to convert to. |
file |
yes | The source file, as a multipart upload. |
encoding |
no | Character encoding of the source file. |
curl -o Localizable.strings \
-F convert_to=Strings \
-F file=@values/strings.xml \
https://converter.webtranslateit.com/converter
Responses
On success, both endpoints return the converted file as a download. The filename is your original filename with the extension swapped for the target format’s.
You do not tell the converter what format the input is — that is detected from the file itself.
If convert_to is not a format the converter knows, it responds 404 Not Found with a JSON body:
{
"error": "Converter Foo doesn’t exist",
"request": "https://converter.webtranslateit.com/convert?convert_to=Foo"
}
Available Formats
Use the value in the first column as convert_to.
convert_to |
Format | Output extension |
|---|---|---|
AndroidXml1 |
Android .xml v1 | .xml |
AndroidXml2 |
Android .xml v2 | .xml |
Ass |
SubStation Alpha .ass/.ssa | .ass |
AzureAdXml |
Microsoft Azure AD B2C | .xml |
Csv |
Comma Separated Value (CSV) | .csv |
JavaXml |
Java .xml | .xml |
JqueryGlobHash |
jQuery-glob (as a hash) | .js |
JqueryGlobList |
jQuery-glob (as a list) | .js |
Json |
JSON | .json |
MicrodvdSub |
MicroDVD .sub | .sub |
Nsh |
Windows Installer .nsh | .nsh |
PhpArray |
PHP Array | .php |
PhpArrayList |
PHP ArrayList | .php |
PhpDefine |
PHP Define | .php |
PhpIni |
PHP .ini, PHP .conf | .ini |
PhpLaravel |
PHP Laravel | .php |
PlayMessages |
Play Framework Messages | — |
Po |
Gettext .po/.pot | .po |
Properties1 |
Java .properties, InnoSetup .isl | .properties |
Properties2 |
Java .properties v2, InnoSetup .isl | .properties |
Rc |
Microsoft Windows Resource File .rc | .rc |
Resx |
Microsoft .resx, .resw | .resx |
ResxPlural |
Microsoft .resx, .resw (with plurals) | .resx |
Sami |
SAMI Subtitles .smi | .smi |
Sbv |
YouTube Closed Caption .sbv | .sbv |
Srt |
SubRip subtitles .srt | .srt |
Strings |
Apple .strings | .strings |
Stringsdict |
Apple .stringsdict | .stringsdict |
SubviewerSub |
Subviewer .sub | .sub |
Tbx |
Term Base Exchange .tbx | .tbx |
Tmx |
Translation Memory Exchange .tmx | .tmx |
Ts |
Qt Linguist .ts | .ts |
Ttml |
TTML/DFXP Subtitles | .ttml |
Vtt |
WebVTT Subtitles .vtt | .vtt |
WixXml |
WiX (.NET installer) .wxl | .wxl |
XliffXml |
XLIFF | .xlf |
XliffXml2 |
XLIFF 2 | .xlf |
Xlsm |
Microsoft Excel .xlsm (macro-enabled) | .xlsm |
Xlsx |
Microsoft Excel .xlsx | .xlsx |
XtbXml |
XTB | .xtb |
Yml |
YAML | .yml |
Apple .strings output is encoded as UTF-16LE, as the format expects.
Each of these formats is described in more detail under Supported File Formats.
Next Up: API. This document describes the resources that make up the WebTranslateIt API… »