﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ca.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ca.xml
 */
ca{
    Version{"2.0.42.82"}
    zoneStrings{
        "America:Araguaina"{
            ec{"Araguaína"}
        }
        "America:Argentina:Rio_Gallegos"{
            ec{"Río Gallegos"}
        }
        "America:Argentina:Tucuman"{
            ec{"Tucumán"}
        }
        "America:Belem"{
            ec{"Belém"}
        }
        "America:Cordoba"{
            ec{"Córdoba"}
        }
        "America:Cuiaba"{
            ec{"Cuiabá"}
        }
        "America:Eirunepe"{
            ec{"Eirunepé"}
        }
        "America:Maceio"{
            ec{"Maceió"}
        }
        "America:Mazatlan"{
            ec{"Mazatlán"}
        }
        "America:Merida"{
            ec{"Mérida"}
        }
        "America:Mexico_City"{
            ec{"Mèxic"}
        }
        "America:New_York"{
            ec{"Nova York"}
        }
        "America:North_Dakota:Center"{
            ec{"Center, Dakota del Nord"}
        }
        "America:North_Dakota:New_Salem"{
            ec{"New Salem, Dakota del Nord"}
        }
        "America:Rio_Branco"{
            ec{"Río Branco"}
        }
        "America:Sao_Paulo"{
            ec{"São Paulo"}
        }
        "Antarctica:South_Pole"{
            ec{"Pol sud"}
        }
        "Asia:Anadyr"{
            ec{"Anadyr'"}
        }
        "Asia:Aqtau"{
            ec{"Aqtaū"}
        }
        "Asia:Aqtobe"{
            ec{"Aķtöbe"}
        }
        "Asia:Kamchatka"{
            ec{"Kamtxatka"}
        }
        "Asia:Krasnoyarsk"{
            ec{"Krasnoiarsk"}
        }
        "Asia:Makassar"{
            ec{"Makasar"}
        }
        "Asia:Samarkand"{
            ec{"Samarcanda"}
        }
        "Asia:Urumqi"{
            ec{"Urumchi"}
        }
        "Asia:Yakutsk"{
            ec{"Jakutsk"}
        }
        "Asia:Yekaterinburg"{
            ec{"Jekaterinburg"}
        }
        "Atlantic:Azores"{
            ec{"Açores"}
        }
        "Atlantic:Canary"{
            ec{"Illes Canàries"}
        }
        "Etc:Unknown"{
            ec{"Zona desconeguda"}
        }
        "Europe:Kiev"{
            ec{"Kíev"}
        }
        "Europe:Moscow"{
            ec{"Moscou"}
        }
        "Pacific:Easter"{
            ec{"Illa de Pasqua"}
        }
        "Pacific:Galapagos"{
            ec{"Galápagos"}
        }
        "Pacific:Marquesas"{
            ec{"Marqueses"}
        }
        "meta:Africa_Central"{
            ls{"Hora d'Àfrica Central"}
        }
        "meta:Africa_Eastern"{
            ls{"Hora d'Àfrica Oriental"}
        }
        "meta:Africa_Southern"{
            ls{"Hora d'Àfrica Austral"}
        }
        "meta:Africa_Western"{
            ld{"Hora d'estiu d'Àfrica Occidental"}
            ls{"Hora d'Àfrica Occidental"}
        }
        "meta:America_Central"{
            ld{"Hora d'estiu central"}
            lg{"Hora central"}
            ls{"Hora estàndard central"}
            sd{"CDT"}
            sg{"CT"}
            ss{"CST"}
        }
        "meta:America_Eastern"{
            ld{"Hora d'estiu oriental"}
            lg{"Hora oriental"}
            ls{"Hora estàndard oriental"}
            sd{"EDT"}
            sg{"ET"}
            ss{"EST"}
        }
        "meta:America_Mountain"{
            ld{"Hora d'estiu de muntanya"}
            lg{"Hora de muntanya"}
            ls{"Hora estàndard de muntanya"}
            sd{"MDT"}
            sg{"MT"}
            ss{"MST"}
        }
        "meta:America_Pacific"{
            ld{"Hora d'estiu del Pacífic"}
            lg{"Hora del Pacífic"}
            ls{"Hora estàndard del Pacífic"}
            sd{"PDT"}
            sg{"PT"}
            ss{"PST"}
        }
        "meta:Arabian"{
            ld{"Hora d'estiu d'Aràbia"}
            lg{"Hora d'Aràbia"}
            ls{"Hora estàndard d'Aràbia"}
            sd{"ADT (Aràbia)"}
            sg{"AT (Aràbia)"}
            ss{"AST (Aràbia)"}
        }
        "meta:Atlantic"{
            ld{"Hora d'estiu de l'Atlàntic"}
            lg{"Hora de l'Atlàntic"}
            ls{"Hora estàndard de l'Atlàntic"}
            sd{"ADT"}
            sg{"AT"}
            ss{"AST"}
        }
        "meta:China"{
            ls{"Hora estàndard de la Xina"}
            ss{"CST (Xina)"}
        }
        "meta:Europe_Central"{
            ld{"Hora Central Europea de l'estiu"}
            lg{"Hora d'Espanya"}
            ls{"Hora Central Europea"}
            sd{"CEST"}
            sg{"Hora d'Espanya"}
            ss{"CET"}
        }
        "meta:Europe_Eastern"{
            ld{"Hora d'estiu d'Europa de l'Est"}
            ls{"Hora d'Europa de l'Est"}
            sd{"EEST"}
            ss{"EET"}
        }
        "meta:Europe_Western"{
            ld{"Hora d'estiu d'Europa Occidental"}
            ls{"Hora d'Europa Occidental"}
            sd{"WEST"}
            ss{"WET"}
        }
        "meta:GMT"{
            ls{"Hora mitjana de Greenwich"}
            ss{"GMT"}
        }
        "meta:India"{
            ls{"Hora estàndard de l'Índia"}
        }
        "meta:Israel"{
            ld{"Hora d'estiu d'Israel"}
            ls{"Hora estàndard d'Israel"}
            ss{"IST (Israel)"}
        }
        "meta:Japan"{
            ls{"Hora estàndard del Japó"}
        }
        "meta:Korea"{
            ls{"Hora estàndard de Corea"}
        }
        "meta:Kuybyshev"{
            ld{"Hora d'estiu de Kujbysev"}
            ls{"Hora de Kujbysev"}
        }
        "meta:Moscow"{
            ld{"Hora d'estiu de Moscou"}
            ls{"Hora de Moscou"}
        }
        "meta:Samara"{
            ld{"Hora d'estiu de Samara"}
            ls{"Hora de Samara"}
        }
        "meta:Turkey"{
            ld{"Hora d'estiu de Turquia"}
            ls{"Hora de Turquia"}
        }
        "meta:Volgograd"{
            ld{"Hora d'estiu de Volgograd"}
            ls{"Hora de Volgograd"}
        }
        fallbackFormat{"{1} ({0})"}
        gmtFormat{"GMT{0}"}
        hourFormat{"+HH:mm;-HH:mm"}
        regionFormat{"Hora de: {0}"}
    }
}
