<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2015 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="phone_app_name" msgid="238824437273544459">"Telepono"</string>
    <string name="no_hfp" msgid="7371139867234667691">"Para makumpleto ang iyong tawag, ikonekta muna ang telepono mo sa iyong sasakyan sa pamamagitan ng Bluetooth."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Hindi available ang Bluetooth."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Para makatawag o makatanggap ng mga tawag, i-on ang Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Para makatawag o makatanggap ng mga tawag, ipares ang iyong telepono sa sasakyan."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Kumonekta sa Bluetooth"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Emergency"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Emergency na tawag"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Puwedeng na-delete na ang contact na ito."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Hindi ma-dial ang numerong ito. Suriin ito at subukan ulit."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Hindi available ang tawag sa telepono. Pakisubukan ulit sa ibang pagkakataon."</string>
    <string name="decline_call" msgid="2505987200485272226">"Tanggihan"</string>
    <string name="answer_call" msgid="3272474440561548115">"Sagutin"</string>
    <string name="call_back" msgid="5745638356098600872">"Tawagan"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Mga speaker ng kotse"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Speaker ng telepono"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telepono"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Mag-dial ng numero"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Mga Paborito"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Mga Kamakailang Tawag"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Mga Contact"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Dialpad"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Ngayon"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Kahapon"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Mas Luma"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Walang kamakailang tawag"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Walang contact"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Available pagkatapos mag-sync. Tiyaking pinayagan mo ang pagbabahagi ng mga contact sa iyong telepono."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Walang paborito"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Wala ka pang naidagdag na kahit anong paborito"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Magdagdag ng paborito"</string>
    <string name="search_title" msgid="5412680850141871664">"Maghanap ng mga contact"</string>
    <string name="search_hint" msgid="3099066132607042439">"Maghanap ng mga contact"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Marami"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Pumili ng numero ng telepono"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Isang beses lang"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Palagi"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g> , default"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Paborito -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Lokal na paborito -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Mga Paborito"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Mga lokal na paborito"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Walang numero ng telepono"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Notification ng papasok na tawag"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Papasok na tawag"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Notification ng hindi nasagot na tawag"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="one">Mga hindi nasagot na tawag(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="other">Mga hindi nasagot na tawag(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Naka-hold"</string>
    <string name="setting_title" msgid="1296639422364732365">"Mga Setting"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Screen ng simula"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Pagkakasunud-sunod ng contact"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Nakakonektang Telepono"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Privacy"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Ipakita lang ang mga alerto sa tawag nang naka-cluster"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Aktibong Tawag"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Ipakita ang view ng aktibong tawag kapag sasagot ng tawag"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Pangalan"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Apelyido"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Gamiting output ng audio ng tawag ang:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
