﻿// ***************************************************************************
// *
// * Copyright (C) 2008 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 ౦-౯ b c e g m q t]"}
    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{"అరబ్బి లిపి"}
        Beng{"Beng"}
        Cyrl{"సిరిలిక్ లిపి"}
        Hans{"సరళమైన చైనా లిపి"}
        Hant{"ప్రాచీన చైనా లిపి"}
        Latn{"లాటిన్"}
        Telu{"తెలుగు"}
    }
    Variants{
        1901{"ప్రాచీన ఙర్మన వర్ణక్రమం"}
        1996{"1996 ఙర్మన వర్ణక్రమం"}
        REVISED{"సవరించబడిన వర్ణక్రమం"}
    }
    Version{"1.65"}
    calendar{
        gregorian{
            AmPmMarkers{
                "పూర్వాహ్నం",
                "అపరాహ్నం",
            }
            dayNames{
                format{
                    abbreviated{
                        "ఆది",
                        "సోమ",
                        "మంగళ",
                        "బుధ",
                        "గురు",
                        "శుక్ర",
                        "శని",
                    }
                    wide{
                        "ఆదివారం",
                        "సోమవారం",
                        "మంగళవారం",
                        "బుధవారం",
                        "గురువారం",
                        "శుక్రవారం",
                        "శనివారం",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                    wide{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఏప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "ఒకటి  1",
                        "రెండు  2",
                        "మూడు 3",
                        "నాలుగు 4",
                    }
                }
            }
        }
    }
}
