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.
2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 |
# File 'lib/a-core.rb', line 2225 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.
2224 2225 2226 |
# File 'lib/a-core.rb', line 2224 def lc_lang @lc_lang end |
Instance Method Details
#text(_key, _params = nil) ⇒ Object
2259 2260 2261 2262 2263 2264 2265 |
# File 'lib/a-core.rb', line 2259 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 |