Projects

Import content

Upload your language files in the browser to bring source strings and existing translations into a project.

The browser upload is the quickest way to get strings into a project, and it works on every plan, including Free. You drop your language files on the project's Get started page, see what transglot detected, and nothing is written until you confirm.

Uploading needs the Developer role or above. For other ways in, see Other ways to bring strings in.

Upload your files

Open Get started

On a new project, select Add source strings → on the overview or Import source strings → in the editor. On a project that already has strings, open Releases, then Connect & SDK, and select Open the setup steps.

Add the files

Under Upload your language files, drag your files onto Drag your files here, or select Choose files. You can upload several files at once, or a zip of your locales folder. Include the source-language file: only it can create keys.

Check what was detected

transglot reads the files without writing anything and lists each one with its language, its format and how many strings it holds.

  • If a file's language could not be worked out, the row reads "Choose the language for this file." Pick it under Language for file name.
  • If a format was guessed wrong, or reads "Unrecognised format.", pick the right one from the format list on the row. Detect goes back to automatic detection.
  • If the files bring languages the project does not have yet, a line says which "will be added to this project."

Choose different files starts again.

Import

Select Import. It stays unavailable while a file still needs its language, or when no file is ready.

What is written

  • The source-language file creates keys that do not exist yet and sets the source text of keys that do. The file wins: changed source text replaces what was there, and translations made from the old text are marked stale.
  • Target-language files write translations for keys that already exist, as edited. They never overwrite a translation that a person has edited or approved; that entry is skipped and reported. Keys that are only in a target file, and not in the source, are not created.
  • Descriptions and plural forms come across where the format carries them. See Plural forms.
  • Nothing is deleted. An upload adds and updates; keys missing from your files stay in the project.

Files are processed source first, whatever order you upload them in, so translations always land on keys that exist.

After the upload

Small uploads finish while you wait. Larger ones run in the background with a progress bar, Importing your files, which "keeps running if you close this window or leave the page". You can cancel a running import; cancelling does not undo what has already been written.

The first time strings arrive in a project, Get started asks whether to translate them now, and whether to keep translating new text automatically. After that, new and changed source text is translated as it arrives while Auto-translate is on. See Translate with AI.

Uploading the same files again is safe: identical values are recognised and left alone.

If something was not imported

When some files could not be imported, the panel says "N files were not imported." and gives the reason for each:

MessageWhat to do
"None of these keys exist yet. Import your source language first."Upload the source-language file, then the translations.
"This language is outside your project grant."Your access is limited to other languages. Ask an Admin, or upload only your languages.
"Languages will not be added: your plan has no room for more languages in this project. Everything else below still imports."Your plan's language limit is reached. See Add a target language.
"Your role cannot add strings to this project. An admin or developer can, or they can grant you access."Uploading needs the Developer role or above.
"Those files are too large to upload here. Split them, or push from the CLI."Upload fewer or smaller files at a time, or use the CLI.
"No language files were found in what you uploaded. A zip should contain the locale files themselves, not just folders."Zip the files, not an empty folder structure.
"The import stopped before it finished. Some of your strings may already be in the project, so check it before importing again."Check the project; importing again is safe.

My import did not bring everything across covers more cases.

Other ways to bring strings in

WayBest for
CLI pushKeeping a project in step with your codebase. Needs a deploy token, which starts on the Starter plan.
GitHub ActionPushing on every merge.
Git and content integrationsSyncing from a repository or a CMS.
Import from another toolMoving a project, with its translations, from another localization platform.

See Which file formats can I use? for the formats every route accepts.

On this page