<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 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="toast_text_copied" msgid="8327159932780920627">"Maandishi yamenakiliwa"</string>
    <string name="call_custom" msgid="2786306789889210756">"Pia simu <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="call_home" msgid="1479549630992276827">"Piga simu nyumbani"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Pigia simu ya mkononi"</string>
    <string name="call_work" msgid="8299062439076337075">"Piga simu kazini"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Ipigie simu kipepesi cha kazini"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Ipigie simu kipepesi cha nyumbani"</string>
    <string name="call_pager" msgid="3038080882899955112">"Ipigie peja simu"</string>
    <string name="call_other" msgid="4472141328347894937">"Piga simu"</string>
    <string name="call_callback" msgid="687494744634190411">"Mpigie simu aliyepiga"</string>
    <string name="call_car" msgid="9078083109758282133">"Piga simu ya gari"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Pigia simu kuu ya kampuni"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Piga simu kwa ISDN"</string>
    <string name="call_main" msgid="4640261071249938558">"Piga simu kuu"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Ipigie kipepesi simu"</string>
    <string name="call_radio" msgid="9055749313292712021">"Piga simu redioni"</string>
    <string name="call_telex" msgid="2909886619224843563">"Piga simu kwa teleksi"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Piga simu TTY/TDD"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Ipigie simu ya mkononi ya kazini"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Ipigie peja ya kazini"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Piga simu <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="call_mms" msgid="8998771923464696960">"Piga simu kwa MMS"</string>
    <string name="sms_custom" msgid="4601748252470175865">"Tumia ujumbe wa maandishi kwa <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="sms_home" msgid="7765831490534280540">"Tuma ujumbe wa maandishi nyumbani"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"Tumia simu ya mkononi ujumbe wa maandishi"</string>
    <string name="sms_work" msgid="3910570578912367742">"Tuma ujumbe wa maandishi kazini"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"Tumia ujumbe kwenda kipepesi cha kazini"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"Tuma ujumbe kwenda kipepesi ch nyumbani"</string>
    <string name="sms_pager" msgid="5664381349583724906">"Tumia peja ujumbe wa maandishi"</string>
    <string name="sms_other" msgid="910895193552957097">"Tuma ujumbe wa maandishi"</string>
    <string name="sms_callback" msgid="728414485478941361">"Tuma ujumbe wa maandishi kwa aliyepiga"</string>
    <string name="sms_car" msgid="8543669230270954512">"Tuma ujumbe kwa gari"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"Tuma ujumbe wa maandishi kwenda simu kuu ya kampuni"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"Tumia ISDN ujumbe wa maandishi"</string>
    <string name="sms_main" msgid="6815987840926184815">"Tumia simu kuu ujumbe wa maandishi"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"Tuma ujumbe kwenda katika kipepesi"</string>
    <string name="sms_radio" msgid="8750339218480745940">"Tuma ujumbe wa maandishi redioni"</string>
    <string name="sms_telex" msgid="5469333785775443999">"Tumia teleksi ujumbe wa maandishi"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"Tumia TTY/TDD ujumbe wa maandishi"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"Itumie simu ya mkononi ya kazini ujumbe"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"Itumie peja ya kazini ya kazini ujumbe"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"Tuma ujumbe wa maandishi kwa <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="sms_mms" msgid="4887206338311086612">"Tumia MMS ujmbe wa maandishi"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"Futa unaowasiliana nao mara kwa mara?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"Utafuta orodha ya unaowasiliana nao mara kwa mara katika programu za Watu na Simu, na ulazimishe programu za barua pepe kujifunza mapendeleo yako ya anwani kutoka mwanzo."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"Inafuta unaowasiliana nao mara kwa mara..."</string>
    <string name="status_available" msgid="4832569677396634846">"Inapatikana"</string>
    <string name="status_away" msgid="6267905184545881094">"Mbali"</string>
    <string name="status_busy" msgid="7111912905211403545">"Ana shughuli"</string>
    <string name="contactsList" msgid="7140022347217602605">"Anwani"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Kingine"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Saraka"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Anwani zote"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Mimi"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"Inatafuta…"</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"Zaidi ya <xliff:g id="COUNT">%d</xliff:g> zimepatikana."</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"Hakuna anwani"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"Imepatikana 1"</item>
    <item quantity="other" msgid="4649647748678161594">"Zimepatikana <xliff:g id="COUNT">%d</xliff:g>"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"Anwani ya haraka ya  <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Hakuna jina)"</string>
</resources>
