# HG changeset patch
# User t_mrc-ct@users.osdn.jp
# Date 1439808549 -32400
#      Mon Aug 17 19:49:09 2015 +0900
# Node ID 88eba91646ef40395947ee499e1104c14e70c7e2
# Parent  ed1074c9583e4b6efa1963ade368dfa50798f141
merge missing calendar strings from pt-PT repo

diff --git a/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
--- a/calendar/chrome/calendar/calendar-event-dialog.dtd
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -35,25 +35,26 @@
 <!ENTITY event.attendees.notify.label               "Notificar participantes">
 <!ENTITY event.attendees.notifyundisclosed.label    "Convite separado por participante">
 <!ENTITY event.attendees.notifyundisclosed.tooltip  "Esta opção envia um email de convite por participante. Cada convite contém apenas o participante destinatário para que as identidades dos participantes não sejam divulgadas.">
 <!-- Keyboard Shortcuts -->
 
 <!ENTITY event.dialog.new.event.key2              "I">
 <!ENTITY event.dialog.new.task.key2               "D">
 <!ENTITY event.dialog.new.message.key2            "N">
-
+<!ENTITY event.dialog.close.key                   "f">
 <!ENTITY event.dialog.save.key                    "S">
 <!ENTITY event.dialog.saveandclose.key            "L">
 <!ENTITY event.dialog.print.key                   "P">
 <!ENTITY event.dialog.undo.key                    "Z">
 <!ENTITY event.dialog.redo.key                    "Y">
 <!ENTITY event.dialog.cut.key                     "X">
 <!ENTITY event.dialog.copy.key                    "C">
 <!ENTITY event.dialog.paste.key                   "V">
+<!ENTITY event.dialog.select.all.key              "t">
 
 <!-- Menubar -->
 
 <!ENTITY  event.menu.item.new.label                       "Novo">
 <!ENTITY  event.menu.item.new.accesskey                   "N">
 <!ENTITY  event.menu.item.new.event.label                 "Evento">
 <!ENTITY  event.menu.item.new.event.accesskey             "E">
 <!ENTITY  event.menu.item.new.task.label                  "Tarefa">
@@ -137,21 +138,22 @@
 <!ENTITY event.email.attendees.label                      "Criar mensagem a todos os participantes…">
 <!ENTITY event.email.attendees.accesskey                  "m">
 <!ENTITY event.email.tentative.attendees.label            "Criar mensagem aos participantes indecisos…">
 <!ENTITY event.email.tentative.attendees.accesskey        "i">
 <!-- Toolbar -->
 
 <!ENTITY  event.toolbar.save.label                        "Salvar e fechar">
 <!ENTITY  event.toolbar.delete.label                      "Excluir">
-
+<!ENTITY  event.toolbar.attendees.label                   "Convidar participantes">
 <!ENTITY  event.toolbar.privacy.label                     "Privacidade">
 
-
-
+<!ENTITY  event.toolbar.save.tooltip                      "Guardar e fechar">
+<!ENTITY  event.toolbar.delete.tooltip                    "Eliminar">
+<!ENTITY  event.toolbar.attendees.tooltip                 "Convidar participantes">
 <!ENTITY  event.toolbar.attachments.tooltip               "Adicionar anexos">
 <!ENTITY  event.toolbar.privacy.tooltip                   "Alterar privacidade">
 <!ENTITY  event.toolbar.priority.tooltip                  "Alterar prioridade">
 <!ENTITY  event.toolbar.status.tooltip                    "Alterar status">
 <!ENTITY  event.toolbar.freebusy.tooltip                  "Alterar tempo livre/ocupado">
 <!-- Main page -->
 
 <!ENTITY event.title.textbox.label                        "Título:" >
@@ -212,16 +214,17 @@
 <!ENTITY event.reminder.12hours.before.label              "12 horas antes" >
 <!ENTITY event.reminder.1day.before.label                 "1 dia antes" >
 <!ENTITY event.reminder.2days.before.label                "2 dias antes" >
 <!ENTITY event.reminder.1week.before.label                "1 semana antes" >
 <!ENTITY event.reminder.custom.label                      "Personalizado…" >
 
 <!ENTITY event.reminder.multiple.label                    "Lembretes múltiplos…" >
 
+<!ENTITY event.statusbarpanel.freebusy.label              "Hora como:">
 <!ENTITY event.statusbarpanel.privacy.label               "Privacidade:">
 <!-- Recurrence dialog -->
 
 <!ENTITY recurrence.title.label                         "Editar recorrência">
 
 <!ENTITY event.repeat.does.not.repeat.label             "Não repete">
 <!ENTITY event.repeat.daily.label                       "Diariamente">
 <!ENTITY event.repeat.weekly.label                      "Semanalmente">
@@ -299,17 +302,17 @@
 <!ENTITY event.recurrence.yearly.last.label                  "No(a) último(a)">
 <!ENTITY event.recurrence.pattern.yearly.week.1.label        "Domingo" >
 <!ENTITY event.recurrence.pattern.yearly.week.2.label        "Segunda" >
 <!ENTITY event.recurrence.pattern.yearly.week.3.label        "Terça" >
 <!ENTITY event.recurrence.pattern.yearly.week.4.label        "Quarta" >
 <!ENTITY event.recurrence.pattern.yearly.week.5.label        "Quinta" >
 <!ENTITY event.recurrence.pattern.yearly.week.6.label        "Sexta" >
 <!ENTITY event.recurrence.pattern.yearly.week.7.label        "Sábado" >
