| .. | |||
| lib | 4 years ago | ||
| MIT-LICENSE | 4 years ago | ||
| README.md | 4 years ago | ||
Ruby internationalization and localization (i18n) solution.
Currently maintained by @radar.
You will most commonly use this library within a Rails app.
See the Rails Guide for an example of its usage.
If you want to use this library without Rails, you can simply add i18n to your Gemfile:
gem 'i18n'
Then configure I18n with some translations, and a default locale:
I18n.load_path << Dir[File.expand_path("config/locales") + "/*.yml"]
I18n.default_locale = :en # (note that `en` is already the default!)
A simple translation file in your project might live at config/locales/en.yml and look like:
en: test: "This is a test"
You can then access this translation by doing:
I18n.t(:test)
You can switch locales in your project by setting I18n.locale to a different value:
I18n.locale = :de I18n.t(:test) # => "Dies ist ein Test"
For more information and lots of resources see the 'Resources' page on the wiki.
You can run tests both with
rake test or just rakeruby -Ilib:test test/api/simple_test.rbYou can run all tests against all Gemfiles with
ruby test/run_all.rbThe structure of the test suite is a bit unusual as it uses modules to reuse
particular tests in different test cases.
The reason for this is that we need to enforce the I18n API across various
combinations of extensions. E.g. the Simple backend alone needs to support
the same API as any combination of feature and/or optimization modules included
to the Simple backend. We test this by reusing the same API definition (implemented
as test methods) in test cases with different setups.
You can find the test cases that enforce the API in test/api. And you can find
the API definition test methods in test/api/tests.
All other test cases (e.g. as defined in test/backend, test/core_ext) etc.
follow the usual test setup and should be easy to grok.
Additional documentation can be found here: https://github.com/ruby-i18n/i18n/wiki
MIT License. See the included MIT-LICENSE file.