Introduction

From Lingoport Wiki
Revision as of 17:52, 10 December 2019 by Rdaly (talk | contribs) (The Lingoport Dashboard)
Jump to: navigation, search

Lingoport - Overview

Lingoport provides products and services which help our clients meet internationalization and ongoing localization challenges relating to software development and active globalization.

Services

Lingoport has been providing software internationalization (i18n) consulting services since the company's inception in 2001.

These services include:

  • I18n Analysis - plan for new i18n projects, or gap analysis for mitigating i18n issues. A Lingoport architect and supporting team members clarify i18n business, technical and resource requirements based on market requirements, development discussions, programming technologies and Globalyzer scanning results.
  • I18n Implementation - Lingoport provides i18n development teams that can work in a hybrid approach, collaborating with client teams, as well as in turnkey fashion.
  • General i18n Consulting and Custom Projects - Sometimes specific problem solving or i18n bug fixing is needed. Lingoport can fulfill that resource need, working in coordination with your teams.

Products

LingoportProducts.png

Globalyzer – Supports individuals and entire development teams in finding, fixing and maintaining internationalization issues in code in a broad list of programming languages. (More information at Lingoport.com/Globalyzer).

Lingoport Resource Manager – Provides simplified resource file management, verification and translation updating. LRM helps development and localization teams keep up with initial and ongoing application interface resources, their translation and automated re-insertion into product builds. (More information at Lingoport.com/LRM).

InContext Translation - The translator can see the context of strings in the translation management system (TMS) or computer assisted translation (CAT) system.

InContext QA - Enables reviewers to verify translations in their context and make improvement suggestions improving test and resolution of translation issues.

In addition to the products, Lingport has several integrated components to create & maintain software for any language or cultural format in every release increment :

  • Dashboard: The hub of our suite. See it all, drill down, create notifications and manage the process. Bridge gaps between localization & development. Increase visibility and track globalization metrics.
  • IDE (Integrated Developement Enviroment) Integration: Developers can identify and fix globalization and localization issues in real time.
  • LingoBot : Slack and MS Teams system integration

Together with the products and assorted specialized applications, Lingoport enables continuous tracking and updates to the internationalization and localization status of software products.

The Lingoport Products help software engineering teams with the globalization tasks:

Contact Information:

Phone: +1 303-444-8020

Email: info at Lingoport.com

Lingoport, Inc.

An Example of the Lingoport Products

The Lingoport Dashboard

  • Displays the overview and details of Globalyzer scans and the Resource Manager translation status
  • Users may view Globalyzer and Resource Manager issues in context within the source code.
  • Runs on the Continuous Globalization System

NewResourceManager.png

Here is an example of the Lingoport Dashboard. This is the Dashboard Home page which shows several Lingoport Projects defined. For the project CET.NOAAWeather, there are 145 Globalyzer Issues, it is 97.6% complete. The project uses LRM and is 0.0% translated.

If CET.NOAAWeather is selected, we open a more detailed overview of the Lingoport Suite functions.

Lingoport Overview

NewOverview.jpg

This page shows the summary of the Globalyzer Scan and the Resource Manager (LRM) status.

This shows that the Globalyzer Scan identified 28 Concatenations, 1 Embedded String and 116 Locale-Sensitive Methods. Selecting Globalyzer Summary goes to the Globalyzer page with more details about the scans.

The Resource Manager (LRM) shows 1 Base Resource File to be translated into 4 Target Locales and it is 0% Complete. Selecting Resource Manager Summary Report goes to the Resource Manager page with more details about about translation.

The licensing dates are prominently shown and the number of Globalyzer and Resource Manager issues.

In the top right of the window, the date shown is the last time the Dashboard was updated.

Resource Manager

The Lingoport Resource Manager (LRM) manages resource files as they are sent to and returned from the translation management system.

  • Detects issues in resource files (duplicate or missing keys, parameter mismatch in text for different languages, etc.)
  • Detects changes to base resource files. Then sends relevant changes out to the translation vendor for translation into other languages.
  • Automatically retrieves translations from translation vendors and checks those changes into the source control repository.
  • Runs on Continous Globalization System to populate the Lingoport Dashboard.

Dashboard lrm.jpg

This screen shows the details for the Resource Manager (LRM) status for project CET.NOAAWeather.

Notice the Resource Manager Completion Report in the lower right side. This shows the 4 locales and each of them are 93% completely translated. There is 1 file with 4 keys and 14 words that need to be translated for each locale.

The Next Prep Kit Content, there are no new files to send to translation. This indicates that the base resource file has not changed since the last kit.

In Prep Kit Due Dates, there are two prep kits (number 3 and 4) that are outstanding. The prep kits are at the translation vendor and they are 2 days late returning.

Globalyzer

Scans code and detects internationalization (i18n) issues

    • Connects to the Globalyzer server and logs in.
    • Downloads rule sets from server, or uses local rulesets.
    • Uses rule set to scan code.
    • Displays the i18n issues.
    • Can run on developer machines in an Integrated Development Environment
    • Runs on the Continuous Globalyzation System - these results are displayed on Lingoport Dashboard (see Data Path)

Dashboard globalyzer2.jpg

