Search result not found.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

On this page

Locize Docs

Introduction

Using locize

Integration

Guides / Tips & Tricks

More

Which integration option should I use?Do I have to use the locize CDN or can I host / bundle the translations directly?How is locize different from the alternatives?Why do I get “The passed json is nested too deeply.” when consuming the API?Is locize only for developers and translators or is project management within the process too?What is the regular way to update the translation memory?Is there any visibility on project’s level of completion that shows how translators are progressing?Why is my namespace suddenly a flat json?How to change the publish format?Why does my namespace contain an array with a lot of null items?Why is the pricing so complicated?How to change credit card or billing information or download the invoices?How to import translations from a file?How to manually publish a specific version?How to delete or rename a namespace?Why is there such a high download amount?Where do I find the namespace backups?How can a segment/key be copied/moved or renamed?Why a new namespace is created, when I upload a translation file?I want to use the locize CDN, but would like to have a fallback that uses local/bundled translationsIs it possible to integrate multiple projects in the same app/website?Why do I see strange new keys marked as ONE, FEW, MANY, OTHERS?How do I open and edit JSON files?i18n vs. i18nexti18next vs. locizeWord CounterHow to style text within locize?What do I have to consider if my translation texts may contain confidential information?How to translate a file and download the results?

Versioning

versioning part of showcase/demo

No Versioning

You can use without versioning - just using the default latest set of resources. For smaller projects with continues deployment or no deployment process at all this can be a suitable solution.

"Rolling" Versioning

Most bigger projects will do a versioning divided into stages like:

development (latest) → staging → production

Everytime you want to deploy to next stage you can copy the resources eg. from latest to staging by creating a new version (and retype staging for new version name).

Semantic Versioning

Semantic Versioning can be useful if you deploy an application in different versions and you got no control over the users upgrading (eg. iOS Applications,…).

1.0.0 → patch (bugfix) → 1.0.1
1.0.1 → minor (feature) → 1.1.0
1.1.0 → major (breaking) → 2.0.0

When deploying - just create a new version based on your lastest version and update your production code to use that new version.

development → use latest
published 1.0.0 → use 1.0.0
published 1.1.0 → use 1.1.0
published 1.1.1 → keep using 1.1.0 if no changes

Most time you won't need to create a new version when doing bugfix.

Prevent to create versions based on timestamps. You should not have hundreds of versions.

Merging Versions

To make it simple lets say we got two versions:

  • latest -> is the current WIP / development version
  • production -> is the current production version

There are two options to keep versions in sync:

on your project settings page

a) “OVERWRITE WITH DATA FROM”

When going to production version with the current state go to the versions menu and choose “OVERWRITE VERSION” and choose the latest version.All content of production version will be overwritten with the content of latest version.OVERWRITE is faster than COPY TO.

b) “COPY TO”

Choose “COPY  CONTENT FROM/TO VERSION” on latest version and choose production version.Everything that has a different value in latest version or does not exist in production version gets copied over to production version.You will see what changes before you can choose to save or discard.COPY TO is slower than OVERWRITE.The changes cause modification costs.

Check out this section in the video to see how this can be used.
Be aware: Adding, deleting or renaming languages influences all versions!

With the "COPY TO" option there is also the possibility to fine tune it with the "expert mode":

Update your code

Update your locizify script to include targeted version:

<script id="locizify" version="staging" ...
  src="https://unpkg.com/locizify@^6.0.9" />

Update i18next with locize backend:

i18next.init({
  // ...
  backend: {
    referenceLng: '{{referenceLanguage}}',
    apiKey: '{{apiKey}}', // you should not expose your api key in production...
    version: 'staging',
    projectId: '{{project_Id}}'
  }
});