﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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.58.79"}
    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{
                EEEd{"EEE d"}
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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{"EEE d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"EEE 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"}
                yyMMMEEEd{"EEE 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{
            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{
                EEEd{"EEE d"}
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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{"EEE d/M/yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"EEE d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/yyyy"}
                yQ{"'T'Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyMMMEEEd{"EEE 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{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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"}
                yyMMMEEEd{"EEE 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{"EEE d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE 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{
                EEEd{"EEE d"}
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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"}
                yyMMMEEEd{"EEE 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{"EEE d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE 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{
                EEEd{"EEE d"}
                Ed{"E d"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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"}
                yyMMMEEEd{"EEE 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{"EEE d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE 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",
                }
            }
        }
    }
    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"}
        }
    }
}
