Search This Blog

Tuesday, July 8, 2025

How to do in detail: Working with Translation and Localization APIs

 

Introduction
Working with Translation and Localization APIs in Oracle APEX enables developers to build applications that dynamically adapt to different languages and regional settings. These APIs provide programmatic access to translate user interface elements, messages, and content, as well as to format dates, numbers, and currencies according to locale-specific conventions. Leveraging these APIs allows your application to deliver a truly global user experience without manual intervention for each language or region.

Working with Translation and Localization APIs in Oracle APEX allows developers to enhance their applications by programmatically managing language translations and locale-specific formatting. These APIs provide the tools necessary to customize user experiences for different languages and regions without manual translation of every string or hardcoding formats.

To start, Oracle APEX includes built-in PL/SQL APIs for translation management, such as APEX_LANG and APEX_STRING. The APEX_LANG package helps identify and set the current application language, which can be used to control which translations are displayed or which locale settings apply.

For example, you can use:

BEGIN
  APEX_LANG.SET_SESSION_LANGUAGE('FR'); -- Set session language to French
END;

This sets the language dynamically for the user session, and subsequent calls to translation functions will use the specified language.

When working with translations, you can query the APEX translation repository using SQL or PL/SQL to fetch translated strings on the fly. The APEX_UTIL.GET_TRANSLATION function retrieves the translated text for a given message key and language. For example:

DECLARE
  v_text VARCHAR2(4000);
BEGIN
  v_text := APEX_UTIL.GET_TRANSLATION(
    p_app_id   => :APP_ID,
    p_name     => 'GREETING',
    p_language => 'ES'); -- Spanish translation
  :P1_GREETING := v_text;
END;

This fetches the Spanish version of the message named 'GREETING' and stores it in a page item.

Localization APIs help format dates, numbers, and currencies according to user locale. For example, Oracle’s TO_CHAR function combined with NLS parameters can display dates in region-specific formats:

SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = FRENCH') FROM DUAL;

Oracle APEX also supports the JavaScript Internationalization API (Intl) on the client side, allowing formatting of numbers and dates according to the browser’s locale settings. You can use dynamic actions or JavaScript code to format currency or date fields dynamically:

var amount = 123456.78;
var formatted = new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(amount);
console.log(formatted); // Output: 123.456,78 €

To streamline translations, you can also integrate third-party Translation APIs (such as Google Translate or Microsoft Translator) by making RESTful calls from APEX. Using APEX Web Source Modules or REST Enabled SQL, you send text to be translated and retrieve results dynamically, enabling on-demand translations or machine-assisted localization.

When building multi-language applications, combine these APIs with APEX’s built-in globalization features, such as the Translate Application wizard and Text Messages, to provide both static and dynamic translations. Use session or application-level language settings to control which locale and language apply for each user.

Testing is critical—verify that translations display correctly, that date and number formats adjust based on locale, and that API calls perform efficiently without affecting user experience.

Working with Translation and Localization APIs in Oracle APEX provides powerful flexibility to build applications that feel native to users worldwide. By automating language switching and regional formatting, you create scalable applications that support global audiences with minimal manual effort.

Oracle APEX provides several built-in procedures and functions for managing translations, messages, and language mappings in applications. These APIs allow developers to programmatically create, update, delete, and retrieve translation data, making it easier to build multi-language applications.

This tutorial explains the usage of key translation-related procedures and functions in Oracle APEX, including how to apply XLIFF documents, create language mappings, manage messages, and retrieve translations dynamically.

Beyond basic translation management, Oracle APEX offers advanced features to enhance multilingual support, automate translations, and ensure a smooth user experience across different languages. This section explores additional techniques, including automatic translation synchronization, customizing language selection, and dynamically updating translations without republishing the application.



1. Applying XLIFF Documents

APPLY_XLIFF_DOCUMENT Procedure

This procedure applies an XLIFF (XML Localization Interchange File Format) document to an application. XLIFF files contain translated strings for different languages.

Syntax:

APEX_LANG.APPLY_XLIFF_DOCUMENT (

    p_application_id IN NUMBER,

    p_xliff_document IN CLOB

);

Example:

DECLARE

    v_xliff CLOB;

BEGIN

    -- Assume v_xliff contains the XLIFF data

    APEX_LANG.APPLY_XLIFF_DOCUMENT(p_application_id => 100, p_xliff_document => v_xliff);

END;

This applies the XLIFF document to application 100.


2. Managing Language Mappings

CREATE_LANGUAGE_MAPPING Procedure

Creates a language mapping for an application.

Syntax:

APEX_LANG.CREATE_LANGUAGE_MAPPING (

    p_application_id IN NUMBER,

    p_language_code IN VARCHAR2

);

Example:

BEGIN

    APEX_LANG.CREATE_LANGUAGE_MAPPING(100, 'fr');

END;

This adds French (fr) as a language mapping for application 100.

UPDATE_LANGUAGE_MAPPING Procedure

Updates an existing language mapping.

Syntax:

APEX_LANG.UPDATE_LANGUAGE_MAPPING (

    p_application_id IN NUMBER,

    p_language_code IN VARCHAR2,

    p_published IN BOOLEAN

);

Example:

BEGIN

    APEX_LANG.UPDATE_LANGUAGE_MAPPING(100, 'fr', TRUE);

END;

This marks French (fr) as a published language for application 100.

DELETE_LANGUAGE_MAPPING Procedure

Removes a language mapping from an application.

Syntax:

APEX_LANG.DELETE_LANGUAGE_MAPPING (

    p_application_id IN NUMBER,

    p_language_code IN VARCHAR2

);

Example:

BEGIN

    APEX_LANG.DELETE_LANGUAGE_MAPPING(100, 'fr');

END;

This deletes the French (fr) language mapping for application 100.


3. Managing Messages in APEX

CREATE_MESSAGE Procedure

Creates a new translatable message.

Syntax:

APEX_LANG.CREATE_MESSAGE (

    p_application_id IN NUMBER,

    p_message_name IN VARCHAR2,

    p_message_text IN VARCHAR2

);

Example:

BEGIN

    APEX_LANG.CREATE_MESSAGE(100, 'WELCOME_TEXT', 'Welcome to our application!');

END;

This adds a new message WELCOME_TEXT with the text "Welcome to our application!".

UPDATE_MESSAGE Procedure

Updates the text of an existing message.

Syntax:

APEX_LANG.UPDATE_MESSAGE (

    p_application_id IN NUMBER,

    p_message_name IN VARCHAR2,

    p_message_text IN VARCHAR2

);

Example:

BEGIN

    APEX_LANG.UPDATE_MESSAGE(100, 'WELCOME_TEXT', 'Bienvenue dans notre application!');

END;

This updates WELCOME_TEXT to French.

DELETE_MESSAGE Procedure

Deletes a specific message from an application.

Syntax:

APEX_LANG.DELETE_MESSAGE (

    p_application_id IN NUMBER,

    p_message_name IN VARCHAR2

);

Example:

BEGIN

    APEX_LANG.DELETE_MESSAGE(100, 'WELCOME_TEXT');

END;

This deletes WELCOME_TEXT from application 100.


4. Retrieving and Using Language Data

GET_XLIFF_DOCUMENT Function

Retrieves an XLIFF document for a specific application.

Syntax:

APEX_LANG.GET_XLIFF_DOCUMENT (

    p_application_id IN NUMBER

) RETURN CLOB;

Example:

DECLARE

    v_xliff CLOB;

BEGIN

    v_xliff := APEX_LANG.GET_XLIFF_DOCUMENT(100);

END;

LANG Function

Returns the current session language.

Syntax:

APEX_LANG.LANG RETURN VARCHAR2;

Example:

SELECT APEX_LANG.LANG FROM dual;

This returns the session’s active language code (e.g., en, fr).

MESSAGE Function

Retrieves a translatable message dynamically.

Syntax:

APEX_LANG.MESSAGE (

    p_message_name IN VARCHAR2

) RETURN VARCHAR2;

Example:

SELECT APEX_LANG.MESSAGE('WELCOME_TEXT') FROM dual;

This retrieves the translated text for WELCOME_TEXT.


5. Seeding and Publishing Translations

SEED_TRANSLATIONS Procedure

Extracts all translatable components and prepares them for translation.

Syntax:

APEX_LANG.SEED_TRANSLATIONS (

    p_application_id IN NUMBER

);

Example:

BEGIN

    APEX_LANG.SEED_TRANSLATIONS(100);

END;

This extracts all texts from application 100 for translation.

PUBLISH_APPLICATION Procedure

Publishes the translations for an application.

Syntax:

APEX_LANG.PUBLISH_APPLICATION (

    p_application_id IN NUMBER

);

Example:

BEGIN

    APEX_LANG.PUBLISH_APPLICATION(100);

END;

This applies all translations and publishes them in application 100.


6. Managing Language Selectors

EMIT_LANGUAGE_SELECTOR_LIST Procedure

Displays a list of available languages as an HTML <select> dropdown.

Syntax:

APEX_LANG.EMIT_LANGUAGE_SELECTOR_LIST (

    p_application_id IN NUMBER

);

Example:

BEGIN

    APEX_LANG.EMIT_LANGUAGE_SELECTOR_LIST(100);

END;

GET_LANGUAGE_SELECTOR_LIST Function

Returns a list of available languages as a data structure.

Syntax:

APEX_LANG.GET_LANGUAGE_SELECTOR_LIST (

    p_application_id IN NUMBER

) RETURN APEX_T_VARCHAR2;

Example:

DECLARE

    v_languages APEX_T_VARCHAR2;

BEGIN

    v_languages := APEX_LANG.GET_LANGUAGE_SELECTOR_LIST(100);

END;

This retrieves available languages in application 100.


7. Dynamically Switching Languages in an APEX Session

When building a multilingual application, users may need to switch languages dynamically. APEX provides built-in support for this by allowing developers to set the session language.

Setting the Language for the Current Session

To set the language dynamically, use the apex_util.set_session_lang procedure.

Syntax:

APEX_UTIL.SET_SESSION_LANG (

    p_language IN VARCHAR2

);

Example:

BEGIN

    APEX_UTIL.SET_SESSION_LANG('fr');

END;

This changes the current session language to French (fr).

Dynamically Changing Language Using a Button or Dropdown

  1. Create a Select List item (P1_LANGUAGE) that contains the list of available languages (e.g., en, fr, es).

  2. Add a Dynamic Action triggered On Change of the select list.

  3. Set the action to Execute PL/SQL Code with the following code:

BEGIN

    APEX_UTIL.SET_SESSION_LANG(:P1_LANGUAGE);

END;

  1. Add a Page Reload action after the PL/SQL action to refresh the page in the selected language.

 

8. Using Substitutions for Language-Specific Content

Instead of hardcoding text into reports, buttons, and labels, use substitutions to make translations easier.

Defining a Message for Substitution

BEGIN

    APEX_LANG.CREATE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'BTN_SUBMIT',

        p_message_text   => 'Submit'

    );

END;

Using the Message in an APEX Component

Instead of hardcoding "Submit" in a button, reference it dynamically using:

&BTN_SUBMIT.

When the application is translated, this substitution automatically updates based on the user's session language.

 

9. Automatic Translation Synchronization

To ensure that translated text stays up to date, you can automate translation updates using APEX APIs.

Automating Translation Seeding

Run this procedure periodically (e.g., in a scheduled job) to extract all new translatable strings:

BEGIN

    APEX_LANG.SEED_TRANSLATIONS(100);

END;

This ensures that new UI elements and messages are included in the translation files.

Automating XLIFF Export for Translation Teams

To extract and store the latest translations in a database table for export:

INSERT INTO translation_logs (application_id, xliff_data, created_at)

VALUES (

    100,

    APEX_LANG.GET_XLIFF_DOCUMENT(100),

    SYSDATE

);

This logs all translations for further processing or external translation services.

 

10. Overriding Default APEX Translations

APEX provides built-in translations for common UI components, but sometimes custom translations are needed.

Overriding Default Text Using APEX_LANG.MESSAGE

  1. Create a custom message to replace an APEX default label.

  2. Use APEX_LANG.MESSAGE to override the default text dynamically.

BEGIN

    APEX_LANG.CREATE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'APEX_BUTTON_OK',

        p_message_text   => 'Confirm'

    );

END;

Now, everywhere "OK" is displayed, it will be replaced with "Confirm".

 

11. Debugging and Troubleshooting Translations

If translations are not appearing correctly, follow these troubleshooting steps:

  1. Check if translations are seeded: Run

SELECT * FROM APEX_TRANSLATION_ENTRIES WHERE application_id = 100;

This verifies if translations exist.

  1. Verify session language: Run

SELECT APEX_LANG.LANG FROM dual;

This confirms the active language.

  1. Ensure translation mappings exist: Run

SELECT * FROM APEX_APPLICATION_TRANSLATIONS WHERE application_id = 100;

  1. Force refresh translations by republishing:

BEGIN

    APEX_LANG.PUBLISH_APPLICATION(100);

END;

 

13. Managing Language Mappings in APEX

Oracle APEX allows you to define and manage language mappings to ensure that users experience the application in their preferred language. The following procedures help in creating, updating, and deleting language mappings.

Creating a Language Mapping

A language mapping links a language code to an APEX application. Use the CREATE_LANGUAGE_MAPPING procedure to establish this link.

BEGIN

    APEX_LANG.CREATE_LANGUAGE_MAPPING(

        p_application_id => 100,

        p_language       => 'fr',

        p_mapping        => 'French'

    );

END;

This associates the French language (fr) with the application.

Updating an Existing Language Mapping

If you need to modify an existing mapping, use the UPDATE_LANGUAGE_MAPPING procedure.

BEGIN

    APEX_LANG.UPDATE_LANGUAGE_MAPPING(

        p_application_id => 100,

        p_language       => 'fr',

        p_mapping        => 'Français'

    );

END;

Deleting a Language Mapping

To remove a language mapping, use the DELETE_LANGUAGE_MAPPING procedure.

BEGIN

    APEX_LANG.DELETE_LANGUAGE_MAPPING(

        p_application_id => 100,

        p_language       => 'fr'

    );

END;

This ensures that users can no longer select French as a language option for the application.

 

14. Managing Application Messages in Different Languages

Custom messages can be stored and retrieved dynamically using APEX APIs.

Creating a Custom Message

To store a message for different languages, use CREATE_MESSAGE.

BEGIN

    APEX_LANG.CREATE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'WELCOME_TEXT',

        p_message_text   => 'Welcome to our application'

    );

END;

To add a French translation:

BEGIN

    APEX_LANG.CREATE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'WELCOME_TEXT',

        p_message_text   => 'Bienvenue dans notre application',

        p_language       => 'fr'

    );

END;

Updating an Existing Message

If a message needs to be changed, use UPDATE_MESSAGE.

BEGIN

    APEX_LANG.UPDATE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'WELCOME_TEXT',

        p_message_text   => 'Hello and welcome!'

    );

END;

Deleting a Message

To remove a message, use DELETE_MESSAGE.

BEGIN

    APEX_LANG.DELETE_MESSAGE(

        p_application_id => 100,

        p_message_name   => 'WELCOME_TEXT'

    );

END;

 

15. Retrieving and Displaying Translated Messages

To retrieve a translated message dynamically in SQL or PL/SQL, use APEX_LANG.MESSAGE.

Using a Translated Message in a SQL Query

SELECT APEX_LANG.MESSAGE('WELCOME_TEXT') FROM dual;

Using a Translated Message in a PL/SQL Block

DECLARE

    v_message VARCHAR2(4000);

BEGIN

    v_message := APEX_LANG.MESSAGE('WELCOME_TEXT');

    DBMS_OUTPUT.PUT_LINE(v_message);

END;

 

16. Generating and Managing XLIFF Files for Translations

Oracle APEX supports exporting and importing XLIFF (XML Localization Interchange File Format) files for professional translation.

Generating an XLIFF File

DECLARE

    v_xliff CLOB;

BEGIN

    v_xliff := APEX_LANG.GET_XLIFF_DOCUMENT(100);

    INSERT INTO translation_logs (application_id, xliff_data, created_at) VALUES (100, v_xliff, SYSDATE);

END;

This retrieves all translatable text for application 100 and stores it for further processing.

Applying an XLIFF File Back to the Application

Once translations are complete, apply them back using APPLY_XLIFF_DOCUMENT.

