<?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">"Text copiat"</string>
    <string name="call_custom" msgid="2786306789889210756">"Truca al <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="call_home" msgid="1479549630992276827">"Truca a casa"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Truca al mòbil"</string>
    <string name="call_work" msgid="8299062439076337075">"Truca a la feina"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Truca al fax de la feina"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Truca al fax de casa"</string>
    <string name="call_pager" msgid="3038080882899955112">"Truca al cercapersones"</string>
    <string name="call_other" msgid="4472141328347894937">"Truca"</string>
    <string name="call_callback" msgid="687494744634190411">"Truca a un número de devolució de trucada"</string>
    <string name="call_car" msgid="9078083109758282133">"Truca al cotxe"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Truca al telèfon principal de l\'empresa"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Truca a l\'XDSI"</string>
    <string name="call_main" msgid="4640261071249938558">"Truca al telèfon principal"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Truca al fax"</string>
    <string name="call_radio" msgid="9055749313292712021">"Truca a la ràdio"</string>
    <string name="call_telex" msgid="2909886619224843563">"Truca al tèlex"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Truca a TTY/TDD"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Truca al mòbil de la feina"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Truca al cercapersones de la feina"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Truca al <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="call_mms" msgid="8998771923464696960">"Truca al número MMS"</string>
    <string name="sms_custom" msgid="4601748252470175865">"Envia SMS al <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="sms_home" msgid="7765831490534280540">"Envia un SMS a casa"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"Envia un SMS al mòbil"</string>
    <string name="sms_work" msgid="3910570578912367742">"Envia un SMS a la feina"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"Envia un SMS al fax de la feina"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"Envia un SMS al fax de casa"</string>
    <string name="sms_pager" msgid="5664381349583724906">"Envia un SMS al cercapersones"</string>
    <string name="sms_other" msgid="910895193552957097">"Envia un SMS"</string>
    <string name="sms_callback" msgid="728414485478941361">"Envia un SMS a un número de devolució de trucada"</string>
    <string name="sms_car" msgid="8543669230270954512">"Envia un SMS al cotxe"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"Envia un SMS al telèfon principal de l\'empresa"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"Envia un SMS a l\'XDSI"</string>
    <string name="sms_main" msgid="6815987840926184815">"Envia un SMS al telèfon principal"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"Envia un SMS al fax"</string>
    <string name="sms_radio" msgid="8750339218480745940">"Envia un SMS a la ràdio"</string>
    <string name="sms_telex" msgid="5469333785775443999">"Envia un SMS al tèlex"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"Envia un SMS al TTY/TDD"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"Envia un SMS al telèfon mòbil de la feina"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"Envia un SMS al cercapersones de la feina"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"Envia un SMS a <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="sms_mms" msgid="4887206338311086612">"Envia un MMS"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"Vols esborrar els contactes freqüents?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"S\'esborrarà la llista de contactes més freqüents a les aplicacions de contactes i del telèfon i es forçarà les aplicacions de correu electrònic a obtenir informació sobre les teves preferències de direccionament des de zero."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"S\'estan esborrant contactes freq..."</string>
    <string name="status_available" msgid="4832569677396634846">"Disponible"</string>
    <string name="status_away" msgid="6267905184545881094">"Absent"</string>
    <string name="status_busy" msgid="7111912905211403545">"Ocupat"</string>
    <string name="contactsList" msgid="7140022347217602605">"Contactes"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Altres"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Directori"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Tots els contactes"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Jo"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"S\'està cercant..."</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"Se n\'han trobat més de <xliff:g id="COUNT">%d</xliff:g>."</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"No hi ha cap contacte"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"1 contacte"</item>
    <item quantity="other" msgid="4649647748678161594">"<xliff:g id="COUNT">%d</xliff:g> contactes"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"Contacte ràpid per a <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Sense nom)"</string>
</resources>
