Difference between revisions of "General FAQ"

From Lingoport Wiki
Jump to: navigation, search
(Can I use Globalyzer with my standard IDE?)
(What programming languages does Globalyzer support?)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
==What programming languages does Globalyzer support?==
 
==What programming languages does Globalyzer support?==
   
  +
* ActionScript
ActionScript, C#, C/C++, Delphi, HTML, Java, JavaScript, Perl, PHP, Qt, SQL (MS SQL, MySQL, Oracle, PostgreSQL), VB (Classic and .NET), VBScript, and XML (including MXML). We add additional programming languages at the request of our clients.
 
  +
* C#
  +
* C/C++
  +
* Delphi
  +
* Go
  +
* HTML
  +
* Java
  +
* JavaScript / TypeScript, (includes AngularJS, NodeJS, React, and other libraries)
  +
* Objective-C
  +
* MXML
  +
* Perl
  +
* PHP
  +
* Python
  +
* Qt
  +
* SQL (MS SQL, MySQL, Oracle, PostgreSQL)
  +
* Swift2
  +
* VB (Classic and .NET)
  +
* VBScript,
  +
* XML.
  +
  +
  +
If your language is not shown above, please see [[Scanning Unsupported Languages|Scanning Additional Languages]].
   
 
==How thorough is Globalyzer in reviewing and modifying my code?==
 
==How thorough is Globalyzer in reviewing and modifying my code?==
   
It’s thorough, but some of the detection and filtering specificity is controlled by the user. Globalyzer allows for strong detection and filtering controls using regular expressions, as well as built in search management capabilities. The more you learn Globalyzer's capabilities, the easier to refine your results. With regard to modifying code, Globalyzer does allow for the editing of code, within its IDE, though it is not a replacement for a developer’s preferred IDE. Globalyzer helps you navigate right from reports to instances in your code that need externalization or further analysis. You can also choose to mark issues with a comment for later review.
+
It is very thorough, but some of the detection and filtering specificity is controlled by the user. Globalyzer allows for strong detection and filtering controls using regular expressions, as well as built in search management capabilities. The more you learn Globalyzer's capabilities, the easier to refine your results. With regard to modifying code, Globalyzer allows for the editing of code within its fully-functional IDE (Globalyzer Workbench), though you can use a different IDE to edit source code if you prefer. Globalyzer helps you navigate right from reports to instances in your code that need externalization or further analysis. You can also choose to mark issues with a comment for later review.
   
 
==Why would I use Globalyzer versus my own scripts?==
 
==Why would I use Globalyzer versus my own scripts?==
   
Globalyzer encapsulates a terrific amount of research and development regarding internationalization issues, and interacting with them. It would be extremely difficult to develop an internationalization detection script that is as comprehensive and powerful, much less easily leveraged across your enterprise. And even if you could, wouldn’t your team be better off working on your product? Globalyzer was first released in 2001 and has been continually developed ever since, allowing for the inclusion of features desired from our broad customer base.
+
Globalyzer encapsulates a terrific amount of research and development regarding internationalization issues and how to resolve them. It would be extremely difficult to develop an internationalization detection script that is as comprehensive and powerful, much less easily leveraged across your software team. And, even if you could come up with your own scripts, wouldn’t your team be better off working on your product, rather than on internationalization issue detection? Globalyzer was first released in 2001 and has been continually developed ever since, allowing for the inclusion of features desired from our broad customer base.
   
 
==Can I use Globalyzer with my standard IDE?==
 
==Can I use Globalyzer with my standard IDE?==
   
Yes. Globalyzer comments can be inserted which can be quickly searched on and worked on with your preferred IDE. However, with the [[Globalyzer Workbench|Globalyzer 4.0 Workbench]], you will have a fully-functioning Eclipse IDE available to you.
+
Yes. Globalyzer comments can be inserted which can be quickly searched on and worked on with your preferred IDE.
   
  +
With the Globalyzer Workbench Client you will have a fully-functioning Eclipse IDE available to you.
==How can Globalyzer be leveraged across my development enterprise?==
 
   
  +
