﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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{"telu"}
        latn{
            patterns{
                currencyFormat{"¤ #,##,##0.00"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
            }
            symbols{
                exponential{"తూ"}
            }
        }
    }
    Version{"2.0.58.79"}
    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{
                EEEd{"EEE 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{"EEE, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, 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"{"మొన్న"}
                        "-3"{"మూడు రోజుల ముందు"}
                        "0"{"ఈ రోజు"}
                        "1"{"రేపు"}
                        "2"{"ఎల్లుండి"}
                        "3"{"మూడు రోజుల తర్వాత"}
                    }
                }
                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} సంవత్సరాలు"}
        }
    }
}
