use serde::{Deserialize, Serialize};
#[derive(
Clone, Copy, Debug, Deserialize, strum::Display, strum::EnumString, Eq, PartialEq, Serialize,
)]
#[serde(rename_all = "snake_case")]
#[strum(serialize_all = "snake_case")]
pub enum LanguageCode {
Afr,
Ara,
Aze,
Bel,
Ben,
Bos,
Bul,
Cat,
Ces,
Cym,
Dan,
Deu,
Ell,
Eng,
Epo,
Est,
Eus,
Fas,
Fin,
Fra,
Gle,
Guj,
Heb,
Hin,
Hrv,
Hun,
Hye,
Ind,
Isl,
Ita,
Jpn,
Kat,
Kaz,
Kor,
Lat,
Lav,
Lit,
Lug,
Mar,
Mkd,
Mon,
Mri,
Msa,
Nld,
Nno,
Nob,
Pan,
Pol,
Por,
Ron,
Rus,
Slk,
Slv,
Sna,
Som,
Sot,
Spa,
Srp,
Sqi,
Swa,
Swe,
Tam,
Tel,
Tgl,
Tha,
Tsn,
Tso,
Tur,
Ukr,
Urd,
Vie,
Xho,
Yor,
Zho,
Zul,
}
#[derive(Debug, Serialize)]
pub struct SelectLanguageRequest {
pub text: String,
pub languages: Vec<LanguageCode>,
}
impl SelectLanguageRequest {
pub fn new(text: impl Into<String>, languages: impl Into<Vec<LanguageCode>>) -> Self {
Self {
text: text.into(),
languages: languages.into(),
}
}
}