Tuesday, 8 November 2005
International Components for Ruby
« WebMacro Dispatcher | Main | JBoss Installer Feedback »I consider the "gold standard" for internationalization and localization components to be IBM's International Components for Unicode (ICU). This API is ahead in some respects to the standard Java APIs for internationalization and localization. IBM's ICU components have bindings for C/C++ and Java.
I tried to come up with a list of APIs that might form a core set of components for internationalization and localization in Ruby. If there are specific instances of APIs that should be referenced here, please let me know.
- Locale: Ruby-Locale, How to Output Dates in Another Language (references Ruby-Locale)
- Resource Bundles: Ruby GetText API, Using GetText to Translate Your Rails Application (references GetText), Ri18n (Ri18n is an internationalization and localization library for Ruby applications.)
- Calendar: See below for Date. What about different calendar systems such as the Buddhist calendar or the Hebrew calendar? Check out the Ruby-Calendar API.
- Date: Date and DateTime
- TimeZone: Ruby on Rails TimeZone class. But, does this have support for daylight savings time? The TZInfo - Ruby Timezone Library page says no.
- Text processing APIs ala the java.text package: Formatting time. What about something like BreakIterator (finding the location of boundaries in text)? or Collator (locale-sensitive String comparison)? or NumberFormat (for formatting and parsing numbers)?
It looks like components in Ruby supporting internationalization and localization are there, but they are scattered across a number of packages instead of integrated into a cohesive set of APIs in the core language. There also wasn't an international components API for Ruby similar to IBM's International Components for Unicode.
Technorati Tags: ruby internationalization localization
[Trackback URL for this entry]

International Components for Ruby
and Hungarian localization will be perhaps necessary in the future. It seems that there is a huge number of possibilities for RoR. These are the sources which I found