This discussion is archived
8 Replies Latest reply: Nov 22, 2012 7:33 AM by Arie Geller RSS

Multilingual application

Sunil Bhatia Journeyer
Currently Being Moderated
Hi all,

Can anyone guide me how to prepare multilingual application (English and Romanian) step by step. I have searched this forum and created application using FSP_LANGUAGE_PREFERENCE, but it is not working.

I just need 2 page application, login and home, and want step by step creation of translated application on apex.oracle.com

Can anyone help me in this regard?

Thanks
Sunil Bhatia
  • 1. Re: Multilingual application
    560962 Newbie
    Currently Being Moderated
    Hi Sunil,

    For a step by step guide, you may look at this link:

    http://www.oracle.com/technetwork/community/bookstore/apex-cookbook-chapter-256792.pdf

    However I followed it to the letter and cannot invoke the translated application (APEX 4.2), struggled with this for hours:

    1) Translated the application - used both the transaltion
    2) Created the FSP_LANGUAGE_PREFERENCE application item
    3) Created the set_language before header process
    4) Use navigation bar URLS to set the FSP_LANGUAGE_PREFERENCE.

    The item is set, I print it in the Navigation bar, I use it in language dependent DB queries and even in image names. But the translated application does not appear.

    I read there may be problems with the first page rendering when languages are switched, but reloading the page in the translated language should work.

    Unfortunately there is no way to access the translated application directly to verify it's really there.

    Let us see if we get some help :-(

    Edited by: atanask on Nov 16, 2012 12:15 PM
  • 2. Re: Multilingual application
    Arie Geller Guru
    Currently Being Moderated
    Hello,

    >> I read there may be problems with the first page rendering when languages are switched

    APEX 4.0 introduced the p_lang parameter, to be used with the option of Session in the Application Language Derived From field. Using this option solves the problem of translating the first page (usually login ). You can read more about it in the documentation - http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35125/global_primary_lang.htm#CHDFFJEJ.

    >> Unfortunately there is no way to access the translated application directly to verify it's really there.

    I’m not sure what you mean by “verify it’s really there”. If you have created a translated instance of the application, you will see it under the Globalization section of the application (Shared Components ==> Edit Definition ==> Globalization).

    >> Let us see if we get some help …

    The quickest way to get help is to recreate your scenario on apex.oracle.com. It allows us to inspect your work and pin point the problem.

    Regards,
    Arie.

    -------------------------------------------------------
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

    ♦ Author of Oracle Application Express 3.2 – The Essentials and More
  • 3. Re: Multilingual application
    560962 Newbie
    Currently Being Moderated
    Hi Arie,

    The application is 35333 on apex.oracle.com. The translated app is 35491 supposed to be in French.

    I use the FSP_LANGUAGE_PREFERENCE item to determine the language, its value is displayed in the navigation bar, as well as the APP_ID. The Navigation bar language links are used to switch. DB data and even the logos and shortcuts switch fine using the FSP... item.

    I translated quickly English to display as Anglais in the French application, and e.g. Home as Debut, but no matter what I'm not getting the translated pages. Also the displayed APP_ID does not switch to 35491.
    I've also uploaded the XLIFF file as static file. BTW even though the encoding is proclaimed as UTF-8, I cannot find the first 3  (hex EF BB BF) characters in the beginning even when I just download the file.

    Please have a look,

    Atanas

    Edited by: atanask on Nov 19, 2012 8:00 AM
  • 4. Re: Multilingual application
    560962 Newbie
    Currently Being Moderated
    Hi Arie,

    Forgot to ask - is the app_id enough to get in or you need credentials? if so, I would need to cleanup everything, I don't feel like posting them here.

    There is one more thing I tried, this was to set the Application Primary Language as French and then in Globalization selected "Derive Application language from Primary language"

    In effect this should hard code the language to French no matter what right?

    The visible changes are that the bottom "development" bar changes to French, the user welcome message in the navigation bar changes to Bienvenue instead of Welcome and the Reports paging link says "Suivant" instead of "Next".

    However all these are global level substitutions, the strings do not come from the translation file.

    I wish at least one of the Packaged Applications was translated...

    Atanas
  • 5. Re: Multilingual application
    Arie Geller Guru
    Currently Being Moderated
    Hello Atanas,

    >> … the displayed APP_ID does not switch to 35491 …

    That is the correct situation. The application ID should not be changed, and in all your development actions you only reference the primary application ID. Only the APEX engine, while running in translation mode, should reference the translated application ID, according to the language mapping.

    The only time you should reference the translated application ID is when you exporting the application. Only then you should export each language separately (and the export wizard allows you to do so).

    >> I use the FSP_LANGUAGE_PREFERENCE item to determine the language

    In this case you can’t expect the first page to be translated immediately, and it will be rendered in the application primary language. The APEX engine reads the value of FSP_LANGUAGE_PREFERENCE from Session State, and that happens after the initial page rendering. That’s why the development team added the p_lang option, as part of the URL that invokes the application.

    >> Forgot to ask - is the app_id enough to get in or you need credentials?

    In order for me to log into your workspace I need your credentials – Workspace name, user name and password. If you don’t want to post them on the forum, you can send them directly to me to arie at adp-systems dot com .

    Regards,
    Arie.

    -------------------------------------------------------
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

    ♦ Author of Oracle Application Express 3.2 – The Essentials and More
  • 6. Re: Multilingual application
    Arie Geller Guru
    Currently Being Moderated
    Hello Atanas,

    I’ve looked into your application on apex.oracle.com.

    The FSP_LANGUAGE_PREFERENCE name can be used in two different ways: as an application preference or application item. If you choose the latter, as in your application, the Application Language Derived From option should be set to Item preference (use item containing preference).

    You should remember that after any change you make to the primary language application – including only logic changes – you should Seed and Publish the translated application(s) in order to synchronize the primary language application with all its translated ones.

    As far as I can tell, the translation mechanism is working now for your application.

    Regards,
    Arie.
    -------------------------------------------------------
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

    ♦ Author of Oracle Application Express 3.2 – The Essentials and More
  • 7. Re: Multilingual application
    560962 Newbie
    Currently Being Moderated
    Hi Arie,

    It really works now! That the translated application becomes invalid once you touch the primary one I knew.

    But as I meant to use the item FSP_LANGUAGE_PREFERENCE I chose the option that contains it:

    Application preference (use FSP_LANGUAGE_PREFERENCE)

    and not

    Item preference(use item containing preference)

    Indeed the Apex documentation explains the difference between the two options but somehow this escaped me as the preference and the item have the same name.

    Sunil I believe Arie answered also your original question so you may mark his answer as correct and try the way he described.

    Thank you again, Arie
    Regards,
    Atanas
  • 8. Re: Multilingual application
    Arie Geller Guru
    Currently Being Moderated
    Hello Atanas,

    I’m glad to hear that things finally worked out for you.

    >> Sunil I believe …

    One of the reasons we encourage posters to start their own thread is that after a short while, the original poster no longer receive alert messages regarding his/her original post. It’s entirely possible that Sunil doesn’t aware of all the conversation you and I had. In the future, you should start your own thread, and if you think that an existing thread includes important information to your case, just include its URL in your new post.

    Regards,
    Arie.

    -------------------------------------------------------
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

    ♦ Author of Oracle Application Express 3.2 – The Essentials and More

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points