The Globalyzer Lite client can be used with Eclipse, Visual Studio and IntelliJ IDEs.
Software internationalization involves a surprisingly complex variety of issues, depending upon your requirements, technologies and unique application needs. Globalyzer’s client/server architecture, lets you build and store internationalization detection filtering rules, and which can then be shared with each of your developers’ client account’s. Developers can then perform internationalization tasks efficiently whether they are working together in the next cube or continent.
 
  +
  +
==How can Globalyzer be leveraged across my development team?==
  +
  +
Software internationalization involves a surprisingly complex variety of issues, depending upon your requirements, technologies and unique application needs. Globalyzer’s client/server architecture lets you build and store internationalization detection and filtering rules (which we call '''Rule Sets'''), and which can then be shared within your development team. Developers can then perform internationalization tasks efficiently, whether they are working in the next cube or in the next country.
   
 
==How can Globalyzer support batch processes?==
 
==How can Globalyzer support batch processes?==
   
Globalyzer’s Command Line Client supports batch reporting during automated processes, such as a nightly build. The Command Line will automate reports on internationalization status, including output of both summary and detailed reports itemizing internationalization issues and their precise location within source code. Globalyzer is also useful as a QA benchmark, so that code submitted for testing has been clearly analyzed for internationalization compliance, reducing the iterative burden between internationalization and localization testing and development.
+
Globalyzer’s '''Command Line Client''' and '''Globalyzer Lite Client''' supports batch reporting during automated processes, such as a nightly build. The Command Line Client will automate reports on internationalization status, including output of both summary and detailed reports itemizing internationalization issues and their precise location within source code. Globalyzer is also useful as a QA benchmark, so that code submitted for testing has been clearly analyzed for internationalization compliance, reducing the iterative burden between internationalization and localization testing and development.
   
 
==What results should I expect from running Globalyzer on my source code?==
 
==What results should I expect from running Globalyzer on my source code?==
Line 27: Line 52:
 
Globalyzer looks for four categories of internationalization issues:
 
Globalyzer looks for four categories of internationalization issues:
   
