Class: I18n::Config

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

Instance Method Summary (collapse)

Instance Method Details

- (Object) available_locales

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.



39
40
41
42
# File 'lib/i18n/config.rb', line 39

def available_locales
  @@available_locales ||= nil
  @@available_locales || backend.available_locales
end

- (Object) available_locales=(locales)

Sets the available locales.



45
46
47
48
# File 'lib/i18n/config.rb', line 45

def available_locales=(locales)
  @@available_locales = Array(locales).map { |locale| locale.to_sym }
  @@available_locales = nil if @@available_locales.empty?
end

- (Object) backend

Returns the current backend. Defaults to Backend::Simple.



16
17
18
# File 'lib/i18n/config.rb', line 16

def backend
  @@backend ||= Backend::Simple.new
end

- (Object) backend=(backend)

Sets the current backend. Used to set a custom backend.



21
22
23
# File 'lib/i18n/config.rb', line 21

def backend=(backend)
  @@backend = backend
end

- (Object) default_locale

Returns the current default locale. Defaults to :'en'



26
27
28
# File 'lib/i18n/config.rb', line 26

def default_locale
  @@default_locale ||= :en
end

- (Object) default_locale=(locale)

Sets the current default locale. Used to set a custom default locale.



31
32
33
34
# File 'lib/i18n/config.rb', line 31

def default_locale=(locale)
  I18n.enforce_available_locales!(locale)
  @@default_locale = locale.to_sym rescue nil
end

- (Object) default_separator

Returns the current default scope separator. Defaults to '.'



51
52
53
# File 'lib/i18n/config.rb', line 51

def default_separator
  @@default_separator ||= '.'
end

- (Object) default_separator=(separator)

Sets the current default scope separator.



56
57
58
# File 'lib/i18n/config.rb', line 56

def default_separator=(separator)
  @@default_separator = separator
end

- (Object) enforce_available_locales

Deprecated

this will default to true in the future

Defaults to nil so that it triggers the deprecation warning



113
114
115
# File 'lib/i18n/config.rb', line 113

def enforce_available_locales
  defined?(@@enforce_available_locales) ? @@enforce_available_locales : nil
end

- (Object) enforce_available_locales=(enforce_available_locales)



117
118
119
# File 'lib/i18n/config.rb', line 117

def enforce_available_locales=(enforce_available_locales)
  @@enforce_available_locales = enforce_available_locales
end

- (Object) exception_handler

Return the current exception handler. Defaults to :default_exception_handler.



61
62
63
# File 'lib/i18n/config.rb', line 61

def exception_handler
  @@exception_handler ||= ExceptionHandler.new
end

- (Object) exception_handler=(exception_handler)

Sets the exception handler.



66
67
68
# File 'lib/i18n/config.rb', line 66

def exception_handler=(exception_handler)
  @@exception_handler = exception_handler
end

- (Object) load_path

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'


101
102
103
# File 'lib/i18n/config.rb', line 101

def load_path
  @@load_path ||= []
end

- (Object) load_path=(load_path)

Sets the load path instance. Custom implementations are expected to behave like a Ruby Array.



107
108
109
# File 'lib/i18n/config.rb', line 107

def load_path=(load_path)
  @@load_path = load_path
end

- (Object) locale

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

- (Object) locale=(locale)

Sets the current locale pseudo-globally, i.e. in the Thread.current hash.



10
11
12
13
# File 'lib/i18n/config.rb', line 10

def locale=(locale)
  I18n.enforce_available_locales!(locale)
  @locale = locale.to_sym rescue nil
end

- (Object) missing_interpolation_argument_handler

Returns the current handler for situations when interpolation argument is missing. MissingInterpolationArgument will be raised by default.



72
73
74
75
76
# File 'lib/i18n/config.rb', line 72

def missing_interpolation_argument_handler
  @@missing_interpolation_argument_handler ||= lambda do |missing_key, provided_hash, string|
    raise MissingInterpolationArgument.new(missing_key, provided_hash, string)
  end
end

- (Object) missing_interpolation_argument_handler=(exception_handler)

Sets the missing interpolation argument handler. It can be any object that responds to #call. The arguments that will be passed to #call are the same as for MissingInterpolationArgument initializer. Use Proc.new if you don't care about arity.

Example:

You can supress raising an exception and return string instead:

I18n.config.missing_interpolation_argument_handler = Proc.new do |key|
  "#{key} is missing"
end


89
90
91
# File 'lib/i18n/config.rb', line 89

def missing_interpolation_argument_handler=(exception_handler)
  @@missing_interpolation_argument_handler = exception_handler
end