From 77b39d81bfbfe5081eb26881bbd82bfd81f66d13 Mon Sep 17 00:00:00 2001 From: satzz Date: Thu, 7 Jun 2018 01:57:54 +0200 Subject: [PATCH 1/2] Issue #121 - build translations before `render` --- lib/jekyll-multiple-languages-plugin.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/jekyll-multiple-languages-plugin.rb b/lib/jekyll-multiple-languages-plugin.rb index 1cbabf6..9a15bd9 100644 --- a/lib/jekyll-multiple-languages-plugin.rb +++ b/lib/jekyll-multiple-languages-plugin.rb @@ -19,6 +19,12 @@ module Jekyll #***************************************************************************** # :site, :post_render hook #***************************************************************************** + Jekyll::Hooks.register :site, :pre_render do |site, payload| + lang = site.config['lang'] + unless site.parsed_translations.has_key?(lang) + site.parsed_translations[lang] = YAML.load_file("#{site.source}/_i18n/#{lang}.yml") + end + end Jekyll::Hooks.register :site, :post_render do |site, payload| # Removes all static files that should not be copied to translated sites. @@ -305,11 +311,6 @@ def render(context) 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? From 57f86c05b7377e0c503f7774df392219c4d76f7d Mon Sep 17 00:00:00 2001 From: satzz Date: Thu, 7 Jun 2018 02:05:54 +0200 Subject: [PATCH 2/2] Place original message --- lib/jekyll-multiple-languages-plugin.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/jekyll-multiple-languages-plugin.rb b/lib/jekyll-multiple-languages-plugin.rb index 9a15bd9..e3ab0e9 100644 --- a/lib/jekyll-multiple-languages-plugin.rb +++ b/lib/jekyll-multiple-languages-plugin.rb @@ -22,6 +22,7 @@ module Jekyll Jekyll::Hooks.register :site, :pre_render do |site, payload| 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 end