<?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">"Simu"</string>
    <string name="no_hfp" msgid="7371139867234667691">"Ili upige simu, kwanza unganisha simu yako kwenye gari lako kupitia Bluetooth."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"Bluetooth haipatikani."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Ili upige au upokee simu, washa Bluetooth."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Ili upige au upokee simu, oanisha simu yako na gari."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Unganisha kwenye Bluetooth"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Dharura"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Simu ya dharura"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"Huenda anwani hii ilifutwa."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"Imeshindwa kupigia nambari hii. Ikague kisha ujaribu tena."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Huduma ya kupiga simu haipatikani. Tafadhali jaribu tena baadaye."</string>
    <string name="decline_call" msgid="2505987200485272226">"Kataa"</string>
    <string name="answer_call" msgid="3272474440561548115">"Jibu"</string>
    <string name="call_back" msgid="5745638356098600872">"Mpigie"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Spika za gari"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Spika ya simu"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Simu"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Pigia nambari"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Vipendwa"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Za hivi majuzi"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Anwani"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Vitufe vya kupiga simu"</string>
    <string name="call_log_header_today" msgid="2069013936632793214">"Leo"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Jana"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Za zamani"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"Hakuna za hivi majuzi"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"Hakuna anwani"</string>
    <string name="available_after_sync" msgid="33765918799197782">"Inapatikana baada ya kusawazisha. Hakikisha kuwa umeruhusu kushiriki anwani kwenye simu yako."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"Hakuna vipendwa"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Bado hujaongeza vipendwa"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Ongeza anwani unazowasiliana nazo sana"</string>
    <string name="search_title" msgid="5412680850141871664">"Tafuta anwani"</string>
    <string name="search_hint" msgid="3099066132607042439">"Tafuta anwani"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Nyingi"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Chagua nambari ya simu"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Mara moja tu"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Kila wakati"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g>, chaguomsingi"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Kipendwa - <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Kivutio kilicho karibu -  <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Vipendwa"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Vivutio vilivyo karibu"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"Hakuna nambari za simu"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Arifa ya simu inayoingia"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Simu inayoingia"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Arifa ya simu ambayo hukujibu"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="other">Simu ambazo hukujibu(<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Simu ambayo hukujibu</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"Imesitishwa."</string>
    <string name="setting_title" msgid="1296639422364732365">"Mipangilio"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Skrini ya kwanza"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Mpangilio wa anwani"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Simu Iliyounganishwa"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Faragha"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Onyesha tu arifa za simu katika kundi"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Simu Inayopigwa"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Onyesha mwonekano wa simu inayopigwa wakati unajibu simu"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Jina la kwanza"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Jina la mwisho"</string>
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Toa sauti ya simu kwenye:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
