﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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 ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯]"}
    ExemplarCharacters{
        "[అ ఆ ఇ ఈ ఉ ఊ ఋ ౠ ఌ ౡ ఎ ఏ ఐ ఒ ఓ ఔ ఁ ం ః క ఖ గ ఘ ఙ చ ఛ జ ఝ ఞ ట ఠ డ ఢ ణ త థ ద ధ"
        " న ప ఫ బ భ మ య ర ఱ ల వ శ ష స హ ళ \u0C3E \u0C3F \u0C40 ు ూ ృ ౄ \u0C46 \u0C47 "
        "\u0C48 \u0C4A \u0C4B \u0C4C \u0C4D \u0C55 \u0C56]"
    }
    ExemplarCharactersIndex{
        "[అ ఆ ఇ ఈ ఉ ఊ ఋ ౠ ఎ ఏ ఐ ఒ ఓ ఔ క ఖ గ ఘ ఙ చ ఛ జ ఝ ఞ ట ఠ డ ఢ ణ త థ ద ధ న ప ఫ బ భ"
        " మ య ర ఱ ల వ శ ష స హ ళ]"
    }
    LocaleScript{
        "Telu",
    }
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"¤ #,##,##0.00"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
            }
            symbols{
                exponential{"తూ"}
            }
        }
    }
    Version{"2.0.65.46"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ఉ",
                "సా",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd-MM-yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                MEd{"E, d/M"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd-MM"}
                Md{"d/M"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d, MMM y"}
                yMMMd{"d, MMM y"}
                yMd{"d/M/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyQ{"Q yy"}
                yyyyMM{"MM-yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ఆది",
                        "సోమ",
                        "మంగళ",
                        "బుధ",
                        "గురు",
                        "శుక్ర",
                        "శని",
                    }
                    wide{
                        "ఆదివారం",
                        "సోమవారం",
                        "మంగళవారం",
                        "బుధవారం",
                        "గురువారం",
                        "శుక్రవారం",
                        "శనివారం",
                    }
                }
                stand-alone{
                    narrow{
                        "ఆ",
                        "సో",
                        "మ",
                        "బు",
                        "గు",
                        "శు",
                        "శ",
                    }
                    wide{
                        "ఆదివారం",
                        "సోమవారం",
                        "మంగళవారం",
                        "బుధవారం",
                        "గురువారం",
                        "శుక్రవారం",
                        "శనివారం",
                    }
                }
            }
            eras{
                abbreviated{
                    "ఈసాపూర్వ.",
                    "సన్.",
                }
                wide{
                    "ఈసాపూర్వ.",
                    "సన్.",
                }
            }
            fields{
                day{
                    dn{"దినం"}
                    relative{
                        "-1"{"నిన్న"}
                        "-2"{"మొన్న"}
                        "0"{"ఈ రోజు"}
                        "1"{"రేపు"}
                        "2"{"ఎల్లుండి"}
                    }
                }
                dayperiod{
                    dn{"AM/PM"}
                }
                era{
                    dn{"యుగం, శకము"}
                }
                hour{
                    dn{"గంట"}
                }
                minute{
                    dn{"నిమిషము"}
                }
                month{
                    dn{"నెల"}
                    relative{
                        "-1"{"గత నెల"}
                        "0"{"ఈ నెల"}
                        "1"{"తర్వాతి నెల"}
                    }
                }
                second{
                    dn{"క్షణం"}
                }
                week{
                    dn{"వారము"}
                    relative{
                        "-1"{"గత వారం"}
                        "0"{"ఈ వారం"}
                        "1"{"తదుపరి వారం"}
                    }
                }
                weekday{
                    dn{"వారంలో రోజు"}
                }
                year{
                    dn{"సంవత్సరం"}
                    relative{
                        "-1"{"మునుపటి సంవత్సరం"}
                        "0"{"ఈ సంవత్సరం"}
                        "1"{"తర్వాతి సంవత్సరం"}
                    }
                }
                zone{
                    dn{"మండలం"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఎప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                    wide{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఎప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                }
                stand-alone{
                    abbreviated{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఎప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                    narrow{
                        "జ",
                        "ఫి",
                        "మ",
                        "ఎ",
                        "మె",
                        "జు",
                        "జు",
                        "ఆ",
                        "సె",
                        "అ",
                        "న",
                        "డి",
                    }
                    wide{
                        "జనవరి",
                        "ఫిబ్రవరి",
                        "మార్చి",
                        "ఎప్రిల్",
                        "మే",
                        "జూన్",
                        "జూలై",
                        "ఆగస్టు",
                        "సెప్టెంబర్",
                        "అక్టోబర్",
                        "నవంబర్",
                        "డిసెంబర్",
                    }
                }
            }
            quarters{
                format{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "ఒకటి 1",
                        "రెండు 2",
                        "మూడు 3",
                        "నాలుగు 4",
                    }
                }
                stand-alone{
                    wide{
                        "మొదటి త్రైమాసికం",
                        "రెండవ త్రైమాసికం",
                        "మూడవ త్రైమాసికం",
                        "నాల్గవ త్రైమాసికం",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} మరియు {1}"}
            end{"{0} మరియు {1}"}
        }
    }
    measurementSystemNames{
        metric{"దశాంశం"}
    }
    units{
        day{
            0{"0 రోజులు"}
            1{"1 రోజు"}
            other{"{0} days"}
        }
        day-future{
            0{"0 రోజుల్లో"}
            1{"1 రోజులో"}
            other{"{0} రోజుల్లో"}
        }
        day-past{
            0{"0 రోజుల క్రితం"}
            1{"1 రోజు క్రితం"}
            other{"{0} రోజుల క్రితం"}
        }
        hour{
            0{"0 గంటలు"}
            1{"1 గంట"}
            other{"{0} గంటలు"}
        }
        hour-future{
            0{"0 గంటల్లో"}
            1{"1 గంటలో"}
            other{"{0} గంటల్లో"}
        }
        hour-past{
            0{"0 గంటల క్రితం"}
            1{"1 గంట క్రితం"}
            other{"{0} గంటల క్రితం"}
        }
        minute{
            0{"0 నిమిషాలు"}
            1{"1 నిమిషం"}
            other{"{0} నిమిషాలు"}
        }
        minute-future{
            0{"0 నిమిషాల్లో"}
            1{"1 నిమిషంలో"}
            other{"{0} నిమిషాల్లో"}
        }
        minute-past{
            0{"0 నిమిషాల క్రితం"}
            1{"1 నిమిషం క్రితం"}
            other{"{0} నిమిషాల క్రితం"}
        }
        month{
            0{"0 నెలలు"}
            1{"1 నెల"}
            other{"{0} నెలలు"}
        }
        month-future{
            0{"0 నెలల్లో"}
            1{"1 నెలలో"}
            other{"{0} నెలల్లో"}
        }
        month-past{
            0{"0 నెలల క్రితం"}
            1{"1 నెల క్రితం"}
            other{"{0} నెలల క్రితం"}
        }
        second{
            0{"0 సెకన్లు"}
            1{"1 సెకన్"}
            other{"{0} సెకన్లు"}
        }
        second-future{
            0{"0 సెకన్లలో"}
            1{"1 సెకన్‌లో"}
            other{"{0} సెకన్లలో"}
        }
        second-past{
            0{"0 సెకన్ల క్రితం"}
            1{"1 సెకను క్రితం"}
            other{"{0} సెకన్ల క్రితం"}
        }
        week{
            0{"0 వారాలు"}
            1{"1 వారం"}
            other{"{0} weeks"}
        }
        week-future{
            0{"0 వారాల్లో"}
            1{"1 వారంలో"}
            other{"{0} వారాల్లో"}
        }
        week-past{
            0{"0 వారాల క్రితం"}
            1{"1 వారం క్రితం"}
            other{"{0} వారాల క్రితం"}
        }
        year{
            0{"0 సంవత్సరాలు"}
            1{"1 సంవత్సరం"}
            other{"{0} సంవత్సరాలు"}
        }
        year-future{
            0{"0 సంవత్సరాల్లో"}
            1{"1 సంవత్సరంలో"}
            other{"{0} సంవత్సరాల్లో"}
        }
        year-past{
            0{"0 సంవత్సరాల క్రితం"}
            1{"1 సంవత్సరం క్రితం"}
            other{"{0} సంవత్సరాల క్రితం"}
        }
    }
    unitsShort{
        day{
            0{"0 రోజులు"}
            1{"1 రోజు"}
            other{"{0} days"}
        }
        hour{
            0{"0 గంటలు"}
            1{"1 గంట"}
            other{"{0} గంటలు"}
        }
        minute{
            0{"0 నిమిషాలు"}
            1{"1 నిమిషం"}
            other{"{0} నిమిషాలు"}
        }
        month{
            0{"0 నెలలు"}
            1{"1 నెల"}
            other{"{0} నెలలు"}
        }
        second{
            0{"0 సెకన్లు"}
            1{"1 సెకను"}
            other{"{0} సెకన్లు"}
        }
        week{
            0{"0 వారాలు"}
            1{"1 వా"}
            other{"{0} వారాలు"}
        }
        year{
            0{"0 సంవత్సరాలు"}
            1{"1 సంవత్సరం"}
            other{"{0} సంవత్సరాలు"}
        }
    }
}
