This repository has been archived on 2024-01-13. You can view files and clone it, but cannot push or open issues or pull requests.
privacytools.io/_plugins/translate-filter.rb

50 lines
1.3 KiB
Ruby
Raw Permalink Normal View History

2019-11-23 01:19:23 -05:00
module Jekyll
module TranslateFilter
def translate_text(input)
if input.nil? or input.empty?
input
2019-11-23 01:19:23 -05:00
else
text = input.strip
weblate_id = Weblate::ID.get(input)
page_language = @context.environments.first["page"]["language"]
site = @context.registers[:site]
if page_language.nil?
Weblate::SourceFile.add_entry(weblate_id, text)
2019-11-24 18:19:39 -05:00
Liquid::Template.parse(text).render(@context)
else
translated_string = site.data["languages"][page_language][weblate_id]
2019-11-23 01:19:23 -05:00
2019-11-24 18:19:39 -05:00
translated_string.nil? ? Liquid::Template.parse(text).render(@context)
: Liquid::Template.parse(translated_string.strip).render(@context)
end
2019-11-23 01:19:23 -05:00
end
end
2019-11-23 15:36:49 -05:00
def translate_page(page)
page_language = @context.environments.first["page"]["language"]
if page_language.nil?
page
else
"/#{page_language}#{page}"
end
end
2019-11-23 21:20:08 -05:00
def append_lang(page)
page_language = @context.environments.first["page"]["language"]
if page_language.nil?
page
else
"#{page}/#{page_language}"
end
end
def tl_note(text, comment)
text
end
2019-11-23 01:19:23 -05:00
end
end
Liquid::Template.register_filter(Jekyll::TranslateFilter)