locales: introduce Internationalization / Locales
* using crate locales Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
@@ -23,3 +23,6 @@ features = [ "postgres", "sqlite" ]
|
|||||||
|
|
||||||
[dependencies.dotenv]
|
[dependencies.dotenv]
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
|
|
||||||
|
[dependencies.locales]
|
||||||
|
version = "0.1.0"
|
||||||
15
locales/main.json
Normal file
15
locales/main.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"err.user.not_found": {
|
||||||
|
"fr": "Utilisateur introuvable: $email, $id",
|
||||||
|
"de": "Anwender nicht gefunden: $email, $id",
|
||||||
|
"en": "User not found: $email, $id"
|
||||||
|
},
|
||||||
|
"main.start": {
|
||||||
|
"de": "Programmlogik starten",
|
||||||
|
"en": "Starting program logic"
|
||||||
|
},
|
||||||
|
"parse.arguments": {
|
||||||
|
"de": "Programmargumente prüfen",
|
||||||
|
"en": "Parsing arguments"
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/main.rs
13
src/main.rs
@@ -1,12 +1,21 @@
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate clap;
|
extern crate clap;
|
||||||
|
extern crate locales;
|
||||||
|
|
||||||
use clap::App;
|
use clap::App;
|
||||||
|
use locales::t;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Parsing arguments ...");
|
// set locale
|
||||||
|
let lang= "de";
|
||||||
|
|
||||||
// handle commandline arguments with clap (relative path to cli.yml)
|
// handle commandline arguments with clap (relative path to cli.yml)
|
||||||
|
let res = t!("parse.arguments", lang);
|
||||||
|
println!("{}", &res);
|
||||||
|
|
||||||
let yaml = load_yaml!("cli.yml");
|
let yaml = load_yaml!("cli.yml");
|
||||||
let _matches = App::from_yaml(yaml).get_matches();
|
let _matches = App::from_yaml(yaml).get_matches();
|
||||||
|
|
||||||
println!("Starting program logic ...");
|
let res = t!("main.start", lang);
|
||||||
|
println!("{}", &res);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user