?
Solved

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

Posted on 2009-04-08
7
Medium Priority
?
1,375 Views
Last Modified: 2013-12-07
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!
0
Comment
Question by:vfafou
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 48

Accepted Solution

by:
schwertner earned 1200 total points
ID: 24095777
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
 
LVL 35

Assisted Solution

by:Mark Geerlings
Mark Geerlings earned 800 total points
ID: 24097373
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
 
LVL 48

Expert Comment

by:schwertner
ID: 24097619
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
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 

Author Closing Comment

by:vfafou
ID: 31567945
Thank you schwertner and markgeer! I will shortly start it!
0
 
LVL 48

Expert Comment

by:schwertner
ID: 24147163
Good Luck!
0
 

Expert Comment

by:CMANI10
ID: 24193974
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
 
LVL 35

Expert Comment

by:Mark Geerlings
ID: 24194019
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

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Shell script to create broker configuration file using current broker Configuration, solely for purpose of backup on Linux. Script may need to be modified depending on OS-installation. Please deploy and verify the script in a test environment.
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to recover a database from a user managed backup

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question