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:

fn main() {

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.

Here are all the links related to the project:

Please give a ⭐ to the GitHub repository if you use Rosetta.


If you encounter bugs or need help using Rosetta, here's what to do:

Please do not open issues for help request, this is not the right place for it. Use discussions instead.


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! 🙌