BEGIN

    APEX_LANG.APPLY_XLIFF_DOCUMENT(

        p_application_id => 100,

        p_xliff          => :P1_XLIFF_FILE

    );

END;

 

17. Publishing and Managing Translations

Once translations are complete, they must be published to take effect in the application.

Publishing Translations

BEGIN

    APEX_LANG.PUBLISH_APPLICATION(100);

END;

Forcing an Update of Translated Strings

If specific translations need to be refreshed, use UPDATE_TRANSLATED_STRING.

BEGIN

    APEX_LANG.UPDATE_TRANSLATED_STRING(

        p_application_id => 100,

        p_message_name   => 'WELCOME_TEXT',

        p_message_text   => 'New Welcome Message'

    );

END;

 

18. Implementing a Language Selector in the Application

A language selector allows users to switch languages easily.

Creating a Language Selector List

Use EMIT_LANGUAGE_SELECTOR_LIST to generate a list of available languages.

BEGIN

    APEX_LANG.EMIT_LANGUAGE_SELECTOR_LIST;

END;

Alternatively, retrieve a list of available languages dynamically using GET_LANGUAGE_SELECTOR_LIST.

SELECT APEX_LANG.GET_LANGUAGE_SELECTOR_LIST FROM dual;

This function returns a formatted HTML list for users to choose from.


19. Best Practices for Translation Management in APEX

  • Use language mappings to manage supported languages efficiently.

  • Regularly update translations by running SEED_TRANSLATIONS before exporting XLIFF files.

  • Use substitution strings instead of hardcoded text to ensure translations are applied dynamically.

  • Test translations in different browsers and user sessions to verify the expected output.

  • Implement a clear workflow for exporting, translating, and applying translations using XLIFF.

  • Automate translation updates with scheduled jobs to ensure that newly added UI components are included in translation files.

  • Always seed translations (SEED_TRANSLATIONS) before exporting XLIFF files for translation.

  • Use APEX_LANG.MESSAGE to retrieve messages dynamically instead of hardcoded text.

  • After updating messages or translations, always publish the application (PUBLISH_APPLICATION).

Use language mappings to enable multiple languages within an APEX application.

 

  • Provide language selection options using EMIT_LANGUAGE_SELECTOR_LIST or GET_LANGUAGE_SELECTOR_LIST.

  • Use APEX_LANG.MESSAGE for dynamic messages instead of hardcoding strings.

  • Regularly update translations by running SEED_TRANSLATIONS and exporting XLIFF files.

  • Implement a user-friendly language switcher using a select list and dynamic action.

  • Test different languages in multiple browsers to ensure consistent behavior.

  • Log missing translations and update them regularly.



By following these advanced techniques, you can create a fully multilingual Oracle APEX application with seamless language switching, automated translation management, and dynamic localization.


Internal Messages Requiring Translation

Lists internal messages that require translation.

Message Name

English Text

APEX.ACTIONS.TOGGLE

Toggle %0

APEX.ACTIVE_STATE

(Active)

APEX.AUTHENTICATION.LOGIN_THROTTLE.COUNTER

Please wait <span id="apex_login_throttle_sec">%0</span> seconds to login again.

APEX.AUTHENTICATION.LOGIN_THROTTLE.ERROR

The login attempt has been blocked.

APEX.COMBOBOX.LIST_OF_VALUES

List of Values

APEX.COMBOBOX.SHOW_ALL_VALUES

Open list for: %0

APEX.COMPLETED_STATE

(Completed)

APEX.CORRECT_ERRORS

Correct errors before saving.

APEX.CS.MATCHES_FOUND

%0 matches found

APEX.CS.NO_MATCHES

No matches found

APEX.DATA_HAS_CHANGED

Current version of data in database has changed since user initiated update process. current checksum = "%0" application checksum = "%1".

APEX.DATEPICKER.VALUE_MUST_BE_ON_OR_AFTER

#LABEL# must be on or after %0.

APEX.DATEPICKER.VALUE_MUST_BE_ON_OR_BEFORE

#LABEL# must be on or before %0.

APEX.DATEPICKER.VALUE_MUST_BE_BETWEEN

#LABEL# must be between %0 and %1.

APEX.DATEPICKER.VALUE_INVALID

#LABEL# must be a valid date, for example %0.

APEX.DIALOG.CANCEL

Cancel

APEX.DIALOG.CLOSE

Close

APEX.DIALOG.HELP

Help

APEX.DIALOG.OK

OK

APEX.DIALOG.SAVE

Save

APEX.ERROR.PAGE_NOT_AVAILABLE

Sorry, this page isn't available

APEX.ERROR_MESSAGE_HEADING

Error Message

APEX.FILE_BROWSE.DOWNLOAD_LINK_TEXT

Download

APEX.GO_TO_ERROR

Go to error

APEX.ITEM.HELP_TEXT

Help Text: %0

APEX.ITEM.NOT_FOUND

Item %0 not found.

APEX.ITEM_TYPE.SLIDER.VALUE_NOT_BETWEEN_MIN_MAX

#LABEL# is not between the valid range of %0 and %1.

APEX.ITEM_TYPE.SLIDER.VALUE_NOT_MULTIPLE_OF_STEP

#LABEL# is not a multiple of %0.

APEX.ITEM_TYPE.YES_NO.INVALID_VALUE

#LABEL# must match to the values %0 and %1.

APEX.ITEM_TYPE.YES_NO.NO_LABEL

No

APEX.ITEM_TYPE.YES_NO.YES_LABEL

Yes

APEX.MENU.CURRENT_MENU

current

APEX.MENU.OVERFLOW_LABEL

More...

APEX.MENU.PROCESSING

Loading

APEX.NUMBER_FIELD.VALUE_GREATER_MAX_VALUE

#LABEL# is greater than specified maximum %0.

APEX.NUMBER_FIELD.VALUE_INVALID

#LABEL# must be Numeric.

APEX.NUMBER_FIELD.VALUE_INVALID2

#LABEL# does not match number format %0 (For example, %1).

APEX.NUMBER_FIELD.VALUE_LESS_MIN_VALUE

#LABEL# is less than specified minimum %0.

APEX.NUMBER_FIELD.VALUE_NOT_BETWEEN_MIN_MAX

#LABEL# is not between the valid range of %0 and %1.

APEX.PAGE.DUPLICATE_SUBMIT

This page was already submitted and can not be re-submitted.

APEX.PAGE_ITEM_IS_REQUIRED

#LABEL# must have some value.

APEX.POPUP_LOV.ICON_TEXT

Popup List of Values: %0.

APEX.PROCESSING

Processing

APEX.REGION.JQM_LIST_VIEW.LOAD_MORE

Load more

APEX.REGION.JQM_LIST_VIEW.SEARCH

Search

APEX.RICH_TEXT_EDITOR.ACCESSIBLE_LABEL

%0, rich text editor

APEX.SINCE.SHORT.DAYS_AGO

%0d

APEX.SINCE.SHORT.DAYS_FROM_NOW

in %0d

APEX.SINCE.SHORT.HOURS_AGO

%0h

APEX.SINCE.SHORT.HOURS_FROM_NOW

in %0h

APEX.SINCE.SHORT.MINUTES_AGO

%0m

APEX.SINCE.SHORT.MINUTES_FROM_NOW

in %0m

APEX.SINCE.SHORT.MONTHS_AGO

%0mo

APEX.SINCE.SHORT.MONTHS_FROM_NOW

in %0mo

APEX.SINCE.SHORT.SECONDS_AGO

%0s

APEX.SINCE.SHORT.SECONDS_FROM_NOW

in %0s

APEX.SINCE.SHORT.WEEKS_AGO

%0w

APEX.SINCE.SHORT.WEEKS_FROM_NOW

in %0w

APEX.SINCE.SHORT.YEARS_AGO

%0y

APEX.SINCE.SHORT.YEARS_FROM_NOW

in %0y

APEX.SUCCESS_MESSAGE_HEADING

Success Message

APEX.TABS.NEXT

Next

APEX.TABS.PREVIOUS

Previous

APEX.TB.TOOLBAR

Toolbar

APEX.TEMPLATE.EXPAND_COLLAPSE_NAV_LABEL

Expand / Collapse Navigation

APEX.TEMPLATE.EXPAND_COLLAPSE_SIDE_COL_LABEL

Expand / Collapse Side Column

APEX.THEMES.INVALID_THEME_NUMBER

Theme number is invalid or theme is not a current UI theme.

APEX.UI.BACK_TO_TOP

Start of page

APEX.VALUE_REQUIRED

Value Required

CHART_SERIES_ERROR

Chart series error %0 for %1.

FLOW.SINGLE_VALIDATION_ERROR

1 error has occurred.

FLOW.VALIDATION_ERROR

%0 errors have occurred.

INVALID_CREDENTIALS

Invalid Login Credentials .

LAYOUT.CHART

Chart

LAYOUT.T_#EXPAND_COLLAPSE_NAV_LABEL#

Label for Expand / Collapse Navigation

LAYOUT.T_#EXPAND_COLLAPSE_SIDE_COL_LABEL#

Label for Expand / Collapse Side Column

OUT_OF_RANGE

Invalid set of rows requested, the source data of the report has been modified.

PAGINATION.NEXT

Next

PAGINATION.NEXT_SET

Next Set

PAGINATION.PREVIOUS

Previous

PAGINATION.PREVIOUS_SET

Previous Set

REGION_NAME.NATIVE_JET_CHART

Chart

REPORT_TOTAL

report total

RESET

reset pagination

SHOW_ALL

Show All

SINCE_DAYS_AGO

%0 days ago

SINCE_DAYS_FROM_NOW

%0 days from now

SINCE_HOURS_AGO

%0 hours ago

SINCE_HOURS_FROM_NOW

%0 hours from now

SINCE_MINUTES_AGO

%0 minutes ago

SINCE_MINUTES_FROM_NOW

%0 minutes from now

SINCE_MONTHS_AGO

%0 months ago

SINCE_MONTHS_FROM_NOW

%0 months from now

SINCE_NOW

Now

SINCE_SECONDS_AGO

%0 seconds ago

SINCE_SECONDS_FROM_NOW

%0 seconds from now

SINCE_WEEKS_AGO

%0 weeks ago

SINCE_WEEKS_FROM_NOW

%0 weeks from now

SINCE_YEARS_AGO

%0 years ago

SINCE_YEARS_FROM_NOW

%0 years from now

TOTAL

Total

UI_PAGE_SKIP_TO_CONTENT

Skip to Main Content

UPGRADE_CANDLESTICK_CHART

After upgrading, ensure the series attribute Label Column is mapped to a Date / Timestamp column.

WWV_FLOW_CREATE_MODEL_APP.CREATE_IG

Unable to create interactive grid page. %0

WWV_FLOW_CUSTOMIZE.T_MESSAGE3

You can personalize the appearance of this application by changing the Theme Style. Please select a Theme Style from the list below and click on Apply Changes.

WWV_FLOW_CUSTOMIZE.T_REGION_DISP

Region Display

WWV_FLOW_CUSTOMIZE.T_REMOVE_STYLE

Use Application Default Style

WWV_FLOW_CUSTOMIZE.T_THEME_STYLE

Appearance

WWV_FLOW_DATA_EXPORT.AGG_COLUMN_IDX_NOT_EXIST

The column index referenced in the aggregate %0 does not exist.

WWV_FLOW_DATA_EXPORT.COLUMN_BREAK_MUST_BE_IN_THE_BEGGINING

The column break needs to be in the beggining of the columns array.

WWV_FLOW_DATA_EXPORT.COLUMN_GROUP_IDX_NOT_EXIST

The column group index referenced in %0 does not exist.

WWV_FLOW_DATA_EXPORT.HIGHLIGHT_COLUMN_IDX_NOT_EXIST

The column index referenced in the highlight %0 does not exist.

WWV_FLOW_DATA_EXPORT.PARENT_GROUP_IDX_NOT_EXIST

The parent group index referenced in %0 does not exist.

WWV_FLOW_UTILITIES.CAL

Calendar

WWV_FLOW_UTILITIES.CLOSE

Close

WWV_FLOW_UTILITIES.OK

Ok

WWV_FLOW_WEB_SERVICES.AUTHENTICATION_FAILED

Authentication failed.

WWV_FLOW_WEB_SERVICES.NO_VALID_OAUTH_TOKEN

OAuth access token not available or expired.

WWV_FLOW_WEB_SERVICES.UNSUPPORTED_OAUTH_TOKEN

Server responded with unsupported OAuth token type.

WWV_RENDER_REPORT3.FOUND_BUT_NOT_DISPLAYED

Minimum row requested: %0, rows found but not displayed: %1

WWV_RENDER_REPORT3.SORT_BY_THIS_COLUMN

Sort by this column.

WWV_RENDER_REPORT3.UNSAVED_DATA

This form contains unsaved changes. Press Ok to proceed without saving your changes.

WWV_RENDER_REPORT3.X_Y_OF_MORE_THAN_Z

row(s) %0 - %1 of more than %2

WWV_RENDER_REPORT3.X_Y_OF_Z

row(s)%0 - %1 of %2

WWV_RENDER_REPORT3.X_Y_OF_Z_2

%0 - %1 of %2



 Interactive Grid Messages Requiring Translation

Lists the interactive grid messages that require translation.

Message Name

English Text

APEX.GV.BREAK_COLLAPSE

Collapse control break

APEX.GV.BREAK_EXPAND

Expand control break

APEX.GV.DELETED_COUNT

%0 rows deleted

APEX.GV.DUP_REC_ID

Duplicate identity

APEX.GV.FIRST_PAGE

First

APEX.GV.FOOTER_LANDMARK

Grid Footer

APEX.GV.LAST_PAGE

Last

APEX.GV.LOAD_ALL

Load All

APEX.GV.LOAD_MORE

Show More

APEX.GV.NEXT_PAGE

Next

APEX.GV.PAGE_RANGE

Page rows

APEX.GV.PAGE_RANGE_ENTITY

Page %0

APEX.GV.PAGE_RANGE_XY

%0 - %1

APEX.GV.PAGE_RANGE_XYZ

%0 - %1 of %2

APEX.GV.PAGE_SELECTION

Page Selection

APEX.GV.PAGINATION_LANDMARK

Pagination

APEX.GV.PREV_PAGE

Previous

APEX.GV.ROW_ADDED

Added

APEX.GV.ROW_CHANGED

Changed

APEX.GV.ROW_DELETED

Deleted

APEX.GV.ROW_HEADER

Row header

APEX.GV.SELECT_ALL

Select All

APEX.GV.SELECT_PAGE_N

Page %0

APEX.GV.SELECT_ROW

Select Row

APEX.GV.SELECTED_ENTITY_COUNT

%0 %1 selected

APEX.GV.SELECTION_CELL_COUNT

%0 cells selected

APEX.GV.SELECTION_COUNT

%0 rows selected

APEX.GV.SORT_ASCENDING

Sort Ascending

APEX.GV.SORT_ASCENDING_ORDER

Sort Ascending %0

APEX.GV.SORT_DESCENDING

Sort Descending

APEX.GV.SORT_DESCENDING_ORDER

Sort Descending %0

APEX.GV.SORT_OFF

Don't Sort

APEX.GV.STATE_ICONS_LANDMARK

State Icons

APEX.GV.STATUS_LANDMARK

Grid Status

APEX.GV.TOTAL_ENTITY_PLURAL

%0 %1

APEX.GV.TOTAL_ENTITY_SINGULAR

1 %0

APEX.GV.TOTAL_PAGES

Total %0

APEX.IG.ACC_LABEL

Interactive Grid %0

APEX.IG.ACTIONS

Actions

APEX.IG.ADD

Add

APEX.IG.ADD_ROW

Add Row

APEX.IG.AGGREGATE

Aggregate

APEX.IG.AGGREGATION

Aggregation

APEX.IG.ALL

All

APEX.IG.ALL_TEXT_COLUMNS

All Text Columns

APEX.IG.ALTERNATIVE

Alternative

APEX.IG.AND

and

APEX.IG.APPROX_COUNT_DISTINCT

Approx. Count Distinct

APEX.IG.APPROX_COUNT_DISTINCT_OVERALL

Overall Approx. Count Distinct

APEX.IG.AREA

Area

APEX.IG.ASCENDING

