<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2008 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="exchange_name_alternate" msgid="293118547772095111">"Microsoft Exchange ActiveSync"</string>
    <string name="meeting_accepted" msgid="3212429159225789973">"Acceptada: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="1171426219920875691">"Rebutjada: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="5057443956630531997">"Provisional: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3913922862382539900">"Cancel·lada: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="5960663236439072658">"Actualitzada: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="1905576664682173880">"Quan: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="6498631574145121862">"On: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="2752008481765880928">"Quan: <xliff:g id="EVENTDATE">%s</xliff:g> (periòdica)"</string>
    <string name="meeting_allday" msgid="7251209063071628040">"Quan: <xliff:g id="EVENTDATE">%s</xliff:g> (tot el dia)"</string>
    <string name="meeting_allday_recurring" msgid="4545762363537362545">"Quan: <xliff:g id="EVENTDATE">%s</xliff:g> (tot el dia, periòdic)"</string>
    <string name="app_name" msgid="1707639359526090662">"Serveis d\'Exchange"</string>
    <string name="exception_cancel" msgid="8972887597771126871">"Aquest esdeveniment s\'ha cancel·lat al dia <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="329192591551400871">"Els detalls d\'aquest esdeveniment han canviat al dia <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_storage_cards" msgid="1305111581282078881">"No permetis targetes d\'emmagatzematge"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7663879438028397642">"No permetis aplicacions no signades"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8227232531632246827">"No permetis instal. d\'aplic. no sign."</string>
    <string name="policy_dont_allow_wifi" msgid="8501275982154914194">"No permetis la Wi-Fi"</string>
    <string name="policy_dont_allow_text_messaging" msgid="860590081742537792">"No permetis els missatges de text"</string>
    <string name="policy_dont_allow_pop_imap" msgid="5772539239469636191">"No permetis els comptes POP3 ni IMAP"</string>
    <string name="policy_dont_allow_irda" msgid="8230803019935893114">"No permetis comunicacions per infraroigs"</string>
    <string name="policy_dont_allow_html" msgid="3909470006782362967">"No permetis el correu electrònic HTML"</string>
    <string name="policy_dont_allow_browser" msgid="241728112385525092">"No permetis els navegadors"</string>
    <string name="policy_dont_allow_consumer_email" msgid="2473755560531860915">"No permetis correus electr. de consum."</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8926902533477728994">"No permetis la compartició per Internet"</string>
    <string name="policy_require_smime" msgid="6445017199744800426">"Requereix missatges SMIME"</string>
    <string name="policy_bluetooth_restricted" msgid="2877695021606992022">"Restringeix l\'ús de Bluetooth"</string>
    <string name="policy_app_blacklist" msgid="6955451921925210944">"No permetis aplicacions especificades"</string>
    <string name="policy_app_whitelist" msgid="73673250614393830">"Permet només les aplicacions especif."</string>
    <string name="policy_text_truncation" msgid="2098855720139889616">"Restring. mida de correu electr. de text"</string>
    <string name="policy_html_truncation" msgid="4913206221060438112">"Restringeix mida del correu electr. HTML"</string>
    <string name="policy_require_sd_encryption" msgid="3911913080904633038">"Requereix l\'encriptació de targetes SD"</string>
    <string name="policy_dont_allow_attachments" msgid="8422502533001368811">"No permetis fitxers adjunts"</string>
    <string name="policy_max_attachment_size" msgid="8872049367518056209">"Restringeix la mida del fitxer adjunt"</string>
    <string name="policy_require_manual_sync_roaming" msgid="4779633041935012627">"Permet només sincr. manual en itinerància"</string>
    <string name="policy_require_encryption" msgid="4176146021220010140">"Requereix l\'encriptació del dispositiu"</string>
    <string name="account_setup_options_mail_window_auto" msgid="7407981634952005775">"Automàtic"</string>
    <string name="account_setup_options_mail_window_1day" msgid="4169162439752592189">"Un dia"</string>
    <string name="account_setup_options_mail_window_3days" msgid="2330167870774583574">"Tres dies"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5066291978475859713">"Una setmana"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="2127842445792663461">"Dues setmanes"</string>
    <string name="account_setup_options_mail_window_1month" msgid="4785039795926771180">"Un mes"</string>
    <string name="account_setup_options_mail_window_all" msgid="4794683936065721438">"Tots"</string>
    <string name="auth_error_notification_title" msgid="6768042010440968454">"Error d\'autenticació"</string>
    <string name="auth_error_notification_text" msgid="3590528965691740509">"Toca per editar la configuració del compte <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
    <string name="email_settings_not_available" msgid="59579952494440349">"Torna a activar l\'aplicació Correu per consultar-ne la configuració."</string>
</resources>