-
+<!ENTITY event.recurrence.pattern.yearly.day.label           "dia" >
 <!ENTITY event.recurrence.of.label                           "de" >
 <!ENTITY event.recurrence.pattern.yearly.month2.1.label      "janeiro" >
 <!ENTITY event.recurrence.pattern.yearly.month2.2.label      "fevereiro" >
 <!ENTITY event.recurrence.pattern.yearly.month2.3.label      "março" >
 <!ENTITY event.recurrence.pattern.yearly.month2.4.label      "abril" >
 <!ENTITY event.recurrence.pattern.yearly.month2.5.label      "maio" >
 <!ENTITY event.recurrence.pattern.yearly.month2.6.label      "junho" >
 <!ENTITY event.recurrence.pattern.yearly.month2.7.label      "julho" >
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
--- a/calendar/chrome/calendar/calendar-event-dialog.properties
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -44,16 +44,17 @@
 #
 #   "nounclass3", "nounclass4" and so on for languages that need more than two
 #                    noun classes for weekdays. In this case add corresponding
 #                    rule string with "Nounclass..." suffix and ordinal string
 #                    "repeatOrdinalxNounclass..."
 # Will be used rule strings with "Nounclass..." suffix corresponding to the
 # following strings if there is a weekday in the rule string.
 repeatDetailsDay1=Domingo
+repeatDetailsDay1Nounclass=nounclass1
 repeatDetailsDay2=Segunda
 repeatDetailsDay2Nounclass=nounclass2
 repeatDetailsDay3=Terça
 repeatDetailsDay3Nounclass=nounclass2
 repeatDetailsDay4=Quarta
 repeatDetailsDay4Nounclass=nounclass2
 repeatDetailsDay5=Quinta
 repeatDetailsDay5Nounclass=nounclass2
@@ -121,16 +122,17 @@
 monthlyDaysOfNth_day=dia %1$S;dias %1$S
 
 # LOCALIZATION NOTE (monthlyDaysOfNth):
 # Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
 # %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
 #        of month, possibly followed by an ordinal symbol, separated with commas;
 # #2   - monthly interval
 # e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S de cada mês;%1$S de cada #2 meses
 
 # LOCALIZATION NOTE (monthlyLastDayOfNth):
 # Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
 # %1$S - day of month
 # #2 - month interval
 # e.g. "the last day of every 3 months"
 monthlyLastDayOfNth=no último dia do mês; no último dia a cada #1 meses
 
@@ -210,16 +212,17 @@
 
 #LOCALIZATION NOTE (yearlyEveryDayOf):
 # Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
 # This string describes part of a yearly rule which includes every day of a month.
 # %1$S - month
 # #2   - yearly interval
 # e.g. "every day of December"
 # e.g. "every 3 years every day of December"
+yearlyEveryDayOf=todos os dias de %1$S;a cada #2 anos todos os dias de %1$S
 
 repeatDetailsMonth1=Janeiro
 repeatDetailsMonth2=Fevereiro
 repeatDetailsMonth3=Março
 repeatDetailsMonth4=Abril
 repeatDetailsMonth5=Maio
 repeatDetailsMonth6=Junho
 repeatDetailsMonth7=Julho
diff --git a/calendar/chrome/calendar/calendar-extract.properties b/calendar/chrome/calendar/calendar-extract.properties
--- a/calendar/chrome/calendar/calendar-extract.properties
+++ b/calendar/chrome/calendar/calendar-extract.properties
@@ -47,16 +47,17 @@
 
 # LOCALIZATION NOTE (no.datetime.prefix):
 # datetimes with these in front won't be used
 # specify full words here
 no.datetime.prefix = semana passada | enviado | email | e-mail | ao invés de | > | infelizmente | não | última semana | anteriormente em | realizado em | terminado | terminado em
 
 # LOCALIZATION NOTE (no.datetime.suffix):
 # datetimes followed by these won't be used
+no.datetime.suffix = floor | flr | : | email | e-mail | > | % | usd | dollars | eur | euros
 
 # LOCALIZATION NOTE (from.*):
 # can be a list of values, separate variants by |
 
 # LOCALIZATION NOTE (from.today):
 # must not be empty!
 from.today = hoje
 
@@ -75,16 +76,17 @@
 until.ordinal.date =
 
 from.noon = meio-dia
 until.noon =
 
 # LOCALIZATION NOTE (from.hour):
 # %1$S = matches numbers 0-23 and number.0-number.23
 # should not have "%1$S" as this would match any single number in email to a time
+from.hour = ás %1$S | á volta das %1$S | %1$S - | %1$S à
 
 # LOCALIZATION NOTE (until.hour):
 # %1$S = matches numbers 0-23 and number.0-number.23
 # should also list how to find end of a timeframe
 until.hour = - %1$S | a %1$S | até %1$S | por %1$S
 
 # LOCALIZATION NOTE (from.hour.am):
 # %1$S = matches numbers 0-23 and number.0-number.23
@@ -92,16 +94,17 @@
 
 # LOCALIZATION NOTE (until.hour.am):
 # %1$S = matches numbers 0-23 and number.0-number.23
 # should also list how to find end of a timeframe
 until.hour.am =
 
 # LOCALIZATION NOTE (from.hour.pm):
 # %1$S = matches numbers 0-23 and number.0-number.23
