<?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">"Hľadať"</string>
    <string name="search_widget" msgid="323244086853110381">"Hľadať"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Odstrániť z histórie vyhľadávania"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Nepodarilo sa odstrániť položku z histórie"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Hľadať"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Všetko"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Vyhľadávanie na webe, záložky a história prehliadača"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Aplikácie"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Názvy inštalovaných aplikácií"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Hľadať v Aplikáciách"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Nastavenia vyhľadávania"</string>
    <string name="search_settings" msgid="4101951238194600323">"Nastavenia vyhľadávania"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Vyhľadávanie Google"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Vymazať odkazy"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefón"</string>
    <string name="search_sources" msgid="505874718206340313">"Vyhľadávateľné položky"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Vyberte, čo chcete v telefóne vyhľadať"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Vymazať odkazy"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Vymazať odkazy na nedávno zvolené návrhy vyhľadávania"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Tento krok vymaže všetky odkazy odkazujúce na nedávno zvolené návrhy vyhľadávania."\n\n"(Ak chcete vymazať históriu prehliadača, použite nastavenia prehliadača.)"</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Vymazať odkazy"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Nevymazať odkazy"</string>
    <string name="menu_help" msgid="8466596486018760239">"Pomocník"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Vyhľadávanie Google"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Vyhľadávanie Google"</string>
    <string name="google_search_description" msgid="659411505885375623">"Návrhy Vyhľadávania Google"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Skúste vysloviť:"</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>