Ascending

APEX.IG.AUTHORIZATION

Authorization

APEX.IG.AUTO

Auto

APEX.IG.AVG

Average

APEX.IG.AVG_OVERALL

Overall Average

APEX.IG.AXIS_LABEL_TITLE

Label Axis Title

APEX.IG.AXIS_VALUE_DECIMAL

Decimal Places

APEX.IG.AXIS_VALUE_TITLE

Value Axis Title

APEX.IG.BACKGROUND_COLOR

Background Color

APEX.IG.BAR

Bar

APEX.IG.BETWEEN

between

APEX.IG.BOTH

Both

APEX.IG.BUBBLE

Bubble

APEX.IG.CANCEL

Cancel

APEX.IG.CASE_SENSITIVE

Case Sensitive

APEX.IG.CASE_SENSITIVE_WITH_BRACKETS

(Case Sensitive)

APEX.IG.CHANGE_VIEW

Change View

APEX.IG.CHANGES_SAVED

Changes saved

APEX.IG.CHART

Chart

APEX.IG.CHART_VIEW

Chart View

APEX.IG.CLOSE_COLUMN

Close

APEX.IG.COLOR_BLUE

Blue

APEX.IG.COLOR_GREEN

Green

APEX.IG.COLOR_ORANGE

Orange

APEX.IG.COLOR_RED

Red

APEX.IG.COLOR_YELLOW

Yellow

APEX.IG.COLORS

Colors

APEX.IG.COLUMN

Column

APEX.IG.COLUMN_CONTEXT

Column %0

APEX.IG.COLUMN_TYPE

Column Purpose

APEX.IG.COLUMNS

Columns

APEX.IG.COPY_CB

Copy to Clipboard

APEX.IG.COMPLEX

Complex

APEX.IG.COMPUTE

Compute

APEX.IG.CONTAINS

contains

APEX.IG.CONTROL_BREAK

Control Break

APEX.IG.COUNT

Count

APEX.IG.COUNT_DISTINCT

Count Distinct

APEX.IG.COUNT_DISTINCT_OVERALL

Overall Count Distinct

APEX.IG.COUNT_OVERALL

Overall Count

APEX.IG.CREATE_X

Create %0

APEX.IG.DATA

Data

APEX.IG.DATA_TYPE

Data Type

APEX.IG.DATE

Date

APEX.IG.DAYS

days

APEX.IG.DEFAULT_SETTINGS

Default Settings

APEX.IG.DEFAULT_TYPE

Default Type

APEX.IG.DELETE

Delete

APEX.IG.DELETE_REPORT_CONFIRM

Are you sure you would like to delete this report?

APEX.IG.DELETE_ROW

Delete Row

APEX.IG.DELETE_ROWS

Delete Rows

APEX.IG.DESCENDING

Descending

APEX.IG.DETAIL

Detail

APEX.IG.DETAIL_VIEW

Detail View

APEX.IG.DIRECTION

Direction

APEX.IG.DISABLED

Disabled

APEX.IG.DOES_NOT_CONTAIN

does not contain

APEX.IG.DOES_NOT_START_WITH

does not start with

APEX.IG.DONUT

Donut

APEX.IG.DOWNLOAD

Download

APEX.IG.DOWNLOAD_FORMAT

Choose Format

APEX.IG.DUPLICATE_AGGREGATION

Duplicate Aggregation

APEX.IG.DUPLICATE_CONTROLBREAK

Duplicate Control Break

APEX.IG.DUPLICATE_ROW

Duplicate Row

APEX.IG.DUPLICATE_ROWS

Duplicate Rows

APEX.IG.EDIT

Edit

APEX.IG.EDIT_CHART

Edit Chart

APEX.IG.EDIT_GROUP_BY

Edit Group By

APEX.IG.EMAIL_BCC

Blind Copy (bcc)

APEX.IG.EMAIL_BODY

Message

APEX.IG.EMAIL_CC

Copy (cc)

APEX.IG.EMAIL_SENT

Email sent.

APEX.IG.EMAIL_SUBJECT

Subject

APEX.IG.EMAIL_TO

Recipient (to)

APEX.IG.ENABLED

Enabled

APEX.IG.EQUALS

equals

APEX.IG.EXAMPLE

Example

APEX.IG.EXPRESSION

Expression

APEX.IG.FD_TYPE

Type

APEX.IG.FILTER

Filter

APEX.IG.FILTER_WITH_DOTS

Filter...

APEX.IG.FILTERS

Filters

APEX.IG.FIRST

First

APEX.IG.FLASHBACK

Flashback

APEX.IG.FORMAT

Format

APEX.IG.FORMAT_CSV

CSV

APEX.IG.FORMAT_HTML

HTML

APEX.IG.FORMATMASK

Format Mask

APEX.IG.FREEZE

Freeze

APEX.IG.FUNCTIONS_AND_OPERATORS

Functions and Operators

APEX.IG.FUNNEL

Funnel

APEX.IG.GO

Go

APEX.IG.GREATER_THAN

greater than

APEX.IG.GREATER_THAN_OR_EQUALS

greater than or equals

APEX.IG.GRID

Grid

APEX.IG.GRID_VIEW

Grid View

APEX.IG.GROUP

Group

APEX.IG.GROUP_BY

Group By

APEX.IG.GROUP_BY_VIEW

Group By View

APEX.IG.HD_TYPE

Condition Type

APEX.IG.HEADING

Heading

APEX.IG.HEADING_ALIGN

Heading Alignment

APEX.IG.HELP

Help

APEX.IG.HELP.ACTIONS.EDITING

<p>You can insert, update, and delete data directly within this interactive grid.</p>

<p>Insert a new row by clicking the Add Row button.</p>

<p>Edit existing data by double-clicking a specific cell. For larger editing work, click Edit to enter editing mode. In editing mode, you can single-click or use the keyboard to edit specific cells.</p>

<p>Use the Change menu to duplicate and delete rows. To enable the Change menu, use the checkboxes to select one or more rows.</p>

<p>Duplicate a selected row by clicking the Change menu and selecting Duplicate Rows. Delete a selected row by clicking the Change menu and selecting Delete Row.</p>

APEX.IG.HELP.ACTIONS.EDITING_HEADING

Editing Capabilities

APEX.IG.HELP.ACTIONS.INTRO

<p>An interactive grid presents a set of data in a searchable, customizable report. You can perform numerous operations to limit the records returned, and change the way the data is displayed.</p>

<p>Use the Search field to filter the records returned. Click Actions to access numerous options for modifying the report layout, or use the Column Heading menus on displayed columns.</p>

<p>Use Report Settings to save your customizations to a report. You can also download the data from the report to an external file or email the data to yourself or others.</p>

<p>To learn more, see Using Interactive Grids" in <em>Oracle Application Express End User's Guide</em></p>

APEX.IG.HELP.ACTIONS.INTRO_HEADING

Overview

APEX.IG.HELP.ACTIONS.REPORTING

<p>You can customize the interactive grid to display data in various different ways using the built-in capabilities.</p>

<p>Use the Column Heading menus or the Actions menu to determine which columns to display, in what sequence, and freeze columns. You can also define various data filters and sort the data returned.</p>

<p>Use the View button (adjacent to the Search field) to access other data views that may have been defined by the application developer. You can also create a chart or view an existing chart.</p>

<p><em>Note: Click <strong>Help</strong> in the interactive grid dialogs to obtain more detailed information on the selected function.</em></p>

APEX.IG.HELP.ACTIONS.REPORTING_HEADING

Reporting Capabilities

APEX.IG.HELP.ACTIONS_TITLE

Interactive Grid Help

APEX.IG.HELP.AGGREGATE

<p>Use this dialog to aggregate columns. Aggregated values display at the bottom of the data, or if Control Breaks are defined, at the bottom of each break.</p>

<p><strong>Aggregation List</strong><br>

The Aggregation list displays defined aggregations. Disable an existing aggregation by deselecting it.<br>

Click Add (&plus;) to create a new aggregation, or Delete (&minus;) to remove an existing aggregation.</p>

<p><strong>Aggregation Settings</strong><br>

Use the form on the right to define the aggregation.<br>

Select the Column name and Aggregation type.<br>

Optionally, enter a tooltip for the aggregation.<br>

If you have defined a Control Break, selecting <strong>Show Overall Value</strong> displays the overall average, total, or similar value at the bottom of the data.</p>

<p><em>Note: Access the Aggregation dialog in the Actions menu or by clicking the column heading and sum(&sum; ).</em></p>

APEX.IG.HELP.AGGREGATE_TITLE

Aggregation Help

APEX.IG.HELP.CHART

<p>Use this dialog to define a chart which displays as a separate data view.<br>

Select a chart Type, configure the chart settings, and click <strong>Save.</strong></p>

<p><strong>Chart Settings</strong></br>

The chart attributes that display vary depending on the chart type. A number of attributes can be entered to define the chart. Attributes marked with a red asterisk are mandatory.</p>

<p>Below are all available attributes across the different chart types (in alphabetical order):

<ul>

<li>Aggregation - Select how to aggregate the associated chart values.</li>

<li>Close - Select the column that contains the daily stock close price (Stock chart only).</li>

<li>Decimal Places - Enter the number of decimal places to which the values are rounded.</li>

<li>Direction - In relation to the Sort By attribute, specify whether the data is sorted in ascending or descending values.</li>

<li>High - Select the column that contains the high value (Range and Stock charts only).</li>

<li>Label - Select the column that contains the text for each data point.</li>

<li>Label Axis Title - Enter the title that displays on the label axis.</li>

<li>Low - Select the column that contains the low value (Range and Stock charts only).</li>

<li>Nulls - In relation to the Sort By attribute, specify how you want records with null values to be sorted in relation to records with non null values.</li>

<li>Open - Select the column that contains the daily stock opening price (Stock chart only).</li>

<li>Orientation - Select whether the chart elements, such as bars, display vertically or horizontally.</li>

<li>Series - Select the column used for defining your multi-series dynamic query.</li>

<li>Stack - Specify whether the data items are stacked.</li>

<li>Sort By - Select whether the chart is sorted by the label or the value(s).</li>

<li>Target - Select the column to be used for defining the target value on this chart. When set, the Value attribute defines the filled area within the slice and the Target represents the value of the whole slice (Funnel chart only).</li>

<li>Value - Select the column that contains the data to be plotted.</li>

<li>Value Axis Title - Enter the title that displays on the value axis.</li>

<li>Volume - Select the column that contains the daily stock volume (Stock chart only).</li>

<li>X - Select the column that contains the x-axis value for this chart (Bubble and Scatter charts only).</li>

<li>Y - Select the column that contains the y-axis value for this chart (Bubble and Scatter charts only).</li>

<li>Z - Select the column that contains the bar width or bubble radius (Bar, Bubble, and Range charts only)</li>

</p>

APEX.IG.HELP.CHART_TITLE

Chart Help

APEX.IG.HELP.COLUMNS

<p> Use this dialog to choose which columns display and in what order.</p>

<p>Hide a column by deselecting it.<br>

Reorder columns by clicking Move Up ( &uarr; ) or Move Down (&darr; ).<br>

Use the drop down selector to list All columns, Displayed columns, or Not Displayed columns.</p>

<p>Optionally, use the form to specify the minimum width of a column in pixels.</p>

<p><em> Note: You can also reorder displayed columns by clicking the drag handle (at the start of the column heading) and dragging the column left or right. You can also change the column width of displayed columns by selecting the column separator, between headings, and moving it left or right.</em></p>

APEX.IG.HELP.COLUMNS_TITLE

Columns Help

APEX.IG.HELP.COMPUTE

<p> Use this dialog to define additional columns based on mathematical and functional computations performed against existing columns.</p>

<p><strong>Computation List</strong><br>

The Computation list displays defined computations. Disable an existing computation by deselecting it.<br>

Click Add (&plus) to add a new computation, or Delete (&minus; ) to remove an existing computation.</p>

<p><strong>Computation Settings</strong><br>

Use the form to define the computation.<br>

Enter the column details such as heading, label, and select alignment settings.<br>

Use the Expression textarea to enter the column(s) and associated functions for the computation.<br>

Select the appropriate data type, and optionally a format mask, for the new column.</p>

APEX.IG.HELP.COMPUTE_TITLE

Compute Help

APEX.IG.HELP.CONTROL_BREAK

<p>Use this dialog to define a control break on one or more columns.</p>

<p><strong>Control Break List</strong><br>

The Control Break list displays defined control breaks. Disable an existing control break column by deselecting it.<br>

Click Add (&plus) to include a new column in the control break, or Delete (&minus; ) to remove an existing column from the control break.<br>

To reorder columns, click Move Up (&uarr; ) or Move Down (&darr; ) to move the selected column up and down relative to other columns. </p>

<p><strong>Control Break Settings</strong><br>

Use the form to define the control break column.<br>

Selected a control break column, the sort direction, and how to order null columns (columns with no value).</p>

<p><em> Note: When viewing the interactive grid, you can define a control break by clicking a Column Heading and selecting the control break icon.</em></p>

APEX.IG.HELP.CONTROL_BREAK_TITLE

Control Break Help

APEX.IG.HELP.DOWNLOAD

<p>Use this dialog to download all the current rows to an external file. The file will contain only the currently displayed columns, using any filters and sorts applied to the data.</p>

<p>Select the file format and click Download.<br>

Note: CSV will not include text formatting such as aggregates and control breaks.</p>

<p>To email the file, select Send as Email and enter the email details (Recipient, Subject and Message).</p>

APEX.IG.HELP.DOWNLOAD_TITLE

Download Help

APEX.IG.HELP.FILTER

<p>Use this dialog to configure data filters which limit the rows returned.</p>

<p><strong>Filter List</strong><br>

The Filter list displays defined filters. Disable an existing filter by deselecting it.<br>

Click Add (&plus) to create a new filter, or Delete (&minus; ) to remove an existing filter.</p>

<p><strong>Filter Settings</strong><br>

Use the form to define the filter properties. <br>

Select the appropriate filter type:<br>

&nbsp ; &nbsp; &nbsp; Row - filter for a term in any filterable column.<br>

&nbsp ; &nbsp; &nbsp; Column - filter a specific column with a specified operator and value.</p>

<p><em> Note: When viewing the interactive grid, you can define row filters by typing directly into the Search field. Click Select Columns to Search to limit the search to a specific column. Alternately, open a Column Heading menu and select a value to create a column filter.</em></p>

APEX.IG.HELP.FILTER_TITLE

Filter Help

APEX.IG.HELP.FLASHBACK

<p>Use this dialog to view the data as it existed at a previous point in time. </p>

<p>Enter the number of minutes in the past to execute the flashback query.</p>

APEX.IG.HELP.FLASHBACK_TITLE

Flashback Help

APEX.IG.HELP.GROUP_BY_TITLE

Group By Help

APEX.IG.HELP.HIGHLIGHT

<p>Use this dialog to highlight rows or columns of data based on the condition entered.</p>

<p><strong>Highlight List</strong><br>

The Highlight list displays defined highlights. Disable an existing highlight by deselecting it.<br>

Click Add (&plus) to create a new highlight, or Delete (&minus; ) to remove an existing highlight.<br>

<p><strong>Highlight Settings</strong><br>

Use the form to define the highlight properties.<br>

Enter the name, select Row or Column, and select the HTML color codes for the background and text.<br>

Select the appropriate <strong>Condition Type </strong> to highlight specific data: <br>

&nbsp ; &nbsp; &nbsp; Row - highlight the term in any column. <br>

&nbsp ; &nbsp; &nbsp; Column - highlight within a specific column based on the specified operator and value.</p>

APEX.IG.HELP.HIGHLIGHT_TITLE

Highlight Help

APEX.IG.HELP.REPORT

<p>Use this dialog to save changes you have made to the current grid layout and configuration.<br>

Application developers can define multiple alternate report layouts. Where permissible, you and other end users can save a report as Public, which makes the report available to all other users of the grid. You can also save a report as a Private report that only you can view.</p>

<p>Select from the available types and enter a name for the saved report.</p>

APEX.IG.HELP.REPORT_TITLE

Report Help

APEX.IG.HELP.SORT

<p>Use this dialog to set the display order.<p>

<p><strong>Sort List</strong><br>

The Sort dialog displays a list of configured sorting rules.<br>

