<?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">"Mga ulat ng bug"</string>
    <string name="bugreport_in_progress_title" msgid="4311705936714972757">"Binubuo na ang ulat ng bug na <xliff:g id="ID">#%d</xliff:g>"</string>
    <string name="bugreport_finished_title" msgid="4429132808670114081">"Na-capture ang ulat ng bug na <xliff:g id="ID">#%d</xliff:g>"</string>
    <string name="bugreport_updating_title" msgid="4423539949559634214">"Pagdaragdag ng mga detalye sa ulat ng bug"</string>
    <string name="bugreport_updating_wait" msgid="3322151947853929470">"Mangyaring maghintay..."</string>
    <string name="bugreport_finished_text" product="watch" msgid="1223616207145252689">"Lalabas sa telepono ang ulat ng bug pagkalipas ng ilang sandali"</string>
    <string name="bugreport_finished_text" product="tv" msgid="5758325479058638893">"Piliin upang ibahagi ang iyong ulat ng bug"</string>
    <string name="bugreport_finished_text" product="default" msgid="8353769438382138847">"Mag-tap upang ibahagi ang iyong ulat ng bug"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="tv" msgid="2343263822812016950">"Piliin upang ibahagi ang iyong ulat ng bug nang walang screenshot o hintaying matapos ang screenshot"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"Mag-tap para ibahagi ang iyong ulat ng bug nang walang screenshot o hintaying matapos ang screenshot"</string>
    <string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"Mag-tap para ibahagi ang iyong ulat ng bug nang walang screenshot o hintaying matapos ang screenshot"</string>
    <string name="bugreport_confirm" msgid="5917407234515812495">"Ang mga ulat ng bug ay naglalaman ng data mula sa iba\'t ibang log file ng system, na maaaring maglaman ng data na itinuturing mong sensitibo (gaya ng paggamit ng app at data ng lokasyon). Ibahagi lang ang mga ulat ng bug sa mga tao at app na pinagkakatiwalaan mo."</string>
    <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"Huwag nang ipakitang muli"</string>
    <string name="bugreport_storage_title" msgid="5332488144740527109">"Mga ulat sa bug"</string>
    <string name="bugreport_unreadable_text" msgid="586517851044535486">"Hindi mabasa ang file ng pag-uulat ng bug"</string>
    <string name="bugreport_add_details_to_zip_failed" msgid="1302931926486712371">"Hindi makapagdagdag ng mga detalye ng ulat ng bug sa zip file"</string>
    <string name="bugreport_unnamed" msgid="2800582406842092709">"walang pangalan"</string>
    <string name="bugreport_info_action" msgid="2158204228510576227">"Mga Detalye"</string>
    <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string>
    <string name="bugreport_screenshot_taken" msgid="5684211273096253120">"Matagumpay na nakakuha ng screenshot."</string>
    <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Hindi makunan ng screenshot."</string>
    <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Mga detalye ng ulat ng bug na <xliff:g id="ID">#%d</xliff:g>"</string>
    <string name="bugreport_info_name" msgid="4414036021935139527">"Filename"</string>
    <string name="bugreport_info_title" msgid="2306030793918239804">"Pamagat ng bug"</string>
    <string name="bugreport_info_description" msgid="5072835127481627722">"Buod ng bug"</string>
    <string name="save" msgid="4781509040564835759">"I-save"</string>
    <string name="bugreport_intent_chooser_title" msgid="7605709494790894076">"Ibahagi ang Ulat ng bug"</string>
</resources>
