Rocket I18N 
A crate to help you internationalize your Rocket or Actix Web applications.
It just selects the correct locale for each request, and return the corresponding gettext::Catalog.
Usage
First add it to your Cargo.toml:
[]
= "0.4"
= "0.1" # Provides proc-macros to manage translations
Then, in your main.rs:
# use rocket;
use ;
init_i18n!;
compile_i18n!;
Then in all your requests you'll be able to use the i18n macro to translate anything.
It takes a gettext::Catalog and a string to translate as argument.
use i18n;
use I18n;
For strings that may have a plural form, just add the plural and the number of element to the arguments
i18n!;
Any extra argument, after a ;, will be used for formatting.
let user_name = "Alex";
i18n!;
When using it with plural, {0} will be the number of elements, and other arguments will start
at {1}.
Because of its design, rocket_i18n is only compatible with askama, ructe or compiled templates
in general.
You can use the t macro in your templates, as long as they have a field called catalog to
store your catalog.
Using with Actix Web
First, disable the default features so it doesn't pull in all of Rocket.
[]
= "0.4"
= false
= ["actix-web"]
Then add it to your application.
use *;
use ;