user interface localizer: a system for making decision support software “world-compatible”...

Post on 11-Dec-2015

217 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

User Interface Localizer: A system for making decision support software “world-

compatible”

Matthew Laurenson and Seishi Ninomiya

National Agricultural Research Center, Tsukuba, Japan

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

Internationalization – Why?

© Copyright 1998 ACNielsen Corporation. All rights reserved – used with permission

The same application in four languages…

One of the screens is probably much easier for you to use and contribute to.

Many Aspects to Internationalization

• Labels for text components (our focus)but also

• Date systems and formats

• Number formats

• Language for documentation

• Differences in farming systems and scales

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

WeatherDataResources_ko extends ResourceBundle {

...

{"database", " 데이터베이스 "},

{"region", " 지역 "},

{"weather station", " 기상관측소 "},

{"station report"," 관측지점 보고 "},

{"element", " 기상요소 "},

{"metbroker", " 기상중매자 "},

{"servlet", " 서블렛 "},

{"applet", " 애플렛 "},

...

WeatherDataResources_zh extends ResourceBundle {

...

{"database", "数据库 "},

{"region", "地区 "},

{"weather station", "气象站 "},

{"station report", "台站报告 "},

{"element", "天气要素 "},

{"metbroker", "气象代理 "},

{"servlet", "服务器端小程序 "},

{"applet", "小程序 "},

...

Java ResourceBundles

ISO Language ID

Language-independent ID

ResourceBundle Issues

• If add or modify then must recompile

• Awkward for translators to edit

• Slow to load over network

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

User Interface Localizer - Aims

• Easy replacement for ResourceBundles

• Web-based translation – easy updating

• Avoid compilation step

• Easy to add a new language

• Good performance for distributed applications

ResourceServer: Web-based Localization

Database

ResourceServerUser

Translator

User

TranslatorSupervisor

User

User

Translator

User

User

User

Translator

User

Add and remove label ids.Add and remove label ids. Set up new languages.Set up new languages. Authorize translators.Authorize translators.

Send ids & receive textSend ids & receive text No user authorization requiredNo user authorization required

View labels in several languagesView labels in several languagesEdit one languageEdit one languagePassword-controlledPassword-controlled

Communication using Java

Remote Method Invocation (RMI)

PostgreSQL

Client Application – Sample Code

Translator Application

Supervisor Applet – Translation Status

User Testing

• Asked three Chinese co-workers (good English skills) to translate terms on paper.

• Found that we needed term descriptions (in English, entered by supervisor) as well as English translations

• UIL Version 0.2 includes descriptions in translator interface

• Ready for next round of testing...

Resource Bean

• Created ResourceBean for fast application loads.

• Retrieves text from User Interface Localizer in separate thread to speed application load

• Groups together requests for efficiency

• Sets component popup text with item description if translation not available

Adapting Applet to User Interface Localizer

import net.agmodel.resBean.*;

class MyApplet implements …,ResourceBeanListener{ private ResourceBean rb=new ResourceBean(); … public void init(){ rb.registerComponent(myButton,”Utility”,”ok”); rb.registerComponent(aLabel,”Physical”,”rain”); … rb.setRBListener(this); rb.setLive(true); }

public void internationalizationComplete(){ rb.setLive(false); }

Notes

• All demos at www.agmodel.net use RB

• Not yet used outside NARC

• Potential to replace database with Agricultural Ontology Service if can identify terms in AOS with some ID.(Need to be able to readily add new terms)

Thesaurus versus User Interface Localizer

Documentation and Demos

• Web site:http://www.agmodel.net/ResourceServer/

• Will be open source

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

ResourceSOAP

• Simple Object Access Protocol (SOAP) is language-neutral version of Java RMI

• Many programming languages have SOAP toolkits

• With SOAP access, User Interface Localizer could serve Visual Basic and Delphi applications.

Thank you

ありがとう 

ございま

した

非常感谢 !

감사합니다

Merci

Malo

top related