Class: Carmen::I18n::Simple
- Inherits:
-
Object
- Object
- Carmen::I18n::Simple
- Defined in:
- lib/carmen/i18n.rb
Overview
A simple object to handle I18n translation in simple situations.
Constant Summary collapse
- DEFAULT_LOCALE =
'en'
Instance Attribute Summary collapse
-
#cache ⇒ Object
Returns the value of attribute cache.
-
#fallback_locale ⇒ Object
readonly
Returns the value of attribute fallback_locale.
-
#locale_paths ⇒ Object
readonly
Returns the value of attribute locale_paths.
Instance Method Summary collapse
- #append_locale_path(path) ⇒ Object
- #available_locales ⇒ Object
-
#initialize(*initial_locale_paths) ⇒ Simple
constructor
A new instance of Simple.
- #inspect ⇒ Object
- #locale ⇒ Object
-
#locale=(locale) ⇒ Object
Set a new locale.
-
#reset! ⇒ Object
Clear the cache.
-
#translate(key) ⇒ Object
(also: #t)
Retrieve a translation for a key in the following format: ‘a.b.c’.
Constructor Details
#initialize(*initial_locale_paths) ⇒ Simple
Returns a new instance of Simple.
16 17 18 19 20 21 22 23 |
# File 'lib/carmen/i18n.rb', line 16 def initialize(*initial_locale_paths) self.locale = DEFAULT_LOCALE @fallback_locale = DEFAULT_LOCALE @locale_paths = [] initial_locale_paths.each do |path| append_locale_path(path) end end |
Instance Attribute Details
#cache ⇒ Object
Returns the value of attribute cache.
12 13 14 |
# File 'lib/carmen/i18n.rb', line 12 def cache @cache end |
#fallback_locale ⇒ Object (readonly)
Returns the value of attribute fallback_locale.
13 14 15 |
# File 'lib/carmen/i18n.rb', line 13 def fallback_locale @fallback_locale end |
#locale_paths ⇒ Object (readonly)
Returns the value of attribute locale_paths.
14 15 16 |
# File 'lib/carmen/i18n.rb', line 14 def locale_paths @locale_paths end |
Instance Method Details
#append_locale_path(path) ⇒ Object
25 26 27 28 |
# File 'lib/carmen/i18n.rb', line 25 def append_locale_path(path) reset! @locale_paths << Pathname.new(path) end |
#available_locales ⇒ Object
64 65 66 67 |
# File 'lib/carmen/i18n.rb', line 64 def available_locales load_cache_if_needed @cache.keys.sort end |
#inspect ⇒ Object
60 61 62 |
# File 'lib/carmen/i18n.rb', line 60 def inspect "<##{self.class} locale=#{self.locale}>" end |
#locale ⇒ Object
37 38 39 |
# File 'lib/carmen/i18n.rb', line 37 def locale Thread.current[:carmen_locale] end |
#locale=(locale) ⇒ Object
Set a new locale
Calling this method will clear the cache.
33 34 35 |
# File 'lib/carmen/i18n.rb', line 33 def locale=(locale) Thread.current[:carmen_locale] = locale.to_s end |
#reset! ⇒ Object
Clear the cache. Should be called after appending a new locale path manually (in case lookups have already occurred.)
When adding a locale path, it’s best to use #append_locale_path, which resets the cache automatically.
56 57 58 |
# File 'lib/carmen/i18n.rb', line 56 def reset! @cache = nil end |
#translate(key) ⇒ Object Also known as: t
Retrieve a translation for a key in the following format: ‘a.b.c’
This will attempt to find the key in the current locale, and if nothing is found, a value found in the fallback locale will be used instead.
45 46 47 |
# File 'lib/carmen/i18n.rb', line 45 def translate(key) read(key.to_s) end |