Sha256: d482c72b3a7ce8b7cec480bcd47f39d1d84401abfe43e347ec0a44d646f0d1be

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

module Jekyll
  module LanguagePlugin
    module LiquidContext
      def self.get_language_data(context)
        if !context.registers[:language_data].nil?
          return context.registers[:language_data]
        end

        language = context.registers[:page]['language']
        if language.to_s.empty?
          raise Jekyll::LanguagePlugin::PluginError.new('No language specified for current page or post.')
        end

        site = context.registers[:site]
        context.registers[:language_data] = LanguageData.new(site, language)
      end

      def self.get_language_string(context, key)
        language_data = self.get_language_data(context)

        subset = context.registers[:page]['subset']
        str = language_data.get([subset, key]) unless subset.to_s.empty?
        str ||= language_data.get(key)

        raise Jekyll::LanguagePlugin::PluginError.new("Key #{key} not found in translation.") if str.nil?
        str
      end

      def self.get_language_name(context, name)
        language_data = self.get_language_data(context)
        translation = language_data.get('lang')

        raise Jekyll::LanguagePlugin::PluginError.new('Language name not found in translation.') if translation.nil? ||
          !translation.key?(name)

        translation[name]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-language-plugin-1.2.2 lib/jekyll/language-plugin/liquid_context.rb