﻿  // -*- Coding: utf-8; -*-
// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// Singapore locale: Data By Syn Wee Quek


zh_SG {
    Version { "2.0" }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "\u00A4#,##0.00;-\u00A4#,##0.00",
        "#,##0%",
        "#E0",
    }
//    AmPmMarkers { 
//        "\u4E0A\u5348", // am
//        "\u4E0B\u5348" // pm
//    }
    DateTimePatterns {
        // most commonly used formal time format 
        "a hh:mm:ss",
        "a hh:mm:ss",
        "a hh:mm",
        "a hh:mm",
        // most commonly used date format
        "dd MMMM yyyy",
        "dd MMM yyyy",
        "dd-MMM-yy",
        "dd/MM/yy",
        "{1} {0}"
    }
    zoneStrings { 
        {
            "SST",
            "Singapore Standard Time",
            "SST",
            "Singapore Standard Time",
            "SST",
//            "Singapore"
        }
    }

    // Duplicates from zh locale according to Syn Wee have been removed.
    Languages
    {
        root { "\u6839 \u6e90" }

        //ar { "阿拉伯文" }       // Arabic
        //de { "德语" }           // German
        //el { "希腊语" }         // Greek
        //es { "西班牙语" }       // Spanish
        //eu { "巴斯克" }         // Basque
        //fr { "法语" }           // French
        //he { "希伯来语" }       // Hebrew
        //hi { "印度语" }         // Hindi
        //hu { "匈牙利语" }       // Hungarian
        //id { "印度尼西亚语" }   // Indonesian
        //it { "意大利语" }       // Italian
        //ja { "日语" }           // Japanese
        ko { "\u97e9\u6587" }           // Korean
//        ko { "韩语" }           // Korean
        //pl { "波兰" }           // Polish
        //pt { "葡萄牙语" }       // Portuguese
        //ro { "罗马尼亚语" }     // Romanian
        //ru { "俄语" }           // Russian
        sh { "\u585e\u5c14\u7ef4\u4e9a\u514b\u7f57\u5730\u4e9a\u6587" }   // SerboCroatian
//        sh { "塞尔维亚克罗" }   // SerboCroatian
        //sk { "斯洛伐克语" }     // Slovak
        //sl { "斯洛文尼亚语" }   // Slovenian
        //sq { "阿尔巴尼亚" }     // Albanian
        //sr { "塞尔维亚语" }     // Serbian
        //sv { "瑞典语" }         // Swedish
        //ta { "泰米尔语" }       // Tamil
        //th { "泰语" }           // Thai
        //tr { "土耳其语" }       // Turkish
        //vi { "越语" }           // Vietnamese
    }

    // Duplicates from zh locale according to Syn Wee have been removed.
    Countries
    {
        //AL { "\u963f\u5c14\u5df4\u5c3c\u4e9a" }
        //AE { "阿拉伯联合 "} #do not do this yet, missing a part.   United Arab Emirates 
        //AR { "阿根廷" }         // Argentina
        //AT { "奥地利" }         // Austria
        AU { "澳洲" }           // Australia
        //BE { "比利时" }         // Belgium
        //BY { "白俄罗斯" }       // Belarus
        //BG { "保加利亚" }       // Bulgaria
        //BH { "巴林" }           // Bahrain
        //BO { "玻利维亚" }       // Bolivia
        //BW { "博茨瓦纳" }       // Botswana
        //BR { "巴西" }           // Brazil
        //CA { "加拿大" }         // Canada
        //CH { "瑞士" }           // Switzerland
        //CL { "智利" }           // Chile
        //CO { "哥伦比亚" }       // Colombia
        //CR { "哥斯达黎加" }     // CostaRica
        CZ { "捷克" }           // Czech Republic
        //DE { "德国" }           // Germany
        //DK { "丹麦" }           // Denmark
        //DO { "多米尼加共和国" } // Dominican Republic
        //DZ { "阿尔及利亚" }     // Algeria
        //EC { "厄瓜多尔" }       // Ecuador
        //EE { "爱沙尼亚" }       // Estonia
        //EG { "埃及" }           // Egypt
        //ES { "西班牙" }         // Spain
        //FI { "芬兰" }           // Finland
        //FR { "法国" }           // France
        //GB { "英国" }           // UnitedKingdom
        GL { "格陵兰" }         // Greenland
        //GR { "希腊" }           // Greece
        //GT { "危地马拉" }       // Guatemala
        //HN { "洪都拉斯" }       // Honduras
        //HR { "克罗地亚" }       // Croatia
        //HU { "匈牙利" }         // Hungary
        ID { "印尼" }           // Indonesia
        //IE { "爱尔兰" }         // Ireland
        //IL { "以色列" }         // Israel
        //IN { "印度" }           // India
        //IQ { "伊拉克" }         // Iraq
        //IR { "伊朗" }           // Iran
        //IS { "冰岛" }           // Iceland
        //IT { "意大利" }         // Italy
        //JO { "约旦" }           // Jordan
        //JP { "日本" }           // Japan
        //KE { "肯尼亚" }         // Kenya
        KR { "南韩" }           // South Korea
        //KW { "科威特" }         // Kuwait
        //LB { "黎巴嫩" }         // Lebanon
        //LT { "立陶宛" }         // Lithuania
        //LU { "卢森堡" }         // Luxembourg
        //LV { "拉脱维亚" }       // Latvia
        //LY { "利比亚" }         // Libya
        //MA { "摩洛哥" }         // Morocco
        MK { "马其顿" }         // Macedonia
        //MT { "马耳他" }         // Malta
        //MX { "墨西哥" }         // Mexico
        //NI { "尼加拉瓜" }       // Nicaragua
        //NL { "荷兰" }           // Netherlands
        //NO { "挪威" }           // Norway
        NZ { "纽西兰" }         // New Zealand
        //OM { "阿曼" }           // Oman
        //PA { "巴拿马" }         // Panama
        //PE { "秘鲁" }           // Peru
        //PL { "波兰" }           // Poland
        PR { "波多黎各" }       // Puerto Rico
        //PT { "葡萄牙" }         // Portugal
        //PY { "巴拉圭" }         // Paraguay
        //QA { "卡塔尔" }         // Qatar
        //RO { "罗马尼亚" }       // Romania
        //RU { "俄罗斯" }         // Russia
        SA { "沙地阿拉伯" }     // Saudi Arabia
        //SD { "苏丹" }           // Sudan
        //SE { "瑞典" }           // Sweden
        //SI { "斯洛文尼亚" }     // Slovenia
        //SK { "斯洛伐克" }       // Slovakia
        //SV { "萨尔瓦多" }       // El Salvador
        //SY { "叙利亚" }         // Syria
        //TH { "泰国" }           // Thailand
        //TN { "突尼斯" }         // Tunisia
        //TR { "土耳其" }         // Turkey
        //TZ { "坦桑尼亚" }       // Tanzania
        //UA { "乌克兰" }         // Ukraine
        //US { "美国" }           // United States
        //UY { "乌拉圭" }         // Uruguay
        //VE { "委内瑞拉" }       // Venezuela
        //VN { "越南" }           // Vietnam
        //YE { "也门" }           // Yemen
        //YU { "南斯拉夫" }       // Yugoslavia
        //ZA { "\u5357\u975e" }   // South Africa
        //ZW { "津巴布韦" }       // Zimbabwe
    }
}
