Class: I18n::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/i18n/config.rb

Instance Method Summary collapse

Instance Method Details

#available_localesObject

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

#backendObject

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_localeObject

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_separatorObject

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_handlerObject

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_pathObject

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

#localeObject

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