Difference between revisions of "LocalyzerQA"
(→Handling Errors) |
(→Configuration) |
||
(61 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
== Introduction == |
== Introduction == |
||
+ | === LocalyzerQA Video === |
||
+ | The 4'30" video below introduces LocalyzerQA |
||
+ | * https://vimeo.com/502773426 |
||
+ | For supported versions, please see: |
||
+ | [[Lingoport_Suite_Installation#Supported_Versions]] |
||
+ | |||
+ | === Linguistic Review Made Easy === |
||
+ | Lingoport '''Localyzer''' facilitates the process of translating resource file (properties, resx, json, etc.). '''LocalyzerQA''' is focused on the Linguistic Review process of a running application after translation. A Linguistic Reviewer may be an application specialist who is native in a language, an in-country in-company person, a member of a localization team, or a member of a translation team. |
||
+ | |||
+ | Without LocalyzerQA, the linguistic review process tends to be cumbersome. ''For example,'' Linguistic Reviewers may navigate the application based on an email sent by the dev team, then when finding an issue: screen shot the page, highlight the text to be corrected, open a defect in a bug tracking system, assign it to a manager who will then have to find which team/dev/repository that may belong to, have a developer (who is busy with feature development) figure out where the error is located for a string in a language they most likely don't speak and may not even read (think Chinese or Japanese for an English speaker), and send the file with a correction via email to a language service provider. The language service provider team then needs to handle that retranslation: start a workflow, assign that correction, return the correction, send the correction some time later back to the dev team (which may be busy with some other tasks), figure from the email where to push the file back, and finally have a correction in the repo. This tends to take days. |
||
+ | |||
+ | With LocalyzerQA, this process takes minutes and does not involve developers. |
||
+ | |||
+ | == User Guide == |
||
+ | === Prerequisite === |
||
+ | Before using LocalyzerQA, Localyzer must be configured with Trackback Localize. see |
||
+ | * [[On_Boarding_a_Localyzer_Project#Pseudo-Localize_and.2For_Trackback]] |
||
+ | |||
+ | === Configuration / Managers === |
||
+ | *[[LocalyzerQA Configuration]] |
||
+ | |||
+ | === Executing a Linguistic Review / Linguists and Managers === |
||
+ | *[[LocalyzerQA Linguist Review]] |
||
+ | |||
+ | == LocalyzerQA Main Concepts == |
||
+ | |||
+ | === Users: Managers and Linguists === |
||
+ | Users in LocalyzerQA can have two roles: |
||
+ | * Manager: They set up other Managers and Linguists, Applications, Review, and Tasks, and assign and perform Tasks. |
||
+ | * Linguist: They execute Tasks, i.e. they do the review for a locale (a task) as per the manager's instructions for that review. |
||
+ | |||
+ | === Applications === |
||
+ | An application is what the Linguists (and Managers) will review. It can be a Web Application, or a Device based application, any application that Localyzer has on-boarded for translation. An application configuration includes the list of target locales. |
||
+ | |||
+ | === Reviews === |
||
+ | A Review is a set of directive which can be applied to an application. An application can have reviews for a small increment of development, like a sprint, or part of an application, like the registration pages, or an initial full application review, or an ad-hoc spot check. The same review applies to all or some of the locales in the application. |
||
+ | |||
+ | Just like for the functional QA of an application, a review is assigned to a user (a Manager or a Linguist) for execution. |
||
+ | |||
+ | === Tasks === |
||
+ | A task is a review for a locale. A French linguist should not review the Japanese application. So for a given review, the French task will be assigned to a French linguist, the Japanese task to a Japanese linguist. |
||
+ | |||
+ | === Post Edits === |
||
+ | The post edits are the corrections made by the linguists for a task. Post edits are handled automatically by the Localyzer backend. |
||
+ | |||
+ | === Localyzer Trackback locale === |
||
+ | Localyzer creates trackback files for a configured locale, by default 'ia' or Interlingua. (The reason for this default locale is that most browsers support interlingua and interlingua is not an actual market locale for typical application.) The trackback files contain a key and the original source text. The key allows the system to identify the resource in a repository, branch, resource file on-boarded in Localyzer. |
||
+ | |||
+ | For example, if, for a UI label, |
||
+ | * the original '''messages.properties''' files contains <code>welcome.title=Welcome</code> |
||
+ | |||
+ | * a typical translated file, say French, would have the translated '''messages_fr.properties''' file with <code>welcome.title=Bienvenue</code> |
||
+ | |||
+ | * and the trackback file '''messages_ia.properties''' would have <code>welcome.title=143.9278 Welcome</code> |
||
+ | |||
+ | The UI label would display: |
||
+ | * <b>Welcome</b> when the locale is set to ''English'', |
||
+ | * <b>Bienvenue</b> when the locale is set to ''French'', |
||
+ | * <b>143.9278 Welcome</b> when the locale is set to ''Interlingua'' |
||
== Handling Errors == |
== Handling Errors == |
||
Line 9: | Line 67: | ||
* [[LocalyzerQAEncodingError]] |
* [[LocalyzerQAEncodingError]] |
||
* [[LocalyzerQANotFoundParameter]] |
* [[LocalyzerQANotFoundParameter]] |
||
− | * [[ |
+ | * [[LocalyzerQAUnknownError]] |
* [[LocalyzerQANotFound]] |
* [[LocalyzerQANotFound]] |
||
* [[LocalyzerQAIcuMsgformatError]] |
* [[LocalyzerQAIcuMsgformatError]] |
||
+ | * [[LocalyzerQAUnknownFormatError]] |
||
− | * [[LocalyzerQACuMsgformatError]] |
||
− | * [[LocalyzerQAUnknowFormatError]] |
||
* [[LocalyzerQAFileTooBig]] |
* [[LocalyzerQAFileTooBig]] |
||
* [[LocalyzerQANonWritableFile]] |
* [[LocalyzerQANonWritableFile]] |
||
+ | |||
+ | = LocalyzerQA Release Notes = |
||
+ | For supported versions, please see: |
||
+ | [[Lingoport_Suite_Installation#Supported_Versions]] |
||
+ | |||
+ | [[LocalyzerQA Release Notes]] |
||
+ | |||
+ | = Licensing = |
||
+ | [[LocalyzerQA License]] |
||
+ | |||
+ | = New LocalyzerQA Installation = |
||
+ | |||
+ | ==Create the database conf file== |
||
+ | Use the default user for Docker which is /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. The mysql and conf.d folders may need to be created as well. |
||
+ | |||
+ | vi /home/<user>/mysql/conf.d/mysql.cnf |
||
+ | |||
+ | [client] |
||
+ | default-character-set = utf8mb4 |
||
+ | [mysql] |
||
+ | default-character-set = utf8mb4 |
||
+ | |||
+ | == Configuration == |
||
+ | |||
+ | Request the ''LocalyzerQAInstall.zip'' file from your customer success engineer. The zip file contains four files: |
||
+ | |||
+ | install.conf |
||
+ | InstallLocalyzerQA.sh |
||
+ | UninstallLocalyzerQA.sh |
||
+ | UpdateLocalyzerQA.sh |
||
+ | |||
+ | Copy the above files under your home directory, ''for instance'' <code><user>/localyzerQAInstall</code> where <user> may be <code>/home/centos</code> or <code>/home/ec2-user</code>. |
||
+ | |||
+ | ===Set up install.conf === |
||
+ | |||
+ | Fill in your home directory, DB password, serverURL and port number, your Docker Hub username and token. The initial version number will be provided for the first installation. For updates, this will be the only parameter to change in the <code>install.conf</code> file. |
||
+ | |||
+ | ==Run InstallCommandCenter.sh== |
||
+ | |||
+ | chmod +x InstallLocalyzerQA.sh |
||
+ | sudo ./InstallLocalyzerQA.sh |
||
+ | |||
+ | To check the running container status |
||
+ | |||
+ | sudo docker ps |
||
+ | |||
+ | If you need to re-run the InstallLocalyzerQA.sh, make sure to run UninstallLocalyzerQA.sh first to clean your environment. |
||
+ | |||
+ | Note: Docker image version is not the Command Center version, check latest docker image version at https://hub.docker.com/repository/docker/lingoport/localyzerqa/general |
||
+ | |||
+ | You should see at least an MySQL and a LocalyzerQA container running. |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | = LocalyzerQAUpdate = |
||
+ | ==Update install.conf == |
||
+ | |||
+ | Change the ''version number'' in the install.conf to get the LocalyzerQA image update version. |
||
+ | |||
+ | localyzerqa_image_version=<new version number> |
||
+ | |||
+ | |||
+ | ====Run UpdateCommandCenter.sh==== |
||
+ | |||
+ | chmod +x UpdateLocalyzerQA.sh |
||
+ | sudo ./UpdateLocalyzerQA.sh |
||
+ | |||
+ | To check the running container status |
||
+ | |||
+ | sudo docker ps |
||
+ | |||
+ | = Start and Stop System = |
||
+ | * From Command Center, as an administrator, go to settings and click 'Restart' |
||
+ | * From the VM, use docker commands to stop or start Command Center. For example: |
||
+ | |||
+ | sudo docker ps |
||
+ | sudo docker stop <hash> |
||
+ | sudo docker ps |
||
+ | |||
+ | sudo docker container ls -a | grep command |
||
+ | sudo docker start <hash> |
||
+ | sudo docker ps |
||
+ | |||
+ | |||
+ | = Uninstall = |
||
+ | |||
+ | sudo ./UninstallLocalyzerQA.sh |
||
+ | Uninstalling the LocalyzerQA Servers ... |
||
+ | |||
+ | sudo docker ps |
||
+ | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
||
+ | |||
+ | = FAQ and Troubleshooting = |
||
+ | |||
+ | == Make sure the Server URL is reachable == |
||
+ | Navigate to the server URL set up in <code>install.conf</code>: is the login screen available? |
||
+ | |||
+ | If it is not, first check that the docker container is up and running. Make sure both <code>lingoport/localyzerqa</code> and <code>mysql</code> are running. |
||
+ | |||
+ | sudo docker container ls -a |
||
+ | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
||
+ | 3d9da7a80e0a '''lingoport/localyzerqa''':80 "catalina.sh run" 3 days ago Up 6 hours 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp pedantic_aryabhata |
||
+ | 683c55907c06 '''mysql''':5.7 "docker-entrypoint.s…" 3 days ago Up 6 hours 3306/tcp, 33060/tcp quizzical_newton |
||
+ | |||
+ | Check with IT that the DNS for that system is correct. |
||
+ | |||
+ | Check with IT that the firewall allows for reaching the URL from your system. |
||
+ | |||
+ | Ask IT to check the https and the server URL / DNS. |
Latest revision as of 18:55, 9 November 2023
Contents
Introduction
LocalyzerQA Video
The 4'30" video below introduces LocalyzerQA
For supported versions, please see: Lingoport_Suite_Installation#Supported_Versions
Linguistic Review Made Easy
Lingoport Localyzer facilitates the process of translating resource file (properties, resx, json, etc.). LocalyzerQA is focused on the Linguistic Review process of a running application after translation. A Linguistic Reviewer may be an application specialist who is native in a language, an in-country in-company person, a member of a localization team, or a member of a translation team.
Without LocalyzerQA, the linguistic review process tends to be cumbersome. For example, Linguistic Reviewers may navigate the application based on an email sent by the dev team, then when finding an issue: screen shot the page, highlight the text to be corrected, open a defect in a bug tracking system, assign it to a manager who will then have to find which team/dev/repository that may belong to, have a developer (who is busy with feature development) figure out where the error is located for a string in a language they most likely don't speak and may not even read (think Chinese or Japanese for an English speaker), and send the file with a correction via email to a language service provider. The language service provider team then needs to handle that retranslation: start a workflow, assign that correction, return the correction, send the correction some time later back to the dev team (which may be busy with some other tasks), figure from the email where to push the file back, and finally have a correction in the repo. This tends to take days.
With LocalyzerQA, this process takes minutes and does not involve developers.
User Guide
Prerequisite
Before using LocalyzerQA, Localyzer must be configured with Trackback Localize. see
Configuration / Managers
Executing a Linguistic Review / Linguists and Managers
LocalyzerQA Main Concepts
Users: Managers and Linguists
Users in LocalyzerQA can have two roles:
- Manager: They set up other Managers and Linguists, Applications, Review, and Tasks, and assign and perform Tasks.
- Linguist: They execute Tasks, i.e. they do the review for a locale (a task) as per the manager's instructions for that review.
Applications
An application is what the Linguists (and Managers) will review. It can be a Web Application, or a Device based application, any application that Localyzer has on-boarded for translation. An application configuration includes the list of target locales.
Reviews
A Review is a set of directive which can be applied to an application. An application can have reviews for a small increment of development, like a sprint, or part of an application, like the registration pages, or an initial full application review, or an ad-hoc spot check. The same review applies to all or some of the locales in the application.
Just like for the functional QA of an application, a review is assigned to a user (a Manager or a Linguist) for execution.
Tasks
A task is a review for a locale. A French linguist should not review the Japanese application. So for a given review, the French task will be assigned to a French linguist, the Japanese task to a Japanese linguist.
Post Edits
The post edits are the corrections made by the linguists for a task. Post edits are handled automatically by the Localyzer backend.
Localyzer Trackback locale
Localyzer creates trackback files for a configured locale, by default 'ia' or Interlingua. (The reason for this default locale is that most browsers support interlingua and interlingua is not an actual market locale for typical application.) The trackback files contain a key and the original source text. The key allows the system to identify the resource in a repository, branch, resource file on-boarded in Localyzer.
For example, if, for a UI label,
- the original messages.properties files contains
welcome.title=Welcome
- a typical translated file, say French, would have the translated messages_fr.properties file with
welcome.title=Bienvenue
- and the trackback file messages_ia.properties would have
welcome.title=143.9278 Welcome
The UI label would display:
- Welcome when the locale is set to English,
- Bienvenue when the locale is set to French,
- 143.9278 Welcome when the locale is set to Interlingua
Handling Errors
- LocalyzerQAMissingInfo
- LocalyzerQAInvalidLocale
- LocalyzerQAInvalidKey
- LocalyzerQAEncodingError
- LocalyzerQANotFoundParameter
- LocalyzerQAUnknownError
- LocalyzerQANotFound
- LocalyzerQAIcuMsgformatError
- LocalyzerQAUnknownFormatError
- LocalyzerQAFileTooBig
- LocalyzerQANonWritableFile
LocalyzerQA Release Notes
For supported versions, please see: Lingoport_Suite_Installation#Supported_Versions
Licensing
New LocalyzerQA Installation
Create the database conf file
Use the default user for Docker which is /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. The mysql and conf.d folders may need to be created as well.
vi /home/<user>/mysql/conf.d/mysql.cnf
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4
Configuration
Request the LocalyzerQAInstall.zip file from your customer success engineer. The zip file contains four files:
install.conf InstallLocalyzerQA.sh UninstallLocalyzerQA.sh UpdateLocalyzerQA.sh
Copy the above files under your home directory, for instance <user>/localyzerQAInstall
where <user> may be /home/centos
or /home/ec2-user
.
Set up install.conf
Fill in your home directory, DB password, serverURL and port number, your Docker Hub username and token. The initial version number will be provided for the first installation. For updates, this will be the only parameter to change in the install.conf
file.
Run InstallCommandCenter.sh
chmod +x InstallLocalyzerQA.sh sudo ./InstallLocalyzerQA.sh
To check the running container status
sudo docker ps
If you need to re-run the InstallLocalyzerQA.sh, make sure to run UninstallLocalyzerQA.sh first to clean your environment.
Note: Docker image version is not the Command Center version, check latest docker image version at https://hub.docker.com/repository/docker/lingoport/localyzerqa/general
You should see at least an MySQL and a LocalyzerQA container running.
LocalyzerQAUpdate
Update install.conf
Change the version number in the install.conf to get the LocalyzerQA image update version.
localyzerqa_image_version=<new version number>
Run UpdateCommandCenter.sh
chmod +x UpdateLocalyzerQA.sh sudo ./UpdateLocalyzerQA.sh
To check the running container status
sudo docker ps
Start and Stop System
- From Command Center, as an administrator, go to settings and click 'Restart'
- From the VM, use docker commands to stop or start Command Center. For example:
sudo docker ps sudo docker stop <hash> sudo docker ps sudo docker container ls -a | grep command sudo docker start <hash> sudo docker ps
Uninstall
sudo ./UninstallLocalyzerQA.sh Uninstalling the LocalyzerQA Servers ...
sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
FAQ and Troubleshooting
Make sure the Server URL is reachable
Navigate to the server URL set up in install.conf
: is the login screen available?
If it is not, first check that the docker container is up and running. Make sure both lingoport/localyzerqa
and mysql
are running.
sudo docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d9da7a80e0a lingoport/localyzerqa:80 "catalina.sh run" 3 days ago Up 6 hours 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp pedantic_aryabhata 683c55907c06 mysql:5.7 "docker-entrypoint.s…" 3 days ago Up 6 hours 3306/tcp, 33060/tcp quizzical_newton
Check with IT that the DNS for that system is correct.
Check with IT that the firewall allows for reaching the URL from your system.
Ask IT to check the https and the server URL / DNS.