If you are a developer who uses Localazy, you are already familiar with the CLI tool. It makes Localazy integration and localization automation smooth and allows you to manage your localizable files effectively.

๐Ÿท๏ธ Merge release tags ๐Ÿ”—

The Release Tags feature is already helpful when you need to lock the current state of translation to prevent affecting your production and retaining the possibility to test localization during development and in the staging environment.

With merging, you can modify existing tags in many different ways:

  • merge missing translations from one tag to another
  • update translations in the tag using another tag as a source
  • overwrite keys including the source language
  • merge only selected languages and keys
  • add/remove selected languages and keys
  • publish/unpublish languages
  • apply changes only if the source language content matches
  • apply changes only for arrays with the same length
  • update language, project, and metadata information

And thatโ€™s awesome as you can, e.g., update only selected languages/keys in your production environment once you have tested them on staging.

READ MORE >>

๐Ÿ–Š๏ธ Language aliases and expansions ๐Ÿ”—

You can now easily change languages or expand them to more output files. For example, with a simple configuration shown below, locale zh-Hant-TW will be stored as zh-TW, zh-MO, zh-CN.

"langAliases": {
  "zh-Hant-TW": "zh-TW"
},
"langExpansions": {
  "zh-Hant-TW": ["zh-MO", "zh-CN"]
}

Aliases are handy, e.g., for Chinese locales on Android or to support both new and legacy locales. It also works for the format conversions feature allowing you to consider platform-specific locale differences easily.

READ MORE >>

๐Ÿ—๏ธ Including and excluding keys ๐Ÿ”—

You can now include and exclude keys based on exact match, prefix, suffix, or a regular expression when uploading files or converting them. It allows you to remove sensitive data from your string files or use format conversions to output files, e.g., for Android and iOS while eliminating platform-specific parts.

{
  "excludeKeys": [
    "REGEX:private_.*",
    "SUFFIX:_private"
  ]
}

READ MORE >> `

๐Ÿ†• More improvements ๐Ÿ”—

No need for write key and config file ๐Ÿ”—

We have reworked how configuration works, so itโ€™s no longer necessary to have the configuration file and writeKey for commands that donโ€™t really need it. The configuration file is now required only for upload and download commands. The writeKey is required for file manipulations, release tags actions, and upload.

Showing of upload stats ๐Ÿ”—

When uploading files in the synchronous mode, after the upload, additional details are provided - at the moment, itโ€™s the number of added, updated, and deprecated phrases.

Downloading iOS data ๐Ÿ”—

We have added the option to download iOS data in a highly compressed binary format. This is an integral part of our upcoming iOS SDK. Stay tuned!

Newer version of node-fetch ๐Ÿ”—

We have bumped the version of the node-fetch dependency for the NPM version of our CLI as the previous version has known vulnerability.

Improved Docker images ๐Ÿ”—

Our Docker image is now based on ubuntu:20.04, and we have improved our build script to remove apt caches and other unnecessary files to reduce the size and remove the possible vulnerability.

Improved error reporting ๐Ÿ”—

  • When the upload fails because there are no files for uploading (e.g., invalid pattern), the CLI returns a non-zero exit code.
  • Improved error reporting for NPM version - avoid Kotlin/JS incompatibility in exceptions

Fixed bug with -s parameter ๐Ÿ”—

The simulate parameter wasnโ€™t correctly applied for generating metadata files. The files were generated and stored even with the `-sโ€™ parameter provided.

NPM version is minified now ๐Ÿ”—

NPM version of the CLI is now minified, has only half of the size, and is faster.

๐Ÿ—จ๏ธ Join the discussion! ๐Ÿ”—

Any thoughts and comments are welcome in the Localazy forum. Tell us what you think!