<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="app_name" msgid="1504397077706378597">"Ara"</string>
    <string name="search_widget" msgid="323244086853110381">"Ara"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Arama geçmişinden kaldır"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Öğe geçmişten kaldırılamadı"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Ara"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Tümü"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Web araması, yer işaretleri ve tarayıcı geçmişi"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Google Apps"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Yüklenen uygulamaların adları"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Google Apps\'ta Ara"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Arama ayarları"</string>
    <string name="search_settings" msgid="4101951238194600323">"Arama ayarları"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Google Arama"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Kısayolları temizle"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefon"</string>
    <string name="search_sources" msgid="505874718206340313">"Aranabilir öğeler"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Telefonda aranacak öğeleri seçin"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Kısayolları temizle"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"En son seçilen arama önerilerinin kısayollarını temizle"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Bu, en son seçilen arama önerilerinin kısayollarını temizler."\n\n"(Tarayıcı geçmişinizi temizlemek için Tarayıcı ayarlarını kullanın.)"</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Kısayolları temizle"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Kısayolları silme"</string>
    <string name="menu_help" msgid="8466596486018760239">"Yardım"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Google Arama"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Google Arama"</string>
    <string name="google_search_description" msgid="659411505885375623">"Google Arama önerileri"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Şunu söylemeyi deneyin:"</string>
    <!-- outdated translation 566545847023692214 -->     <string name="voice_search_hint_quotation_start" msgid="5648752104255950621">"“"</string>
    <!-- outdated translation 4840921425933402938 -->     <string name="voice_search_hint_quotation_end" msgid="3400099768332101719">"”"</string>
</resources>
