All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- ES Modules Migration: Project now uses ES modules (
"type": "module") instead of CommonJS - Node.js Compatibility: Requires Node.js with ES modules support
- API Changes: Some internal APIs may have changed due to the comprehensive refactoring
- Comprehensive Validation System: New validation framework with enhanced error detection and recovery
ValidationServicefor centralized validation logicEnhancedValidationResultwith detailed error reportingErrorRecoverysystem for automatic error correction- Format-specific validation rules and error messages
- Demo System: Complete demo setup with example files and automation scripts
- Interactive demo with multiple format examples
- Reset and run scripts for easy testing
- Sample files in JSON, XML, YAML, ARB, PO, Properties, and CSV formats
- Enhanced Format Support: Expanded format handlers with improved validation
- Better ARB (Flutter) file handling with metadata preservation
- Enhanced CSV/TSV support with configurable column mapping
- Improved XLIFF 1.2 and 2.x support
- Advanced PO/POT file handling with plural forms
- Enhanced Properties file support with Unicode handling
- Robust XML handling for Android, iOS, and generic formats
- Comprehensive YAML support with nested structures
- Advanced Testing Suite: Extensive test coverage across all format handlers
- Integration tests for CLI functionality
- Error handling and edge case testing
- Format-specific validation testing
- Cross-format compatibility testing
- Code Quality: Complete codebase formatting and linting with Biome
- Consistent code style across all modules
- Enhanced TypeScript configurations
- Improved error handling and type safety
- CLI Interface: Enhanced command-line interface with better error reporting
- Improved argument parsing and validation
- Better progress reporting and user feedback
- Enhanced format detection and override capabilities
- Performance: Optimized file processing and translation workflows
- Improved memory usage for large files
- Better error recovery and continuation
- Enhanced parallel processing capabilities
- Documentation: Updated examples and usage patterns throughout codebase
- Dependency Security: Updated all dependencies to latest secure versions
- Axios updated to 1.13.2 (from 1.12.1)
- JWS updated to 4.0.1 (security fix)
- All dev dependencies updated to latest versions
- Format Handling: Resolved various format-specific parsing and serialization issues
- Error Handling: Improved error messages and recovery mechanisms
- Type Safety: Enhanced TypeScript definitions and type checking
- Module System: Complete migration to ES modules with proper import/export syntax
- Build System: Updated build configuration for ES modules compatibility
- Testing Framework: Enhanced Jest configuration for ES modules support
- Development Tools: Improved development workflow with better tooling integration
- Update Node.js to a version that supports ES modules
- Update import statements from
require()toimportsyntax - Review any custom integrations for API compatibility
- Test thoroughly with your specific file formats and workflows
- Enhanced Format Detection: XML format detection now properly handles XML with attributes and namespaces (e.g.,
<resources xmlns:android="...">) - Generic XML Support: Added support for generic XML formats with automatic structure flattening
- Example:
<messages><greeting>Hello</greeting></messages>becomesmessages.greeting: "Hello"
- Example:
- Robust Validation: Improved validation system that properly detects invalid Android/iOS XML structures
- Malformed XML Detection: Added validation for malformed XML with unclosed tags and proper error reporting
- XML Serialization: Fixed iOS XML serialization to properly update translated values in plist structure
- Validation Logic: Fixed validation to correctly identify invalid XML structures instead of treating them as generic XML
- Error Handling: XML parser now properly throws errors for malformed XML content
- Attribute Parsing: Fixed parsing of XML elements with attributes like
translatable="false"
- Test Coverage: All 40 XML handler tests now pass (100% success rate)
- Android XML: Enhanced support for resource groups and CDATA sections
- iOS XML: Improved plist format handling with proper key-value pair processing
- Round-trip Translation: Ensured translated content maintains XML structure integrity
- Enhanced
detectXmlFormat()to check both content and parsed structure - Improved
transformGenericXml()to properly flatten nested XML structures - Added
validateXmlStructure()for malformed XML detection - Enhanced validation with
looksLikeAndroidXml()andlooksLikeIosXml()helpers - Fixed
updateTranslatedValues()for proper iOS plist serialization
- Comprehensive multi-format support (JSON, XML, XLIFF, ARB, PO/POT, YAML, Properties, CSV/TSV)
- Multiple translation engine support (Google, AWS, Azure, DeepL, OpenAI)
- CLI interface with format detection
- Format-specific validation and error handling