use crate::language::Language;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SourceCountry {
Japan,
China,
Taiwan,
Korea,
}
impl SourceCountry {
pub fn infer_from_language(lang: Language) -> Option<Self> {
match lang {
Language::Japanese => Some(Self::Japan),
Language::ChineseSimplified => Some(Self::China),
Language::ChineseTraditional => Some(Self::Taiwan),
Language::English => None,
}
}
pub fn name_en(self) -> &'static str {
match self {
Self::Japan => "Japan",
Self::China => "China",
Self::Taiwan => "Taiwan",
Self::Korea => "Korea",
}
}
pub fn regulatory_standard(self) -> &'static str {
match self {
Self::Japan => "JIS Z 7253 / MHLW",
Self::China => "GB/T 16483-2008 / GB/T 17519-2013",
Self::Taiwan => "CNS 15030",
Self::Korea => "K-GHS Rev.6 (산업안전보건법)",
}
}
pub fn slug(self) -> &'static str {
match self {
Self::Japan => "jp",
Self::China => "cn",
Self::Taiwan => "tw",
Self::Korea => "kr",
}
}
}