<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="calendar_storage" msgid="5387668002987562770">"Armazenamento do Calendário"</string>
    <string name="upgrade_msg" msgid="2792831029435070926">"A atualizar a base de dados do Calendário."</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"Predefinido"</string>
    <string name="calendar_info" msgid="6687678621418059281">"Informação do calendário"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"Erro"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"Sem calendários"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"Eventos: <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"Eventos: <xliff:g id="EVENTS_0">%1$d</xliff:g>, Não guardados: <xliff:g id="DIRTY_EVENTS">%2$d</xliff:g>"</string>
    <string name="provider_label" msgid="2306513350843464739">"Calendário"</string>
    <string name="debug_tool_delete_button" msgid="5052706251268452090">"Eliminar agora"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"Iniciar"</string>
    <string name="debug_tool_message" msgid="4414152820946316089">"Está prestes a 1) fazer uma cópia da base de dados do seu calendário para o cartão SD/armazenamento USB que pode ser lida por qualquer aplicação e 2) a enviá-la por e-mail. Não se esqueça de a eliminar assim que a cópia a partir do aparelho tiver terminado ou tiver recebido o e-mail."</string>
    <string name="debug_tool_email_sender_picker" msgid="4418621476577347562">"Selecionar um programa para enviar o ficheiro"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"Base de dados do calendário anexada"</string>
    <string name="debug_tool_email_body" msgid="740309162644398319">"Em anexo segue a base de dados do meu calendário com todas os meus compromissos e informações pessoais. Utilize-a com cuidado."</string>
</resources>
