﻿// ***************************************************************************
// *
// * Copyright (C) 2006 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/bn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/bn.xml
 */
bn{
    AuxExemplarCharacters{"[\u200C \u200D ৸ ৹ ৲ ৳ ০-৪ ৷ ৫-ৱ]"}
    Countries{
        AF{"আফগানিস্তান"}
        AL{"আলব্যানিয়া"}
        AM{"আর্মেনিয়া"}
        AR{"আর্জেণ্টাইনা"}
        AT{"অস্ট্রিয়া"}
        AU{"অস্ট্রেলিয়া"}
        AZ{"আজারবাইজান"}
        BD{"বাংলাদেশ"}
        BE{"বেল্জিয়ম"}
        BG{"বুলগেরিয়া"}
        BO{"বোলিভিয়া"}
        BR{"ব্রাজিল"}
        BT{"ভুটান"}
        BY{"বেলোরুশিয়া"}
        CG{"কঙ্গো"}
        CH{"সুইজর্লণ্ড"}
        CL{"চিলি"}
        CN{"চীন"}
        CO{"কোলোম্বিয়া"}
        CR{"কোস্টারিকা"}
        CU{"কিউবা"}
        CZ{"চেকিয়া"}
        DE{"জার্মানি"}
        DK{"ডেন্মার্ক"}
        DZ{"এলজিরিয়া"}
        EC{"ইকোয়াডর"}
        EE{"এস্তোনিয়া"}
        EG{"মিশর"}
        EH{"পশ্চিমী সাহারা"}
        ES{"স্পেন"}
        ET{"ইফিওপিয়া"}
        FI{"ফিন্ল্যাণ্ড"}
        FR{"ফ্রান্স"}
        GB{"গ্রেটবৃটেন"}
        GE{"জর্জিয়া"}
        GH{"গানা"}
        GR{"গ্রীস্"}
        GT{"গোয়াটিমালা"}
        GY{"গিয়ানা"}
        HN{"হণ্ডুরাস"}
        HU{"হাঙ্গেরি"}
        ID{"ইন্দোনেশিয়া"}
        IE{"আয়ার্লণ্ড"}
        IL{"ইস্রায়েল"}
        IN{"ভারত"}
        IQ{"ইরাক"}
        IR{"ইরান"}
        IS{"আইসলণ্ড"}
        IT{"ইতালী"}
        JM{"জ্যামেকা"}
        JO{"জর্ডন"}
        JP{"জাপান"}
        KE{"কেনিয়া"}
        KG{"কির্গিজিয়া"}
        KH{"কাম্বোজ"}
        KR{"দক্ষিণ কোরিয়া"}
        KZ{"কাজাকস্থান"}
        LA{"লাওস"}
        LB{"লেবানন"}
        LK{"শ্রীলঙ্কা"}
        LR{"লাইবিরিয়া"}
        LT{"লিত্ভা"}
        LU{"লাক্সেমবার্গ"}
        LV{"লাত্ভিয়া"}
        LY{"লিবিয়া"}
        MA{"মোরক্কো"}
        MD{"মোল্দাভিয়া"}
        MG{"মাদাগাস্কার"}
        MN{"মঙ্গোলিয়া"}
        MX{"মক্সিকো"}
        MY{"মাল্যাশিয়া"}
        NI{"নিকারাগোয়া"}
        NL{"হলণ্ড"}
        NO{"নরওয়ে"}
        NP{"নেপাল"}
        NZ{"নিউ জিলণ্ড"}
        PA{"পানামা"}
        PE{"পিরু"}
        PH{"ফিলিপাইন"}
        PK{"পাকিস্তান"}
        PL{"পোল্যাণ্ড"}
        PT{"পর্তুগাল"}
        PY{"প্যারাগোয়ে"}
        RO{"রুমানিয়া"}
        RU{"রাশিয়া"}
        SA{"সাউদি আরব"}
        SD{"সুদান"}
        SE{"সুইডেন"}
        SG{"সিঙ্গাপুর"}
        SK{"শ্লোভাকিয়া"}
        SO{"সোমালি"}
        SV{"সালভেডর"}
        SY{"সিরিয়া"}
        TH{"থাই"}
        TJ{"তাজিকস্থান"}
        TM{"তুর্কমেনিয়া"}
        TN{"টিউনিস্"}
        TR{"তুরস্ক"}
        TW{"তাইওয়ান"}
        UA{"ইউক্রেইন"}
        US{"মার্কিন যুক্তরাষ্ট্র"}
        UY{"উরুগোয়ে"}
        UZ{"উজ্বেকিস্থান"}
        VE{"ভেনেজুয়েলা"}
        VN{"ভিয়েতনাম"}
        YE{"ইমেন"}
        ZA{"দক্ষিণ আফ্রিকা"}
    }
    Currencies{
        BDT{
            "৳",
            "BDT",
        }
        INR{
            "টাকা",
            "INR",
        }
    }
    ExemplarCharacters{
        "[় ঁ-ঃ ৺ অ-ঋ ৠ ঌ ৡ এ ঐ ও-ড {ড়} ঢ {ঢ়} ণ ত ৎ থ-ন প-য {য়} র ল শ-হ ঽ-ৄ ৢ ৣ ে "
        "ৈ ো-্ ৗ]"
    }
    Languages{
        bn{"বাংলা"}
    }
    LocaleScript{
        "Beng",
    }
    Version{"1.49"}
    calendar{
        gregorian{
            AmPmMarkers{
                "পূর্বাহ্ণ",
                "অপরাহ্ণ",
            }
            dayNames{
                format{
                    abbreviated{
                        "রবি",
                        "সোম",
                        "মঙ্গল",
                        "বুধ",
                        "বৃহস্পতি",
                        "শুক্র",
                        "শনি",
                    }
                    wide{
                        "রবিবার",
                        "সোমবার",
                        "মঙ্গলবার",
                        "বুধবার",
                        "বৃহষ্পতিবার",
                        "শুক্রবার",
                        "শনিবার",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "জানুয়ারী",
                        "ফেব্রুয়ারী",
                        "মার্চ",
                        "এপ্রিল",
                        "মে",
                        "জুন",
                        "জুলাই",
                        "আগস্ট",
                        "সেপ্টেম্বর",
                        "অক্টোবর",
                        "নভেম্বর",
                        "ডিসেম্বর",
                    }
                    wide{
                        "জানুয়ারী",
                        "ফেব্রুয়ারী",
                        "মার্চ",
                        "এপ্রিল",
                        "মে",
                        "জুন",
                        "জুলাই",
                        "আগস্ট",
                        "সেপ্টেম্বর",
                        "অক্টোবর",
                        "নভেম্বর",
                        "ডিসেম্বর",
                    }
                }
            }
        }
    }
}
