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.
2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 |
# File 'lib/a-core.rb', line 2695 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.
2694 2695 2696 |
# File 'lib/a-core.rb', line 2694 def lc_lang @lc_lang end |
Instance Method Details
#text(_key, _params = nil) ⇒ Object
2729 2730 2731 2732 2733 2734 2735 |
# File 'lib/a-core.rb', line 2729 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 |