﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kk.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kk.xml
 */
kk{
    Languages{
        de{"неміс тілі"}
        de_AT{"австриялық неміс тілі"}
        de_CH{"швейцариялық ұлы неміс тілі"}
        en{"ағылшын тілі"}
        en_AU{"австралиялық ағылшын тілі"}
        en_CA{"канадалық ағылшын тілі"}
        en_GB{"британиялық ағылшын тілі"}
        en_US{"АҚШ ағылшын тілі"}
        es{"испан тілі"}
        es_419{"Латин Америкалық испан тілі"}
        es_ES{"ибериялық испан тілі"}
        fr{"француз тілі"}
        fr_CA{"канадалық француз тілі"}
        fr_CH{"швейцариялық француз тілі"}
        it{"итальян тілі"}
        ja{"жапон тілі"}
        kk{"қазақ тілі"}
        pt{"португал тілі"}
        pt_BR{"бразилиялық португал тілі"}
        pt_PT{"ибериялық португал тілі"}
        ru{"орыс тілі"}
        und{"белгісіз тіл"}
        zh{"қытай тілі"}
        zh_Hans{"қарапайым қытай тілі"}
        zh_Hant{"дәстүрлік қытай тілі"}
    }
    Scripts{
        Arab{"араб жазылуы"}
        Cyrl{"кириллица"}
        Hans{"қарапайым қытай иероглифы"}
        Hant{"дәстүрлік қытай иероглифы"}
        Latn{"латын жазылуы"}
        Zxxx{"жазылуысыз"}
        Zzzz{"белгісіз жазылуы"}
    }
    Types{
        calendar{
            gregorian{"Грегориандық күнтізбе"}
        }
        numbers{
            latn{"Батыс сандары"}
        }
    }
    Version{"2.0.82.45"}
    codePatterns{
        language{"Тіл: {0}"}
        script{"Жазылуы: {0}"}
        territory{"Аймақ: {0}"}
    }
}
