﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/br.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/br.xml
 */
br{
    AuxExemplarCharacters{"[á à ă â å ä ã ā æ c ç é è ĕ ë ē í ì ĭ î ï ī ó ò ŏ ô ö ø ō œ q ú ŭ û ü ū ÿ]"}
    ExemplarCharacters{"[a b {ch} {cʼh} d e ê f g h i j k l m n ñ o p 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 R S T U V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                accountingFormat{"#,##0.00 ¤"}
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
            }
            symbols{
                decimal{","}
                group{" "}
                infinity{"∞"}
                minusSign{"-"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        native{"latn"}
    }
    Version{"2.1.10.42"}
    calendar{
        gregorian{
            AmPmMarkers{
                "A.M.",
                "G.M.",
            }
            AmPmMarkersNarrow{
                "am",
                "gm",
            }
            NoonMarker{"kreisteiz"}
            NoonMarkerNarrow{"k"}
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                M{"MM"}
                MEd{"E dd/MM"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"dd/MM"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"E dd/MM/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"dd/MM/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sul",
                        "Lun",
                        "Meu.",
                        "Mer.",
                        "Yaou",
                        "Gwe.",
                        "Sad.",
                    }
                    narrow{
                        "Su",
                        "L",
                        "Mz",
                        "Mc",
                        "Y",
                        "G",
                        "Sa",
                    }
                    wide{
                        "Sul",
                        "Lun",
                        "Meurzh",
                        "Mercʼher",
                        "Yaou",
                        "Gwener",
                        "Sadorn",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sul",
                        "Lun",
                        "Meu.",
                        "Mer.",
                        "Yaou",
                        "Gwe.",
                        "Sad.",
                    }
                    narrow{
                        "Su",
                        "L",
                        "Mz",
                        "Mc",
                        "Y",
                        "G",
                        "Sa",
                    }
                    wide{
                        "Sul",
                        "Lun",
                        "Meurzh",
                        "Mercʼher",
                        "Yaou",
                        "Gwener",
                        "Sadorn",
                    }
                }
            }
            intervalFormats{
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"E dd/MM - E dd/MM"}
                    d{"E dd/MM - E dd/MM"}
                }
                MMMEd{
                    M{"E d MMM - E d MMM"}
                    d{"E d MMM - E d MMM"}
                }
                MMMd{
                    M{"d MMM - d MMM"}
                    d{"d-d MMM"}
                }
                Md{
                    M{"dd/MM - dd/MM"}
                    d{"dd/MM - dd/MM"}
                }
                d{
                    d{"d–d"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"MM/y - MM/y"}
                    y{"MM/y - MM/y"}
                }
                yMEd{
                    M{"E dd/MM/y - E dd/MM/y"}
                    d{"E dd/MM/y - E dd/MM/y"}
                    y{"E dd/MM/y - E dd/MM/y"}
                }
                yMMM{
                    M{"MMM - MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"E d MMM - E d MMM y"}
                    d{"E d MMM - 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{"dd/MM/y - dd/MM/y"}
                    d{"dd/MM/y - dd/MM/y"}
                    y{"dd/MM/y - dd/MM/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Gen",
                        "Cʼhwe",
                        "Meur",
                        "Ebr",
                        "Mae",
                        "Mezh",
                        "Goue",
                        "Eost",
                        "Gwen",
                        "Here",
                        "Du",
                        "Ker",
                    }
                    narrow{
                        "01",
                        "02",
                        "03",
                        "04",
                        "05",
                        "06",
                        "07",
                        "08",
                        "09",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "Genver",
                        "Cʼhwevrer",
                        "Meurzh",
                        "Ebrel",
                        "Mae",
                        "Mezheven",
                        "Gouere",
                        "Eost",
                        "Gwengolo",
                        "Here",
                        "Du",
                        "Kerzu",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Gen",
                        "Cʼhwe",
                        "Meur",
                        "Ebr",
                        "Mae",
                        "Mezh",
                        "Goue",
                        "Eost",
                        "Gwen",
                        "Here",
                        "Du",
                        "Ker",
                    }
                    narrow{
                        "01",
                        "02",
                        "03",
                        "04",
                        "05",
                        "06",
                        "07",
                        "08",
                        "09",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "Genver",
                        "Cʼhwevrer",
                        "Meurzh",
                        "Ebrel",
                        "Mae",
                        "Mezheven",
                        "Gouere",
                        "Eost",
                        "Gwengolo",
                        "Here",
                        "Du",
                        "Kerzu",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1añ trim.",
                        "2l trim.",
                        "3e trim.",
                        "4e trim.",
                    }
                    wide{
                        "1añ trimiziad",
                        "2l trimiziad",
                        "3e trimiziad",
                        "4e trimiziad",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1añ trim.",
                        "2l trim.",
                        "3e trim.",
                        "4e trim.",
                    }
                    wide{
                        "1añ trimiziad",
                        "2l trimiziad",
                        "3e trimiziad",
                        "4e trimiziad",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"›"}
        alternateQuotationStart{"‹"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"deiz"}
            relative{
                "-1"{"decʼh"}
                "-2"{"dercʼhent-decʼh"}
                "0"{"hiziv"}
                "1"{"warcʼhoazh"}
            }
        }
        day-short{
            dn{"d"}
        }
        era{
            dn{"amzervezh"}
        }
        hour{
            dn{"eur"}
        }
        hour-narrow{
            dn{"e"}
        }
        hour-short{
            dn{"h"}
        }
        minute{
            dn{"munut"}
        }
        minute-short{
            dn{"min"}
        }
        month{
            dn{"miz"}
        }
        second{
            dn{"eilenn"}
        }
        second-short{
            dn{"s"}
        }
        week{
            dn{"sizhun"}
        }
        year{
            dn{"bloaz"}
            relative{
                "-1"{"warlene"}
            }
        }
    }
    measurementSystemNames{
        UK{"RU"}
        US{"SU"}
        metric{"metrek"}
    }
}
