﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fr_CA.xml
// *
// ***************************************************************************
fr_CA{
    Languages{
        es_ES{"espagnol ibérique"}
        fy{"frison"}
        gag{"gag"}
        gsw{"suisse allemand"}
        gu{"goudjarâtî"}
        ii{"yi de Sichuan"}
        luo{"luo"}
        pt_PT{"portugais ibérique"}
        rw{"kinyarwanda"}
        si{"cingalais"}
        to{"tongan"}
        ug{"ouïgour"}
        und{"indéterminé"}
        ybb{"yémba"}
    }
    Languages%variant{
        ug{"ouïghour"}
    }
    LanguagesShort{
        en_GB{"anglais (GB)"}
    }
    Scripts{
        Deva{"devanagari"}
        Gujr{"gujarati"}
        Hans{"idéogrammes han simplifiés"}
        Hant{"idéogrammes han traditionnels"}
        Mlym{"malayâlam"}
        Orya{"oriyâ"}
        Sinh{"cingalais"}
    }
    Scripts%stand-alone{
        Hans{"chinois simplifié"}
        Hant{"chinois traditionnel"}
    }
    Types{
        calendar{
            ethiopic-amete-alem{"Calendrier éthiopien de l’An de grâce"}
            islamic-tbla{"calendrier religieux musulman"}
        }
        collation{
            dictionary{"Ordre de tri du dictionnaire"}
            reformed{"Ordre de tri réformé"}
            unihan{"Ordre de tri radical et trait"}
        }
        numbers{
            gujr{"chiffres gujarati"}
            mong{"Chiffres mongols"}
            taml{"chiffres tamouls traditionnels"}
        }
    }
    Version{"2.1.8.19"}
}
