#[allow(dead_code)]
mod examples {
use crate::i10n;
pub fn example_basic_translation() {
i10n::init_i18n();
let runtime_init_text = i10n::t("runtime_init");
println!("{}", runtime_init_text);
let security_check_text = i10n::t("security_check");
println!("{}", security_check_text); }
pub fn example_logging_with_i18n() {
i10n::init_i18n();
info_i18n!("runtime_init");
let module_name = "my_module";
info_i18n!("module_loaded", ": {}", module_name);
error_i18n!("lua_error", ": 无效的语法");
warn_i18n!("permission_denied", ": 访问受限资源");
}
pub fn example_custom_translation_key() {
let custom_message = i10n::t("task_complete");
println!("任务状态:{}", custom_message);
}
pub fn example_missing_translation() {
let missing = i10n::t("nonexistent_key");
assert_eq!(missing, "nonexistent_key");
println!("未找到翻译时返回键名:{}", missing);
}
pub fn example_multiple_translations() {
i10n::init_i18n();
println!("=== 系统启动 ===");
log::info!("{}: 开始", i10n::t("runtime_init"));
log::info!("{}: 配置加载完成", i10n::t("config_load"));
log::info!("{}: 通过", i10n::t("bytecode_verify"));
log::info!("{}: 完成", i10n::t("task_complete"));
}
pub fn example_error_handling() {
i10n::init_i18n();
let result: Result<(), &str> = Err("some error");
match result {
Ok(_) => info_i18n!("task_complete"),
Err(e) => {
error_i18n!("lua_error", ": {}", e);
log::error!("{}: {}", i10n::t("permission_denied"), e);
}
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_all_examples_compile() {
i10n::init_i18n();
assert_eq!(i10n::t("runtime_init"), "运行时初始化");
assert_eq!(i10n::t("security_check"), "安全检查");
assert_eq!(i10n::t("unknown"), "unknown");
}
}