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
8 9 10 11 12 13 14 15 16 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 8 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
4 5 6 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 4 def self.get_language_data(context) context.registers[:site].languageData end |
.get_language_name(context, name) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 65 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
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 18 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
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/jekyll/language-plugin/liquid_context.rb', line 43 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 |