1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
use alloc::vec::Vec;
use icu_locid::LanguageIdentifier;
use icu_provider::yoke::{self, *};
use tinystr::{TinyStr4, TinyStr8};
pub mod key {
use icu_provider::{resource_key, ResourceKey};
pub const ALIASES_V1: ResourceKey = resource_key!(LocaleCanonicalizer, "aliases", 1);
pub const LIKELY_SUBTAGS_V1: ResourceKey =
resource_key!(LocaleCanonicalizer, "likelysubtags", 1);
}
#[icu_provider::data_struct]
#[derive(Debug, PartialEq, Clone, Default)]
#[cfg_attr(
feature = "provider_serde",
derive(serde::Serialize, serde::Deserialize)
)]
#[yoke(cloning_zcf)]
pub struct AliasesV1 {
pub language: Vec<(LanguageIdentifier, LanguageIdentifier)>,
pub language_variants: Vec<(LanguageIdentifier, LanguageIdentifier)>,
pub sgn_region: Vec<(TinyStr4, LanguageIdentifier)>,
pub language_len2: Vec<(TinyStr4, LanguageIdentifier)>,
pub language_len3: Vec<(TinyStr4, LanguageIdentifier)>,
pub script: Vec<(TinyStr4, TinyStr4)>,
pub region_alpha: Vec<(TinyStr4, TinyStr4)>,
pub region_num: Vec<(TinyStr4, TinyStr4)>,
pub complex_region: Vec<(TinyStr4, Vec<TinyStr4>)>,
pub variant: Vec<(TinyStr8, TinyStr8)>,
pub subdivision: Vec<(TinyStr8, TinyStr8)>,
}
#[icu_provider::data_struct]
#[derive(Debug, PartialEq, Clone, Default)]
#[cfg_attr(
feature = "provider_serde",
derive(serde::Serialize, serde::Deserialize)
)]
#[yoke(cloning_zcf)]
pub struct LikelySubtagsV1 {
pub language_script: Vec<(TinyStr4, TinyStr4, LanguageIdentifier)>,
pub language_region: Vec<(TinyStr4, TinyStr4, LanguageIdentifier)>,
pub language: Vec<(TinyStr4, LanguageIdentifier)>,
pub script_region: Vec<(TinyStr4, TinyStr4, LanguageIdentifier)>,
pub script: Vec<(TinyStr4, LanguageIdentifier)>,
pub region: Vec<(TinyStr4, LanguageIdentifier)>,
pub und: LanguageIdentifier,
}