use crate::translate;
include!("translate_fields.rs");
#[cfg(test)]
mod tests {
use super::*;
use crate::Language;
const EXEMPT: &[&str] = &[
"sidebar_brand_title", "sidebar_brand_subtitle", "top_header_node_online", "dashboard_middleware_active", "login_copyright_sub", "auth_name_placeholder", "auth_email_placeholder_login", "auth_email_placeholder_register", "auth_password_placeholder", "app_shell_guest", "dashboard_stats_users_sub", "users_form_name_placeholder", "users_form_email_placeholder", ];
#[test]
fn en_zh_values_not_identical() {
for (name, en_val, zh_val) in ALL_TRANSLATION_FIELDS {
if EXEMPT.contains(name) {
continue;
}
assert!(
en_val != zh_val,
"EN/ZH 值相同可能为倒挂粘贴错误: {} (EN=`{}`, ZH=`{zh_val}`) — 若确属有意为之(如占位符/技术术语),请加入 EXEMPT 列表",
name,
en_val,
);
}
}
#[test]
fn language_as_str_covers_all_variants() {
assert_eq!(Language::En.as_str(), "en");
assert_eq!(Language::Zh.as_str(), "zh");
}
#[test]
fn all_translation_fields_count() {
let count = ALL_TRANSLATION_FIELDS.len();
assert_eq!(count, 207, "ALL_TRANSLATION_FIELDS 计数 ({count}) 不符合预期 (207)。如果新增/删除了 translate! 字段,请同步更新此断言。");
}
}