Class: Jekyll::L10n::CompendiumMerger
- Inherits:
-
Object
- Object
- Jekyll::L10n::CompendiumMerger
- Defined in:
- lib/jekyll-l10n/extraction/compendium_merger.rb
Overview
Merges page-specific PO files into compendium files.
CompendiumMerger combines all page-specific translations for a locale into a single compendium file. It preserves existing compendium translations, merges in new strings from pages, updates references, and cleans up the locale directory after merging.
Key responsibilities:
-
Load existing compendium translations
-
Merge page-specific translations into compendium
-
Preserve existing translations while adding new ones
-
Update file location references for new entries
-
Save merged compendium back to file
-
Clean up locale-specific directory structure
Instance Method Summary collapse
-
#initialize(site) ⇒ CompendiumMerger
constructor
Initialize a new CompendiumMerger.
-
#merge_compendia(po_manager, config) ⇒ void
Merge page-specific PO files into compendia for all locales.
Constructor Details
#initialize(site) ⇒ CompendiumMerger
Initialize a new CompendiumMerger.
34 35 36 37 38 |
# File 'lib/jekyll-l10n/extraction/compendium_merger.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
#merge_compendia(po_manager, config) ⇒ void
This method returns an undefined value.
Merge page-specific PO files into compendia for all locales.
For each configured locale, loads existing compendium, merges all page-specific translations, and saves the combined result. Cleans up locale subdirectories after merging.
49 50 51 52 53 |
# File 'lib/jekyll-l10n/extraction/compendium_merger.rb', line 49 def merge_compendia(po_manager, config) config.locales.each do |locale| process_locale(locale, po_manager, config) end end |