﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/fr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fr.xml
 */
fr{
    AuxExemplarCharacters{"[á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ]"}
    ExemplarCharacters{
        "[a à â æ b c ç d e é è ê ë f g h i î ï j k l m n o ô œ p q r s t u ù û ü v w"
        " x y ÿ z]"
    }
    ExemplarCharactersCurrency{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}
    ExemplarCharactersPunctuation{"[\- ‐ – — , ; \: ! ? . … ’ « » ( ) \[ \] § @ * / \& # † ‡]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.64.92"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM, y G",
                "d/M/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm:ss"}
                y{"y G"}
                yM{"M/y G"}
                yMEd{"E d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"E d MMM y G"}
                yMd{"d/M/y G"}
                yQ{"'T'Q y G"}
                yQQQ{"QQQ y G"}
                yyMM{"MM/y G"}
                yyMMM{"MMM y G"}
                yyMMMEd{"E d MMM y G"}
                yyMMMd{"d MMM y G"}
                yyQ{"'T'Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyyMMMM{"MMMM y G"}
            }
            eras{
                abbreviated{
                    "ère b.",
                }
                narrow{
                    "E.B.",
                }
                wide{
                    "ère bouddhiste",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM U",
                "d MMMM U",
                "d MMM U",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yQ{"'T'Q y"}
                yQQQ{"QQQ y"}
            }
            monthNames{
                format{
                    abbreviated{
                        "1yuè",
                        "2yuè",
                        "3yuè",
                        "4yuè",
                        "5yuè",
                        "6yuè",
                        "7yuè",
                        "8yuè",
                        "9yuè",
                        "10yuè",
                        "11yuè",
                        "12yuè",
                    }
                    wide{
                        "zhēngyuè",
                        "èryuè",
                        "sānyuè",
                        "sìyuè",
                        "wǔyuè",
                        "liùyuè",
                        "qīyuè",
                        "bāyuè",
                        "jiǔyuè",
                        "shíyuè",
                        "shíyīyuè",
                        "shí’èryuè",
                    }
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/yyyy"}
                yMEd{"E d/M/yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/yyyy"}
                yQ{"'T'Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyMMMEd{"E d MMM yy"}
                yyMMMd{"d MMM yy"}
                yyQ{"'T'Q yy"}
                yyQQQQ{"QQQQ yy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dim.",
                        "lun.",
                        "mar.",
                        "mer.",
                        "jeu.",
                        "ven.",
                        "sam.",
                    }
                    wide{
                        "dimanche",
                        "lundi",
                        "mardi",
                        "mercredi",
                        "jeudi",
                        "vendredi",
                        "samedi",
                    }
                }
                stand-alone{
                    abbreviated{
                        "dim.",
                        "lun.",
                        "mar.",
                        "mer.",
                        "jeu.",
                        "ven.",
                        "sam.",
                    }
                    narrow{
                        "D",
                        "L",
                        "M",
                        "M",
                        "J",
                        "V",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "av. J.-C.",
                    "ap. J.-C.",
                }
                wide{
                    "avant Jésus-Christ",
                    "après Jésus-Christ",
                }
            }
            fields{
                day{
                    dn{"jour"}
                    relative{
                        "-1"{"hier"}
                        "-2"{"avant-hier"}
                        "0"{"aujourd’hui"}
                        "1"{"demain"}
                        "2"{"après-demain"}
                    }
                }
                dayperiod{
                    dn{"cadran"}
                }
                era{
                    dn{"ère"}
                }
                hour{
                    dn{"heure"}
                }
                minute{
                    dn{"minute"}
                }
                month{
                    dn{"mois"}
                    relative{
                        "-1"{"le mois dernier"}
                        "0"{"ce mois-ci"}
                        "1"{"le mois prochain"}
                    }
                }
                second{
                    dn{"seconde"}
                }
                week{
                    dn{"semaine"}
                    relative{
                        "-1"{"la semaine dernière"}
                        "0"{"cette semaine"}
                        "1"{"la semaine prochaine"}
                    }
                }
                weekday{
                    dn{"jour de la semaine"}
                }
                year{
                    dn{"année"}
                    relative{
                        "-1"{"l’année dernière"}
                        "0"{"cette année"}
                        "1"{"l’année prochaine"}
                    }
                }
                zone{
                    dn{"fuseau horaire"}
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                    a{"HH – HH"}
                }
                Hm{
                    H{"HH:mm – HH:mm"}
                    a{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    a{"HH:mm – HH:mm v"}
                    m{"HH:mm – HH:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                    a{"HH – HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E dd/MM - E dd/MM"}
                    d{"E dd/MM - E dd/MM"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"'du' E d MMM 'au' E d MMM"}
                    d{"'du' E d 'au' E d MMM"}
                }
                MMMd{
                    M{"'du' d MMM 'au' d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"dd/MM - dd/MM"}
                    d{"dd/MM - dd/MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h – h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm – h:mm a"}
                    m{"h:mm – h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm – h:mm a v"}
                    m{"h:mm – h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h – h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM/yy – MM/yy"}
                    y{"M/yyyy – M/yyyy"}
                }
                yMEd{
                    M{"E dd/MM/yy – E dd/MM/yy"}
                    d{"E dd/MM/yy – E dd/MM/yy"}
                    y{"E d/M/yyyy – E d/M/yyyy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E d MMM – E d MMM y"}
                    d{"E d – E d MMM y"}
                    y{"E d MMM y – E d MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM y"}
                    d{"d–d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
                yMd{
                    M{"d/M/yy – d/M/yy"}
                    d{"d/M/yy – d/M/yy"}
                    y{"d/M/yyyy – d/M/yyyy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "janv.",
                        "févr.",
                        "mars",
                        "avr.",
                        "mai",
                        "juin",
                        "juil.",
                        "août",
                        "sept.",
                        "oct.",
                        "nov.",
                        "déc.",
                    }
                    wide{
                        "janvier",
                        "février",
                        "mars",
                        "avril",
                        "mai",
                        "juin",
                        "juillet",
                        "août",
                        "septembre",
                        "octobre",
                        "novembre",
                        "décembre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "janv.",
                        "févr.",
                        "mars",
                        "avr.",
                        "mai",
                        "juin",
                        "juil.",
                        "août",
                        "sept.",
                        "oct.",
                        "nov.",
                        "déc.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    wide{
                        "1er trimestre",
                        "2e trimestre",
                        "3e trimestre",
                        "4e trimestre",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "Tisseri",
                        "Hesvan",
                        "Kislev",
                        "Tébeth",
                        "Schébat",
                        "Adar I",
                        "Adar",
                        "Nissan",
                        "Iyar",
                        "Sivan",
                        "Tamouz",
                        "Ab",
                        "Elloul",
                        "Adar II",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM, y G",
                "d/M/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm:ss"}
                yyMM{"MM/y G"}
                yyMMM{"MMM y G"}
                yyMMMEd{"E d MMM y G"}
                yyMMMd{"d MMM y G"}
                yyQ{"'T'Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQ{"'T'Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "AH",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Mouh.",
                        "Saf.",
                        "Rabiʻ-oul-A.",
                        "Rabiʻ-out-T.",
                        "Djoum.-l-O.",
                        "Djoum.-t-T.",
                        "Radj.",
                        "Cha.",
                        "Ram.",
                        "Chaou.",
                        "Dou-l-Q.",
                        "Dou-l-H.",
                    }
                    default{"wide"}
                    wide{
                        "Mouharram",
                        "Safar",
                        "Rabiʻ-oul-Aououal",
                        "Rabiʻ-out-Tani",
                        "Djoumada-l-Oula",
                        "Djoumada-t-Tania",
                        "Radjab",
                        "Chaʻban",
                        "Ramadan",
                        "Chaououal",
                        "Dou-l-Qaʻda",
                        "Dou-l-Hidjja",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM, y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm:ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM y G"}
                yyMMMEd{"E d MMM y G"}
                yyMMMd{"d MMM y G"}
                yyQ{"'T'Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQ{"'T'Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        roc{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM, y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm:ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM y G"}
                yyMMMEd{"E d MMM y G"}
                yyMMMd{"d MMM y G"}
                yyQ{"'T'Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQ{"'T'Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "avant RdC",
                    "RdC",
                }
            }
        }
    }
    contextTransforms{
        day-format-except-narrow:intvector{
            0,
            1,
        }
        day-standalone-except-narrow:intvector{
            0,
            1,
        }
        month-format-except-narrow:intvector{
            0,
            1,
        }
        month-standalone-except-narrow:intvector{
            0,
            1,
        }
    }
    delimiters{
        alternateQuotationEnd{"»"}
        alternateQuotationStart{"«"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} et {1}"}
            end{"{0} et {1}"}
        }
    }
    measurementSystemNames{
        UK{"impérial"}
        US{"américain"}
        metric{"métrique"}
    }
    units{
        day{
            one{"{0} jour"}
            other{"{0} jours"}
        }
        day-future{
            0{"dans 0 jour"}
            1{"dans 1 jour"}
            one{"dans {0} jour"}
            other{"dans {0} jours"}
        }
        day-past{
            0{"il y a 0 jour"}
            1{"il y a 1 jour"}
            one{"il y a {0} jour"}
            other{"il y a {0} jours"}
        }
        hour{
            one{"{0} heure"}
            other{"{0} heures"}
        }
        hour-future{
            0{"dans 0 heure"}
            1{"dans 1 heure"}
            one{"dans {0} heure"}
            other{"dans {0} heures"}
        }
        hour-past{
            0{"il y a 0 heure"}
            1{"il y a 1 heure"}
            one{"il y a {0} heure"}
            other{"il y a {0} heures"}
        }
        minute{
            one{"{0} minute"}
            other{"{0} minutes"}
        }
        minute-future{
            0{"dans 0 minute"}
            1{"dans 1 minute"}
            one{"dans {0} minute"}
            other{"dans {0} minutes"}
        }
        minute-past{
            0{"il y a 0 minute"}
            1{"il y a 1 minute"}
            one{"il y a {0} minute"}
            other{"il y a {0} minutes"}
        }
        month{
            one{"{0} mois"}
            other{"{0} mois"}
        }
        month-future{
            0{"dans 0 mois"}
            1{"dans 1 mois"}
            one{"dans {0} mois"}
            other{"dans {0} mois"}
        }
        month-past{
            0{"il y a 0 mois"}
            1{"il y a 1 mois"}
            one{"il y a {0} mois"}
            other{"il y a {0} mois"}
        }
        second{
            one{"{0} seconde"}
            other{"{0} secondes"}
        }
        second-future{
            0{"dans 0 seconde"}
            1{"dans 1 seconde"}
            one{"dans {0} seconde"}
            other{"dans {0} secondes"}
        }
        second-past{
            0{"il y a 0 seconde"}
            1{"il y a 1 seconde"}
            one{"il y a {0} seconde"}
            other{"il y a {0} secondes"}
        }
        week{
            one{"{0} semaine"}
            other{"{0} semaines"}
        }
        week-future{
            0{"dans 0 semaine"}
            1{"dans 1 semaine"}
            one{"dans {0} semaine"}
            other{"dans {0} semaines"}
        }
        week-past{
            0{"il y a 0 semaine"}
            1{"il y a 1 semaine"}
            one{"il y a {0} semaine"}
            other{"il y a {0} semaines"}
        }
        year{
            one{"{0} année"}
            other{"{0} années"}
        }
        year-future{
            0{"dans 0 an"}
            1{"dans 1 an"}
            one{"dans {0} an"}
            other{"dans {0} ans"}
        }
        year-past{
            0{"il y a 0 an"}
            1{"il y a 1 an"}
            one{"il y a {0} an"}
            other{"il y a {0} ans"}
        }
    }
    unitsShort{
        day{
            one{"{0} j"}
            other{"{0} j"}
        }
        hour{
            one{"{0} h"}
            other{"{0} h"}
        }
        minute{
            one{"{0} mn"}
            other{"{0} mn"}
        }
        month{
            one{"{0} mois"}
            other{"{0} mois"}
        }
        second{
            one{"{0} s"}
            other{"{0} s"}
        }
        week{
            one{"{0} sem."}
            other{"{0} sem."}
        }
        year{
            one{"{0} an"}
            other{"{0} ans"}
        }
    }
}
