﻿// ***************************************************************************
// *
// * 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/te.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/te.xml
 */
te{
    AuxExemplarCharacters{"[\u200C \u200D ౦-౯]"}
    Countries{
        BR{"బ్రజిల్"}
        CN{"చైనా"}
        DE{"ఙర్మని"}
        FR{"ఫ్రాన్స్‌"}
        GB{"బ్రిటన్"}
        IN{"భారత దేళం"}
        IT{"ఇటలి"}
        JP{"జపాసు"}
        RU{"రష్య"}
        US{"ఐక్య రాష్ట్ర అమెరిక"}
    }
    Currencies{
        BRL{
            "రి$",
            "బ్రజిల్ దేశ రియాల్",
        }
        CNY{
            "యు",
            "చైనా  దేశ యువాన్ రెన్‌మిన్‌బి",
        }
        EUR{
            "€",
            "యురొ",
        }
        GBP{
            "£",
            "బ్ిటిష్ పౌన్డ స్టెర్లిగ్",
        }
        INR{
            "రూ.",
            "రూపాయి",
        }
        JPY{
            "¥",
            "జపాను దేశ యెస్",
        }
        RUB{
            "రూబల్",
            "రష్య దేశ రూబల్",
        }
        USD{
            "$",
            "ఐక్య రాష్ట్ర అమెరిక డాలర్",
        }
    }
    ExemplarCharacters{"[అ-ఋ ౠ ఌ ౡ ఎ-ఐ ఒ-న ప-ళ వ-హ ఁ-ః ్ ా-ౄ ె-ై ొ-ౌ ౕ ౖ]"}
    Languages{
        ar{"అరబిక్"}
        de{"ఙర్మన్"}
        en{"ఆంగ్లం"}
        es{"స్పానిష్"}
        fr{"ఫ్రెంచ్"}
        hi{"హిందీ"}
        it{"ఇటాలియన్ భాష"}
        ja{"జపాను భాష"}
        pt{"పొర్చుగల్ భాష"}
        ru{"రష్యన్ భాష"}
        te{"తెలుగు"}
        zh{"చైనా భాష"}
    }
    LocaleScript{
        "Telu",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "౦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    Scripts{
        Arab{"అరబ్బి లిపి"}
        Cyrl{"సిరిలిక్ లిపి"}
        Hans{"సరళమైన చైనా లిపి"}
        Hant{"ప్రాచీన చైనా లిపి"}
        Latn{"లాటిన్"}
        Telu{"తెలుగు"}
    }
    Variants{
        1901{"ప్రాచీన ఙర్మన వర్ణక్రమం"}
        1996{"1996 ఙర్మన వర్ణక్రమం"}
        REVISED{"సవరించబడిన వర్ణక్రమం"}
    }
    Version{"1.52"}
    calendar{
        gregorian{
            AmPmMarkers{
                "పూర్వాహ్నం",
                "అపరాహ్నం",
            }
            dayNames{
                format{
                    abbreviated{
                        "ఆది",
                        "సోమ",
                        "మంగళ",
                        "బుధ",
                        "గురు",
                        "శుక్ర",
                        "శని",
                    }
                    wide{
                        "ఆదివారం",
                        "సోమవారం",
                        "మంగళవారం",
                        "బుధవారం",
                        "గురువారం",
                        "శుక్రవారం",
                        "శనివారం",
                    }
                }
                stand-alone{
                    narrow{
                        "ఆ",
                        "2",
                        "సొ",
                        "భు",
                        "గు",
                        "శు",
                        "శ",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                    wide{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                }
                stand-alone{
                    narrow{
                        "జ",
                        "ఫి",
                        "మ",
                        "ఎ",
                        "మె",
                        "జు",
                        "జు",
                        "ఆ",
                        "సె",
                        "అ",
                        "న",
                        "డి",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "ఒకటి  1",
                        "రెండు  2",
                        "మూడు 3",
                        "నాలుగు 4",
                    }
                }
            }
        }
    }
}
