﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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{
        x{"專用區"}
    }
    Languages{
        de_CH{"瑞士德語"}
        gsw{"德文 (瑞士)"}
        it{"意大利文"}
        lol{"蒙古語"}
        pt_BR{"巴西葡萄牙語"}
    }
    LanguagesShort{
        az{"阿澤里"}
    }
    Scripts{
        Cyrl{"西里爾語字母"}
        Deva{"梵文"}
        Hang{"韓文字母"}
    }
    Scripts%stand-alone{
        Hant{"繁體漢字"}
    }
    Types{
        calendar{
            ethiopic{"埃及曆"}
            ethiopic-amete-alem{"埃塞俄比亞阿美德阿萊姆曆"}
        }
        collation{
            big5han{"繁體中文順序 (Big5)"}
            dictionary{"詞典排序"}
            ducet{"預設統一碼排序"}
            gb2312han{"簡體中文順序 (GB2312)"}
            reformed{"改革版排序"}
            search{"一般用途搜索"}
            unihan{"筆劃排序"}
        }
        numbers{
            arab{"阿拉伯印度語位數"}
            arabext{"擴展阿拉伯語印度語位數"}
            armnlow{"亞美尼亞小寫數字"}
            beng{"孟加拉語位數"}
            deva{"梵文位數"}
            ethi{"埃塞俄比亞數詞"}
            fullwide{"全寬位數"}
            geor{"格魯吉亞數字"}
            grek{"希臘語數字"}
            greklow{"希臘小寫數字"}
            gujr{"古加拉特語位數"}
            guru{"果魯穆奇語位數"}
            hanidec{"中文小數位"}
            hans{"簡體中文數字"}
            hansfin{"簡體中文金融數字"}
            hant{"繁體中文數字"}
            hantfin{"繁體中文金融數字"}
            hebr{"希伯萊語數字"}
            jpan{"日本數字"}
            jpanfin{"日本金融數字"}
            khmr{"高棉位數"}
            knda{"卡納達語位數"}
            laoo{"老撾文位數"}
            latn{"西方位數"}
            mlym{"馬來亞位數"}
            mong{"蒙古文位數"}
            mymr{"緬甸語位數"}
            orya{"奧里亞語位數"}
            romanlow{"羅馬小寫數字"}
            taml{"泰米爾語數字"}
            telu{"泰盧固語位數"}
            thai{"泰文位數"}
            tibt{"藏文位數"}
        }
    }
    Variants{
        1901{"傳統德國拼字法"}
        1996{"1996 德國拼字法"}
        BISKE{"San Giorgio/Bila 方言"}
        REVISED{"已修訂拼字法"}
        SCOTLAND{"蘇格蘭標準英語"}
    }
    Version{"2.0.75.99"}
}