Click Add (&plus) to create a sort column, or Delete (&minus; ) to remove a sort column.<br>

Click Move Up (&uarr; ) and Move Down (&darr; ) to move the selected sort column up and down relative to the other sort columns. </p>

<p><strong>Sort Settings</strong><br>

Select a sort column, the sort direction, and how to order null columns (columns with no value).</p>

<p><em> Note: Data can be sorted by columns which are not displayed; however, not all columns may be sortable.</em><br>

<em> Displayed columns can be sorted by pressing the up (ascending) or down (descending) arrows at the end of the column headings. To add a subsequent column to an existing sort, hold the Shift key and click the up or down arrow.</em></p>

APEX.IG.HELP.SORT_TITLE

Sort Help

APEX.IG.HELP.SUBSCRIPTION_TITLE

Subscription Help

APEX.IG.HIDE

Hide

APEX.IG.HIGH_COLUMN

High

APEX.IG.HIGHLIGHT

Highlight

APEX.IG.HORIZONTAL

Horizontal

APEX.IG.HOURS

hours

APEX.IG.ICON

Icon

APEX.IG.ICON_VIEW

Icon View

APEX.IG.IN

in

APEX.IG.IN_THE_LAST

in the last

APEX.IG.IN_THE_NEXT

in the next

APEX.IG.INACTIVE_SETTING

Inactive Setting

APEX.IG.INACTIVE_SETTINGS

Inactive Settings

APEX.IG.INTERNAL_ERROR

An internal error has occurred while processing the Interactive Grid request.

APEX.IG.INVALID_DATE_FORMAT

Invalid Date Format

APEX.IG.INVALID_SETTING

Invalid Setting

APEX.IG.INVALID_SETTINGS

Invalid Settings

APEX.IG.INVALID_SORT_BY

Sort By has been set to %0, but no column as been selected for %0.

APEX.IG.INVALID_VALUE

Invalid Value

APEX.IG.INVISIBLE

Not Displayed

APEX.IG.IS_NOT_NULL

is not empty

APEX.IG.IS_NULL

is empty

APEX.IG.LABEL

Label

APEX.IG.LABEL_COLUMN

Label

APEX.IG.LAST

Last

APEX.IG.LAST.DAY

Last Day

APEX.IG.LAST.HOUR

Last Hour

APEX.IG.LAST.MINUTE

Last Minute

APEX.IG.LAST.MONTH

Last Month

APEX.IG.LAST.WEEK

Last Week

APEX.IG.LAST.X_DAYS

Last %0 Days

APEX.IG.LAST.X_HOURS

Last %0 Hours

APEX.IG.LAST.X_MINUTES

Last %0 Minutes

APEX.IG.LAST.X_MONTHS

Last %0 Months

APEX.IG.LAST.X_WEEKS

Last %0 Weeks

APEX.IG.LAST.X_YEARS

Last %0 Years

APEX.IG.LAST.YEAR

Last Year

APEX.IG.LAYOUT_ALIGN

Cell Alignment

APEX.IG.LAYOUT_USEGROUPFOR

Use Group For

APEX.IG.LESS_THAN

less than

APEX.IG.LESS_THAN_OR_EQUALS

less than or equals

APEX.IG.LINE

Line

APEX.IG.LINE_WITH_AREA

Line with Area

APEX.IG.LISTAGG

Listagg

APEX.IG.LOW_COLUMN

Low

APEX.IG.MAILADDRESSES_COMMASEP

Separate multiple Addresses with commas

APEX.IG.MATCHES_REGULAR_EXPRESSION

matches regular expression

APEX.IG.MAX

Maximum

APEX.IG.MAX_OVERALL

Overall Maximum

APEX.IG.MEDIAN

Median

APEX.IG.MEDIAN_OVERALL

Overall Median

APEX.IG.MIN

Minimum

APEX.IG.MIN_OVERALL

Overall Minimum

APEX.IG.MINUTES

minutes

APEX.IG.MINUTES_AGO

Minutes ago

APEX.IG.MONTHS

months

APEX.IG.MORE_DATA_FOUND

The data contains more than %0 rows which exceeds the maximum allowed. Please apply additional filters in order to view the results.

APEX.IG.NAME

Name

APEX.IG.NAMED_REPORT

Named Report

APEX.IG.NEXT.DAY

Next Day

APEX.IG.NEXT.HOUR

Next Hour

APEX.IG.NEXT.MINUTE

Next Minute

APEX.IG.NEXT.MONTH

Next Month

APEX.IG.NEXT.WEEK

Next Week

APEX.IG.NEXT.X_DAYS

Next %0 Days

APEX.IG.NEXT.X_HOURS

Next %0 Hours

APEX.IG.NEXT.X_MINUTES

Next %0 Minutes

APEX.IG.NEXT.X_MONTHS

Next %0 Months

APEX.IG.NEXT.X_WEEKS

Next %0 Weeks

APEX.IG.NEXT.X_YEARS

Next %0 Years

APEX.IG.NEXT.YEAR

Next Year

APEX.IG.NO_DATA_FOUND

No data found

APEX.IG.NOT_BETWEEN

not between

APEX.IG.NOT_EQUALS

not equals

APEX.IG.NOT_EXIST

Region with ID %0 is not an Interactive Grid region or does not exist in application %1.

APEX.IG.NOT_IN

not in

APEX.IG.NOT_IN_THE_LAST

not in the last

APEX.IG.NOT_IN_THE_NEXT

not in the next

APEX.IG.NULLS

Nulls

APEX.IG.NUMBER

Numeric

APEX.IG.OFF

Off

APEX.IG.ON

On

APEX.IG.ONE_MINUTE_AGO

1 minute ago

APEX.IG.OPEN_COLORPICKER

Open Color Picker: %0

APEX.IG.OPEN_COLUMN

Open

APEX.IG.OPERATOR

Operator

APEX.IG.ORIENTATION

Orientation

APEX.IG.PIE

Pie

APEX.IG.PIVOT

Pivot

APEX.IG.PIVOT_VIEW

Pivot View

APEX.IG.PLACEHOLDER_INVALUES

Separate values with "%0"

APEX.IG.POLAR

Polar

APEX.IG.POSITION_CENTER

Center

APEX.IG.POSITION_END

End

APEX.IG.POSITION_START

Start

APEX.IG.PRIMARY

Primary

APEX.IG.PRIMARY_DEFAULT

Primary Default

APEX.IG.PRIMARY_REPORT

Primary Report

APEX.IG.RADAR

Radar

APEX.IG.RANGE

Range

APEX.IG.REFRESH

Refresh

APEX.IG.REFRESH_ROW

Refresh Row

APEX.IG.REFRESH_ROWS

Refresh Rows

APEX.IG.REMOVE_CONTROL

Remove %0

APEX.IG.REPORT

Report

APEX.IG.REPORT.DELETED

Report deleted

APEX.IG.REPORT.SAVED.ALTERNATIVE

Alternative report saved for all users

APEX.IG.REPORT.SAVED.DEFAULT

Default report saved for all users

APEX.IG.REPORT.SAVED.PRIVATE

Private report saved

APEX.IG.REPORT.SAVED.PUBLIC

Public report saved for all users

APEX.IG.REPORT_DATA_AS_OF.X.MINUTES_AGO

Report data as of %0 minutes ago

APEX.IG.REPORT_DATA_AS_OF_ONE_MINUTE_AGO

Report data as of 1 minute ago

APEX.IG.REPORT_EDIT

Report - Edit

APEX.IG.REPORT_SAVE_AS

Report - Save As

APEX.IG.REPORT_SETTINGS

Report Settings

APEX.IG.REPORT_STATIC_ID_DOES_NOT_EXIST

Saved Interactive Grid with static ID %0 does not exist.

APEX.IG.REPORT_VIEW

Report View

APEX.IG.RESET

Reset

APEX.IG.REVERT_CHANGES

Revert Changes

APEX.IG.REVERT_ROWS

Revert Rows

APEX.IG.ROW

Row

APEX.IG.ROW_ACTIONS

Row Actions

APEX.IG.ROW_ACTIONS_FOR

Actions for row %0

APEX.IG.ROW_COLUMN_CONTEXT

Row %0 Column %1

APEX.IG.ROW_CONTEXT

Row %0

APEX.IG.ROWS_PER_PAGE

Rows Per Page

APEX.IG.SAVE

Save

APEX.IG.SAVE_AS

Save As

APEX.IG.SAVE_REPORT_SETTINGS

Save Report Settings

APEX.IG.SAVED_REPORT_DEFAULT

Default

APEX.IG.SAVED_REPORT_PRIVATE

Private

APEX.IG.SAVED_REPORT_PUBLIC

Public

APEX.IG.SAVED_REPORTS

Saved Reports

APEX.IG.SCATTER

Scatter

APEX.IG.SEARCH

Search

APEX.IG.SEARCH.ALL_COLUMNS

Search: All Text Columns

APEX.IG.SEARCH.COLUMN

Search: %0

APEX.IG.SEARCH.ORACLE_TEXT

Search: Full Text

APEX.IG.SEARCH_FOR.X

Search for '%0'

APEX.IG.SEL_ACTIONS

Selection Actions

APEX.IG.SELECT

- Select -

APEX.IG.SELECT_1_ROW_IN_MASTER

Select 1 row in the master region

APEX.IG.SELECT_COLUMNS_TO_SEARCH

Select columns to search

APEX.IG.SELECTION

Cell Selection

APEX.IG.SEL_MODE_CELL

Selection

APEX.IG.SEND_AS_EMAIL

Send as Email

APEX.IG.SERIES_COLUMN

Series

APEX.IG.SHOW_OVERALL_VALUE

Show Overall Value

APEX.IG.SINGLE_ROW_VIEW

Single Row View

APEX.IG.SORT

Sort

APEX.IG.SORT_BY

Sort By

APEX.IG.SORT_ONLY_ONE_PER_COLUMN

You can define only one sort per column.

APEX.IG.SRV_CHANGE_MENU

Change Menu

APEX.IG.STACK

Stack

APEX.IG.STARTS_WITH

starts with

APEX.IG.STOCK

Stock

APEX.IG.STRETCH_COLUMNS

Stretch Column

APEX.IG.SUBSCRIPTION

Subscription

APEX.IG.SUM

Sum

APEX.IG.SUM_OVERALL

Overall Sum

APEX.IG.SUMMARY

Interactive Grid. Report: %0, View: %1.

APEX.IG.TARGET_COLUMN

Target

APEX.IG.TEXT_COLOR

Text Color

APEX.IG.TOGGLE

Toggle

APEX.IG.TOOLTIP

Tooltip

APEX.IG.TYPE

Type

APEX.IG.UNFREEZE

Unfreeze

APEX.IG.UNIT

Unit

APEX.IG.UNSAVED_CHANGES_CONTINUE_CONFIRM

There are unsaved changes. Do you want to continue?

APEX.IG.VALUE

Value

APEX.IG.VALUE_COLUMN

Value

APEX.IG.VALUE_REQUIRED

A value is required.

APEX.IG.VARCHAR2

Text

APEX.IG.VERTICAL

Vertical

APEX.IG.VIEW

View

APEX.IG.VISIBLE

Displayed

APEX.IG.VOLUME_COLUMN

Volume

APEX.IG.WEEKS

weeks

APEX.IG.WIDTH

Minimum Column Width (Pixel)

APEX.IG.X.BETWEEN.Y.AND.Z

%0 between %1 and %2

APEX.IG.X.CONTAINS.Y

%0 contains %1

APEX.IG.X.DOES_NOT_CONTAIN.Y

%0 does not contain %1

APEX.IG.X.EQUALS.Y

%0 equals %1

APEX.IG.X.GREATER_THAN.Y

%0 greater than %1

APEX.IG.X.GREATER_THAN_OR_EQUALS.Y

%0 greater than or equal to %1

APEX.IG.X.IN.Y

%0 in %1

APEX.IG.X.IN_THE_LAST.Y.DAYS

%0 in the last %1 days

APEX.IG.X.IN_THE_LAST.Y.HOURS

%0 in the last %1 hours

APEX.IG.X.IN_THE_LAST.Y.MINUTES

%0 in the last %1 minutes

APEX.IG.X.IN_THE_LAST.Y.MONTHS

%0 in the last %1 months

APEX.IG.X.IN_THE_LAST.Y.WEEKS

%0 in the last %1 weeks

APEX.IG.X.IN_THE_LAST.Y.YEARS

%0 in the last %1 years

APEX.IG.X.IN_THE_LAST_DAY

%0 in the last day

APEX.IG.X.IN_THE_LAST_HOUR

%0 in the last hour

APEX.IG.X.IN_THE_LAST_MINUTE

%0 in the last minute

APEX.IG.X.IN_THE_LAST_MONTH

%0 in the last month

APEX.IG.X.IN_THE_LAST_WEEK

%0 in the last week

APEX.IG.X.IN_THE_LAST_YEAR

%0 in the last year

APEX.IG.X.IN_THE_NEXT.Y.DAYS

%0 in the next %1 days

APEX.IG.X.IN_THE_NEXT.Y.HOURS

%0 in the next %1 hours

APEX.IG.X.IN_THE_NEXT.Y.MINUTES

%0 in the next %1 minutes

APEX.IG.X.IN_THE_NEXT.Y.MONTHS

%0 in the next %1 months

APEX.IG.X.IN_THE_NEXT.Y.WEEKS

%0 in the next %1 weeks

APEX.IG.X.IN_THE_NEXT.Y.YEARS

%0 in the next %1 years

APEX.IG.X.IN_THE_NEXT_DAY

%0 in the next day

APEX.IG.X.IN_THE_NEXT_HOUR

%0 in the next hour

APEX.IG.X.IN_THE_NEXT_MINUTE

%0 in the next minute

APEX.IG.X.IN_THE_NEXT_MONTH

%0 in the next month

APEX.IG.X.IN_THE_NEXT_WEEK

%0 in the next week

APEX.IG.X.IN_THE_NEXT_YEAR

%0 in the next year

APEX.IG.X.IS_NOT_NULL

%0 is not empty

APEX.IG.X.IS_NULL

%0 is empty

APEX.IG.X.LESS_THAN.Y

%0 less than %1

APEX.IG.X.LESS_THAN_OR_EQUALS.Y

%0 less than or equal to %1

APEX.IG.X.LIKE.Y

%0 like %1

APEX.IG.X.MATCHES_REGULAR_EXPRESSION.Y

%0 matches regular expression %1

APEX.IG.X.MINUTES_AGO

%0 minutes ago

APEX.IG.X.NOT_BETWEEN.Y.AND.Z

%0 not between %1 and %2

APEX.IG.X.NOT_EQUALS.Y

%0 not equals %1

APEX.IG.X.NOT_IN.Y

%0 not in %1

APEX.IG.X.NOT_IN_THE_LAST.Y.DAYS

%0 not in the last %1 days

APEX.IG.X.NOT_IN_THE_LAST.Y.HOURS

%0 not in the last %1 hours

APEX.IG.X.NOT_IN_THE_LAST.Y.MINUTES

%0 not in the last %1 minutes

APEX.IG.X.NOT_IN_THE_LAST.Y.MONTHS

%0 not in the last %1 months

APEX.IG.X.NOT_IN_THE_LAST.Y.WEEKS

%0 not in the last %1 weeks

APEX.IG.X.NOT_IN_THE_LAST.Y.YEARS

%0 not in the last %1 years

APEX.IG.X.NOT_IN_THE_LAST_DAY

%0 not in the last day

APEX.IG.X.NOT_IN_THE_LAST_HOUR

%0 not in the last hour

APEX.IG.X.NOT_IN_THE_LAST_MINUTE

%0 not in the last minute

APEX.IG.X.NOT_IN_THE_LAST_MONTH

%0 not in the last month

APEX.IG.X.NOT_IN_THE_LAST_WEEK

%0 not in the last week

APEX.IG.X.NOT_IN_THE_LAST_YEAR

%0 not in the last year

APEX.IG.X.NOT_IN_THE_NEXT.Y.DAYS

%0 not in the next %1 days

APEX.IG.X.NOT_IN_THE_NEXT.Y.HOURS

%0 not in the next %1 hours

APEX.IG.X.NOT_IN_THE_NEXT.Y.MINUTES

%0 not in the next %1 minutes

APEX.IG.X.NOT_IN_THE_NEXT.Y.MONTHS

