<?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">"Pesquisar"</string>
    <string name="search_widget" msgid="323244086853110381">"Pesquisar"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Remover do histórico de pesquisas"</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">"Pesquisar"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Tudo"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Pesquisa Web, marcadores e histórico do navegador"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Apps"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Nomes das aplicações instaladas"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Pesquisar no Google Apps"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Definições de pesquisa"</string>
    <string name="search_settings" msgid="4101951238194600323">"Definições de pesquisa"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Pesquisa 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">"Seleccionar os itens a pesquisar 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 seleccionadas recentemente"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Esta operação limpará todos os atalhos para sugestões de pesquisa seleccionadas recentemente."\n\n"(Para limpar o histórico do navegador, utilize as definições do navegador.)"</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Limpar atalhos"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Não limpar 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 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>
