<?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">"Teks gekopieer"</string>
    <string name="call_custom" msgid="2786306789889210756">"Bel <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="call_home" msgid="1479549630992276827">"Bel huis"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Bel selfoon"</string>
    <string name="call_work" msgid="8299062439076337075">"Bel werk"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Bel werkfaks"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Bel huisfaks"</string>
    <string name="call_pager" msgid="3038080882899955112">"Bel roeper"</string>
    <string name="call_other" msgid="4472141328347894937">"Bel"</string>
    <string name="call_callback" msgid="687494744634190411">"Bel terugbel"</string>
    <string name="call_car" msgid="9078083109758282133">"Bel motor"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Bel maatskappy, hoofnommer"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Bel ISDN"</string>
    <string name="call_main" msgid="4640261071249938558">"Bel hoofnommer"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Bel faks"</string>
    <string name="call_radio" msgid="9055749313292712021">"Bel radio"</string>
    <string name="call_telex" msgid="2909886619224843563">"Bel teleks"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Bel TTY/TDD"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Bel werkselfoon"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Bel werkroeper"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Bel <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="call_mms" msgid="8998771923464696960">"Bel MMS"</string>
    <string name="sms_custom" msgid="4601748252470175865">"SMS <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="sms_home" msgid="7765831490534280540">"SMS huis"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"SMS selfoon"</string>
    <string name="sms_work" msgid="3910570578912367742">"SMS werk"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"SMS werkfaks"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"SMS huisfaks"</string>
    <string name="sms_pager" msgid="5664381349583724906">"SMS roeper"</string>
    <string name="sms_other" msgid="910895193552957097">"SMS"</string>
    <string name="sms_callback" msgid="728414485478941361">"SMS terugbel"</string>
    <string name="sms_car" msgid="8543669230270954512">"SMS motor"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"SMS maatskappy, hoofnommer"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"SMS ISDN"</string>
    <string name="sms_main" msgid="6815987840926184815">"SMS hoofnommer"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"SMS faks"</string>
    <string name="sms_radio" msgid="8750339218480745940">"SMS radio"</string>
    <string name="sms_telex" msgid="5469333785775443999">"SMS teleks"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"SMS TTY/TDD"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"SMS werkselfoon"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"SMS werkroeper"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"SMS <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="sms_mms" msgid="4887206338311086612">"SMS MMS"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"Vee gereeld-gekontaktes uit?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"Jy gaan die gereeld-gekontak-lys in die People- en Phone-programme uitvee en e-posprogramme forseer om jou adresvoorkeure van nuuts af te leer."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"Vee tans gereeld-gekontaktes uit..."</string>
    <string name="status_available" msgid="4832569677396634846">"Beskikbaar"</string>
    <string name="status_away" msgid="6267905184545881094">"Weg"</string>
    <string name="status_busy" msgid="7111912905211403545">"Besig"</string>
    <string name="contactsList" msgid="7140022347217602605">"Kontakte"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Ander"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Gids"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Alle kontakte"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Ek"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"Soek tans…"</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"Meer as <xliff:g id="COUNT">%d</xliff:g> gevind."</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"Geen kontakte nie"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"1 gevind"</item>
    <item quantity="other" msgid="4649647748678161594">"<xliff:g id="COUNT">%d</xliff:g> gevind"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"Vinnige kontak vir <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Geen naam nie)"</string>
    <!-- no translation found for favoritesFrequentCalled (6600127125011757687) -->
    <skip />
    <!-- no translation found for favoritesFrequentContacted (2849493314447751970) -->
    <skip />
    <string name="description_view_contact_detail" msgid="2756753096193839285">"Bekyk kontak"</string>
    <!-- no translation found for list_filter_phones (3692815632088465422) -->
    <skip />
</resources>
