From 571d08c530c02ea5c9c11577df24997a9bbbd6bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gl=C3=A1ucio=20Barros=20Barcelos?=
 <glaucio.barcelos@aperam.com>
Date: Mon, 12 Apr 2021 11:26:07 -0300
Subject: [PATCH 1/5] Use blocktrans to escape single quote

---
 easyaudit/templates/admin/easyaudit/purge_confirmation.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/easyaudit/templates/admin/easyaudit/purge_confirmation.html b/easyaudit/templates/admin/easyaudit/purge_confirmation.html
index 74a64e05..631f53c7 100644
--- a/easyaudit/templates/admin/easyaudit/purge_confirmation.html
+++ b/easyaudit/templates/admin/easyaudit/purge_confirmation.html
@@ -22,7 +22,7 @@ <h4 class="alert-heading">{% trans 'Please confirm deletion' %}.</h4>
         <br>
 
         <div class="submit-row">
-            <input type="submit" class="btn btn-danger deletelink" name="btn-confirm" value="{% trans 'Yes, I\'m sure' %}" />
+            <input type="submit" class="btn btn-danger deletelink" name="btn-confirm" value="{% blocktrans %}Yes, I'm sure{% endblocktrans %}" />
             <input type="submit" class="btn" name="btn-cancel" value="{% trans 'Cancel' %}" />
         </div>
     </div>

From 422604749226fe5a662a4461972f6ee25a9737d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gl=C3=A1ucio=20Barros=20Barcelos?=
 <glaucio.barcelos@aperam.com>
Date: Mon, 12 Apr 2021 11:33:57 -0300
Subject: [PATCH 2/5] Adds Brazilian Portuguese translation

---
 easyaudit/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 3059 bytes
 easyaudit/locale/pt_BR/LC_MESSAGES/django.po | 204 +++++++++++++++++++
 2 files changed, 204 insertions(+)
 create mode 100644 easyaudit/locale/pt_BR/LC_MESSAGES/django.mo
 create mode 100644 easyaudit/locale/pt_BR/LC_MESSAGES/django.po

diff --git a/easyaudit/locale/pt_BR/LC_MESSAGES/django.mo b/easyaudit/locale/pt_BR/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000000000000000000000000000000000..7c5addc6c6074649b78e33cc21934f5cd99a6055
GIT binary patch
literal 3059
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

literal 0
HcmV?d00001

