Oracle Forms 6i. How to build a multilingual application?

Hello!
I want to enhance my Oracle Forms 6i application with multilingual capability. Which is the best way to achieve this using the same form at runtime? I don't want to use Oracle Translation Builder, because I want to show the proper language in combination with the user is logging on. For example, user1 will show English and user2 Greek!
Thank you in advance!
vfafouAsked:
Who is Participating?
 
schwertnerConnect With a Mentor Commented:
It is a hard task. I took part in such project in USA - 3 language forms (english, polish, portugeese)
You have to create a table that will keep all labels in your forms.
The table:
CREATE TABLE labels(
        id   INTEGER,
        eng VARCHAR2(100),
        gree VARCHAR2(100));

Now base the labels not on hardcoded strings (the common solution!)
Base them on the contents of some variables.
The forms will have a parameter dedicated to the language.
In the BEFORE-INSTANCE trigger put code that will select into these variables
the appropriate texts from the column dedicated to the language pointed by the parameter of the
form.

The major issue is the different length of the equivalents worde in English and Greece ...
0
 
Mark GeerlingsConnect With a Mentor Database AdministratorCommented:
I agree that this may not be not easy in Forms6i, but it should be possible.  I think Oracle managed to do it in their (big, expensive, complex) Oracle Applications suite, that is now called: e-Business Suite, or EBS.

The suggestion from schwertner should work.  I think it will be easiest if you have a startup form that all of your other forms are called from (via a: "call_form" command).  The startup form may need to have the prompts hard-coded in both languages, but then after the login (in either an "on-login" or "when-new-form-instance" trigger) it can check a table you have created to indicate the preferred language for each user and set that value in a form parameter that can then be passed to each other form in the application.  Those forms will have to have their prompts based on variables.  I suggest that you create a non-base-table block in each form with a field for each screen label that you need in that particular form.  These will be the variables that you use for your screen prompts.  These control block fielda can all be: "display_items" not "text_items" to save some memory.  Make sure that you set the navigation on the other block(s) in the form so the users cannot navigate to the control block.  Set these two properties on each of the control block fields that you use for screen prompts: Bevel - none; Background color - gray20. (That is, if you use the default forms6i canvas color.  If you have changed the canvas color, set the background color of these fiields to match your canvas color, so these fields look like prompts, not not like data fields.)

Write a program unit in each form to query the values you need for that form and place them in the appropriate control block fields.  Add a call to this program unit in both a "when-new-form-instance" trigger and in a "clear-form" trigger that you write, to make sure the prompts are always populated correctly.
0
 
schwertnerCommented:
It works. We did this in Columbus, Ohio nine years ago working with Forms 5, not with Forms 6.
The year was 1999.  This was e big project for a very big American Insurance Enterprise.
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
vfafouAuthor Commented:
Thank you schwertner and markgeer! I will shortly start it!
0
 
schwertnerCommented:
Good Luck!
0
 
CMANI10Commented:
I have done this ..now another query is ...
how can i change the native language of Operating System from English to polish at run time of application by the selection of user through the language selecting list item?
0
 
Mark GeerlingsDatabase AdministratorCommented:
Like schwertner said: "Good Luck" with that!  I don't know that that is supported, at least not by any O/S that I am familiar with.  Which O/S do you have?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.