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/locales/af.rb,
lib/r18n-core/locales/az.rb,
lib/r18n-core/locales/bg.rb,
lib/r18n-core/locales/ca.rb,
lib/r18n-core/locales/cs.rb,
lib/r18n-core/locales/cy.rb,
lib/r18n-core/locales/da.rb,
lib/r18n-core/locales/de.rb,
lib/r18n-core/locales/en.rb,
lib/r18n-core/locales/eo.rb,
lib/r18n-core/locales/es.rb,
lib/r18n-core/locales/fa.rb,
lib/r18n-core/locales/fi.rb,
lib/r18n-core/locales/fr.rb,
lib/r18n-core/locales/gl.rb,
lib/r18n-core/locales/hr.rb,
lib/r18n-core/locales/hu.rb,
lib/r18n-core/locales/id.rb,
lib/r18n-core/locales/it.rb,
lib/r18n-core/locales/ja.rb,
lib/r18n-core/locales/kk.rb,
lib/r18n-core/locales/ko.rb,
lib/r18n-core/locales/lv.rb,
lib/r18n-core/locales/mn.rb,
lib/r18n-core/locales/nb.rb,
lib/r18n-core/locales/nl.rb,
lib/r18n-core/locales/no.rb,
lib/r18n-core/locales/pl.rb,
lib/r18n-core/locales/pt.rb,
lib/r18n-core/locales/ru.rb,
lib/r18n-core/locales/sk.rb,
lib/r18n-core/locales/th.rb,
lib/r18n-core/locales/tr.rb,
lib/r18n-core/locales/uk.rb,
lib/r18n-core/locales/vi.rb,
lib/r18n-core/locales/zh.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/locales/en-au.rb,
lib/r18n-core/locales/en-gb.rb,
lib/r18n-core/locales/en-us.rb,
lib/r18n-core/locales/es-cl.rb,
lib/r18n-core/locales/es-us.rb,
lib/r18n-core/locales/pt-br.rb,
lib/r18n-core/locales/sv-se.rb,
lib/r18n-core/locales/zh-cn.rb,
lib/r18n-core/locales/zh-tw.rb,
lib/r18n-core/locales/sr-latn.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 =
'4.0.0'
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 with `available` and `load` 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.
166 167 168 |
# File 'lib/r18n-core.rb', line 166 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).
159 160 161 |
# File 'lib/r18n-core.rb', line 159 def default_loader @default_loader end |
.default_places(&block) ⇒ Object
147 148 149 150 151 152 153 154 155 |
# File 'lib/r18n-core.rb', line 147 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.
163 164 165 |
# File 'lib/r18n-core.rb', line 163 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`.
137 138 139 |
# File 'lib/r18n-core.rb', line 137 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
It also can be used with block:
- R18n.change(locale) { t.language_title }
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/r18n-core.rb', line 112 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 i18n = R18n::I18n.new([locale] + exists, places) if block_given? old_thread_i18n = thread[:r18n_i18n] thread_set i18n yield thread[:r18n_i18n] = old_thread_i18n end i18n 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)`.
131 132 133 |
# File 'lib/r18n-core.rb', line 131 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 |