diff --git a/js/src/i18n/ca.json b/js/src/i18n/ca.json
index 0967ef424..059d541ed 100644
--- a/js/src/i18n/ca.json
+++ b/js/src/i18n/ca.json
@@ -1 +1,27 @@
-{}
+{
+ "Please do not use it in any real way.": "No ho facis servir més que proves, sisplau",
+ "A user-friendly, emancipatory and ethical tool for gathering, organising, and mobilising.": "Una eina senzilla, emancipatòria i ètica per a reunir-nos, organitzar-nos i mobilitzar-nos.",
+ "A validation email was sent to {email}": "S'ha enviat un mail de validació a {email}",
+ "Abandon edition": "Canceŀla l'edició",
+ "About": "Quant a",
+ "About Mobilizon": "Quant a Mobilizon",
+ "About this event": "Sobre aquesta activitat",
+ "About this instance": "Sobre aquesta instància",
+ "Accepted": "Acceptada",
+ "Add": "Afegeix",
+ "Add a note": "Afegeix una nota",
+ "Add an address": "Afegeix una adreça",
+ "Add an instance": "Afegeix una instància",
+ "Add some tags": "Afegeix algunes etiquetes",
+ "Add to my calendar": "Afegeix al meu calendari",
+ "Additional comments": "Altres comentaris",
+ "Administration": "Administració",
+ "All the places have already been taken": "No hi ha més places disponibles|Hi ha una plaça disponible|Hi ha {places} disponibles",
+ "Allow all comments": "Permet tots els comentaris",
+ "An error has occurred.": "Hi ha hagut un error.",
+ "Approve": "Aprova",
+ "Are you sure you want to delete this comment? This action cannot be undone.": "Segur que vols esborrar aquest comentari? Aquesta acció és irreversible.",
+ "Are you sure you want to delete this event? This action cannot be undone. You may want to engage the conversation with the event creator or edit its event instead.": "Segur que vols esborrar aquesta activitat? Aquesta acció és irreversible. En comptes d'això, pots parlar amb la persona creadora de l'activitat o modificar l'activitat.",
+ "Are you sure you want to cancel the event creation? You'll lose all modifications.": "Segur que vols esborrar aquesta activitat? Perdràs tots els canvis.",
+ "Are you sure you want to cancel the event edition? You'll lose all modifications.": "Segur que vols canceŀlar l'edició? Perdràs tots els canvis que hagis fet."
+}
diff --git a/js/src/i18n/fi.json b/js/src/i18n/fi.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/js/src/i18n/fi.json
@@ -0,0 +1 @@
+{}
diff --git a/js/src/i18n/oc.json b/js/src/i18n/oc.json
index e7ab9f27b..b61ae3f21 100644
--- a/js/src/i18n/oc.json
+++ b/js/src/i18n/oc.json
@@ -276,6 +276,7 @@
"Register an account on Mobilizon!": "S’inscriure a Mobilizon !",
"Register for an event by choosing one of your identities": "S’inscriure a un eveniment en causir una de vòstras identitats",
"Registration is currently closed.": "Las inscripcions son actualament tampadas.",
+ "Registrations are restricted by whitelisting.": "Las inscripcions son limitadas per lista blanca.",
"Reject": "Regetar",
"Rejected": "Regetadas",
"Rejected participations": "Participacions regetadas",
@@ -397,6 +398,7 @@
"Your account has been validated": "Vòstre compte es estat validat",
"Your account is being validated": "Vòstre compte es en validacion",
"Your account is nearly ready, {username}": "Vòstre compte es gaireben prèst, {username}",
+ "Your email is not whitelisted, you can't register.": "Vòstra adreça es pas en lista blanca, vos podètz pas inscriure.",
"Your local administrator resumed its policy:": "Vòstre administrator local resumèt sa politica aital :",
"Your participation has been confirmed": "Vòstra participacion es estada confirmada",
"Your participation has been rejected": "Vòstra participacion es estada regetada",
diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po
index 5872c2c7b..f893340f3 100644
--- a/priv/gettext/ca/LC_MESSAGES/default.po
+++ b/priv/gettext/ca/LC_MESSAGES/default.po
@@ -3,31 +3,35 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-12-17 11:48+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2019-12-17 12:56+0000\n"
+"Last-Translator: fadelkon \n"
+"Language-Team: Catalan \n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Translate Toolkit 2.4.0\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.9.1\n"
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
#, elixir-format
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
msgstr ""
+"Si no ho has demanat tu, ignora aquest email. La teva contrasenya només "
+"canviarà si cliques l'enllaç de sota i n'escrius una altra."
#: lib/service/export/feed.ex:169
#, elixir-format
msgid "Feed for %{email} on Mobilizon"
-msgstr ""
+msgstr "Flux per %{email} a Mobilizon"
#: lib/mobilizon_web/templates/email/email.html.eex:155
#: lib/mobilizon_web/templates/email/email.text.eex:16
#, elixir-format
msgid "%{instance} is a Mobilizon server."
-msgstr ""
+msgstr "%{instance} és un servidor de Mobilizon."
#: lib/mobilizon_web/templates/email/report.html.eex:41
#, elixir-format
diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po
new file mode 100644
index 000000000..1ba22ea79
--- /dev/null
+++ b/priv/gettext/fi/LC_MESSAGES/default.po
@@ -0,0 +1,358 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-12-17 12:51+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 2.4.0\n"
+
+#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
+#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
+#, elixir-format
+msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
+msgstr ""
+
+#: lib/service/export/feed.ex:169
+#, elixir-format
+msgid "Feed for %{email} on Mobilizon"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:155
+#: lib/mobilizon_web/templates/email/email.text.eex:16
+#, elixir-format
+msgid "%{instance} is a Mobilizon server."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:41
+#, elixir-format
+msgid "%{reporter_name} (%{reporter_username}) reported the following content."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:52
+#, elixir-format
+msgid "%{title} by %{creator}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
+#, elixir-format
+msgid "Activate my account"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:124
+#: lib/mobilizon_web/templates/email/email.text.eex:14
+#, elixir-format
+msgid "Ask the community on Framacolibri"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:66
+#: lib/mobilizon_web/templates/email/report.text.eex:13
+#, elixir-format
+msgid "Comments"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:50
+#: lib/mobilizon_web/templates/email/report.text.eex:6
+#, elixir-format
+msgid "Event"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
+#, elixir-format
+msgid "If you didn't request this, please ignore this email."
+msgstr ""
+
+#: lib/mobilizon_web/email/user.ex:45
+#, elixir-format
+msgid "Instructions to reset your password on %{instance}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:156
+#, elixir-format
+msgid "Learn more about Mobilizon."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
+#, elixir-format
+msgid "Nearly here!"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:121
+#: lib/mobilizon_web/templates/email/email.text.eex:12
+#, elixir-format
+msgid "Need some help? Something not working properly?"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:13
+#, elixir-format
+msgid "New report on %{instance}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:84
+#: lib/mobilizon_web/templates/email/report.text.eex:22
+#, elixir-format
+msgid "Reason"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
+#, elixir-format
+msgid "Reset Password"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
+#, elixir-format
+msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
+#, elixir-format
+msgid "Trouble signing in?"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:104
+#, elixir-format
+msgid "View the report"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
+#, elixir-format
+msgid "You created an account on %{host} with this email address. You are one click away from activating it."
+msgstr ""
+
+#: lib/mobilizon_web/email/user.ex:25
+#, elixir-format
+msgid "Instructions to confirm your Mobilizon account on %{instance}"
+msgstr ""
+
+#: lib/mobilizon_web/email/admin.ex:23
+#, elixir-format
+msgid "New report on Mobilizon instance %{instance}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
+#, elixir-format
+msgid "Activate your account"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
+#, elixir-format
+msgid "All good!"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
+#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
+#, elixir-format
+msgid "An organizer just approved your participation. You're now going to this event!"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:101
+#, elixir-format
+msgid "Go to event page"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:113 lib/mobilizon_web/templates/email/event_updated.text.eex:21
+#, elixir-format
+msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
+#, elixir-format
+msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.text.eex:16
+#, elixir-format
+msgid "Learn more about Mobilizon:"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.text.eex:1
+#, elixir-format
+msgid "New report from %{reporter} on %{instance}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
+#, elixir-format
+msgid "Participation approved"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
+#, elixir-format
+msgid "Participation rejected"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
+#, elixir-format
+msgid "Password reset"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
+#, elixir-format
+msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
+#, elixir-format
+msgid "Sorry!"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
+#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
+#, elixir-format
+msgid "Unfortunately, the organizers rejected your participation."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
+#, elixir-format
+msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
+#, elixir-format
+msgid "You requested to participate in event %{title}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
+#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38 lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
+#, elixir-format
+msgid "You requested to participate in event %{title}."
+msgstr ""
+
+#: lib/mobilizon_web/email/participation.ex:73
+#, elixir-format
+msgid "Your participation to event %{title} has been approved"
+msgstr ""
+
+#: lib/mobilizon_web/email/participation.ex:52
+#, elixir-format
+msgid "Your participation to event %{title} has been rejected"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:82
+#, elixir-format
+msgid "Ending of event"
+msgstr ""
+
+#: lib/mobilizon_web/email/event.ex:30
+#, elixir-format
+msgid "Event %{title} has been updated"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:13
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:1
+#, elixir-format
+msgid "Event updated!"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:16
+#, elixir-format
+msgid "New date and time for ending of event: %{ends_on}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:12
+#, elixir-format
+msgid "New date and time for start of event: %{begins_on}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:8
+#, elixir-format
+msgid "New title: %{title}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:72
+#, elixir-format
+msgid "Start of event"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:5
+#, elixir-format
+msgid "The event %{title} was just updated"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:38
+#, elixir-format
+msgid "The event %{title} was updated"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:62
+#, elixir-format
+msgid "Title"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.text.eex:19
+#, elixir-format
+msgid "View the updated event on: %{link}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
+#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
+#, elixir-format
+msgid "You requested a new password for your account on %{instance}."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:95
+#, elixir-format
+msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:94
+#, elixir-format
+msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:91
+#: lib/mobilizon_web/templates/email/email.text.eex:6
+#, elixir-format
+msgid "This is a demonstration site to test the beta version of Mobilizon."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:89
+#, elixir-format
+msgid "Warning"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:54
+#, elixir-format
+msgid "Event has been cancelled"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:50
+#, elixir-format
+msgid "Event has been confirmed"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/event_updated.html.eex:52
+#, elixir-format
+msgid "Event status has been set as tentative"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.html.eex:92
+#, elixir-format
+msgid "%{b_start}Please do not use it in any real way%{b_end}"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/report.html.eex:39
+#, elixir-format
+msgid "Someone on %{instance} reported the following content."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.text.eex:10
+#, elixir-format
+msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.text.eex:9
+#, elixir-format
+msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
+msgstr ""
+
+#: lib/mobilizon_web/templates/email/email.text.eex:7
+#, elixir-format
+msgid "Please do not use it in any real way"
+msgstr ""