%0 not in the next %1 months

APEX.IG.X.NOT_IN_THE_NEXT.Y.WEEKS

%0 not in the next %1 weeks

APEX.IG.X.NOT_IN_THE_NEXT.Y.YEARS

%0 not in the next %1 years

APEX.IG.X.NOT_IN_THE_NEXT_DAY

%0 not in the next day

APEX.IG.X.NOT_IN_THE_NEXT_HOUR

%0 not in the next hour

APEX.IG.X.NOT_IN_THE_NEXT_MINUTE

%0 not in the next minute

APEX.IG.X.NOT_IN_THE_NEXT_MONTH

%0 not in the next month

APEX.IG.X.NOT_IN_THE_NEXT_WEEK

%0 not in the next week

APEX.IG.X.NOT_IN_THE_NEXT_YEAR

%0 not in the next year

APEX.IG.X.NOT_LIKE.Y

%0 not like %1

APEX.IG.X.STARTS_WITH.Y

%0 starts with %1

APEX.IG.X_COLUMN

X

APEX.IG.Y_COLUMN

Y

APEX.IG.YEARS

years

APEX.IG.Z_COLUMN

Z

APEX.IG_FORMAT_SAMPLE_1

Monday, 12 January, 2016

APEX.IG_FORMAT_SAMPLE_2

January

APEX.IG_FORMAT_SAMPLE_3

16 hours ago

APEX.IG_FORMAT_SAMPLE_4

in 16h

APEX.RV.NOT_GROUPED_LABEL

Other Columns

APEX.RV.REC_XY

Row %0 of %1

APEX.RV.REC_X

Row %0

APEX.RV.EXCLUDE_HIDDEN

Displayed Columns

APEX.RV.EXCLUDE_NULL

Exclude Null Values

APEX.RV.PREV_RECORD

Previous

APEX.RV.NEXT_RECORD

Next

APEX.RV.SETTINGS_MENU

Settings Menu

APEX.RV.INSERT

Add

APEX.RV.DELETE

Delete

APEX.TMV.SELECTION_COUNT

%0 items selected

APEX.TMV.SELECTOR_LABEL

Select Item

APEX.TMV.SELECTOR_LABEL_1

Select %0


Interactive Report Messages Requiring Translation

Lists interactive reports messages that require translation.

Message Name

English Text

4150_COLUMN_NUMBER

Column %0

APEX.DIALOG.CLOSE

Close

APEXIR_3D

3D

APEXIR_ACTIONS

Actions

APEXIR_ACTIONS_MENU

Actions Menu

APEXIR_ADD

Add

APEXIR_ADD_FUNCTION

Add Function

APEXIR_ADD_GROUP_BY_COLUMN

Add Group By Column

APEXIR_ADD_PIVOT_COLUMN

Add Pivot Column

APEXIR_ADD_ROW_COLUMN

Add Row Column

APEXIR_ADD_SUBSCRIPTION

Add Subscription

APEXIR_AGG_AVG

Average

APEXIR_AGG_COUNT

Count

APEXIR_AGG_MAX

Maximum

APEXIR_AGG_MEDIAN

Median

APEXIR_AGG_MIN

Minimum

APEXIR_AGG_MODE

Mode

APEXIR_AGG_SUM

Sum

APEXIR_AGGREGATE

Aggregate

APEXIR_AGGREGATE_DESCRIPTION

Aggregates are displayed after each control break and at the end of the report.

APEXIR_AGGREGATION

Aggregation

APEXIR_ALL

All

APEXIR_ALL_COLUMNS

All Columns

APEXIR_ALL_ROWS

All Rows

APEXIR_ALTERNATIVE

Alternative

APEXIR_ALTERNATIVE_DEFAULT_NAME

Alternative Default: %0

APEXIR_AND

and

APEXIR_APPLY

Apply

APEXIR_AS_OF

As of %0

APEXIR_ASCENDING

Ascending

APEXIR_AVERAGE_X

Average %0

APEXIR_BETWEEN

between

APEXIR_BGCOLOR

Background Color

APEXIR_BLUE

blue

APEXIR_BOTTOM

Bottom

APEXIR_CALENDAR

Calendar

APEXIR_CANCEL

Cancel

APEXIR_CATEGORY

Category

APEXIR_CELL

Cell

APEXIR_CHART

Chart

APEXIR_CHART_INITIALIZING

Initializing...

APEXIR_CHART_LABEL_NOT_NULL

Chart label must be specified

APEXIR_CHART_MAX_ROW_CNT

The maximum row count for a chart query limits the number of rows in the base query, not the number of rows displayed. Your base query exceeds the maximum row count of %0. Please apply a filter to reduce the number of records in your base query.

APEXIR_CHART_TYPE

Chart Type

APEXIR_CHECK_ALL

Check All

APEXIR_CHOOSE_DOWNLOAD_FORMAT

Choose report download format

APEXIR_CLEAR

clear

APEXIR_COLUMN

Column

APEXIR_COLUMN_ALIASES

Column Aliases

APEXIR_COLUMN_FILTER

Filter...

APEXIR_COLUMN_HEADING_MENU

Column Heading Menu

APEXIR_COLUMN_INFO

Column Information

APEXIR_COLUMN_LABEL

Column Label

APEXIR_COLUMN_N

Column %0

APEXIR_COLUMNS

Columns

APEXIR_COMPARISON_CONTAINS

contains

APEXIR_COMPARISON_DOESNOT_CONTAIN

does not contain

APEXIR_COMPARISON_IN

in

APEXIR_COMPARISON_IS_IN_LAST

is in the last

APEXIR_COMPARISON_IS_IN_NEXT

is in the next

APEXIR_COMPARISON_IS_NOT_NULL

is not null

APEXIR_COMPARISON_IS_NULL

is null

APEXIR_COMPARISON_ISNOT_IN_LAST

is not in the last

APEXIR_COMPARISON_ISNOT_IN_NEXT

is not in the next

APEXIR_COMPARISON_LIKE

like

APEXIR_COMPARISON_NOT_IN

not in

APEXIR_COMPARISON_NOT_LIKE

not like

APEXIR_COMPARISON_REGEXP_LIKE

matches regular expression

APEXIR_COMPUTATION

Computation

APEXIR_COMPUTATION_EXPRESSION

Computation Expression

APEXIR_COMPUTATION_FOOTER

Create a computation using column aliases.

APEXIR_COMPUTATION_FOOTER_E1

(B+C)*100

APEXIR_COMPUTATION_FOOTER_E2

INITCAP(B)||', '||INITCAP(C)

APEXIR_COMPUTATION_FOOTER_E3

CASE WHEN A = 10 THEN B + C ELSE B END

APEXIR_COMPUTE

Compute

APEXIR_CONTROL_BREAK

Control Break

APEXIR_CONTROL_BREAK_COLUMNS

Control Break Columns

APEXIR_CONTROL_BREAKS

Control Breaks

APEXIR_COUNT_DISTINCT

Count Distinct

APEXIR_COUNT_DISTINCT_X

Count Distinct

APEXIR_COUNT_X

Count %0

APEXIR_DAILY

Daily

APEXIR_DATA

Data

APEXIR_DATA_AS_OF

Report data as of %0 minutes ago.

APEXIR_DATE

Date

APEXIR_DAY

Day

APEXIR_DEFAULT

Default

APEXIR_DEFAULT_REPORT_TYPE

Default Report Type

APEXIR_DELETE

Delete

APEXIR_DELETE_CHECKED

Delete Checked

APEXIR_DELETE_CONFIRM

Would you like to delete these report settings?

APEXIR_DELETE_CONFIRM_JS_DIALOG

Would you like to perform this delete action?

APEXIR_DELETE_DEFAULT_REPORT

Delete Default Report

APEXIR_DELETE_REPORT

Delete Report

APEXIR_DESCENDING

Descending

APEXIR_DESCRIPTION

Description

APEXIR_DETAIL_VIEW

Single Row View

APEXIR_DIRECTION

Direction

APEXIR_DISABLE

Disable

APEXIR_DISABLED

Disabled

APEXIR_DISPLAY

Display

APEXIR_DISPLAY_IN_REPORT

Display in Report

APEXIR_DISPLAYED

Displayed

APEXIR_DISPLAYED_COLUMNS

Displayed Columns

APEXIR_DO_NOT_AGGREGATE

- Do not aggregate -

APEXIR_DO_NOT_DISPLAY

Do Not Display

APEXIR_DOWN

Down

APEXIR_DOWNLOAD

Download

APEXIR_DUPLICATE_PIVOT_COLUMN

Duplicate pivot column. Pivot column list must be unique.

APEXIR_EDIT

Edit

APEXIR_EDIT_ALTERNATIVE_DEFAULT

Edit Alternative Default

APEXIR_EDIT_CHART

Edit Chart Settings

APEXIR_EDIT_CHART2

Edit Chart

APEXIR_EDIT_FILTER

Edit Filter

APEXIR_EDIT_GROUP_BY

Edit Group By

APEXIR_EDIT_HIGHLIGHT

Edit Highlight

APEXIR_EDIT_PIVOT

Edit Pivot

APEXIR_EMAIL

Email

APEXIR_EMAIL_ADDRESS

Email Address

APEXIR_EMAIL_BCC

Bcc

APEXIR_EMAIL_BODY

Body

APEXIR_EMAIL_CC

Cc

APEXIR_EMAIL_FREQUENCY

Frequency

APEXIR_EMAIL_NOT_CONFIGURED

Email has not been configured for this application. Please contact your administrator.

APEXIR_EMAIL_REQUIRED

Email Address must be specified.

APEXIR_EMAIL_SEE_ATTACHED

See attached.

APEXIR_EMAIL_SUBJECT

Subject

APEXIR_EMAIL_SUBJECT_REQUIRED

Email Subject must be specified.

APEXIR_EMAIL_TO

To

APEXIR_ENABLE

Enable

APEXIR_ENABLE_DISABLE_ALT

Enable/Disable

APEXIR_ENABLED

Enabled

APEXIR_ERROR

Error

APEXIR_EXAMPLES

Examples

APEXIR_EXAMPLES_WITH_COLON

Examples:

APEXIR_EXCLUDE_NULL

Exclude Null Values

APEXIR_EXPAND_COLLAPSE_ALT

Expand/Collapse

APEXIR_EXPRESSION

Expression

APEXIR_FILTER

Filter

APEXIR_FILTER_EXPRESSION

Filter Expression

APEXIR_FILTER_EXPR_TOO_LONG

The filter expression is too long.

APEXIR_FILTER_TYPE

Filter Type

APEXIR_FILTERS

Filters

APEXIR_FINDER_ALT

Select columns to search.

APEXIR_FLASHBACK

Flashback

APEXIR_FLASHBACK_DESCRIPTION

A flashback query enables you to view the data as it existed at a previous point in time.

APEXIR_FLASHBACK_ERROR_MSG

Unable to perform flashback request.

APEXIR_FORMAT

Format

APEXIR_FORMAT_MASK

Format Mask

APEXIR_FUNCTION

Function

APEXIR_FUNCTION_N

Function %0

APEXIR_FUNCTIONS

Functions

APEXIR_FUNCTIONS_OPERATORS

Functions / Operators

APEXIR_GO

Go

APEXIR_GREEN

green

APEXIR_GROUP_BY

Group By

APEXIR_GROUP_BY_COL_NOT_NULL

Group by column must be specified

APEXIR_GROUP_BY_COLUMN

Group By Column

APEXIR_GROUP_BY_MAX_ROW_CNT

The maximum row count for a Group By query limits the number of rows in the base query, not the number of rows displayed. Your base query exceeds the maximum row count of %0. Please apply a filter to reduce the number of records in your base query.

APEXIR_GROUP_BY_SORT

Group By Sort

APEXIR_GROUP_BY_SORT_ORDER

Group By Sort Order

APEXIR_HCOLUMN

Horizontal Column

APEXIR_HELP

Help

APEXIR_HELP_01

An Interactive Report displays a predetermined set of columns. The report may be further customized with an initial filter clause, a default sort order, control breaks, highlighting, computations, aggregates and a chart. Each Interactive Report can then be further customized and the results can be viewed, or downloaded, and the report definition can be stored for later use.

<p/>

An Interactive Report can be customized in three ways: the search bar, actions menu and column heading menu.

APEXIR_HELP_ACTIONS_MENU

The actions menu is used to customize the display of your Interactive Report.

APEXIR_HELP_AGGREGATE

Aggregates are mathematical computations performed against a column. Aggregates are displayed after each control break and at the end of the report within the column they are defined.

<p/>

<ul><li><b>Aggregation</b> allows you to select a previously defined aggregation to edit.</li>

<li><b>Function</b> is the function to be performed (e.g. SUM, MIN).</li>

<li><b>Column</b> is used to select the column to apply the mathematical function to. Only numeric columns will be displayed.</li></ul>

APEXIR_HELP_CHART

You can include one chart per Interactive Report. Once defined, you can switch between the chart and report views using links below the search bar.

<p/>

<ul><li><b>Chart Type</b> identifies the chart type to include. Select from horizontal bar, vertical bar, pie or line.</li>

<li><b>Label</b> allows you to select the column to be used as the label.</li>

<li><b>Axis Title for Label</b> is the title that will display on the axis associated with the column selected for Label. This is not available for pie chart.</li>

<li><b>Value</b> allows you to select the column to be used as the value. If your function is a COUNT, a Value does not need to be selected.</li>

<li><b>Axis Title for Value</b> is the title that will display on the axis associated with the column selected for Value. This is not available for pie chart.</li>

<li><b>Function</b> is an optional function to be performed on the column selected for Value.</li></ul>

APEXIR_HELP_COLUMN_HEADING_MENU

Clicking on any column heading exposes a column heading menu.

<p/>

<ul><li><b>Sort Ascending icon</b> sorts the report by the column in ascending order.</li>

<li><b>Sort Descending icon</b> sorts the report by the column in descending order.</li>

<li><b>Hide Column</b> hides the column.</li>

<li><b>Break Column</b> creates a break group on the column. This pulls the column out of the report as a master record.</li>

<li><b>Column Information</b> displays help text about the column, if available.</li>

<li><b>Text Area</b> is used to enter case insensitive search criteria (no need for wild cards). Entering a value will reduce the list of values at the bottom of the menu. You can then select a value from the bottom and the selected value will be created as a filter using '=' (e.g. column = 'ABC'). Alternatively, you can click the flashlight icon and the entered value will be created as a filter with the 'LIKE' modifier (e.g. column LIKE '%ABC%').<li><b>List of Unique Values</b> contains the first 500 unique values that meet your filters. If the column is a date, a list of date ranges is displayed instead. If you select a value, a filter will be created using '=' (e.g. column = 'ABC').</li></ul>

APEXIR_HELP_COMPUTE

Computations allow you to add computed columns to your report. These can be mathematical computations (e.g. NBR_HOURS/24) or standard Oracle functions applied to existing columns (some have been displayed for example, others, like TO_DATE, can also be used).

<p/>

<ul><li><b>Computation</b> allows you to select a previously defined computation to edit.</li>

<li><b>Column Heading</b> is the column heading for the new column.</li>

<li><b>Format Mask</b> is an Oracle format mask to be applied against the column (e.g. S9999).</li>

<li><b>Format Mask</b> is an Oracle format mask to be applied against the column (e.g. S9999).</li>

<li><b>Computation</b> is the computation to be performed. Within the computation, columns are referenced using the aliases displayed.</li>

</ul>

<p/>

Below computation, the columns in your query are displayed with their associated alias. Clicking on the column name or alias will write them into the Computation. Next to Columns is a Keypad. These are simply shortcuts of commonly used keys. On the far right are Functions.

<p/>

An example computation to display Total Compensation is:

<p/>

<pre>CASE WHEN A = 'SALES' THEN B + C ELSE B END</pre>

(where A is ORGANIZATION, B is SALARY and C is COMMISSION)

APEXIR_HELP_CONTROL_BREAK

Used to create a break group on one or several columns. This pulls the columns out of the Interactive Report and displays them as a master record.

APEXIR_HELP_DETAIL_VIEW

To view the details of a single row at a time, click the single row view icon on the row you want to view. If available, the single row view will always be the first column. Depending on the customization of the Interactive Report, the single row view may be the standard view or a custom page that may allow update.

