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.

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 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.

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

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.

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.

Update your locizify script to include targeted version:
<script id="locizify" version="staging" ...
src="https://unpkg.com/[email protected]^5.2.3" />
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}}'
}
});
Copy link
On this page
No Versioning
"Rolling" Versioning
Semantic Versioning
Merging Versions
Update your code