Introduction to NLS/MLS
NLS : National language support. Being able to run an application in 1 language. This language can be any supported language.
It basically means the ability to run an Applications instance in any one of the supported languages (other than American English), including certain region/territory specific numeric and date formats. Only the customer-facing components (i.e. the user-interfaces, lookup tables, online documentation etc.) are translated. The underlying logic stays the same as that for American English.
MLS : Multiple language support. Being able to run an application in more then 1 language at a time.
It means the Application can be successfully run in more than one language on the same Oracle Applications instance.
How Multi Language Support works
In Release 11i, the translatable fields moved from the base table to the translation (_TL) table.So all tables containing translatable strings/fields have a related translation table ( _TL table).(Though it was started in Release 11.0, only FND, ICX and AK had this functionality. The other modules did not.)
For example, the FND_CONCURRENT_PROGRAMS oracle table NO longer contained the following columns
USER_CONCURRENT_PROGRAM_NAME NOT NULL VARCHAR2(240)
DESCRIPTION VARCHAR2(240)
Instead, these columns were moved to the FND_CONCURRENT_PROGRAMS_TL table.
So the _TL table contains one record for each language i.e the translated string for each language. Also “ _VL” oracle view has been introduced for the “_TL” table, which allows to select the data based on the session language without running the risk of returning more rows then expected. So view FND_CONCURRENT_PROGRAMS_VL will return rows as per the session language settings.
A number of profile options have been introduced, which force an “ALTER SESSION”, setting the specified language, numeric character and date format etc for the current user only.
When a user does signon, the profile options that will influence the NLS characteristics for his session are
ICX_DATE_FORMAT_MASK
ICX_DATE_LANGUAGE
ICX_LANGUAGE
ICX_NLS_SORT
ICX_NUMERIC_CHARACTERS
ICX_TERRITORY
So what happens when you signon is that the profile options are being read and the corresponding NLS variable will be set using an ‘alter session’ command.
All translatable files reside in a subdirectory which has the language code incorporated in the name (e.g. $AP_TOP/reports/EL, $GL_TOP/forms/F etc.) .
Forms, Reports, Messages & Seeded data are translated
FND_LANGUAGES table shows which languages are installed, and which is the base language and which are non-base languages (Installed Languages)
SQL> select NLS_LANGUAGE from FND_LANGUAGES where INSTALLED_FLAG in ('B','I');
How to add language
The Translation Synchronization patch feature provides a quick way for you to synchronize your existing translations with the American English file versions on your Applications instance. By applying just one patch for each language, you will be able to bring your translations up to your current Applications patch level. You can also choose to get the latest translations to bring your translations up-to-date.
The basic concept involves preparing a single manifest file for your Applications instance. This manifest reflects the language software content for all the active languages on your current Applications system. The manifest will be used to generate customized patches for your system.
This feature reduces the installation time and complexity for synchronizing language installations. It also provides a simple way for you to update your existing translations.
Pre Installation Steps
Prerequisite Patches
a.If you are not on AD mini-pack I (11i.AD.I.2) or later, apply the latest
AD mini-pack from OracleMetaLink. AD patch level report is generated by the following command:
sqlplus /
b.Apply update 5837664. This update delivers the latest tool for generating manifest file as mentioned in section 3. The latest tool will generate a single manifest file with all the active languages in an instance. Download this update and review its readme for instructions to apply it.
Character Set Support
The database character set must support the New Language.If the database is not in a character set that supports the new Language, the database character set as well as the character set in the APPL_TOP must be converted.
SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
Check Space in APPL_TOP
It requires approx 5 GB for each new lnguage. So, check the space available in $APPL_TOP
$ cd $APPL_TOP
$ df –k .
Installation steps
( 1)Change Language Configuration
Use the OAM License Manager to activate a new language(s).
(2)Maintain Multilingual Tables
What it does: It will do the following:
• Create a record with SOURCE_LANG = ‘US’ for each of the languages that doesn’t have a records in the _TL table.
• Update all records where SOURCE_LANG LANGUAGE, defaulting the translatable fields to the value found under the SOURCE_LANG
Steps : From the AD Administration main menu, choose the Maintain Applications Database Objects menu, and select the “Maintain the multi-lingual tables” task as described below:
1. Run adadmin
2. Select Option 2 (Maintain Applications Database Objects menu)
3. Select Option 6 (Maintain multi-lingual tables)
(3) Maintain Snapshot Information
(4) Generate and Upload the Manifest of Customer-specific Files
Log on to your Applications’ administration node as the APPLMGR user and source the APPL_TOP environment file. Use the manifest generation tool to generate customer-specific manifest file by executing the following command:
perl $AD_TOP/bin/adgennls.pl
The manifest generated from the tool is in the format :
$APPL_TOP/admin/$TWO_TASK/out/adgennls.txt
The manifest contains all of your active languages. You do not need to run the tool for each individual language.
Once the manifest is generated, you can go to http://updates.oracle.com/TransSync (use your OracleMetaLink username and password).
Follow the instructions on the screen to upload the manifest file. A Translation synchronization patch will be generated specifically based on your manifest for each of your active languages. The patch will synchronize the language file versions and American English file versions in your Applications instance. If you select the option to get latest translations, the patch will also bring your translations up-to-date.
If your current translations are already up-to-date and in sync with your American English file versions, you will be notified by e-mail that there is no need to apply Translation Synchronization patch.
(5) Applying Translation Synchronization Patch
Once the customer-specific Translation Synchronization patch is ready, you will receive an e-mail stating its availability. You can then download the patch from OracleMetaLink. Follow the instructions in the README file to apply the patch.
A Merged Translation patch may be generated if full translations are not available.
You can merge multiple language Translation Synchronization Patches and apply the single merged patch to your system. See Oracle Applications Patching Procedures guide for information about merging NLS patches.
Post Installation Steps
(1) Run Autoconfig
(2) Compile and Genarate from adadmin
(3) Compile the flexfield data
$ cd $OA_HTML/cabo/images/cache
$ cd
$ rm *.gif *.imx
Restart the Apache service on the HTTP Server node for the updates to take effect.
Read followings links for more information regarding Application
Adpatch
AD Utilities(adadmin, adrelink , adident, ADMRGPCH)
Troubleshooting Adpatch failed job
Apache in 11i/R12
Guest User password
Important Oracle Forms Architecture Features in R12
Oracle Concurrent Manager and Types
How to run Autoconfig in oracle apps R12