Multiple Language Support

This chapter explains how Item descriptions are entered in Oracle Applications and can be displayed in multiple languages when deploying an Oracle Configurator User Interface.

This chapter covers the following topics:

Overview

This chapter describes the impact of Multiple Language Support (MLS). It includes:

For general information about creating a configuration model and User Interface that can be deployed in multiple languages, see the Oracle Configurator Developer User’s Guide.

For additional information about MLS, refer to the following sources:

Introduction

All predefined Configurator Developer messages are stored in the following tables:

Oracle translates all messages in this table into each installed language.

All text that a Configurator Developer user enters that appears in a generated UI is stored in the CZ_LOCALIZED_TEXTS table in the user’s base language. For a list of all Configurator Developer text that is stored in this table, see the Oracle Configurator Developer User’s Guide. If you are deploying a configuration model and UI in other languages, then the data in this table must be translated.

Translating text into different languages is typically accomplished by:

This process is described in Translating Data in CZ_LOCALIZED_TEXTS.

Data Import

Before importing a BOM Model, be sure that all Items defined in Oracle Inventory have descriptions. All translated Item descriptions are stored in the MTL_SYSTEM_ITEMS_TL table.

The Populate Configuration Models concurrent program:

New Models

When importing a new BOM Model, the Oracle Configurator import procedures import all translated descriptions of each BOM Model item.

Existing Models

When refreshing an existing imported BOM Model, the import procedures update the CZ_LOCALIZED_TEXTS table if translations were added or modified in Oracle Inventory.

For more information, see Refreshing Imported Data.

Installed Languages in Multiple Server Environments

Publishing in a multi-server environment (such as multiple development instances and a production instance), requires that source and target instances have the same base language as well as the same set of installed languages. If either the base language or the set of installed languages are not the same, then the concurrent program fails when copying the publication to the target database or when migrating Models from one development database to another. When the source and target instances have the same base language and set of installed languages, then any missing or superfluous data in the target database (which can cause errors at runtime) is eliminated. For more information, see Database Instances.

Deploying a User Interface that Supports MLS

Like Configurator Developer, all Oracle Applications products that can host an Oracle Configurator use the Languages setting to control the session language. For more information on the Languages setting, see the Oracle Configurator Developer User’s Guide. When a host application launches Oracle Configurator to configure an item, the language specified in the database ICX session ticket is passed to Oracle Configurator. Oracle Configurator uses this information to determine which translated text to retrieve from the database and display in the UI.

Note: When a new language is added in Oracle Applications and you want to see the user interface labels in the new language, you must re-publish the Models.

For more information about deploying a UI, see User Interface Deployment.

Translating Data in CZ_LOCALIZED_TEXTS

Following is an example of how you can extract and translate data in CZ_LOCALIZED_TEXTS.

  1. Extract data from CZ_LOCALIZED_TEXTS using SQL*Plus.

    For example:

    SQL> set linesize 2000
    set heading off
    spool <file> 
    select 
    to_char (intl_text_id) || 
    ',"' ||
     to_char (model_id) || ',' ||
     to_char (ui_def_id) || ',' ||
     language || '","' ||
     source_lang || '","' ||
     replace (localized_str, '"', '""') || '"'
     from
     cz_localized_texts
     where
     language = 'US' and
     deleted_flag = '0' and
     (
     model_id in (4687, 8546, 11574) or
     ui_def_id in (68487, 56468, 8375)
     )
     ;
     spool off 

    Note: The query in this example extracts only the 'US' records (language = 'US'). If you need to translate the text into multiple languages, copy the file for each target language. Alternatively, you can extract all translations by removing this filter in the query.

  2. Edit the file and translate the text. (This is typically performed by a third party that specializes in translating data.)

    For example:

    SQL> 78546,4687,68487,"US","US","Here ""Harry"" is a dog"
    92115,4687,68487,"FR","FR","Ici <<Henri>> est chien"

    Note that all string data is in quotation marks. Quotation marks within the translatable strings are doubled but they may need to be altered to fit quotation conventions in the target language. The LANGUAGE and SOURCE_LANG values should be changed to the target language of the translation.

  3. Delete the existing records.

    For example:

    SQL> delete from cz_localized_texts
     where
     ( 
    model_id in (4687, 8546, 11574) or
     ui_def_id in (68487, 56468, 8375)
     )

    In this example, the script does not contain the filters "deleted_flag = '0' and language = 'US' " because it removes the deleted records and replaces them with the new translations.

  4. Load the data using SQLLoader.

    For example:

    SQL> sqlldr userid=apps@CUSTDB
     control=loadtexts.ctl
     log=loadtexts.log

    Below is an example of an SQLLoader control file:

    LOAD DATA
     INFILE 'customer_texts.dat'
     BADFILE 'customer_texts.bad'
    APPEND
     INTO TABLE CZ.CZ_LOCALIZED_TEXTS
     FIELDS TERMINATED BY ","
     OPTIONALLY ENCLOSED BY '"'
     (INTL_TEXT_ID, MODEL_ID,
     UI_DEF_ID, LANGUAGE,
     SOURCE_LANG, LOCALIZED_STR)
  5. Translate XML documents as necessary.

    See Translating XML Documents.

Translating XML Documents

After translating all text in CZ_LOCALIZED_TEXTS and unit testing the UI, it is possible that some text in your UI pages (XML documents) will still require translation. Some examples include the text of a Static Styled Text UI element and column header text for elements that represent the columns of a table. For details about these UI elements, see the Oracle Configurator Developer User’s Guide.

The Oracle Applications Extension Translation toolset deals with translatable information contained in OA Extension pages using XLIFF, a widely used XML format for transferring and manipulating translatable resources. You can use this toolset to translate the XML documents that make up your generated UI.

For details, refer to the following documents, which are available on MetaLink: