intl 0.1.4

Pure-Rust, no_std internationalization primitives (a pure-Rust ICU analog). The `unicode` module provides General_Category, character predicates, scripts, East Asian Width, numeric values, case mapping/folding, UAX #15 normalization (NFC/NFD/NFKC/NFKD), and UTS #10 collation — property tables compiled into const-fn match lookups, with feature-selectable codepoint ranges.
Documentation
// @generated by codegen — DO NOT EDIT.
// Regenerate with `cargo run -p codegen` after updating data/ucd/.
#![allow(clippy::all)]
#![allow(unreachable_patterns)]
#![allow(unused_parens)]
#![allow(dead_code)]

use crate::list::{ListPatterns, ListSpec};

/// CLDR list patterns for an exact (lowercased) locale key, or `None`.
pub(crate) fn list_spec(lang: &str) -> Option<ListSpec> {
    Some(match lang {
        "en" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0}, and {1}",
                two: "{0} and {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0}, or {1}",
                two: "{0} or {1}",
            },
        },
        "de" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} und {1}",
                two: "{0} und {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} oder {1}",
                two: "{0} oder {1}",
            },
        },
        "fr" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} et {1}",
                two: "{0} et {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ou {1}",
                two: "{0} ou {1}",
            },
        },
        "es" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} y {1}",
                two: "{0} y {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} o {1}",
                two: "{0} o {1}",
            },
        },
        "it" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} e {1}",
                two: "{0} e {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} o {1}",
                two: "{0} o {1}",
            },
        },
        "nl" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} en {1}",
                two: "{0} en {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} of {1}",
                two: "{0} of {1}",
            },
        },
        "pt" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} e {1}",
                two: "{0} e {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ou {1}",
                two: "{0} ou {1}",
            },
        },
        "sv" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} och {1}",
                two: "{0} och {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} eller {1}",
                two: "{0} eller {1}",
            },
        },
        "da" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} og {1}",
                two: "{0} og {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} eller {1}",
                two: "{0} eller {1}",
            },
        },
        "fi" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ja {1}",
                two: "{0} ja {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} tai {1}",
                two: "{0} tai {1}",
            },
        },
        "cs" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} a\u{a0}{1}",
                two: "{0} a\u{a0}{1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} nebo {1}",
                two: "{0} nebo {1}",
            },
        },
        "pl" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} i {1}",
                two: "{0} i {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} lub {1}",
                two: "{0} lub {1}",
            },
        },
        "ru" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} и {1}",
                two: "{0} и {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} или {1}",
                two: "{0} или {1}",
            },
        },
        "uk" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} і {1}",
                two: "{0} і {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} або {1}",
                two: "{0} або {1}",
            },
        },
        "tr" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ve {1}",
                two: "{0} ve {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} veya {1}",
                two: "{0} veya {1}",
            },
        },
        "el" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} και {1}",
                two: "{0} και {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ή {1}",
                two: "{0} ή {1}",
            },
        },
        "ja" => ListSpec {
            and: ListPatterns {
                start: "{0}、{1}",
                middle: "{0}、{1}",
                end: "{0}、{1}",
                two: "{0}、{1}",
            },
            or: ListPatterns {
                start: "{0}、{1}",
                middle: "{0}、{1}",
                end: "{0}、または{1}",
                two: "{0}または{1}",
            },
        },
        "ko" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} 및 {1}",
                two: "{0} 및 {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} 또는 {1}",
                two: "{0} 또는 {1}",
            },
        },
        "zh" => ListSpec {
            and: ListPatterns {
                start: "{0}、{1}",
                middle: "{0}、{1}",
                end: "{0}和{1}",
                two: "{0}和{1}",
            },
            or: ListPatterns {
                start: "{0}、{1}",
                middle: "{0}、{1}",
                end: "{0}或{1}",
                two: "{0}或{1}",
            },
        },
        "th" => ListSpec {
            and: ListPatterns {
                start: "{0} {1}",
                middle: "{0} {1}",
                end: "{0} และ{1}",
                two: "{0}และ{1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} หร\u{e37}อ {1}",
                two: "{0} หร\u{e37}อ {1}",
            },
        },
        "hi" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0}, और {1}",
                two: "{0} और {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} या {1}",
                two: "{0} या {1}",
            },
        },
        "ar" => ListSpec {
            and: ListPatterns {
                start: "{0} و{1}",
                middle: "{0} و{1}",
                end: "{0} و{1}",
                two: "{0} و{1}",
            },
            or: ListPatterns {
                start: "{0} أو {1}",
                middle: "{0} أو {1}",
                end: "{0} أو {1}",
                two: "{0} أو {1}",
            },
        },
        "fa" => ListSpec {
            and: ListPatterns {
                start: "{0}،\u{200f} {1}",
                middle: "{0}،\u{200f} {1}",
                end: "{0}، و {1}",
                two: "{0} و {1}",
            },
            or: ListPatterns {
                start: "{0}،\u{200f} {1}",
                middle: "{0}،\u{200f} {1}",
                end: "{0}، یا {1}",
                two: "{0} یا {1}",
            },
        },
        "he" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} ו{1}",
                two: "{0} ו{1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} או {1}",
                two: "{0} או {1}",
            },
        },
        "id" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0}, dan {1}",
                two: "{0} dan {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0}, atau {1}",
                two: "{0} atau {1}",
            },
        },
        "vi" => ListSpec {
            and: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} và {1}",
                two: "{0} và {1}",
            },
            or: ListPatterns {
                start: "{0}, {1}",
                middle: "{0}, {1}",
                end: "{0} hoặc {1}",
                two: "{0} hoặc {1}",
            },
        },
        _ => return None,
    })
}