Class: I18n::Config
- Inherits:
-
Object
- Object
- I18n::Config
- Defined in:
- lib/i18n/config.rb
Instance Method Summary collapse
-
#available_locales ⇒ Object
Returns an array of locales for which translations are available.
-
#available_locales=(locales) ⇒ Object
Sets the available locales.
-
#backend ⇒ Object
Returns the current backend.
-
#backend=(backend) ⇒ Object
Sets the current backend.
-
#default_locale ⇒ Object
Returns the current default locale.
-
#default_locale=(locale) ⇒ Object
Sets the current default locale.
-
#default_separator ⇒ Object
Returns the current default scope separator.
-
#default_separator=(separator) ⇒ Object
Sets the current default scope separator.
-
#exception_handler ⇒ Object
Return the current exception handler.
-
#exception_handler=(exception_handler) ⇒ Object
Sets the exception handler.
-
#load_path ⇒ Object
Allow clients to register paths providing translation data sources.
-
#load_path=(load_path) ⇒ Object
Sets the load path instance.
-
#locale ⇒ Object
The only configuration value that is not global and scoped to thread is :locale.
-
#locale=(locale) ⇒ Object
Sets the current locale pseudo-globally, i.e.
Instance Method Details
#available_locales ⇒ Object
Returns an array of locales for which translations are available. Unless you explicitely set these through I18n.available_locales= the call will be delegated to the backend.
37 38 39 40 |
# File 'lib/i18n/config.rb', line 37 def available_locales @@available_locales ||= nil @@available_locales || backend.available_locales end |
#available_locales=(locales) ⇒ Object
Sets the available locales.
43 44 45 46 |
# File 'lib/i18n/config.rb', line 43 def available_locales=(locales) @@available_locales = Array(locales).map { |locale| locale.to_sym } @@available_locales = nil if @@available_locales.empty? end |
#backend ⇒ Object
Returns the current backend. Defaults to Backend::Simple
.
15 16 17 |
# File 'lib/i18n/config.rb', line 15 def backend @@backend ||= Backend::Simple.new end |
#backend=(backend) ⇒ Object
Sets the current backend. Used to set a custom backend.
20 21 22 |
# File 'lib/i18n/config.rb', line 20 def backend=(backend) @@backend = backend end |
#default_locale ⇒ Object
Returns the current default locale. Defaults to :βenβ
25 26 27 |
# File 'lib/i18n/config.rb', line 25 def default_locale @@default_locale ||= :en end |
#default_locale=(locale) ⇒ Object
Sets the current default locale. Used to set a custom default locale.
30 31 32 |
# File 'lib/i18n/config.rb', line 30 def default_locale=(locale) @@default_locale = locale.to_sym rescue nil end |
#default_separator ⇒ Object
Returns the current default scope separator. Defaults to β.β
49 50 51 |
# File 'lib/i18n/config.rb', line 49 def default_separator @@default_separator ||= '.' end |
#default_separator=(separator) ⇒ Object
Sets the current default scope separator.
54 55 56 |
# File 'lib/i18n/config.rb', line 54 def default_separator=(separator) @@default_separator = separator end |
#exception_handler ⇒ Object
Return the current exception handler. Defaults to :default_exception_handler.
59 60 61 |
# File 'lib/i18n/config.rb', line 59 def exception_handler @@exception_handler ||= ExceptionHandler.new end |
#exception_handler=(exception_handler) ⇒ Object
Sets the exception handler.
64 65 66 |
# File 'lib/i18n/config.rb', line 64 def exception_handler=(exception_handler) @@exception_handler = exception_handler end |
#load_path ⇒ Object
Allow clients to register paths providing translation data sources. The backend defines acceptable sources.
E.g. the provided SimpleBackend accepts a list of paths to translation files which are either named *.rb and contain plain Ruby Hashes or are named *.yml and contain YAML data. So for the SimpleBackend clients may register translation files like this:
I18n.load_path << 'path/to/locale/en.yml'
76 77 78 |
# File 'lib/i18n/config.rb', line 76 def load_path @@load_path ||= [] end |
#load_path=(load_path) ⇒ Object
Sets the load path instance. Custom implementations are expected to behave like a Ruby Array.
82 83 84 |
# File 'lib/i18n/config.rb', line 82 def load_path=(load_path) @@load_path = load_path end |
#locale ⇒ Object
The only configuration value that is not global and scoped to thread is :locale. It defaults to the default_locale.
5 6 7 |
# File 'lib/i18n/config.rb', line 5 def locale @locale ||= default_locale end |
#locale=(locale) ⇒ Object
Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
10 11 12 |
# File 'lib/i18n/config.rb', line 10 def locale=(locale) @locale = locale.to_sym rescue nil end |