The Globalyzer screen shows more of the details of the Globalyzer Scans. For this example, looking at the Globalyzer Scans at the bottom left of the screen, we see that only one scan was done. It was a scan named java based on the Rule Set named java05182016 which found 144 issues in 6154 lines and 65 files.

These issues are identified as Major, Critical or Minor in the Globalyzer Issues pie chart.

If Issues is selected under CET.NOAAWeather, more detail of the identified issues can be seen.

Issues

Dashboard issue.jpg

The Issues page shows all the selected issues. In this case, it is showing 160 issues, all of the Globalyzer (144) and LRM (16) issues.

For the issue at the top of the screen, the file ImageTask.java has a Locale Sensitive Method issue with the use of the java.lang.String method toLowerCase. Selecting the file will show the issue in the code.

Lingoport Product Details

Globalyzer

Lingoport's Globalyzer scans source code for internationalization issues. It uses sets of regular expression based rules ('rule sets') on tokens found by lexers/parsers to detect these issues and to filter false positives. These rule sets are synced and stored on a single server, and may be downloaded onto numerous client applications which perform the source code scans. Please note that the rule sets are only lists of regular expressions, and do not contain any code.

Client applications include an IDE tool ("Globalyzer in IDE"), a desktop client ("Globalyzer Workbench"), command line clients ("Globalyzer CLI" and "Globalyzer Lite"), and an API that may be used to construct custom programs including Globalyzer code scanning functionality. Client applications may produce scan results in XML, CSV, HTML and Excel formats. Results are also consumed by the Lingoport Dashboard to be analyzed and displayed. The desktop client may also be used to view the results directly. It may be used to scan files that developers are working on, and will display the scan results in the IDEs console output window.

Globalyzer Server - allows development teams around the world to share and collaborate together using high powered internationalization rule sets during scanning of code. Development Teams can set up their own server, or use Lingoport's Globalyzer Server to set up users and rule sets.

Globalyzer Clients

  • Globalyzer Lite in IDE - It is ideal for scanning code for internationalization issues on the fly and generating corresponding reports. It does not require an external database. Globalyzer Lite parses and executes Globalyzer Lite Project Definition XML files. Globalyzer Lite in IDE can be incorporated into developers' IDE platforms for a true continuous improvement and development system.
  • Globalyzer Workbench - provides a fully functional code analysis and editing environment for finding, fixing, testing and reporting on internationalization issues in a wide variety of programming languages. Globalyzer Workbench runs as a stand-alone desktop editor in an Eclipse Environment.
    • Creates the Project Definition XML files.
    • Sets up the Machine Learning environment.
    • Updates Rule Sets on the server and exports them to the local clients.
    • Creates the resource files to be used by LRM.
  • Globalyzer Command Line - create automated Globalyzer scans as part of your continuous integration so that you can report and track internationalization issues over time. There is also a Globalyzer Ant Client, Maven Client and XSL Client.
  • Globalyzer API - allows you to create Globalyzer projects and scans, execute scans, and generate reports from a Java program.

Lingoport Resource Manager (LRM)

The Lingoport Resource Manager (LRM) manages resource files, which contain application text as key-value pairs (the keys are used in the application to retrieve the associated text). Resource files are typically translated across languages as part of the localization process. LRM is used to determine the translation status of these resource files using a MySQL database. It also automates the process of sending text out to translation vendors when changes are made to be base (usually English) application text. LRM is often used in Jenkins scripts to automate translation.

LRM also performs various checks regarding the resource files. These checks include confirmation of file integrity, detection of duplicate or missing keys, and numerous other validations. When a translation vendor returns translated text for these resource files, LRM will detect the new content and perform its validations. If the validations pass then LRM will merge the new translations into appropriate resource files and check these in to source control. The check-in is typically done on a dedicated localization branch.

InContext Translation

Used by translators, resource files are instrumented as they are sent to translation management systems so that they can see the string in the application and its context in order to translate more effectively.

InContext QA

The translation reviewer can easily select instrumented resources in an application, identify poor translations, and give suggestions for making improvements. InContext QA greatly improves the translation quality assurance process and can be a vital part of the continuous improvement environment.

Lingoport Dashboard

The Lingoport Dashboard displays the internationalization and localization status of software projects. The Lingoport Dashboard scans source code and reads in XML reports generated by Globalyzer and the Lingoport Resource Manager (LRM). It then sends the information to the web server built on the SonarQube platform and displays the information in an easy to digest fashion. This information includes all detected internationalization issues, which may be viewed in source code - with the affected line(s) highlighted. The translation status, translation history, and current translation efforts for projects are also displayed.

Stack Installer and Stack Updater

The Lingoport Stack Installer and the Stack Updater are automated tools to install, or update, and configure the Continuous Globalization System and the Lingoport Dashboard Server and Client. They install and configure prerequisite software programs and then install, or update, LRM, Globalyzer client, and Lingoport Dashboard.

Jenkins (not a Lingoport program)

  • Web application used to automate running of Globalyzer Client, Resource Manager and updating of the Lingoport Dashboard
  • Various security options available, username/password is most common. LDAP is another option.
  • Run on Linux system