﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/as.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/as.xml
 */
as{
    AuxExemplarCharacters{"[\u200C\u200D ৲]"}
    ExemplarCharacters{
        "[অ আ ই ঈ উ ঊ ঋ এ ঐ ও ঔ ং \u0981 ঃ ক খ গ ঘ ঙ চ ছ জ ঝ ঞ ট ঠ ড {ড\u09BC}ড় ঢ {ঢ"
        "\u09BC}ঢ় ণ ত থ দ ধ ন প ফ ব ভ ম য {য\u09BC} ৰ ল ৱ শ ষ স হ া ি ী \u09C1 \u09C2"
        " \u09C3 ে ৈ ো ৌ \u09CD]"
    }
    LocaleScript{
        "Beng",
    }
    NumberElements{
        default{"beng"}
        latn{
            patterns{
                currencyFormat{"¤ #,##,##0.00"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
            }
        }
        native{"beng"}
    }
    Version{"2.0.74.65"}
    calendar{
        gregorian{
            AmPmMarkers{
                "পূৰ্বাহ্ণ",
                "অপৰাহ্ণ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ৰবি",
                        "সোম",
                        "মঙ্গল",
                        "বুধ",
                        "বৃহষ্পতি",
                        "শুক্ৰ",
                        "শনি",
                    }
                    wide{
                        "দেওবাৰ",
                        "সোমবাৰ",
                        "মঙ্গলবাৰ",
                        "বুধবাৰ",
                        "বৃহষ্পতিবাৰ",
                        "শুক্ৰবাৰ",
                        "শনিবাৰ",
                    }
                }
            }
            fields{
                day{
                    dn{"দিন"}
                    relative{
                        "-1"{"কালি"}
                        "1"{"কাইলৈ"}
                        "2"{"পৰহিলৈ"}
                    }
                }
                era{
                    dn{"যুগ"}
                }
                hour{
                    dn{"ঘণ্টা"}
                }
                minute{
                    dn{"মিনিট"}
                }
                month{
                    dn{"মাহ"}
                }
                second{
                    dn{"ছেকেণ্ড"}
                }
                week{
                    dn{"সপ্তাহ"}
                }
                year{
                    dn{"বছৰ"}
                }
                zone{
                    dn{"ক্ষেত্ৰ"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "জানু",
                        "ফেব্ৰু",
                        "মাৰ্চ",
                        "এপ্ৰিল",
                        "মে",
                        "জুন",
                        "জুলাই",
                        "আগ",
                        "সেপ্ট",
                        "অক্টো",
                        "নভে",
                        "ডিসে",
                    }
                    wide{
                        "জানুৱাৰী",
                        "ফেব্ৰুৱাৰী",
                        "মাৰ্চ",
                        "এপ্ৰিল",
                        "মে",
                        "জুন",
                        "জুলাই",
                        "আগষ্ট",
                        "ছেপ্তেম্বৰ",
                        "অক্টোবৰ",
                        "নৱেম্বৰ",
                        "ডিচেম্বৰ",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "প্ৰথম প্ৰহৰ",
                        "দ্বিতীয় প্ৰহৰ",
                        "তৃতীয় প্ৰহৰ",
                        "চতুৰ্থ প্ৰহৰ",
                    }
                }
            }
        }
    }
    measurementSystemNames{
        US{"ইউ.এছ."}
        metric{"মেট্ৰিক"}
    }
}
