All error messages and boilerplate text should be in the same language. When running an application, an end user views messages and boilerplate text from three sources:
Oracle's NLS handles translation for the first two sources. You, as the application developer are responsible for translating the messages and boilerplate text for the third source.
In general, there are two types of application-specific text you will need to translate:
Oracle TranslationHub helps you translate the 'translatable text' strings in the user interface into multiple languages. You can use Oracle TranslationHub to assist with translation for almost all multilingual Oracle Forms applications by generating separate binary files for each language.
While Oracle TranslationHub helps you find and translate strings in the user interface, it cannot pull out string constants in PL/SQL triggers and procedures. Manual translation is required for constant text within PL/SQL block, because that text is not clearly delimited, but is often built up from variables and pieces of strings.
For a complete description of Oracle TranslationHub, refer to the Oracle TranslationHub Online Help.