Sha256: 6aeef0acd39bfc98ba312a40474da75819c60d56dd101f46de6550f01a022e14
Contents?: true
Size: 1.16 KB
Versions: 10
Compression:
Stored size: 1.16 KB
Contents
require 'liquid' module Jekyll module Language @@lang = nil # Supplies translated text # # Usage: {{ 'author' | t: 'recent_articles' }} def t(section, item) site = @context.registers[:site] if site.data['language'] == nil Jekyll.logger.warn 'Liquid Language:', 'No _data/language file found. ' + site.data.keys.join(', ') end if @@lang == nil # Access this fewer times by keeping it as a module variable @@lang = Jekyll.configuration({})['language'] end # Find text in the site language (for example 'fr-be') text = site.data['language'][section][item][@@lang] # Fall back to a more general version of the language (for example 'fr') if text == nil and @@lang.include? '-' fallback_lang = @@lang.split('-')[0]; text = site.data['language'][section][item][fallback_lang] end if text == nil # Fallback to English text text = site.data['language'][section][item]['en'] end return text end end end Liquid::Template.register_filter(Jekyll::Language)
Version data entries
10 entries across 10 versions & 1 rubygems