APEXIR_HELP_DOWNLOAD

Allows the current result set to be downloaded. The download formats will differ depending upon your installation and report definition but may include CSV, XLS, PDF, or RTF.

APEXIR_HELP_FILTER

Used to add or modify the where clause on the query. You first select a column (it does not need to be one that is displayed), select from a list of standard Oracle operators (=, !=, not in, between), and enter an expression to compare against. The expression is case sensitive and you can use % as a wildcard (for example, STATE_NAME like A%).

APEXIR_HELP_FLASHBACK

Performs a flashback query to allow you to view the data as it existed at a previous point in time. The default amount of time that you can flashback is 3 hours (or 180 minutes) but the actual amount will differ per database.

APEXIR_HELP_FORMAT

<p>Format enable you to customize the display of the report. Format contains the following submenu:</p> <ul><li>Sort</li> <li>Control Break</li> <li>Highlight</li> <li>Compute</li> <li>Aggregate</li> <li>Chart</li> <li>Group By</li> <li>Pivot</li> </ul>

APEXIR_HELP_GROUP_BY

You can define one Group By view per saved report. Once defined, you can switch between the group by and report views using view icons on the Search bar. To create a Group By view, you select: <p></p><ul> <li>the columns on which to group</li> <li>the columns to aggregate along with the function to be performed (average, sum, count, etc.)</li> </ul>

APEXIR_HELP_HIGHLIGHT

Highlighting allows you to define a filter. The rows that meet the filter are highlighted using the characteristics associated with the filter.

<p/>

<ul><li><b>Name</b> is used only for display.</li>

<li><b>Sequence</b> identifies the sequence in which the rules will be evaluated.</li>

<li><b>Enabled</b> identifies if the rule is enabled or disabled.</li>

<li><b>Highlight Type</b> identifies whether the Row or Cell should be highlighted. If Cell is selected, the column referenced in the Highlight Condition is highlighted.</li>

<li><b>Background Color</b> is the new color for the background of the highlighted area.</li>

<li><b>Text Color</b> is the new color for the text in the highlighted area.</li>

<li><b>Highlight Condition</b> defines your filter condition.</li></ul>

APEXIR_HELP_PIVOT

You can define one Pivot view per saved report. Once defined, you can switch between the pivot and report views using view icons on the Search bar. To create a Pivot view, you select: <p></p> <ul> <li>the columns on which to pivot</li> <li>the columns to display as rows</li> <li>the columns to aggregate along with the function to be performed (average, sum, count, etc.)</li> </ul>

APEXIR_HELP_REPORT_SETTINGS

If you have customized your Interactive Report, the report settings will be displayed below the Search Bar and above the report. If you have saved customized reports, they will be shown as tabs. You can access your alternate views by clicking the tabs. Below the tabs are the report settings for the current report. This area can be collapsed and expanded using the icon on the left.

<p/>

For each report setting, you can:

<ul><li><b>Edit</b> by clicking the name.</li>

<li><b>Disable/Enable</b> by unchecking or checking the Enable/Disable checkbox. This is used to temporarily turn off and on the setting.</li>

<li><b>Remove</b> by click the Remove icon. This permanently removes the setting.</li></ul>

<p/>

If you have created a chart, you can toggle between the report and chart using the Report View and Chart View links shown on the right. If you are viewing the chart, you can also use the Edit Chart link to edit the chart settings.

APEXIR_HELP_RESET

Resets the report back to the default settings, removing any customizations that you have made.

APEXIR_HELP_ROWS_PER_PAGE

Sets the number of records to display per page.

APEXIR_HELP_SAVE_REPORT

Saves the customized report for future use. You provide a name and optional description and can make the report accessible to the public (that is, all users who can access the primary default report). You can save four types of interactive reports:

  • Primary Default (Developer Only). The Primary Default is the report that initially displays. Primary Default reports cannot be renamed or deleted.

  • Alternative Report (Developer Only). Enables developers to create multiple report layouts. Only developers can save, rename, or delete an Alternative Report.

  • Public Report (End user). Can be saved, renamed, or deleted by the end user who created it. Other users can view and save the layout as another report.

  • Private Report (End user). Only the end user that created the report can view, save, rename or delete the report.

If you save customized reports, a Reports selector displays in the Search bar to the left of the Rows selector (if this feature is enabled).

APEXIR_HELP_SEARCH_BAR

At the top of each report page is a search region. The region provides the following features:

<p/>

<ul><li><b>Select columns icon</b> allows you to identify which column to search (or all).</li>

<li><b>Text area</b> allows for case insensitive search criteria (no need for wild cards).</li>

<li><b>Rows</b> selects the number of records to display per page.</li>

<li><b>[Go] button</b> executes the search.</li>

<li><b>Actions Menu icon</b> displays the actions menu (discussed next).</li></ul>

<p/>

Please note that all features may not be available for each report.

APEXIR_HELP_SEARCH_BAR_ACTIONS_MENU

<li><b>Actions Menu</b> enables you to customize a report. See the sections that follow.</li>

APEXIR_HELP_SEARCH_BAR_FINDER

<li><b>Select columns icon</b> enables you to identify which column to search (or all).</li>

APEXIR_HELP_SEARCH_BAR_REPORTS

<li><b>Reports</b> displays alternate default and saved private or public reports.</li>

APEXIR_HELP_SEARCH_BAR_ROWS

<li><b>Rows</b> sets the number of records to display per page.</li>

APEXIR_HELP_SEARCH_BAR_TEXTBOX

<li><b>Text area</b> enables you to enter case insensitive search criteria (wild card characters are implied).</li> <li><b>Go button</b> executes the search. Hitting the enter key will also execute the search when the cursor is in the search text area.</li>

APEXIR_HELP_SEARCH_BAR_VIEW

<li><b>View Icons</b> switches between the icon, report, detail, chart, group by, and pivot views of the report if they are defined.</li>

APEXIR_HELP_SELECT_COLUMNS

Used to modify the columns displayed. The columns on the right are displayed. The columns on the left are hidden. You can reorder the displayed columns using the arrows on the far right. Computed columns are prefixed with <b>**</b>.

APEXIR_HELP_SORT

Used to change the column(s) to sort on and whether to sort ascending or descending. You can also specify how to handle nulls (use the default setting, always display them last or always display them first). The resulting sorting is displayed to the right of column headings in the report.

APEXIR_HELP_SUBSCRIPTION

When you add a subscription, you provide an email address (or multiple email addresses, separated by commas), email subject, frequency, and start and end dates. The resulting emails include an HTML version of the interactive report containing the current data using the report setting that were present when the subscription was added.

APEXIR_HIDE_COLUMN

Hide Column

APEXIR_HIGHLIGHT

Highlight

APEXIR_HIGHLIGHT_CONDITION

Highlight Condition

APEXIR_HIGHLIGHT_TYPE

Highlight Type

APEXIR_HIGHLIGHT_WHEN

Highlight When

APEXIR_HIGHLIGHTS

Highlights

APEXIR_INACTIVE_SETTING

1 inactive setting

APEXIR_INACTIVE_SETTINGS

%0 inactive settings

APEXIR_INTERACTIVE_REPORT_HELP

Interactive Report Help

APEXIR_INVALID

Invalid

APEXIR_INVALID_COMPUTATION

Invalid computation expression. %0

APEXIR_INVALID_END_DATE

The end date must be greater than the start date.

APEXIR_INVALID_END_DATE

The end date must be greater than the start date.

APEXIR_INVALID_FILTER

Invalid filter expression. %0

APEXIR_INVALID_FILTER_QUERY

Invalid filter query

APEXIR_INVALID_SETTING

1 invalid setting

APEXIR_INVALID_SETTINGS

%0 invalid settings

APEXIR_IS_IN_THE_LAST

%0 is in the last %1

APEXIR_IS_IN_THE_NEXT

%0 is in the next %1

APEXIR_IS_NOT_IN_THE_LAST

%0 is not in the last %1

APEXIR_IS_NOT_IN_THE_NEXT

%0 is not in the next %1

APEXIR_KEYPAD

Keypad

APEXIR_LABEL

Label

APEXIR_LABEL_AXIS_TITLE

Axis Title for Label

APEXIR_LABEL_PREFIX

Label Prefix

APEXIR_LAST_DAY

Last Day

APEXIR_LAST_HOUR

Last Hour

APEXIR_LAST_MONTH

Last Month

APEXIR_LAST_WEEK

Last Week

APEXIR_LAST_X_DAYS

Last %0 Days

APEXIR_LAST_X_HOURS

Last %0 Hours

APEXIR_LAST_X_YEARS

Last %0 Years

APEXIR_LAST_YEAR

Last Year

APEXIR_LINE

Line

APEXIR_MAX_QUERY_COST

The query is estimated to exceed the maximum allowed resources. Please modify your report settings and try again.

APEXIR_MAX_ROW_CNT

This query returns more then %0 rows, please filter your data to ensure complete results.

APEXIR_MAX_X

Maximum %0

APEXIR_MEDIAN_X

Median %0

APEXIR_MIN_AGO

%0 minutes ago

APEXIR_MIN_X

Minimum %0

APEXIR_MONTH

Month

APEXIR_MONTHLY

Monthly

APEXIR_MORE_DATA

More Data

APEXIR_MOVE

Move

APEXIR_MOVE_ALL

Move All

APEXIR_MULTIIR_PAGE_REGION_STATIC_ID_REQUIRED

Region Static ID must be specified as the page contains multiple interactive reports.

APEXIR_NAME

Name

APEXIR_NEW_AGGREGATION

New Aggregation

APEXIR_NEW_CATEGORY

- New Category -

APEXIR_NEW_CATEGORY_LABEL

New Category

APEXIR_NEW_COMPUTATION

New Computation

APEXIR_NEXT

&gt;

APEXIR_NEXT_DAY

Next Day

APEXIR_NEXT_HOUR

Next Hour

APEXIR_NEXT_MONTH

Next Month

APEXIR_NEXT_WEEK

Next Week

APEXIR_NEXT_X_DAYS

Next %0 Days

APEXIR_NEXT_X_HOURS

Next %0 Hours

APEXIR_NEXT_X_YEARS

Next %0 Years

APEXIR_NEXT_YEAR

Next Year

APEXIR_NO

No

APEXIR_NO_AGGREGATION_DEFINED

No aggregation defined.

APEXIR_NO_COLUMN_INFO

No column information available.

APEXIR_NO_COMPUTATION_DEFINED

No computation defined.

APEXIR_NO_END_DATE

- No End Date -

APEXIR_NONE

- None -

APEXIR_NOT_VALID_EMAIL

Not a valid email address.

APEXIR_NULL_SORTING

Null Sorting

APEXIR_NULLS_ALWAYS_FIRST

Nulls Always First

APEXIR_NULLS_ALWAYS_LAST

Nulls Always Last

APEXIR_NUMERIC_FLASHBACK_TIME

Flashback time must be numeric.

APEXIR_NUMERIC_SEQUENCE

Sequence must be numeric.

APEXIR_OPERATOR

Operator

APEXIR_ORANGE

orange

APEXIR_OTHER

Other

APEXIR_PDF_ORIENTATION_VERTICAL

Portrait

APEXIR_PDF_PAGE_SIZE_LEGAL

Legal

APEXIR_PDF_ORIENTATION

Page orientation

APEXIR_PDF_PAGE_SIZE

Page size

APEXIR_PDF_PAGE_SIZE_LETTER

Letter

APEXIR_PDF_ORIENTATION_HORIZONTAL

Landscape

APEXIR_PERCENT_OF_TOTAL_COUNT_X

Percent of Total Count %0 (%)

APEXIR_PERCENT_OF_TOTAL_SUM_X

Percent of Total Sum %0 (%)

APEXIR_PERCENT_TOTAL_COUNT

Percent of Total Count

APEXIR_PERCENT_TOTAL_SUM

Percent of Total Sum

APEXIR_PIE

Pie

APEXIR_PIVOT

Add Pivot Column

APEXIR_PIVOT_AGG_NOT_NULL

Aggregate must be specified.

APEXIR_PIVOT_AGG_NOT_ON_ROW_COL

You cannot aggregate on a column selected to as row column.

APEXIR_PIVOT_COLUMN_N

Pivot Column %0

APEXIR_PIVOT_COLUMN_NOT_NULL

Pivot column must be specified.

APEXIR_PIVOT_COLUMNS

Pivot Columns

APEXIR_PIVOT_MAX_ROW_CNT

The maximum row count for a Pivot query limits the number of rows in the base query, not the number of rows displayed. Your base query exceeds the maximum row count of %0. Please apply a filter to reduce the number of records in your base query.

APEXIR_PIVOT_ROW_COLUMN_INVALID

Select different row column. The HTML expression or link in the row column contains column defined as pivot or aggregate column.

APEXIR_PIVOT_SORT

Pivot Sort

APEXIR_PREVIOUS

&lt;

APEXIR_PRIMARY

Primary

APEXIR_PRIMARY_REPORT

Primary Report

APEXIR_PRIVATE

Private

APEXIR_PUBLIC

Public

APEXIR_RED

red

APEXIR_REGION_STATIC_ID_DOES_NOT_EXIST

Region Static ID %0 does not exist.

APEXIR_REMOVE

Remove

APEXIR_REMOVE_AGGREGATE

Remove Aggregate

APEXIR_REMOVE_ALL

Remove All

APEXIR_REMOVE_CHART

Remove Chart

APEXIR_REMOVE_CONTROL_BREAK

Remove Control Break

APEXIR_REMOVE_FILTER

Remove Filter

APEXIR_REMOVE_FLASHBACK

Remove Flashback

APEXIR_REMOVE_GROUP_BY

Remove Group By

APEXIR_REMOVE_HIGHLIGHT

Remove Highlight

APEXIR_REMOVE_PIVOT

Remove Pivot

APEXIR_REMOVE_REPORT

Remove Report

APEXIR_RENAME_DEFAULT_REPORT

Rename Default Report

APEXIR_RENAME_REPORT

Rename Report

APEXIR_REPORT

Report

APEXIR_REPORT_ALIAS_DOES_NOT_EXIST

Saved Interactive report with alias %0 does not exist.

APEXIR_REPORT_DISPLAY_COLUMN_LIMIT_REACHED

The number of display columns in the report reached the limit. Please click Select Columns under Actions menu to minimize the report display column list.

APEXIR_REPORT_DOES_NOT_EXIST

Report does not exist.

APEXIR_REPORT_ID_DOES_NOT_EXIST

Saved Interactive Report ID %0 does not exist.

APEXIR_REPORT_SETTINGS

Report Settings

APEXIR_REPORT_VIEW

&lt; Report View

APEXIR_REPORTS

Reports

APEXIR_RESET

Reset

APEXIR_RESET_CONFIRM

Restore report to the default settings.

APEXIR_ROW

Row

APEXIR_ROW_COL_DIFF_FROM_PIVOT_COL

Row column must be different from the pivot column.

APEXIR_ROW_COLUMN_N

Row Column %0

APEXIR_ROW_COLUMN_NOT_NULL

Row column must be specified.

APEXIR_ROW_COLUMNS

Row Columns

APEXIR_ROW_FILTER

Row Filter

APEXIR_ROW_OF

Row %0 of %1

APEXIR_ROW_ORDER

Row Order

APEXIR_ROW_TEXT_CONTAINS

Row text contains

APEXIR_ROWS

Rows

APEXIR_ROWS_PER_PAGE

Rows Per Page

APEXIR_RPT_DISP_COL_EXCEED

The number of display columns in the report reached the limit. Please click Select Columns under Actions menu to minimize the report display column list.

APEXIR_SAVE

Save

APEXIR_SAVE_AS_DEFAULT

Save as Default

APEXIR_SAVE_DEFAULT_CONFIRM

The current report settings are used as the default for all users.

APEXIR_SAVE_DEFAULT_REPORT

Save Default Report

APEXIR_SAVE_REPORT

Save Report

APEXIR_SAVE_REPORT_DEFAULT

Save Report *

APEXIR_SAVED_REPORT

Saved Report

APEXIR_SAVED_REPORT_MSG

Saved Report = "%0"

APEXIR_SEARCH

Search

APEXIR_SEARCH_BAR

Search Bar

APEXIR_SEARCH_COLUMN

Search: %0

APEXIR_SEARCH_REPORT

