An update from mod-i18n module. My first Ruby on Rails plugin. It is modified from Localization module. It do translation using YML based translation file, and choose language based on URL parameter.
Installation
script/plugin install source http://mod-i18n.googlecode.com/svn/trunk
1. Create Language File
Create a directory config/lang, under the directory, create yml files using the langugae name, e.g. config/lang/zh-HK.yml. In the file, it should contains string mapping, for example:
config/lang/zh-HK.yml: Listing contacts: 聯絡人列表 Show: 顯示 Edit: 修改 Delete: 移除
2. Edit Application String
In the application, replace content String to following format:
Source Code: 'blah' => ('blah') 'testing 5' => ('testing %d', 5) rhtml: <%= 'blah' %> => <%= 'blah' %> <%= 'testing 5' %> => <%= 'testing %d', 5 %>
3. Test the Applciation
Restart application. mod-i18n use post/get parameter 'lang' to determine the language (configurable through the constant PARAMETER_LANG in lib/i18n.rb).
Original URL: http://127.0.0.1/main/index URL for en-US: http://127.0.0.1/main/index?lang=en-US URL for zh-HK: http://127.0.0.1/main/index?lang=zh-HK
4. [OPTIONAL] Using Rails route
You may specify the language in URL. To do so, in config/route.rb, change the route to containing paramter 'lang'.
from: map.connect ':controller/:action/:id.:format' map.connect ':controller/:action/:id' to: map.connect ':lang/:controller/:action/:id.:format' map.connect ':lang/:controller/:action/:id' Original URL: http://127.0.0.1/main/index URL for en-US: http://127.0.0.1/en-US/main/index URL for zh-HK: http://127.0.0.1/zh-HK/main/index