<?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">"Telèfon"</string>
    <string name="no_hfp" msgid="7371139867234667691">"Per poder trucar, primer cal que connectis el telèfon al cotxe per Bluetooth."</string>
    <string name="bluetooth_unavailable" msgid="5258854283739591569">"El Bluetooth no està disponible."</string>
    <string name="bluetooth_disabled" msgid="1275246762067907843">"Activa el Bluetooth per fer o rebre trucades."</string>
    <string name="bluetooth_unpaired" msgid="1600552386483652892">"Vincula el telèfon amb el cotxe per fer o rebre trucades."</string>
    <string name="connect_bluetooth_button_text" msgid="293188695227298042">"Connecta el Bluetooth"</string>
    <string name="emergency_button_text" msgid="3467659545392931727">"Emergència"</string>
    <string name="emergency_call_description" msgid="6700161437750325693">"Trucada d\'emergència"</string>
    <string name="error_contact_deleted" msgid="6356539067659368396">"És possible que aquest contacte s\'hagi suprimit."</string>
    <string name="error_invalid_phone_number" msgid="5349049631580646136">"No es pot marcar aquest número. Comprova\'l i tornar-ho a provar."</string>
    <string name="error_telephony_not_available" msgid="8715829862083386178">"Les trucades telefòniques no estan disponibles. Torna-ho a provar."</string>
    <string name="decline_call" msgid="2505987200485272226">"Rebutja"</string>
    <string name="answer_call" msgid="3272474440561548115">"Respon"</string>
    <string name="call_back" msgid="5745638356098600872">"Torna la trucada"</string>
    <string name="audio_route_vehicle" msgid="6250361588960528769">"Altaveus del cotxe"</string>
    <string name="audio_route_phone_speaker" msgid="4608904003558187244">"Altaveu del telèfon"</string>
    <string name="audio_route_handset" msgid="9133081623895172144">"Telèfon"</string>
    <string name="dial_a_number" msgid="7432322177412387160">"Marca un número"</string>
    <string name="call_history_title" msgid="7997887846276371553">"Recents"</string>
    <string name="contacts_title" msgid="9201954388634537346">"Contactes"</string>
    <string name="favorites_title" msgid="4767723901530488145">"Preferits"</string>
    <string name="dialpad_title" msgid="3746259645005208554">"Teclat"</string>
    <!-- no translation found for tab_config_default_value (993008650601917964) -->
    <skip />
    <string name="call_log_header_today" msgid="2069013936632793214">"Avui"</string>
    <string name="call_log_header_yesterday" msgid="4613686845163357847">"Ahir"</string>
    <string name="call_log_header_older" msgid="3971634717537073179">"Anteriors"</string>
    <string name="call_logs_empty" msgid="3084720078894119049">"No n\'hi ha cap de recent"</string>
    <string name="contact_list_empty" msgid="4225504548491888138">"No hi ha cap contacte"</string>
    <string name="available_after_sync" msgid="33765918799197782">"El contingut estarà disponible després de la sincronització. Comprova que hagis permès que es comparteixin contactes al telèfon."</string>
    <string name="favorites_empty" msgid="5794510741132758130">"No hi ha cap preferit"</string>
    <string name="no_favorites_added" msgid="2359050103464783907">"Encara no has afegit cap preferit"</string>
    <string name="add_favorite_button" msgid="7914955940249767808">"Afegeix un preferit"</string>
    <string name="search_title" msgid="5412680850141871664">"Cerca contactes"</string>
    <string name="search_hint" msgid="3099066132607042439">"Cerca contactes"</string>
    <string name="type_multiple" msgid="3402949522797441236">"Diversos"</string>
    <string name="select_number_dialog_title" msgid="5770700626013782205">"Tria un número de telèfon"</string>
    <string name="select_number_dialog_just_once_button" msgid="1814381354393374660">"Només una vegada"</string>
    <string name="select_number_dialog_always_button" msgid="6862338683635863764">"Sempre"</string>
    <string name="primary_number_description" msgid="1211198148918329509">"<xliff:g id="LABEL">%1$s</xliff:g>, predeterminat"</string>
    <string name="favorite_number_description" msgid="8175362259853807385">"Preferit: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="local_favorite_number_description" msgid="3723823871011997275">"Preferit del lloc: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
    <string name="phone_favorites" msgid="2257447553252980575">"Preferits"</string>
    <string name="local_favorites" msgid="4954852813126882412">"Preferits del lloc"</string>
    <string name="no_phone_numbers" msgid="8738691115921148445">"No hi ha cap número de telèfon"</string>
    <string name="in_call_notification_channel_name" msgid="1978093630512401778">"Notificació de trucada entrant"</string>
    <string name="notification_incoming_call" msgid="1722904631804432389">"Trucada entrant"</string>
    <string name="missed_call_notification_channel_name" msgid="1135686963409691772">"Notificació de trucada perduda"</string>
    <plurals name="notification_missed_call" formatted="false" msgid="1018870358427938752">
      <item quantity="other">Trucades perdudes (<xliff:g id="NUMBER">%1$d</xliff:g>) </item>
      <item quantity="one">Trucada perduda</item>
    </plurals>
    <string name="onhold_call_label" msgid="1937027519810985499">"En espera"</string>
    <string name="setting_title" msgid="1296639422364732365">"Configuració"</string>
    <string name="pref_start_page_title" msgid="1953465507368478503">"Pantalla d\'inici"</string>
    <string name="sort_order_title" msgid="975104366728292702">"Ordre dels contactes"</string>
    <string name="pref_connected_phone_title" msgid="5472866963149472593">"Telèfon connectat"</string>
    <string name="pref_no_incoming_call_hun_title" msgid="2314257779205958332">"Privadesa"</string>
    <string name="pref_no_incoming_call_hun_summary" msgid="8833377984331845097">"Mostra només les alertes de trucada al clúster"</string>
    <string name="pref_no_fullscreen_active_call_ui_title" msgid="5306041252780754725">"Trucada activa"</string>
    <string name="pref_no_fullscreen_active_call_ui_summary" msgid="2316908551231937870">"Mostra la visualització de la trucada activa en respondre-hi"</string>
    <string name="given_name_first_title" msgid="8072187841056104968">"Nom"</string>
    <string name="family_name_first_title" msgid="7721976826282427987">"Cognoms"</string>
    <!-- no translation found for sort_order_default_value (5876201942256731358) -->
    <skip />
    <string name="audio_route_dialog_title" msgid="2904553846970171054">"Sortida d\'àudio per a trucades:"</string>
    <string name="audio_route_dialog_subtitle" msgid="8780526104805330121"></string>
</resources>
