Skip to content

Releases: rizzen-yazston/i18n

Release of version 0.9.1

24 Mar 05:48
Compare
Choose a tag to compare

Major changes are:

  • Re-organised the crates' content (fewer crates now).
  • Plenty quality of code improvements.
  • Changed the lexer to be an iterator.
  • Created internal private custom tree (removed dependency on generic tree tree-rizzen-yazston).
  • Made the actual formatter private, due to recursive embedded localisation pattern strings.

See the CHANGELOG.asciidoc in the repository root for more details.

Release of version 0.8.0

03 Feb 14:37
Compare
Choose a tag to compare

WARNING: There is minor breakages that affect the use statement statements in rust files, as some enums, traits and structs was moved to other crates within the project. Otherwise the methods and functions remained as is for the most part, needing hardly any adjustments to the application or library using this internationalisation project as a dependency.

Key features are:

  • Added the ability to support recursive localisation pattern strings (that is have another localisation pattern string as a placeholder value of the parent (outer) localisation string) using the new struct LocalisationData. Added 2 methods to the Localiser struct in i18n_localiser crate: format_localisation_data() and format_localisation_data_with_defaults().
  • Improved localisation of error enums and structs, with new error trait. All error enums and struct of the i18n project implements the required traits.
  • Improved the localisation database schema, adding a schema version number. Though schema verifying is not yet implemented, on the TODO list.

Other minor bugs was resolved. The CHANGELOG.asciidoc contains the full details.

Releasing version 0.7.0

17 Dec 14:52
Compare
Choose a tag to compare

WARNING: This is an API breaking release, though with many improvements in terms of usability and added features, such as working in multi-thread GUI frameworks. Some crates underwent redesign with big chunks being complete rewrites.

Depends on ICU4X version 1.3.0, which now included compiled data for various CLDR data. The compiled data should be sufficient for most applications, yet this project also supports alternative data custom repositories using the 'DataProvider` feature of ICU4X.

This version marks the API now being relative stable, with minor future changes to support new features becoming available in ICU4X, that this international project may use, unlike the major API changes that took place between versions 0.6.1 and 0.7.0.

The next release will focus on the new ICU4X features made available since version 1.2.0.

For details of the changes, see the CHANGELOG.asciidoc in this project's root directory.

First public release

05 Jul 07:49
Compare
Choose a tag to compare

Releasing this library to the public as it is deemed to be stable enough for public use.

Open to suggestions for improving the library, and translations to other languages (see the i18n directory within the various crates).

Note: This is my second Rust project, that was developed while learning Rust, thus will most likely not be the ideal (optimisation) implementation of using the Unicode ICU4X project ( https://github.com/unicode-org/icu4x ). It does have its own string pattern feature that is similar yet differs slightly from ICU4X pattern crate implementation, by adding support for user commands (includes two handy commands to demonstrate implementation). The structure of this repository and some features implementation was inspired by the ICU4X project.