* [[Rules#Embedded_String_Scan_Rules|Embedded Strings]]: Strings that must be abstracted from your code for ease of translation
+
* '''Embedded Strings''': Strings that must be extracted from the source code into translatable resource files so that their display can be in any language. Globalyzer also identifies concatenated strings.
   
* [[Rules#Locale-Sensitive_Method_Scan_Rules|Locale-sensitive methods]] and functions(depending upon your programming language): Programmatic elements that may restrict character encoding (ISO-Latin or Unicode support), as well as cultural formatting, such as date/time support
+
* '''Locale-Sensitive Methods''': Methods and functions (depending upon your programming language) that may restrict character encoding (ISO-Latin or Unicode support), as well as cultural formatting, including date, time, number and currency formatting
   
* [[Rules#Static_File_Reference_Scan_Rules|Embedded Images]]: Images need to be reviewed for cultural appropriateness and translation of string components within the image
+
* '''Static File References''': References to static files, such as images, which will need to be reviewed for cultural appropriateness and translation of string components within the file
   
* [[Rules#General_Pattern_Scan_Rules|User-defined programmatic patterns]]: issues that are particular to your needs
+
* '''General Patterns''': User-defined patterns that detect internationalization issues that are specific to your source code
   
Remember that in demo mode, Globalyzer will limit you to viewing the first 100 issues it detects.
+
Remember that in demo mode, Globalyzer will limit you to viewing up to 100 issues it detects.
   
 
==How long does it take to run Globalyzer?==
 
==How long does it take to run Globalyzer?==
 
   
 
This depends on what you are searching for and how many lines of code you are searching through, as well as if you are optionally using an additional database for tracking results. Most Globalyzer scans can review over two million lines of code in about the amount of time it takes to get a cup of coffee.
 
This depends on what you are searching for and how many lines of code you are searching through, as well as if you are optionally using an additional database for tracking results. Most Globalyzer scans can review over two million lines of code in about the amount of time it takes to get a cup of coffee.
   
For example for an initial scan: 2.3 million lines of code = 3 minutes, 37 seconds for C++, similar results for Java and C# on a 2.5 GHz dual core laptop.
+
For example, an initial scan of 2.3 million lines of C++ code, on a 2.5 GHz dual core laptop, takes 3 minutes, 37 seconds; the results are similar for Java and C# source code scanning.
   
With each release we are always finding little ways to improve performance, and we think you’ll find Globalyzer quite responsive, especially considering that in many cases it is searching on hundreds of internationalization issues simultaneously.
+
With each release we find ways to improve performance so be sure to download and install the latest version.
   
 
==Can Globalyzer help me build resource files and externalize strings from my source code?==
 
==Can Globalyzer help me build resource files and externalize strings from my source code?==
Line 52: Line 76:
 
==Is Globalyzer automatically (automagically) fixing my code? Is Globalyzer adding anything proprietary?==
 
==Is Globalyzer automatically (automagically) fixing my code? Is Globalyzer adding anything proprietary?==
   
No. Globalyzer does not make changes without your approval. You can inspect each internationalization instance Globalyzer detects, and it does have highly productive capabilities to speed up repetitive internationalization tasks, such as string externalization. No proprietary elements will be added to your code.
+
No, Globalyzer does not make changes without your knowledge and does not add any proprietary elements to your source code. However, once you do approve the fix for one or more internationalization issues, Globalyzer does have highly productive capabilities to speed up repetitive internationalization tasks, such as string externalization.
   
 
==Do I have to submit my source code to the Globalyzer web site?==
 
==Do I have to submit my source code to the Globalyzer web site?==
   
No. Your source code and any information about is never copied from your local machine. Globalyzer only accesses its server for the account rule set configurations for detection and filtering and for storing summary counts from scans. The Globalyzer desktop client and Command Line client perform all code scanning and reporting on your local machine.
+
No. Your source code is never copied from your local machine. Globalyzer only accesses its server for '''Rule Set''' configurations, which are used to detect and filter internationalization issues, and for storing summary counts from the source code scanning process. The '''Globalyzer Workbench Client, Command Line Client''' and '''Globalyzer Lite''' perform all code scanning and reporting on your local machine.
   
 
==Are there any built-in limitations with respect to number of files, number of code lines being processed?==
 
==Are there any built-in limitations with respect to number of files, number of code lines being processed?==
   
No, Globalyzer is built to be able to work on large code bases. We test and regularly work on millions of lines of code using Globalyzer, in our normal testing cycle and in our internationalization services practice. That said, you do want to make Globalyzer manageable for your development needs. For example, often a client with create a Globalyzer projects for each application component. This allows for quicker scanning and more focused results that can be addressed by that component’s development team.
+
No, Globalyzer is built to be able to work on large code bases. We test and regularly work on millions of lines of code using Globalyzer in our normal testing cycle and in our internationalization services practice. That said, you do want to make Globalyzer manageable for your development needs. For example, often a client will create a Globalyzer project for each application component. This allows for quicker scanning and more focused results that can be addressed by that component’s development team. In addition, the Globalyzer Workbench can be configured to use a MySql database (as opposed to the default HSQLDB) which will have even better performance and is recommended when you use Globalyzer to scan many large code bases.
   
'''Note''': running in “demo” mode, you are limited to viewing approximately the first 100 results.
+
'''Note''': When running in demo mode, you are limited to viewing approximately the first 100 results.
   
 
==How can Globalyzer help in creating i18n-aware applications throughout the lifecycle of an application==
 
==How can Globalyzer help in creating i18n-aware applications throughout the lifecycle of an application==
   
The Globalyzer Client installation has both the [[workbench|Workbench]] and the [[Globalyzer Command Line|Command Line Client]]. You can use the Command Line Client to integrate into automated build processes so that you can monitor internationalization status on an ongoing basis.
+
The '''Globalyzer Workbench''' installation includes both the Workbench and the '''Command Line Client'''. You can use the Command Line Client to integrate into automated build processes so that you can monitor internationalization status on an ongoing basis.
   
 
==How can Globalyzer help determine project tasks, estimated efforts and project costs?==
 
==How can Globalyzer help determine project tasks, estimated efforts and project costs?==
   
 
In our internationalization services practice, we use Globlayzer heavily to scope internationalization work which provides metrics of internationalization issues, and then use these results to understand and build extensive project plans.
 
In our internationalization services practice, we use Globlayzer heavily to scope internationalization work which provides metrics of internationalization issues, and then use these results to understand and build extensive project plans.
  +
  +
== What does "nature" mean? ==
  +
  +
"Nature" is an Eclipse notion. Project natures act as tags on a project to indicate that a certain tool is used to operate on that project. When you create a project and add a Globalyzer Nature to the project, that project can have scans, etc.
  +
  +
== If we customize one rule set for some specific files, how easy is it to apply the same rule set for other projects? ==
  +
  +
Multiple scans in multiple projects can use the same rule set.
  +
  +
== After the string extraction, can a developer tell what string is associated with the string key other than opening up the resource file? ==
  +
  +
If you select an externalized string key in the source code, you can right click and select '''Globalyzer->Resources->Go to Resource Definition''' and it will bring up the resource file with that entry highlighted. Also, if you set the preference to '''Window -> Preferences -> Globalyzer - Automatically Insert Externalized String Comment''', when strings are externalized, a comment will be added to the source file with the text of the string that was externalized.
  +
  +
== Can a developer customize the result list – for example, have the freedom to move entries to to-do list or ignore list, etc.? ==
  +
  +
Yes, scan result statuses can be changed. Select one or more scan results, right-click and select the new status.

Latest revision as of 17:10, 27 October 2021

What programming languages does Globalyzer support?

  • ActionScript
  • C#
  • C/C++
  • Delphi
  • Go
  • HTML
  • Java
  • JavaScript / TypeScript, (includes AngularJS, NodeJS, React, and other libraries)
  • Objective-C
  • MXML
  • Perl
  • PHP
  • Python
  • Qt
  • SQL (MS SQL, MySQL, Oracle, PostgreSQL)
  • Swift2
  • VB (Classic and .NET)
  • VBScript,
  • XML.


If your language is not shown above, please see Scanning Additional Languages.

How thorough is Globalyzer in reviewing and modifying my code?

It is very thorough, but some of the detection and filtering specificity is controlled by the user. Globalyzer allows for strong detection and filtering controls using regular expressions, as well as built in search management capabilities. The more you learn Globalyzer's capabilities, the easier to refine your results. With regard to modifying code, Globalyzer allows for the editing of code within its fully-functional IDE (Globalyzer Workbench), though you can use a different IDE to edit source code if you prefer. Globalyzer helps you navigate right from reports to instances in your code that need externalization or further analysis. You can also choose to mark issues with a comment for later review.

Why would I use Globalyzer versus my own scripts?

Globalyzer encapsulates a terrific amount of research and development regarding internationalization issues and how to resolve them. It would be extremely difficult to develop an internationalization detection script that is as comprehensive and powerful, much less easily leveraged across your software team. And, even if you could come up with your own scripts, wouldn’t your team be better off working on your product, rather than on internationalization issue detection? Globalyzer was first released in 2001 and has been continually developed ever since, allowing for the inclusion of features desired from our broad customer base.

Can I use Globalyzer with my standard IDE?

Yes. Globalyzer comments can be inserted which can be quickly searched on and worked on with your preferred IDE.

With the Globalyzer Workbench Client you will have a fully-functioning Eclipse IDE available to you.

The Globalyzer Lite client can be used with Eclipse, Visual Studio and IntelliJ IDEs.

How can Globalyzer be leveraged across my development team?

Software internationalization involves a surprisingly complex variety of issues, depending upon your requirements, technologies and unique application needs. Globalyzer’s client/server architecture lets you build and store internationalization detection and filtering rules (which we call Rule Sets), and which can then be shared within your development team. Developers can then perform internationalization tasks efficiently, whether they are working in the next cube or in the next country.

How can Globalyzer support batch processes?

Globalyzer’s Command Line Client and Globalyzer Lite Client supports batch reporting during automated processes, such as a nightly build. The Command Line Client will automate reports on internationalization status, including output of both summary and detailed reports itemizing internationalization issues and their precise location within source code. Globalyzer is also useful as a QA benchmark, so that code submitted for testing has been clearly analyzed for internationalization compliance, reducing the iterative burden between internationalization and localization testing and development.

What results should I expect from running Globalyzer on my source code?

Globalyzer looks for four categories of internationalization issues:

  • Embedded Strings: Strings that must be extracted from the source code into translatable resource files so that their display can be in any language. Globalyzer also identifies concatenated strings.
  • Locale-Sensitive Methods: Methods and functions (depending upon your programming language) that may restrict character encoding (ISO-Latin or Unicode support), as well as cultural formatting, including date, time, number and currency formatting
  • Static File References: References to static files, such as images, which will need to be reviewed for cultural appropriateness and translation of string components within the file
  • General Patterns: User-defined patterns that detect internationalization issues that are specific to your source code

Remember that in demo mode, Globalyzer will limit you to viewing up to 100 issues it detects.

How long does it take to run Globalyzer?

This depends on what you are searching for and how many lines of code you are searching through, as well as if you are optionally using an additional database for tracking results. Most Globalyzer scans can review over two million lines of code in about the amount of time it takes to get a cup of coffee.

For example, an initial scan of 2.3 million lines of C++ code, on a 2.5 GHz dual core laptop, takes 3 minutes, 37 seconds; the results are similar for Java and C# source code scanning.

With each release we find ways to improve performance so be sure to download and install the latest version.

Can Globalyzer help me build resource files and externalize strings from my source code?

Yes it can, and it will add great productivity to that long and tedious task. It is common for developers to be able to comfortably externalize 1,000 strings and more per day using Globalyzer. Globalyzer lets you see the string within your code and manages the whole externalization process. It is customizable, giving the developer complete control while aiding productivity.

Is Globalyzer automatically (automagically) fixing my code? Is Globalyzer adding anything proprietary?

No, Globalyzer does not make changes without your knowledge and does not add any proprietary elements to your source code. However, once you do approve the fix for one or more internationalization issues, Globalyzer does have highly productive capabilities to speed up repetitive internationalization tasks, such as string externalization.

Do I have to submit my source code to the Globalyzer web site?

No. Your source code is never copied from your local machine. Globalyzer only accesses its server for Rule Set configurations, which are used to detect and filter internationalization issues, and for storing summary counts from the source code scanning process. The Globalyzer Workbench Client, Command Line Client and Globalyzer Lite perform all code scanning and reporting on your local machine.

Are there any built-in limitations with respect to number of files, number of code lines being processed?

No, Globalyzer is built to be able to work on large code bases. We test and regularly work on millions of lines of code using Globalyzer in our normal testing cycle and in our internationalization services practice. That said, you do want to make Globalyzer manageable for your development needs. For example, often a client will create a Globalyzer project for each application component. This allows for quicker scanning and more focused results that can be addressed by that component’s development team. In addition, the Globalyzer Workbench can be configured to use a MySql database (as opposed to the default HSQLDB) which will have even better performance and is recommended when you use Globalyzer to scan many large code bases.

Note: When running in demo mode, you are limited to viewing approximately the first 100 results.

How can Globalyzer help in creating i18n-aware applications throughout the lifecycle of an application

The Globalyzer Workbench installation includes both the Workbench and the Command Line Client. You can use the Command Line Client to integrate into automated build processes so that you can monitor internationalization status on an ongoing basis.

How can Globalyzer help determine project tasks, estimated efforts and project costs?

In our internationalization services practice, we use Globlayzer heavily to scope internationalization work which provides metrics of internationalization issues, and then use these results to understand and build extensive project plans.

What does "nature" mean?

"Nature" is an Eclipse notion. Project natures act as tags on a project to indicate that a certain tool is used to operate on that project. When you create a project and add a Globalyzer Nature to the project, that project can have scans, etc.

If we customize one rule set for some specific files, how easy is it to apply the same rule set for other projects?

Multiple scans in multiple projects can use the same rule set.

After the string extraction, can a developer tell what string is associated with the string key other than opening up the resource file?

If you select an externalized string key in the source code, you can right click and select Globalyzer->Resources->Go to Resource Definition and it will bring up the resource file with that entry highlighted. Also, if you set the preference to Window -> Preferences -> Globalyzer - Automatically Insert Externalized String Comment, when strings are externalized, a comment will be added to the source file with the text of the string that was externalized.

Can a developer customize the result list – for example, have the freedom to move entries to to-do list or ignore list, etc.?

Yes, scan result statuses can be changed. Select one or more scan results, right-click and select the new status.