advotracker: remove i18n support

* remove localization strings
* crate locales does not work reliable on Windows!
* remove here for now.

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
2020-07-01 16:56:34 +02:00
parent 03f308b4b6
commit 107cb164dd
10 changed files with 45 additions and 323 deletions

View File

@@ -18,12 +18,11 @@ clap = { version = "~2.33", features = ["suggestions", "color"] }
csv = { version = "~1.1" }
dotenv = { version = "~0.15.0" }
envy = { version = "~0.4" }
lazy_static = { version = "~1.4.0" }
#lazy_static = { version = "~1.4.0" }
log = { version = "~0.4.8" }
locales = { version = "~0.1" }
#orbtk = { version = "~0.3.1-alpha3" }
#orbtk = { git = "https://github.com/redox-os/orbtk.git", branch = "develop" }
orbtk = { path = "../../redox-os/orbtk" }
orbtk = { path = "../../orbtk" }
serde = { version = "~1.0", features = ["derive"] }
#tokio = { version = "~0.2", features = ["macros", "rt-threaded", "stream", "time"] }
tracing = { version = "~0.1" }

View File

@@ -6,7 +6,6 @@
*/
use chrono::{Local, DateTime};
use locales::t;
//use serde::{Deserialize, Serialize};
use serde::Deserialize;
use std::env;
@@ -37,13 +36,11 @@ fn export(p: &mut String, lang: &String) -> Result<usize, Box<dyn Error>> {
//use std::ffi::OsStr;
use std::io::prelude::*;
let mut res = t!("csv_export.started", lang);
let mut state = t!("state.started", lang);
let dt_start: DateTime<Local> = Local::now();
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "main",
state = "started",
date_start = ?dt_start.to_string());
// Note: slash syntax also works on Windows!
@@ -72,9 +69,7 @@ fn export(p: &mut String, lang: &String) -> Result<usize, Box<dyn Error>> {
println!("Duration: {:#?}", duration);
trace!(target: "csv-test", record_count = ?count, duration = ?duration);
state = t!("state.finished", lang);
res = t!("csv_import.finished", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "csv-import", state = "finished");
Ok(count)
}
@@ -89,13 +84,11 @@ fn import(p: &mut String, data_list: &mut PolicyDataList,
use std::path::Path;
use std::ffi::OsStr;
let mut res = t!("csv_import.started", lang);
let mut state = t!("state.started", lang);
let dt_start: DateTime<Local> = Local::now();
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "csv-import",
state = "started",
date_start = ?dt_start.to_string());
// Note: slash syntax also workd on Windows!
@@ -178,11 +171,9 @@ fn import(p: &mut String, data_list: &mut PolicyDataList,
trace!(target: "csv-test", record_count = ?count, duration = ?duration);
state = t!("state.finished", lang);
res = t!("csv_import.finished", lang);
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "csv-import",
state = "finished",
date_stop = ?dt_end.to_string());
Ok(count)
@@ -195,13 +186,11 @@ fn is_valid(policy_number: &usize, policy_list: &PolicyDataList,
policy_numbers: &mut HashMap<usize, PolicyCode>, lang: &String)
-> Result<bool, Box<dyn std::error::Error>> {
let mut res = t!("policy.validation.started", lang);
let mut state = t!("state.started", lang);
let dt_start: DateTime<Local> = Local::now();
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "policy-validation",
state = "started",
policy_number = ?policy_number,
policy_list = ?policy_list.name,
elements = ?policy_list.policy_data.len(),
@@ -257,22 +246,19 @@ fn is_valid(policy_number: &usize, policy_list: &PolicyDataList,
let mut result = false;
match policy_numbers.get(&policy_number) {
Some(&policy_code) => {
let res = t!("policy.validation.success", lang);
println!("policy_number: {} ({:?})",
policy_number, policy_code);
result = true;
trace!(target: "csv-test",
policy_number = ?policy_number,
validation = ?res,
validation = "success",
policy_code = ?policy_code);
},
_ => {
let res = t!("policy.validation.failed", lang);
//println!("Noop! Number isn't valid!");
println!("{:?}", res);
println!("Noop! Number isn't valid!");
trace!(target: "csv-test",
policy_number = ?policy_number,
validation = ?res);
validation = "failed");
},
}
@@ -280,11 +266,9 @@ fn is_valid(policy_number: &usize, policy_list: &PolicyDataList,
let dt_end: DateTime<Local> = Local::now();
let duration = dt_end.signed_duration_since(dt_start);
res = t!("policy.validation.finished", lang);
state = t!("state.finished", lang);
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "policy-validation",
state = "finished",
date_stop = ?dt_end.to_string(),
duration = ?duration);
@@ -314,9 +298,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing::subscriber::with_default(subscriber, || {
// get system environment
let mut lang = env::var("LANG").unwrap_or("en".to_string());
let mut res = t!("parse.environment", lang);
let mut state = t!("state.started", lang);
trace!(target: "csv-test", message = ?res, state = ?state);
trace!(target: "csv-test", message = "parse-environment", state = "started");
//debug!(message = ?res, state = ?state);
trace!(target: "csv-test", environment = "system", lang = ?lang);
@@ -329,28 +311,21 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
Err(e) => { debug!(target: "csv-test", "{}", e); }
}
// how to handle unumplemented lang resources??
res = t!("parse.environment", lang);
trace!(target: "csv-test", environment = "envy", lang = ?lang);
state = t!("state.finished", lang);
trace!(target: "csv-test", message = ?res, state = ?state);
trace!(target: "csv-test", message = "parse-enviroment", state = "finished");
// initialize viperus structure
let mut v = Viperus::new();
// parse commandline arguments
res = t!("parse.arguments", lang);
state = t!("state.started", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "parse-arguments", state = "started");
let _ = parse_args(&mut v);
state = t!("state.finished", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "parse-arguments", state = "finished");
//trace!(target: "Viperus", "Config results: {:?}", v);
// main tasks
res = t!("main.started", lang);
state = t!("state.started", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "main", state = "started");
// importing policy code elements from csv-file
let policy_list = PolicyList::new("Allianz Versicherungsnummen-List");
@@ -382,14 +357,12 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
// use Hashmap method 'get' to check if we have the given key
match &policy_numbers.get(&test_policy_number) {
Some(&policy_code) => {
let res = t!("policy.validation.success", lang);
println!("{:?}", res);
println!("policy-validation success");
println!("policy_number: {} ({:?})",
test_policy_number, policy_code);
}
_ => {
let res = t!("policy.validation.failed", lang);
println!("{:?}", res);
println!("Policy-validation failed");
//println!("Nuup! Number isn't valid!");
},
}
@@ -406,9 +379,9 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
}
}
state = t!("state.finished", lang);
res = t!("main.finished", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test",
process = "main",
state = "finished");
});
Ok(())

