<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License
   -->

<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="toast_text_copied" msgid="8327159932780920627">"Metin kopyalandı"</string>
    <string name="call_custom" msgid="2786306789889210756">"Sesli arama yap (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
    <string name="call_home" msgid="1479549630992276827">"Sesli arama yap (ev)"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Sesli arama yap (mobil)"</string>
    <string name="call_work" msgid="8299062439076337075">"Sesli arama yap (iş)"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Sesli arama yap (iş faksı)"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Sesli arama yap (ev faksı)"</string>
    <string name="call_pager" msgid="3038080882899955112">"Sesli arama yap (çağrı cihazı)"</string>
    <string name="call_other" msgid="4472141328347894937">"Sesli arama yap"</string>
    <string name="call_callback" msgid="687494744634190411">"Sesli arama yap (geri arama)"</string>
    <string name="call_car" msgid="9078083109758282133">"Sesli arama yap (araç)"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Sesli arama yap (şirket ana hattı)"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Sesli arama yap (ISDN)"</string>
    <string name="call_main" msgid="4640261071249938558">"Sesli arama yap (santral)"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Sesli arama yap (faks)"</string>
    <string name="call_radio" msgid="9055749313292712021">"Sesli arama yap (telsiz)"</string>
    <string name="call_telex" msgid="2909886619224843563">"Sesli arama yap (teleks)"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Sesli arama yap (TTY/TDD)"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Sesli arama yap (iş cep telefonu)"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Sesli arama yap (iş çağrı cihazı)"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Sesli arama yap (<xliff:g id="ASSISTANT">%s</xliff:g>)"</string>
    <string name="call_mms" msgid="8998771923464696960">"Sesli arama yap (MMS)"</string>
    <string name="sms_custom" msgid="4601748252470175865">"SMS gönder (<xliff:g id="CUSTOM">%s</xliff:g>)"</string>
    <string name="sms_home" msgid="7765831490534280540">"SMS gönder (ev)"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"SMS gönder (mobil)"</string>
    <string name="sms_work" msgid="3910570578912367742">"SMS gönder (iş)"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"SMS gönder (iş faksı)"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"SMS gönder (ev faksı)"</string>
    <string name="sms_pager" msgid="5664381349583724906">"SMS gönder (çağrı cihazı)"</string>
    <string name="sms_other" msgid="910895193552957097">"SMS gönder"</string>
    <string name="sms_callback" msgid="728414485478941361">"SMS gönder (geri arama)"</string>
    <string name="sms_car" msgid="8543669230270954512">"SMS gönder (araç)"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"SMS gönder (şirket santrali)"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"SMS gönder (ISDN)"</string>
    <string name="sms_main" msgid="6815987840926184815">"SMS gönder (santral)"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"SMS gönder (faks)"</string>
    <string name="sms_radio" msgid="8750339218480745940">"SMS gönder (telsiz)"</string>
    <string name="sms_telex" msgid="5469333785775443999">"SMS gönder (teleks)"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"SMS gönder (TTY/TDD)"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"SMS gönder (iş cep telefonu)"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"SMS gönder (iş çağrı cihazı)"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"SMS gönder (<xliff:g id="ASSISTANT">%s</xliff:g>)"</string>
    <string name="sms_mms" msgid="4887206338311086612">"SMS gönder (MMS)"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"Sık iletişim kurulanlar silinsin mi?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"Kişiler ve Telefon uygulamalarındaki sık iletişim kurulanlar listesini temizleyecek ve e-posta uygulamalarını adres tercihlerinizi en baştan öğrenmeye zorlayacaksınız."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"Sık iletişim kurulanlar siliniyor…"</string>
    <string name="status_available" msgid="4832569677396634846">"Müsait"</string>
    <string name="status_away" msgid="6267905184545881094">"Dışarıda"</string>
    <string name="status_busy" msgid="7111912905211403545">"Meşgul"</string>
    <string name="contactsList" msgid="7140022347217602605">"Kişiler"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Diğer"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Dizin"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Tüm kişiler"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Ben"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"Aranıyor…"</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"<xliff:g id="COUNT">%d</xliff:g> kişiden fazla bulundu."</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"Kişi yok"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"1 kişi bulundu"</item>
    <item quantity="other" msgid="4649647748678161594">"<xliff:g id="COUNT">%d</xliff:g> kişi bulundu"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"<xliff:g id="NAME">%1$s</xliff:g> için hızlı kişi"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Adsız)"</string>
    <!-- no translation found for favoritesFrequentCalled (6600127125011757687) -->
    <skip />
    <!-- no translation found for favoritesFrequentContacted (2849493314447751970) -->
    <skip />
    <string name="description_view_contact_detail" msgid="2756753096193839285">"Kişiyi görüntüle"</string>
    <!-- no translation found for list_filter_phones (3692815632088465422) -->
    <skip />
</resources>
