mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 10:03:51 +00:00
Plural rules are looked up by language alone: CLDR's parent of sr-Latn and zh-Hant is the root, whose only category is other, so sr-latn rows were rejected. The baked data covers every CLDR locale (10 KB): plural rules for he, ro, nb, ca, sk, th, ms and the rest, and decimal symbols for nb-NO, sk-SK, bn-BD, ar-MA and English in Europe. Format applies a Region's separators only where the system set them, and an empty grouping separator writes none. trn_plain writes counts in 0-9 without grouping, for documents and file names. reset_format goes back to the system region. trn_decimal and Format write infinities and NaN as CLDR does and take the other form. Tests that don't set a format use en-US, not the machine's region. The ICU4X crates are pinned to ~2.3, the minor version the data is for.
145 lines
6.0 KiB
Rust
145 lines
6.0 KiB
Rust
// @generated by generate.sh from Unicode CLDR 48.2.1 (Unicode License).
|
|
|
|
/// The languages CLDR has plural rules for; the baked data has them all.
|
|
pub(crate) const PLURAL_LANGUAGES: &[&str] = &[
|
|
"af", "ak", "am", "an", "ar", "ars", "as", "asa", "ast", "az", "bal", "be", "bem", "bez", "bg", "bho",
|
|
"blo", "bm", "bn", "bo", "br", "brx", "bs", "ca", "ce", "ceb", "cgg", "chr", "ckb", "cs", "csw", "cv",
|
|
"cy", "da", "de", "doi", "dsb", "dv", "dz", "ee", "el", "en", "eo", "es", "et", "eu", "fa", "ff",
|
|
"fi", "fil", "fo", "fr", "fur", "fy", "ga", "gd", "gl", "gsw", "gu", "guw", "gv", "ha", "haw", "he",
|
|
"hi", "hnj", "hr", "hsb", "hu", "hy", "ia", "id", "ie", "ig", "ii", "io", "is", "it", "iu", "ja",
|
|
"jbo", "jgo", "jmc", "jv", "jw", "ka", "kab", "kaj", "kcg", "kde", "kea", "kk", "kkj", "kl", "km", "kn",
|
|
"ko", "kok", "ks", "ksb", "ksh", "ku", "kw", "ky", "lag", "lb", "lg", "lij", "lkt", "lld", "ln", "lo",
|
|
"lt", "lv", "mas", "mg", "mgo", "mk", "ml", "mn", "mo", "mr", "ms", "mt", "my", "nah", "naq", "nb",
|
|
"nd", "ne", "nl", "nn", "nnh", "no", "nqo", "nr", "nso", "ny", "nyn", "om", "or", "os", "osa", "pa",
|
|
"pap", "pcm", "pl", "prg", "ps", "pt", "rm", "ro", "rof", "ru", "rwk", "sah", "saq", "sat", "sc", "scn",
|
|
"sd", "sdh", "se", "seh", "ses", "sg", "sgs", "sh", "shi", "si", "sk", "sl", "sma", "smi", "smj", "smn",
|
|
"sms", "sn", "so", "sq", "sr", "ss", "ssy", "st", "su", "sv", "sw", "syr", "ta", "te", "teo", "th",
|
|
"ti", "tig", "tk", "tl", "tn", "to", "tpi", "tr", "ts", "tzm", "ug", "uk", "und", "ur", "uz", "ve",
|
|
"vec", "vi", "vo", "vun", "wa", "wae", "wo", "xh", "xog", "yi", "yo", "yue", "zh", "zu",
|
|
];
|
|
|
|
/// Percent signs around the number (CLDR's standard percent pattern and sign): locale, Latin
|
|
/// digits or the locale's own, text before the number, text after it. A locale missing here
|
|
/// takes its parent's by dropping trailing subtags, then `{n}%`.
|
|
pub(crate) const PERCENT: &[(&str, bool, &str, &str)] = &[
|
|
("ar", true, "", "\u{200e}%\u{200e}"),
|
|
("ar-BH", false, "", "\u{66a}\u{61c}"),
|
|
("ar-DJ", false, "", "\u{66a}\u{61c}"),
|
|
("ar-EG", false, "", "\u{66a}\u{61c}"),
|
|
("ar-ER", false, "", "\u{66a}\u{61c}"),
|
|
("ar-IL", false, "", "\u{66a}\u{61c}"),
|
|
("ar-IQ", false, "", "\u{66a}\u{61c}"),
|
|
("ar-JO", false, "", "\u{66a}\u{61c}"),
|
|
("ar-KM", false, "", "\u{66a}\u{61c}"),
|
|
("ar-KW", false, "", "\u{66a}\u{61c}"),
|
|
("ar-LB", false, "", "\u{66a}\u{61c}"),
|
|
("ar-MR", false, "", "\u{66a}\u{61c}"),
|
|
("ar-OM", false, "", "\u{66a}\u{61c}"),
|
|
("ar-PS", false, "", "\u{66a}\u{61c}"),
|
|
("ar-QA", false, "", "\u{66a}\u{61c}"),
|
|
("ar-SA", false, "", "\u{66a}\u{61c}"),
|
|
("ar-SA", true, "", "\u{66a}"),
|
|
("ar-SD", false, "", "\u{66a}\u{61c}"),
|
|
("ar-SO", false, "", "\u{66a}\u{61c}"),
|
|
("ar-SO", true, "", "\u{66a}"),
|
|
("ar-SS", false, "", "\u{66a}\u{61c}"),
|
|
("ar-SY", false, "", "\u{66a}\u{61c}"),
|
|
("ar-TD", false, "", "\u{66a}\u{61c}"),
|
|
("ar-YE", false, "", "\u{66a}\u{61c}"),
|
|
("az-Arab", false, "", "\u{66a}"),
|
|
("bas", true, "", "\u{a0}%"),
|
|
("be", true, "", "\u{a0}%"),
|
|
("bgn", false, "", "\u{66a}"),
|
|
("bgn", true, "", "\u{66a}"),
|
|
("blo", true, "%\u{a0}", ""),
|
|
("br", true, "", "\u{a0}%"),
|
|
("bua", true, "", "\u{a0}%"),
|
|
("ca", true, "", "\u{a0}%"),
|
|
("ce", true, "", "\u{a0}%"),
|
|
("ckb", false, "", "\u{a0}\u{66a}"),
|
|
("cs", true, "", "\u{a0}%"),
|
|
("cv", true, "", "\u{a0}%"),
|
|
("da", true, "", "\u{a0}%"),
|
|
("de", true, "", "\u{a0}%"),
|
|
("de-CH", true, "", "%"),
|
|
("de-LI", true, "", "%"),
|
|
("dsb", true, "", "\u{a0}%"),
|
|
("dua", true, "", "\u{a0}%"),
|
|
("dz", false, "", "\u{a0}%"),
|
|
("dz", true, "", "\u{a0}%"),
|
|
("en-AT", true, "", "\u{a0}%"),
|
|
("en-DE", true, "", "\u{a0}%"),
|
|
("en-DK", true, "", "\u{a0}%"),
|
|
("en-FI", true, "", "\u{a0}%"),
|
|
("en-NO", true, "", "\u{a0}%"),
|
|
("en-SE", true, "", "\u{a0}%"),
|
|
("es", true, "", "\u{a0}%"),
|
|
("es-419", true, "", "%"),
|
|
("es-AR", true, "", "%"),
|
|
("es-BO", true, "", "%"),
|
|
("es-BR", true, "", "%"),
|
|
("es-BZ", true, "", "%"),
|
|
("es-CL", true, "", "%"),
|
|
("es-CO", true, "", "%"),
|
|
("es-CR", true, "", "%"),
|
|
("es-CU", true, "", "%"),
|
|
("es-DO", true, "", "%"),
|
|
("es-EC", true, "", "%"),
|
|
("es-GT", true, "", "%"),
|
|
("es-HN", true, "", "%"),
|
|
("es-MX", true, "", "%"),
|
|
("es-NI", true, "", "%"),
|
|
("es-PA", true, "", "%"),
|
|
("es-PE", true, "", "%"),
|
|
("es-PR", true, "", "%"),
|
|
("es-PY", true, "", "%"),
|
|
("es-SV", true, "", "%"),
|
|
("es-US", true, "", "%"),
|
|
("es-UY", true, "", "%"),
|
|
("es-VE", true, "", "%"),
|
|
("eu", true, "%\u{a0}", ""),
|
|
("fa", false, "", "\u{66a}"),
|
|
("fi", true, "", "\u{a0}%"),
|
|
("fo", true, "", "\u{a0}%"),
|
|
("fr", true, "", "\u{a0}%"),
|
|
("fr-CH", true, "", "%"),
|
|
("gl", true, "", "\u{a0}%"),
|
|
("gsw", true, "", "\u{a0}%"),
|
|
("hr", true, "", "\u{a0}%"),
|
|
("hsb", true, "", "\u{a0}%"),
|
|
("ht", true, "", "\u{a0}%"),
|
|
("kl", true, "", "\u{a0}%"),
|
|
("ks", false, "", "\u{66a}"),
|
|
("ksh", true, "", "\u{a0}%"),
|
|
("ku", true, "%", ""),
|
|
("ku-Arab", true, "", "%"),
|
|
("lb", true, "", "\u{a0}%"),
|
|
("lrc", false, "", "\u{66a}"),
|
|
("lt", true, "", "\u{a0}%"),
|
|
("mk", true, "", "\u{a0}%"),
|
|
("mzn", false, "", "\u{66a}"),
|
|
("nb", true, "", "\u{a0}%"),
|
|
("nds", true, "", "\u{a0}%"),
|
|
("nn", true, "", "\u{a0}%"),
|
|
("no", true, "", "\u{a0}%"),
|
|
("oc", true, "", "\u{202f}%"),
|
|
("pa-Arab", false, "", "\u{66a}"),
|
|
("ps", false, "", "\u{66a}"),
|
|
("qu", true, "", "\u{a0}%"),
|
|
("rn", true, "", "\u{a0}%"),
|
|
("ro", true, "", "\u{a0}%"),
|
|
("ru", true, "", "\u{a0}%"),
|
|
("sd", false, "", "\u{66a}\u{61c}"),
|
|
("sdh", false, "", "\u{66a}\u{61c}"),
|
|
("se", true, "", "\u{a0}%"),
|
|
("sk", true, "", "\u{a0}%"),
|
|
("sl", true, "", "\u{a0}%"),
|
|
("smn", true, "", "\u{a0}%"),
|
|
("sv", true, "", "\u{a0}%"),
|
|
("tk", true, "", "\u{a0}%"),
|
|
("tr", true, "%", ""),
|
|
("tt", true, "", "\u{a0}%"),
|
|
("uz-Arab", false, "", "\u{66a}"),
|
|
("zgh", true, "", "\u{a0}%"),
|
|
];
|