Class: Jekyll::L10n::CompendiumTranslator
- Inherits:
-
Object
- Object
- Jekyll::L10n::CompendiumTranslator
- Defined in:
- lib/jekyll-l10n/extraction/compendium_translator.rb
Overview
Automatically translates compendium PO files using LibreTranslate.
CompendiumTranslator loads compendium files for each locale, identifies untranslated entries, sends them to the LibreTranslate API for translation, and saves the translated results back to the PO files. It provides detailed logging of the translation process.
Key responsibilities:
-
Load compendium PO files for each locale
-
Convert between PO entry formats for API compatibility
-
Trigger LibreTranslate translation for untranslated entries
-
Save translated entries back to compendium files
-
Log translation statistics and progress
Instance Method Summary collapse
-
#initialize(site) ⇒ CompendiumTranslator
constructor
Initialize a new CompendiumTranslator.
-
#translate_compendia(config) ⇒ void
Translate compendia for all configured locales.
Constructor Details
#initialize(site) ⇒ CompendiumTranslator
Initialize a new CompendiumTranslator.
34 35 36 37 38 |
# File 'lib/jekyll-l10n/extraction/compendium_translator.rb', line 34 def initialize(site) @site = site with_locales_data = SiteConfigAccessor.extract_locales_data(@site) @site_config = PageLocalesConfig.new({ 'with_locales_data' => with_locales_data }) end |
Instance Method Details
#translate_compendia(config) ⇒ void
This method returns an undefined value.
Translate compendia for all configured locales.
Checks if LibreTranslate is enabled. If so, for each configured locale, loads the compendium PO file, identifies untranslated entries, sends them to LibreTranslate API, and saves the updated file.
48 49 50 51 |
# File 'lib/jekyll-l10n/extraction/compendium_translator.rb', line 48 def translate_compendia(config) po_manager = PoFileManager.new(@site, config.locales_dir) translate_compendia_for_locale(po_manager, config) end |