<?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">"Ricerca"</string>
    <string name="search_widget" msgid="323244086853110381">"Ricerca"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Rimuovi da cronologia delle ricerche"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Rimozione della voce dalla cronologia non riuscita"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Ricerca"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Tutto"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Ricerca web, segnalibri e cronologia browser"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Applicazioni"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Nomi delle applicazioni installate"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Cerca applicazioni"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Impostazioni ricerca"</string>
    <string name="search_settings" msgid="4101951238194600323">"Impostazioni ricerca"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Ricerca Google"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Cancella scorciatoie"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefono"</string>
    <string name="search_sources" msgid="505874718206340313">"Elementi ricercabili"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Scegli che cosa cercare sul cellulare"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Cancella scorciatoie"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Cancella scorciatoie a suggerimenti di ricerca scelti di recente"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Questa azione cancellerà tutte le scorciatoie ai suggerimenti di ricerca scelti di recente."\n\n"Per cancellare la cronologia del browser, utilizza le impostazioni del browser."</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Cancella scorciatoie"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Non cancellare le scorciatoie"</string>
    <string name="menu_help" msgid="8466596486018760239">"Guida"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Ricerca Google"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Ricerca Google"</string>
    <string name="google_search_description" msgid="659411505885375623">"Suggerimenti di Ricerca Google"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Prova a dire:"</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>
