04/14/161
Beyond Internationalization (i18n)
Real-time facts & practices
by
Reddappa Gowd
Dated on 10th
March 2004
04/14/16 Ness Technologies (India) Ltd.2
What is i18n?
 i18n stands for Internationalization.
 ’18 ‘ means 18 letters between ‘i’ and ‘n’
 Single application which supports for various
locale’s custom requirements across the
geographical locations, called i18n compliant
application.
04/14/16 Ness Technologies (India) Ltd.3
Basic Approach
 Design the application in such a way that, it clearly aware of content
specifics.
 Send a request to the language translations centre for locale specific
content. Default English content is the input for the translations team.
 Get the content either in terms of key/value pair (Resource bundle) or
XML files published from the content management system.
 Check the content files for the appropriate encoding. Most of times, it
is suggestible that, not to edit those files using normal editors.
 Apply resource bundle files to the native2Ascii tool to convert back
them into UTF-8/UTF-16 files.
 These converted files are your Resource bundle files which will be the
input for the application.
04/14/16 Ness Technologies (India) Ltd.4
Basic Approach – Contd.
 If the content files are big XML files, choose appropriate streams &
parsers to read, pre-parse and post-parsing activities.
 Now prepare your application framework for handling i18n for
centralized access for locale, encoding and bdo properties.
 Design JSP files in such a way that, these properties will be taken care
well at run-time.
 Test JSP’s well on the development environment for the content
specifics with the help of locale content experts. Repeat the process
until satisfactory results have been achieved.
 Test on the staging environment and repeat the process cycle.
 If everything is fine, then go for a launch.
04/14/16 Ness Technologies (India) Ltd.5
Types of i18n applications
 Resource bundle based
 Content publishing (e-Publishing)
 Single-byte
 Double-byte
 BiDi based
04/14/16 Ness Technologies (India) Ltd.6
Architect’s point of view
 Needs to consider i18n implementation in the meta architecture
phase itself.
 i18n focus will be more on UI driven as well as data-driven
architectures.
 i18n will be the important design goal for UI driven. Layouts,
grid-structures, positions, alignments and etc.
 Needs to design the DB model which supports all Locale
specific things like Data conversion, Locale specific operations,
Formatting components, Index/Sequence components, Sorting
components and NLS support.
 Minimizing Application level data conversions, Linguistic Sort,
Linguistic Search, Formats and Validations.
04/14/16 Ness Technologies (India) Ltd.7
Contd.
 Content management system will be one of the
component in the application space.
 Set various design goals for this high level activity in
the architectural phase itself.
 Plays vital role in selection of the appropriate
technology like parsers, tools and etc.
 Guidelines on pre-parsing and post-parsing
techniques will be provided to the design phase.
 Formatting component
 Focus will be more on the e-publishing based
projects.
04/14/16 Ness Technologies (India) Ltd.8
Designer’s point of view
 Design of framework classes for centralized access of
encoding, locale and bdo properties.
 Design of framework classes for effective reading of Big locale
sensitive XML content files.
 Design of Formatter framework for Date & Time, Currency,
Number, Expression and etc.
 Design Application level framework for Linguistic sorting,
Validations, Style sheet level variations, Serializing locale
specific objects (like Date and Calendar) and etc.
 Design of JSP’s.
 Design of UI layout, components and their properties.
 Check for the goals set in the architectural phase.
04/14/16 Ness Technologies (India) Ltd.9
Designer’s point of view- Contd.
 Use build tools for the content handling from custom specific
encoding to UTF related.
 Choosing right locale specific frameworks like ICU4J or custom
frameworks for handling business/Utility logic level support.
 Proper automation of the locale translations life cycle.
 Set performance metrics and check for each time, especially
while handling the big XML locale content files and
communicating with Content Management Server (CMS).
 Timely design changes will be appreciated at UI side especially
while working with single-byte and double-byte locales with
BIDI.
04/14/16 Ness Technologies (India) Ltd.10
Developer’s point of view
 Development of framework related java files.
 Maintaining the entire layer to support for UTF-8 and careful
