Class: Jekyll::LocalizeTag
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Jekyll::LocalizeTag
- Defined in:
- lib/jekyll-multiple-languages-plugin.rb
Overview
class LocalizeTag
Localization by getting localized text from YAML files. User must use the “t” or “translate” liquid tags.
Instance Method Summary collapse
-
#initialize(tag_name, key, tokens) ⇒ LocalizeTag
constructor
initialize ======================================.
-
#render(context) ⇒ Object
render ======================================.
Constructor Details
#initialize(tag_name, key, tokens) ⇒ LocalizeTag
initialize
299 300 301 302 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 299 def initialize(tag_name, key, tokens) super @key = key.strip end |
Instance Method Details
#render(context) ⇒ Object
render
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 309 def render(context) if "#{context[@key]}" != "" # Check for page variable key = "#{context[@key]}" else key = @key end key = Liquid::Template.parse(key).render(context) # Parses and renders some Liquid syntax on arguments (allows expansions) site = context.registers[:site] # Jekyll site object lang = site.config['lang'] translation = site.parsed_translations[lang].access(key) if key.is_a?(String) if translation.nil? or translation.empty? translation = site.parsed_translations[site.config['default_lang']].access(key) puts "Missing i18n key: #{lang}:#{key}" puts "Using translation '%s' from default language: %s" %[translation, site.config['default_lang']] end translation end |