+from.hour.pm = %1$S pm | %1$S p.m | %1$S p
 
 # LOCALIZATION NOTE (until.hour.pm):
 # %1$S = matches numbers 0-23 and number.0-number.23
 # should also list how to find end of a timeframe
 until.hour.pm =
 
 # LOCALIZATION NOTE (from.half.hour.before):
 # denotes times 30 minutes before next full hour
@@ -137,25 +140,27 @@
 # LOCALIZATION NOTE (until.hour.minutes.am):
 # %1$S = matches numbers 0-23
 # %2$S = matches numbers 0-59
 until.hour.minutes.am =
 
 # LOCALIZATION NOTE (from.hour.minutes.pm):
 # %1$S = matches numbers 0-23
 # %2$S = matches numbers 0-59
+from.hour.minutes.pm = %1$S:%2$S pm | %1$S:%2$S p.m | %1$S:%2$S p
 
 # LOCALIZATION NOTE (until.hour.minutes.pm):
 # %1$S = matches numbers 0-23
 # %2$S = matches numbers 0-59
 until.hour.minutes.pm =
 
 # LOCALIZATION NOTE (from.monthname.day):
 # %1$S = matches numbers 1-31 and number.x
 # %2$S = matches monthname
+from.monthname.day = %1$S %2$S | %2$S %1$S | %2$S %1$Sst | %2$S %1$Snd | %2$S %1$Srd | %2$S %1$Sth | %1$Sst de %2$S | %1$Snd de %2$S | %1$Srd of %2$S | %1$Sth de %2$S
 
 # LOCALIZATION NOTE (until.monthname.day):
 # %1$S = matches numbers 1-31
 # %2$S = matches monthname
 until.monthname.day =
 
 # LOCALIZATION NOTE (from.month.day):
 # %1$S = matches numbers 1-31
@@ -166,27 +171,29 @@
 # %1$S = matches numbers 1-31 and number.x
 # %2$S = matches numbers 1-12
 until.month.day =
 
 # LOCALIZATION NOTE (from.year.month.day):
 # %1$S = matches numbers 1-31
 # %2$S = matches numbers 1-12
 # %3$S = matches 2/4 numbers
+from.year.month.day = %2$S/%1$S/%3$S | %3$S/%2$S/%1$S | %3$S-%2$S-%1$S
 
 # LOCALIZATION NOTE (until.year.month.day):
 # %1$S = matches numbers 1-31
 # %2$S = matches numbers 1-12
 # %3$S = matches 2/4 numbers
 until.year.month.day =
 
 # LOCALIZATION NOTE (from.year.monthname.day):
 # %1$S = matches numbers 1-31
 # %2$S = matches monthname
 # %3$S = matches 2/4 numbers
+from.year.monthname.day = %1$S %2$S %3$S | %1$Sst %2$S %3$S | %1$Snd %2$S %3$S | %1$Srd %2$S %3$S | %1$Sth %2$S %3$S | %2$S %1$S, %3$S | %3$S-%2$S-%1$S
 
 # LOCALIZATION NOTE (until.year.monthname.day):
 # %1$S = matches numbers 1-31
 # %2$S = matches monthname
 # %3$S = matches 2/4 numbers
 until.year.monthname.day =
 
 # LOCALIZATION NOTE (duration.*):
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
--- a/calendar/chrome/calendar/calendar.dtd
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -9,17 +9,17 @@
 <!ENTITY calendar.newevent.button.tooltip         "Cria um novo evento" >
 <!ENTITY calendar.newtask.button.tooltip          "Cria uma nova tarefa" >
 
 <!ENTITY calendar.unifinder.todoitems.label       "Tarefas" >
 <!ENTITY calendar.unifinder.showcompletedtodos.label "Exibir tarefas completadas">
 
 <!ENTITY calendar.today.button.label          "Hoje">
 <!ENTITY calendar.tomorrow.button.label       "Amanhã">
-
+<!ENTITY calendar.upcoming.button.label       "Brevemente">
 
 <!ENTITY calendar.events.filter.all.label "Todos os eventos">
 <!ENTITY calendar.events.filter.today.label "Eventos de hoje">
 <!ENTITY calendar.events.filter.future.label "Todos os eventos futuros">
 <!ENTITY calendar.events.filter.current.label "Dia selecionado">
 <!ENTITY calendar.events.filter.currentview.label "Eventos na visualização atual">
 <!ENTITY calendar.events.filter.next7Days.label "Eventos nos próximos 7 dias">
 <!ENTITY calendar.events.filter.next14Days.label "Eventos nos próximos 14 dias">
@@ -49,17 +49,17 @@
 <!ENTITY calendar.unifinder.tree.categories.tooltip2       "Ordenar por categoria">
 <!ENTITY calendar.unifinder.tree.location.label            "Local">
 <!ENTITY calendar.unifinder.tree.location.tooltip2         "Ordenar por localização">
 <!ENTITY calendar.unifinder.tree.status.label              "Posição">
 <!ENTITY calendar.unifinder.tree.status.tooltip2           "Ordenar por estado">
 <!ENTITY calendar.unifinder.tree.calendarname.label        "Nome do calendário">
 <!ENTITY calendar.unifinder.tree.calendarname.tooltip2     "Ordenar por nome de calendário">
 <!ENTITY calendar.unifinder.tree.duration.label            "Vencimento">