diff --git a/easyaudit/locale/pt_BR/LC_MESSAGES/django.po b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
new file mode 100644
index 00000000..fb91e31d
--- /dev/null
+++ b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-12 10:52-0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: .\admin_helpers.py:122
+#, python-format
+msgid "Successfully removed %d rows"
+msgstr "%d linhas removidas com sucesso"
+
+#: .\admin_helpers.py:124
+msgid "ERROR"
+msgstr "ERRO"
+
+#: .\admin_helpers.py:126
+msgid "Action cancelled by user"
+msgstr "Ação cancelada pelo usuário"
+
+#: .\admin_helpers.py:130
+#, python-format
+msgid "Purge all %s ... are you sure?"
+msgstr "Eliminar todos os %s ... tem certeza?"
+
+#: .\models.py:19
+msgid "Create"
+msgstr "Criar"
+
+#: .\models.py:20
+msgid "Update"
+msgstr "Atualizar"
+
+#: .\models.py:21
+msgid "Delete"
+msgstr "Excluir"
+
+#: .\models.py:22
+msgid "Many-to-Many Change"
+msgstr "Mudança muitos para muitos"
+
+#: .\models.py:23
+msgid "Reverse Many-to-Many Change"
+msgstr "Reverter mudança muitos para muitos"
+
+#: .\models.py:24
+msgid "Many-to-Many Add"
+msgstr "Adicionar muitos para muitos"
+
+#: .\models.py:25
+msgid "Reverse Many-to-Many Add"
+msgstr "Reverter Adicção muitos para muitos"
+
+#: .\models.py:26
+msgid "Many-to-Many Remove"
+msgstr "Remover muitos para muitos"
+
+#: .\models.py:27
+msgid "Reverse Many-to-Many Remove"
+msgstr "Reverter Remoção muitos para muitos"
+
+#: .\models.py:30 .\models.py:68
+msgid "Event type"
+msgstr "Tipo de Evento"
+
+#: .\models.py:31
+msgid "Object ID"
+msgstr "ID do Objeto"
+
+#: .\models.py:32
+msgid "Content type"
+msgstr "Tipo de Conteúdo"
+
+#: .\models.py:33
+msgid "Object representation"
+msgstr "Representação do Objeto"
+
+#: .\models.py:34
+msgid "Object JSON representation"
+msgstr "Representação JSON do Objeto"
+
+#: .\models.py:35
+msgid "Changed fields"
+msgstr "Campos Alterados"
+
+#: .\models.py:38 .\models.py:72 .\models.py:88
+msgid "User"
+msgstr "Usuário"
+
+#: .\models.py:40
+msgid "String version of the user pk"
+msgstr "Versão string da PK do usuário"
+
+#: .\models.py:40
+msgid "User PK as string"
+msgstr "PK do usuário como string"
+
+#: .\models.py:41 .\models.py:74 .\models.py:90
+msgid "Date time"
+msgstr "Data e Hora"
+
+#: .\models.py:53
+msgid "CRUD event"
+msgstr "Evento CRUD"
+
+#: .\models.py:54
+msgid "CRUD events"
+msgstr "Eventos CRUD"
+
+#: .\models.py:64
+msgid "Login"
+msgstr "Login"
+
+#: .\models.py:65
+msgid "Logout"
+msgstr "Logout"
+
+#: .\models.py:66
+msgid "Failed login"
+msgstr "Falha no login"
+
+#: .\models.py:69
+msgid "Username"
+msgstr "Nome do usuário"
+
+#: .\models.py:73 .\models.py:89
+msgid "Remote IP"
+msgstr "IP Remoto"
+
+#: .\models.py:77
+msgid "login event"
+msgstr "Evento de Login"
+
+#: .\models.py:78
+msgid "login events"
+msgstr "Eventos de Login"
+
+#: .\models.py:83
+msgid "URL"
+msgstr "URL"
+
+#: .\models.py:84
+msgid "Method"
+msgstr "Método"
+
+#: .\models.py:85
+msgid "Query string"
+msgstr "String de Consulta"
+
+#: .\models.py:93
+msgid "request event"
+msgstr "Evento de Solicitação"
+
+#: .\models.py:94
+msgid "request events"
+msgstr "Eventos de Solicitação"
+
+#: .\templates\admin\easyaudit\change_list.html:10
+#, python-format
+msgid "Purge %(name)s"
+msgstr "Limpar %(name)s"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:7
+msgid "Home"
+msgstr "Home"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:10
+msgid "Purge"
+msgstr "Limpar"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:19
+msgid "Please confirm deletion"
+msgstr "Por favor, confirme a exclusão"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:20
+msgid ""
+"This operation is destructive, cannot be undone and may require some minutes."
+msgstr ""
+"Esta operação é destrutiva, não pode ser desfeita e pode demorar alguns minutos."
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:21
+msgid "Are you sure you want to permanently remove all objects ?"
+msgstr "Tem certeza de que deseja remover todos os objetos permanentemente?"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:25
+msgid "Yes, I'm sure"
+msgstr "Sim eu tenho certeza"
+
+#: .\templates\admin\easyaudit\purge_confirmation.html:26
+msgid "Cancel"
+msgstr "Cancelar"

From 4891dfdd3f3b17b076281a9ecfa294fd601484bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gl=C3=A1ucio=20Barros=20Barcelos?=
 <glaucio.barcelos@aperam.com>
Date: Mon, 12 Apr 2021 11:38:11 -0300
Subject: [PATCH 3/5] Fix error in translation

---
 easyaudit/locale/pt_BR/LC_MESSAGES/django.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/easyaudit/locale/pt_BR/LC_MESSAGES/django.po b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
index fb91e31d..cdfce168 100644
--- a/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
+++ b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
@@ -62,7 +62,7 @@ msgstr "Adicionar muitos para muitos"
 
 #: .\models.py:25
 msgid "Reverse Many-to-Many Add"
-msgstr "Reverter Adicção muitos para muitos"
+msgstr "Reverter Adição muitos para muitos"
 
 #: .\models.py:26
 msgid "Many-to-Many Remove"

From a4320d4f8e8119a92d51b59601046ebba8022b2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gl=C3=A1ucio=20Barros=20Barcelos?=
 <glaucio.barcelos@aperam.com>
