Difference between revisions of "About Localyzer"

From Lingoport Wiki
Jump to: navigation, search
(Does LRM work for my Environment?)
(What about sequencing - when translations are returned in a different order?)
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Lingoport Resource Manager Overview ==
+
==Localyzer Overview ==
Lingoport Resource Manager (LRM) is a software product that bridges the gap between software development and the [[Terms_and_Definitions#localization|localization]] processes. It is geared toward project development organizations tackling [[Terms_and_Definitions#globalization|globalization]] of their software so they can target international markets. The [[Terms_and_Definitions#LingoportDashboard|Lingoport Dashboard]] consumes LRM's reports to show translation status in a user-friendly display.
+
Localyzer, formerly called Lingoport Resource Manager (LRM), is a software product that bridges the gap between software development and the [[Terms_and_Definitions#localization|localization]] processes. It is geared toward project development organizations tackling [[Terms_and_Definitions#globalization|globalization]] of their software so they can target international markets. The [[Terms_and_Definitions#LingoportDashboard|Lingoport Dashboard]] consumes Localyzer's reports to show translation status in a user-friendly display.
   
 
* Hand over [[Terms_and_Definitions#resourcefiles|resource files]] to translation.
 
* Hand over [[Terms_and_Definitions#resourcefiles|resource files]] to translation.
Line 7: Line 7:
 
On the project and globalization management side, the [[Terms_and_Definitions#LingoportDashboard|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.
 
On the project and globalization management side, the [[Terms_and_Definitions#LingoportDashboard|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 [[Terms_and_Definitions#LingoportDashboard|Dashboard]] permission settings allows a granular presentation of the [[Terms_and_Definitions#LRMProject|Lingoport Resource Manager project]] so management, development, and/or the translation vendor can all benefit from the status.
+
The [[Terms_and_Definitions#LingoportDashboard|Dashboard]] permission settings allows a granular presentation of the [[Terms_and_Definitions#LRMProject|Localyzer project]] so management, development, and/or the translation vendor can all benefit from the status.
   
== What Does the Lingoport Resource Manager (LRM) Do? ==
+
== What Does Localyzer Do? ==
* The Lingoport Resource Manager provides a translation '''status''' for [[Terms_and_Definitions|resource files]].
+
* Localyzer provides a translation '''status''' for [[Terms_and_Definitions|resource files]].
* LRM facilitates and helps '''automate passing resource files from the development environment to the [[Terms_and_Definitions|translation vendor]] and back'''.
+
* Localyzer facilitates and helps '''automate passing resource files from the development environment to the [[Terms_and_Definitions|translation vendor]] and back'''.
 
* It '''validates''' and packages the resources to be sent for translation in a [[Terms_and_Definitions|prep kit]].
 
* It '''validates''' and packages the resources to be sent for translation in a [[Terms_and_Definitions|prep kit]].
* When the corresponding prep kit is received from the localization vendor for a locale, LRM '''validates''' the translated files and '''adds''' the translated files to the source code repository.
+
* 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.
* LRM '''notifies''' registered recipients on certain actions, such as sending files to be translated or receiving files from translation.
+
* 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 [[Terms_and_Definitions|Jenkins]] and jobs developed by Lingoport to automate the process.
 
The overall process is managed using [[Terms_and_Definitions|Jenkins]] and jobs developed by Lingoport to automate the process.
Line 20: Line 20:
 
[[File:LRM_Dashboard.png|800px]]
 
[[File:LRM_Dashboard.png|800px]]
   
This image illustrates the Lingoport Resource Manager (LRM) Dashboard.
+
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 '''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 [[Terms_and_Definitions#prepkit|prep kits]] to come back from the [[Terms_and_Definitions#TMS|translation management system]].
 
* Under '''Prep Kit Due Dates''', it shows that there are no outstanding [[Terms_and_Definitions#prepkit|prep kits]] to come back from the [[Terms_and_Definitions#TMS|translation management system]].
Line 27: Line 27:
 
* The '''Resource Manager Productivity Report''' summarizes the Words Per Day for each locale and estimates the Completion Time.
 
* The '''Resource Manager Productivity Report''' summarizes the Words Per Day for each locale and estimates the Completion Time.
   
== What are the Major Benefits of LRM? ==
+
== What are the Major Benefits of Localyzer? ==
This list captures some of the major benefits of the Lingoport Resource Manager (LRM):
+
This list captures some of the major benefits of Localyzer, formerly known as Lingoport Resource Manager (LRM):
   
* LRM integrates seamlessly, sending files from repositories to translation and back.
+
* Localyzer integrates seamlessly, sending files from repositories to translation and back.
* LRM automates iterative, non-value-added file management tasks.
+
* Localyzer automates iterative, non-value-added file management tasks.
* LRM automates validation checking for common errors.
+
* Localyzer automates validation checking for common errors.
* LRM processes reduce human error.
+
* Localyzer processes reduce human error.
* LRM provides an intuitive, real-time dashboard status overview for all stakeholders.
+
* Localyzer provides an intuitive, real-time dashboard status overview for all stakeholders.
* LRM supports ease of deployment and operation.
+
* Localyzer supports ease of deployment and operation.
* LRM bridges the gap between development and [[Terms_and_Definitions#localization|localization]].
+
* Localyzer bridges the gap between development and [[Terms_and_Definitions#localization|localization]].
* LRM speeds localized resource turnaround time.
+
* Localyzer speeds localized resource turnaround time.
* LRM reduces human resource opportunity cost.
+
* Localyzer reduces human resource opportunity cost.
* LRM supports industry-standard development environments.
+
* Localyzer supports industry-standard development environments.
* LRM enhances Agile [[Terms_and_Definitions#localization|localization]].
+
* Localyzer enhances Agile [[Terms_and_Definitions#localization|localization]].
   
 
== What Resource File Types are Supported? ==
 
== What Resource File Types are Supported? ==
Line 46: Line 46:
 
See [[Supported_Resource_Bundles|Supported Resource Bundles]] for an up to date list of supported resource file types.
 
See [[Supported_Resource_Bundles|Supported Resource Bundles]] for an up to date list of supported resource file types.
   
  +
== What does Localyzer check for? ==
== Does the Resource Manager Compete with Translation Products? ==
 
'''No'''. Lingoport Resource Manager assists development organizations with automating error prone tasks, as well as managing and tracking resources for global readiness. The Resource Manager is not a translation tool nor is it a content management system (CMS).
 
   
  +
See [https://sandbox.lingoport.com/coding_rules?repositories=lrm This list of coding rules] for more details.
== Does the Resource Manager Help with Agile Processes? ==
 
'''Absolutely'''. Lingoport Resource Manager 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 the Resource Manager.
 
   
  +
== Does Localyzer Compete with Translation Products? ==
==What does the Resource Manager send when resource files are modified? ==
 
  +
'''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).
LRM projects can be on-boarded as either '''full file''' or '''changes only'''. LRM defaults to 'changes only' for most resource file types, but this can be modified in the <code>config_lrm_info.properties</code> configuration file.
 
  +
  +
== 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 Localyzer send 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 <code>config_lrm_info.properties</code> configuration file.
   
 
* '''Full file''': when some strings in a file need to be sent for translation, the entire file is sent
 
* '''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.
 
* '''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 LRM parlance, the set of files sent to be translated is called a '''prep kit'''. Each prep kit has a '''kit number''' associated with it.
+
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?==
 
==What about sequencing - when translations are returned in a different order?==
If <code>messages.properties, errors.properties, and resources.properties</code> were sent for translation in prep kit #17 with a total of 243 strings to be translated in French, LRM is expecting back from the French translation the same 243 translated strings (based on their keys) from <code>messages.properties, errors.properties, and resources.properties</code>, 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.
+
If <code>messages.properties, errors.properties, and resources.properties</code> 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 <code>messages.properties, errors.properties, and resources.properties</code>, 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. LRM handles the order in which the translations are returned. For instance, if LRM 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., LRM handles those sequencing. If 103 is returned before 102 in Japanese, 103 translations will be kept even if 102 contains the same strings.
+
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.
   
 
[[Sequencing Example|A detailed example of sequencing]]
 
[[Sequencing Example|A detailed example of sequencing]]
   
   
[[Components Diagram|A Typical LRM Deployment]]
+
[[Components Diagram|A Typical Localyzer Deployment]]
   
  +
==Does Localyzer work for my Environment?==
[[File:Lrm-icon.png]]
 
   
  +
Lingoport team members help potential customers determine how Localyzer will fit into their environment. To that end, Lingoport typically asks for Localyzer relevant information.
==Does LRM work for my Environment?==
 
 
Lingoport team members help potential customers determine how LRM will fit into their environment. To that end, Lingoport typically asks for LRM relevant information.
 
   
 
=== Basic Information ===
 
=== Basic Information ===
Line 85: Line 87:
   
 
=== Demo ===
 
=== Demo ===
Lingoport team members routinely present actual [[Terms_and_Definitions#On-boarding|onboarding]] LRM projects in a Dashboard for a specific potential project, so that a potential customer can see how LRM works with their own files. There are a few alternatives to proceed
+
Lingoport team members routinely present actual [[Terms_and_Definitions#onboarding|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 ====
 
==== Send sample files to Lingoport ====
An efficient way to '''demonstrate''' LRM 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:
+
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 format and the idiosynchrasies of the file content
 
* the naming of the files
 
* the naming of the files
* the directories for at least the files to be translated and a couple of translated 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.
 
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.
Line 99: Line 101:
 
* an account to be granted r/w privileges
 
* an account to be granted r/w privileges
 
* a URL to the repository
 
* a URL to the repository
* which branch to hook LRM to
+
* which branch to hook Localyzer to
 
* what files to on-board
 
* what files to on-board
  +
  +
== Licensing ==
  +
[[Localyzer_License]]

Latest revision as of 20:21, 25 August 2022

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

Demo

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

Licensing

Localyzer_License