use std::fs;
use std::path::PathBuf;
use std::env;
fn main() {
if env::var("DOCS_RS").is_ok() {
return;
}
let project_root = match env::var("PWD") {
Ok(pwd) => PathBuf::from(pwd),
Err(_) => match env::current_dir() {
Ok(dir) => dir,
Err(_) => return,
},
};
if !project_root.join("Cargo.toml").exists() {
return;
}
if project_root.join("src/middleware.rs").exists() && project_root.join("src/translator.rs").exists() {
return;
}
println!("cargo:warning=🌐 rustbasic-translatable: Menyiapkan scaffolding folder bahasa (lang)...");
let lang_dir = project_root.join("lang");
fs::create_dir_all(&lang_dir).ok();
let id_json_path = lang_dir.join("id.json");
if !id_json_path.exists() {
let id_template = r#"{
"welcome": "Selamat datang di aplikasi kami!",
"about": "Tentang Kami",
"welcome_user": "Selamat datang kembali, {name}!",
"auth": {
"failed": "Kredensial yang dimasukkan tidak cocok dengan catatan kami.",
"throttle": "Terlalu banyak percobaan masuk. Silakan coba lagi dalam {seconds} detik."
}
}
"#;
fs::write(id_json_path, id_template).ok();
}
let en_json_path = lang_dir.join("en.json");
if !en_json_path.exists() {
let en_template = r#"{
"welcome": "Welcome to our application!",
"about": "About Us",
"welcome_user": "Welcome back, {name}!",
"auth": {
"failed": "These credentials do not match our records.",
"throttle": "Too many login attempts. Please try again in {seconds} seconds."
}
}
"#;
fs::write(en_json_path, en_template).ok();
}
}