Multi Language Application
Multi Language Application
I have the following question and maybe someone can help me here:
I am creating an application which must be multilingual. The UI languages might be different from the languages used in the BO.
The User Interface will be in 3 languages (English, German, French) and some more might be added later. This can be done using the 'locale'. The BO requires to be translated into different languages (choices of the customer using the application and each customer might have a different selection of languages), which might include many more languages than the ones defined in the 'locale'.
Example: User interface in EN, DE, FR and definition of currency - Code of currency plus dynamic nr of translations (EN,DE,SP,CZ, etc.) of the currency like below:
CODE - EN, DE, SP, CZ
----------------------------
CHF - Swiss Franc, Schweizer Franken, franco suizo, Svycarsky franc
AUD - Australian Dollar, Australischer Dollar, dolar australiano, Australsky dolar
XXX - CurrTransEN, CurrTransGE, CurrTransSP, CurrTransCZ
etc. etc.
These translations are used in the UI to display the BO in the language the user has defined in the 'SystemUser'. In the reporting or the export, the language of translation depends not on the 'locale' attribute in the 'SystemUser' but rather on a attribute of a BO.
I could create a BO with many attributes (Language1, Language2, Language3, Language4, Language5, Language6, Language7, Language8, etc.). This seems not very elegant to me, as some customer might only need two translations and others more than 10.
In a DB model approach a table for the currency definition (in the example above the 'Code') and an other table with the translation (Language, Description) would be created.
Is there a way in AwareIM to have a similar or better approach?
Thanks
Jean
I am creating an application which must be multilingual. The UI languages might be different from the languages used in the BO.
The User Interface will be in 3 languages (English, German, French) and some more might be added later. This can be done using the 'locale'. The BO requires to be translated into different languages (choices of the customer using the application and each customer might have a different selection of languages), which might include many more languages than the ones defined in the 'locale'.
Example: User interface in EN, DE, FR and definition of currency - Code of currency plus dynamic nr of translations (EN,DE,SP,CZ, etc.) of the currency like below:
CODE - EN, DE, SP, CZ
----------------------------
CHF - Swiss Franc, Schweizer Franken, franco suizo, Svycarsky franc
AUD - Australian Dollar, Australischer Dollar, dolar australiano, Australsky dolar
XXX - CurrTransEN, CurrTransGE, CurrTransSP, CurrTransCZ
etc. etc.
These translations are used in the UI to display the BO in the language the user has defined in the 'SystemUser'. In the reporting or the export, the language of translation depends not on the 'locale' attribute in the 'SystemUser' but rather on a attribute of a BO.
I could create a BO with many attributes (Language1, Language2, Language3, Language4, Language5, Language6, Language7, Language8, etc.). This seems not very elegant to me, as some customer might only need two translations and others more than 10.
In a DB model approach a table for the currency definition (in the example above the 'Code') and an other table with the translation (Language, Description) would be created.
Is there a way in AwareIM to have a similar or better approach?
Thanks
Jean
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
I am not sure I understand what you are trying to achieve, but it sounds like you could create a separate business object for Currency and/or Language and use standard Aware IM reference attributes to manage this.
Aware IM Support Team
Re: Multi Language Application
Keep it simple : all BO's , Attribute and dropdown names in English and use the locales for your French, German or other translation.
Independent Developer
Re: Multi Language Application
The application is mainly for the Swiss market and here we have 3 languages spoken plus English. The customer base of our clients is from many different nations which all wish to have their reporting etc. in their language (Spanish, Portuguese, Italian, Czech, etc.).
At the moment I have two BO - one for the currency and one for the translation of the currency.
Example BO Currency:
CHF
YEN
etc.
Example BO Currency_translation
CHF (reference to Currency BO) - English - Swiss Franc
CHF (reference to Currency BO) - German - Schweizer Franken
YEN (reference to Currency BO) - English - Japanese YES
YEN (reference to Currency BO) - German - Japanischer YEN
etc.
When a logged in user has locale English all drop down boxes, grids etc should display the BO Currency_translation in English. If the logged in user has a locale in German all drop down boxes, grids etc. should display these in German.
How can I archieve this or what is the best way to implement this in Aware IM?
I would be thankful for any suggestions.
At the moment I have two BO - one for the currency and one for the translation of the currency.
Example BO Currency:
CHF
YEN
etc.
Example BO Currency_translation
CHF (reference to Currency BO) - English - Swiss Franc
CHF (reference to Currency BO) - German - Schweizer Franken
YEN (reference to Currency BO) - English - Japanese YES
YEN (reference to Currency BO) - German - Japanischer YEN
etc.
When a logged in user has locale English all drop down boxes, grids etc should display the BO Currency_translation in English. If the logged in user has a locale in German all drop down boxes, grids etc. should display these in German.
How can I archieve this or what is the best way to implement this in Aware IM?
I would be thankful for any suggestions.
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
You do not need a special object for "currency translation". Just add an attribute to the Currency object called "Description", for example and another one to hold translated Description. Then you need to define translations of the different descriptions in the different locale. Finally you need a rule that uses the TRANSLATE function, that translates the given text to the locale of the current user:
Currency.DescriptionTranslated = TRANSLATE (Currency.Description)
See the documentation of the TRANSLATE function for more details.
Currency.DescriptionTranslated = TRANSLATE (Currency.Description)
See the documentation of the TRANSLATE function for more details.
Aware IM Support Team
-
- Posts: 1473
- Joined: Tue Jan 24, 2017 5:51 am
- Location: 'Stralya
Re: Multi Language Application
I started playing about with locales (in an effort to avoid real work) and have stumbled across a few issues:
I have created two locales for a practice app and set the default language of system messages and a culture.
When I then put this into test and inspect the code it launches an error
Failed to load resource: the server responded with a status of 404 (Not Found) http://.../AwareIM/KendoUI/js/messages/kendo.messages.fr-FR.min.js.map and
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) http://.../AwareIM/KendoUI/js/cultures/kendo.culture.fr-FR.min.js.map
When I check the server there are indeed no .map files
I've also been trying to find the documentation for the TRANSLATE function and I can't find any reference to it. I can insert it into a rule but it doesn't show up on the pop up code completion box, but when I save the rule it is quite happy.
I have created two locales for a practice app and set the default language of system messages and a culture.
When I then put this into test and inspect the code it launches an error
Failed to load resource: the server responded with a status of 404 (Not Found) http://.../AwareIM/KendoUI/js/messages/kendo.messages.fr-FR.min.js.map and
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) http://.../AwareIM/KendoUI/js/cultures/kendo.culture.fr-FR.min.js.map
When I check the server there are indeed no .map files
I've also been trying to find the documentation for the TRANSLATE function and I can't find any reference to it. I can insert it into a rule but it doesn't show up on the pop up code completion box, but when I save the rule it is quite happy.
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
You can ignore the console messages. We will investigate why the TRANSLATE function is not available (it should work, though)
Aware IM Support Team
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
The TRANSLATE function is part of the list, so not sure why you couldn't find it
Aware IM Support Team
-
- Posts: 1473
- Joined: Tue Jan 24, 2017 5:51 am
- Location: 'Stralya
Re: Multi Language Application
See screenshot - Build 2375 (Mac Configurator, LINUX AIM Server)aware_support wrote:The TRANSLATE function is part of the list, so not sure why you couldn't find it
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
You are displaying the wrong list. The list of functions is displayed separately (F4 on Windows as opposed to F3, something else on Mac - see the text above the controls)
Aware IM Support Team
-
- Posts: 1473
- Joined: Tue Jan 24, 2017 5:51 am
- Location: 'Stralya
Re: Multi Language Application
Oopsaware_support wrote:You are displaying the wrong list. The list of functions is displayed separately (F4 on Windows as opposed to F3, something else on Mac - see the text above the controls)
Re: Multi Language Application
The example above I described had only a translation in English and German. The user might want to add more translations (Spanish, French, Swedish, etc.). The number of translations needs to be dynamic as every customer has different needs/translation needs. All the translations are done by the end user as some might want to have 'Swiss franc' other customers 'SWISS FRANC' etc. as a translated value.
I am not sure using the suggestion would solve the problem, but I might be mistaken, as I am fairly new to AwareIM.
Any other ideas how to solve it?
I am not sure using the suggestion would solve the problem, but I might be mistaken, as I am fairly new to AwareIM.
Any other ideas how to solve it?
-
- Posts: 7567
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
Re: Multi Language Application
It doesn't matter if a translation is added dynamically - the TRANSLATE function will always translate to the current locale. But you do have to define all possible locale in your configuration.
Aware IM Support Team