use serde::Deserialize;
use std::sync::LazyLock;
#[derive(Debug, Clone, Deserialize)]
pub struct LangConfig {
#[serde(default)]
pub intent_phrases: Vec<String>,
#[serde(default)]
pub action_verbs: Vec<String>,
#[serde(default)]
pub line_start_re: String,
#[serde(default)]
pub work_announcement_re: String,
#[serde(default)]
pub completion_claims: Vec<String>,
#[serde(default)]
pub executed_framings: Vec<String>,
#[serde(default)]
pub generic_intent_re: String,
#[serde(default)]
pub intent_verb_exclusions: Vec<String>,
#[serde(default)]
pub plan_announcement_re: String,
#[serde(default)]
pub tool_use_markers: Vec<String>,
#[serde(default)]
pub tool_nouns: Vec<String>,
#[serde(default)]
pub tool_name_determiners: Vec<String>,
#[serde(default)]
pub gerund_re: String,
#[serde(default)]
pub trailing_colon_re: String,
#[serde(default)]
pub now_imperative_re: String,
#[serde(default)]
pub numbered_steps_re: String,
#[serde(default)]
pub past_tense_standalone_re: String,
#[serde(default)]
pub path_re: String,
#[serde(default)]
pub ext_re: String,
#[serde(default)]
pub backtick_code_re: String,
#[serde(default)]
pub media_delivery_phrases: Vec<String>,
#[serde(default)]
pub media_context_words: Vec<String>,
#[serde(default)]
pub file_delivery_phrases: Vec<String>,
#[serde(default)]
pub file_context_words: Vec<String>,
}
const EN_TOML: &str = include_str!("en.toml");
const RU_TOML: &str = include_str!("ru.toml");
const ES_TOML: &str = include_str!("es.toml");
const PT_TOML: &str = include_str!("pt.toml");
const FR_TOML: &str = include_str!("fr.toml");
const ID_TOML: &str = include_str!("id.toml");
pub(crate) static LANG_EN: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(EN_TOML).expect("BUG: en.toml failed to parse at runtime"));
pub(crate) static LANG_RU: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(RU_TOML).expect("BUG: ru.toml failed to parse at runtime"));
pub(crate) static LANG_ES: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(ES_TOML).expect("BUG: es.toml failed to parse at runtime"));
pub(crate) static LANG_PT: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(PT_TOML).expect("BUG: pt.toml failed to parse at runtime"));
pub(crate) static LANG_FR: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(FR_TOML).expect("BUG: fr.toml failed to parse at runtime"));
pub(crate) static LANG_ID: LazyLock<LangConfig> =
LazyLock::new(|| toml::from_str(ID_TOML).expect("BUG: id.toml failed to parse at runtime"));