Class: ArcadiaLocalization
- Inherits:
-
Object
- Object
- ArcadiaLocalization
- Includes:
- Configurable
- Defined in:
- lib/a-core.rb
Constant Summary collapse
- KEY_CACHE_VERSION =
'__VERSION__'
- STANDARD_LOCALE =
'en-UK'
- PARAM_SIG =
'$'
Constants included from Configurable
Configurable::ADD_SYMBOL, Configurable::FONT_TYPE_SYMBOL, Configurable::LC_SYMBOL, Configurable::LINK_SYMBOL
Instance Attribute Summary collapse
-
#lc_lang ⇒ Object
readonly
Returns the value of attribute lc_lang.
Instance Method Summary collapse
-
#initialize ⇒ ArcadiaLocalization
constructor
A new instance of ArcadiaLocalization.
- #text(_key, _params = nil) ⇒ Object
Methods included from Configurable
clear_properties_group_cache, #hash2properties_file, #make_locale_value, #make_value, #properties_file2hash, properties_group, #resolve_locale_value, #resolve_properties_link, #resolve_value
Constructor Details
#initialize ⇒ ArcadiaLocalization
Returns a new instance of ArcadiaLocalization.
2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 |
# File 'lib/a-core.rb', line 2152 def initialize @standard_locale=Arcadia.conf("locale.standard").nil? ? STANDARD_LOCALE : Arcadia.conf("locale.standard") @locale=Arcadia.conf("locale").nil? ? STANDARD_LOCALE : Arcadia.conf("locale") lc_lang_standard_file="conf/LC/#{Arcadia.conf('locale.standard')}.LANG" lc_lang_locale_file="conf/LC/#{Arcadia.conf('locale')}.LANG" need_cache_update = false if @standard_locale == @locale || !File.exist?(lc_lang_locale_file) @lc_lang = properties_file2hash(lc_lang_standard_file) if File.exist?(lc_lang_standard_file) else lc_lang_cache_file=File.join(Arcadia.local_dir, "#{Arcadia.conf('locale')}.LC_LANG_CACHE") if File.exist?(lc_lang_cache_file) @lc_lang = properties_file2hash(lc_lang_cache_file) if @lc_lang[KEY_CACHE_VERSION] != Arcadia.version # is to update need_cache_update = true end else need_cache_update = true end if need_cache_update @lc_lang = properties_file2hash(lc_lang_standard_file) @lc_lang.each_pair{|key,value| @lc_lang[key] = "#{@locale}:#{value}"} if File.exist?(lc_lang_locale_file) lc_lang_locale = properties_file2hash(lc_lang_locale_file) else lc_lang_locale = {} end lc_lang_locale.each{|k,v| @lc_lang[k]=v} @lc_lang[KEY_CACHE_VERSION]=Arcadia.version hash2properties_file(@lc_lang, lc_lang_cache_file) end end end |
Instance Attribute Details
#lc_lang ⇒ Object (readonly)
Returns the value of attribute lc_lang.
2151 2152 2153 |
# File 'lib/a-core.rb', line 2151 def lc_lang @lc_lang end |
Instance Method Details
#text(_key, _params = nil) ⇒ Object
2186 2187 2188 2189 2190 2191 2192 |
# File 'lib/a-core.rb', line 2186 def text(_key, _params = nil) ret = @lc_lang.nil?||@lc_lang[_key].nil? ? "?" : @lc_lang[_key] if !_params.nil? _params.each_with_index{|param, i| ret = ret.gsub("#{PARAM_SIG}#{i}", param.to_s) } end ret end |