<?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="6642875149600019623">"Despertador"</string>
    <string name="add_alarm" msgid="5976616107390962899">"Adicionar alarme"</string>
    <string name="delete_alarm" msgid="3457780990646206817">"Eliminar alarme"</string>
    <string name="enable_alarm" msgid="7442658245797418741">"Activar alarme"</string>
    <string name="disable_alarm" msgid="6665528499886549648">"Desactivar alarme"</string>
    <string name="delete_alarm_confirm" msgid="4237696873219106907">"Este alarme será eliminado."</string>
    <string name="show_clock" msgid="8358759982675616915">"Mostrar relógio"</string>
    <string name="hide_clock" msgid="3217727306480505694">"Ocultar relógio"</string>
    <string name="label" msgid="162189613902857319">"Etiqueta"</string>
    <string name="default_label" msgid="5590025289805630372">"Alarme"</string>
    <string name="set_alarm" msgid="9148359866152726808">"Definir alarme"</string>
    <string name="alarm_vibrate" msgid="3476686921490362230">"Vibrar"</string>
    <string name="alarm_repeat" msgid="7242985466344233206">"Repetir"</string>
    <string name="alert" msgid="6539852766423700221">"Toque"</string>
    <string name="time" msgid="8067216534232296518">"Hora"</string>
    <string name="alarm_alert_dismiss_text" msgid="4942914605480888820">"Ignorar"</string>
    <string name="alarm_alert_alert_silenced" msgid="7918075929961104202">"Alarme silenciado após <xliff:g id="MINUTES">%d</xliff:g> minutos."</string>
    <string name="alarm_alert_snooze_text" msgid="1774416052207651584">"Suspender"</string>
    <string name="alarm_alert_snooze_set" msgid="656470966696912087">"Suspenso por <xliff:g id="MINUTES">%d</xliff:g> minutos."</string>
  <string-array name="alarm_set">
    <item msgid="5163476010406761625">"Este alarme dispara daqui a menos de um minuto."</item>
    <item msgid="7110525731259629055">"Este alarme dispara daqui a <xliff:g id="DAYS">%1$s</xliff:g>."</item>
    <item msgid="7003982794086186185">"Este alarme dispara daqui a <xliff:g id="HOURS">%2$s</xliff:g>."</item>
    <item msgid="7311021123230077742">"Este alarme dispara daqui a <xliff:g id="DAYS">%1$s</xliff:g> e <xliff:g id="HOURS">%2$s</xliff:g>."</item>
    <item msgid="8431715191823114872">"Este alarme dispara daqui a <xliff:g id="MINUTES">%3$s</xliff:g>."</item>
    <item msgid="3244151088673185428">"Este alarme dispara daqui a <xliff:g id="DAYS">%1$s</xliff:g> e <xliff:g id="MINUTES">%3$s</xliff:g>."</item>
    <item msgid="3663661342600168814">"Este alarme dispara daqui a <xliff:g id="HOURS">%2$s</xliff:g> e <xliff:g id="MINUTES">%3$s</xliff:g>."</item>
    <item msgid="7779544127785487304">"Este alarme dispara daqui a <xliff:g id="DAYS">%1$s</xliff:g>, <xliff:g id="HOURS">%2$s</xliff:g> e <xliff:g id="MINUTES">%3$s</xliff:g>."</item>
  </string-array>
    <string name="day" msgid="7984755014526510295">"1 dia"</string>
    <string name="days" msgid="2070509222727852210">"<xliff:g id="DAYS">%s</xliff:g> dias"</string>
    <string name="hour" msgid="2546819039651509323">"1 hora"</string>
    <string name="hours" msgid="2071487018566991613">"<xliff:g id="HOURS">%s</xliff:g> horas"</string>
    <string name="minute" msgid="2486157997434653710">"1 minuto"</string>
    <string name="minutes" msgid="6115838729146292526">"<xliff:g id="MINUTES">%s</xliff:g> minutos"</string>
    <string name="every_day" msgid="1058994798884544691">"todos os dias"</string>
    <string name="never" msgid="54104287800571769">"Nunca"</string>
    <string name="day_concat" msgid="971998564991636532">", "</string>
    <string name="clock_instructions" msgid="3118560284915857690">"Seleccione um relógio para visualizar."</string>
    <string name="analog_gadget" msgid="1670505720837152766">"Relógio analógico"</string>
    <string name="settings" msgid="5849739030579520686">"Definições"</string>
    <string name="alarm_in_silent_mode_title" msgid="3892612644543516705">"Alarme em modo silencioso"</string>
    <string name="alarm_in_silent_mode_summary" msgid="6042500263899922832">"Fazer soar o alarme mesmo com o telefone em modo silencioso"</string>
    <string name="snooze_duration_title" msgid="1471249885139952670">"Duração da suspensão"</string>
  <string-array name="snooze_duration_entries">
    <item msgid="8337408933053603125">"5 minutos"</item>
    <item msgid="5294206441496024610">"10 minutos"</item>
    <item msgid="2165904039211935470">"15 minutos"</item>
    <item msgid="7248236967714374250">"20 minutos"</item>
    <item msgid="738394723625179423">"25 minutos"</item>
    <item msgid="1180222611308391616">"30 minutos"</item>
  </string-array>
  <string-array name="snooze_duration_values">
    <item msgid="3655014754453084122">"5"</item>
    <item msgid="8939029597449573449">"10"</item>
    <item msgid="3922647341176353315">"15"</item>
    <item msgid="5821804105985044459">"20"</item>
    <item msgid="6048861883552402852">"25"</item>
    <item msgid="2740866721232379791">"30"</item>
  </string-array>
    <string name="done" msgid="6509722361933858451">"Concluído"</string>
    <string name="revert" msgid="9100911171235162926">"Reverter"</string>
    <string name="alarm_volume_title" msgid="8506245173912428522">"Volume do alarme"</string>
    <string name="alarm_volume_summary" msgid="8957440373896242438">"Definir o volume dos alarmes"</string>
    <string name="silent_alarm_summary" msgid="8605302849408279221">"Silencioso"</string>
    <string name="alarm_notify_text" msgid="4146350965933990093">"Seleccionar suspender ou ignorar este alarme."</string>
    <string name="alarm_notify_snooze_label" msgid="5404083762646377829">"<xliff:g id="LABEL">%s</xliff:g> (suspenso)"</string>
    <string name="alarm_notify_snooze_text" msgid="8004830999152609519">"Alarme definido para a(s) <xliff:g id="TIME">%s</xliff:g>. Seleccione para cancelar."</string>
    <string name="volume_button_setting_title" msgid="1892885285888644234">"Comportamento do botão lateral"</string>
    <string name="volume_button_setting_summary" msgid="1594641247799573198">"Definir o comportamento pretendido dos botões laterais quando premidos durante um alarme"</string>
    <string name="default_ringtone_setting_title" msgid="4549726190682964245">"Definir toque predefinido"</string>
  <string-array name="volume_button_setting_entries">
    <item msgid="4520420953175098625">"Nenhum"</item>
    <item msgid="7111908302622811168">"Suspender"</item>
    <item msgid="8573552194573068996">"Ignorar"</item>
  </string-array>
  <string-array name="volume_button_setting_values">
    <item msgid="4851033050639608752">"0"</item>
    <item msgid="3204893476515513084">"1"</item>
    <item msgid="7687709558968154577">"2"</item>
  </string-array>
</resources>