-
+<!ENTITY calendar.unifinder.tree.duration.tooltip2         "Ordenar por data de vencimento">
 <!ENTITY calendar.unifinder.close.tooltip                  "Fecha a busca e a lista de eventos">
 
 <!ENTITY calendar.today.button.tooltip          "Vai para hoje" >
 <!ENTITY calendar.todaypane.button.tooltip      "Exibe painel hoje" >
 
 <!ENTITY calendar.day.button.tooltip            "Altera para exibição do dia" >
 <!ENTITY calendar.week.button.tooltip           "Altera para exibição da semana" >
 <!ENTITY calendar.month.button.tooltip          "Altera para exibição do mês" >
@@ -200,23 +200,23 @@
 <!ENTITY progress.level.50            "50&percnt;">
 <!ENTITY progress.level.50.accesskey  "5">
 <!ENTITY progress.level.75            "75&percnt;">
 <!ENTITY progress.level.75.accesskey  "7">
 <!ENTITY progress.level.100            "100&percnt;">
 <!ENTITY progress.level.100.accesskey  "1">
 
 <!ENTITY priority.level.none                "Não especificada">
-
+<!ENTITY priority.level.none.accesskey      "N">
 <!ENTITY priority.level.low                 "Baixa">
 <!ENTITY priority.level.low.accesskey       "B">
 <!ENTITY priority.level.normal              "Normal">
 <!ENTITY priority.level.normal.accesskey    "N">
 <!ENTITY priority.level.high                "Alta">
-
+<!ENTITY priority.level.high.accesskey      "A">
 
 <!ENTITY calendar.context.postpone.1hour.label      "1 Hora">
 <!ENTITY calendar.context.postpone.1hour.accesskey  "H">
 <!ENTITY calendar.context.postpone.1day.label       "1 Dia">
 <!ENTITY calendar.context.postpone.1day.accesskey   "D">
 <!ENTITY calendar.context.postpone.1week.label      "1 Semana">
 <!ENTITY calendar.context.postpone.1week.accesskey  "S">
 
@@ -228,25 +228,27 @@
 
 <!ENTITY calendar.taskview.delete.label     "Excluir">
 <!-- Server Context Menu -->
 
 <!ENTITY calendar.context.newserver.label              "Novo calendário…">
 <!ENTITY calendar.context.newserver.accesskey          "N">
 <!ENTITY calendar.context.findcalendar.label           "Encontrar calendário…" >
 <!ENTITY calendar.context.findcalendar.accesskey       "c" >
-
+<!ENTITY calendar.context.deleteserver2.label          "Eliminar calendário">
+<!ENTITY calendar.context.deleteserver2.accesskey      "A">
 
 <!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
       calendar is the general action of removing it, while deleting means to
       clear the data and unsubscribing means just taking it out of the calendar
       list. -->
-
-
-
+<!ENTITY calendar.context.removeserver.label           "Remover calendário">
+<!ENTITY calendar.context.removeserver.accesskey       "R">
+<!ENTITY calendar.context.unsubscribeserver.label      "Cancelar subscrição do calendário">
+<!ENTITY calendar.context.unsubscribeserver.accesskey  "u">
 <!ENTITY calendar.context.synccalendars.label          "Sincronizar calendários">
 <!ENTITY calendar.context.synccalendars.accesskey      "S">
 <!ENTITY calendar.context.publish.label                "Publicar calendário…">
 <!ENTITY calendar.context.publish.accesskey            "u">
 <!ENTITY calendar.context.export.label                 "Exportar calendário…">
 <!ENTITY calendar.context.export.accesskey             "E">
 <!ENTITY calendar.context.properties.label             "Propriedades">
 <!ENTITY calendar.context.properties.accesskey         "P">
@@ -291,18 +293,19 @@
 <!ENTITY calendar.alarm.dismiss.label               "Descartar" >
 <!ENTITY calendar.alarm.dismissall.label            "Descartar todos" >
 
 <!ENTITY calendar.alarm.snooze.5minutes.label       "5 Minutos" >
 <!ENTITY calendar.alarm.snooze.10minutes.label      "10 Minutos" >
 <!ENTITY calendar.alarm.snooze.15minutes.label      "15 Minutos" >
 <!ENTITY calendar.alarm.snooze.30minutes.label      "30 Minutos" >
 <!ENTITY calendar.alarm.snooze.45minutes.label      "45 Minutos" >
-
+<!ENTITY calendar.alarm.snooze.1hour.label          "1 Hora" >
 <!ENTITY calendar.alarm.snooze.2hours.label         "2 Horas" >
+<!ENTITY calendar.alarm.snooze.1day.label           "1 Dia" >
 
 <!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
      This string is not seen in the UI, it is read by screen readers when the
      user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
      dialog. -->
 
 <!ENTITY calendar.alarm.snooze.cancel               "Cancelar soneca">
 <!-- Calendar Server Dialog -->
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
--- a/calendar/chrome/calendar/calendar.properties
+++ b/calendar/chrome/calendar/calendar.properties
@@ -81,29 +81,34 @@
 missingCalendarTimezonesError=Não foi possível encontrar fusos horários! Favor instalar calendar-timezones.xpi.
 
 # Sample: Unknown timezone "USPacific" in "Dentist Appt".  Using the 'floating' local timezone instead: 2008/02/28 14:00:00
 unknownTimezoneInItem=Fuso horário desconhecido "%1$S" em "%2$S".  No lugar deste, será tratado como fuso 'flutuante': %3$S
 TimezoneErrorsAlertTitle=Erros de fuso horário
 TimezoneErrorsSeeConsole=Veja console de erros: fusos desconhecidos tratados como fuso local 'flutuante'.
 
 # The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Remover calendário
