﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
fr_CA{
    Languages{
        ady{"adygué"}
        ang{"vieil anglais"}
        ar_001{"arabe standard moderne"}
        asa{"asou"}
        bbj{"ghomala"}
        bik{"bicol"}
        byn{"bilen"}
        byv{"medumba"}
        chg{"tchagatay"}
        chn{"chinook"}
        ckb{"kurde central"}
        cr{"cri"}
        de_AT{"allemand autrichien"}
        de_CH{"allemand suisse"}
        den{"slave"}
        dgr{"tlicho"}
        ebu{"embou"}
        en_AU{"anglais australien"}
        en_CA{"anglais canadien"}
        en_GB{"anglais britannique"}
        en_US{"anglais américain"}
        esu{"yupik central"}
        ewo{"ewondo"}
        fr_CA{"français canadien"}
        fr_CH{"français suisse"}
        frc{"cajun"}
        frp{"franco-provençal"}
        goh{"vieux haut-allemand"}
        gu{"gujarati"}
        ii{"yi de Sichuan"}
        ken{"kenyang"}
        kg{"kongo"}
        kl{"kalaallisut"}
        ks{"kashmiri"}
        ksb{"chambala"}
        liv{"live"}
        lu{"luba-katanga"}
        lzh{"chinois classique"}
        mgh{"makhuwa-meetto"}
        mgo{"meta’"}
        mr{"marathe"}
        mwr{"marwari"}
        mwv{"mentawai"}
        nds_NL{"bas saxon"}
        njo{"ao naga"}
        nl_BE{"flamand"}
        nmg{"kwasio"}
        nwc{"newari classique"}
        nyn{"nkole"}
        pau{"palauan"}
        pdc{"allemand de Pennsylvanie"}
        pdt{"bas allemand mennonite"}
        peo{"vieux perse"}
        pfl{"palatin"}
        pro{"ancien occitan"}
        pt_BR{"portugais brésilien"}
        pt_PT{"portugais européen"}
        quc{"k’iche’"}
        rar{"rarotonga"}
        ro_MD{"moldave"}
        sbp{"sangu"}
        sdh{"kurde méridional"}
        sei{"seri"}
        sga{"vieil irlandais"}
        sly{"selayar"}
        smn{"sami d’Inari"}
        stq{"frison de Saterland"}
        sus{"sosso"}
        sw_CD{"swahili congolais"}
        tru{"turoyo"}
        tzm{"tamazight"}
        zh_Hans{"chinois simplifié"}
        zh_Hant{"chinois traditionnel"}
    }
    Languages%long{
        zh_Hans{"chinois, mandarin simplifié"}
        zh_Hant{"chinois, mandarin traditionnel"}
    }
    Languages%menu{
        ckb{"sorani"}
        yue{"chinois, cantonais"}
        zh{"chinois, mandarin"}
    }
    Languages%variant{
        ug{"ouïghour"}
    }
    Scripts{
        Deva{"devanagari"}
        Gujr{"gujarati"}
        Hanb{"hanb"}
        Hans{"idéogrammes han simplifiés"}
        Hant{"idéogrammes han traditionnels"}
        Hrkt{"syllabaires japonais"}
        Olck{"ol chiki"}
        Zsye{"émoji"}
    }
    Scripts%stand-alone{
        Hans{"caractères chinois simplifiés"}
        Hant{"caractères chinois traditionnels"}
    }
    Types{
        calendar{
            ethiopic-amete-alem{"Calendrier éthiopien de l’An de grâce"}
            islamic-umalqura{"calendrier musulman (calculé, Umm al-Qura)"}
        }
        collation{
            dictionary{"Ordre de tri du dictionnaire"}
            eor{"ordre multilingue européen"}
            reformed{"Ordre de tri réformé"}
            searchjl{"Rechercher par consonne initiale en hangeul"}
        }
        d0{
            fwidth{"pleine chasse"}
            hwidth{"demi-chasse"}
        }
        m0{
            bgn{"BGN (commission de toponymie des États-Unis)"}
            ungegn{"GENUNG"}
        }
        numbers{
            gujr{"chiffres gujaratis"}
            mong{"Chiffres mongols"}
        }
    }
    Version{"38"}
    characterLabelPattern{
        category-list{"{0} : {1}"}
    }
    codePatterns{
        language{"langue : {0}"}
        script{"écriture : {0}"}
        territory{"région : {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0} : {1}"}
    }
}
