Overview
Rosetta is an easy-to-use Rust internationalization library powered by code generation. Unlike other libraries, translation files are parsed and embedded into the resulting binary at build-time. This provide a better developer experience and reduce runtime overheat.
Using your translation files in your project is (almost) as easy as that:
#![allow(unused)] fn main() { rosetta_i18n::include_translations!(); println!("{}", Lang::En.hello("world")); // Hello, world! }
The following documentation aims to provide an exhaustive guide about using Rosetta in your project. See Getting started to get an usage overview.
Related links
Here are all the links related to the project:
- GitHub repository - where the development happen, feel free to contribute!
rosetta-i18n
on crates.io - main crate containing all useful runtime features.rosetta-build
on crates.io - crate used for code generation.rosetta-i18n
androsetta-build
on docs.rs - up-to-date API documentation.
Please give a ⭐ to the GitHub repository if you use Rosetta.
Support
If you encounter bugs or need help using Rosetta, here's what to do:
- If you need help with Rosetta, open a new discussion on the GitHub repository.
- To report a bug or suggest a new feature, open a new issue on the GitHub repository.
Please do not open issues for help request, this is not the right place for it. Use discussions instead.
Contributing
Rosetta is free and open-source. You can find the source code on GitHub and open a new issue to report bug or request features. If you want to improve the code or the documentation, consider opening a pull request.
Any contribution is welcome, even the smallest! 🙌