Difference between revisions of "About Localyzer"
(→What about sequencing - when translations are returned in a different order?) |
|||
(70 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == |
+ | ==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]] |
+ | 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| |
+ | 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 |
+ | == What Does Localyzer Do? == |
− | * |
+ | * Localyzer provides a translation '''status''' for [[Terms_and_Definitions|resource files]]. |
− | * |
+ | * 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, |
+ | * 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 [[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 19: | Line 20: | ||
[[File:LRM_Dashboard.png|800px]] |
[[File:LRM_Dashboard.png|800px]] |
||
− | This image |
+ | 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 26: | 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 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. |
||
− | == What are the Major Benefits of LRM? == |
||
+ | * Localyzer automates iterative, non-value-added file management tasks. |
||
− | This list capture some of the major benefits of the Lingoport Resource Manager (LRM): |
||
+ | * Localyzer automates validation checking for common errors. |
||
− | |||
+ | * Localyzer processes reduce human error. |
||
− | * LRM integrates seamlessly, sending files from repositories to translation and back. |
||
+ | * Localyzer provides an intuitive, real-time dashboard status overview for all stakeholders. |
||
− | * LRM automates iterative, non-value-added file management tasks. |
||
+ | * Localyzer supports ease of deployment and operation. |
||
− | * LRM automates validation checking for common errors. |
||
+ | * Localyzer bridges the gap between development and [[Terms_and_Definitions#localization|localization]]. |
||
− | * LRM processes reduces human error. |
||
+ | * Localyzer speeds localized resource turnaround time. |
||
− | * LRM provides an intuitive, real-time dashboard status overview for all stakeholders. |
||
+ | * Localyzer reduces human resource opportunity cost. |
||
− | * LRM supports ease of deployment and operation. |
||
+ | * Localyzer supports industry-standard development environments. |
||
− | * LRM bridges the gap between development and [[Terms_and_Definitions#localization|localization]]. |
||
+ | * Localyzer enhances Agile [[Terms_and_Definitions#localization|localization]]. |
||
− | * LRM speeds localized resource turnaround time. |
||
− | * LRM reduces human resource opportunity cost. |
||
− | * LRM supports industry-standard development environments. |
||
− | * LRM enhances Agile [[Terms_and_Definitions#localization|localization]]. |
||
== What Resource File Types are Supported? == |
== What Resource File Types are Supported? == |
||
+ | See [[Supported_Resource_Bundles|Supported Resource Bundles]] for an up to date list of supported resource file types. |
||
− | Lingoport Resource Manager supports the following file types: |
||
+ | |||
+ | == What does Localyzer check for? == |
||
+ | |||
+ | See [https://sandbox.lingoport.com/coding_rules?repositories=lrm 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 <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 |
||
+ | * '''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 <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. 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]] |
||
+ | |||
+ | |||
+ | [[Components Diagram|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. |
||
− | * '''.json''' (with some restrictions for L10n purposes - See [[JSON Resource Bundles]] - Mostly JavaScript, and other programming languages) |
||
− | * '''.msg''' (C, C++, ...) |
||
− | * '''.po''' files |
||
− | * '''.properties''' files (for instance, Java-type resources) |
||
− | * '''.resx''' files (used in the .Net world) |
||
− | * '''.rc''' (Delphi, ...) |
||
− | * '''.rjs''' (for JavaScript) |
||
− | * '''.rxml''' (for xml) |
||
− | * '''.strings''' (Mobile iOS) |
||
− | * '''strings.xml''' (Android) |
||
+ | === Basic Information === |
||
− | == Does the Resource Manager Compete with Translation Products? == |
||
+ | * In what type of repository are the translatable [[Terms_and_Definitions#resourcefiles|resource files]] kept? Examples of repository types include GitHub, Bitbucket, Subversion (SVN), etc. |
||
− | '''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). |
||
+ | * What is the type of the [[Terms_and_Definitions#resourcefiles|resource files]]? Examples of resource file types include [[LRM_Properties_Support|.properties]], [[JSON_Resource_Bundles|.json]], [[LRM_resx_Support|.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 <code>locales/file_en.json</code> or <code>values/strings.xml</code> |
||
+ | ** For the translated file: for example, this could be <code>/locales/file_fr.json</code> or <code>values-fr/strings.xml</code> |
||
+ | ** What is the [[Terms_and_Definitions#TMS|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 === |
||
− | == Does the Resource Manager Help with Agile Processes? == |
||
+ | 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. |
||
− | '''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. |
||
+ | ==== 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 ==== |
||
− | [[Components Diagram|A Typical LRM Deployment]] |
||
+ | 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 == |
||
− | [[File:Lrm-icon.png]] |
||
+ | [[Localyzer_License]] |
Latest revision as of 20:21, 25 August 2022
Contents
- 1 Localyzer Overview
- 2 What Does Localyzer Do?
- 3 What are the Major Benefits of Localyzer?
- 4 What Resource File Types are Supported?
- 5 What does Localyzer check for?
- 6 Does Localyzer Compete with Translation Products?
- 7 Does Localyzer Help with Agile Processes?
- 8 What does Localyzer send when resource files are modified?
- 9 What about sequencing - when translations are returned in a different order?
- 10 Does Localyzer work for my Environment?
- 11 Licensing
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.
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
orvalues/strings.xml
- For the translated file: for example, this could be
/locales/file_fr.json
orvalues-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.
- For the files to be translated: For example, this could be
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