﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zh_Hant_HK.xml
// *
// ***************************************************************************
zh_Hant_HK{
    Keys{
        ms{"度量衡系統"}
    }
    Languages{
        az{"阿塞拜疆文"}
        az_Arab{"南阿塞拜疆文"}
        ba{"巴什基爾文"}
        br{"布里多尼文"}
        bs{"波斯尼亞文"}
        ca{"加泰隆尼亞文"}
        de_AT{"奧地利德文"}
        de_CH{"瑞士德語"}
        en_AU{"澳洲英文"}
        en_CA{"加拿大英文"}
        en_GB{"英國英文"}
        en_US{"美國英文"}
        eo{"世界語"}
        es_419{"拉丁美洲西班牙文"}
        es_ES{"歐洲西班牙文"}
        es_MX{"墨西哥西班牙文"}
        fr_CA{"加拿大法文"}
        fr_CH{"瑞士法文"}
        gl{"加里西亞文"}
        gsw{"瑞士德文"}
        hr{"克羅地亞文"}
        it{"意大利文"}
        ka{"格魯吉亞文"}
        kn{"坎納達文"}
        lo{"老撾文"}
        mfe{"毛里裘斯克里奧爾文"}
        mg{"馬拉加斯文"}
        ml{"馬拉雅拉姆文"}
        mt{"馬耳他文"}
        nds_NL{"荷蘭低地德文"}
        nqo{"西非書面語言（N’ko）"}
        or{"奧里雅文"}
        pt_BR{"巴西葡萄牙語"}
        pt_PT{"歐洲葡萄牙文"}
        ro_MD{"摩爾多瓦羅馬尼亞文"}
        rw{"盧旺達文"}
        sd{"信德語"}
        sl{"斯洛文尼亞文"}
        smn{"伊納里薩米文"}
        sn{"修納文"}
        so{"索馬里文"}
        sw_CD{"剛果史瓦希里文"}
        ta{"泰米爾文"}
        to{"湯加文"}
        ur{"烏爾都文"}
        wbp{"瓦爾皮里文"}
        zgh{"摩洛哥標準塔馬齊格特文"}
    }
    Languages%short{
        az{"阿澤里"}
        en_GB{"英式英文"}
        en_US{"美式英文"}
    }
    Languages%variant{
        ps{"普什圖語"}
        ug{"維吾爾語"}
    }
    Scripts{
        Cyrl{"西里爾文"}
        Deva{"梵文"}
        Ethi{"埃塞俄比亞文"}
        Geor{"格魯吉亞文"}
        Guru{"古木基文"}
        Hang{"韓文字母"}
        Hans{"簡體字"}
        Hant{"繁體字"}
        Knda{"坎納達文"}
        Laoo{"老撾文"}
        Latn{"拉丁字母"}
        Mlym{"馬拉雅拉姆文"}
        Orya{"奧里雅文"}
        Sinh{"僧伽羅文"}
        Taml{"泰米爾文"}
        Thaa{"它拿字母"}
        Tibt{"藏文"}
    }
    Types{
        calendar{
            ethiopic{"埃及曆"}
            ethiopic-amete-alem{"埃塞俄比亞阿美德阿萊姆曆"}
        }
        collation{
            big5han{"繁體中文排序 (Big5)"}
            dictionary{"詞典排序"}
            gb2312han{"簡體中文排序 (GB2312)"}
            reformed{"改革版排序"}
        }
        ms{
            uksystem{"英制"}
            ussystem{"美制"}
        }
        numbers{
            deva{"天城體數字"}
            ethi{"埃塞俄比亞數字"}
            geor{"格魯吉亞數字"}
            knda{"卡納達數字"}
            laoo{"老撾數字"}
            mlym{"馬拉雅拉姆數字"}
            orya{"奧里亞數字"}
            taml{"泰米爾數字"}
            tamldec{"泰米爾數字"}
        }
    }
    Variants{
        1901{"傳統德國拼字法"}
        1996{"1996 德國拼字法"}
        REVISED{"已修訂拼字法"}
        SCOTLAND{"蘇格蘭標準英語"}
    }
    Version{"2.1.22.17"}
}