Date: Mon, 12 Apr 2021 13:12:21 -0300
Subject: [PATCH 4/5] Including locale directory in distributions with
 MANIFEST.in

---
 MANIFEST.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MANIFEST.in b/MANIFEST.in
index be453393..a0cd87d0 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,3 +2,4 @@ include LICENSE
 include README.rst
 recursive-include easyaudit/static *
 recursive-include easyaudit/templates *
+recursive-include easyaudit/locale *

From 341a33a2b65b1b37f94081ffea3016e066cb1a8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gl=C3=A1ucio=20Barros=20Barcelos?=
 <glaucio.barcelos@aperam.com>
Date: Mon, 12 Apr 2021 13:34:05 -0300
Subject: [PATCH 5/5] Translate admin

---
 easyaudit/admin.py                           |  17 +++----
 easyaudit/admin_helpers.py                   |   2 +-
 easyaudit/apps.py                            |   3 +-
 easyaudit/locale/pt_BR/LC_MESSAGES/django.mo | Bin 3059 -> 3446 bytes
 easyaudit/locale/pt_BR/LC_MESSAGES/django.po |  44 ++++++++++++++++---
 5 files changed, 49 insertions(+), 17 deletions(-)

diff --git a/easyaudit/admin.py b/easyaudit/admin.py
index 892dd3c2..1a7dbc7f 100644
--- a/easyaudit/admin.py
+++ b/easyaudit/admin.py
@@ -1,6 +1,7 @@
 from django.contrib import admin
 from django.contrib.auth import get_user_model
 from django.contrib.contenttypes.models import ContentType
+from django.utils.translation import gettext_lazy as _
 
 try: # Django 2.0
     from django.urls import reverse
@@ -36,12 +37,12 @@ def get_changelist_instance(self, *args, **kwargs):
     def get_content_type(self, obj):
         return self.content_types_by_id[obj.content_type_id]
 
-    get_content_type.short_description = "Content Type"
+    get_content_type.short_description = _("Content Type")
 
     def get_user(self, obj):
         return self.users_by_id.get(obj.user_id)
 
-    get_user.short_description = "User"
+    get_user.short_description = _("User")
 
     def object_repr_link(self, obj):
         if obj.event_type == CRUDEvent.DELETE:
@@ -59,17 +60,17 @@ def object_repr_link(self, obj):
                 html = escaped_obj_repr
         return mark_safe(html)
 
-    object_repr_link.short_description = 'object repr'
+    object_repr_link.short_description = _('object repr')
 
     def object_json_repr_prettified(self, obj):
         return prettify_json(obj.object_json_repr)
 
-    object_json_repr_prettified.short_description = 'object json repr'
+    object_json_repr_prettified.short_description = _('object json repr')
 
     def changed_fields_prettified(self, obj):
         return prettify_json(obj.changed_fields)
 
-    changed_fields_prettified.short_description = 'changed fields'
+    changed_fields_prettified.short_description = _('changed fields')
 
 
 if settings.ADMIN_SHOW_MODEL_EVENTS:
@@ -87,14 +88,14 @@ class LoginEventAdmin(EasyAuditModelAdmin):
     def get_user(self, obj):
         return self.users_by_id.get(obj.user_id)
 
-    get_user.short_description = "User"
+    get_user.short_description = _("User")
 
     def get_username(self, obj):
         user = self.get_user(obj)
         username = user.get_username() if user else None
         return username
 
-    get_username.short_description = "User name"
+    get_username.short_description = _("User name")
 
 
 if settings.ADMIN_SHOW_AUTH_EVENTS:
@@ -112,7 +113,7 @@ class RequestEventAdmin(EasyAuditModelAdmin):
     def get_user(self, obj):
         return self.users_by_id.get(obj.user_id)
 
-    get_user.short_description = "User"
+    get_user.short_description = _("User")
 
 
 if settings.ADMIN_SHOW_REQUEST_EVENTS:
diff --git a/easyaudit/admin_helpers.py b/easyaudit/admin_helpers.py
index fa89e67a..9be1a2db 100644
--- a/easyaudit/admin_helpers.py
+++ b/easyaudit/admin_helpers.py
@@ -62,7 +62,7 @@ def user_link(self, obj):
         except Exception:
             html = escaped
         return mark_safe(html)
