<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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_label" msgid="3701846017049540910">"Shell"</string>
    <string name="bugreport_notification_channel" msgid="2574150205913861141">"Fehlerberichte"</string>
    <string name="bugreport_in_progress_title" msgid="4311705936714972757">"Fehlerbericht <xliff:g id="ID">#%d</xliff:g> wird generiert"</string>
    <string name="bugreport_finished_title" msgid="4429132808670114081">"Fehlerbericht <xliff:g id="ID">#%d</xliff:g> erfasst"</string>
    <string name="bugreport_updating_title" msgid="4423539949559634214">"Informationen werden zum Fehlerbericht hinzugefügt"</string>
    <string name="bugreport_updating_wait" msgid="3322151947853929470">"Bitte warten…"</string>
    <string name="bugreport_finished_text" product="watch" msgid="1223616207145252689">"Der Fehlerbericht wird in Kürze auf dem Smartphone angezeigt"</string>
    <string name="bugreport_finished_text" product="tv" msgid="5758325479058638893">"Tippe, um den Fehlerbericht zu teilen"</string>
    <string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Zum Teilen des Fehlerberichts tippen"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="tv" msgid="2343263822812016950">"Wische nach links, um den Fehlerbericht ohne Screenshot zu teilen, oder warte auf den Screenshot"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Tippe, um den Fehlerbericht ohne Screenshot zu teilen, oder warte auf den Screenshot"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Tippe, um den Fehlerbericht ohne Screenshot zu teilen, oder warte auf den Screenshot"</string>
    <string name="bugreport_confirm" msgid="5917407234515812495">"Fehlerberichte enthalten Daten aus verschiedenen Protokolldateien des Systems, darunter auch vertrauliche Informationen, wie Daten zur App-Nutzung und Standortdaten. Teile Fehlerberichte nur mit Personen und Apps, denen du vertraust."</string>
    <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"Nicht mehr anzeigen"</string>
    <string name="bugreport_storage_title" msgid="5332488144740527109">"Fehlerberichte"</string>
    <string name="bugreport_unreadable_text" msgid="586517851044535486">"Fehlerberichtdatei konnte nicht gelesen werden."</string>
    <string name="bugreport_add_details_to_zip_failed" msgid="1302931926486712371">"Details des Fehlerberichts konnten der ZIP-Datei nicht hinzugefügt werden"</string>
    <string name="bugreport_unnamed" msgid="2800582406842092709">"Unbenannt"</string>
    <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string>
    <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string>
    <string name="bugreport_screenshot_taken" msgid="5684211273096253120">"Screenshot wurde aufgenommen."</string>
    <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot konnte nicht aufgenommen werden."</string>
    <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Details zum Fehlerbericht <xliff:g id="ID">#%d</xliff:g>"</string>
    <string name="bugreport_info_name" msgid="4414036021935139527">"Dateiname"</string>
    <string name="bugreport_info_title" msgid="2306030793918239804">"Titel des Programmfehlers"</string>
    <string name="bugreport_info_description" msgid="5072835127481627722">"Zusammenfassung des Programmfehlers"</string>
    <string name="save" msgid="4781509040564835759">"Speichern"</string>
    <string name="bugreport_intent_chooser_title" msgid="7605709494790894076">"Fehlerbericht teilen"</string>
</resources>
