﻿// ***************************************************************************
// *
// * Copyright (C) 2007 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{
            "UK£",
            "బ్ిటిష్ పౌన్డ స్టెర్లిగ్",
        }
        INR{
            "రూ.",
            "రూపాయి",
        }
        JPY{
            "JP¥",
            "జపాను దేశ యెస్",
        }
        RUB{
            "రూబల్",
            "రష్య దేశ రూబల్",
        }
        USD{
            "US$",
            "ఐక్య రాష్ట్ర అమెరిక డాలర్",
        }
    }
    ExemplarCharacters{"[అ-ఋ ౠ ఌ ౡ ఎ-ఐ ఒ-న ప-ళ వ-హ ఁ-ః ్ ా-ౄ ె-ై ొ-ౌ ౕ ౖ]"}
    Languages{
        ar{"అరబిక్"}
        de{"ఙర్మన్"}
        en{"ఆంగ్లం"}
        es{"స్పానిష్"}
        fr{"ఫ్రెంచ్"}
        hi{"హిందీ"}
        it{"ఇటాలియన్ భాష"}
        ja{"జపాను భాష"}
        pt{"పొర్చుగల్ భాష"}
        ru{"రష్యన్ భాష"}
        te{"తెలుగు"}
        zh{"చైనా భాష"}
    }
    LocaleScript{
        "Telu",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "౦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##,##0.###",
        "¤ #,##,##0.00",
        "#,##,##0%",
        "#E0",
    }
    Scripts{
        Arab{"అరబ్బి లిపి"}
        Cyrl{"సిరిలిక్ లిపి"}
        Hans{"సరళమైన చైనా లిపి"}
        Hant{"ప్రాచీన చైనా లిపి"}
        Latn{"లాటిన్"}
        Telu{"తెలుగు"}
    }
    Variants{
        1901{"ప్రాచీన ఙర్మన వర్ణక్రమం"}
        1996{"1996 ఙర్మన వర్ణక్రమం"}
        REVISED{"సవరించబడిన వర్ణక్రమం"}
    }
    Version{"1.62"}
    calendar{
        gregorian{
            AmPmMarkers{
                "పూర్వాహ్నం",
                "అపరాహ్నం",
            }
            dayNames{
                format{
                    abbreviated{
                        "ఆది",
                        "సోమ",
                        "మంగళ",
                        "బుధ",
                        "గురు",
                        "శుక్ర",
                        "శని",
                    }
                    wide{
                        "ఆదివారం",
                        "సోమవారం",
                        "మంగళవారం",
                        "బుధవారం",
                        "గురువారం",
                        "శుక్రవారం",
                        "శనివారం",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                    wide{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "ఒకటి  1",
                        "రెండు  2",
                        "మూడు 3",
                        "నాలుగు 4",
                    }
                }
            }
        }
    }
}
