<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 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="toast_text_copied" msgid="8327159932780920627">"Texto copiado"</string>
    <string name="call_custom" msgid="2786306789889210756">"Telefonar para <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="call_home" msgid="1479549630992276827">"Telefonar para casa"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Telefonar para telemóvel"</string>
    <string name="call_work" msgid="8299062439076337075">"Telefonar para o trabalho"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Telefonar para o faxe do trabalho"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Telefonar para o faxe de casa"</string>
    <string name="call_pager" msgid="3038080882899955112">"Telefonar para o pager"</string>
    <string name="call_other" msgid="4472141328347894937">"Telefonar"</string>
    <string name="call_callback" msgid="687494744634190411">"Telefonar para número de retorno de chamada"</string>
    <string name="call_car" msgid="9078083109758282133">"Telefonar para o telefone do carro"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Telefonar para o número geral da empresa"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Telefonar para um telefone ISDN"</string>
    <string name="call_main" msgid="4640261071249938558">"Telefonar para o número geral"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Telefonar para o faxe"</string>
    <string name="call_radio" msgid="9055749313292712021">"Telefonar para um radiotelefone"</string>
    <string name="call_telex" msgid="2909886619224843563">"Telefonar para um telex"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Telefonar para um teletipo (TTY/TDD)"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Telefonar para o telemóvel do trabalho"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Telefonar para o pager do trabalho"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Telefonar para <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="call_mms" msgid="8998771923464696960">"Telefonar para um número MMS"</string>
    <string name="sms_custom" msgid="4601748252470175865">"Enviar mensagem de texto para <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="sms_home" msgid="7765831490534280540">"Enviar mensagem de texto para o telefone de casa"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"Enviar mensagem de texto para telemóvel"</string>
    <string name="sms_work" msgid="3910570578912367742">"Enviar mensagem de texto para trabalho"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"Enviar mensagem de texto para o faxe do trabalho"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"Enviar mensagem de texto para o faxe de casa"</string>
    <string name="sms_pager" msgid="5664381349583724906">"Enviar mensagem de texto para o pager"</string>
    <string name="sms_other" msgid="910895193552957097">"Enviar mensagem de texto"</string>
    <string name="sms_callback" msgid="728414485478941361">"Enviar mensagem de texto para um número de retorno de chamada"</string>
    <string name="sms_car" msgid="8543669230270954512">"Enviar mensagem de texto para o telefone do carro"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"Enviar mensagem de texto para o número geral da empresa"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"Enviar mensagem de texto para um telefone ISDN"</string>
    <string name="sms_main" msgid="6815987840926184815">"Enviar mensagem de texto para o número de telefone geral"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"Enviar mensagem de texto para o faxe"</string>
    <string name="sms_radio" msgid="8750339218480745940">"Enviar mensagem de texto para um radiotelefone"</string>
    <string name="sms_telex" msgid="5469333785775443999">"Enviar mensagem de texto para o telex"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"Enviar mensagem de texto para um teletipo (TTY/TDD)"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"Enviar mensagem de texto para o telemóvel do trabalho"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"Enviar mensagem de texto para o pager do trabalho"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"Enviar mensagem de texto para <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="sms_mms" msgid="4887206338311086612">"Enviar mensagem de texto para um número MMS"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"Limpar contactos frequentes?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"Irá limpar a lista de contactos frequentes nas aplicações Pessoas e Telemóvel e forçar as aplicações de email a aprenderem as suas preferências de endereço de raiz."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"A limpar contactos frequentes..."</string>
    <string name="status_available" msgid="4832569677396634846">"Disponível"</string>
    <string name="status_away" msgid="6267905184545881094">"Ausente"</string>
    <string name="status_busy" msgid="7111912905211403545">"Ocupado(a)"</string>
    <string name="contactsList" msgid="7140022347217602605">"Contactos"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Outro"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Diretório"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Todos os contactos"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Utilizador"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"A pesquisar…"</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"Foram encontrados mais de <xliff:g id="COUNT">%d</xliff:g>."</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"Sem contactos"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"1 encontrado"</item>
    <item quantity="other" msgid="4649647748678161594">"<xliff:g id="COUNT">%d</xliff:g> encontrado(s)"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"Contacto rápido para <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Sem nome)"</string>
</resources>
