100 likes | 501 Views
Each HTML page is limited to a single charset. The CGI script has no knowledge of the client ... Writing the HTML. Create the configuration of pages, frames, ...
E N D
Internationalization of HTML client-server applications Andrea Vine iPlanet Internationalization Architect
Designing the functional interface • Plan for i18n when you create your specifications • Consider the nature of the data your application is processing • How will the majority of customers access the application? • Will users be working with one language at a time or with multiple languages?
Some concepts and limitations • Each HTML page is limited to a single charset • The CGI script has no knowledge of the client • Provide customers ways to access the interface by language • Create a single home page displaying a choice of languages on it • Allow for customization of the initial access point
Choosing the CGI language • Any programming language is internationalizable • The classic CGI script has no persistence in server memory • There are server utilities that provide an API for CGI scripts • Java servlets are persistent as well, but they require Web servers with servlet support
Writing the HTML • Create the configuration of pages, frames, and browser windows • META tag or comment with proper charset • Use fixed text as images to solve some charset incompatibility • Alternate text for images may not always work
Managing HTML FORMs • FORM data is submitted in the charset of the page/frame • Input text and textareas are handled by the native system • Pre-filled text may not always look right • Charset conversions and defaults in browsers
More HTML quirks • <SELECT> and <OPTION> tags - value parameter, dynamic filling • Local file access and other browser-controlled elements • Testing environment may not work like actual environment
Coding the CGI script/program • Writing internationalized CGI is like writing any internationalized programs • Parse FORM fields, gathering charset and locale values first • Code workarounds for mismatched client and server charsets, locales • Inspect for other data, such as HTML inside input text
Test your application • Set up machines in various locales as clients • Run server in various locales • Use different browsers and versions • Invite customers to beta test
Where to find out more • Discussion lists – i18n-prog@acoin.com • Book – Global Solutions for Multilingual Applications, by Chris Ott Experimentation!