View File

@@ -21,13 +21,11 @@ pub fn is_valid(policy_number: &usize, policy_list: &PolicyDataList,
policy_numbers: &mut HashMap<usize, PolicyCode>, lang: &String)
-> Result<bool, Box<dyn std::error::Error>> {
let mut res = t!("policy.validation.started", lang);
let mut state = t!("state.started", lang);
let dt_start: DateTime<Local> = Local::now();
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "policy.validation",
state = "started",
policy_number = ?policy_number,
policy_list = ?policy_list.name,
elements = ?policy_list.policy_data.len(),
@@ -36,34 +34,30 @@ pub fn is_valid(policy_number: &usize, policy_list: &PolicyDataList,
let mut result = false;
match policy_numbers.get(&policy_number) {
Some(&policy_code) => {
let res = t!("policy.validation.success", lang);
println!("policy_number: {} ({:?})",
policy_number, policy_code);
info!("{} => {} ({:?})", res, policy_number, policy_code);
info!("policy-check => {} ({:?})", policy_number, policy_code);
result = true;
trace!(target: "csv-test",
policy_number = ?policy_number,
validation = ?res,
validation = "success",
policy_code = ?policy_code);
},
_ => {
let res = t!("policy.validation.failed", lang);
println!("Noop! Number isn't valid!");
info!("{} => {}", res, policy_number);
info!("policy-check => {}", policy_number);
trace!(target: "csv-test",
policy_number = ?policy_number,
validation = ?res);
validation = "failed");
},
}
let dt_end: DateTime<Local> = Local::now();
let duration = dt_end.signed_duration_since(dt_start);
res = t!("policy.validation.finished", lang);
state = t!("state.finished", lang);
trace!(target: "csv-test",
process = ?res,
state = ?state,
process = "policy validation",
state = "finished",
date_stop = ?dt_end.to_string(),
duration = ?duration);

View File

@@ -127,14 +127,9 @@ impl PolicyCheckState {
if self.policy_number_count == 0 {
match self.create_hashmap() {
Ok(()) => {
//let res = t!("policy.hashmap.success", lang);
//println!("{:?}", res);
println!("hashmap has: {:?} entries", self.policy_number_count);
}
_ => {
// let res = t!("policy.hashmap.failed", lang);
// println
// !("{:?}", res);
println!("Creation of a hashmap failed!");
}
}

View File

@@ -1,128 +0,0 @@
{
"err.lang.not_found": {
"de_DE.UTF-8": "Konnte Sprachkode nicht auslesen",
"de": "Konnte Sprachkode nicht auslesen",
"en": "Couldn't read LANG"
},
"err.user.not_found": {
"fr": "Utilisateur introuvable: $email, $id",
"de-DE.UTF-8": "Anwender nicht gefunden: $email, $id",
"de": "Anwender nicht gefunden: $email, $id",
"en": "User not found: $email, $id"
},
"main.started": {
"de_DE.UTF-8": "Programmlogik starten",
"de": "Programmlogik starten",
"en": "Program logic started"
},
"main.finished": {
"de_DE.UTF-8": "Programmlogik beendet",
"de": "Programmlogik beendet",
"en": "Program logic finished"
},
"parse.arguments": {
"de_DE.UTF-8": "Programmargumente prüfen",
"de": "Programmargumente prüfen",
"en": "Parsing arguments"
},
"parse.environment": {
"de_DE.UTF-8": "Umgebungsvariablen prüfen",
"de": "Umgebungsvariablen prüfen",
"en": "Parsing environment"
},
"parse.results": {
"de_DE.UTF-8": "Ergebnisse der Konfigurations-Parameterprüfung",
"de": "Ergebnisse der Konfigurationsparameterprüfung",
"en": "Config parsing results"
},
"config.name": {
"de_DE.UTF-8": "Konfigurationswert für",
"de": "Konfigurationswert für",
"en": "Config Value for"
},
"config.name.lang": {
"de_DE.UTF-8": "Sprach-Code",
"de": "Sprach-Code",
"en": "Language code"
},
"config.name.verbositylevel": {
"de_DE.UTF-8": "Ausgabe-Ebene",
"de": "Ausgabe-Ebene",
"en": "verbosity level"
},
"config.name.environment": {
"de_DE.UTF-8": "Umgebungsvariablen",
"de": "Umgebungsvariablen",
"en": "environment"
},
"config.name.configfile": {
"de_DE.UTF-8": "Konfigurations-Datei",
"de": "Konfigurations-Datei",
"en": "config file"
},
"config.name.dbdriver": {
"de_DE.UTF-8": "Datenbank-Treiber",
"de": "Datenbank-Treiber",
"en": "database driver"
},
"config.name.redis": {
"de_DE.UTF-8": "Redis Datenbank",
"de": "Redis Datenbank",
"en": "Redis database"
},
"csv.export.started": {
"de_DE.UTF-8": "Export in eine CSV Datei starten",
"de": "Export in eine CSV Datei starten",
"en": "Export to csv file started"
},
"csv.export.finished": {
"de_DE.UTF-8": "Export in eine CSV Datei beendet",
"de": "Export in eine CSV Datei beendet",
"en": "Export to csv file finished"
},
"csv.import.started": {
"de_DE.UTF-8": "Import von einer CSV Datei starten",
"de": "Import von einer CSV Datei starten",
"en": "Import from a csv file started"
},
"csv.import.finished": {
"de_DE.UTF-8": "Import von einer CSV Datei beendet",
"de": "Import von einer CSV Datei beendet",
"en": "Import from a csv file finished"
},
"redis.connection.error": {
"de_DE.UTF-8": "Es konnte keine Redis Verbindung aufgebaut werden",
"de": "Es konnte keine Redis Verbindung aufgebaut werden",
"en": "Could not establish a redis connection"
},
"policy.validation.failed": {
"de_DE.UTF-8": "Die Versicherungsscheinnummber ist ungültig",
"de": "Die Versicherungsscheinnummber ist ungültig",
"en": "The given policy number is invalid"
},
"policy.validation.success": {
"de_DE.UTF-8": "Die Versicherungsscheinnummber ist gültig",
"de": "Die Versicherungsscheinnummber ist gültig",
"en": "The given policy number is valid"
},
"policy.validation.started": {
"de_DE.UTF-8": "Die Prüfung der Versicherungsscheinnummber wurde gestartet",
"de": "Die Prüfung der Versicherungsscheinnummber wurde gestartet",
"en": "Validation of the policy number started"
},
"policy.validation.finished": {
"de_DE.UTF-8": "Die Prüfung der Versicherungsscheinnummber wurde beendet",
"de": "Die Prüfung der Versicherungsscheinnummber wurde beendet",
"en": "Validation of the policy number finished"
},
"state.started": {
"de_DE.UTF-8": "gestartet",
"de": "gestartet",
"en": "started"
},
"state.finished": {
"de_DE.UTF-8": "beendet",
"de": "beended",
"en": "finished"
}
}

View File

@@ -1,37 +0,0 @@
{
"err.lang.not_found": {
"de_DE.UTF-8": "Konnte die Umgebungsvarialbe LANG nicht auslesen",
"de": "Konnte die Umgebungsvarialbe LANG nicht auslesen",
"en": "Couldn't read LANG"
},
"csv_import.started": {
"de_DE.UTF-8": "importieren von einer csv-datei gestartet",
"de": "importieren von einer csv-datei gestartet",
"en": "import from a csv-file started"
},
"csv_import.finished": {
"de_DE.UTF-8": "importieren von einer csv-datei beendet",
"de": "importieren von einer csv-datei beendet",
"en": "import from a csv-file finished"
},
"csv_export.started": {
"de_DE.UTF-8": "exportieren in eine csv-datei gestartet",
"de": "exportieren in eine csv-datei gestartet",
"en": "export to csv-file started"
},
"csv_export.finished": {
"de_DE.UTF-8": "exportieren in eine csv-datei beendet",
"de": "exportieren in eine csv-datei beendet",
"en": "export to csv-file finished"
},
"state.started": {
"de_DE.UTF-8": "gestartet",
"de": "gestartet",
"en": "started"
},
"state.finished": {
"de_DE.UTF-8": "beendet",
"de": "beended",
"en": "finished"
}
}

View File

@@ -1,32 +0,0 @@
{
"policy.validation.failed": {
"de_DE.UTF-8": "Die Versicherungsscheinnummber ist ungültig",
"de": "Die Versicherungsscheinnummber ist ungültig",
"en": "The given policy number is invalid"
},
"policy.validation.success": {
"de_DE.UTF-8": "Die Versicherungsscheinnummber ist gültig",
"de": "Die Versicherungsscheinnummber ist gültig",
"en": "The given policy number is valid"
},
"policy.validation.started": {
"de_DE.UTF-8": "Die Prüfung der Versicherungsscheinnummber wurde gestartet",
"de": "Die Prüfung der Versicherungsscheinnummber wurde gestartet",
"en": "Validation of the policy number started"
},
"policy.validation.finished": {
"de_DE.UTF-8": "Die Prüfung der Versicherungsscheinnummber wurde beendet",
"de": "Die Prüfung der Versicherungsscheinnummber wurde beendet",
"en": "Validation of the policy number finished"
},
"state.started": {
"de_DE.UTF-8": "gestartet",
"de": "gestartet",
"en": "started"
},
"state.finished": {
"de_DE.UTF-8": "beendet",
"de": "beended",
"en": "finished"
}
}

View File

@@ -5,11 +5,7 @@
* SPDX-License-Identifier: (0BSD or MIT)
*/
#[macro_use]
extern crate lazy_static;
//use chrono::{Local, DateTime};
use locales::t;
//use serde::{Deserialize, Serialize};
use serde::Deserialize;
use std::{env, process};
@@ -73,10 +69,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing::subscriber::with_default(subscriber, || {
// get system environment
let mut lang = env::var("LANG").unwrap_or("en".to_string());
let mut res = t!("parse.environment", lang);
let mut state = t!("state.started", lang);
trace!(target: "csv-test", message = ?res, state = ?state);
//debug!(message = ?res, state = ?state);
trace!(target: "csv-test", message = "main", state = "started");
trace!(target: "csv-test", environment = "system", lang = ?lang);
// testing environment: read from .env file
@@ -88,41 +81,21 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
Err(e) => { debug!(target: "advotracker", "{}", e); }
}
// how to handle unumplemented lang resources??
res = t!("parse.environment", lang);
trace!(target: "csv-test", environment = "envy", lang = ?lang);
state = t!("state.finished", lang);
trace!(target: "csv-test", message = ?res, state = ?state);
trace!(target: "csv-test", environment = "envy");
// initialize viperus structure
let mut viperus = Viperus::new();
// lazy_static! {
// static ref VIPERUS: Viperus + 'static = { let mut viperus = Viperus::new(); };
// static ref VIPERUS_COUNT: usize = VIPERUS.len();
// }
// lazy_static! {
// static ref HASHMAP: HashMap<usize, PolicyCode> = {
// let mut policy_numbers = HashMap::new();
// policy_numbers
// }
// static ref COUNT: usize = HASHMAP.len();
// println!("The map has {} entries.", *COUNT);
// }
// parse commandline arguments
res = t!("parse.arguments", lang);
state = t!("state.started", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "parse.arguments", state = "started");
let _ = parse_args(&mut viperus);
state = t!("state.finished", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "parse_argument", state = "finished");
//trace!(target: "Viperus", "Count of Config parameters: {:?}", VIPERUS_COUNT);
// main tasks
res = t!("main.started", lang);
state = t!("state.started", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "main", state = "started");
// moved to callback: checkview_state.rs
// // importing policy code elements from csv-file
@@ -181,9 +154,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
})
.run();
state = t!("state.finished", lang);
res = t!("main.finished", lang);
trace!(target: "csv-test", process = ?res, state = ?state);
trace!(target: "csv-test", process = "main", state = "finished");
});
Ok(())

