Difference between revisions of "About Globalyzer"

From Lingoport Wiki
Jump to: navigation, search
(Globalyzer Client Open Source Libraries)
 
(69 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Lingoport’s Globalyzerr was designed to bring internationalization to the forefront and facilitate making software world-ready a priority. See for yourself how Globalyzer generates an assessment of internationalization readiness and applications for real-time i18n detection, validation and resolution by requesting a [http://www.lingoport.com/software-internationalization-products/globalyzer-3/free-globalyzer-trial-internationalization-software/ free trial of Globalyzer].
+
Lingoport’s Globalyzer was designed to bring [[Terms_and_Definitions#internationalization|internationalization]] to the forefront and facilitate making software world-ready a priority. Globalyzer generates an assessment of internationalization readiness and applications for real-time [[Terms_and_Definitions#i18n|i18n]] detection, validation, and resolution. Globalyzer finds and fixes internationalization (i18n) issues in source code including: embedded strings, locale-sensitive methods/functions/classes (e.g. date/time, number formatting, collation, encoding and more), custom programming patterns, and static files.
   
  +
== Overview ==
  +
Globalyzer is a product with a long history that has evolved to do many different things and perform different tasks. The unifying thread is the idea of a scan of code using rulesets developed for the code language that identifies localization and internationalization issues.
  +
  +
Some internationization areas that Globalyzer helps in the detection of :
  +
  +
* Embedded strings in code
  +
* String concatenations
  +
* Date/Time formatting and parsing issues
  +
* Number formatting and parsing issues
  +
* Currency formatting issue
  +
* Character encoding issues
  +
* Images and other static file references that may be locale-dependent
  +
* External links that may be locale-dependent
  +
* Text Collation and Comparison issues
  +
* Address and Phone references (with some Globalyzer custom configuration)
  +
* Issues in SQL stored procedures
  +
* Issues in database schema
  +
  +
=== Globalyzer Server ===
  +
The Globalyzer Server is the repository of the Rule Sets. If you are an administrator, the Globalyzer Server is also where the Globalyzer license is managed and where teams are created. Rule Sets are tailored to each language to identify localization issues in code.
  +
  +
For more detail about RuleSets, see [[Globalyzer Server and Rule Sets]]
  +
  +
[[file:myRuleSets.png |800px]]
  +
  +
The user can create new rulesets using the default ones provided by Lingoport. This user has 4 rule sets, for the following languages: java, html and javascript. They are all enabled and are shared with the rest of the team.
  +
  +
[[file:CustomizeRuleSet.png |800px]]
  +
  +
When the ruleset is selected the Customize Rule Set comes up and the user can save the default values or make changes to detect different things. If the user selects Locale-Sensitive Methods detection, the specific items that Globalyzer look for come up.
  +
  +
[[file:EditLSM.png |800px]]
  +
  +
=== Globalyzer Workbench ===
  +
  +
Once rule sets have been created, then the code can be scanned with the rulesets to show the localization and internationalization issues. Globalyzer does not modify any code during scans.
  +
  +
Globalyzer Workbench is a powerful tool based on the Eclipse IDE which identifies issues and allows users to make changes to the code, the rule sets or choose to ignore the issue.
  +
  +
=== Globalyzer for IDE ===
  +
  +
For instructions on how to use Globalyzer in an IDE like IntelliJ, Eclipse or Visual Studio go to [[Globalyzer in IDE]].
  +
  +
=== Globalyzer for CI/CD (Continuous Integration / Continuous Deployment ===
  +
  +
The example below shows the results of a Globalyzer Scan for a project.
  +
  +
[[File:GlobalyzerDashboard.png| 800px]]
  +
  +
*The project has been scanned with a '''JavaScript ruleset''' that resides locally on the server.
  +
*It scanned '''28 files''' and '''168,905 lines of code'''.
  +
*The scan found '''4,016 internationalization issues'''.
  +
*Of those issues, '''1,870''' were '''Embedded Strings'''; strings that have been hard-coded into the project instead of using key/value pairs in a resource file.
  +
  +
If we look at the Issues, we can look at the problems in the code. For one file:
  +
  +
[[File:GlobalyzerIssues.png| 800px]]
  +
  +
This shows the locations of three lines where the Globalyzer Scan identified Embedded Strings in the code.
   
 
== Getting Started Videos ==
 
== Getting Started Videos ==
 
The following videos introduce Globalyzer:
 
The following videos introduce Globalyzer:
[http://www.youtube.com/watch?v=bZ-MVm8Rg20&feature=related Globalyzer Quick Tutorial] organizes the videos below in one logical sequence.
 
   
[http://www.youtube.com/watch?v=lz-Rqk9A_MI What is Globalyzer]
+
* [http://www.youtube.com/watch?v=lz-Rqk9A_MI What is Globalyzer]
   
[http://www.youtube.com/watch?v=KekqNF3UVDA&list=PL5D32E3B1CD35A374 Creating a Project in Globalyzer]
+
* [http://www.youtube.com/watch?v=KekqNF3UVDA&list=PL5D32E3B1CD35A374 Creating a Project in Globalyzer]
   
[http://www.youtube.com/watch?v=Q1mk2BdRjU4&feature=BFa Scanning Code and Refining Rules]
+
* [http://www.youtube.com/watch?v=Q1mk2BdRjU4&feature=BFa Scanning Code and Refining Rules]
   
[http://www.youtube.com/watch?v=M7xMZlRWcSA&feature=BFa Fixing i18n Issues]
+
* [http://www.youtube.com/watch?v=M7xMZlRWcSA&feature=BFa Fixing i18n Issues]
   
[http://www.youtube.com/watch?v=Gu9y08MzDpw&feature=BFa Generating i18n Reports]
+
* [http://www.youtube.com/watch?v=Gu9y08MzDpw&feature=BFa Generating i18n Reports]
  +
  +
== Pre Flight Check ==
  +
Globalyzer is used as part of i18n projects. Before starting off on a project, it is recommended to do a [[Pre Flight Check|Pre Flight Check]] to help guide how to set up your Globalyzer projects.
   
 
== Language Support ==
 
== Language Support ==
  +
Globalyzer allows users to scan a number of source code in different programming languages:
Globalyzer allows users to scan ActionScript, C#, C/C++ (Windows, ANSI), Delphi, HTML (in various web files), Java, JavaScript, Objective-C, MXML, Perl, PHP, Qt, SQL (Oracle, MS SQL, MySQL, PostgreSQL), XML, Visual Basic (Classic, .NET), and VBScript source code for internationalization issues and will assist you in fixing those issues.
 
  +
* ActionScript
  +
* C#
  +
* C/C++ (many variations)
  +
* Delphi
  +
* HTML (in various web files)
  +
* Java
  +
* JavaScript (includes AngularJS, NodeJS, and other libraries)
  +
* Objective-C
  +
* MXML
  +
* Perl
  +
* PHP
  +
* Qt
  +
* SQL (Oracle, MS SQL, MySQL, PostgreSQL)
  +
* Swift2
  +
* Visual Basic (Classic, .NET)
  +
* VBScript
  +
* XML
  +
  +
Globalyzer detects internationalization issues and assists you in fixing those issues.
   
 
Globalyzer is flexible in its programming language support and can be adapted to support any language not listed.
 
Globalyzer is flexible in its programming language support and can be adapted to support any language not listed.
   
== FAQ ==
+
== Globalyzer Components ==
  +
Globalyzer consists of two main components: the [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] and the Globalyzer Clients. The Globalyzer Clients consist of the Globalyzer Workbench, the Globalyzer Command Line, Globalyzer Lite, Globalzyer API, and the Globalyzer Maven Plugin.
Further information: [[Globalyzer FAQ]]
 
   
  +
<b>Globalyzer Server</b> - allows development teams around the world to share and collaborate together using high powered internationalization [[Terms_and_Definitions#ruleset|rule sets]] during [[Terms_and_Definitions#scan|scanning]] of code.
== Licensing ==
 
   
  +
<b>Globalyzer Workbench</b> - 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 can be licensed in a hosted account configuration, where Lingoport hosts the Globalyzer server, or as a Team server, hosted within your company’s network. Globalyzer is licensed based on organizational use as internationalization is a team development activity and ongoing process. Please contact sales@lingoport.com for more information.
 
   
  +
<b>Globalyzer Command Line</b> - create automated Globalyzer scans as part of your continuous build integration so that you can report and track internationalization issues over time.
You can also try Globalyzer with a Demo Account. Demo Accounts have two limitations: 1) Globalyzer limits the number of internationalization issues it will report on to approximately 100. 2) You will not be able to see or modify Locale-Sensitive Methods for your Globalyzer Rule Sets.
 
   
  +
<b>Globalyzer API</b> - Allows you to create Globalyzer projects and scans, execute scans, and generate reports from a Java program.
== Release Notes ==
 
<h2>The following lists new features in the Globalyzer 4.3 release.</h2>
 
This release includes various bug fixes and the following new features.
 
<ul>
 
<li><b>Shared Globalyzer Projects:</b>
 
Globalyzer project and scan configuration (without scan results) can now be shared.
 
Instead of explicitly importing and exporting projects, Globalyzer
 
manages these tasks automatically, enabling team members to work on
 
the same project seamlessly.
 
See the Shared Projects reference page for more information on how to use this new feature.
 
</li>
 
<li><b>Import/Merge:</b>
 
When importing a Globalyzer project that already exists in your workspace, you now have the
 
option to either <i>Overwrite</i> or <i>Merge</i>. Overwrite deletes your existing project before
 
importing the new one; merge combines the imported project with
 
your existing one.
 
</li>
 
<li><b>Globalyzer Data Directory Location:</b>
 
During Client Installation, you are now prompted for the location of the
 
Data Directory, where Globalyzer stores application data and log files
 
as well as the optional HSQLDB database. The default is [userhome]/.globalyzer, but this can
 
be set to another location.
 
</li>
 
<li><b>Additional Help on Headless Globalyzer Install:</b>
 
The Client Installation download page includes instructions on how to install the Globalyzer Client
 
via a script as opposed to a GUI. You'll want to use this when installing Globalyzer to build machines
 
where Globalyzer scanning can be part of the nightly build.
 
</li>
 
<li><b>Suggested Rule Sets for Unsupported Languages:</b>
 
The Create Rule Set reference page provides Rule Set suggestions for
 
currently unsupported languages.
 
</li>
 
<li><b>File Inspector Report Line Counts:</b>
 
Line counts have been added to File Inspector Reports.
 
</li>
 
</ul>
 
<h2>The following lists new features in the Globalyzer 4.2 release.</h2>
 
This release includes various bug fixes and the following new features.
 
<ul>
 
<li><strong>Objective-C Rule Set</strong>: We've added this important rule set to help you internationalize your iOS and other Objective-C applications. In addition to scanning for i18n issues in Objective-C source code, Globalyzer supports string externalization to Objective-C's preferred text resource file type: <i>strings</i> .</li>
 
<li><strong>Ability to Assign Rule Sets to Others</strong>: Though team members can share rule sets, only the rule set owner can made modifications. This feature facilitates passing rule set ownership to another. Just edit the rule set and select a new owner in the Owner dropdown.</li>
 
<li><strong>Launch Client without First Creating a Rule Set on the Server</strong>: This feature supports the natural process of using Globalyzer: first create a Project, then run File Inspector, then create Rule Sets and Scans.</li>
 
<li><strong>Create Rule Sets from the Client</strong>: To facilitate rule set creation, Globalyzer now supports the ability to create new rule sets directly from the Client. You may still want do some customization on the Server, but it's now even easier to create that first set of rule sets as you're running the Client, creating your Globalyzer Project and looking at the results of your File Inspection report to determine which rule sets you'll need for scanning your source code.</li>
 
<li><strong>Additional default Scan Views</strong>: In addition to All Active, there are now default Scan Views for Priority 1, Priority 2, Priority 1 and 2, Ignore, Invalid, ToDo, Filtered, All, and All but Active and Filtered.</li>
 
<li><strong>Notification of Newer Globalyzer Versions on Client Startup</strong>: On Client startup, a popup displays if there is a newer version of the Client available or if there is a Client/Server version mismatch; the popup includes a link to the latest Client download.</li>
 
<li><strong>Demo Results displayed based on Priority</strong>: When a demo user executes scans, up to 100 active results are reported. This feature focuses on reporting mostly higher priority issues. It reports 50 Priority 1 issues, 30 Priority 2 issues, 20 Priority 3 issues, 5 Priority 4 issues, and 5 Priority 5 issues.</li>
 
</ul>
 
<h2>The following lists new features in the Globalyzer 4.1.1 release.</h2>
 
This release includes various bug fixes and the following new features.
 
<ul>
 
<li>Additional options when pseudo-localizing your resource files:
 
<ul type="circle">
 
<li>Pseudo-localize all your base resource files at one time by using the new <strong>Localize All</strong> button.</li>
 
<li>Use the new <strong>Start</strong> and <strong>End</strong> fields to specify characters to be displayed before and after each string. This helps you quickly identify layout issues where the full string is not fitting. For example <strong>[</strong>String<strong>]</strong></li>
 
<li>You can also specify that each character of the string itself be replaced by an accented character for easier differentiation from English strings. For example <strong>Šţŕîñĝ</strong></li>
 
</ul>
 
</li>
 
<li><strong>Support for Delphi RC resource file type:</strong> The Delphi language requires its own version of the RC resource file type. Upon string externalization, a .pas file is created and updated, along with the .h and .rc files.</li>
 
<li><strong>.NET Tutorial:</strong> To accompany our Java tutorial, the .NET tutorial takes your through the basic steps involved in internationalizing a simple .NET Web application.</li>
 
</ul>
 
   
  +
<b>Globalyzer Lite</b> - Application for scanning code for internationalization issues on the fly and generating corresponding reports. It does not require an external database.
<h2>The following lists new features in the Globalyzer 4.1 release.</h2>
 
<p>With this release, we have added features to streamline the scanning and filtering process, enhance resource file management, and improve overall scanning efficiency.</p>
 
<ul>
 
<li><strong>Refine your Rule Set from within the Client: </strong>The Globayzer Client now allows you to create both filter and detection rules, rescan your code to see their effects, and update the Rule Set on the server when you are satisfied with the results. This Scan Result driven approach to fine-tuning your Rule Set should help you significantly streamline your scanning and filtering process.</li>
 
<li><strong>Prioritize your internationalization work: </strong>Globalyzer now prioritizes its locale-sensitive method, general pattern, and static file reference detections (in addition to embedded string detections implemented in version 3.5), helping you focus on the most likely issues first. These priority settings can be customized. You&#8217;ll see the priority breakdown both on screen and in the many reports that are provided for you to track and manage your progress.</li>
 
<li><strong>Retain and prioritize strings passed to specified methods:</strong> Rule Sets now include a new detection, called String Method Patterns. This feature allows you to specifically identify methods that are passed strings that would be displayed to the end user. For example, in javascript we have added <em>confirm</em>, in C# <em>Show</em>, and in java <em>JLabel</em>. By identifying these types of methods and configuring them in your Rule Set, you can set the priority for these string detections and ensure that they are addressed during your internationalization process.</li>
 
<li><strong>Disable Scan Feature:</strong> Scans can now be disabled. Disabled scans can be configured but are not scanned (automatically or manually) and the scan results are not available/displayed. This feature is useful for limiting the amount of rescanning that occurs when configuring scans. The user can focus on one scan, disabling the others.</li>
 
<li><strong>All resource types now support group mode:</strong> In group mode, externalized strings are grouped by file in the resource file.</li>
 
<li><strong>All resource types now support comments:</strong> Comments can be added to resource files and will be preserved during subsequent string externalizations.</li>
 
</ul>
 
   
  +
<b>Globalyzer Maven Plugin</b> - Application for scanning MVN projects. Simply download and install the plugin into a private MVN repository and configure your pom.xml file to scan and generate reports.
<p>Globalyzer 4.0 takes advantage of the Eclipse Integrated Development Environment. The Globalyzer 4.0 Workbench can be installed as a stand-alone
 
application or as an Eclipse 3.7 plugin. This new architecture means you’ll be able to check out source, scan and fix
 
internationalization issues with Globalyzer, build and run with your modifications,
 
and check in your changes, all within your development environment!</p>
 
   
  +
== Licensing ==
<p>Here are only some of the new capabilities you'll have with Globalyzer 4.0:</p>
 
<ul>
 
<li><b>Interact with source code repositories from the Workbench: </b> CVS is included with the Globalyzer Workbench;
 
plug-in for other source control systems can be easily added.</li>
 
<li><b>Manage multiple Globalyzer Projects from within the Workbench: </b>Just click on each Globalyzer Project in the Explorer Window to switch projects.</li>
 
<li><b>More powerful searching: </b>Search results are now in their own window for easy management.</li>
 
<li><b>New Resource File Editor: </b>Create and edit your locale-specific resource files and check for duplicate, missing and unused resource keys.</li>
 
<li><b>Improved Globalyzer Help: </b>To ensure that you have full use of Globalyzer, we've added several kinds of
 
help - Context sensitive, Cheat Sheets, as well as an extensive online Help System - all within the Workbench.</li>
 
<li><b>More powerful Project Explorer window: </b>With Eclipse's underlying support, Globalyzer's features
 
can be applied at subdirectory and file levels, giving you much more flexibility in how you do your
 
internationalization work.</li>
 
<li><b>Enhanced editing: </b>Enjoy the full editing capabilities of an IDE from within Globalyzer.</li>
 
<li><b>Plug-in extensibility: </b>Add additional functionality to your internationalization and
 
application development environment using Eclipse's plug-in support.</li>
 
</ul>
 
   
  +
Globalyzer can be licensed in a hosted account configuration, where Lingoport hosts the Globalyzer Server, or as an on premises Globalyzer Server, hosted within your company’s network. Globalyzer is licensed based on organizational use as internationalization is a team development activity and ongoing process. Please contact sales@lingoport.com for more information.
   
  +
You can also try Globalyzer with a Demo Account. Demo Accounts have two limitations: 1) Globalyzer limits the number of internationalization issues it will report on to approximately 100. 2) You will not be able to see or modify Locale-Sensitive Methods for your Globalyzer Rule Sets.
<p>Be sure to check the help and run a tutorial to get a better idea of Globalyzer 4.0's
 
  +
enhanced usability.</p>
 
  +
== Globalyzer Client Open Source Libraries ==
  +
The Globalyzer Clients use a number of open source libraries. For
  +
further information: [[Globalyzer Client Open Source Libraries]]
  +
  +
== Globalyzer Server Open Source Libraries ==
  +
The Globalyzer Server uses a number of open source libraries. For further information: [[Globalyzer Server Open Source Libraries]]
  +
  +
== Release Notes ==
  +
Further information: [[Globalyzer Release Notes]]

Latest revision as of 17:36, 25 August 2022

Lingoport’s Globalyzer was designed to bring internationalization to the forefront and facilitate making software world-ready a priority. Globalyzer generates an assessment of internationalization readiness and applications for real-time i18n detection, validation, and resolution. Globalyzer finds and fixes internationalization (i18n) issues in source code including: embedded strings, locale-sensitive methods/functions/classes (e.g. date/time, number formatting, collation, encoding and more), custom programming patterns, and static files.

Overview

Globalyzer is a product with a long history that has evolved to do many different things and perform different tasks. The unifying thread is the idea of a scan of code using rulesets developed for the code language that identifies localization and internationalization issues.

Some internationization areas that Globalyzer helps in the detection of :

  • Embedded strings in code
  • String concatenations
  • Date/Time formatting and parsing issues
  • Number formatting and parsing issues
  • Currency formatting issue
  • Character encoding issues
  • Images and other static file references that may be locale-dependent
  • External links that may be locale-dependent
  • Text Collation and Comparison issues
  • Address and Phone references (with some Globalyzer custom configuration)
  • Issues in SQL stored procedures
  • Issues in database schema

Globalyzer Server

The Globalyzer Server is the repository of the Rule Sets. If you are an administrator, the Globalyzer Server is also where the Globalyzer license is managed and where teams are created. Rule Sets are tailored to each language to identify localization issues in code.

For more detail about RuleSets, see Globalyzer Server and Rule Sets

MyRuleSets.png

The user can create new rulesets using the default ones provided by Lingoport. This user has 4 rule sets, for the following languages: java, html and javascript. They are all enabled and are shared with the rest of the team.

CustomizeRuleSet.png

When the ruleset is selected the Customize Rule Set comes up and the user can save the default values or make changes to detect different things. If the user selects Locale-Sensitive Methods detection, the specific items that Globalyzer look for come up.

EditLSM.png

Globalyzer Workbench

Once rule sets have been created, then the code can be scanned with the rulesets to show the localization and internationalization issues. Globalyzer does not modify any code during scans.

Globalyzer Workbench is a powerful tool based on the Eclipse IDE which identifies issues and allows users to make changes to the code, the rule sets or choose to ignore the issue.

Globalyzer for IDE

For instructions on how to use Globalyzer in an IDE like IntelliJ, Eclipse or Visual Studio go to Globalyzer in IDE.

Globalyzer for CI/CD (Continuous Integration / Continuous Deployment

The example below shows the results of a Globalyzer Scan for a project.

GlobalyzerDashboard.png

  • The project has been scanned with a JavaScript ruleset that resides locally on the server.
  • It scanned 28 files and 168,905 lines of code.
  • The scan found 4,016 internationalization issues.
  • Of those issues, 1,870 were Embedded Strings; strings that have been hard-coded into the project instead of using key/value pairs in a resource file.

If we look at the Issues, we can look at the problems in the code. For one file:

GlobalyzerIssues.png

This shows the locations of three lines where the Globalyzer Scan identified Embedded Strings in the code.

Getting Started Videos

The following videos introduce Globalyzer:

Pre Flight Check

Globalyzer is used as part of i18n projects. Before starting off on a project, it is recommended to do a Pre Flight Check to help guide how to set up your Globalyzer projects.

Language Support

Globalyzer allows users to scan a number of source code in different programming languages:

  • ActionScript
  • C#
  • C/C++ (many variations)
  • Delphi
  • HTML (in various web files)
  • Java
  • JavaScript (includes AngularJS, NodeJS, and other libraries)
  • Objective-C
  • MXML
  • Perl
  • PHP
  • Qt
  • SQL (Oracle, MS SQL, MySQL, PostgreSQL)
  • Swift2
  • Visual Basic (Classic, .NET)
  • VBScript
  • XML

Globalyzer detects internationalization issues and assists you in fixing those issues.

Globalyzer is flexible in its programming language support and can be adapted to support any language not listed.

Globalyzer Components

Globalyzer consists of two main components: the Globalyzer Server and the Globalyzer Clients. The Globalyzer Clients consist of the Globalyzer Workbench, the Globalyzer Command Line, Globalyzer Lite, Globalzyer API, and the Globalyzer Maven Plugin.

Globalyzer Server - allows development teams around the world to share and collaborate together using high powered internationalization rule sets during scanning of code.

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 Command Line - create automated Globalyzer scans as part of your continuous build integration so that you can report and track internationalization issues over time.

Globalyzer API - Allows you to create Globalyzer projects and scans, execute scans, and generate reports from a Java program.

Globalyzer Lite - Application for scanning code for internationalization issues on the fly and generating corresponding reports. It does not require an external database.

Globalyzer Maven Plugin - Application for scanning MVN projects. Simply download and install the plugin into a private MVN repository and configure your pom.xml file to scan and generate reports.

Licensing

Globalyzer can be licensed in a hosted account configuration, where Lingoport hosts the Globalyzer Server, or as an on premises Globalyzer Server, hosted within your company’s network. Globalyzer is licensed based on organizational use as internationalization is a team development activity and ongoing process. Please contact sales@lingoport.com for more information.

You can also try Globalyzer with a Demo Account. Demo Accounts have two limitations: 1) Globalyzer limits the number of internationalization issues it will report on to approximately 100. 2) You will not be able to see or modify Locale-Sensitive Methods for your Globalyzer Rule Sets.

Globalyzer Client Open Source Libraries

The Globalyzer Clients use a number of open source libraries. For further information: Globalyzer Client Open Source Libraries

Globalyzer Server Open Source Libraries

The Globalyzer Server uses a number of open source libraries. For further information: Globalyzer Server Open Source Libraries

Release Notes

Further information: Globalyzer Release Notes