Skip Headers
Oracle® Mobile Collaboration Administrator's Guide
10g Release 1 (10.1.1)

Part Number B14497-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

C Globalization

This chapter includes the following sections:

Overview of Globalization

Oracle Mobile Collaboration supports multi-locale and multi-encoding. OracleAS Wireless dynamically determines locale and request and response encoding based on the runtime context.

Determining a User's Locale

OracleAS Wireless dynamically determines the appropriate locale of a user by using such locale information as PAlocale, the user's preferred locale, the Accept Language header, and the site locale.

PAlocale is a HTTP parameter that specifies the preferred value before login. The possible value for the PAlocale parameter follows the HTTP accept-language header format. For example, PAlocale = en-US. This format is distinct from the Java locale format (en_US).

The Accept Language header is an HTTP protocol parameter that user agents (Web browsers) send with HTTP requests.

Note:

For information on the HTTP accept-language header format, see the HTTP specification of the World Wide Web Consortium (W3C).

The Site Locale is an instance-wide default locale of OracleAS Wireless.

After Login

After login, the Oracle Mobile Collaboration Server respects the user's preferred locale.

Before Login

Before login, the Oracle Collaboration Suite portal (ptg/rm), Async Listener, the OracleAS Wireless Tools and the Oracle Collaboration Suite portal's Mobile Preferences page each determine the appropriate locale of a user's device.

Table C-1 illustrates how the Async Listener, the Oracle Collaboration Suite portal, the OracleAS Wireless Tools and the Oracle Collaboration Suite portal's Mobile Preferences determine the locale of a user. The numeric value indicates the preference for the detection methods in descending order.

Table C-1 Locale Determination

Method Async Listener Oracle Collaboration Suite Portal (ptg/rm) OracleAS Wireless Tools and Mobile Preferences Pages

Locale of the registered user or virtual user

1

1

1

HTTP parameter: PAlocale

N/A

2

N/A

Accept-language http header

N/A

3

N/A

Site default locale

2

4

2


Oracle Collaboration Suite Portal

The Oracle Collaboration Suite portal (ptg/rm) determines the locale of a user in the following order:

  1. Use PAlocale (if present).

  2. Use the Accept_Language HTTP header (if present).

  3. Use the site default locale.

The OracleAS Wireless Tools and Mobile Preferences Pages

The OracleAS Wireless Tools and Mobile Preferences pages determine the location of a user in the following order:

  1. Use PAlocale (if present).

  2. Use the site default locale.

Async Listener

The Async Listener determines the location of a user in the following order:

  1. Use the user's preferred locale if the connecting user can be identified through the device ID.

  2. Use the site default locale.

Setting the Site Locale

From the Site Administration screen of the OracleAS Wireless System Manager (accessed through the Oracle Enterprise Manager Application Server Control), you can specify the default site locale and add to the list of locales that the site can support. Use a Java locale (such as en_US) when adding to the list of supported locales (depicted in Figure C-1).

Note:

You can also set the site locale using the Basic Site Configuration wizard, accessed from the Home page of the System Manager.

Figure C-1 The Site Locale Screen of the System Manager (Partial View)

Description of Figure C-1 follows
Description of "Figure C-1 The Site Locale Screen of the System Manager (Partial View)"

Determining the Encoding of a Device

The content sent to the device is encoded using the character encoding of the device. The character encoding is among the device attributes stored in the OracleAS Wireless repository. Using the Foundation Manager, you can edit the browser capabilities of a device in the OracleAS Wireless repository to update it to the encoding appropriate to a given country or locale (Figure C-2).

Figure C-2 Editing the Encoding for a Device (Partial View of the Editing Function)

Description of Figure C-2 follows
Description of "Figure C-2 Editing the Encoding for a Device (Partial View of the Editing Function)"

The Internet Assigned Numbers Authority (IANA) specifies the valid values for the character encoding format of a device. The names of the IANA character set are available at:

http://www.iana.org/assignments/character-sets

Table C-2 illustrates how the encoding is determined.

Table C-2 Determining the Device Encoding at Runtime

Component Method of Determination

Oracle Collaboration Suite portal

  1. Using the Accept-Charset HTTP header sent by the device.

  2. If the device does not send the Accept-Charset HTTP header, then the value stored in the OracleAS Wireless repository is used instead.

Async Listener

Determined by the corresponding transport driver.

OracleAS Wireless Tools and Mobile Preferences pages

  1. Using the Accept-Charset HTTP header sent by the device.

  2. If the device does not send the Accept-Charset HTTP header, then the character encoding of the device called PAPZ is used instead. The default encoding is UTF-8.

Notification Application

Determined by the corresponding transport driver.


HTTPAdapter – Based Service

This section describes the encoding for the request and response of a HTTPAdapter-based application

Encoding for the Request of an HTTPAdapter-Based Application

When sending the HTTP request to the remote content provider, only the parameters of the HTTPAdapter application are encoded using the input_encoding of the application (if it is specified). Use the encoding format of the IANA (Internet Assigned Numbers Authority) when specifying the value for input_encoding.

Best Practice for Writing Multi-Channel Applications Using JSPs.

When using JSPs to write Multi-Channel applications, insert the content described in Example C-1 at the top of the JSP.

Example C-1 Multi-Channel Content

XHTML MP Content:
 
