Top Level Namespace
Defined Under Namespace
Modules: Jekyll Classes: Hash, TranslatedString
Instance Method Summary collapse
-
#translate_key(key, lang, site) ⇒ Object
translate_key.
-
#translate_props(data, site, props_key_name = 'translate_props') ⇒ Object
translate_props.
Instance Method Details
#translate_key(key, lang, site) ⇒ Object
translate_key
Translate given key to given language.
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 605 def translate_key(key, lang, site) 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 |
#translate_props(data, site, props_key_name = 'translate_props') ⇒ Object
translate_props
Perform translation of properties defined in translation property list.
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 |
# File 'lib/jekyll-multiple-languages-plugin.rb', line 659 def translate_props(data, site, props_key_name = 'translate_props') lang = site.config['lang'] (data[props_key_name] || []).each do |prop_name| if prop_name.is_a?(String) prop_name = prop_name.strip if prop_name.empty? puts "There is an empty property defined in '#{props_key_name}'" else prop_value = data[prop_name] if prop_value.is_a?(String) and !prop_value.empty? data[prop_name] = TranslatedString.translate(prop_value, lang, site) end end else puts "Incorrect property name '#{prop_name}'. Must be a string" end end end |