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

24
User Interface Localizer: A system for making decision support software “world- compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural Research Center, Tsukuba, Japan

Upload: ben-hampshire

Post on 11-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

compatible”

Matthew Laurenson and Seishi Ninomiya

National Agricultural Research Center, Tsukuba, Japan

Page 2: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

Page 3: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Internationalization – Why?

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

Page 4: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

The same application in four languages…

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

Page 5: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural
Page 6: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

Page 7: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

Page 8: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

Page 9: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

ResourceBundle Issues

• If add or modify then must recompile

• Awkward for translators to edit

• Slow to load over network

Page 10: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

Page 11: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

Page 12: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

Page 13: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Client Application – Sample Code

Page 14: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Translator Application

Page 15: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Supervisor Applet – Translation Status

Page 16: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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...

Page 17: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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

Page 18: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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); }

Page 19: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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)

Page 20: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Thesaurus versus User Interface Localizer

Page 21: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Documentation and Demos

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

• Will be open source

Page 22: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Contents

• Internationalization

• Java ResourceBundles

• User Interface Localizer

• Future Plans

Page 23: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

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.

Page 24: User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural

Thank you

ありがとう 

ございま

した

非常感谢 !

감사합니다

Merci

Malo