Skip to main content
Canva does not translate. Hyperlocalise jobs do. Create one workspace Canva connection, then use the Hyperlocalise Canva app to pick a native project, collect page text, and write existing translations back onto the design. There is no separate Canva locale list. Jobs use the project’s source locale and target locales. en is not en-US.

Prerequisites

Connect Canva

  1. Open workspace Integrations and find Canva.
  2. Enter a display name.
  3. Select the personal access token. The dropdown shows the token name.
  4. Save. You do not choose a project or locales on this form.
App developers enable OAuth in the Canva Developer Portal and on the Hyperlocalise deployment. See Canva app OAuth for authorization server URL, token exchange URL, and environment variables. A connection token is a local-development fallback only. On localhost, Integrations shows Copy token after save and Regenerate token on each connection. The published Canva app does not accept a pasted token. Use Connect Hyperlocalise (OAuth) in production. Connect Canva before you collect texts. Changing the project in the app changes the next collect and apply.

Step 1: Match project locales

Create or choose the native project you will select in the Canva app.
  1. Set the project source locale to the language of the design copy you will collect (en-US if the design is written in US English).
  2. Add a project target locale for each language you will apply (fr-FR, de-DE).
  3. Use the exact BCP-47 tags you want on jobs. There is no language fallback: en does not map to en-US, and es does not map to es-MX.
  4. Keep locked pairs separate: en-US is not en-GB.
Change languages in project settings, then pick the project again in the Canva app so it reloads the list.

Step 2: Open the design in Canva

  1. Open the design in the Canva editor.
  2. Open the Hyperlocalise Canva app from the editor.
  3. Confirm the design has editable text on the pages you will collect.
The app lists every page. Locked pages and unsupported page types stay disabled.

Step 3: Connect from the app

  1. Choose Connect Hyperlocalise and complete OAuth.
  2. Select the native project. The app binds that project to the connection.
  3. Select the locale you will apply. Labels appear as English (en-US). Jobs still send the project tag.
Local Canva app development can open Use a connection token, paste the token copied from local Integrations, and choose Connect with token. That control is hidden in the published app. If the app shows a reconnect error, disconnect and connect again.

Step 4: Upload texts

Upload writes source JSON into the selected project. It does not start translation.
  1. Select Pages to translate. Reload the list if you added or removed pages in the design.
  2. Choose Upload and review the text preview.
  3. Confirm Upload pages. The app reports how many page files it created.
Each page is stored at canva/designs/<design-slug>/page-<n>.json, starting at page-1.json. The slug comes from the Canva title. Untitled designs fall back to the design id. Review those files like other JSON sources. Each text box becomes one string. Hyperlocalise keys it from the box’s source text (canva.t.<hash>), not from its position on the page. Mixed styling inside a box is translated and applied as one block. After this key model shipped, upload each existing design once before Apply. Editing a box in Canva means that box no longer matches until you upload again. Older canva.segment.* keys are not reused. A later collect replaces the current collect batch for that design. Apply uses that batch only. Earlier page files from the same design are not reused. Collect does not create a translation job.

Step 5: Translate from the app

Translate starts an agent job for the chosen language on the last Upload, waits for that job, then applies the result to the design. If the selected pages are not uploaded yet, Translate uploads them first, but only while the design shows the project source locale. If a target language is on the design, apply the source locale first. Translate does not upload again when the selected pages are already uploaded. Upload and Apply stay available as separate confirmed steps. Open the page files in the Content Editor if you need to review or wait for approval.

Step 6: Apply to the design

Apply writes Hyperlocalise strings for the chosen language onto the selected Canva pages. For target locales it pulls the Content Editor (job output is not merged in). For the source locale it pulls the latest uploaded page files from collect. It does not insert a page above or below.
  1. Under Translate to, pick the target locale whose translations you want on the design.
  2. Under Pages to translate, pick every page that should receive that language.
  3. Choose Apply when each selected page has pullable translations (job succeeded or waiting for review). The app pulls from Hyperlocalise and updates the design immediately.
  4. Inspect layout after applying another language, especially for longer text.
Apply matches each box by the text currently on the page (source or any locale already written back). It reads target-locale text from project translations (the editor). The app remembers the last language written to the design. Upload stays disabled until that language is the project source locale, so collect always sends source text. Apply the source locale first if the design currently shows a target. Pages uploaded before this key model show a re-upload hint and stay disabled until you upload them again.

Change or remove access

Choose Change in the Canva app to pick another project, or Switch Account to connect a different Hyperlocalise workspace. Disconnect the connection from Integrations when the workspace should stop using that connection. Deleting the selected native project unbinds the connection. The workspace connection stays. Designers pick another project in the Canva app.

If upload or apply does not run

  • Confirm Canva is connected and a project is selected. That project needs a source locale and at least one target locale.
  • Confirm the personal access token still has files:read, files:write, jobs:read, and jobs:write, and that you can access the project.
  • Confirm you selected at least one editable page and that those pages contain text.
  • Confirm you uploaded texts before you apply a locale. Apply stays disabled until that locale has pullable translations.
  • Confirm the design is on the project source locale before Upload. Apply the source language first if a target is currently on the page.
  • Confirm the language you apply is on the project. en is not en-US.
  • Open the job in Hyperlocalise for a failed locale.
See Connection troubleshooting.