+removeCalendarButtonDelete=Eliminar calendário
 removeCalendarButtonUnsubscribe=Cancelar inscrição
 
 # LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
 # calendar where both deleting and unsubscribing is possible.
 # %1$S:  The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Pretende remover o calendário "%1$S"? Se cancelar a subscrição, remove-o da lista mas a eliminação elimina permanentemente os seus dados.
 
 # LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
 # deleting is the only option.
 # %1$S:  The name of a calendar
+removeCalendarMessageDelete=Pretende eliminar permanentemente o calendário "%1$S"?
 
 # LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
 # where unsubscribing is the only option.
 # %1$S:  The name of a calendar
+removeCalendarMessageUnsubscribe=Pretende cancelar a subscrição do calendário "%1$S"?
 
 WeekTitle=Semana %1$S
 # Used to format the Multiweek's labels, ie Weeks 2 - 7
 WeeksTitle=Semanas %1$S-%2$S
 None=Nenhuma
 
 # Error strings
 ## @name UID_NOT_FOUND
@@ -205,16 +210,19 @@
 caldavRequestStatusCodeString400=A solicitação contém sintaxe inválida e não pode ser processada.
 caldavRequestStatusCodeString403=O usuário não possui a permissão necessária para realizar a solicitação.
 caldavRequestStatusCodeString404=Recurso não encontrado.
 caldavRequestStatusCodeString409=Conflito de recursos.
 caldavRequestStatusCodeString412=Pré-requisito falhou.
 caldavRequestStatusCodeString500=Erro interno do servidor.
 caldavRequestStatusCodeString502=Gateway defeituoso (configuração de proxy?).
 caldavRequestStatusCodeString503=Erro interno do servidor (interrupção temporária do servidor?).
+caldavRedirectTitle=Atualizar localização do calendário %1$S?
+caldavRedirectText=Os pedidos para %1$S estão a ser encaminhados para uma nova localização. Gostaria de mudar a localização para o seguinte valor?
+caldavRedirectDisableCalendar=Desativar calendário
 
 
 # LOCALIZATION NOTE (likelyTimezone):
 #   Translators, please put the most likely timezone(s) where the people using
 #   your locale will be.  Use the Olson ZoneInfo timezone name *in English*,
 #   ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
 #   Order does not matter, except if two historically different zones now match,
 #   such as America/New_York and America/Toronto, will only find first listed.
@@ -477,55 +485,59 @@
 # LOCALIZATION NOTE (formatDateLong):
 # used for display dates in long format like 'Mon 15 Oct 2008' when it's
 # impossible to retrieve the formatatted date from the OS.
 #    %1$S will be replaced with name of the day in short format;
 #    %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
 #         (depending on the string dayOrdinalSymbol in dateFormat.properties);
 #    %3$S will be replaced with the name of the month in short format;
 #    %4$S will be replaced with the year.
+formatDateLong=%1$S, %2$S de %3$S de %4$S
 
 # LOCALIZATION NOTE (dayHeaderLabel):
 # used for display the labels in the header of the days in day/week views in short
 # or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
 #    %1$S will be replaced with name of the day in short or long format
 #    %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
 #         (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
 #         of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S, %2$S
 
 # LOCALIZATION NOTE (daysIntervalInMonth):
 # used for display of intervals in the form of 'March 3 - 9, 2008'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
 #    %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
 #    %4$S will be replaced with the common year of both dates
 # The presence of the ordinal symbol in the day-indexes depends on the string
 # dayOrdinalSymbol in dateFormat.properties
 daysIntervalInMonth=%2$S a %3$S de %1$S de %4$S
 
 # LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
 # If your language requires a different declension, change this to
 # one of the values specified in dateFormat.properties.
 # In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=nominative
 
 # LOCALIZATION NOTE (daysIntervalBetweenMonths):
 # used for display of intervals in the form 'September 29 - October 5, 2008'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
 #    %3$S will be replaced with name of the month of the end date
 #    %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
 #    %5$S will be replaced with the commmon year of both dates
 # The presence of the ordinal symbol in the day-indexes depends on the string
 # dayOrdinalSymbol in dateFormat.properties
 daysIntervalBetweenMonths=%2$S de %1$S a %4$S de %3$S de %5$S
 
 # LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
 # If your language requires a different declension, change this to 
 # one of the values specified in dateFormat.properties.
 # In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=nominative
 
 # LOCALIZATION NOTE (daysIntervalBetweenYears):
 # used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
 #    %3$S will be replaced with the year of the start date
 #    %4$S will be replaced with name of the month of the end date
 #    %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
