Localyzer Dashboard FAQ

From Lingoport Wiki
Revision as of 16:27, 26 July 2019 by Rdaly (talk | contribs) (What are critical errors and how do I fix them?)
Jump to: navigation, search

The Resource Manager Completion widget indicates 100% but some kits are outstanding. What does it mean?

DashboardCompleteVTranslation.jpg

The Completion widget is based on the base files (say, en US files) and the translated files (say de and fr) to determine how many keys, how many files, how many base words do not have a translation. If the French files, the keys in the base file, and the translated texts are present, the Completion widget will say 100%.

If the base file text (en US for instance) has been modified, prep kits should be sent for translation. The source files still have the equivalent translated files, with all the keys and all the text, so it remains at 100%.

I keep getting an error on ./sonar start

You can try to start Sonar by launching this command in $DASHBOARD_HOME:

  java -Djava.awt.headless=true -XX:MaxPermSize=128m -server -Xmx512m -Xms256m -cp lib/*:extensions/jdbc-driver/derby/*:extensions/jdbc-driver/mssql/*:extensions/jdbc-driver/mysql/*:extensions/jdbc-driver/oracle/*:extensions/jdbc-driver/postgresql.*:. org.sonar.application.StartServer

Sonar starts but then stops

This FAQ is for older versions of the Lingoport Dashboard. Systems installed after May 2018 no longer use port 9000 and this may no longer be applicable.

After starting Sonar, check the status multiple times. Sometimes, it will say that it started, but then quit after a few seconds.

> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.

> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh status
SonarQube is running (13880).
> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh status
SonarQube is running (13880).
> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh status
SonarQube is not running.

Check to see if the process is still up, even though Sonar thinks it is down. If there is no output, the process is not running.

> fuser 9000/tcp
9090/tcp:            14118
> fuser 9001/tcp
9010/tcp:            13905

Kill the processes using the following commands:

> fuser -k 9000/tcp
9090/tcp:            14118
> fuser -k 9001/tcp
9010/tcp:            13905

And start the sonar process again and check the status multiple times.

> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.

> /var/lib/jenkins/lingoport/dashboard-server-5.6.1/bin/linux-x86-64/sonar.sh status
SonarQube is running (13880).

Unable to read and import the source file: What do I do?

I'm getting this error when importing files using the Dashboard_Update.sh:

ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Unable to read and import the source file : 'FILENAME HERE' with the charset : 'UTF-8'.
ERROR: Caused by: Unable to persist : SnapshotSource[snapshot_id=120719,data=<?php
[...]                                                                                                                                            ERROR: Caused by: org.hibernate.exception.GenericJDBCException: could not insert: [org.sonar.api.database.model.SnapshotSource]                                                                                                                                       ERROR: Caused by: could not insert: [org.sonar.api.database.model.SnapshotSource]                                                                                                                                         ERROR: Caused by: Incorrect string value: '\xF0\x9F\x8F\x81  ...' for column 'data' at row 1

This indicates that the import part of the Dashboard is trying to read a file with an encoding (here UTF-8) which is not the encoding of the file to read, or the file is corrupted for that encoding.

Some possible solutions:

  • Exclude the offending file(s) from being imported using sonar-project.properties sonar.exclusions=com/example/tests/**,com/example/package2/*.java.
  • Change the encoding of the Dashboard import using sonar-project.properties sonar.sourceEncoding=Cp1252 or whatever is the right encoding for the project.

What are the LRM Source Issues ?

In the Resource Manager Dashboard, the number of LRM Issues is shown.

LRMSourceIssues.jpg

Selecting the issues will show all the issues and the cause for that issue and you can see the breakdown in the types of issues using the selections on the left side of the page.

LRMIssues.jpg

For this case, the majority of the issues are LRM Src Tran-Missing File Check and LRM Src Tran-Missing Key Check which simply mean that the files have not been translated yet, so there are no translated files or keys.


See LRM Checks for more information about these issues. Unless the issues are 'Critical', these are warnings and prepkits can still be created.

What are critical errors and how do I fix them?

Suppose you have a .properties resource file that looks like:

AKEY_1=Well, my heart went boom
AKEY_1=When I crossed that room
AKEY_2=
AKEY_3=And I held her hand in mine
we danced through the night
AKEY_4={num_of_beatles, plural, one{Ringo}}
AKEY_5=And we held each other tight

When the automation job is run that contains that resource file, the result on the LRM Dashboard will look like:

LRMCriticalErrors.jpg

Since there are critical errors, no prepkits can be created. Selecting the red text will go to the Issues page to see what the critical errors are. Opening up the file, there are actually 4 issues, but only 3 of them are critical.

LRMAllIssues.jpg

The three critical issues are:

  1. There are two AKEY_1 values. Cannot have duplicate keys.
  2. "we danced through the night" has no associated key
  3. AKEY_4={num_of_beatles, plural, one{Ringo}} is badly formatted ICU.

And one Minor issue:

  1. AKEY_2 has no associated text.

Fix the critical issues, check the resource file into the repository and run the automation job again and the critical errors on the LRM Dashboard should disappear.

Why am I getting this Date Format Check?

Date formats should not be the responsibility of a translator. Developers must write i18n code which handle formatting based on a locale framework.

The Date Format check is based on Java's Date Format syntax: https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html

This check indicates a string in a resource string could be a date format. For instance, the following text could be date formats:

  • mm/dd/yyyy
  • D
  • F
  • km
  • h:m
  • mm
  • m/s

and are tagged as such potential date format.


  • 'F' could be the "day of the week in months", etc.