Search Report

APEXIR_SELECT_CATEGORY

- Select Category -

APEXIR_SELECT_COLUMN

- Select Column -

APEXIR_SELECT_COLUMNS

Select Columns

APEXIR_SELECT_COLUMNS_FOOTER

Computed columns are prefixed with **.

APEXIR_SELECT_FUNCTION

- Select Function -

APEXIR_SELECT_GROUP_BY_COLUMN

- Select Group By Column -

APEXIR_SELECT_PIVOT_COLUMN

- Select Pivot Column -

APEXIR_SELECT_ROW

Select Row

APEXIR_SELECT_ROW_COLUM

- Select Row Column -

APEXIR_SELECT_SORT_COLUMN

- Select Sort Column -

APEXIR_SELECT_VALUE

Select Value

APEXIR_SELECTED_COLUMNS

Selected Columns

APEXIR_SEND

Send

APEXIR_SEQUENCE

Sequence

APEXIR_SORT

Sort

APEXIR_SORT_ASCENDING

Sort Ascending

APEXIR_SORT_COLUMN

Sort Column

APEXIR_SORT_DESCENDING

Sort Descending

APEXIR_SORT_ORDER

Sort Order

APEXIR_SPACE_AS_IN_ONE_EMPTY_STRING

space

APEXIR_STATUS

Status

APEXIR_SUBSCRIPTION

Subscription

APEXIR_SUBSCRIPTION_ENDING

Ending

APEXIR_SUBSCRIPTION_STARTING_FROM

Starting From

APEXIR_SUM_X

Sum %0

APEXIR_TABLE_SUMMARY

%0, Report = %1, View = %2

APEXIR_TEXT_COLOR

Text Color

APEXIR_TIME_DAYS

days

APEXIR_TIME_HOURS

hours

APEXIR_TIME_MINS

minutes

APEXIR_TIME_MONTHS

months

APEXIR_TIME_WEEKS

weeks

APEXIR_TIME_YEARS

years

APEXIR_TOGGLE

Toggle

APEXIR_TOP

Top

APEXIR_UNAUTHORIZED

Unauthorized

APEXIR_UNGROUPED_COLUMN

Ungrouped Column

APEXIR_UNIQUE_COLUMN_HEADING

Column Heading must be unique.

APEXIR_UNIQUE_HIGHLIGHT_NAME

Highlight Name must be unique.

APEXIR_UNSUPPORTED_DATA_TYPE

unsupported data type

APEXIR_UP

Up

APEXIR_VALID_COLOR

Please enter a valid color.

APEXIR_VALID_FORMAT_MASK

Please enter a valid format mask.

APEXIR_VALUE

Value

APEXIR_VALUE_AXIS_TITLE

Axis Title for Value

APEXIR_VALUE_REQUIRED

Value Required

APEXIR_VCOLUMN

Vertical Column

APEXIR_VIEW_CHART

View Chart

APEXIR_VIEW_DETAIL

View Detail

APEXIR_VIEW_GROUP_BY

View Group By

APEXIR_VIEW_ICONS

View Icons

APEXIR_VIEW_PIVOT

View Pivot

APEXIR_VIEW_REPORT

View Report

APEXIR_WEEK

Week

APEXIR_WEEKLY

Weekly

APEXIR_WORKING_REPORT

Working Report

APEXIR_X_DAYS

%0 days

APEXIR_X_HOURS

%0 hours

APEXIR_X_MINS

%0 minutes

APEXIR_X_MONTHS

%0 months

APEXIR_X_WEEKS

%0 weeks

APEXIR_X_YEARS

%0 years

APEXIR_YEAR

Year

APEXIR_YELLOW

yellow

APEXIR_YES

Yes

IR_AS_DEFAULT_REPORT_SETTING

As Default Report Settings

IR_AS_NAMED_REPORT

As Named Report

IR_STAR

Only displayed for developers

LAYOUT.T_CONDITION_EXPR2

Expression 2

OUT_OF_RANGE

Invalid set of rows requested, the source data of the report has been modified.

REPORT

Report

REPORTING_PERIOD

Reporting Period

RESET

Reset Pagination

SAVED_REPORTS.PRIMARY.DEFAULT

Primary Default

WWV_RENDER_REPORT3.X_Y_OF_Z_2

%0 - %1 of %2


Progressive Web App (PWA) Messages Requiring Translation

Lists Progressive Web Application (PWA) messages that require translation.

Message Name

English Text

APEX.PWA.DIALOG.TITLE

Add to Home Screen

APEX.PWA.INSTRUCTIONS

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">Your device or browser does not appear to support the installation of Progressive Web Apps right now.</p>

    <p class="a-pwaDialog-intro">If this application is already installed on your device, open it from your home screen.</p>

</div>

APEX.PWA.INSTRUCTIONS.ANDROID.FIREFOX

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen to use it in fullscreen.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-android-firefox-1.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>Menu</strong> icon in the bottom navigation</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-android-firefox-2.svg" />

        <p class="a-pwaDialog-stepText">2. Tap <strong>Install</strong></p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-check.svg" />

        <p class="a-pwaDialog-stepText">3. Tap <strong>Add</strong> to confirm</p>

    </div>

</div>


APEX.PWA.INSTRUCTIONS.ANDROID.WEBVIEW

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Chrome or Edge.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-android-webview-1.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>Menu</strong> icon next to the address bar</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-check.svg" />

        <p class="a-pwaDialog-stepText">2. Tap <strong>Install</strong></p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.GSA

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Safari.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-gsa-1.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>Share</strong> icon in the bottom navigation</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-gsa-2.svg" />

        <p class="a-pwaDialog-stepText">2. Tap <strong>Open in Safari</strong></p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.SAFARI.IPAD

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen for the best experience.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-1.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>Share</strong> icon next to the address bar</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-2.svg" />

        <p class="a-pwaDialog-stepText">2. Tap <strong>Add to Home Screen</strong></p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-check.svg" />

        <p class="a-pwaDialog-stepText">3. Tap <strong style="color:#007AE1;">Add</strong> to confirm</p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.SAFARI.IPHONE

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen for the best experience.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-1.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>Share</strong> icon in the bottom navigation</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-2.svg" />

        <p class="a-pwaDialog-stepText">2. Scroll down and tap <strong>Add to Home Screen</strong></p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-check.svg" />

        <p class="a-pwaDialog-stepText">3. Tap <strong style="color:#007AE1;">Add</strong> to confirm</p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.SAFARI.IPHONE.15

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen for the best experience.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-15.svg" />

        <p class="a-pwaDialog-stepText">1. Tap the <strong>More</strong> icon next to the address bar</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-safari-2.svg" />

        <p class="a-pwaDialog-stepText">2. Tap <strong>Add to Home Screen</strong></p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-check.svg" />

        <p class="a-pwaDialog-stepText">3. Tap <strong style="color:#007AE1;">Add</strong> to confirm</p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.WEBVIEW.IPAD

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen for the best experience.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-webview-1.svg" />

        <p class="a-pwaDialog-stepText">Tap the <strong>Share</strong> icon next to the address bar</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-webview-2.svg" />

        <p class="a-pwaDialog-stepText">Tap <strong>Open in Safari</strong></p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.IOS.WEBVIEW.IPHONE

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality. Add it to your home screen for the best experience.</p>

</div>

<div class="a-pwaDialog-steps">

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-webview-1.svg" />

        <p class="a-pwaDialog-stepText">Tap the <strong>Share</strong> icon in the bottom navigation</p>

    </div>

    <div class="a-pwaDialog-step">

        <img class="a-pwaDialog-stepImage" src="#IMAGE_PREFIX#pwa/apex-pwa-instructions-ios-webview-2.svg" />

        <p class="a-pwaDialog-stepText">Tap <strong>Open in Safari</strong></p>

    </div>

</div>

APEX.PWA.INSTRUCTIONS.LINUX.FIREFOX

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Chrome.</p>

    <p class="a-pwaDialog-intro">Firefox does not currently support web apps installation.</p>

</div>

APEX.PWA.INSTRUCTIONS.MAC_OS.FIREFOX

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Chrome or Edge.</p>

    <p class="a-pwaDialog-intro">Firefox does not currently support web apps installation on macOS.</p>

</div>

APEX.PWA.INSTRUCTIONS.MAC_OS.SAFARI

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Chrome or Edge.</p>

    <p class="a-pwaDialog-intro">Safari does not currently support web apps installation on macOS.</p>

</div>

APEX.PWA.INSTRUCTIONS.WINDOWS.FIREFOX

<div class="a-pwaDialog-introWrapper">

    <p class="a-pwaDialog-intro">This website has app functionality that is best experienced in Chrome or Edge.</p>

    <p class="a-pwaDialog-intro">Firefox does not currently support web apps installation on Windows.</p>

</div>

APEX.PWA.OFFLINE.BODY

<main>

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 280" role="presentation">

      <g fill="none">

        <path d="M316.846 213.183c39.532 0 63.154-30.455 63.154-62.764 0-30.943-22.158-56.615-51.441-62.179v-1.17c0-48.123-38.947-87.07-87.07-87.07-39.044 0-72.036 25.672-83.066 61.007-8.492-3.612-17.863-5.564-27.722-5.564-34.261 0-62.764 24.11-69.694 56.322a51.007 51.007 0 0 0-9.468-.879C23.036 110.79 0 133.825 0 162.327c0 28.405 23.036 51.441 51.441 51.441l265.405-.585z" fill="currentColor" opacity=".2"/>

        <circle fill="#D63B25" cx="336" cy="216" r="64"/>

        <path d="M367.357 198.439c-.395-.395-.947-.632-1.657-.632-.71 0-1.184.237-1.657.632L351.97 210.51l-10.494-10.493 12.072-12.072c.395-.395.71-.947.71-1.657A2.29 2.29 0 0 0 351.97 184c-.631 0-1.183.237-1.657.631l-12.071 12.072-7.496-7.496c-.394-.394-.947-.71-1.657-.71a2.29 2.29 0 0 0-2.288 2.288c0 .632.237 1.184.71 1.657l2.604 2.604-13.176 13.176a13.781 13.781 0 0 0-4.024 9.705c0 3.787 1.499 7.18 4.024 9.705l2.13 2.13-14.36 14.36c-.394.394-.71.947-.71 1.657a2.29 2.29 0 0 0 2.288 2.288c.631 0 1.184-.237 1.657-.71l14.36-14.36 1.736 1.736a13.781 13.781 0 0 0 9.704 4.024c3.787 0 7.18-1.5 9.705-4.024l13.176-13.177 2.92 2.92c.394.394.946.71 1.656.71a2.29 2.29 0 0 0 2.289-2.288c0-.632-.237-1.184-.71-1.657l-7.575-7.496 12.072-12.071c.394-.395.71-.947.71-1.657.079-.632-.237-1.184-.631-1.578zm-27.142 33.059a9.398 9.398 0 0 1-6.47 2.603c-2.525 0-4.813-.946-6.47-2.603l-7.1-7.101a9.124 9.124 0 0 1-2.683-6.47 9.124 9.124 0 0 1 2.682-6.47l13.177-13.176 3.156 3.156c.079.079.079.158.158.158l.157.157 13.413 13.413c.08.08.08.158.158.158l.158.158 2.761 2.762-13.097 13.255z" fill="#FFF"/>

      </g>

    </svg>

    <h1>Can't connect</h1>

    <p>You need an internet connection to use this app.</p>

    <button type="button">Retry</button>

</main>


<script>

    document.querySelector("button").addEventListener("click", () => {

        window.location.reload();

    });

</script>

APEX.PWA.OFFLINE.TITLE

Can't connect


Search and Smart Filters Messages Requiring Translation

Lists faceted search and smart filter messages that require translation.

Message Name

English Text

APEX.FS.APPLIED_FACET

Applied Filter %0

APEX.FS.BATCH_APPLY

Apply

APEX.FS.CHART_BAR

Bar Chart

APEX.FS.CHART_PIE

Pie Chart

APEX.FS.CHART_OTHERS

All Others

APEX.FS.CHART_TITLE

Chart

APEX.FS.CHART_VALUE_LABEL

Count

APEX.FS.CLEAR

Clear

APEX.FS.CLEAR_ALL

Clear All

APEX.FS.CLEAR_VALUE

Clear %0

APEX.FS.CONFIG_TITLE

Choose filters to show

APEX.FS.COUNT_RESULTS

%0 results

APEX.FS.COUNT_SELECTED

%0 selected

APEX.FS.CUR_FILTERS_LM

Current filters

APEX.FS.FACETS_LIST

Filters list

APEX.FS.FILTER

Filter %0

APEX.FS.GO

Go

APEX.FS.INPUT_CURRENT_LABEL

equals %0

APEX.FS.OPEN_CONFIG

More Filters

APEX.FS.RANGE_BEGIN

Range Begin

APEX.FS.RANGE_END

Range End

APEX.FS.RANGE_CURRENT_LABEL

%0 to %1

APEX.FS.RANGE_CURRENT_LABEL_OPEN_LO

Below %0

APEX.FS.RANGE_CURRENT_LABEL_OPEN_HI

Above %0

APEX.FS.RANGE_TEXT

to

APEX.FS.REMOVE_CHART

Remove Chart

APEX.FS.RESET

Reset

APEX.FS.SEARCH_LABEL

Search

APEX.FS.SHOW_CHART

Show Chart

APEX.FS.SHOW_LESS

Show Less

APEX.FS.SHOW_MORE

Show More

APEX.FS.SEARCH_PLACEHOLDER

Search...

APEX.FS.SELECT_PLACEHOLDER

- Select -

APEX.FS.STAR_RATING_LABEL

%0 stars and up

APEX.FS.SUGGESTIONS

Filter suggestions

APEX.FS.TOTAL_ROW_COUNT_LABEL

Total Row Count



Managing Text Messages

Create, edit, copy, or subscribe to text messages by selecting the application and navigating to Shared Components, Globalization, Text Messages.



Translating Data That Supports List of Values

You create a dynamic translation to translate dynamic pieces of data. For example, you might use a dynamic translation on a list of values based on a database query.

Dynamic translations differ from messages in that you query a specific string rather than a message name. You define dynamic translations on the Dynamic Translations page. You then use the APEX_LANG.LANG API to return the dynamic translation string identified by the p_primary_text_string parameter.

  • Defining a Dynamic Translation
    You define dynamic translations on the Dynamic Translations page. A dynamic translation consists of a translate-from language string, a language code, and a translate-to string.

See Also:

APEX_LANG in Oracle APEX API Reference

Parent topic: Managing Application Globalization

22.8.1 Defining a Dynamic Translation

You define dynamic translations on the Dynamic Translations page. A dynamic translation consists of a translate-from language string, a language code, and a translate-to string.

To define a dynamic translation:

  1. Navigate to the Translate Application page:

    1. On the Workspace home page, click the App Builder icon.

    2. Select an application.

    3. Click Shared Components.

    4. Under Globalization, click Application Translations.

The Translate page appears.

  1. Under Translation Utilities, select Dynamic Translations.

  2. On the Dynamic Translations page, click Create and specify the following:

    1. Language - Select a target language.

    2. Translate From Text - Enter the source text to be translated.

    3. Translate To Text - Enter the translated text.

  3. Click Create.

 Conclusion
By integrating Translation and Localization APIs within Oracle APEX, developers can automate much of the process required to support multiple languages and regional formats. This not only saves time but also reduces errors and ensures consistency across the application. Utilizing these APIs effectively empowers you to create scalable, adaptable applications that meet the diverse needs of users around the world.

Globalization

Introduction
Using globalization in Oracle APEX allows developers to create applications that support multiple languages, regional formats, and cultural preferences. This feature enables your application to adapt dynamically based on the user’s language, number format, date format, and currency settings. Whether you're building an app for a local team or a global audience, APEX provides the tools to deliver a personalized, localized experience without duplicating logic or layouts.

 Globalization in Oracle APEX enables your application to support multiple languages, regional formats, and culturally specific settings like dates, numbers, and currencies. This ensures that users from different parts of the world can interact with the application in a way that feels natural and intuitive to them. Globalization is built into the Oracle APEX platform, making it possible to translate labels, messages, and content, as well as adapt formats dynamically based on user preferences or browser settings.

