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
256 257 258 259 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 256 def initialize(tag_name, key, tokens) super @key = key.strip end |
Instance Method Details
#render(context) ⇒ Object
render
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 266 def render(context) if "#{context[@key]}" != "" # Check for page variable key = "#{context[@key]}" else key = @key end site = context.registers[:site] # Jekyll site object lang = site.config['lang'] unless site.parsed_translations.has_key?(lang) puts "Loading translation from file #{site.source}/_i18n/#{lang}.yml" site.parsed_translations[lang] = YAML.load_file("#{site.source}/_i18n/#{lang}.yml") end 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 |