Solved

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

Posted on 2009-04-08
7
1,359 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
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 

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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
Via a live example, show how to take different types of Oracle backups using RMAN.
Suggested Courses

628 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