Skip to main content
Upload source files to make them available for translation and review. The native project upload screen accepts up to 10 files per batch.

Upload files

  1. Open Projects, select your project, and open Files.
  2. Select Add files and choose the source files.
  3. Review Ready to upload. Remove anything you selected by mistake.
  4. Select Upload and wait for completion.
  5. Confirm the expected file appears, then open it with a target locale.
Platform supports content such as JSON, YAML, XLIFF, PO, images, and Office documents. Processing and editing capabilities vary by format. A file appearing in the list does not guarantee that it can open in the text Content Editor. The CLI format guides describe CLI parsing and configuration. They are not a guarantee that every CLI format has the same Platform editor experience.

Check the upload

Confirm the file path and source text before requesting translation. If this is your first upload, use the three-key sample file from Your first translation. If you already have a translated version of the source, use Import existing translations. Uploading that target file as a new source does not attach its translations to the original source file.

Keep paths stable

Use a consistent source path for content you update regularly. Repository and CLI workflows should keep the same path mapping between uploads. Review Update source content before replacing an existing source snapshot.

Connected TMS projects

Provider-backed projects browse files from the connected TMS. Upload or organize provider-owned files in that system. For GitHub sources in a native project, configure content sync after connecting the repository. For Intercom Help Center articles, a Help Center automation writes markdown sources at intercom/{help-center-slug}/{article-title-slug}.md. For Braze email templates, a Braze Email Templates automation writes HTML sources at braze/templates/{template-slug}.html and braze/content-blocks/{block-slug}.html. For campaigns and Canvas, a Braze Campaigns & Canvas automation writes JSON translation maps at braze/campaigns/{campaign-slug}/{variation-slug}.json and braze/canvas/{canvas-slug}/{step-slug}/{variation-slug}.json. For Canva, the Hyperlocalise Canva app writes one JSON source per collected page at canva/designs/<design-slug>/page-<n>.json, starting at page-1.json.

Import filters and placeholders

On a native file’s menu, Import filters control which strings ingest. HTML can skip extra tags. JSON and JSONC can include or exclude key paths, copy sibling fields as context or character limits, and mark HTML or ICU values. Excel can map key, source, context, and limit columns. Saving re-reads the file. Placeholder format sets ICU, i18next, or auto-detect for QA and the Content Editor. Add Custom placeholder patterns (one regular expression per line) when the file uses extra placeholder syntax such as [[name]]. Import and export are not affected. See i18next and interpolation placeholders.

After upload

Upload does not automatically generate translations unless a matching automation is active. Start a translation or configure a Source upload trigger. If a file is missing or cannot open, follow Upload troubleshooting.

Find your format

See Platform file formats for upload, translation, review, and export capabilities. For provider-owned files, see TMS integrations.