<?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">"Pesquisa"</string>
    <string name="search_widget" msgid="323244086853110381">"Pesquisa"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Remover do histórico de pesquisa"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Não foi possível remover o item do histórico"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Pesquisa"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Todos"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Pesquisa na web, favoritos e histórico do navegador"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Aplicativos"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Nomes dos aplicativos instalados"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Pesquisar aplicativos"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Configurações de pesquisa"</string>
    <string name="search_settings" msgid="4101951238194600323">"Configurações de pesquisa"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Pesquisa do Google"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Limpar atalhos"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefone"</string>
    <string name="search_sources" msgid="505874718206340313">"Itens pesquisáveis"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Escolher o que deve ser pesquisado no telefone"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Limpar atalhos"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Limpar atalhos para sugestões de pesquisa escolhidas recentemente"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Todos os atalhos para as sugestões de pesquisa escolhidas recentemente serão apagados."\n\n"Para limpar o histórico do seu navegador, use as configurações do navegador."</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Limpar atalhos"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Não limpar os atalhos"</string>
    <string name="menu_help" msgid="8466596486018760239">"Ajuda"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Pesquisa do Google"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Pesquisa do Google"</string>
    <string name="google_search_description" msgid="659411505885375623">"Sugestões da pesquisa do Google"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Tente dizer:"</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>
