• Selecting format and file structure of the downloaded data
  • Selecting keys/translations to download
  • Additional formatting options
  • Enabling download triggers
  • Including keys from other projects on file download

We do not keep file templates as such. Once a file is uploaded into Lokalise platform, translation keys are properly extracted by Lokalise into your project. A completely new file will be generated on project export.

In case your project has quality assurance problems, you will see a warning message. Click the QA issues link to see which problems were found. In the example below, it says that I have unreviewed translations and some grammar errors.

Most likely, you would want to resolve all the QA issues before proceeding, but this step can be skipped. Learn more about the QA issues

Selecting format and file structure of the downloaded data

In the Format dropdown, you may select which format the files will be exported in. We support 23 file formats. Please check the full list of supported file formats here.  If you would like to export keys for all platforms in the specified format, tick the Include all platform keys checkbox. 

You may choose which languages have to be included in the download bundle. By default, all languages are selected. Just uncheck the boxes next to the languages and select the desired locales. There you may also see the total translation progress for each language.
Also, it is possible to override language ISO codes. To do that, click the locale and enter a desired value. Learn more about the ISO codes and Language settings...

The next step is selecting the file structure. The All keys to a single file per language option means that all your translations will be separated by their language, and placed into a single file. Note that you may also modify the file structure and even provide a directory prefix using /.

  • LANG_ISO — is a placeholder that will be replaced with a specific language code
  • FORMAT — is a placeholder that will be replaced with the file’s actual format
  • LANG_NAME — is a placeholder that will be replaced with a language's name
  • PROJECT_NAME — is a placeholder that will be replaced with a project's name

Alternatively, you may choose the Use previously assigned filenames option. Select this option when your translation keys are separated into multiple files, and you would like to preserve this structure. Learn more about the Filenames...
In case you have keys that are not assigned to any file, unassigned keys will be exported to no_filename.

Selecting keys/translations to download

Include tags — text field allows you to filter the downloaded keys by their tags. For example, if I choose “demo”, only the keys under this tag will be exported.

Exclude tags — the field is used to enter tags that you wish to exclude. All keys under the chosen tags will not be downloaded.

Filter by filename — select needed files to download only the keys that are attributed to the selected files. If you leave this field empty, keys from all files, as well as unassigned keys, will be exported.

Empty translations — using this option, you may choose what to do with the keys that have no translation at all. The default action is to export and assign empty strings as translation values. You may also choose not to export these keys at all, or provide base language as a value.

Order keys by — select how to order your keys in the exported file.

Plural format dropdown — choose the output formatting for your plural keys. The available options may change depending on the file format that you have chosen.

Placeholder format — choose the output formatting of your placeholders. The available options may change depending on the file format that you have chosen.

Convert all [%] to %% — [%] is the Lokalise placeholder which will be exported as %%.

Indentation — is used to control how many spaces should be used to indent your nested keys. Usually, 2 spaces represent one level of indentation, but you may choose any value from one to eight. Also, it is possible to choose Tab, which means one indentation level equals to “Tab” key pressed once, but usually this is not recommended.

Webhooks — using this option you may control which webhook to fire once the export happens.  Webhooks are utilized to perform some action once the given process succeeds. Learn more how to Download files using webhooks...


Include comments — all key comments will be exported along with translation data. Note that this will only happen if the output format actually supports commenting.

Include description — will export keys descriptions if it is supported by the output format.

Don’t use directory prefix — checkbox will appear only if you have selected the Use previously assigned filenames option in the File structure section. If this option is unchecked, Lokalise will place translation files in folders named after a specific locale. Example: the French translations will be placed into the “fr” folder.

When this option is checked, Lokalise will strictly follow the directory structure specified in the File structure section. If you decide to check this option, don’t forget to provide the LANG_ISO placeholder in the filenames. If you don’t do this, your files with the same names will be overwritten.

Disable referencing — in case you enable this option, referenced translations will be exported as a reference ( [%Key_id:12345%] ) instead of the actual value. Learn more about the Key referencing...

Replace line break with \n — all line breaks in your translations will be replaced with special “\n” character, which means “start the text after this symbol from a new line”. Note that when the file is being imported to Lokalise, the reverse process may happen: all \n symbols can be replaced with line breaks.

Language code as the root key — the option that will appear when some file formats are selected, for instance YAML. If this setting is enabled, your translation keys will be nested under a key represented as a language code.

Unescape forward slashes — is the option that will appear when JSON formats is selected. If this setting is enabled, "/" will be skipped.

Add new line at EOF — Turn this option on to add new line at end of a file (supported formats: JSON, PHP).

Data to export:

All — the default value which allows you to export all keys.

Untranslated strings — download only the strings that are not translated.

Translated strings — download only the strings that have translation.

Reviewed only strings — download only the strings that were reviewed.

Last reviewed strings — download only the previously reviewed translations. For example, suppose I have a reviewed translation “Hello World”. Then someone has changed it to “Hello worlds”, and a new version has not been reviewed yet. In this case, the previously reviewed version of the translation will be exported.

Verified strings — download only the strings that were verified.

Non-hidden keys — download only the keys that were not hidden from contributors.


In this section, you may choose one or more platforms, where the chosen translation data should be exported to. Before any of these triggers can be chosen, you have to configure them properly inside Project Settings - Integration.

Include other project strings:

In the Include other project strings section you may choose other project keys to include in the download bundle. The duplicating keys, however, won’t be filtered. Also, only the translations for the languages chosen above will be downloaded. If a project does not have the chosen language, it will be effectively ignored.

When you have reviewed all the settings, you may build and download your files. Note that these download settings are saved per user. It means that other members of the team will have their own settings and won’t be affected by the changes you made on this page.

So, you’ll get an archive with all the chosen translation data. It is possible to perform build only, without downloading anything yet. After the build is complete, you may click the Preview button to see your data right in the browser. It is very helpful for testing and debugging.

Did this answer your question?