@@ -533,16 +545,17 @@
 # The presence of the ordinal symbol in the day-indexes depends on the string
 # dayOrdinalSymbol in dateFormat.properties
 daysIntervalBetweenYears=%2$S de %1$S de %3$S a %5$S de %4$S de %6$S
 
 # LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
 # If your language requires a different declension, change this to
 # one of the values specified in dateFormat.properties.
 # In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=nominative
 
 # LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
 # used for intervals where end is equals to start
 # displayed form is '5 Jan 2006 13:00'
 #    %1$S will be replaced with the date of the start date
 #    %2$S will be replaced with the time of the start date
 datetimeIntervalOnSameDateTime=%1$S %2$S
 
@@ -611,20 +624,27 @@
 # Used in message header
 #    %1$S will be replaced with language name from languageNames.properties
 #    %2$S will be replaced with region like US in en-US
 extractUsingRegion=Usando %1$S (%2$S)
 
 # LOCALIZATION NOTE (unit)
 # Used to determine the correct plural form of a unit
 unitMinutes=#1 minuto;#1 minutos
+unitHours=#1 hora;#1 horas
+unitDays=#1 dia;#1 dias
+unitWeeks=#1 semana;#1 semanas
 
 # LOCALIZATION NOTE (showCalendar)
 # Used in calendar list context menu
 #    %1$S will be replaced with the calendar name
 # uses the access key calendar.context.togglevisible.accesskey
 showCalendar=Exibir %1$S
 hideCalendar=Ocultar %1$S
 # uses the access key calendar.context.showonly.accesskey
 showOnlyCalendar=Mostrar somente %1$S
 
 # LOCALIZATION NOTE (modifyConflict)
 # Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Conflito na modificação do item
+modifyConflictPromptMessage=O item a ser editado no diálogo foi modificado desde que foi aberto.
+modifyConflictPromptButton1=Sobrescrever as outras alterações
+modifyConflictPromptButton2=Ignorar estas alterações
\ No newline at end of file
diff --git a/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
--- a/calendar/chrome/calendar/dateFormat.properties
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -16,29 +16,42 @@
 # LOCALIZATION NOTE (month.*.name):
 # Some languages require different declensions of month names.
 # These values will be used if *.monthFormat is set to "nominative" or in places
 # where using a different declension is not yet supported.
 month.1.name=Janeiro
 month.2.name=Fevereiro
 month.3.name=Março
 month.4.name=Abril
+month.5.name=Maio
 month.6.name=Junho
 month.7.name=Julho
 month.8.name=Agosto
 month.9.name=Setembro
 month.10.name=Outubro
 month.11.name=Novembro
 month.12.name=Dezembro
 
 # LOCALIZATION NOTE (month.*.genitive):
 # Some languages require different declensions of month names.
 # These values will be used if *.monthFormat is set to "genitive"
 # If your language doesn't use different declensions, just set the same
 # values as for month.*.name.
+month.1.genitive=Janeiro
+month.2.genitive=Fevereiro
+month.3.genitive=Março
+month.4.genitive=Abril
+month.5.genitive=Maio
+month.6.genitive=Junho
+month.7.genitive=Julho
+month.8.genitive=Agosto
+month.9.genitive=Setembro
+month.10.genitive=Outubro
+month.11.genitive=Novembro
+month.12.genitive=Dezembro
 
 month.1.Mmm=Jan
 month.2.Mmm=Fev
 month.3.Mmm=Mar
 month.4.Mmm=Abr
 month.5.Mmm=Mai
 month.6.Mmm=Jun
 month.7.Mmm=Jul
diff --git a/calendar/chrome/calendar/menuOverlay.dtd b/calendar/chrome/calendar/menuOverlay.dtd
--- a/calendar/chrome/calendar/menuOverlay.dtd
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -15,23 +15,23 @@
 <!ENTITY calendar.export.label                  "Exportar…">
 <!ENTITY calendar.export.accesskey              "E">
 
 <!ENTITY calendar.publish.label                 "Publicar…">
 <!ENTITY calendar.publish.accesskey             "b">
 
 <!ENTITY calendar.deletecalendar.label          "Excluir calendário selecionado…">
 <!ENTITY calendar.deletecalendar.accesskey      "d">
-
-
+<!ENTITY calendar.unsubscribecalendar.label     "Cancelar subscrição do calendário selecionado...">
+<!ENTITY calendar.unsubscribecalendar.accesskey "u">
 <!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar
       is the general action of removing it, while deleting means to clear the
       data and unsubscribing means just taking it out of the calendar list. -->
-
-
+<!ENTITY calendar.removecalendar.label          "Remover calendário selecionado...">
+<!ENTITY calendar.removecalendar.accesskey      "R">
 
 <!ENTITY calendar.menu.customize.label          "Personalizar…">
 <!ENTITY calendar.menu.customize.accesskey      "z">
 
 <!ENTITY showUnifinderCmd.label                 "Localizar eventos">
 <!ENTITY showUnifinderCmd.accesskey             "L">
 
 <!ENTITY calendar.displaytodos.checkbox.label       "Tarefas na visualização">
diff --git a/calendar/chrome/calendar/preferences/alarms.dtd b/calendar/chrome/calendar/preferences/alarms.dtd
--- a/calendar/chrome/calendar/preferences/alarms.dtd
+++ b/calendar/chrome/calendar/preferences/alarms.dtd
@@ -9,18 +9,18 @@
 
 <!ENTITY pref.alarmgoesoff.label "Quando um alarme dispara:">
 <!ENTITY pref.playasound "Tocar som">
 <!ENTITY pref.calendar.alarms.playsound.accessKey "T">
 <!ENTITY pref.calendar.alarms.sound.useDefault.label "Use som padrão">
 <!ENTITY pref.calendar.alarms.sound.useDefault.accessKey "U">
 <!ENTITY pref.calendar.alarms.sound.browse.label "Procurar…">
 <!ENTITY pref.calendar.alarms.sound.browse.accessKey "P">
