README
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. = Localization Plugin for Rails
  2. This plugin provides a simple, gettext-like method to
  3. provide localizations.
  4. == Features
  5.  * Any number of languages or locales
  6.  * Simple method to defines singluar/plural translations
  7.  * Can use lambdas to provide Ruby-code based dynamic translations
  8.  * Customizable for different instances of the application
  9. == Usage
  10. If the localization plugin is installed, it is used automatically.
  11. You need to create a /lang dir in your RAILS_ROOT.
  12. The recommended way to use it is to create files that are named
  13. like the languages you define in them (but you can put everything in
  14. one big file too.)
  15. For instance-customizable strings, add overrides in files you
  16. put in /lang/custom.
  17. === Simple example:
  18. Create a file /lang/translations.rb:
  19.   
  20.   Localization.define('de') do |l|
  21.     l.store 'yes', 'Ja'
  22.     l.store 'no', 'Nein'
  23.   end
  24.   
  25.   Localization.define('fr') do |l|
  26.     l.store 'yes', 'oui'
  27.     l.store 'no', 'non'
  28.   end
  29.   
  30. In your controller or application.rb:
  31.   Localization.lang = 'de' # or 'fr'
  32.   
  33. In your view:
  34.   <%=_ 'yes' %>
  35.   <%=_ 'no' %>
  36.   
  37. Because the _ method is simply an extension to Object, you
  38. can use it anywhere (models/controllers/views/libs).
  39.   
  40. === Extended example:
  41. Create a file /lang/default.rb with following contents:
  42.   
  43.   Localization.define do |l|
  44.     l.store '(time)', lambda { |t| t.strftime('%I:%M%p') }
  45.   end
  46. Create a file /lang/de_DE.rb with following contents:
  47.   
  48.   Localization.define('de_DE') do |l|
  49.     l.store '%d entries', ['Ein Eintrag', '%d Einträge']
  50.     l.store '(time)', lambda { |t| t.strftime('%H:%M') }
  51.   end
  52.   
  53. In your controller or application.rb:
  54.   
  55.   Localization.lang = 'de_DE'
  56. In your view:
  57.   <%=_ '%d entries', 1 %>     # singular variant is chosen 
  58.   <%=_ '%d entries', 4 %>     # plural variant is chosen
  59.   <%=_ '(time)', Time.now %>  # call the block with a parameter
  60.   
  61. == Translation file guesstimation
  62. You can generate a guesstimation of all strings needed to be
  63. translated in your views by first adding the _('blah') syntax
  64. everywhere and then calling:
  65.   puts Localization.generate_l10n_file
  66.   
  67. in the Rails console.