[tryton-debian-vcs] tryton-modules-calendar branch debian updated. debian/3.6.2-1-1-g0dff772

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Nov 11 11:22:12 UTC 2015


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-calendar.git;a=commitdiff;h=debian/3.6.2-1-1-g0dff772

commit 0dff772be5e7a70e356cc4ce508742f28c05c25f
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Nov 11 12:11:06 2015 +0100

    Merging upstream version 3.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index c6a17f9..5826263 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,4 @@
-Version 3.6.2 - 2015-09-19
-* Bug fixes (see mercurial logs for details)
-
-Version 3.6.1 - 2015-07-13
+Version 3.8.0 - 2015-11-02
 * Bug fixes (see mercurial logs for details)
 
 Version 3.6.0 - 2015-04-20
diff --git a/INSTALL b/INSTALL
index 2bb9cd8..fac6be0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -10,7 +10,7 @@ Prerequisites
  * pywebdav >= 0.9.8 (http://sourceforge.net/projects/pywebdav/)
  * python-dateutil (http://labix.org/python-dateutil)
  * pytz (http://pytz.sourceforge.net/)
- * python-sql (http://code.google.com/p/python-sql/)
+ * python-sql >= 0.4 (http://code.google.com/p/python-sql/)
 
 Installation
 ------------
diff --git a/PKG-INFO b/PKG-INFO
index e1fd0f7..49eb528 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_calendar
-Version: 3.6.2
+Version: 3.8.0
 Summary: Tryton module for CalDAV
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: trytond_calendar
         ================
         
@@ -61,6 +61,9 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
diff --git a/caldav.py b/caldav.py
index c674813..187d6f5 100644
--- a/caldav.py
+++ b/caldav.py
@@ -62,10 +62,10 @@ def _get_caldav_calendar_description(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_calendar_description', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_calendar_description(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -87,10 +87,10 @@ def _get_caldav_calendar_data(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_calendar_data', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_calendar_data(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -111,10 +111,10 @@ def _get_caldav_calendar_home_set(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_calendar_home_set', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_calendar_home_set(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -145,10 +145,10 @@ def _get_caldav_calendar_user_address_set(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_calendar_user_address_set', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_calendar_user_address_set(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -175,10 +175,10 @@ def _get_caldav_schedule_inbox_URL(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_schedule_inbox_URL', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_schedule_inbox_URL(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -207,10 +207,10 @@ def _get_caldav_schedule_outbox_URL(self, uri):
         Collection = pool.get('webdav.collection')
     except KeyError:
         raise DAV_NotFound
+    if not getattr(Collection, 'get_schedule_outbox_URL', None):
+        raise DAV_NotFound
     try:
         res = Collection.get_schedule_outbox_URL(dburi, cache=CACHE)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
@@ -259,10 +259,10 @@ def _get_caldav_post(self, uri, body, contenttype=''):
         raise DAV_Forbidden
     pool = Pool(Transaction().cursor.database_name)
     Calendar = pool.get('calendar.calendar')
+    if not getattr(Calendar, 'post', None):
+        raise DAV_NotFound
     try:
         res = Calendar.post(dburi, body)
-    except AttributeError:
-        raise DAV_NotFound
     except DAV_Error, exception:
         self._log_exception(exception)
         raise
diff --git a/calendar_.py b/calendar_.py
index 82e4821..88c58da 100644
--- a/calendar_.py
+++ b/calendar_.py
@@ -6,9 +6,9 @@ import dateutil.tz
 import pytz
 import datetime
 import xml.dom.minidom
-from sql import Table, Column
+from sql import Table, Column, Null
 
-from trytond.model import Model, ModelSQL, ModelView, fields
+from trytond.model import Model, ModelSQL, ModelView, fields, Check, Unique
 from trytond.tools import reduce_ids, grouped_slice
 from trytond import backend
 from trytond.pyson import If, Bool, Eval, PYSONEncoder
@@ -43,10 +43,11 @@ class Calendar(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Calendar, cls).__setup__()
+        t = cls.__table__()
         cls._sql_constraints = [
-            ('name_uniq', 'UNIQUE(name)',
+            ('name_uniq', Unique(t, t.name),
                 'The name of calendar must be unique.'),
-            ('owner_uniq', 'UNIQUE(owner)',
+            ('owner_uniq', Unique(t, t.owner),
                 'A user can have only one calendar.'),
             ]
         cls._order.insert(0, ('name', 'ASC'))
@@ -354,8 +355,9 @@ class Category(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Category, cls).__setup__()
+        t = cls.__table__()
         cls._sql_constraints = [
-            ('name_uniq', 'UNIQUE(name)',
+            ('name_uniq', Unique(t, t.name),
                 'The name of calendar category must be unique.'),
             ]
         cls._order.insert(0, ('name', 'ASC'))
@@ -369,8 +371,9 @@ class Location(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Location, cls).__setup__()
+        t = cls.__table__()
         cls._sql_constraints = [
-            ('name_uniq', 'UNIQUE(name)',
+            ('name_uniq', Unique(t, t.name),
                 'The name of calendar location must be unique.'),
             ]
         cls._order.insert(0, ('name', 'ASC'))
@@ -459,8 +462,10 @@ class Event(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Event, cls).__setup__()
+        t = cls.__table__()
         cls._sql_constraints = [
-            ('uuid_recurrence_uniq', 'UNIQUE(uuid, calendar, recurrence)',
+            ('uuid_recurrence_uniq',
+                Unique(t, t.uuid, t.calendar, t.recurrence),
                 'UUID and recurrence must be unique in a calendar.'),
             ]
         cls._error_messages.update({
@@ -1043,7 +1048,6 @@ class Event(ModelSQL, ModelView):
         Return an iCalendar instance of vobject for event
         '''
         if self.timezone:
-            tzevent = pytz.timezone(self.timezone)
             tzevent = dateutil.tz.gettz(self.timezone)
         else:
             tzevent = tzlocal
@@ -1671,9 +1675,11 @@ class RRuleMixin(Model):
     @classmethod
     def __setup__(cls):
         super(RRuleMixin, cls).__setup__()
+        t = cls.__table__()
         cls._sql_constraints += [
             ('until_count_only_one',
-                'CHECK(until IS NULL OR count IS NULL OR count = 0)',
+                Check(t,
+                    (t.until == Null) | (t.count == Null) | (t.count == 0)),
                 'Only one of "until" and "count" can be set.'),
             ]
         cls._error_messages.update({
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 7adb40e..58bb79a 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -1099,6 +1099,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr "Дати на грешките"
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr "Правило при грешка"
@@ -1115,6 +1119,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr "Дати на повторяемост"
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr "Правило за повторение"
@@ -1132,6 +1140,10 @@ msgid "Categories"
 msgstr "Категории"
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr "Събитие"
 
@@ -1147,6 +1159,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr "Събития"
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr "Местоположение"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index d705d8b..d1380d1 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -882,7 +882,7 @@ msgstr "Públic"
 
 msgctxt "selection:calendar.event,status:"
 msgid ""
-msgstr ""
+msgstr "Cancel·lat"
 
 msgctxt "selection:calendar.event,status:"
 msgid "Cancelled"
@@ -1090,7 +1090,7 @@ msgstr "Dates excloses"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Time"
-msgstr "Temps"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
@@ -1110,7 +1110,7 @@ msgstr "Dates de recurrència"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Time"
-msgstr "Temps"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index a1186e1..ba64340 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -1078,6 +1078,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1094,6 +1098,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1111,6 +1119,10 @@ msgid "Categories"
 msgstr ""
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1126,6 +1138,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/es_AR.po b/locale/es_AR.po
index a3c35ee..bdf2130 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -20,45 +20,44 @@ msgstr "El nombre de la categoría del calendario debe ser único."
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "El campo «Por día» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por día» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "El campo «Por hora» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por hora» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "El campo «Por minuto» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por minuto» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por día del mes» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por día del mes» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "El campo «Por mes» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por mes» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por ubicación» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por ubicación» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr ""
-"El campo «Por segundo» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por segundo» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
 msgstr ""
 "El campo «Por número de la semana» de la regla de recurrencia «%s» no es "
-"correcto."
+"correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por día del año» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por día del año» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
@@ -66,45 +65,44 @@ msgstr "Sólo un «hasta» y «contador» puede ser definido."
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "El campo «Por día» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por día» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "El campo «Por hora» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por hora» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "El campo «Por minuto» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por minuto» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por día del mes» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por día del mes» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "El campo «Por mes» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por mes» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por ubicación» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por ubicación» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr ""
-"El campo «Por segundo» de la regla de recurrencia «%s» no es correcto."
+msgstr "El campo «Por segundo» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
 msgstr ""
 "El campo «Por número de la semana» de la regla de recurrencia «%s» no es "
-"correcto."
+"correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
 msgstr ""
-"El campo «Por día del año» de la regla de recurrencia «%s» no es correcto."
+"El campo «Por día del año» de la regla de recurrencia «%s» no es correcto"
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 29c8278..c6e7321 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -1092,7 +1092,7 @@ msgstr "Fechas excluidas"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
@@ -1112,7 +1112,7 @@ msgstr "Fechas de recurrencia"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
diff --git a/locale/es_ES.po b/locale/es_MX.po
similarity index 97%
copy from locale/es_ES.po
copy to locale/es_MX.po
index 29c8278..3f01a2b 100644
--- a/locale/es_ES.po
+++ b/locale/es_MX.po
@@ -1052,112 +1052,112 @@ msgstr "Miércoles"
 
 msgctxt "view:calendar.calendar:"
 msgid "Access Permissions"
-msgstr "Permisos de acceso"
+msgstr ""
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr ""
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr ""
 
 msgctxt "view:calendar.calendar:"
 msgid "General"
-msgstr "General"
+msgstr ""
 
 msgctxt "view:calendar.category:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr ""
 
 msgctxt "view:calendar.category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr ""
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendee"
-msgstr "Asistente"
+msgstr ""
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr ""
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Date"
-msgstr "Fecha excluida"
+msgstr ""
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
-msgstr "Fechas excluidas"
+msgstr ""
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr ""
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
-msgstr "Regla de excepción"
+msgstr ""
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rules"
-msgstr "Reglas de excepción"
+msgstr ""
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Date"
-msgstr "Fecha de recurrencia"
+msgstr ""
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
-msgstr "Fechas de recurrencia"
+msgstr ""
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr ""
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
-msgstr "Regla de recurrencia"
+msgstr ""
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rules"
-msgstr "Reglas de recurrencia"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "End Time"
-msgstr "Hora final"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Event"
-msgstr "Evento"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Events"
-msgstr "Eventos"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "General"
-msgstr "General"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Occurences"
-msgstr "Ocurrencias"
+msgstr ""
 
 msgctxt "view:calendar.event:"
 msgid "Start Time"
-msgstr "Hora de inicio"
+msgstr ""
 
 msgctxt "view:calendar.location:"
 msgid "Location"
-msgstr "Ubicación"
+msgstr ""
 
 msgctxt "view:calendar.location:"
 msgid "Locations"
-msgstr "Ubicaciones"
+msgstr ""
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 43f793d..481f174 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -4,7 +4,7 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:calendar.calendar:"
 msgid "A user can have only one calendar."
-msgstr "Un utilisteur ne peut avoir qu'un seul calendrier"
+msgstr "Un utilisateur ne peut avoir qu'un seul calendrier."
 
 msgctxt "error:calendar.calendar:"
 msgid "Calendar name \"%s\" can not end with .ics"
@@ -12,7 +12,7 @@ msgstr "Le nom de calendrier « %s » ne peut terminer par « .ics »"
 
 msgctxt "error:calendar.calendar:"
 msgid "The name of calendar must be unique."
-msgstr "le nom du calendrier doit être unique."
+msgstr "Le nom du calendrier doit être unique."
 
 msgctxt "error:calendar.category:"
 msgid "The name of calendar category must be unique."
@@ -20,15 +20,15 @@ msgstr "Le nom du calendrier doit être unique."
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "« Par jour » invalide dans la règle de récurrence « %s »."
+msgstr "« Par jour » invalide dans la règle de récurrence « %s »"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "« Par heure » invalide dans la règle de récurrence « %s »."
+msgstr "« Par heure » invalide dans la règle de récurrence « %s »"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "« Par minute » invalide dans la règle de récurrence « %s »."
+msgstr "« Par minute » invalide dans la règle de récurrence « %s »"
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
@@ -350,7 +350,7 @@ msgstr "Résumé"
 
 msgctxt "field:calendar.event,timezone:"
 msgid "Timezone"
-msgstr "Fuseau Horaire"
+msgstr "Fuseau horaire"
 
 msgctxt "field:calendar.event,transp:"
 msgid "Time Transparency"
@@ -758,29 +758,33 @@ msgstr "Calendriers"
 
 msgctxt "help:calendar.calendar,owner:"
 msgid "The user must have an email"
-msgstr "L'utilisateur doit avoir une adresse Email"
+msgstr "L'utilisateur doit avoir une adresse E-mail"
 
 msgctxt "help:calendar.event,uuid:"
 msgid "Universally Unique Identifier"
-msgstr "Identificateur unique universel"
+msgstr "Identifiant unique universel"
 
 msgctxt "help:calendar.event.exdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignorer l'heure du champ « Date » et considérer uniquement la date."
+msgstr ""
+"Ignorer l'heure du champ « Date », mais considérer uniquement la date."
 
 msgctxt "help:calendar.event.exrule,until_date:"
 msgid "Ignore time of field \"Until Date\", but handle as date only."
 msgstr ""
-"Ignorer l'heure du champ « Date de fin » et considérer uniquement la date."
+"Ignorer l'heure du champ « Date de fin », mais considérer uniquement la "
+"date."
 
 msgctxt "help:calendar.event.rdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignorer l'heure du champ « Date » et considérer uniquement la date."
+msgstr ""
+"Ignorer l'heure du champ « Date », mais considérer uniquement la date."
 
 msgctxt "help:calendar.event.rrule,until_date:"
 msgid "Ignore time of field \"Until Date\", but handle as date only."
 msgstr ""
-"Ignorer l'heure du champ « Date de fin » et considérer uniquement la date."
+"Ignorer l'heure du champ « Date de fin », mais considérer uniquement la "
+"date."
 
 msgctxt "model:calendar.calendar,name:"
 msgid "Calendar"
@@ -944,7 +948,7 @@ msgstr "Chaque seconde"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Weekly"
-msgstr "hebdomadaire"
+msgstr "Hebdomadaire"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Yearly"
@@ -1004,7 +1008,7 @@ msgstr "Chaque seconde"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Weekly"
-msgstr "hebdomadaire"
+msgstr "Hebdomadaire"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Yearly"
diff --git a/locale/cs_CZ.po b/locale/hu_HU.po
similarity index 98%
copy from locale/cs_CZ.po
copy to locale/hu_HU.po
index a1186e1..ba64340 100644
--- a/locale/cs_CZ.po
+++ b/locale/hu_HU.po
@@ -1078,6 +1078,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1094,6 +1098,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1111,6 +1119,10 @@ msgid "Categories"
 msgstr ""
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1126,6 +1138,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/cs_CZ.po b/locale/it_IT.po
similarity index 98%
copy from locale/cs_CZ.po
copy to locale/it_IT.po
index a1186e1..ba64340 100644
--- a/locale/cs_CZ.po
+++ b/locale/it_IT.po
@@ -1078,6 +1078,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1094,6 +1098,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1111,6 +1119,10 @@ msgid "Categories"
 msgstr ""
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1126,6 +1138,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/cs_CZ.po b/locale/ja_JP.po
similarity index 98%
copy from locale/cs_CZ.po
copy to locale/ja_JP.po
index a1186e1..ba64340 100644
--- a/locale/cs_CZ.po
+++ b/locale/ja_JP.po
@@ -1078,6 +1078,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1094,6 +1098,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1111,6 +1119,10 @@ msgid "Categories"
 msgstr ""
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1126,6 +1138,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/cs_CZ.po b/locale/lt_LT.po
similarity index 98%
copy from locale/cs_CZ.po
copy to locale/lt_LT.po
index a1186e1..ba64340 100644
--- a/locale/cs_CZ.po
+++ b/locale/lt_LT.po
@@ -1078,6 +1078,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1094,6 +1098,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1111,6 +1119,10 @@ msgid "Categories"
 msgstr ""
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1126,6 +1138,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 660890e..83cf791 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -1112,6 +1112,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr ""
@@ -1128,6 +1132,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr ""
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr ""
@@ -1146,6 +1154,10 @@ msgid "Categories"
 msgstr "Categorieën"
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr ""
 
@@ -1162,6 +1174,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr ""
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr ""
diff --git a/locale/es_ES.po b/locale/pt_BR.po
similarity index 73%
copy from locale/es_ES.po
copy to locale/pt_BR.po
index 29c8278..1ba89f3 100644
--- a/locale/es_ES.po
+++ b/locale/pt_BR.po
@@ -4,135 +4,123 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:calendar.calendar:"
 msgid "A user can have only one calendar."
-msgstr "Un usuario sólo puede tener un calendario."
+msgstr "Um usuário pode ter somente um calendário."
 
 msgctxt "error:calendar.calendar:"
 msgid "Calendar name \"%s\" can not end with .ics"
-msgstr "El nombre del calendario \"%s\" no debe terminar con la extensión .ics"
+msgstr "Nome de calendário \"%s\" não pode terminar com .ics"
 
 msgctxt "error:calendar.calendar:"
 msgid "The name of calendar must be unique."
-msgstr "El nombre del calendario debe ser único."
+msgstr "O nome do calendário deve ser único."
 
 msgctxt "error:calendar.category:"
 msgid "The name of calendar category must be unique."
-msgstr "El nombre de la categoría del calendario debe ser único."
+msgstr "O nome da categoria de calendário deve ser único."
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "El campo \"por dia\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Dia\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "El campo \"por hora\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Hora\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "El campo \"por minuto\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Minunto\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por día del mes\" de la regla de recurrencia \"%s\" no es "
-"correcto."
+msgstr " \"Por Dia do Mês\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "El campo \"por mes\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Mês\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "El campo \"por ubicación\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Posição\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "El campo \"por segundo\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Segundo\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por número de la semana\" de la regla de recurrencia \"%s\" no es"
-" correcto."
+msgstr " \"Por Número da Semana\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por día del año\" de la regla de recurrencia \"%s\" no es "
-"correcto."
+msgstr " \"Por Dia do Ano\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Define un \"hasta\" y un \"contador\"."
+msgstr "Apenas um de  \"até\" e \"contagem\" podem ser definidos."
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "El campo \"por dia\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Dia\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "El campo \"por hora\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Hora\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "El campo \"por minuto\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Minuto\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por día del mes\" de la regla de recurrencia \"%s\" no es "
-"correcto."
+msgstr " \"Por Dia do Mês\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "El campo \"por mes\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Mês\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "El campo \"por ubicación\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Posição\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "El campo \"por segundo\" de la regla de recurrencia \"%s\" no es correcto."
+msgstr " \"Por Segundo\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por número de la semana\" de la regla de recurrencia \"%s\" no es"
-" correcto."
+msgstr " \"Por Número da Semana\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr ""
-"El campo \"por día del año\" de la regla de recurrencia \"%s\" no es "
-"correcto."
+msgstr " \"Por Dia do Ano\" inválido em regra de recorrência \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Define un \"hasta\" y un \"contador\"."
+msgstr "Apenas um de  \"até\" e \"contagem\" podem ser definidos."
 
 msgctxt "error:calendar.event:"
 msgid "Recurrence \"%s\" can not be recurrent."
-msgstr "La recurrencia \"%s\" no puede ser recurrente."
+msgstr "Recurrência \"%s\" não pode ser recorrente."
 
 msgctxt "error:calendar.event:"
 msgid "UUID and recurrence must be unique in a calendar."
-msgstr "UUID y la recurrencia deber ser únicos en el calendario."
+msgstr "UUID e recorrência devem ser únicos no calendário."
 
 msgctxt "error:calendar.location:"
 msgid "The name of calendar location must be unique."
-msgstr "El nombre de la ubicación del calendario debe ser único."
+msgstr "O nome do local do calendário deve ser único."
 
 msgctxt "field:calendar.calendar,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.calendar,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.calendar,description:"
 msgid "Description"
-msgstr "Descripción"
+msgstr "Descrição"
 
 msgctxt "field:calendar.calendar,id:"
 msgid "ID"
@@ -140,43 +128,43 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.calendar,owner:"
 msgid "Owner"
-msgstr "Propietario"
+msgstr "Proprietário"
 
 msgctxt "field:calendar.calendar,read_users:"
 msgid "Read Users"
-msgstr "Usuarios con permisos de lectura"
+msgstr "Leia usuários"
 
 msgctxt "field:calendar.calendar,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.calendar,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.calendar,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.calendar,write_users:"
 msgid "Write Users"
-msgstr "Usuarios con permisos de escritura"
+msgstr "Escreva usuários"
 
 msgctxt "field:calendar.calendar-read-res.user,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Calendário"
 
 msgctxt "field:calendar.calendar-read-res.user,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.calendar-read-res.user,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.calendar-read-res.user,id:"
 msgid "ID"
@@ -184,31 +172,31 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar-read-res.user,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.calendar-read-res.user,user:"
 msgid "User"
-msgstr "Usuario"
+msgstr "Usuário"
 
 msgctxt "field:calendar.calendar-read-res.user,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.calendar-read-res.user,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.calendar-write-res.user,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Calendário"
 
 msgctxt "field:calendar.calendar-write-res.user,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.calendar-write-res.user,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.calendar-write-res.user,id:"
 msgid "ID"
@@ -216,27 +204,27 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar-write-res.user,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.calendar-write-res.user,user:"
 msgid "User"
-msgstr "Usuario"
+msgstr "Usuário"
 
 msgctxt "field:calendar.calendar-write-res.user,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.calendar-write-res.user,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.category,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.category,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.category,id:"
 msgid "ID"
@@ -244,71 +232,71 @@ msgstr "ID"
 
 msgctxt "field:calendar.category,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.category,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.category,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.category,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event,alarms:"
 msgid "Alarms"
-msgstr "Alarmas"
+msgstr "Alarmes"
 
 msgctxt "field:calendar.event,all_day:"
 msgid "All Day"
-msgstr "Todo el día"
+msgstr "O dia inteiro"
 
 msgctxt "field:calendar.event,attendees:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Participantes"
 
 msgctxt "field:calendar.event,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Calendário"
 
 msgctxt "field:calendar.event,categories:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Categorias"
 
 msgctxt "field:calendar.event,classification:"
 msgid "Classification"
-msgstr "Clasificación"
+msgstr "Classificação"
 
 msgctxt "field:calendar.event,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event,description:"
 msgid "Description"
-msgstr "Descripción"
+msgstr "Descrição"
 
 msgctxt "field:calendar.event,dtend:"
 msgid "End Date"
-msgstr "Fecha final"
+msgstr "Data de fim"
 
 msgctxt "field:calendar.event,dtstart:"
 msgid "Start Date"
-msgstr "Fecha inicial"
+msgstr "Data de início"
 
 msgctxt "field:calendar.event,exdates:"
 msgid "Exception Dates"
-msgstr "Fechas excluidas"
+msgstr "Datas de exceção"
 
 msgctxt "field:calendar.event,exrules:"
 msgid "Exception Rules"
-msgstr "Reglas de excepción"
+msgstr "Regras de exceção"
 
 msgctxt "field:calendar.event,id:"
 msgid "ID"
@@ -316,55 +304,55 @@ msgstr "ID"
 
 msgctxt "field:calendar.event,location:"
 msgid "Location"
-msgstr "Ubicación"
+msgstr "Localização"
 
 msgctxt "field:calendar.event,occurences:"
 msgid "Occurences"
-msgstr "Ocurrencias"
+msgstr "Ocorrências"
 
 msgctxt "field:calendar.event,organizer:"
 msgid "Organizer"
-msgstr "Organizador"
+msgstr "Coordenador"
 
 msgctxt "field:calendar.event,parent:"
 msgid "Parent"
-msgstr "Padre"
+msgstr "Pai"
 
 msgctxt "field:calendar.event,rdates:"
 msgid "Recurrence Dates"
-msgstr "Fechas de recurrencia"
+msgstr "Datas de Recorrência"
 
 msgctxt "field:calendar.event,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event,recurrence:"
 msgid "Recurrence"
-msgstr "Recurrencia"
+msgstr "Recorrência"
 
 msgctxt "field:calendar.event,rrules:"
 msgid "Recurrence Rules"
-msgstr "Reglas de recurrencia"
+msgstr "Regras de Rcorrência"
 
 msgctxt "field:calendar.event,sequence:"
 msgid "Sequence"
-msgstr "Secuencia"
+msgstr "Sequência"
 
 msgctxt "field:calendar.event,status:"
 msgid "Status"
-msgstr "Estado"
+msgstr "Situação"
 
 msgctxt "field:calendar.event,summary:"
 msgid "Summary"
-msgstr "Resumen"
+msgstr "Sumário"
 
 msgctxt "field:calendar.event,timezone:"
 msgid "Timezone"
-msgstr "Zona horaria"
+msgstr "Fuso Horário"
 
 msgctxt "field:calendar.event,transp:"
 msgid "Time Transparency"
-msgstr "Tiempo de transparencia"
+msgstr "Transparência do tempo"
 
 msgctxt "field:calendar.event,uuid:"
 msgid "UUID"
@@ -376,23 +364,23 @@ msgstr "vevent"
 
 msgctxt "field:calendar.event,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event-calendar.category,category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Categoria"
 
 msgctxt "field:calendar.event-calendar.category,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event-calendar.category,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event-calendar.category,event:"
 msgid "Event"
@@ -404,23 +392,23 @@ msgstr "ID"
 
 msgctxt "field:calendar.event-calendar.category,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event-calendar.category,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event-calendar.category,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.alarm,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.alarm,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.alarm,event:"
 msgid "Event"
@@ -432,7 +420,7 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.alarm,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.alarm,valarm:"
 msgid "valarm"
@@ -440,23 +428,23 @@ msgstr "valarm"
 
 msgctxt "field:calendar.event.alarm,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.alarm,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.attendee,attendee:"
 msgid "attendee"
-msgstr "asistente"
+msgstr "participante"
 
 msgctxt "field:calendar.event.attendee,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.attendee,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.attendee,email:"
 msgid "Email"
@@ -472,35 +460,35 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.attendee,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.attendee,status:"
 msgid "Participation Status"
-msgstr "Estado de participación"
+msgstr "Status da participação"
 
 msgctxt "field:calendar.event.attendee,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.attendee,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.exdate,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.exdate,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.exdate,date:"
 msgid "Is Date"
-msgstr "Es una fecha"
+msgstr "É uma data"
 
 msgctxt "field:calendar.event.exdate,datetime:"
 msgid "Date"
-msgstr "Fecha"
+msgstr "Data"
 
 msgctxt "field:calendar.event.exdate,event:"
 msgid "Event"
@@ -512,35 +500,35 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.exdate,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.exdate,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.exdate,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.exrule,byday:"
 msgid "By Day"
-msgstr "Por día"
+msgstr "Por Dia"
 
 msgctxt "field:calendar.event.exrule,byhour:"
 msgid "By Hour"
-msgstr "Por hora"
+msgstr "Por Hora"
 
 msgctxt "field:calendar.event.exrule,byminute:"
 msgid "By Minute"
-msgstr "Por minuto"
+msgstr "Por Minuto"
 
 msgctxt "field:calendar.event.exrule,bymonth:"
 msgid "By Month"
-msgstr "Por mes"
+msgstr "Por Mês"
 
 msgctxt "field:calendar.event.exrule,bymonthday:"
 msgid "By Month Day"
-msgstr "Por día del mes"
+msgstr "Por Dia do Mês"
 
 msgctxt "field:calendar.event.exrule,bysecond:"
 msgid "By Second"
@@ -548,27 +536,27 @@ msgstr "Por segundo"
 
 msgctxt "field:calendar.event.exrule,bysetpos:"
 msgid "By Position"
-msgstr "Por ubicación"
+msgstr "Por Posição"
 
 msgctxt "field:calendar.event.exrule,byweekno:"
 msgid "By Week Number"
-msgstr "Por número de la semana"
+msgstr "Por Número da Semana"
 
 msgctxt "field:calendar.event.exrule,byyearday:"
 msgid "By Year Day"
-msgstr "Por día del año"
+msgstr "Por Dia do Ano"
 
 msgctxt "field:calendar.event.exrule,count:"
 msgid "Count"
-msgstr "Contador"
+msgstr "Contagem"
 
 msgctxt "field:calendar.event.exrule,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.exrule,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.exrule,event:"
 msgid "Event"
@@ -576,7 +564,7 @@ msgstr "Evento"
 
 msgctxt "field:calendar.event.exrule,freq:"
 msgid "Frequency"
-msgstr "Frecuencia"
+msgstr "Frequency"
 
 msgctxt "field:calendar.event.exrule,id:"
 msgid "ID"
@@ -588,43 +576,43 @@ msgstr "Intervalo"
 
 msgctxt "field:calendar.event.exrule,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.exrule,until:"
 msgid "Until Date"
-msgstr "Hasta la fecha"
+msgstr "Até o dia"
 
 msgctxt "field:calendar.event.exrule,until_date:"
 msgid "Is Date"
-msgstr "Es una fecha"
+msgstr "É uma data"
 
 msgctxt "field:calendar.event.exrule,wkst:"
 msgid "Week Day"
-msgstr "Día de la semana"
+msgstr "Dia da semana"
 
 msgctxt "field:calendar.event.exrule,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.exrule,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.rdate,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.rdate,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.rdate,date:"
 msgid "Is Date"
-msgstr "Es una fecha"
+msgstr "É uma data"
 
 msgctxt "field:calendar.event.rdate,datetime:"
 msgid "Date"
-msgstr "Fecha"
+msgstr "Data"
 
 msgctxt "field:calendar.event.rdate,event:"
 msgid "Event"
@@ -636,35 +624,35 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.rdate,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.rdate,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.rdate,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.event.rrule,byday:"
 msgid "By Day"
-msgstr "Por día"
+msgstr "Por Dia"
 
 msgctxt "field:calendar.event.rrule,byhour:"
 msgid "By Hour"
-msgstr "Por hora"
+msgstr "Por Hora"
 
 msgctxt "field:calendar.event.rrule,byminute:"
 msgid "By Minute"
-msgstr "Por minuto"
+msgstr "Por Minuto"
 
 msgctxt "field:calendar.event.rrule,bymonth:"
 msgid "By Month"
-msgstr "Por mes"
+msgstr "Por Mês"
 
 msgctxt "field:calendar.event.rrule,bymonthday:"
 msgid "By Month Day"
-msgstr "Por día del mes"
+msgstr "Por Dia do Mês"
 
 msgctxt "field:calendar.event.rrule,bysecond:"
 msgid "By Second"
@@ -672,27 +660,27 @@ msgstr "Por segundo"
 
 msgctxt "field:calendar.event.rrule,bysetpos:"
 msgid "By Position"
-msgstr "Por ubicación"
+msgstr "Por Posição"
 
 msgctxt "field:calendar.event.rrule,byweekno:"
 msgid "By Week Number"
-msgstr "Por número de la semana"
+msgstr "Por Número da Semana"
 
 msgctxt "field:calendar.event.rrule,byyearday:"
 msgid "By Year Day"
-msgstr "Por día del año"
+msgstr "Por Dia do Ano"
 
 msgctxt "field:calendar.event.rrule,count:"
 msgid "Count"
-msgstr "Contador"
+msgstr "Contagem"
 
 msgctxt "field:calendar.event.rrule,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.event.rrule,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.event.rrule,event:"
 msgid "Event"
@@ -700,7 +688,7 @@ msgstr "Evento"
 
 msgctxt "field:calendar.event.rrule,freq:"
 msgid "Frequency"
-msgstr "Frecuencia"
+msgstr "Frequency"
 
 msgctxt "field:calendar.event.rrule,id:"
 msgid "ID"
@@ -712,35 +700,35 @@ msgstr "Intervalo"
 
 msgctxt "field:calendar.event.rrule,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.event.rrule,until:"
 msgid "Until Date"
-msgstr "Hasta la fecha"
+msgstr "Até o dia"
 
 msgctxt "field:calendar.event.rrule,until_date:"
 msgid "Is Date"
-msgstr "Es una fecha"
+msgstr "É uma data"
 
 msgctxt "field:calendar.event.rrule,wkst:"
 msgid "Week Day"
-msgstr "Día de la semana"
+msgstr "Dia da semana"
 
 msgctxt "field:calendar.event.rrule,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.event.rrule,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:calendar.location,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:calendar.location,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado pelo usuário"
 
 msgctxt "field:calendar.location,id:"
 msgid "ID"
@@ -748,63 +736,63 @@ msgstr "ID"
 
 msgctxt "field:calendar.location,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.location,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:calendar.location,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de gravação"
 
 msgctxt "field:calendar.location,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Gravado pelo usuário"
 
 msgctxt "field:res.user,calendars:"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Agendas"
 
 msgctxt "help:calendar.calendar,owner:"
 msgid "The user must have an email"
-msgstr "El usuario debe tener un correo electrónico."
+msgstr "O usuário deve ter um email"
 
 msgctxt "help:calendar.event,uuid:"
 msgid "Universally Unique Identifier"
-msgstr "Identificador universal único."
+msgstr "Identificador universal único"
 
 msgctxt "help:calendar.event.exdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignora la hora del campo \"Fecha\", pero usar como única fecha."
+msgstr "Ignore a hora campo \"Data\", use a data somente."
 
 msgctxt "help:calendar.event.exrule,until_date:"
 msgid "Ignore time of field \"Until Date\", but handle as date only."
-msgstr "Ignora la hora del campo \"Hasta la fecha\", pero usar como única fecha."
+msgstr "Ignore a hora do campo \"Até o dia\", use a data somente."
 
 msgctxt "help:calendar.event.rdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignora la hora del campo \"Fecha\", pero usar como única fecha."
+msgstr "Ignore a hora campo \"Data\", use a data somente."
 
 msgctxt "help:calendar.event.rrule,until_date:"
 msgid "Ignore time of field \"Until Date\", but handle as date only."
-msgstr "Ignora la hora del campo \"Hasta la fecha\", pero usar como única fecha."
+msgstr "Ignore a hora do campo \"Até o dia\", use a data somente."
 
 msgctxt "model:calendar.calendar,name:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Calendário"
 
 msgctxt "model:calendar.calendar-read-res.user,name:"
 msgid "Calendar - read - User"
-msgstr "Calendario - leer - Usuario"
+msgstr "Agenda - ler - Usuário"
 
 msgctxt "model:calendar.calendar-write-res.user,name:"
 msgid "Calendar - write - User"
-msgstr "Calendario - escribir - Usuario"
+msgstr "Agenda - gravar - usuário"
 
 msgctxt "model:calendar.category,name:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Categoria"
 
 msgctxt "model:calendar.event,name:"
 msgid "Event"
@@ -812,39 +800,39 @@ msgstr "Evento"
 
 msgctxt "model:calendar.event-calendar.category,name:"
 msgid "Event - Category"
-msgstr "Evento - Categoría"
+msgstr "Evento - categoria"
 
 msgctxt "model:calendar.event.alarm,name:"
 msgid "Alarm"
-msgstr "Alarma"
+msgstr "Alarme"
 
 msgctxt "model:calendar.event.attendee,name:"
 msgid "Attendee"
-msgstr "Asistentes"
+msgstr "Participante"
 
 msgctxt "model:calendar.event.exdate,name:"
 msgid "Exception Date"
-msgstr "Fecha excluida"
+msgstr "Data da exceção"
 
 msgctxt "model:calendar.event.exrule,name:"
 msgid "Exception Rule"
-msgstr "Regla de excepción"
+msgstr "Regra de exceção"
 
 msgctxt "model:calendar.event.rdate,name:"
 msgid "Recurrence Date"
-msgstr "Fecha de recurrencia"
+msgstr "Data de recorrência"
 
 msgctxt "model:calendar.event.rrule,name:"
 msgid "Recurrence Rule"
-msgstr "Regla de recurrencia"
+msgstr "Regra de recorrência"
 
 msgctxt "model:calendar.location,name:"
 msgid "Location"
-msgstr "Ubicación"
+msgstr "Localização"
 
 msgctxt "model:ir.action,name:act_calendar_form"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Agendas"
 
 msgctxt "model:ir.action,name:act_event_form"
 msgid "Events"
@@ -856,11 +844,11 @@ msgstr "Eventos"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar"
 msgid "Calendar"
-msgstr "Calendarios"
+msgstr "Agenda"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar_form"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Agendas"
 
 msgctxt "model:ir.ui.menu,name:menu_event_form"
 msgid "Events"
@@ -868,7 +856,7 @@ msgstr "Eventos"
 
 msgctxt "model:res.group,name:group_calendar_admin"
 msgid "Calendar Administration"
-msgstr "Administración de calendarios"
+msgstr "Administração da Agenda"
 
 msgctxt "selection:calendar.event,classification:"
 msgid "Confidential"
@@ -896,7 +884,7 @@ msgstr "Confirmado"
 
 msgctxt "selection:calendar.event,status:"
 msgid "Tentative"
-msgstr "Tentativo"
+msgstr "Provisório"
 
 msgctxt "selection:calendar.event,transp:"
 msgid "Opaque"
@@ -912,11 +900,11 @@ msgstr ""
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Accepted"
-msgstr "Aceptado"
+msgstr "Aceito"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Declined"
-msgstr "Rechazado"
+msgstr "Recusado"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Delegated"
@@ -924,39 +912,39 @@ msgstr "Delegado"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Needs Action"
-msgstr "Requiere acción"
+msgstr "Necessita de Ação"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Tentative"
-msgstr "Tentativo"
+msgstr "Provisório"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Daily"
-msgstr "Diariamente"
+msgstr "Diário"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Hourly"
-msgstr "Cada hora"
+msgstr "De hora em hora"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Minutely"
-msgstr "Cada minuto"
+msgstr "A cada minuto"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Monthly"
-msgstr "Mensualmente"
+msgstr "Mensal"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Secondly"
-msgstr "Cada segundo"
+msgstr "Em segundo lugar"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Weekly"
-msgstr "Semanalmente"
+msgstr "Semanal"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Yearly"
-msgstr "Anualmente"
+msgstr "Anual"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid ""
@@ -964,11 +952,11 @@ msgstr ""
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Friday"
-msgstr "Viernes"
+msgstr "Sexta"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Monday"
-msgstr "Lunes"
+msgstr "Segunda"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Saturday"
@@ -980,43 +968,43 @@ msgstr "Domingo"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Thursday"
-msgstr "Jueves"
+msgstr "Quinta"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Tuesday"
-msgstr "Martes"
+msgstr "Terça"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Wednesday"
-msgstr "Miércoles"
+msgstr "Quarta"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Daily"
-msgstr "Diariamente"
+msgstr "Diário"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Hourly"
-msgstr "Cada hora"
+msgstr "De hora em hora"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Minutely"
-msgstr "Cada minuto"
+msgstr "A cada minuto"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Monthly"
-msgstr "Mensualmente"
+msgstr "Mensal"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Secondly"
-msgstr "Cada segundo"
+msgstr "Em segundo lugar"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Weekly"
-msgstr "Semanalmente"
+msgstr "Semanal"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Yearly"
-msgstr "Anualmente"
+msgstr "Anual"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid ""
@@ -1024,11 +1012,11 @@ msgstr ""
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Friday"
-msgstr "Viernes"
+msgstr "Sexta"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Monday"
-msgstr "Lunes"
+msgstr "Segunda"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Saturday"
@@ -1040,95 +1028,95 @@ msgstr "Domingo"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Thursday"
-msgstr "Jueves"
+msgstr "Quinta"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Tuesday"
-msgstr "Martes"
+msgstr "Terça"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Wednesday"
-msgstr "Miércoles"
+msgstr "Quarta"
 
 msgctxt "view:calendar.calendar:"
 msgid "Access Permissions"
-msgstr "Permisos de acceso"
+msgstr "Permissões de Acesso"
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Calendário"
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Agendas"
 
 msgctxt "view:calendar.calendar:"
 msgid "General"
-msgstr "General"
+msgstr "Geral"
 
 msgctxt "view:calendar.category:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Categorias"
 
 msgctxt "view:calendar.category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Categoria"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendee"
-msgstr "Asistente"
+msgstr "Participante"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Participantes"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Date"
-msgstr "Fecha excluida"
+msgstr "Data da exceção"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
-msgstr "Fechas excluidas"
+msgstr "Datas de exceção"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
-msgstr "Regla de excepción"
+msgstr "Regra de exceção"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rules"
-msgstr "Reglas de excepción"
+msgstr "Regras de exceção"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Date"
-msgstr "Fecha de recurrencia"
+msgstr "Data de recorrência"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
-msgstr "Fechas de recurrencia"
+msgstr "Datas de Recorrência"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Time"
-msgstr "Tiempo"
+msgstr "Hora"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
-msgstr "Regla de recurrencia"
+msgstr "Regra de recorrência"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rules"
-msgstr "Reglas de recurrencia"
+msgstr "Regras de Rcorrência"
 
 msgctxt "view:calendar.event:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Participantes"
 
 msgctxt "view:calendar.event:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Categorias"
 
 msgctxt "view:calendar.event:"
 msgid "End Time"
@@ -1144,20 +1132,20 @@ msgstr "Eventos"
 
 msgctxt "view:calendar.event:"
 msgid "General"
-msgstr "General"
+msgstr "Geral"
 
 msgctxt "view:calendar.event:"
 msgid "Occurences"
-msgstr "Ocurrencias"
+msgstr "Ocorrências"
 
 msgctxt "view:calendar.event:"
 msgid "Start Time"
-msgstr "Hora de inicio"
+msgstr "Hora de início"
 
 msgctxt "view:calendar.location:"
 msgid "Location"
-msgstr "Ubicación"
+msgstr "Localização"
 
 msgctxt "view:calendar.location:"
 msgid "Locations"
-msgstr "Ubicaciones"
+msgstr "Localizações"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 7049610..287abd5 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -1086,6 +1086,10 @@ msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr "Дата исключения"
 
+msgctxt "view:calendar.event.exdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
 msgstr "Правило исключения"
@@ -1102,6 +1106,10 @@ msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr "Даты повторения"
 
+msgctxt "view:calendar.event.rdate:"
+msgid "Time"
+msgstr ""
+
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
 msgstr "Правила повторения"
@@ -1119,6 +1127,10 @@ msgid "Categories"
 msgstr "Категория"
 
 msgctxt "view:calendar.event:"
+msgid "End Time"
+msgstr ""
+
+msgctxt "view:calendar.event:"
 msgid "Event"
 msgstr "Событие"
 
@@ -1134,6 +1146,10 @@ msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr "Повторение"
 
+msgctxt "view:calendar.event:"
+msgid "Start Time"
+msgstr ""
+
 msgctxt "view:calendar.location:"
 msgid "Location"
 msgstr "Местоположение"
diff --git a/setup.py b/setup.py
index 003cdc6..02e5c7d 100644
--- a/setup.py
+++ b/setup.py
@@ -42,7 +42,7 @@ if minor_version % 2:
             name[8:], name, version))
 
 requires = ['vobject >= 0.8.0', 'PyWebDAV >= 0.9.8', 'python-dateutil', 'pytz',
-    'python-sql']
+    'python-sql >= 0.4']
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
         requires.append(get_require_version('trytond_%s' % dep))
@@ -82,6 +82,9 @@ setup(name=name,
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
+        'Natural Language :: Hungarian',
+        'Natural Language :: Italian',
+        'Natural Language :: Portuguese (Brazilian)',
         'Natural Language :: Russian',
         'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
diff --git a/tests/scenario_calendar.py b/tests/scenario_calendar.py
index 768672a..c4a16f3 100644
--- a/tests/scenario_calendar.py
+++ b/tests/scenario_calendar.py
@@ -14,11 +14,11 @@ from proteus import config, Model, Wizard
 
 
 def install_module(name, config):
-    Module = Model.get('ir.module.module')
+    Module = Model.get('ir.module')
     module, = Module.find([('name', '=', name)])
     if module.state != 'installed':
         Module.install([module.id], config.context)
-        Wizard('ir.module.module.install_upgrade').execute('upgrade')
+        Wizard('ir.module.install_upgrade').execute('upgrade')
 
 
 def configure_user(login, config):
diff --git a/tryton.cfg b/tryton.cfg
index 7af1618..c9303bd 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.6.2
+version=3.8.0
 depends:
     ir
     res
diff --git a/trytond_calendar.egg-info/PKG-INFO b/trytond_calendar.egg-info/PKG-INFO
index 0f575fe..ba5825a 100644
--- a/trytond_calendar.egg-info/PKG-INFO
+++ b/trytond_calendar.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-calendar
-Version: 3.6.2
+Version: 3.8.0
 Summary: Tryton module for CalDAV
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: trytond_calendar
         ================
         
@@ -61,6 +61,9 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
diff --git a/trytond_calendar.egg-info/SOURCES.txt b/trytond_calendar.egg-info/SOURCES.txt
index 459f2db..99f9cca 100644
--- a/trytond_calendar.egg-info/SOURCES.txt
+++ b/trytond_calendar.egg-info/SOURCES.txt
@@ -22,8 +22,14 @@ tryton.cfg
 ./locale/es_CO.po
 ./locale/es_EC.po
 ./locale/es_ES.po
+./locale/es_MX.po
 ./locale/fr_FR.po
+./locale/hu_HU.po
+./locale/it_IT.po
+./locale/ja_JP.po
+./locale/lt_LT.po
 ./locale/nl_NL.po
+./locale/pt_BR.po
 ./locale/ru_RU.po
 ./locale/sl_SI.po
 ./tests/__init__.py
@@ -56,8 +62,14 @@ locale/es_AR.po
 locale/es_CO.po
 locale/es_EC.po
 locale/es_ES.po
+locale/es_MX.po
 locale/fr_FR.po
+locale/hu_HU.po
+locale/it_IT.po
+locale/ja_JP.po
+locale/lt_LT.po
 locale/nl_NL.po
+locale/pt_BR.po
 locale/ru_RU.po
 locale/sl_SI.po
 trytond_calendar.egg-info/PKG-INFO
diff --git a/trytond_calendar.egg-info/requires.txt b/trytond_calendar.egg-info/requires.txt
index 8cc5d37..1e09262 100644
--- a/trytond_calendar.egg-info/requires.txt
+++ b/trytond_calendar.egg-info/requires.txt
@@ -2,8 +2,8 @@ vobject >= 0.8.0
 PyWebDAV >= 0.9.8
 python-dateutil
 pytz
-python-sql
-trytond >= 3.6, < 3.7
+python-sql >= 0.4
+trytond >= 3.8, < 3.9
 
 [test]
 caldav
\ No newline at end of file
-- 
tryton-modules-calendar



More information about the tryton-debian-vcs mailing list