<?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>
    <string name="search_widget_config_ok" msgid="5928098252637988527">"OK"</string>
    <string name="corpus_selection_heading" msgid="6185939048752810271">"Pesquisa"</string>
    <string name="corpus_selection_edit_items" msgid="4467633677272572585">"Adicionar/remover"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Todos"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <string name="corpus_description_web" msgid="5553049179123250409">"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>
    <string name="corpus_hint_apps" msgid="4230401643970165739">"Pesquisar aplicativos"</string>
    <string name="corpus_label_apps_market" msgid="7625179316335589490">"Google Apps e Market"</string>
    <string name="corpus_description_apps_market" msgid="6676825865398169853">"Google Apps e aplicativos do Market instalados"</string>
    <string name="corpus_hint_apps_market" msgid="627025611326022658">"Pesquisar no Google Apps e Market"</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="web_search_category_title" msgid="3696363552067530526">"Web"</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>
    <string name="clear_shortcuts_prompt" msgid="1383427830703301130">"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="agree" msgid="5918867532928233161">"OK"</string>
    <string name="disagree" msgid="4631189706900617900">"Cancelar"</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="6583849182671608994">"Sugestões da pesquisa do Google"</string>
    <string name="google_search_settings" msgid="4169698045412400949">"Pesquisa do Google"</string>
    <string name="google_show_web_suggestions" msgid="9018281734662733247">"Sugestões da web"</string>
    <string name="google_show_web_suggestions_summary_enabled" msgid="6978457517649501505">"Mostrar sugestões do Google enquanto você digita"</string>
    <string name="google_show_web_suggestions_summary_disabled" msgid="3768151514600543003">"Não mostrar sugestões do Google enquanto você digita"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Tente dizer:"</string>
    <string name="voice_search_hint_quotation_start" msgid="566545847023692214">"“"</string>
    <string name="voice_search_hint_quotation_end" msgid="4840921425933402938">"”"</string>
</resources>