-
-
+<!ENTITY pref.calendar.alarms.sound.play.label "Reproduzir">
+<!ENTITY pref.calendar.alarms.sound.play.accessKey "p">
 <!ENTITY pref.showalarmbox "Mostrar aviso">
 <!ENTITY pref.calendar.alarms.showAlarmBox.accessKey "M">
 <!ENTITY pref.missedalarms "Mostrar alarmes vencidos">
 <!ENTITY pref.calendar.alarms.missedAlarms.accessKey "v">
 <!ENTITY pref.calendar.alarms.defaults.label "Padrões para alarmes">
 <!ENTITY pref.defalarm4events.label "Configuração padrão de alarmes para eventos:">
 <!ENTITY pref.defalarm4events.accesskey "C">
 <!ENTITY pref.defalarm4todos.label "Configuração padrão de alarmes para tarefas:">
diff --git a/calendar/chrome/calendar/preferences/general.dtd b/calendar/chrome/calendar/preferences/general.dtd
--- a/calendar/chrome/calendar/preferences/general.dtd
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -9,18 +9,18 @@
 
 <!ENTITY pref.mainbox.label "Configurações gerais" >
 <!ENTITY pref.dateformat.label "Formato de data:" >
 <!ENTITY pref.dateformat.accesskey "F">
 <!ENTITY pref.dateformat.long "Longo" >
 <!ENTITY pref.dateformat.short "Curto"  >
 
 <!ENTITY pref.timezones.caption "Fuso horário">
-
-
+<!ENTITY pref.timezones.label "Selecione a cidade mais próxima do seu fuso horário:">
+<!ENTITY pref.timezones.accesskey "S">
 
 <!ENTITY pref.defaults.label "Valores padrão para novos itens">
 <!ENTITY pref.events.label "Eventos">
 <!ENTITY pref.tasks.label "Tarefas">
 
 <!ENTITY pref.default_event_length.label "Duração padrão:" >
 <!ENTITY pref.default_event_length.accesskey "u">
 
@@ -29,14 +29,14 @@
 <!ENTITY pref.default_task_end_of_day.label "Fim do dia">
 <!ENTITY pref.default_task_tomorrow.label "Amanhã">
 <!ENTITY pref.default_task_next_week.label "Próxima semana">
 <!ENTITY pref.default_task_offset_current.label "Relativo à hora atual">
 <!ENTITY pref.default_task_offset_start.label "Relativo ao início">
 <!ENTITY pref.default_task_offset_next_hour.label "Relativo à próxima hora">
 
 <!ENTITY pref.calendar.todaypane.agenda.caption "Painel hoje">
-
-
+<!ENTITY pref.soondays.label "A secção seguinte mostra:">
+<!ENTITY pref.soondays.accesskey "g">
 
 <!ENTITY pref.accessibility.label "Acessibilidade" >
 <!ENTITY pref.systemcolors.label "Otimizar as cores para acessibilidade" >
 <!ENTITY pref.systemcolors.accesskey "c">
diff --git a/calendar/chrome/calendar/providers/gdata/amo.properties b/calendar/chrome/calendar/providers/gdata/amo.properties
--- a/calendar/chrome/calendar/providers/gdata/amo.properties
+++ b/calendar/chrome/calendar/providers/gdata/amo.properties
@@ -6,13 +6,22 @@
 
 # This is the addon description. The en-US version will sometimes have
 # additional news items at the end of the description. If you notice this and
 # would like them translated, please email the author directly.
 # params: %1$S - See amo.faqlocation
 #         %2$S - See amo.website
 # NOTE: This is a multiline string, be sure to end lines with \n\ to make sure
 # it stays that way.
+amo.description=Esta extensão permite que o Lightning leia e escreva eventos e tarefas no Google Calendar.\n\
+\n\
+Leia a <a href="%1$S">FAQ</a> para mais detalhes e antes de preencher um bug. Visite também <a href="%2$S">os fóruns de discussão</a>, talvez o seu bug já tenha uma solução!\n\
+\n\
+Para pesquisar e submeter bugs, visite http://bugzilla.mozilla.org/ \n\
+Produto: Calendar\n\
+Componente: Provider: GData
 
 # You can change this if you have localized the FAQ on wiki.mozilla.org
+amo.faqlocation=http://wiki.mozilla.org/Calendar:GDATA_Provider
 
 # You can change this if you would like to provide localized support.
 amo.email=
+amo.website=http://groups.google.com/group/provider-for-google-calendar
\ No newline at end of file
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.properties b/calendar/chrome/calendar/providers/gdata/gdata.properties
--- a/calendar/chrome/calendar/providers/gdata/gdata.properties
+++ b/calendar/chrome/calendar/providers/gdata/gdata.properties
@@ -31,19 +31,23 @@
 providerOutdated=Esta versão do provedor expirou, por favor, atualize para a versão mais recente.
 
 reminderOutOfRange=O calendário do Google permite apenas lembretes até 4 semanas antes do início do evento.
 
 # LOCALIZATION NOTE (syncProgressEvent):
 # %1$S = The name of the calendar that is being synchronized
 # %2$S = The number of events that have been synchronzed
 # %3$S = The total number of events in the synchronization run