<%
  String userAgent = request.getHeader("User-Agent");
  if(userAgent != null && userAgent.indexOf("PTG/2.0 (Oracle9iAS Wireless") >= 0) {
    response.setContentType ("application/vnd.wap.xhtml+xml; charset=UTF-8");
%><?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" 
  "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<%
} else {
  response.setContentType ("text/xml; charset=UTF-8");
%><?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?>
<%
}
  // Set the request character encoding
  String encoding = request.getCharacterEncoding();
  if(encoding == null) {
    encoding = request.getHeader("x-oracle-mcs.character.encoding");
    encoding = ((encoding == null) || (encoding.length() == 0)) ? "UTF-8" : encoding;
    request.setCharacterEncoding(encoding);
  }
 
  // Optional - Prevent Page Caching
  response.setHeader("Cache-Control", "no-store"); // HTTP 1.1
  response.setHeader("Pragma", "no-cache"); // HTTP 1.0
  response.setHeader("Expires", "0"); // prevents caching at the proxy server
%>
 
 
MobileXML Content:
 
<%
  String userAgent = request.getHeader("User-Agent");
  if(userAgent != null && userAgent.indexOf("PTG/2.0 (Oracle9iAS Wireless") >= 0) {
    response.setContentType ("text/vnd.oracle.mobilexml; charset=UTF-8");
%><?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?>
<!DOCTYPE SimpleResult PUBLIC "-//ORACLE//DTD SimpleResult 1.1//EN" 
"http://xmlns.oracle.com/ias/dtds/SimpleResult_1_1_0.dtd"> 
<%
} else {
  response.setContentType ("text/xml; charset=UTF-8");
%><?xml version = "1.0" encoding = "UTF-8" standalone="yes" ?>
<%
}
  // Set the request character encoding
  String encoding = request.getCharacterEncoding();
  if(encoding == null) {
    encoding = request.getHeader("x-oracle-mcs.character.encoding");
    encoding = ((encoding == null) || (encoding.length() == 0)) ? "UTF-8" : encoding;
    request.setCharacterEncoding(encoding);
  }
 
  // Optional - Prevent Page Caching
  response.setHeader("Cache-Control", "no-store"); // HTTP 1.1
  response.setHeader("Pragma", "no-cache"); // HTTP 1.0
  response.setHeader("Expires", "0"); // prevents caching at the proxy server
%>

Note:

This example uses UTF-8 encoding. Substitute this value for that of the correct encoding for the application. Be sure to replace all occurrences of this value.

Encoding for the Response of an HTTP Adapter-Based Application

OracleAS Wireless determines the encoding of the response of an HTTPAdapter-based application in the following order:

  1. Charset as part of the content-type header on the response.

  2. Input-encoding (if present) of the input parameter of the application.

  3. ISO-8859-1 (the default).

Languages Available for Online Help

Users can view the online help for the OracleAS Wireless Tools and the Mobile Preferences pages in 29 languages. The site locale, configured through the System Manager, determines the display language.

In this release, the built-in labels and on-line help for the OracleAS Wireless Tools and System Manager display in nine languages.

The OracleAS Wireless portal (ptg/rm) can display the built-in labels in 29 different languages.

Driver Encoding

Each driver handles encoding individually.

Localizing Voice Applications

To localize the voice-enabled applications included with the Oracle Collaboration Suite:

  1. Identify the location of the English audio files. These files are located in the en application subdirectory as noted in Table C-3.

Table C-3 Location of the English Audio Files for Voice-Enabled Applications

Application Location

Common (Default)

ORACLE_HOME/wireless/modules/common/voice/default/en

Voice Login

ORACLE_HOME/wireless/marconi_voice/voicelogin/audio/en

Voice Main Menu

ORACLE_HOME/wireless/marconi_voice/mainmenu/audio/en

Mail

ORACLE_HOME/wireless/modules/common/voice/pim/mail/en

Contacts

ORACLE_HOME/wireless/modules/common/voice/pim/addressbook/en

Calendar

ORACLE_HOME/wireless/modules/common/voice/pim/calendar/en

Directory

ORACLE_HOME/wireless/modules/common/voice/pim/ldap/en

Files

ORACLE_HOME/wireless/modules/common/voice/pim/ifs/en


  1. Using the English audio files as a model, record the exact same set of files in the target language. The names of the files must be same as those in the English language version.

  2. Place the newly recorded, localized audio files into their own locale-specific subdirectory of the application directory. Accomplishing this basically involves first moving up one level in the hierarchy from the en subdirectory and then placing the newly recorded audio files into the appropriate locale-specific directory noted in Table C–4.

Table C-4 Locale-Specific Subdirectories for Applications

Locale Directory Name

Arabic

ar

Czech

cs

Danish

da

German

de

Greek

el

English

en

English-US

en_US

Spanish

es

Spanish-Spain

es_ES

Finnish

fi

French

fr

French_Canada

fr_CA

Hungarian

hu

Italian

it

Japanese

ja

Korean

ko

Dutch

nl

Norwegian

no

Polish

pl

Portuguese

pt

Portuguese - Brazil

pt_BR

Romanian

ro

Russian

ru

Slovak

sk

Swedish

sv

Thai

th

Turkish

tr

Chinese

zh

Chinese-Taiwan

zh_TW