﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ca.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ca.xml
 */
ca{
    AuxExemplarCharacters{"[á ă â å ä ã ā æ ĕ ê ë ē ì ĭ î ī ŀ ñ º ŏ ô ö ø ō œ ù ŭ û ū ÿ]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0}…"}
        word-initial{"… {0}"}
        word-medial{"{0}… {1}"}
    }
    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]"}
    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{
        "[\\- ‐ – — , ; \\: ! ¡ ? ¿ . … ' ‘ ’ \u0022 “ ” « » ( ) \\[ \\] § @ * / "
        "\\\\ \\& # † ‡ ′ ″]"
    }
    LocaleScript{
        "Latn",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"≥ {0}"}
                range{"{0}-{1}"}
            }
            patterns{
                accountingFormat{"#,##0.00 ¤;(#,##0.00 ¤)"}
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 miler"}
                        other{"0 milers"}
                    }
                    10000{
                        one{"00 milers"}
                        other{"00 milers"}
                    }
                    100000{
                        one{"000 milers"}
                        other{"000 milers"}
                    }
                    1000000{
                        one{"0 milió"}
                        other{"0 milions"}
                    }
                    10000000{
                        one{"00 milions"}
                        other{"00 milions"}
                    }
                    100000000{
                        one{"000 milions"}
                        other{"000 milions"}
                    }
                    1000000000{
                        one{"0 miler de milions"}
                        other{"0 milers de milions"}
                    }
                    10000000000{
                        one{"00 milers de milions"}
                        other{"00 milers de milions"}
                    }
                    100000000000{
                        one{"000 milers de milions"}
                        other{"000 milers de milions"}
                    }
                    1000000000000{
                        one{"0 bilió"}
                        other{"0 bilions"}
                    }
                    10000000000000{
                        one{"00 bilions"}
                        other{"00 bilions"}
                    }
                    100000000000000{
                        one{"000 bilions"}
                        other{"000 bilions"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0m"}
                        other{"0m"}
                    }
                    10000{
                        one{"00m"}
                        other{"00m"}
                    }
                    100000{
                        one{"000m"}
                        other{"000m"}
                    }
                    1000000{
                        one{"0M"}
                        other{"0M"}
                    }
                    10000000{
                        one{"00 M"}
                        other{"00 M"}
                    }
                    100000000{
                        one{"000 M"}
                        other{"000 M"}
                    }
                    1000000000{
                        one{"0000 M"}
                        other{"0000 M"}
                    }
                    10000000000{
                        one{"00mM"}
                        other{"00mM"}
                    }
                    100000000000{
                        one{"000mM"}
                        other{"000mM"}
                    }
                    1000000000000{
                        one{"0B"}
                        other{"0B"}
                    }
                    10000000000000{
                        one{"00 B"}
                        other{"00 B"}
                    }
                    100000000000000{
                        one{"000 B"}
                        other{"000 B"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.8.9"}
    calendar{
        buddhist{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, dd MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{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"}
                d{"d"}
                y{"y G"}
            }
            eras{
                abbreviated{
                    "eB",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, dd MMMM UU",
                "d MMMM U",
                "d MMM U",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            cyclicNameSets{
                dayParts{
                    format{
                        abbreviated{
                            "zi",
                            "chou",
                            "yin",
                            "mao",
                            "chen",
                            "si",
                            "wu",
                            "wei",
                            "shen",
                            "you",
                            "xu",
                            "hai",
                        }
                    }
                }
                years{
                    format{
                        abbreviated{
                            "jia-zi",
                            "yi-chou",
                            "bing-yin",
                            "ding-mao",
                            "wu-chen",
                            "ji-si",
                            "geng-wu",
                            "xin-wei",
                            "ren-shen",
                            "gui-you",
                            "jia-xu",
                            "yi-hai",
                            "bing-zi",
                            "ding-chou",
                            "wu-yin",
                            "ji-mao",
                            "geng-chen",
                            "xin-si",
                            "ren-wu",
                            "gui-wei",
                            "jia-shen",
                            "yi-you",
                            "bing-xu",
                            "ding-hai",
                            "wu-zi",
                            "ji-chou",
                            "geng-yin",
                            "xin-mao",
                            "ren-chen",
                            "gui-si",
                            "jia-wu",
                            "yi-wei",
                            "bing-shen",
                            "ding-you",
                            "wu-xu",
                            "ji-hai",
                            "geng-zi",
                            "xin-chou",
                            "ren-yin",
                            "gui-mao",
                            "jia-chen",
                            "yi-si",
                            "bing-wu",
                            "ding-wei",
                            "wu-shen",
                            "ji-you",
                            "geng-xu",
                            "xin-hai",
                            "ren-zi",
                            "gui-chou",
                            "jia-yin",
                            "yi-mao",
                            "bing-chen",
                            "ding-si",
                            "wu-wu",
                            "ji-wei",
                            "geng-shen",
                            "xin-you",
                            "ren-xu",
                            "gui-hai",
                        }
                    }
                }
                zodiacs{
                    format{
                        abbreviated{
                            "zi",
                            "chou",
                            "yin",
                            "mao",
                            "chen",
                            "si",
                            "wu",
                            "wei",
                            "shen",
                            "you",
                            "xu",
                            "hai",
                        }
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
        }
        generic{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE d MMMM 'de' y G",
                "d MMMM 'de' y G",
                "dd/MM/y G",
                "dd/MM/yy GGGGG",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"LLL y G"}
                GyMMMEd{"E, d MMM, y G"}
                GyMMMM{"LLLL 'de' y G"}
                GyMMMd{"d MMM y G"}
                H{"H"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E, d.M.y G"}
                yyyyMMM{"LLL y G"}
                yyyyMMMEd{"E, d MMM, y G"}
                yyyyMMMM{"LLLL 'de' y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                H{
                    H{"H-H"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"H-H 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{"E d MMM - E d MMM"}
                    d{"E d - 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"}
                }
                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 G"}
                }
                yM{
                    M{"MM/y - MM/y GGGG"}
                    y{"MM/y - MM/y GGGG"}
                }
                yMEd{
                    M{"E dd/MM/y - E dd/MM/y GGGG"}
                    d{"E dd/MM/y - E dd/MM/y GGGG"}
                    y{"E dd/MM/y - E dd/MM/y GGGG"}
                }
                yMMM{
                    M{"MMM-MMM 'de' y G"}
                    y{"MMM 'de' y - MMM 'de' y G"}
                }
                yMMMEd{
                    M{"E d MMM - E d MMM 'de' y G"}
                    d{"E d MMM - E d MMM 'de' y G"}
                    y{"E d MMM 'de' y - E d MMM 'de' y G"}
                }
                yMMMM{
                    M{"MMMM-MMMM 'de' y G"}
                    y{"MMMM 'de' y - MMMM 'de' y G"}
                }
                yMMMd{
                    M{"d MMM - d MMM 'de' y G"}
                    d{"d-d MMM 'de' y G"}
                    y{"d MMM 'de' y - d MMM 'de' y G"}
                }
                yMd{
                    M{"dd/MM/y - dd/MM/y GGGG"}
                    d{"dd/MM/y - dd/MM/y GGGG"}
                    y{"dd/MM/y - dd/MM/y GGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "a. m.",
                "p. m.",
            }
            AmPmMarkersNarrow{
                "a.m.",
                "p.m.",
            }
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, d MMMM 'de' y",
                "d MMMM 'de' y",
                "d MMM y",
                "d/M/yy",
                "{1} , {0}",
                "{1} 'a les' {0}",
                "{1}, {0}",
                "{1} , {0}",
                "{1} {0}",
            }
            NoonMarker{"migdia"}
            NoonMarkerNarrow{"md"}
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E H:mm"}
                EHms{"E H:mm:ss"}
                Ed{"E d"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"LLL y G"}
                GyMMMEd{"E, d MMM, y G"}
                GyMMMM{"LLLL 'de' y G"}
                GyMMMd{"d MMM y G"}
                H{"H"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"LLL 'de' y"}
                yMMMEd{"E, d MMM, y"}
                yMMMM{"LLLL 'de' y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dg.",
                        "dl.",
                        "dt.",
                        "dc.",
                        "dj.",
                        "dv.",
                        "ds.",
                    }
                    narrow{
                        "dg",
                        "dl",
                        "dt",
                        "dc",
                        "dj",
                        "dv",
                        "ds",
                    }
                    short{
                        "dg.",
                        "dl.",
                        "dt.",
                        "dc.",
                        "dj.",
                        "dv.",
                        "ds.",
                    }
                    wide{
                        "diumenge",
                        "dilluns",
                        "dimarts",
                        "dimecres",
                        "dijous",
                        "divendres",
                        "dissabte",
                    }
                }
                stand-alone{
                    abbreviated{
                        "dg.",
                        "dl.",
                        "dt.",
                        "dc.",
                        "dj.",
                        "dv.",
                        "ds.",
                    }
                    narrow{
                        "dg",
                        "dl",
                        "dt",
                        "dc",
                        "dj",
                        "dv",
                        "ds",
                    }
                    short{
                        "dg.",
                        "dl.",
                        "dt.",
                        "dc.",
                        "dj.",
                        "dv.",
                        "ds.",
                    }
                    wide{
                        "diumenge",
                        "dilluns",
                        "dimarts",
                        "dimecres",
                        "dijous",
                        "divendres",
                        "dissabte",
                    }
                }
            }
            eras{
                abbreviated{
                    "aC",
                    "dC",
                }
                abbreviated%variant{
                    "AEC",
                    "EC",
                }
                narrow{
                    "aC",
                    "dC",
                }
                narrow%variant{
                    "a. de la n. e.",
                    "de la n.e.",
                }
                wide{
                    "abans de Crist",
                    "després de Crist",
                }
                wide%variant{
                    "abans de l’Era Comuna",
                    "Era Comuna",
                }
            }
            intervalFormats{
                H{
                    H{"H–H"}
                }
                Hm{
                    H{"H:mm – H:mm"}
                    m{"H:mm – H:mm"}
                }
                Hmv{
                    H{"H:mm–H:mm v"}
                    m{"H:mm-H:mm v"}
                }
                Hv{
                    H{"H-H v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E dd/MM – E dd/MM"}
                    d{"E dd/MM – E dd/MM"}
                }
                MMM{
                    M{"LLL – LLL"}
                }
                MMMEd{
                    M{"E d MMM - E d MMM"}
                    d{"E d - 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"}
                }
                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/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{"LLL-LLL 'de' y"}
                    y{"LLL 'de' y - LLL 'de' y"}
                }
                yMMMEd{
                    M{"E d MMM - E d MMM 'de' y"}
                    d{"E d - E d MMM 'de' y"}
                    y{"E d MMM 'de' y - E d MMM 'de' y"}
                }
                yMMMM{
                    M{"LLLL-LLLL 'de' y"}
                    y{"LLLL 'de' y - LLLL 'de' y"}
                }
                yMMMd{
                    M{"d MMM - d MMM 'de' y"}
                    d{"d-d MMM 'de' y"}
                    y{"d MMM 'de' y - d MMM 'de' 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.",
                        "febr.",
                        "març",
                        "abr.",
                        "maig",
                        "juny",
                        "jul.",
                        "ag.",
                        "set.",
                        "oct.",
                        "nov.",
                        "des.",
                    }
                    narrow{
                        "GN",
                        "FB",
                        "MÇ",
                        "AB",
                        "MG",
                        "JN",
                        "JL",
                        "AG",
                        "ST",
                        "OC",
                        "NV",
                        "DS",
                    }
                    wide{
                        "gener",
                        "febrer",
                        "març",
                        "abril",
                        "maig",
                        "juny",
                        "juliol",
                        "agost",
                        "setembre",
                        "octubre",
                        "novembre",
                        "desembre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "gen.",
                        "febr.",
                        "març",
                        "abr.",
                        "maig",
                        "juny",
                        "jul.",
                        "ag.",
                        "set.",
                        "oct.",
                        "nov.",
                        "des.",
                    }
                    narrow{
                        "GN",
                        "FB",
                        "MÇ",
                        "AB",
                        "MG",
                        "JN",
                        "JL",
                        "AG",
                        "ST",
                        "OC",
                        "NV",
                        "DS",
                    }
                    wide{
                        "gener",
                        "febrer",
                        "març",
                        "abril",
                        "maig",
                        "juny",
                        "juliol",
                        "agost",
                        "setembre",
                        "octubre",
                        "novembre",
                        "desembre",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1r trimestre",
                        "2n trimestre",
                        "3r trimestre",
                        "4t trimestre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1r trimestre",
                        "2n trimestre",
                        "3r trimestre",
                        "4t trimestre",
                    }
                }
            }
        }
        roc{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE d MMMM 'de' y G",
                "d MMMM 'de' y G",
                "dd/MM/y G",
                "dd/MM/y GGGGG",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"dia"}
            relative{
                "-1"{"ahir"}
                "-2"{"abans-d’ahir"}
                "0"{"avui"}
                "1"{"demà"}
                "2"{"demà passat"}
            }
            relativeTime{
                future{
                    one{"d’aquí a {0} dia"}
                    other{"d’aquí a {0} dies"}
                }
                past{
                    one{"fa {0} dia"}
                    other{"fa {0} dies"}
                }
            }
        }
        day-narrow{
            dn{"dia"}
            relativeTime{
                future{
                    one{"d’aquí a {0} dia"}
                    other{"d’aquí a {0} dies"}
                }
                past{
                    one{"fa {0} dia"}
                    other{"fa {0} dies"}
                }
            }
        }
        day-short{
            dn{"dia"}
            relativeTime{
                future{
                    one{"d’aquí a {0} dia"}
                    other{"d’aquí a {0} dies"}
                }
                past{
                    one{"fa {0} dia"}
                    other{"fa {0} dies"}
                }
            }
        }
        dayperiod{
            dn{"a. m./p. m."}
        }
        era{
            dn{"era"}
        }
        fri{
            relative{
                "-1"{"divendres passat"}
                "0"{"aquest divendres"}
                "1"{"divendres que ve"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"dv. passat"}
                "0"{"aquest dv."}
                "1"{"dv. que ve"}
            }
        }
        fri-short{
            relative{
                "-1"{"dv. passat"}
                "0"{"aquest dv."}
                "1"{"dv. que ve"}
            }
        }
        hour{
            dn{"hora"}
            relativeTime{
                future{
                    one{"d’aquí a {0} hora"}
                    other{"d’aquí {0} hores"}
                }
                past{
                    one{"fa {0} hora"}
                    other{"fa {0} hores"}
                }
            }
        }
        hour-narrow{
            dn{"h"}
            relativeTime{
                future{
                    one{"d‘aquí a {0} h"}
                    other{"d‘aquí a {0} h"}
                }
                past{
                    one{"fa {0} h"}
                    other{"fa {0} h"}
                }
            }
        }
        hour-short{
            dn{"h"}
            relativeTime{
                future{
                    one{"d’aquí a {0} h"}
                    other{"d’aquí {0} hores"}
                }
                past{
                    one{"fa {0} h"}
                    other{"fa {0} h"}
                }
            }
        }
        minute{
            dn{"minut"}
            relativeTime{
                future{
                    one{"d’aquí a {0} minut"}
                    other{"d’aquí a {0} minuts"}
                }
                past{
                    one{"fa {0} minut"}
                    other{"fa {0} minuts"}
                }
            }
        }
        minute-narrow{
            dn{"min"}
            relativeTime{
                future{
                    one{"d’aquí a {0} min"}
                    other{"d’aquí a {0} min"}
                }
                past{
                    one{"fa {0} min"}
                    other{"fa {0} min"}
                }
            }
        }
        minute-short{
            dn{"min"}
            relativeTime{
                future{
                    one{"d’aquí a {0} min"}
                    other{"d’aquí a {0} min"}
                }
                past{
                    one{"fa {0} min"}
                    other{"fa {0} min"}
                }
            }
        }
        mon{
            relative{
                "-1"{"dilluns passat"}
                "0"{"aquest dilluns"}
                "1"{"dilluns que ve"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"dl. passat"}
                "0"{"aquest dl."}
                "1"{"dl. que ve"}
            }
        }
        mon-short{
            relative{
                "-1"{"dl. passat"}
                "0"{"aquest dl."}
                "1"{"dl. que ve"}
            }
        }
        month{
            dn{"mes"}
            relative{
                "-1"{"el mes passat"}
                "0"{"aquest mes"}
                "1"{"el mes que ve"}
            }
            relativeTime{
                future{
                    one{"d’aquí a {0} mes"}
                    other{"d’aquí a {0} mesos"}
                }
                past{
                    one{"fa {0} mes"}
                    other{"fa {0} mesos"}
                }
            }
        }
        month-narrow{
            dn{"mes"}
            relativeTime{
                future{
                    one{"en {0} mes"}
                    other{"en {0} mesos"}
                }
                past{
                    one{"fa {0} mes"}
                    other{"fa {0} mesos"}
                }
            }
        }
        month-short{
            dn{"mes"}
            relativeTime{
                future{
                    one{"d’aquí a {0} mes"}
                    other{"d’aquí a {0} mesos"}
                }
                past{
                    one{"fa {0} mes"}
                    other{"fa {0} mesos"}
                }
            }
        }
        quarter{
            dn{"trimestre"}
            relativeTime{
                future{
                    one{"d’aquí a {0} trimestre"}
                    other{"d’aquí a {0} trimestres"}
                }
                past{
                    one{"fa {0} trimestre"}
                    other{"fa {0} trimestres"}
                }
            }
        }
        quarter-narrow{
            dn{"T"}
            relativeTime{
                future{
                    one{"en {0} trim."}
                    other{"en {0} trim."}
                }
                past{
                    one{"fa {0} trim."}
                    other{"fa {0} trim."}
                }
            }
        }
        quarter-short{
            dn{"trim."}
            relativeTime{
                future{
                    one{"d’aquí a {0} trim."}
                    other{"d’aquí a {0} trim."}
                }
                past{
                    one{"fa {0} trim."}
                    other{"fa {0} trim."}
                }
            }
        }
        sat{
            relative{
                "-1"{"dissabte passat"}
                "0"{"aquest dissabte"}
                "1"{"dissabte que ve"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"ds. passat"}
                "0"{"aquest ds."}
                "1"{"ds. que ve"}
            }
        }
        sat-short{
            relative{
                "-1"{"ds. passat"}
                "0"{"aquest ds."}
                "1"{"ds. que ve"}
            }
        }
        second{
            dn{"segon"}
            relative{
                "0"{"ara"}
            }
            relativeTime{
                future{
                    one{"d’aquí a {0} segon"}
                    other{"d’aquí a {0} segons"}
                }
                past{
                    one{"fa {0} segon"}
                    other{"fa {0} segons"}
                }
            }
        }
        second-narrow{
            dn{"s"}
            relativeTime{
                future{
                    one{"d’aquí a {0} s"}
                    other{"d’aquí a {0} s"}
                }
                past{
                    one{"fa {0} s"}
                    other{"fa {0} s"}
                }
            }
        }
        second-short{
            dn{"s"}
            relativeTime{
                future{
                    one{"d’aquí a {0} s"}
                    other{"d’aquí a {0} s"}
                }
                past{
                    one{"fa {0} s"}
                    other{"fa {0} s"}
                }
            }
        }
        sun{
            relative{
                "-1"{"diumenge passat"}
                "0"{"aquest diumenge"}
                "1"{"diumenge que ve"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"dg. passat"}
                "0"{"aquest dg."}
                "1"{"dg. que ve"}
            }
        }
        sun-short{
            relative{
                "-1"{"dg. passat"}
                "0"{"aquest dg."}
                "1"{"dg. que ve"}
            }
        }
        thu{
            relative{
                "-1"{"dijous passat"}
                "0"{"aquest dijous"}
                "1"{"dijous que ve"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"dj. passat"}
                "0"{"aquest dj."}
                "1"{"dj. que ve"}
            }
        }
        thu-short{
            relative{
                "-1"{"dj. passat"}
                "0"{"aquest dj."}
                "1"{"dj. que ve"}
            }
        }
        tue{
            relative{
                "-1"{"dimarts passat"}
                "0"{"aquest dimarts"}
                "1"{"dimarts que ve"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"dm. passat"}
                "0"{"aquest dm."}
                "1"{"dm. que ve"}
            }
        }
        tue-short{
            relative{
                "-1"{"dm. passat"}
                "0"{"aquest dm."}
                "1"{"dm. que ve"}
            }
        }
        wed{
            relative{
                "-1"{"dimecres passat"}
                "0"{"aquest dimecres"}
                "1"{"dimecres que ve"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"dc. passat"}
                "0"{"aquest dc."}
                "1"{"dc. que ve"}
            }
        }
        wed-short{
            relative{
                "-1"{"dc. passat"}
                "0"{"aquest dc."}
                "1"{"dc. que ve"}
            }
        }
        week{
            dn{"setmana"}
            relative{
                "-1"{"la setmana passada"}
                "0"{"aquesta setmana"}
                "1"{"la setmana que ve"}
            }
            relativeTime{
                future{
                    one{"d’aquí a {0} setmana"}
                    other{"d’aquí a {0} setmanes"}
                }
                past{
                    one{"fa {0} setmana"}
                    other{"fa {0} setmanes"}
                }
            }
        }
        week-narrow{
            dn{"setm."}
            relativeTime{
                future{
                    one{"en {0} setm."}
                    other{"en {0} setm."}
                }
                past{
                    one{"fa {0} setm."}
                    other{"fa {0} setm."}
                }
            }
        }
        week-short{
            dn{"setm."}
            relativeTime{
                future{
                    one{"d’aquí a {0} setm."}
                    other{"d’aquí a {0} setm."}
                }
                past{
                    one{"fa {0} setm."}
                    other{"fa {0} setm."}
                }
            }
        }
        weekday{
            dn{"dia de la setmana"}
        }
        year{
            dn{"any"}
            relative{
                "-1"{"l’any passat"}
                "0"{"enguany"}
                "1"{"l’any que ve"}
            }
            relativeTime{
                future{
                    one{"d’aquí a {0} any"}
                    other{"d’aquí a {0} anys"}
                }
                past{
                    one{"fa {0} any"}
                    other{"fa {0} anys"}
                }
            }
        }
        year-narrow{
            dn{"any"}
            relativeTime{
                future{
                    one{"en {0} any"}
                    other{"en {0} anys"}
                }
                past{
                    one{"fa {0} any"}
                    other{"fa {0} anys"}
                }
            }
        }
        year-short{
            dn{"any"}
            relativeTime{
                future{
                    one{"d’aquí a {0} any"}
                    other{"d’aquí a {0} anys"}
                }
                past{
                    one{"fa {0} any"}
                    other{"fa {0} anys"}
                }
            }
        }
        zone{
            dn{"zona"}
        }
    }
    listPattern{
        standard{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"anglosaxó"}
        US{"imperial"}
        metric{"mètric"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Numèric"}
        Tone{"To"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Accents"}
        x-Fullwidth{"Amplada completa"}
        x-Halfwidth{"Amplada mitjana"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Publicació"}
    }
}
