module Jekyll::LanguagePlugin::LiquidContext
Public Class Methods
get_language(context)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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