About Localyzer

From Lingoport Wiki
Revision as of 20:15, 25 August 2022 by Rdaly (talk | contribs) (What does Localyzer check for?)
Jump to: navigation, search

Localyzer Overview

Localyzer, formerly called Lingoport Resource Manager (LRM), is a software product that bridges the gap between software development and the localization processes. It is geared toward project development organizations tackling globalization of their software so they can target international markets. The Lingoport Dashboard consumes Localyzer's reports to show translation status in a user-friendly display.

  • Hand over resource files to translation.
  • Process translated files received from translation.

On the project and globalization management side, the Lingoport Dashboard provides an up-to-date status of the resources and their translation by locale. A number of views are presented, with drill-down to the specific issues detected by the Lingoport Resource Manager.

The Dashboard permission settings allows a granular presentation of the Localyzer project so management, development, and/or the translation vendor can all benefit from the status.

What Does Localyzer Do?

  • Localyzer provides a translation status for resource files.
  • Localyzer facilitates and helps automate passing resource files from the development environment to the translation vendor and back.
  • It validates and packages the resources to be sent for translation in a prep kit.
  • When the corresponding prep kit is received from the localization vendor for a locale, Localyzer validates the translated files and adds the translated files to the source code repository.
  • Localyzer notifies registered recipients on certain actions, such as sending files to be translated or receiving files from translation.

The overall process is managed using Jenkins and jobs developed by Lingoport to automate the process.

LRM Dashboard.png

This image illustrates the Localyzer Dashboard.

  • Under Next Prep Kit Content, two locales (de_DE and no_NO - German and Norwegian) each have 1 file to be translated. There are 4 keys to be translated for German and 7 keys to be translated for Norwegian.
  • Under Prep Kit Due Dates, it shows that there are no outstanding prep kits to come back from the translation management system.
  • The Resource Manager Completion Report says that there is 1 Base Resource Files and it had 8 keys for a total of 19 words. The Default Locale is en (English).
    • This project involves three locales: de_DE (German), fr_FR (French) and no_NO (Norwegian). German is 42% completed with 4 keys left to be translated. French is 100% translated and Norwegian is not translated at all.
  • The Resource Manager Productivity Report summarizes the Words Per Day for each locale and estimates the Completion Time.

What are the Major Benefits of Localyzer?

This list captures some of the major benefits of Localyzer, formerly known as Lingoport Resource Manager (LRM):

  • Localyzer integrates seamlessly, sending files from repositories to translation and back.
  • Localyzer automates iterative, non-value-added file management tasks.
  • Localyzer automates validation checking for common errors.
  • Localyzer processes reduce human error.
  • Localyzer provides an intuitive, real-time dashboard status overview for all stakeholders.
  • Localyzer supports ease of deployment and operation.
  • Localyzer bridges the gap between development and localization.
  • Localyzer speeds localized resource turnaround time.
  • Localyzer reduces human resource opportunity cost.
  • Localyzer supports industry-standard development environments.
  • Localyzer enhances Agile localization.

What Resource File Types are Supported?

See Supported Resource Bundles for an up to date list of supported resource file types.

What does Localyzer check for?

See This list of coding rules for more details.

Does Localyzer Compete with Translation Products?

No. Localyzer assists development organizations with automating error prone tasks, as well as managing and tracking resources for global readiness. Localyzer is not a translation tool nor is it a content management system (CMS).

Does Localyzer Help with Agile Processes?

Absolutely. Localyzer helps automate tasks. It also shows the status of the state of translation within the source code itself. It helps different software development cultures, in particular those applying Agile processes, by facilitating the tracking, sending, and receiving of resource kits. Non Agile processes do still benefit from Localyzer.

What does Localyzersend when resource files are modified?

Localyzer projects can be on-boarded as either full file or changes only. Localyzer defaults to 'changes only' for most resource file types, but this can be modified in the config_lrm_info.properties configuration file.

  • Full file: when some strings in a file need to be sent for translation, the entire file is sent
  • Changes only: When some strings in a file need to be sent for translation, only the part of the file with those strings is sent.

In Localyzer parlance, the set of files sent to be translated is called a prep kit. Each prep kit has a kit number associated with it.

What about sequencing - when translations are returned in a different order?

If messages.properties, errors.properties, and resources.properties were sent for translation in prep kit #17 with a total of 243 strings to be translated in French, Localyzer is expecting back from the French translation the same 243 translated strings (based on their keys) from messages.properties, errors.properties, and resources.properties, as sent in prep kit 17. This may be different than the same files in prep kit 23, or what files currently reside in the repository for that project.

When files are modified, the delta (either full file or changes only) from the previous kit number is sent. Localyzer handles the order in which the translations are returned. For instance, if Localyzer sends kits 101, 102, and 103 before any is returned, and 102 is returned in French before 101, 103 is returned in Russian, then 101 is returned in French, then 103, etc., Localyzer handles those sequencing. If 103 is returned before 102 in Japanese, 103 translations will be kept even if 102 contains the same strings.

A detailed example of sequencing

A Typical Localyzer Deployment


Does Localyzer work for my Environment?

Lingoport team members help potential customers determine how Localyzer will fit into their environment. To that end, Lingoport typically asks for Localyzer relevant information.

Basic Information

  • In what type of repository are the translatable resource files kept? Examples of repository types include GitHub, Bitbucket, Subversion (SVN), etc.
  • What is the type of the resource files? Examples of resource file types include .properties, .json, .resx, etc.
  • What is the directory and file naming convention of the resource files?
    • For the files to be translated: For example, this could be locales/file_en.json or values/strings.xml
    • For the translated file: for example, this could be /locales/file_fr.json or values-fr/strings.xml
    • What is the translation management system and/or Computer Assisted Translation tools used by the Language Service Provider (LSP)? This could be for instance SDL Language Cloud, XTM, Lingotek, etc.


Lingoport team members routinely present actual on-boarded Localyzer projects in a Dashboard for a specific potential project, so that a potential customer can see how Localyzer works with their own files. There are a few alternatives to proceed.

Send sample files to Lingoport

An efficient way to demonstrate Localyzer fit is to send Lingoport some sample files in a directory structure. Those sample files may be a small subset of the actual development resource files, provided they show:

  • the format and the idiosynchrasies of the file content
  • the naming of the files
  • the directories for at least the files to be translated and a couple of translated files

Lingoport then pushes those files under a private repository, on-boards the projects with a partner TMS, and can demonstrate in a live Web conference how the system works.

Alternative: Grant a Lingoport specific account access

Another alternative sometimes chosen by our customers is to grant a Lingoport account access to one of their repositories with the file types of interest and let Lingoport on-board and demonstrate how everything works on the repository itself. For instance, if the repositories are under GitHub, Lingoport would ask for

  • an account to be granted r/w privileges
  • a URL to the repository
  • which branch to hook Localyzer to
  • what files to on-board