21.1 Understanding Application Translation and Globalization Support
A single Oracle database instance and Oracle Application Express can support multiple database sessions customized to support different languages.
You can develop applications in App Builder that can run concurrently in different languages.
- About the Translation Process
Learn about translating an application built in App Builder. - About Language Identification
After you create an application, you specify a language preference. Then you select a primary application language and determine how the Application Express engine determines the application language. The application primary language can be static, derived from the Web browser language, or determined from a user preference or item. - About the Rules for Translating Database Applications
Learn about rules for translating database applications. - How Translated Applications Are Rendered
After Oracle Application Express determines the language for an application, the Application Express engine alters the database language for a specific page request. It then looks for a translated application in the appropriate language. If the Application Express engine finds that language, it renders the application using that definition. Otherwise, it renders the application in the base (or primary) application language. - Making Application Attributes Translatable
Learn about best practices to make application attributes within your application translatable.
Parent topic: Managing Application Globalization
21.1.1 About the Translation Process
Learn about translating an application built in App Builder.
In general, translating an application built in App Builder involves the following steps:
-
Map the primary and target application IDs.
-
Seed and export the text to a file for translation.
-
Translate the text in the file.
-
Apply the translated file.
-
Publish the translated file.
See Also:
21.1.2 About Language Identification
After you create an application, you specify a language preference. Then you select a primary application language and determine how the Application Express engine determines the application language. The application primary language can be static, derived from the Web browser language, or determined from a user preference or item.
21.1.3 About the Rules for Translating Database Applications
Learn about rules for translating database applications.
Use the following rules to determine which translated version to use:
-
Look for an exact match between the user language preference and the language code of the translated application.
-
Look for a truncated match. That is, see if the language and locale exist. For example, if the user language preference is
en-us
and the translated version ofen-us
does not exist, look for a translated application that has the language codeen
. -
Use the primary application language.
For example, suppose you create an application with the primary language of German, de
, and you create a translated version of the application with a language code of en-us
. Users accessing this application with a browser language of en-us
execute the English en-us
version of the application. Users accessing the application with a browser language of en-gb
view the application in the application's primary language, that is, in German. For this example, you should create the translated English version using language code en
to encompass all variations of en
.
21.1.4 How Translated Applications Are Rendered
After Oracle Application Express determines the language for an application, the Application Express engine alters the database language for a specific page request. It then looks for a translated application in the appropriate language. If the Application Express engine finds that language, it renders the application using that definition. Otherwise, it renders the application in the base (or primary) application language.
Note that the text that displays within an application is not translated on the fly. Oracle Application Express dynamically collects page attributes from either a base language application definition or an alternative application definition.
21.1.5 Making Application Attributes Translatable
Learn about best practices to make application attributes within your application translatable.
When you build an application in App Builder, you define a large number of declarative attributes such as field labels, region headings, page header text, and so on.
21.1.5.1 About Shortcuts that Support Translatable Messages
App Builder includes two shortcut types that enable you to reference translatable messages:
-
Message. Use this shortcut to reference a translatable message at runtime. Note that the name of the shortcut must match the corresponding message name. At runtime, the name of the shortcut expands to the text of the translatable message for the current language.
-
Message with JavaScript Escaped Single Quotes. Use this shortcut to reference a shortcut inside of a JavaScript literal string and reference a translatable message at runtime. This shortcut defines a text string. When the shortcut is referenced, it escapes the single quotation marks required for JavaScript.
See Also:
Parent topic: Making Application Attributes Translatable
21.1.5.2 About Messages
If your application includes PL/SQL regions or PL/SQL processes, you must translate any generated HTML or text. You may also need to translate messages used in reports if your application uses a language that is not one of the ten languages into which Oracle Application Express is translated.
See Also:
Parent topic: Making Application Attributes Translatable
21.1.5.3 About Dynamic Translation Text Strings
Dynamic translations are used for database data that must be translated at runtime. For example, you might use a dynamic translation to translate a list of values based on a database query. A dynamic translation consists of a translate-from language string, a language code, and a translate-to string. You can also use the APEX_LANG.LANG
API to retrieve dynamic translations programmatically.
See Also:
Parent topic: Making Application Attributes Translatable
21.1.5.4 About Translating Region Titles
By default, page region titles are included in the generated translation file. However, you can mark a region title as not translatable.
Parent topic: Making Application Attributes Translatable
21.1.5.4.1 Marking a Region as Not Translatable in Page Designer
To mark a region title as not translatable:
Parent topic: About Translating Region Titles
21.1.5.5 About Translating Templates
By default, templates are not translatable, and therefore are not included in the generated translation file. Generally, templates do not and should not contain translatable text. However, if you must mark a template as translatable, select the Translatable check box on the Edit Page Template page.
To identify a template as translatable:
-
On the Workspace home page, click the App Builder icon.
-
Select an application.
-
On the Application home page, click Shared Components.
-
Under User Interface, select Templates.
The Templates page appears.
-
Locate the template you want to edit and select the template name.
-
Under Name, select Translatable.
You can include translatable text at the application-level by defining the translatable text using static substitution strings. Because application-level attributes are translated, any text defined as a static substitution string is included in the generated translation file.
See Also:
Parent topic: Making Application Attributes Translatable