<?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">"Suche"</string>
    <string name="search_widget" msgid="323244086853110381">"Suche"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Aus Suchverlauf entfernen"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Entfernen des Artikels aus Verlauf nicht möglich"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Durchsuchen"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Alle"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Websuche, Lesezeichen und Browserverlauf"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Apps"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Namen der installierten Apps"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Apps durchsuchen"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Sucheinstellungen"</string>
    <string name="search_settings" msgid="4101951238194600323">"Sucheinstellungen"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Google-Suche"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Verknüpfungen löschen"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefon"</string>
    <string name="search_sources" msgid="505874718206340313">"Durchsuchbare Elemente"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Auswahl für die Suche auf dem Telefon"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Verknüpfungen löschen"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Verknüpfungen mit zuletzt ausgewählten Suchvorschlägen löschen"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Hiermit werden alle Verknüpfungen mit zuletzt ausgewählten Suchvorschlägen gelöscht."\n\n"(Löschen Sie Ihren Browserverlauf über die Browsereinstellungen.)"</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Verknüpfungen löschen"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Verknüpfungen nicht löschen"</string>
    <string name="menu_help" msgid="8466596486018760239">"Hilfe"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Google-Suche"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Google-Suche"</string>
    <string name="google_search_description" msgid="659411505885375623">"Google-Suchvorschläge"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Sagen Sie Folgendes:"</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>