To begin using globalization, go to your APEX application and navigate to Shared Components > Globalization Attributes. Here, you can configure several key settings:

  • Primary Language: This is the default language of your application (e.g., en for English).

  • Application Language Derived From: Choose how the language is determined. Common options include:

    • User Preference: Stored in session state or retrieved from user profile

    • Browser Language: Automatically uses the browser’s default language

    • Application Item or Substitution String: You can set it dynamically with logic

You should also define the Application Language Item (e.g., P0_LANGUAGE), which can be used to let the user manually select a language. For this, create a language selector (e.g., a drop-down on the login or home page) that sets the P0_LANGUAGE item and triggers a redirect or page reload.

Next, enable Text Messages under Shared Components > Text Messages. This feature lets you define translatable content in key-value pairs. For example:

  • Name: GREETING

  • Language: en

  • Text: Welcome

Then for Spanish:

  • Name: GREETING

  • Language: es

  • Text: Bienvenido

You can reference this message anywhere in your app using the syntax:

#GREETING#

Oracle APEX will automatically display the correct version based on the current language setting.

For page and region-level translations, go to Shared Components > Language > Translate Application. Create a new language (e.g., es for Spanish), then export the XLIFF file. This file contains all translatable strings from your app (labels, button text, headings, etc.). Translate the content in the XLIFF file and re-import it to apply the translated strings. You can repeat this process for each additional language you want to support.

APEX also handles locale-specific formatting for numbers, dates, and currencies automatically. This is controlled by the Application Primary Language and the NLS settings in your Oracle database session. If needed, you can override these settings using initialization code in a Before Header process or in the Globalization Attributes section.

Example for setting NLS preferences dynamically:

BEGIN
  EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = ''DD-MM-YYYY''';
  EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '',.''';
END;

To provide the best user experience, always test your application with different language settings, especially for layouts, currency formats, and message displays. Also, remember that some layouts may shift depending on the length or orientation of translated strings.

Globalization in Oracle APEX lets you build one application that feels local to users around the world. With careful planning, use of text messages, translations, and NLS formatting, your application can dynamically adapt to any audience without needing multiple versions of the same app. This makes your development process more efficient and your users more satisfied.

 How to Implement Globalization in Oracle APEX

Globalization in Oracle APEX allows applications to support multiple languages, date formats, number formats, and cultural settings. This is essential for applications used in different regions, ensuring a smooth user experience regardless of the user's location and language preference.

This tutorial explains how to enable globalization, translate applications, and handle date and number formats in APEX.


Understanding Globalization in APEX

Oracle APEX provides built-in support for:

  • Application Translations – Translate application components into multiple languages.

  • Session-Based Language Switching – Change language based on user preferences.

  • Locale-Based Number and Date Formatting – Automatically adjust number and date formats based on the user’s region.

  • Multi-Language Data Storage – Store and retrieve data in multiple languages.


Steps to Implement Globalization in APEX

Step 1: Enable Globalization Settings

  1. Open Oracle APEX and navigate to your application.

  2. Go to Shared Components > Globalization Attributes.

  3. Configure the following settings: 

    • Primary Language – Choose the default language (e.g., English).

    • Automatic Time Zone – Enable automatic detection of the user’s time zone.

    • Automatic Language Detection – Allow the application to detect and apply the user's browser language.

    • Date and Number Format – Set default format masks (e.g., DD-MON-YYYY for dates).

  4. Click Apply Changes.


Step 2: Add Additional Languages

  1. Go to Shared Components > Translations.

  2. Click Create Language Mapping.

  3. Select the language you want to add (e.g., French, Spanish).

  4. Click Create to enable translation support for the new language.

Once a language is added, APEX will allow translation of application text and labels.


Step 3: Translate Application Components

  1. Go to Shared Components > Text Messages.

  2. Click Create to add a new translation key.

  3. Enter: 

    • Message Name – A unique identifier (e.g., WELCOME_TEXT).

    • Primary Language Text – Default text in the primary language.

    • Translated Text – The translated version.

  4. Save and repeat for other application messages.

For UI elements (buttons, labels, region titles):

  1. Go to Shared Components > Translation Repository.

  2. Export the XLIFF file, which contains all translatable application components.

  3. Translate the text in an external editor.

  4. Import the translated file back into APEX.


Step 4: Implement Language Switching

To allow users to switch languages dynamically:

  1. Create a Select List (LOV) with available languages.

  2. Populate the LOV using this SQL:

SELECT language_name, language_code FROM apex_application_translations;

  1. Create a Dynamic Action on the select list to update the session language:

BEGIN

    APEX_UTIL.SET_SESSION_LANG(:P_LANG);

END;

  1. Refresh the page to apply the language change.


Step 5: Manage Date and Number Formatting

APEX automatically adjusts date and number formats based on the user’s session language. However, you can override these settings manually:

  1. Go to Shared Components > Globalization Attributes.

  2. Set the desired date format mask (e.g., DD/MM/YYYY).

  3. Set decimal and thousand separators based on regional preferences.

To ensure proper formatting in SQL queries, use:

SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=FRENCH') FROM dual;


Best Practices for Globalization in APEX

  • Use text messages instead of hardcoded strings to make translation easier.

  • Enable automatic language detection for a seamless user experience.

  • Test with different languages and regions to ensure consistency.

  • Use multi-language data storage to allow users to input text in various languages.

  • Apply proper format masks to ensure correct date and number display for each locale.


With these steps, you can successfully implement globalization in your APEX application, making it accessible to a worldwide audience.

Conclusion
Implementing globalization in Oracle APEX helps ensure your application is accessible, user-friendly, and relevant across different languages and regions. With built-in support for language translation, locale-sensitive formatting, and user-driven preferences, APEX gives you the flexibility to serve a global user base while maintaining a single, unified application structure.

 

HOW DO I Users and Groups of Users

 

Introduction
In Oracle APEX, managing users and groups of users is a critical part of building secure, role-based applications. By organizing users into logical groups—such as Administrators, Managers, or Employees—you can assign permissions and access rights more efficiently. This structure allows developers to control what each group can see or do within the application, simplifying user management and strengthening overall security.

In Oracle APEX, managing users and groups of users allows you to define access and behavior across your application in a structured and secure way. This is typically implemented using a user management table and a group or role assignment table that lets you associate one or more users with specific roles or permission levels.

To begin, you should first define a user table in your schema. For example:

CREATE TABLE app_users (
  user_id     NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  username    VARCHAR2(100) NOT NULL UNIQUE,
  email       VARCHAR2(200),
  status      VARCHAR2(20),
  created_on  DATE DEFAULT SYSDATE
);

Next, create a table to define groups or roles:

CREATE TABLE user_groups (
  group_id    NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  group_name  VARCHAR2(100) NOT NULL UNIQUE
);

Then, define a mapping table that links users to groups. This allows a single user to belong to multiple groups if needed:

CREATE TABLE user_group_membership (
  user_id   NUMBER NOT NULL,
  group_id  NUMBER NOT NULL,
  PRIMARY KEY (user_id, group_id),
  FOREIGN KEY (user_id) REFERENCES app_users(user_id),
  FOREIGN KEY (group_id) REFERENCES user_groups(group_id)
);

Once the structure is in place, insert your users and groups. For example:

INSERT INTO app_users (username, email, status) VALUES ('ADMIN1', 'admin@example.com', 'ACTIVE');
INSERT INTO user_groups (group_name) VALUES ('ADMIN');
INSERT INTO user_groups (group_name) VALUES ('MANAGER');

-- Associate user with ADMIN group
INSERT INTO user_group_membership (user_id, group_id)
SELECT u.user_id, g.group_id
FROM app_users u, user_groups g
WHERE u.username = 'ADMIN1' AND g.group_name = 'ADMIN';

In APEX, you can use this structure to enforce group-based access control. Start by creating Authorization Schemes under Shared Components. For example, to restrict access to users in the “ADMIN” group:

  • Create a new authorization scheme

  • Set the type to PL/SQL Function Returning Boolean

  • Use a block like this:

RETURN EXISTS (
  SELECT 1 
  FROM app_users u
  JOIN user_group_membership ugm ON u.user_id = ugm.user_id
  JOIN user_groups g ON ugm.group_id = g.group_id
  WHERE u.username = :APP_USER
    AND g.group_name = 'ADMIN'
);

Apply this scheme to pages, buttons, or processes by setting the Authorization Scheme property in the Security section of the component.

You can also use a Before Header process to store the user’s group(s) into session state:

DECLARE
  v_group VARCHAR2(100);
BEGIN
  SELECT g.group_name
  INTO v_group
  FROM app_users u
  JOIN user_group_membership ugm ON u.user_id = ugm.user_id
  JOIN user_groups g ON ugm.group_id = g.group_id
  WHERE u.username = :APP_USER
  FETCH FIRST ROW ONLY;

  :APP_USER_GROUP := v_group;
END;

This allows you to easily reference :APP_USER_GROUP in conditions or dynamic actions.

Using users and groups of users in Oracle APEX gives you a flexible, scalable way to define access rights and customize user experience. It’s essential for maintaining clean, role-based application design, especially as your user base grows and requires differentiated access to data and features.

Step 1- Users and User Groups are created from the application level by selecting the man+wrench icon .

A screenshot of a computer

Description automatically generated

Step 2- Add Users name information

A screenshot of a computer

Description automatically generated

Step 3- add account privileges

A screenshot of a computer

Description automatically generated

Step 4 – Set up the initial password

A screenshot of a computer

AI-generated content may be incorrect.

Step 5- add any Group assignments needed.

A screenshot of a computer

Description automatically generated

Completed

A screenshot of a computer

Description automatically generated 


Conclusion
Effectively managing users and groups of users in Oracle APEX ensures that your application remains secure, scalable, and easy to maintain. Group-based access control lets you apply consistent rules to many users at once, reduces redundancy, and supports a cleaner, more flexible security model. With the right structure in place, you can confidently deliver personalized and protected experiences to every user group in your application. 

HOW DO I USE Roles and User Roles Assignments

 Introduction
Using Roles and User Role Assignments in Oracle APEX allows developers to control access to application components based on predefined user roles. By assigning roles such as ADMIN, MANAGER, or VIEWER to individual users, you can tailor the application experience, enforce security, and ensure that users only see or interact with content relevant to their responsibilities. This approach is a core part of building scalable, multi-user applications that support varying levels of access and functionality.

 Using roles and user role assignments in Oracle APEX allows you to control access to specific pages, regions, buttons, or actions based on a user’s assigned role. This is especially useful when building multi-user applications where different types of users—such as administrators, managers, and staff—need to see or interact with different parts of the application. Assigning roles and checking them through authorization schemes ensures only the right people see and use the right features.

To begin, you need a way to assign roles to users. This is typically done through a table in your application schema. For example:

CREATE TABLE app_users (
  username     VARCHAR2(100),
  user_role    VARCHAR2(50)
);

You populate this table with your application’s users and their roles. For example:

INSERT INTO app_users (username, user_role)
VALUES ('ADMIN01', 'ADMIN');

INSERT INTO app_users (username, user_role)
VALUES ('MGR01', 'MANAGER');

INSERT INTO app_users (username, user_role)
VALUES ('USR01', 'USER');

Next, create an Authorization Scheme in APEX. Go to Shared Components > Authorization Schemes, and click Create. Choose From Scratch, and use the PL/SQL Function Returning Boolean type. Give the scheme a name like “Admin Role” and enter code similar to this:

RETURN EXISTS (
  SELECT 1 
  FROM app_users 
  WHERE username = :APP_USER 
    AND user_role = 'ADMIN'
);

You can repeat this for each role type you want to manage—MANAGER, USER, etc.—by adjusting the user_role condition in the query.

To use the authorization scheme, go to Page Designer, and apply the scheme to the page, region, button, or process that should only be visible or accessible to users with that role. For example, to restrict a page to only admins:

  • Open the page in Page Designer

  • In the Security section, set Authorization Scheme to “Admin Role”

You can also use the same scheme for conditional display of items or buttons:

  • Click on a region or button

  • Under Security, set Authorization Scheme to “Admin Role”

When the user logs in, APEX sets the :APP_USER variable, which is used by the authorization scheme to check their role. If the scheme returns TRUE, the user can access the protected element. If it returns FALSE, access is denied or the component is hidden, depending on context.

Optionally, you can load the user’s role into a session state variable for easier reference throughout the app. Use a Before Header process on the home page:

DECLARE
  v_role VARCHAR2(50);
BEGIN
  SELECT user_role INTO v_role
  FROM app_users
  WHERE username = :APP_USER;

  :APP_USER_ROLE := v_role;
END;

Then, you can refer to :APP_USER_ROLE in conditions or PL/SQL expressions to apply logic throughout the app.

Using roles and user role assignments allows you to scale your application with structured access control. It keeps your application secure and gives each user the exact level of access they need, based on their responsibilities. It is one of the most flexible and essential tools in Oracle APEX security design.

Access Control requires that developers define application users and roles. Since roles are applied to users, you must create roles before adding users. You can assign users to one or more roles.

To control access to application pages and components, you need to create an Authorization Scheme.

Roles and users defined for applications can be reviewed using the following views:
APEX_APPL_ACL_USERS
APEX_APPL_ACL_USER_ROLES
APEX_APPL_ACL_ROLES

Use the following API to manage access control settings:
APEX_ACL


HOW DO I Create roles and assign the users to the roles

A screenshot of a computer

Description automatically generated


Conclusion
Roles and User Role Assignments in Oracle APEX provide a structured and flexible way to manage user permissions. By assigning the right roles to users and applying those roles throughout your application using authorization schemes, you maintain a secure, organized, and user-specific experience. This not only enhances the usability of your application but also ensures proper access control across all levels of functionality.

HOW DO I USE Page Level Authorization

 

Introduction
Using Page-Level Authorization in Oracle APEX allows you to control which users can access specific pages within your application based on defined rules or roles. This feature is essential for applications that serve different types of users, such as admins, managers, or standard users, and need to enforce access restrictions. By applying authorization schemes at the page level, you can ensure that sensitive data or functions are only visible to users with the appropriate privileges.

 

Page-Level Authorization in Oracle APEX is a method to control which users can access specific pages in your application. It is especially useful when different roles or user types need to see different functionality or content within the same application. By applying authorization schemes directly to pages, you ensure that only users with the proper access rights can view or interact with those pages.

To use Page-Level Authorization in Oracle APEX, first define an Authorization Scheme. Navigate to your application, then go to Shared Components > Authorization Schemes. Click Create, then choose From Scratch or From Template depending on your needs.

For example, to restrict access to users with the role "ADMIN", you might create a scheme with these settings:

  • Name: Admin Only

  • Scheme Type: PL/SQL Function Returning Boolean

  • PL/SQL Code:

    RETURN :APP_USER IN (SELECT username FROM app_users WHERE user_role = 'ADMIN');
    

Alternatively, you can use a simpler condition like:

RETURN :APP_USER = 'ADMIN';

Once your authorization scheme is created, go to Page Designer and select the page you want to protect. In the Page Attributes, look for the Security section. Set the Authorization Scheme to the scheme you just created (e.g., “Admin Only”).

When a user attempts to access this page, Oracle APEX will evaluate the authorization scheme. If the result is TRUE, the page loads. If it returns FALSE, the user is redirected to the application's home page (or another configured page) with an access denied message.

You can also use authorization schemes at a more granular level—such as for regions, buttons, items, or processes—if you want to show or hide elements on a page rather than restrict the entire page.

To test your setup, run the application and sign in as a user with and without the required role. Try accessing the page directly through the browser’s URL bar to verify that the access restriction is working as expected.

Using Page-Level Authorization allows you to build secure, role-based access into your Oracle APEX applications. It ensures users only see the pages that are relevant to them and helps prevent unauthorized access to sensitive information or functionality.

 

A screenshot of a computer

AI-generated content may be incorrect.

Error Message

 

A screen shot of a computer

Description automatically generated

Conclusion
Implementing Page-Level Authorization in Oracle APEX strengthens your application’s security and supports a more tailored user experience. It helps protect restricted areas, prevents unauthorized access, and allows you to align content visibility with business roles. By combining dynamic authorization schemes with proper session and user management, you maintain control over who sees what—right where it matters most.

How Do I Make a Faceted Search Map Page in Oracle APEX

Combining faceted search with a map region in Oracle APEX enables users to filter data visually and spatially at the same time. This design ...