The Java Language System (JLS) v1.0.1 is a stable update to the JLS library. This release builds upon the features introduced in version 1.0.0, with improvements in performance, bug fixes, enhanced compatibility, and the introduction of a powerful new utility class: XMLBuilder.
What’s New in v1.0.1
-
New Feature: XMLBuilder
-
The XMLBuilder class simplifies the creation and manipulation of XML files within Java applications.
- Supports programmatically building XML structures.
- Handles complex XML hierarchies with ease.
- Includes validation and error handling to ensure well-formed XML files.
- Ideal for generating language files dynamically or other XML-based configurations.
-
Performance Optimizations:
- Improved the speed of language loading and dynamic switching.
- Reduced memory usage when handling large translation files.
-
Bug Fixes:
- Fixed an issue with dynamic placeholders not rendering correctly in certain contexts.
- Fixed edge cases where Swing components failed to update after a language switch.
-
Improved XML Parsing:
- Enhanced support for complex language files with nested placeholders.
- Better error handling for malformed XML files.
-
Documentation Updates:
- Expanded usage examples for XmlBuilder.
- Clarified integration steps for applications without graphical interfaces.
What's Changed
- Creating XMLBuilder: Introduced a new utility class,
XMLBuilder
, for building XML documents programmatically, ensuring efficient and error-free XML generation. By @KelvenCassamo in PR #2. - Add Documentation for XMLBuilder Class: Comprehensive documentation added for the
XMLBuilder
class, detailing usage, examples, and best practices. By @bivlabmz in PR #3.
Existing Features
All the core features introduced in v1.0.0 are still supported, including:
- Language Initialization: Load languages from external XML files or embedded resources.
- Dynamic Language Switching: Change application languages at runtime with minimal configuration.
- Automatic Translation: Update strings and UI components dynamically, with full support for Swing. While Android widget translation support will be a priority in upcoming releases.
- String Translation: Translate and manage text strings easily.
- Dynamic Placeholders: Use placeholders in translations for dynamic data insertion.
- Easy Integration: Works seamlessly with standard Java, desktop, and mobile applications.