+syncProgressEvent=Sincronizando %1$S evento %2$S de %3$S
 
 # LOCALIZATION NOTE (syncProgressTask):
 # %1$S = The name of the calendar that is being synchronized
 # %2$S = The number of tasks that have been synchronzed
 # %3$S = The total number of tasks in the synchronization run
+syncProgressTask=A sincronizar %1$S tarefa %2$S de %3$S
 
 # LOCALIZATION NOTE (syncStatus):
 # %1$S = The name of the calendar that is being synchronized
+syncStatus=A sincronizar calendário %1$S
 
 # LOCALIZATION NOTE (requestWindowDescription):
 # %1$S - The session id (email) used for authentication
+requestWindowDescription=O fornecedor do calendário do Google deseja aceder à sua conta %1$S para obter eventos e tarefas. As credenciais e dados do calendário apenas são transferidas entre o seu computador e a Google, não existem terceiros envolvidos.
\ No newline at end of file
diff --git a/calendar/chrome/calendar/timezones.properties b/calendar/chrome/calendar/timezones.properties
--- a/calendar/chrome/calendar/timezones.properties
+++ b/calendar/chrome/calendar/timezones.properties
@@ -436,22 +436,26 @@
 pref.timezone.America.Bahia_Banderas=América/Bahia
 pref.timezone.America.North_Dakota.Beulah=América/Dakota do norte/Beulah
 pref.timezone.Pacific.Chuuk=Pacífico/Chuuk
 pref.timezone.Pacific.Pohnpei=Pacífico/Pohnpei
 
 #added with 2011n
 pref.timezone.Africa.Juba=África/Juba
 pref.timezone.America.Kralendijk=América/Kralendijk
+pref.timezone.America.Lower_Princes=América/Lower Princes
 pref.timezone.America.Metlakatla=América/Metlakatla
 pref.timezone.America.Sitka=América/Sitka
 pref.timezone.Asia.Hebron=Ásia/Hebron
 
 #added with 2013a
 pref.timezone.America.Creston=América/Creston
 pref.timezone.Asia.Khandyga=Ásia/Khandyga
 pref.timezone.Asia.Ust-Nera=Ásia/Ust-Nera
 pref.timezone.Europe.Busingen=Europa/Busingen
 
 #added with 2014b
 pref.timezone.Antarctica.Troll=Antártica/Troll
 
 #added with 2014j
+pref.timezone.Asia.Chita=Asia/Chita
+pref.timezone.Asia.Srednekolymsk=Ásia/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Pacífico/Bougainville
\ No newline at end of file
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
--- a/calendar/chrome/lightning/lightning.properties
+++ b/calendar/chrome/lightning/lightning.properties
@@ -72,32 +72,47 @@
 # missing the binary component and knows how to calculate the expected version
 # number. To test, remove the binary component from the components/
 # subdirectory and start Lightning, or force install into a different
 # Thunderbird version. In the last part of the sentence it should be made clear
 # that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
 # %1$S - The Lightning brand name, from the brandShortName string above.
 # %2$S - The current Lightning version
 # %3$S - The expected Lightning version
+binaryComponentKnown=O componente binário necessário para %1$S não foi carregado, provavelmente porque está a utilizar uma combinação de versão errada. Você tem instalada o %1$S %2$S, mas deveria utilizar uma versão da série %3$S.
 
 # LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
 # missing the binary component but can't calculate the expected version. This
 # happens in the rare case that Lightning is installed into something other
 # than Thunderbird or Seamonkey. You may link to a different page if you can
 # commit to keeping it up to date, I'd recommend staying with the English page.
 # %1$S - The Lightning brand name, from the brandShortName string above.
 # %2$S - The application brand name, e.g. Postbox
 # %3$S - The application version
 # %3$S - The current Lightning version
+binaryComponentUnknown=O componente binário necessário para %1$S não foi carregado, provavelmente porque está a utilizar uma combinação de versão errada. Você está a utilizar o %2$S %3$S e ao mesmo tempo o %1$S %4$S. Por favor consulte https://developer.mozilla.org/en/Calendar/Calendar_Versions para mais informações.
 
 # LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
 # notifies about a version mismatch.
 # %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=Versão %1$S incompatível
 
 # LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
 # Lightning is installed from the distribution folder. To trigger it, start a
 # new profile without Lightning in a previous Thunderbird version, then upgrade
 # to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLabel=%1$S possui agora a funcionalidade de calendário através da extensão %2$S.
+integrationLearnMoreButton=Saber mais
+integrationLearnMoreAccessKey=m
+integrationOptOutButton=Desativar
+integrationOptOutAccessKey=D
+integrationKeepItButton=Manter
+integrationKeepItAccessKey=t
 
 # LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
 # clear if we will be completely uninstalling Lightning or disabling it. Please
 # translate this string in a general manner, so that it makes sense for both
 # options.
+integrationRestartLabel=%1$S será removido no próximo arranque do %2$S. Pode adicionar a extensão através do gestor de extras.
+integrationRestartButton=Reiniciar agora
+integrationRestartAccessKey=R
+integrationUndoButton=Anular
+integrationUndoAccessKey=u
\ No newline at end of file