View File

@@ -22,9 +22,7 @@ pub fn export(p: &mut String, lang: &String) -> Result<(), Box<dyn Error>> {
use std::path::Path;
//use std::ffi::OsStr;
let mut res = t!("csv.export.started", lang);
let mut state = t!("state.started", lang);
trace!(target: "advotrackerd", process = ?res, state = ?state);
trace!(target: "advotrackerd", process = "csv-export", state = "started");
// Note: slash syntax also works on Windows!
let path = Path::new(p);
@@ -33,9 +31,7 @@ pub fn export(p: &mut String, lang: &String) -> Result<(), Box<dyn Error>> {
let file = File::open(path)?;
trace!(target: "csv.export", extension = ?path.extension(), file = ?file);
state = t!("state.finished", lang);
res = t!("csv.export.finished", lang);
trace!(target: "csv-export", process = ?res, state = ?state);
trace!(target: "advotrackerd", process = "csv-export", state = "finished");
Ok(())
}

View File

@@ -6,7 +6,6 @@
*/
use chrono::{Local, DateTime};
use locales::t;
use std::error::Error;
use std::collections::HashMap;
use tracing::trace;
@@ -26,12 +25,8 @@ pub fn import(p: &mut String, data_list: &mut PolicyDataList,
use std::path::Path;
use std::ffi::OsStr;
let mut res = t!("csv.import.started", lang);
let mut state = t!("state.started", lang);
let dt_start: DateTime<Local> = Local::now();
trace!(target: "advotrackerd", process = ?res, state = ?state, date_start = ?dt_start.to_string());
// Note: slash syntax also workd on Windows!
let path = Path::new(p);
@@ -104,9 +99,5 @@ pub fn import(p: &mut String, data_list: &mut PolicyDataList,
_ => println!("2. No number found!"),
}
state = t!("state.finished", lang);
res = t!("csv.import.finished", lang);
trace!(target: "advotrackerd", process = ?res, state = ?state, date_stop = ?dt_end.to_string());
Ok(count)
}