at canonicalized models.
 Development of JSP’s with appropriate encoding, locale and
bdo (bi-directional) properties.
 Development of html files very cautiously. Focus will be given
on the layout portion of the page which will be suitable for all
locales.
 Development of css files and style related stuff.
 Developing components for Formatting/Locale specific
component support, Application level linguistic sorting/search,
business logic level operations and handling locale specific
objects, proper usage of Http Session and Context.
 Need to set default config parameters like encoding, charset
and Locale in an locale specific XML.
04/14/16 Ness Technologies (India) Ltd.11
Development techniques
 More focus will be on the JSP, HTML and css related.
 Especially while working with single-byte and double-byte
locales, better to keep different css files and load dynamically
the appropriate one.
 Use <span> tags where and when necessary.
 Very careful while working with align attributes, UI component
sizes (like buttons, combo box, etc.). Keep align property as
center always as for as possible. It eliminates significant re-
development effort.
 Use dir attribute appropriately.
 Positioning and direction of the images will be at the center.
04/14/16 Ness Technologies (India) Ltd.12
Development techniques - Contd.
 Always check for the UI component compliance with all the
locales, such that Layout will be not disturbed.
 Use the session effectively and suggestible to not encourage
coarse-grained state.
 While reading XML files through Input streams, instruct the
input streams to read in the appropriate ASCII/Non-ASCII
encodings.
 Write/Use available Schedulers for Auto updating the content in
the application periodically without any down times.
 Extra care needs to be taken for mixed locale content (Arabic
message with English words, Russian with English, etc.) by
using <span dir > appropriately.
04/14/16 Ness Technologies (India) Ltd.13
Best practices
 Consider the i18n requirement in the meta architectural stage itself.
 UI design needs to consider the type of content (locale), content
beautification (style), content priorities (based on locale), content
direction and content size (specific to locale).
 UI designer needs to be cautious with HTML tags handling and style
properties.
 Suggestible to have parallel css approach. One CSS file for every
locale. And load the appropriate CSS file at run time based on locale.
 Developers needs to create a generic facility to handle encodings,
directions and tb/bt.
 Strictly do not hard code any style properties to any html element in the
jsp.
04/14/16 Ness Technologies (India) Ltd.14
Best Practices – Contd.
 Be aware of various cultural specifics & sentiments for various locale
especially related to the characters like ‘!’, ‘!!’, ‘?’, ‘*’, ‘(‘,’)’ and color
specifics, call-outs, images and etc.
 Use appropriate <span> tags for mixed content. This is very useful tip
for RTL locales.
 Needs to give more value towards human sentiments from various
geographic locations.
 Testing process should involve the locale experts and relay on more and
more review comments from the appropriate authorities. This may delay
the launch of the product.
 This is one of the specific metrics stage for the i18n applications.
Separate defect density, defects per UI wizard and etc. will be projected
for these applications. This clearly indicates the level of i18n expertise.
04/14/16 Ness Technologies (India) Ltd.15
Best Practices – Contd.
 Use java locale framework for the localized strings, dates, currencies,
time, number and very cautious while presenting the format.
 Especially needs to be extra care for the locales like Korean which has
tb/bt format. Some times necessary for own string framework
customization.
 Needs to have separate javascript API for validations of various locale.
Suggestible to look at the industry standard QForms API.
 For database driven applications, use NLS support features
