Solved

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

Posted on 2009-04-08
7
1,333 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 300 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 200 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
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 

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

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

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

Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.

730 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