Skip to content
This repository has been archived by the owner on Jan 30, 2024. It is now read-only.
/ volubility Public archive

Fluent resource versioning for Pontoon

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

davidtwco/volubility

Repository files navigation

volubility

volubility is a utility for versioning messages in Fluent resources, for use with rustc's diagnostic translation effort.

Pontoon, the web translation platform for Fluent, does not handle updates to Fluent messages - if some message foo is changed in a Fluent resource then translators will not be prompted to update their translation.

Instead of asking compiler developers to change the message identifier whenever a message is changed, an version number is added as a suffix.

This utility automatically performs this versioning of Fluent messages given a new version of a resource and an earlier version. It can also check that versioning is valid.

See the README documents of the volubility crate and the volubility-bin crate for usage details of the library and binary interfaces respectively.

Contributing to volubility

If you want help or mentorship, reach out to us in a GitHub issue, or ask davidtwco or in #i18n on the Rust Zulip instance.

volubility should always build on stable rustc. To build volubility:

$ cargo build

To run the tests:

$ cargo test

We use rustfmt to automatically format and style all of our code. To install and use rustfmt:

$ rustup component add rustfmt
$ cargo fmt

Filing an issue

Think you've found a bug? File an issue! To help us understand and reproduce the issue, provide us with:

  • The (preferably minimal) test case
  • Steps to reproduce the issue using the test case
  • The expected result of following those steps
  • The actual result of following those steps

Definitely file an issue if you see an unexpected panic originating from within volubility! volubility should never panic unless it is explicitly documented to panic in the specific circumstances provided.


Name

volubility is the quality of talking fluently, readily, or incessantly.
You could also call this project fluent-versioning, if you'd prefer that.

Author and acknowledgements

volubility is authored by David Wood of Huawei Technologies Research & Development (UK) Ltd. volubility is maintained by the Rust Compiler Team.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Code of conduct

When contributing or interacting with this project, we ask abide the Rust Code of Conduct and ask that you do too.