accordingly. Use all possible linguistic settings for index, sequence and
sort models using NLS support.
 Be cautious in selecting the parser (Xalan, lower versions of XML4J
and Xerces.
 If the content files are big in nature, use appropriate XML streams to
load from the content management server.
04/14/16 Ness Technologies (India) Ltd.16
Conclusions
 i18n is no more a buzz word
 Prime Architectural requirement for the
enterprise based applications
 More focus on the UI design & control flow
elements
 Developer needs to consider the i18n
compliance code
 Right time – Right tool
 i18n expertise plays major role in the EI.
04/14/16 Ness Technologies (India) Ltd.17
Word of Thanks

Beyond internationalization i18n

  • 1.
    04/14/161 Beyond Internationalization (i18n) Real-timefacts & practices by Reddappa Gowd Dated on 10th March 2004
  • 2.
    04/14/16 Ness Technologies(India) Ltd.2 What is i18n?  i18n stands for Internationalization.  ’18 ‘ means 18 letters between ‘i’ and ‘n’  Single application which supports for various locale’s custom requirements across the geographical locations, called i18n compliant application.
  • 3.
    04/14/16 Ness Technologies(India) Ltd.3 Basic Approach  Design the application in such a way that, it clearly aware of content specifics.  Send a request to the language translations centre for locale specific content. Default English content is the input for the translations team.  Get the content either in terms of key/value pair (Resource bundle) or XML files published from the content management system.  Check the content files for the appropriate encoding. Most of times, it is suggestible that, not to edit those files using normal editors.  Apply resource bundle files to the native2Ascii tool to convert back them into UTF-8/UTF-16 files.  These converted files are your Resource bundle files which will be the input for the application.
  • 4.
    04/14/16 Ness Technologies(India) Ltd.4 Basic Approach – Contd.  If the content files are big XML files, choose appropriate streams & parsers to read, pre-parse and post-parsing activities.  Now prepare your application framework for handling i18n for centralized access for locale, encoding and bdo properties.  Design JSP files in such a way that, these properties will be taken care well at run-time.  Test JSP’s well on the development environment for the content specifics with the help of locale content experts. Repeat the process until satisfactory results have been achieved.  Test on the staging environment and repeat the process cycle.  If everything is fine, then go for a launch.
  • 5.
    04/14/16 Ness Technologies(India) Ltd.5 Types of i18n applications  Resource bundle based  Content publishing (e-Publishing)  Single-byte  Double-byte  BiDi based
  • 6.
    04/14/16 Ness Technologies(India) Ltd.6 Architect’s point of view  Needs to consider i18n implementation in the meta architecture phase itself.  i18n focus will be more on UI driven as well as data-driven architectures.  i18n will be the important design goal for UI driven. Layouts, grid-structures, positions, alignments and etc.  Needs to design the DB model which supports all Locale specific things like Data conversion, Locale specific operations, Formatting components, Index/Sequence components, Sorting components and NLS support.  Minimizing Application level data conversions, Linguistic Sort, Linguistic Search, Formats and Validations.
  • 7.
    04/14/16 Ness Technologies(India) Ltd.7 Contd.  Content management system will be one of the component in the application space.  Set various design goals for this high level activity in the architectural phase itself.  Plays vital role in selection of the appropriate technology like parsers, tools and etc.  Guidelines on pre-parsing and post-parsing techniques will be provided to the design phase.  Formatting component  Focus will be more on the e-publishing based projects.
  • 8.
    04/14/16 Ness Technologies(India) Ltd.8 Designer’s point of view  Design of framework classes for centralized access of encoding, locale and bdo properties.  Design of framework classes for effective reading of Big locale sensitive XML content files.  Design of Formatter framework for Date & Time, Currency, Number, Expression and etc.  Design Application level framework for Linguistic sorting, Validations, Style sheet level variations, Serializing locale specific objects (like Date and Calendar) and etc.  Design of JSP’s.  Design of UI layout, components and their properties.  Check for the goals set in the architectural phase.
  • 9.
    04/14/16 Ness Technologies(India) Ltd.9 Designer’s point of view- Contd.  Use build tools for the content handling from custom specific encoding to UTF related.  Choosing right locale specific frameworks like ICU4J or custom frameworks for handling business/Utility logic level support.  Proper automation of the locale translations life cycle.  Set performance metrics and check for each time, especially while handling the big XML locale content files and communicating with Content Management Server (CMS).  Timely design changes will be appreciated at UI side especially while working with single-byte and double-byte locales with BIDI.
  • 10.
    04/14/16 Ness Technologies(India) Ltd.10 Developer’s point of view  Development of framework related java files.  Maintaining the entire layer to support for UTF-8 and careful at canonicalized models.  Development of JSP’s with appropriate encoding, locale and bdo (bi-directional) properties.  Development of html files very cautiously. Focus will be given on the layout portion of the page which will be suitable for all locales.  Development of css files and style related stuff.  Developing components for Formatting/Locale specific component support, Application level linguistic sorting/search, business logic level operations and handling locale specific objects, proper usage of Http Session and Context.  Need to set default config parameters like encoding, charset and Locale in an locale specific XML.
  • 11.
    04/14/16 Ness Technologies(India) Ltd.11 Development techniques  More focus will be on the JSP, HTML and css related.  Especially while working with single-byte and double-byte locales, better to keep different css files and load dynamically the appropriate one.  Use <span> tags where and when necessary.  Very careful while working with align attributes, UI component sizes (like buttons, combo box, etc.). Keep align property as center always as for as possible. It eliminates significant re- development effort.  Use dir attribute appropriately.  Positioning and direction of the images will be at the center.
  • 12.
    04/14/16 Ness Technologies(India) Ltd.12 Development techniques - Contd.  Always check for the UI component compliance with all the locales, such that Layout will be not disturbed.  Use the session effectively and suggestible to not encourage coarse-grained state.  While reading XML files through Input streams, instruct the input streams to read in the appropriate ASCII/Non-ASCII encodings.  Write/Use available Schedulers for Auto updating the content in the application periodically without any down times.  Extra care needs to be taken for mixed locale content (Arabic message with English words, Russian with English, etc.) by using <span dir > appropriately.
  • 13.
    04/14/16 Ness Technologies(India) Ltd.13 Best practices  Consider the i18n requirement in the meta architectural stage itself.  UI design needs to consider the type of content (locale), content beautification (style), content priorities (based on locale), content direction and content size (specific to locale).  UI designer needs to be cautious with HTML tags handling and style properties.  Suggestible to have parallel css approach. One CSS file for every locale. And load the appropriate CSS file at run time based on locale.  Developers needs to create a generic facility to handle encodings, directions and tb/bt.  Strictly do not hard code any style properties to any html element in the jsp.
  • 14.
    04/14/16 Ness Technologies(India) Ltd.14 Best Practices – Contd.  Be aware of various cultural specifics & sentiments for various locale especially related to the characters like ‘!’, ‘!!’, ‘?’, ‘*’, ‘(‘,’)’ and color specifics, call-outs, images and etc.  Use appropriate <span> tags for mixed content. This is very useful tip for RTL locales.  Needs to give more value towards human sentiments from various geographic locations.  Testing process should involve the locale experts and relay on more and more review comments from the appropriate authorities. This may delay the launch of the product.  This is one of the specific metrics stage for the i18n applications. Separate defect density, defects per UI wizard and etc. will be projected for these applications. This clearly indicates the level of i18n expertise.
  • 15.
    04/14/16 Ness Technologies(India) Ltd.15 Best Practices – Contd.  Use java locale framework for the localized strings, dates, currencies, time, number and very cautious while presenting the format.  Especially needs to be extra care for the locales like Korean which has tb/bt format. Some times necessary for own string framework customization.  Needs to have separate javascript API for validations of various locale. Suggestible to look at the industry standard QForms API.  For database driven applications, use NLS support features accordingly. Use all possible linguistic settings for index, sequence and sort models using NLS support.  Be cautious in selecting the parser (Xalan, lower versions of XML4J and Xerces.  If the content files are big in nature, use appropriate XML streams to load from the content management server.
  • 16.
    04/14/16 Ness Technologies(India) Ltd.16 Conclusions  i18n is no more a buzz word  Prime Architectural requirement for the enterprise based applications  More focus on the UI design & control flow elements  Developer needs to consider the i18n compliance code  Right time – Right tool  i18n expertise plays major role in the EI.
  • 17.
    04/14/16 Ness Technologies(India) Ltd.17 Word of Thanks