Multilingual Client Support

Crystal Reports for Visual Studio includes support for multilingual Web and Windows clients, through dynamic localization.

Dynamic localization allows users to view ToolTips and other content of the CrystalReportViewer control in their preferred language.

Language Resources

On the Web server or Windows client, you can access language resources for the CrystalReportViewer control from two possible sources:

  • Default language resource DLLs, which include the following:

    • English (en)
    • French (fr)
    • German (de)
    • Spanish (es)
    • Italian (it)
    • Japanese (jp)
    • Korean (ko)
    • Simplified Chinese (zh-chs)
    • Traditional Chinese (zh-cht)

    These can be downloaded from the Business Objects Web Site.

    Note

    For a complete listing of the default language resource files, see Setting up the custom resources files directory.

  • Custom language resource files, which you create as text strings and then compile as custom language resource DLLs.

    Note

    For instructions on how to create custom language resource DLLs, see the tutorial Tutorial: Configuring Multilingual Client Support.

Neutral and Non-neutral Resources

Language resources include both neutral and non-neutral resources.

Neutral resources represent a general language setting, such as en (for English), fr (for French), and jp (for Japanese).

Non-neutral resources represent a version of the language that is qualified based on an additional criterion, such as region: for example, de-AT for German (Austria).

Global and Local Resources

Default language resources are installed in the GAC and therefore are always available globally, but custom language resources may be accessed either globally or locally.

The custom language resources folder may be stored in a central location and shared from that location, or it may be copied to the local directory of the Web or Windows application.

When the custom language resources are stored in a central location, the resources are referred to as global resources. In that scenario, the Web or Windows application must be informed of their location by settings in an XML configuration file. For a global resource to load correctly, the name of the folder that contains the resource files must match the language locale.

If the custom language resources are copied to the local directory, the resources are referred to as local resources. In that scenario, no configuration file is necessary. For a local resource to load correctly, the culture of the resource files and the name of the folder that contains the resource files must match the language locale.

Note

Detailed information on how to configure and use global or local resources is demonstrated in a tutorial. See Tutorial: Configuring Multilingual Client Support.

Choosing to Use Global or Local Resources

Global resources are the preferred choice when resources must be shared with more than one application. For example a Web server, with multiple Web sites that require a common set of language resources to be shared across all Web sites, is best suited to use global resources.

Local resources are preferred when resources are used by a single application, whose wide distribution mandates a simple configuration. For example a Windows application, which consists of a single application folder that is intended for wide distribution, is best suited to use local resources.

In most cases, Web applications are best suited for global resources, and Windows applications are best suited for local resources.

Which resource loads first?

If you configure both local and global resources for a particular application, the local resources take higher priority (they come first in the load order). If you want to guarantee that global resources are used, verify that your configuration file is correct, and remove the local resources folder.

Non-neutral and neutral resources are also affected by the resource loading order. If you have configured both non-neutral and neutral resources for a particular language (such as, "German (Austria)" and "German"), the non-neutral resource is checked first.

In both cases, the specific takes precedence over the general.

Client-side display

The following factors determine the language that the client application displays at runtime:

In a Windows application:

  • The Environment Locale settings on each user's machine.

In a Web Site:

  • The Environment Locale settings of the Web server.
  • The Language settings of the client browser.
  • The Culture property, which you set on a separate ASPX page.

Tutorial

All of the above issues are demonstrated in detail in the tutorial Tutorial: Configuring Multilingual Client Support.

See Also