feat: add search filter, refactor params
This commit is contained in:
parent
44e14a4ae0
commit
25de7d678a
24 changed files with 374 additions and 72 deletions
855
src/param/locale.rs
Normal file
855
src/param/locale.rs
Normal file
|
|
@ -0,0 +1,855 @@
|
|||
// This file is automatically generated. DO NOT EDIT.
|
||||
|
||||
//! Languages and countries
|
||||
|
||||
use std::{fmt::Display, str::FromStr};
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Available languages
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum Language {
|
||||
/// Afrikaans
|
||||
Af,
|
||||
/// አማርኛ
|
||||
Am,
|
||||
/// العربية
|
||||
Ar,
|
||||
/// অসমীয়া
|
||||
As,
|
||||
/// Azərbaycan
|
||||
Az,
|
||||
/// Беларуская
|
||||
Be,
|
||||
/// Български
|
||||
Bg,
|
||||
/// বাংলা
|
||||
Bn,
|
||||
/// Bosanski
|
||||
Bs,
|
||||
/// Català
|
||||
Ca,
|
||||
/// Čeština
|
||||
Cs,
|
||||
/// Dansk
|
||||
Da,
|
||||
/// Deutsch
|
||||
De,
|
||||
/// Ελληνικά
|
||||
El,
|
||||
/// English (US)
|
||||
En,
|
||||
/// English (UK)
|
||||
#[serde(rename = "en-GB")]
|
||||
EnGb,
|
||||
/// English (India)
|
||||
#[serde(rename = "en-IN")]
|
||||
EnIn,
|
||||
/// Español (España)
|
||||
Es,
|
||||
/// Español (Latinoamérica)
|
||||
#[serde(rename = "es-419")]
|
||||
Es419,
|
||||
/// Español (US)
|
||||
#[serde(rename = "es-US")]
|
||||
EsUs,
|
||||
/// Eesti
|
||||
Et,
|
||||
/// Euskara
|
||||
Eu,
|
||||
/// فارسی
|
||||
Fa,
|
||||
/// Suomi
|
||||
Fi,
|
||||
/// Filipino
|
||||
Fil,
|
||||
/// Français
|
||||
Fr,
|
||||
/// Français (Canada)
|
||||
#[serde(rename = "fr-CA")]
|
||||
FrCa,
|
||||
/// Galego
|
||||
Gl,
|
||||
/// ગુજરાતી
|
||||
Gu,
|
||||
/// हिन्दी
|
||||
Hi,
|
||||
/// Hrvatski
|
||||
Hr,
|
||||
/// Magyar
|
||||
Hu,
|
||||
/// Հայերեն
|
||||
Hy,
|
||||
/// Bahasa Indonesia
|
||||
Id,
|
||||
/// Íslenska
|
||||
Is,
|
||||
/// Italiano
|
||||
It,
|
||||
/// עברית
|
||||
Iw,
|
||||
/// 日本語
|
||||
Ja,
|
||||
/// ქართული
|
||||
Ka,
|
||||
/// Қазақ Тілі
|
||||
Kk,
|
||||
/// ខ្មែរ
|
||||
Km,
|
||||
/// ಕನ್ನಡ
|
||||
Kn,
|
||||
/// 한국어
|
||||
Ko,
|
||||
/// Кыргызча
|
||||
Ky,
|
||||
/// ລາວ
|
||||
Lo,
|
||||
/// Lietuvių
|
||||
Lt,
|
||||
/// Latviešu valoda
|
||||
Lv,
|
||||
/// Македонски
|
||||
Mk,
|
||||
/// മലയാളം
|
||||
Ml,
|
||||
/// Монгол
|
||||
Mn,
|
||||
/// मराठी
|
||||
Mr,
|
||||
/// Bahasa Malaysia
|
||||
Ms,
|
||||
/// ဗမာ
|
||||
My,
|
||||
/// नेपाली
|
||||
Ne,
|
||||
/// Nederlands
|
||||
Nl,
|
||||
/// Norsk
|
||||
No,
|
||||
/// ଓଡ଼ିଆ
|
||||
Or,
|
||||
/// ਪੰਜਾਬੀ
|
||||
Pa,
|
||||
/// Polski
|
||||
Pl,
|
||||
/// Português (Brasil)
|
||||
Pt,
|
||||
/// Português
|
||||
#[serde(rename = "pt-PT")]
|
||||
PtPt,
|
||||
/// Română
|
||||
Ro,
|
||||
/// Русский
|
||||
Ru,
|
||||
/// සිංහල
|
||||
Si,
|
||||
/// Slovenčina
|
||||
Sk,
|
||||
/// Slovenščina
|
||||
Sl,
|
||||
/// Shqip
|
||||
Sq,
|
||||
/// Српски
|
||||
Sr,
|
||||
/// Srpski
|
||||
#[serde(rename = "sr-Latn")]
|
||||
SrLatn,
|
||||
/// Svenska
|
||||
Sv,
|
||||
/// Kiswahili
|
||||
Sw,
|
||||
/// தமிழ்
|
||||
Ta,
|
||||
/// తెలుగు
|
||||
Te,
|
||||
/// ภาษาไทย
|
||||
Th,
|
||||
/// Türkçe
|
||||
Tr,
|
||||
/// Українська
|
||||
Uk,
|
||||
/// اردو
|
||||
Ur,
|
||||
/// O‘zbek
|
||||
Uz,
|
||||
/// Tiếng Việt
|
||||
Vi,
|
||||
/// 中文 (简体)
|
||||
#[serde(rename = "zh-CN")]
|
||||
ZhCn,
|
||||
/// 中文 (香港)
|
||||
#[serde(rename = "zh-HK")]
|
||||
ZhHk,
|
||||
/// 中文 (繁體)
|
||||
#[serde(rename = "zh-TW")]
|
||||
ZhTw,
|
||||
/// IsiZulu
|
||||
Zu,
|
||||
}
|
||||
|
||||
/// Available countries
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[serde(rename_all = "UPPERCASE")]
|
||||
pub enum Country {
|
||||
/// United Arab Emirates
|
||||
Ae,
|
||||
/// Argentina
|
||||
Ar,
|
||||
/// Austria
|
||||
At,
|
||||
/// Australia
|
||||
Au,
|
||||
/// Azerbaijan
|
||||
Az,
|
||||
/// Bosnia and Herzegovina
|
||||
Ba,
|
||||
/// Bangladesh
|
||||
Bd,
|
||||
/// Belgium
|
||||
Be,
|
||||
/// Bulgaria
|
||||
Bg,
|
||||
/// Bahrain
|
||||
Bh,
|
||||
/// Bolivia
|
||||
Bo,
|
||||
/// Brazil
|
||||
Br,
|
||||
/// Belarus
|
||||
By,
|
||||
/// Canada
|
||||
Ca,
|
||||
/// Switzerland
|
||||
Ch,
|
||||
/// Chile
|
||||
Cl,
|
||||
/// Colombia
|
||||
Co,
|
||||
/// Costa Rica
|
||||
Cr,
|
||||
/// Cyprus
|
||||
Cy,
|
||||
/// Czechia
|
||||
Cz,
|
||||
/// Germany
|
||||
De,
|
||||
/// Denmark
|
||||
Dk,
|
||||
/// Dominican Republic
|
||||
Do,
|
||||
/// Algeria
|
||||
Dz,
|
||||
/// Ecuador
|
||||
Ec,
|
||||
/// Estonia
|
||||
Ee,
|
||||
/// Egypt
|
||||
Eg,
|
||||
/// Spain
|
||||
Es,
|
||||
/// Finland
|
||||
Fi,
|
||||
/// France
|
||||
Fr,
|
||||
/// United Kingdom
|
||||
Gb,
|
||||
/// Georgia
|
||||
Ge,
|
||||
/// Ghana
|
||||
Gh,
|
||||
/// Greece
|
||||
Gr,
|
||||
/// Guatemala
|
||||
Gt,
|
||||
/// Hong Kong
|
||||
Hk,
|
||||
/// Honduras
|
||||
Hn,
|
||||
/// Croatia
|
||||
Hr,
|
||||
/// Hungary
|
||||
Hu,
|
||||
/// Indonesia
|
||||
Id,
|
||||
/// Ireland
|
||||
Ie,
|
||||
/// Israel
|
||||
Il,
|
||||
/// India
|
||||
In,
|
||||
/// Iraq
|
||||
Iq,
|
||||
/// Iceland
|
||||
Is,
|
||||
/// Italy
|
||||
It,
|
||||
/// Jamaica
|
||||
Jm,
|
||||
/// Jordan
|
||||
Jo,
|
||||
/// Japan
|
||||
Jp,
|
||||
/// Kenya
|
||||
Ke,
|
||||
/// Cambodia
|
||||
Kh,
|
||||
/// South Korea
|
||||
Kr,
|
||||
/// Kuwait
|
||||
Kw,
|
||||
/// Kazakhstan
|
||||
Kz,
|
||||
/// Laos
|
||||
La,
|
||||
/// Lebanon
|
||||
Lb,
|
||||
/// Liechtenstein
|
||||
Li,
|
||||
/// Sri Lanka
|
||||
Lk,
|
||||
/// Lithuania
|
||||
Lt,
|
||||
/// Luxembourg
|
||||
Lu,
|
||||
/// Latvia
|
||||
Lv,
|
||||
/// Libya
|
||||
Ly,
|
||||
/// Morocco
|
||||
Ma,
|
||||
/// Montenegro
|
||||
Me,
|
||||
/// North Macedonia
|
||||
Mk,
|
||||
/// Malta
|
||||
Mt,
|
||||
/// Mexico
|
||||
Mx,
|
||||
/// Malaysia
|
||||
My,
|
||||
/// Nigeria
|
||||
Ng,
|
||||
/// Nicaragua
|
||||
Ni,
|
||||
/// Netherlands
|
||||
Nl,
|
||||
/// Norway
|
||||
No,
|
||||
/// Nepal
|
||||
Np,
|
||||
/// New Zealand
|
||||
Nz,
|
||||
/// Oman
|
||||
Om,
|
||||
/// Panama
|
||||
Pa,
|
||||
/// Peru
|
||||
Pe,
|
||||
/// Papua New Guinea
|
||||
Pg,
|
||||
/// Philippines
|
||||
Ph,
|
||||
/// Pakistan
|
||||
Pk,
|
||||
/// Poland
|
||||
Pl,
|
||||
/// Puerto Rico
|
||||
Pr,
|
||||
/// Portugal
|
||||
Pt,
|
||||
/// Paraguay
|
||||
Py,
|
||||
/// Qatar
|
||||
Qa,
|
||||
/// Romania
|
||||
Ro,
|
||||
/// Serbia
|
||||
Rs,
|
||||
/// Russia
|
||||
Ru,
|
||||
/// Saudi Arabia
|
||||
Sa,
|
||||
/// Sweden
|
||||
Se,
|
||||
/// Singapore
|
||||
Sg,
|
||||
/// Slovenia
|
||||
Si,
|
||||
/// Slovakia
|
||||
Sk,
|
||||
/// Senegal
|
||||
Sn,
|
||||
/// El Salvador
|
||||
Sv,
|
||||
/// Thailand
|
||||
Th,
|
||||
/// Tunisia
|
||||
Tn,
|
||||
/// Turkey
|
||||
Tr,
|
||||
/// Taiwan
|
||||
Tw,
|
||||
/// Tanzania
|
||||
Tz,
|
||||
/// Ukraine
|
||||
Ua,
|
||||
/// Uganda
|
||||
Ug,
|
||||
/// United States
|
||||
Us,
|
||||
/// Uruguay
|
||||
Uy,
|
||||
/// Venezuela
|
||||
Ve,
|
||||
/// Vietnam
|
||||
Vn,
|
||||
/// Yemen
|
||||
Ye,
|
||||
/// South Africa
|
||||
Za,
|
||||
/// Zimbabwe
|
||||
Zw,
|
||||
}
|
||||
|
||||
/// Array of all available languages
|
||||
pub const LANGUAGES: [Language; 83] = [
|
||||
Language::Af,
|
||||
Language::Am,
|
||||
Language::Ar,
|
||||
Language::As,
|
||||
Language::Az,
|
||||
Language::Be,
|
||||
Language::Bg,
|
||||
Language::Bn,
|
||||
Language::Bs,
|
||||
Language::Ca,
|
||||
Language::Cs,
|
||||
Language::Da,
|
||||
Language::De,
|
||||
Language::El,
|
||||
Language::En,
|
||||
Language::EnGb,
|
||||
Language::EnIn,
|
||||
Language::Es,
|
||||
Language::Es419,
|
||||
Language::EsUs,
|
||||
Language::Et,
|
||||
Language::Eu,
|
||||
Language::Fa,
|
||||
Language::Fi,
|
||||
Language::Fil,
|
||||
Language::Fr,
|
||||
Language::FrCa,
|
||||
Language::Gl,
|
||||
Language::Gu,
|
||||
Language::Hi,
|
||||
Language::Hr,
|
||||
Language::Hu,
|
||||
Language::Hy,
|
||||
Language::Id,
|
||||
Language::Is,
|
||||
Language::It,
|
||||
Language::Iw,
|
||||
Language::Ja,
|
||||
Language::Ka,
|
||||
Language::Kk,
|
||||
Language::Km,
|
||||
Language::Kn,
|
||||
Language::Ko,
|
||||
Language::Ky,
|
||||
Language::Lo,
|
||||
Language::Lt,
|
||||
Language::Lv,
|
||||
Language::Mk,
|
||||
Language::Ml,
|
||||
Language::Mn,
|
||||
Language::Mr,
|
||||
Language::Ms,
|
||||
Language::My,
|
||||
Language::Ne,
|
||||
Language::Nl,
|
||||
Language::No,
|
||||
Language::Or,
|
||||
Language::Pa,
|
||||
Language::Pl,
|
||||
Language::Pt,
|
||||
Language::PtPt,
|
||||
Language::Ro,
|
||||
Language::Ru,
|
||||
Language::Si,
|
||||
Language::Sk,
|
||||
Language::Sl,
|
||||
Language::Sq,
|
||||
Language::Sr,
|
||||
Language::SrLatn,
|
||||
Language::Sv,
|
||||
Language::Sw,
|
||||
Language::Ta,
|
||||
Language::Te,
|
||||
Language::Th,
|
||||
Language::Tr,
|
||||
Language::Uk,
|
||||
Language::Ur,
|
||||
Language::Uz,
|
||||
Language::Vi,
|
||||
Language::ZhCn,
|
||||
Language::ZhHk,
|
||||
Language::ZhTw,
|
||||
Language::Zu,
|
||||
];
|
||||
|
||||
/// Array of all available countries
|
||||
pub const COUNTRIES: [Country; 109] = [
|
||||
Country::Ae,
|
||||
Country::Ar,
|
||||
Country::At,
|
||||
Country::Au,
|
||||
Country::Az,
|
||||
Country::Ba,
|
||||
Country::Bd,
|
||||
Country::Be,
|
||||
Country::Bg,
|
||||
Country::Bh,
|
||||
Country::Bo,
|
||||
Country::Br,
|
||||
Country::By,
|
||||
Country::Ca,
|
||||
Country::Ch,
|
||||
Country::Cl,
|
||||
Country::Co,
|
||||
Country::Cr,
|
||||
Country::Cy,
|
||||
Country::Cz,
|
||||
Country::De,
|
||||
Country::Dk,
|
||||
Country::Do,
|
||||
Country::Dz,
|
||||
Country::Ec,
|
||||
Country::Ee,
|
||||
Country::Eg,
|
||||
Country::Es,
|
||||
Country::Fi,
|
||||
Country::Fr,
|
||||
Country::Gb,
|
||||
Country::Ge,
|
||||
Country::Gh,
|
||||
Country::Gr,
|
||||
Country::Gt,
|
||||
Country::Hk,
|
||||
Country::Hn,
|
||||
Country::Hr,
|
||||
Country::Hu,
|
||||
Country::Id,
|
||||
Country::Ie,
|
||||
Country::Il,
|
||||
Country::In,
|
||||
Country::Iq,
|
||||
Country::Is,
|
||||
Country::It,
|
||||
Country::Jm,
|
||||
Country::Jo,
|
||||
Country::Jp,
|
||||
Country::Ke,
|
||||
Country::Kh,
|
||||
Country::Kr,
|
||||
Country::Kw,
|
||||
Country::Kz,
|
||||
Country::La,
|
||||
Country::Lb,
|
||||
Country::Li,
|
||||
Country::Lk,
|
||||
Country::Lt,
|
||||
Country::Lu,
|
||||
Country::Lv,
|
||||
Country::Ly,
|
||||
Country::Ma,
|
||||
Country::Me,
|
||||
Country::Mk,
|
||||
Country::Mt,
|
||||
Country::Mx,
|
||||
Country::My,
|
||||
Country::Ng,
|
||||
Country::Ni,
|
||||
Country::Nl,
|
||||
Country::No,
|
||||
Country::Np,
|
||||
Country::Nz,
|
||||
Country::Om,
|
||||
Country::Pa,
|
||||
Country::Pe,
|
||||
Country::Pg,
|
||||
Country::Ph,
|
||||
Country::Pk,
|
||||
Country::Pl,
|
||||
Country::Pr,
|
||||
Country::Pt,
|
||||
Country::Py,
|
||||
Country::Qa,
|
||||
Country::Ro,
|
||||
Country::Rs,
|
||||
Country::Ru,
|
||||
Country::Sa,
|
||||
Country::Se,
|
||||
Country::Sg,
|
||||
Country::Si,
|
||||
Country::Sk,
|
||||
Country::Sn,
|
||||
Country::Sv,
|
||||
Country::Th,
|
||||
Country::Tn,
|
||||
Country::Tr,
|
||||
Country::Tw,
|
||||
Country::Tz,
|
||||
Country::Ua,
|
||||
Country::Ug,
|
||||
Country::Us,
|
||||
Country::Uy,
|
||||
Country::Ve,
|
||||
Country::Vn,
|
||||
Country::Ye,
|
||||
Country::Za,
|
||||
Country::Zw,
|
||||
];
|
||||
|
||||
impl Language {
|
||||
/// Get the native name of the language
|
||||
///
|
||||
/// Examples: "English (US)", "Deutsch", "中文 (简体)"
|
||||
pub fn name(&self) -> &str {
|
||||
match self {
|
||||
Language::Af => "Afrikaans",
|
||||
Language::Am => "አማርኛ",
|
||||
Language::Ar => "العربية",
|
||||
Language::As => "অসমীয়া",
|
||||
Language::Az => "Azərbaycan",
|
||||
Language::Be => "Беларуская",
|
||||
Language::Bg => "Български",
|
||||
Language::Bn => "বাংলা",
|
||||
Language::Bs => "Bosanski",
|
||||
Language::Ca => "Català",
|
||||
Language::Cs => "Čeština",
|
||||
Language::Da => "Dansk",
|
||||
Language::De => "Deutsch",
|
||||
Language::El => "Ελληνικά",
|
||||
Language::En => "English (US)",
|
||||
Language::EnGb => "English (UK)",
|
||||
Language::EnIn => "English (India)",
|
||||
Language::Es => "Español (España)",
|
||||
Language::Es419 => "Español (Latinoamérica)",
|
||||
Language::EsUs => "Español (US)",
|
||||
Language::Et => "Eesti",
|
||||
Language::Eu => "Euskara",
|
||||
Language::Fa => "فارسی",
|
||||
Language::Fi => "Suomi",
|
||||
Language::Fil => "Filipino",
|
||||
Language::Fr => "Français",
|
||||
Language::FrCa => "Français (Canada)",
|
||||
Language::Gl => "Galego",
|
||||
Language::Gu => "ગુજરાતી",
|
||||
Language::Hi => "हिन्दी",
|
||||
Language::Hr => "Hrvatski",
|
||||
Language::Hu => "Magyar",
|
||||
Language::Hy => "Հայերեն",
|
||||
Language::Id => "Bahasa Indonesia",
|
||||
Language::Is => "Íslenska",
|
||||
Language::It => "Italiano",
|
||||
Language::Iw => "עברית",
|
||||
Language::Ja => "日本語",
|
||||
Language::Ka => "ქართული",
|
||||
Language::Kk => "Қазақ Тілі",
|
||||
Language::Km => "ខ្មែរ",
|
||||
Language::Kn => "ಕನ್ನಡ",
|
||||
Language::Ko => "한국어",
|
||||
Language::Ky => "Кыргызча",
|
||||
Language::Lo => "ລາວ",
|
||||
Language::Lt => "Lietuvių",
|
||||
Language::Lv => "Latviešu valoda",
|
||||
Language::Mk => "Македонски",
|
||||
Language::Ml => "മലയാളം",
|
||||
Language::Mn => "Монгол",
|
||||
Language::Mr => "मराठी",
|
||||
Language::Ms => "Bahasa Malaysia",
|
||||
Language::My => "ဗမာ",
|
||||
Language::Ne => "नेपाली",
|
||||
Language::Nl => "Nederlands",
|
||||
Language::No => "Norsk",
|
||||
Language::Or => "ଓଡ଼ିଆ",
|
||||
Language::Pa => "ਪੰਜਾਬੀ",
|
||||
Language::Pl => "Polski",
|
||||
Language::Pt => "Português (Brasil)",
|
||||
Language::PtPt => "Português",
|
||||
Language::Ro => "Română",
|
||||
Language::Ru => "Русский",
|
||||
Language::Si => "සිංහල",
|
||||
Language::Sk => "Slovenčina",
|
||||
Language::Sl => "Slovenščina",
|
||||
Language::Sq => "Shqip",
|
||||
Language::Sr => "Српски",
|
||||
Language::SrLatn => "Srpski",
|
||||
Language::Sv => "Svenska",
|
||||
Language::Sw => "Kiswahili",
|
||||
Language::Ta => "தமிழ்",
|
||||
Language::Te => "తెలుగు",
|
||||
Language::Th => "ภาษาไทย",
|
||||
Language::Tr => "Türkçe",
|
||||
Language::Uk => "Українська",
|
||||
Language::Ur => "اردو",
|
||||
Language::Uz => "O‘zbek",
|
||||
Language::Vi => "Tiếng Việt",
|
||||
Language::ZhCn => "中文 (简体)",
|
||||
Language::ZhHk => "中文 (香港)",
|
||||
Language::ZhTw => "中文 (繁體)",
|
||||
Language::Zu => "IsiZulu",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Country {
|
||||
/// Get the English name of the country
|
||||
///
|
||||
/// Examples: "United States", "Germany"
|
||||
pub fn name(&self) -> &str {
|
||||
match self {
|
||||
Country::Ae => "United Arab Emirates",
|
||||
Country::Ar => "Argentina",
|
||||
Country::At => "Austria",
|
||||
Country::Au => "Australia",
|
||||
Country::Az => "Azerbaijan",
|
||||
Country::Ba => "Bosnia and Herzegovina",
|
||||
Country::Bd => "Bangladesh",
|
||||
Country::Be => "Belgium",
|
||||
Country::Bg => "Bulgaria",
|
||||
Country::Bh => "Bahrain",
|
||||
Country::Bo => "Bolivia",
|
||||
Country::Br => "Brazil",
|
||||
Country::By => "Belarus",
|
||||
Country::Ca => "Canada",
|
||||
Country::Ch => "Switzerland",
|
||||
Country::Cl => "Chile",
|
||||
Country::Co => "Colombia",
|
||||
Country::Cr => "Costa Rica",
|
||||
Country::Cy => "Cyprus",
|
||||
Country::Cz => "Czechia",
|
||||
Country::De => "Germany",
|
||||
Country::Dk => "Denmark",
|
||||
Country::Do => "Dominican Republic",
|
||||
Country::Dz => "Algeria",
|
||||
Country::Ec => "Ecuador",
|
||||
Country::Ee => "Estonia",
|
||||
Country::Eg => "Egypt",
|
||||
Country::Es => "Spain",
|
||||
Country::Fi => "Finland",
|
||||
Country::Fr => "France",
|
||||
Country::Gb => "United Kingdom",
|
||||
Country::Ge => "Georgia",
|
||||
Country::Gh => "Ghana",
|
||||
Country::Gr => "Greece",
|
||||
Country::Gt => "Guatemala",
|
||||
Country::Hk => "Hong Kong",
|
||||
Country::Hn => "Honduras",
|
||||
Country::Hr => "Croatia",
|
||||
Country::Hu => "Hungary",
|
||||
Country::Id => "Indonesia",
|
||||
Country::Ie => "Ireland",
|
||||
Country::Il => "Israel",
|
||||
Country::In => "India",
|
||||
Country::Iq => "Iraq",
|
||||
Country::Is => "Iceland",
|
||||
Country::It => "Italy",
|
||||
Country::Jm => "Jamaica",
|
||||
Country::Jo => "Jordan",
|
||||
Country::Jp => "Japan",
|
||||
Country::Ke => "Kenya",
|
||||
Country::Kh => "Cambodia",
|
||||
Country::Kr => "South Korea",
|
||||
Country::Kw => "Kuwait",
|
||||
Country::Kz => "Kazakhstan",
|
||||
Country::La => "Laos",
|
||||
Country::Lb => "Lebanon",
|
||||
Country::Li => "Liechtenstein",
|
||||
Country::Lk => "Sri Lanka",
|
||||
Country::Lt => "Lithuania",
|
||||
Country::Lu => "Luxembourg",
|
||||
Country::Lv => "Latvia",
|
||||
Country::Ly => "Libya",
|
||||
Country::Ma => "Morocco",
|
||||
Country::Me => "Montenegro",
|
||||
Country::Mk => "North Macedonia",
|
||||
Country::Mt => "Malta",
|
||||
Country::Mx => "Mexico",
|
||||
Country::My => "Malaysia",
|
||||
Country::Ng => "Nigeria",
|
||||
Country::Ni => "Nicaragua",
|
||||
Country::Nl => "Netherlands",
|
||||
Country::No => "Norway",
|
||||
Country::Np => "Nepal",
|
||||
Country::Nz => "New Zealand",
|
||||
Country::Om => "Oman",
|
||||
Country::Pa => "Panama",
|
||||
Country::Pe => "Peru",
|
||||
Country::Pg => "Papua New Guinea",
|
||||
Country::Ph => "Philippines",
|
||||
Country::Pk => "Pakistan",
|
||||
Country::Pl => "Poland",
|
||||
Country::Pr => "Puerto Rico",
|
||||
Country::Pt => "Portugal",
|
||||
Country::Py => "Paraguay",
|
||||
Country::Qa => "Qatar",
|
||||
Country::Ro => "Romania",
|
||||
Country::Rs => "Serbia",
|
||||
Country::Ru => "Russia",
|
||||
Country::Sa => "Saudi Arabia",
|
||||
Country::Se => "Sweden",
|
||||
Country::Sg => "Singapore",
|
||||
Country::Si => "Slovenia",
|
||||
Country::Sk => "Slovakia",
|
||||
Country::Sn => "Senegal",
|
||||
Country::Sv => "El Salvador",
|
||||
Country::Th => "Thailand",
|
||||
Country::Tn => "Tunisia",
|
||||
Country::Tr => "Turkey",
|
||||
Country::Tw => "Taiwan",
|
||||
Country::Tz => "Tanzania",
|
||||
Country::Ua => "Ukraine",
|
||||
Country::Ug => "Uganda",
|
||||
Country::Us => "United States",
|
||||
Country::Uy => "Uruguay",
|
||||
Country::Ve => "Venezuela",
|
||||
Country::Vn => "Vietnam",
|
||||
Country::Ye => "Yemen",
|
||||
Country::Za => "South Africa",
|
||||
Country::Zw => "Zimbabwe",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Language {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
f.write_str(
|
||||
&serde_json::to_string(self).map_or("".to_owned(), |s| s[1..s.len() - 1].to_owned()),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Country {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
f.write_str(
|
||||
&serde_json::to_string(self).map_or("".to_owned(), |s| s[1..s.len() - 1].to_owned()),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for Language {
|
||||
type Err = serde_json::Error;
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
serde_json::from_str(&format!("\"{}\"", s))
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for Country {
|
||||
type Err = serde_json::Error;
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
serde_json::from_str(&format!("\"{}\"", s))
|
||||
}
|
||||
}
|
||||
Reference in a new issue