Files
scripts/translate-wp-plugin/CHANGELOG.md

68 lines
2.3 KiB
Markdown

# Changelog — wp-translate-ptpt.py
## [1.0.0] - 2026-02-23
### Added
- Script unificado de ~950 linhas combinando funcionalidades de v1.0, v2.0 e v3.0
- 6 classes core: BrandProtector, TranslationEngine, PoFileHandler, CacheManager, QualityValidator, TranslationProcessor
- Base de dados SQLite com 3 tabelas (brands, translations, corrections)
- 98 marcas seed (Fluent Forms, Rank Math, Elementor, WooCommerce, etc.)
- 15+ mapeamentos literal→correcto para traduções de marcas
- ~50 regras PT-BR → PT-PT
- Pipeline de 9 etapas: parse → protect → translate → restore → fix → validate → save → compile
- CLI completo com 6 modos: single, batch, brands-only, dry-run, init-db, export/import
- Backup/rollback automático em caso de erro
- Validação de placeholders (%s, %d, %1$s) e HTML tags
- Rate limiting LibreTranslate: 0.3s entre chamadas
- Retry logic: 3 tentativas com exponential backoff
- Compilação .mo automática (best-effort, não bloqueante)
- Suporte formas plurais (`msgstr[0]`, `msgstr[1]`)
- Log completo de correcções em SQLite
### Fixed
- Bug regex sem verificação None (linha 582): `.group(1)` chamado em `None`
- Bug compilação msgfmt bloqueante: ficheiros com avisos eram revertidos incorrectamente
- Processamento de linhas `msgstr[N]` com `[` mas sem formato plural válido
### Changed
- Compilação .mo agora é tolerante a erros: avisa mas não falha o processamento
- Parser .po mais robusto: detecta e corrige linhas malformadas
### Tested
- Teste individual FluentForm: 53 marcas corrigidas em 1.2s
- Batch 241 ficheiros: 15 marcas corrigidas em 42.8s
- 0 falhas críticas, 100% ficheiros processados com sucesso
### Documentation
- REPORT-FINAL-wp-translate-ptpt.md: Report completo com arquitectura, estatísticas e exemplos
- Comentários inline no código (~10% linhas são comentários)
- Docstrings em todas as classes e métodos principais
---
## [v2.0] - 2026-02 (anterior)
### Added
- LibreTranslate API integration
- SQLite cache básico
- Batch processing
### Issues
- Protecção de marcas parcial
- Sem correcção de traduções literais
- Compilação msgfmt falhava em ficheiros com avisos
---
## [v1.0] - 2025 (anterior)
### Added
- Processamento básico .po
- Conversões PT-BR → PT-PT básicas
### Issues
- Sem tradução automática
- Sem cache
- Sem protecção de marcas
- Sem batch processing