Sha256: dcc8aad9d70b0d11ea7181aba4c7eae096d7a6c12fcffd205c1857c841c42dca

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 intranslation.') 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.0 lib/jekyll/language-plugin/liquid_context.rb