Module: R18n
- Defined in:
- lib/r18n-core/utils.rb,
lib/r18n-core.rb,
lib/r18n-core/i18n.rb,
lib/r18n-core/locale.rb,
lib/r18n-core/filters.rb,
lib/r18n-core/helpers.rb,
lib/r18n-core/version.rb,
lib/r18n-core/translated.rb,
lib/r18n-core/filter_list.rb,
lib/r18n-core/translation.rb,
lib/r18n-core/yaml_loader.rb,
lib/r18n-core/untranslated.rb,
lib/r18n-core/yaml_methods.rb,
lib/r18n-core/translated_string.rb,
lib/r18n-core/unsupported_locale.rb
Overview
Locale withou information file to i18n support.
Copyright © 2008 Andrey “A.I.” Sitnik <[email protected]>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <www.gnu.org/licenses/>.
Defined Under Namespace
Modules: Filters, Helpers, Loader, Locales, Translated, Utils, YamlMethods Classes: CustomFilterList, FilterList, GlobalFilterList, I18n, Locale, TranslatedString, Translation, Typed, UnpluralizetedTranslation, UnsupportedLocale, Untranslated
Constant Summary collapse
- VERSION =
'3.1.1'.freeze
Class Attribute Summary collapse
-
.cache ⇒ Object
Hash of hash-like (see Moneta) object to store loaded translations.
-
.default_loader ⇒ Object
Default loader class, which will be used if you didn’t send loader to
I18n.new
(object withavailable
andload
methods). - .default_places(&block) ⇒ Object
-
.extension_places ⇒ Object
Loaders with extension translations.
Class Method Summary collapse
-
.available_locales(places = R18n.default_places) ⇒ Object
Return Array of locales with available translations.
-
.change(locale) ⇒ Object
Return I18n object for
locale
. -
.clear_cache! ⇒ Object
Clean translations cache.
-
.get ⇒ Object
Get I18n object for current thread.
-
.l(*params) ⇒ Object
Localize object.
-
.locale(code) ⇒ Object
Return Locale object by locale code.
-
.reset! ⇒ Object
(also: reset)
Delete I18n object from current thread and global variable.
-
.set(i18n = nil, places = R18n.default_places, &block) ⇒ Object
Set I18n object globally.
-
.t(*params) ⇒ Object
Translate message.
-
.thread ⇒ Object
Get the current thread.
-
.thread_set(i18n = nil, &block) ⇒ Object
Set I18n object to current thread.
Class Attribute Details
.cache ⇒ Object
Hash of hash-like (see Moneta) object to store loaded translations.
152 153 154 |
# File 'lib/r18n-core.rb', line 152 def cache @cache end |
.default_loader ⇒ Object
Default loader class, which will be used if you didn’t send loader to I18n.new
(object with available
and load
methods).
145 146 147 |
# File 'lib/r18n-core.rb', line 145 def default_loader @default_loader end |
.default_places(&block) ⇒ Object
133 134 135 136 137 138 139 140 141 |
# File 'lib/r18n-core.rb', line 133 def default_places(&block) if block_given? @default_places = block elsif @default_places.is_a? Proc @default_places.call else @default_places end end |
.extension_places ⇒ Object
Loaders with extension translations. If application translations with same locale isn’t exists, extension file willn’t be used.
149 150 151 |
# File 'lib/r18n-core.rb', line 149 def extension_places @extension_places end |
Class Method Details
.available_locales(places = R18n.default_places) ⇒ Object
Return Array of locales with available translations. You can miss translation places
, it will be taken from R18n.default_places
.
123 124 125 |
# File 'lib/r18n-core.rb', line 123 def available_locales(places = R18n.default_places) R18n::I18n.convert_places(places).map(&:available).flatten.uniq end |
.change(locale) ⇒ Object
Return I18n object for locale
. Useful to temporary change locale, for example, to show text in locales list:
- R18n.available_locales.each do |locale|
- R18n.change(locale).t.language_title
108 109 110 111 112 113 |
# File 'lib/r18n-core.rb', line 108 def change(locale) locale = locale.code if locale.is_a? Locale exists = get ? get.locales.map(&:code) : [] places = get ? get.translation_places : R18n.default_places R18n::I18n.new([locale] + exists, places) end |
.clear_cache! ⇒ Object
Clean translations cache.
75 76 77 |
# File 'lib/r18n-core.rb', line 75 def clear_cache! self.cache = {} end |
.get ⇒ Object
Get I18n object for current thread.
67 68 69 70 71 72 |
# File 'lib/r18n-core.rb', line 67 def get thread[:r18n_i18n] || (thread[:r18n_setter] && thread_set(thread[:r18n_setter].call)) || @i18n || (@setter && set(@setter.call)) end |
.l(*params) ⇒ Object
Localize object. Alias for R18n.get.l
.
99 100 101 |
# File 'lib/r18n-core.rb', line 99 def l(*params) get.l(*params) end |
.locale(code) ⇒ Object
Return Locale object by locale code. It’s shortcut for R18n::Locale.load(code)
.
117 118 119 |
# File 'lib/r18n-core.rb', line 117 def locale(code) R18n::Locale.load(code) end |
.reset! ⇒ Object Also known as: reset
Delete I18n object from current thread and global variable.
80 81 82 83 |
# File 'lib/r18n-core.rb', line 80 def reset! thread[:r18n_i18n] = thread[:r18n_setter] = @i18n = @setter = nil clear_cache! end |
.set(i18n = nil, places = R18n.default_places, &block) ⇒ Object
Set I18n object globally. You can miss translation places
, it will be taken from R18n.default_places
.
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/r18n-core.rb', line 44 def set(i18n = nil, places = R18n.default_places, &block) @i18n = if block_given? @setter = block nil elsif i18n.is_a? I18n i18n else I18n.new(i18n, places) end end |
.t(*params) ⇒ Object
Translate message. Alias for R18n.get.t
.
94 95 96 |
# File 'lib/r18n-core.rb', line 94 def t(*params) get.t(*params) end |
.thread ⇒ Object
Get the current thread.
89 90 91 |
# File 'lib/r18n-core.rb', line 89 def thread Thread.current end |
.thread_set(i18n = nil, &block) ⇒ Object
Set I18n object to current thread.
57 58 59 60 61 62 63 64 |
# File 'lib/r18n-core.rb', line 57 def thread_set(i18n = nil, &block) if block_given? thread[:r18n_setter] = block thread[:r18n_i18n] = nil else thread[:r18n_i18n] = i18n end end |