Versioning

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.

Update your code

Update your locizify script to include targeted version:
<script id="locizify" version="staging" ...
src="https://unpkg.com/locizify@^6.0.8" />
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}}'
}
});
Last modified 2mo ago