Add translate filter
This commit is contained in:
		
							
								
								
									
										21
									
								
								_plugins/translate-filter.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								_plugins/translate-filter.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					module Jekyll
 | 
				
			||||||
 | 
					  module TranslateFilter
 | 
				
			||||||
 | 
					    def translate_text(input)
 | 
				
			||||||
 | 
					      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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        text
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        translated_string = site.data["languages"][page_language][weblate_id]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        translated_string.nil? ? text : translated_string.strip
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Liquid::Template.register_filter(Jekyll::TranslateFilter)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user