-    user_link.short_description = 'user'
+    user_link.short_description = _('user')
 
     def has_add_permission(self, request, obj=None):
         return False
diff --git a/easyaudit/apps.py b/easyaudit/apps.py
index 462a1da2..f2f5e834 100644
--- a/easyaudit/apps.py
+++ b/easyaudit/apps.py
@@ -1,8 +1,9 @@
 from django.apps import AppConfig
+from django.utils.translation import gettext_lazy as _
 
 class EasyAuditConfig(AppConfig):
     name = 'easyaudit'
-    verbose_name = 'Easy Audit Application'
+    verbose_name = _('Easy Audit Application')
 
     def ready(self):
         from easyaudit.signals import auth_signals, model_signals, request_signals
\ No newline at end of file
diff --git a/easyaudit/locale/pt_BR/LC_MESSAGES/django.mo b/easyaudit/locale/pt_BR/LC_MESSAGES/django.mo
index 7c5addc6c6074649b78e33cc21934f5cd99a6055..c100e3f1936041f18562fcaa7ee303f55e46f9ca 100644
GIT binary patch
delta 1464
zcmZA0Pe@cz6vy#vj^;RNrfK%qmzA1nf6SnN6hlo>5N#w1S~Si)Yhs)?%$pG`LTFQh
zyN3|9sElx75FxawP1-WFT1Q1h1=%L4MG*D<&AbWeGG{*Tk8|$1=U(Sm{9HBkwl*+o
z7`uoy#Pbqkj$*QuFUIwNF^xEkdvFXZ@ePLXGnV5#R^u;Rg2A$a4XF1UFo^B`eK+zM
zGW+;$;6)gf_%td(49R8E$j9XPQliUPgIBQ*J>PNv{S(wgQ@9FWU_E}u75E$Zn0k^`
zGrw8Q#X26eqb5FvN^lCb@^iQv2Yp9zE%%R59h=1yIEQN5-o=GN51<wh!DV<HmG>-G
zU>{a7zj3%w>#m?$I)W<X25P1E{pXLdiu)<l-@imn@D9Ul+eg$wTA1Y!Mo{^NQTawu
z6OW<tPT-I#d&-5JLAB;R>W80@oaQ@fqF<=3`hzN<f&G%3Q181@zu$v2!yH6)=m@HV
zG1Qg}q4M6Wr2ndHj0dXxA+E$3Y{D<7L={xC6qn*AY{FWMAhnp&xDk7Ouc7|#0b2MP
zm2Vz<u#QQ!RTq}fe<eurK&=_Te1)hM-SnNn<=j8@?_Z$``rzMxM=hX~{m}xNQHO0m
z>J0Uu^7kV<l^?BqhqV92q0?L(EIdE73KgP%&#i<`vR2wf6o)#oaBSm7?d>MCN)@7F
zn+Y9U4Rs^GP*q3qrj5|vsoh!$g_;gRqosh^f?C~XLi?@GZ70+jjSWO6p_OXi+X)Se
z*h%QD>>za3G&oDuW_{s0e?S&_-%3XUJ%ef6O9wjZqwb&;&czd1E1XUz6R~JE;iM*S
z1%ivptW>n$_HLIq9*$jzrq0`Ot1n?E<E}|M=MyQ*9<Wo{h1afedN10staZ_KQdY)J
zXNnJW?ah|23*=loGdWlOwItY+NIO>Cwqo8)MO#BSKlSwZ^gYLl{3~hlN5z?v$&-~G
zB{eCh-?rk8m2-2`cQXmcyA*1ziADR<j%!7eSvwPrJFa&p)Vy1B*)F9;3+eL3@JrQ}
Sb<F>-|Gn{^g}Q>p^yV-9Fu->J

delta 1101
zcmYk*Pe>GD7{~EvY}d)%wQM!bE#0wnt=z0`1$Ef$;=#HEwREtOg*v!V)}_EDp+lq@
z4Rwf!f*?W&Vua`rfl+kq5J*81(V;&?N#!Z9?{9g9Ugn+8yfgd0@AEt}yO8<SQkhG~
zt{bhFzK%ZbneE2EHJoTamzk}>dEAMK7#;Uw68B>*9>x`T3{!Z@-5<p|#uwdq661_-
zAnR1@78jauA31EAlYa07weT}+z?ayFv(9hs`66nAS|(+%0as%WwqOA{tjI|L4q`i&
zF~$Bi!G#vMiOTdIuEnR$x7fz`52`|qL^XihkfPWqD$p@b#A26l6<)#Rcn9n80jgq;
zQ3*fSefGE4Tqv?REKvUMs0g<*yASuFCSF5Lyp0?-#YvT!Ms4^4iP2_JzkiQDenAB`
zkJ@L!87J$C9yD>GiLJ=qmPKWnLsg;=RoX$+g6B|yjG+RZ#8!NWS$u_B=QFOvAJ~P9
zn8q$%JeRg3LH+e$4>vmTIBGnB0Y<0=-{1lKjVgIR>1lxhBpEx13h)T3BImIQ$58>?
zb@v~kzKI#stA3ZH{#3mBV`Zw%R3d#qid2&~(0l3Y>B?FetK3U%qr2FGs-hB6Q>9b|
z1w`D{rp*;-P#uvh`&+jgsD#Q+A4@Y`5pJUEt5@4hC-Ca4(O6CYQhl7NhAN@g`G3o~
zK?nBG^Ggp4LuXE$EC=D$*oCk?-We6+eoeZ3bhu>2(nvn&?;Z|D&YmuXm;FpQ<F`eh
h{I6d4p)MOWCk}buP*hIly>Kd(3qPhh!d>;-{{j3FWEB7a

diff --git a/easyaudit/locale/pt_BR/LC_MESSAGES/django.po b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
index cdfce168..747bc06d 100644
--- a/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
+++ b/easyaudit/locale/pt_BR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-04-12 10:52-0300\n"
+"POT-Creation-Date: 2021-04-12 13:27-0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,6 +18,35 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#: .\admin.py:40
+msgid "Content Type"
+msgstr "Tipo de Conteúdo"
+
+#: .\admin.py:45 .\admin.py:91 .\admin.py:116 .\models.py:38 .\models.py:72
+#: .\models.py:88
+msgid "User"
+msgstr "Usuário"
+
+#: .\admin.py:63
+msgid "object repr"
+msgstr "representação do objeto"
+
+#: .\admin.py:68
+msgid "object json repr"
+msgstr "representação json do objeto"
+
+#: .\admin.py:73
+msgid "changed fields"
+msgstr "campos alterados"
+
+#: .\admin.py:98
+msgid "User name"
+msgstr "nome do usuário"
+
+#: .\admin_helpers.py:65
+msgid "user"
+msgstr "usuário"
+
 #: .\admin_helpers.py:122
 #, python-format
 msgid "Successfully removed %d rows"
@@ -36,6 +65,10 @@ msgstr "Ação cancelada pelo usuário"
 msgid "Purge all %s ... are you sure?"
 msgstr "Eliminar todos os %s ... tem certeza?"
 
+#: .\apps.py:6
+msgid "Easy Audit Application"
+msgstr "Aplicação Easy Audit"
+
 #: .\models.py:19
 msgid "Create"
 msgstr "Criar"
@@ -82,7 +115,7 @@ msgstr "ID do Objeto"
 
 #: .\models.py:32
 msgid "Content type"
-msgstr "Tipo de Conteúdo"
+msgstr "Tipo de conteúdo"
 
 #: .\models.py:33
 msgid "Object representation"
@@ -96,10 +129,6 @@ msgstr "Representação JSON do Objeto"
 msgid "Changed fields"
 msgstr "Campos Alterados"
 
-#: .\models.py:38 .\models.py:72 .\models.py:88
-msgid "User"
-msgstr "Usuário"
-
 #: .\models.py:40
 msgid "String version of the user pk"
 msgstr "Versão string da PK do usuário"
@@ -189,7 +218,8 @@ msgstr "Por favor, confirme a exclusão"
 msgid ""
 "This operation is destructive, cannot be undone and may require some minutes."
 msgstr ""
-"Esta operação é destrutiva, não pode ser desfeita e pode demorar alguns minutos."
+"Esta operação é destrutiva, não pode ser desfeita e pode demorar alguns "
+"minutos."
 
 #: .\templates\admin\easyaudit\purge_confirmation.html:21
 msgid "Are you sure you want to permanently remove all objects ?"