Module: Jekyll::LanguagePlugin::LiquidContext
- Defined in:
- lib/jekyll/language-plugin/liquid_context.rb
Class Method Summary collapse
- .get_language(context) ⇒ Object
- .get_language_data(context) ⇒ Object
- .get_language_name(context, name) ⇒ Object
- .get_language_string(context, key, tokens = nil) ⇒ Object
- .get_localized_date(context, date, format_key) ⇒ Object
Class Method Details
.get_language(context) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 11 def self.get_language(context) language = context.registers[:page]['language'] if language.to_s.empty? raise Jekyll::LanguagePlugin::PluginError.new('No language specified for current page or post.') end language end |
.get_language_data(context) ⇒ Object
7 8 9 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 7 def self.get_language_data(context) context.registers[:site].languageData end |
.get_language_name(context, name) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 68 def self.get_language_name(context, name) language_data = self.get_language_data(context) language = self.get_language(context) str = language_data.get(['lang', name]) if str.nil? raise Jekyll::LanguagePlugin::PluginError.new("Language name #{name} not found in translation.") end str end |
.get_language_string(context, key, tokens = nil) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 21 def self.get_language_string(context, key, tokens=nil) language_data = self.get_language_data(context) language = self.get_language(context) subset = context.registers[:page]['subset'] if tokens.is_a?(Array) && tokens.length > 0 unless subset.to_s.empty? str = language_data.get_with_placeholders([subset, key], tokens, language) end str ||= language_data.get_with_placeholders(key, tokens, language) else unless subset.to_s.empty? str = language_data.get([subset, key], language) end str ||= language_data.get(key, language) end if str.nil? raise Jekyll::LanguagePlugin::PluginError.new("Key #{key} not found in translation.") end str end |
.get_localized_date(context, date, format_key) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 46 def self.get_localized_date(context, date, format_key) language_data = self.get_language_data(context) language = self.get_language(context) subset = context.registers[:page]['subset'] format_str = language_data.get([subset, format_key], language) unless subset.to_s.empty? format_str ||= language_data.get(format_key, language) if format_str.nil? raise Jekyll::LanguagePlugin::PluginError.new("Date format key #{key} not found in translation.") end date_translation = language_data.get('date', language) if date_translation.nil? raise Jekyll::LanguagePlugin::PluginError.new('No localized date available for translation.') end date_localizer = DateLocalizer.new(date_translation) date_localizer.localize_date(date, format_str) end |