<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*
 * Copyright (C) 2007 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="app_label" msgid="3706018265751197270">"Configuració de comptes i sincronització"</string>
    <string name="sync_settings" msgid="8707056705985552604">"Configuració de comptes i sincronització"</string>
    <string name="sync_too_many_deletes" msgid="1621369057980827097">"S\'ha superat el límit de supressions"</string>
    <string name="background_data" msgid="1103557117473896066">"Dades en segon terme"</string>
    <string name="background_data_summary" msgid="9048259510387973822">"Les aplicacions poden sincronitzar, enviar i rebre dades en qualsevol moment"</string>
    <string name="background_data_dialog_title" msgid="6303755495467986079">"Atenció"</string>
    <string name="background_data_dialog_message" msgid="8417297954700022363">"Si es desactiven les dades en segon terme, s\'amplia la durada de la bateria i es redueix l\'ús de dades. Pot ser que algunes aplicacions continuïn utilitzant la connexió de dades en segon terme."</string>
    <string name="sync_automatically" msgid="4694735102757960100">"Sincronització automàtica"</string>
    <string name="sync_automatically_summary" msgid="4598895616781542745">"Les aplicacions sincronitzen les dades automàticament"</string>
    <string name="settings_backup" msgid="6114299464740014762">"Fes una còpia de seguretat de la configuració"</string>
    <string name="settings_backup_summary" msgid="1787552172618610178">"Fes una còpia de seguretat de la configuració"</string>
    <string name="sync_menu_sync_now" msgid="5796024841315572404">"Sincronitza ara"</string>
    <string name="sync_menu_sync_cancel" msgid="1005480041232010062">"Cancel·la la sincronització"</string>
    <string name="sync_one_time_sync" msgid="3274364877518422827">"Toqueu per sincronitzar ara<xliff:g id="LAST_SYNC_TIME">
%1$s</xliff:g>"</string>
    <string name="sync_gmail" msgid="5806053858668452000">"Gmail"</string>
    <string name="sync_calendar" msgid="1796292773734071897">"Calendari"</string>
    <string name="sync_contacts" msgid="2035690905925565660">"Contactes"</string>
    <string name="sync_too_many_deletes_desc" msgid="699495654174066067">"Hi ha <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elements suprimits per a <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, compte <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Què voleu fer?"</string>
    <string name="sync_really_delete" msgid="5456355204562588976">"Suprimeix els elements."</string>
    <string name="sync_undo_deletes" msgid="8695514459839593307">"Desfés les supressions."</string>
    <string name="sync_do_nothing" msgid="5798755982392201673">"No facis res de moment."</string>
    <string name="sync_is_failing" msgid="5230237058552433773">"La sincronització té problemes. Es tornarà a activar aviat."</string>
    <string name="sync_plug" msgid="7020432439004167162"><font fgcolor="#ffffffff">"Benvingut a la sincronització de Google!"</font>" "\n"La sincronització de dades que ha ideat Google per tal de permetre l\'accés als contactes, a les cites i a molts més elements des de qualsevol lloc."</string>
    <string name="header_application_sync_settings" msgid="5263025067167527890">"Configuració de la sincronització d\'aplicacions"</string>
    <string name="header_manage_accounts" msgid="381956296995298770">"Gestió de comptes"</string>
    <string name="header_general_sync_settings" msgid="1598537524696692308">"Configuració general de la sincronització"</string>
    <string name="sync_enabled" msgid="913018877443997502">"Sincronització activada"</string>
    <string name="sync_disabled" msgid="185731301298967302">"La sincronització està desactivada"</string>
    <string name="sync_error" msgid="681431702824599812">"Error de sincronització"</string>
    <string name="add_account_label" msgid="2035321485672826779">"Afegeix un compte"</string>
    <string name="header_data_and_synchronization" msgid="6286257845276834071">"Dades i sincronització"</string>
    <string name="preference_change_password_title" msgid="6468827554159468315">"Canvia la contrasenya"</string>
    <string name="header_account_settings" msgid="4950809499418403792">"Configuració del compte"</string>
    <string name="remove_account_label" msgid="5624712684599197863">"Elimina el compte"</string>
    <string name="header_add_an_account" msgid="2198078922829535425">"Addició d\'un compte"</string>
    <string name="finish_button_label" msgid="6121560986057356757">"Acabament"</string>
    <string name="really_remove_account_title" msgid="8808121039511188784">"Elimina el compte"</string>
    <string name="really_remove_account_message" msgid="3293445755620109578">"Voleu eliminar aquest compte? Si l\'elimineu, també s\'eliminaran tots els missatges, contactes i altres dades del compte al telèfon. "\n"Voleu continuar?"</string>
    <string name="remove_account_failed" msgid="8178924513521241001">"Algunes aplicacions requereixen aquest compte. Només podeu eliminar-lo si restabliu el telèfon als valors predeterminats de fàbrica (cosa que suprimeix totes les dades personals). Això es fa a l\'aplicació Configuració, a Privadesa."</string>
    <string name="provider_label" msgid="6191617139291321517">"Subscripcions de tramesa automàtica"</string>
    <string name="sync_item_title" msgid="7984962124867021854">"Sincronitza <xliff:g id="AUTHORITY">%s</xliff:g>"</string>
    <string name="cant_sync_dialog_title" msgid="3016197392261471761">"No es pot fer la sincronització manual"</string>
    <string name="cant_sync_dialog_message" msgid="7200115394296632300">"La sincronització d\'aquest element està desactivada actualment. Per canviar la preferència, activeu temporalment la sincronització automàtica i de les dades en segon terme."</string>
</resources>
