about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-12-08 01:59:44 +0100
committerGitHub <noreply@github.com>2017-12-08 01:59:44 +0100
commitbca9e2e57aa52659171e11e18be68cd4c61f17ee (patch)
tree1d9551a8b3393a1e43f188d22230e5a2bb25bb71
parent369f40bb9f71e5147ae571d83e6d883fea46ac2d (diff)
Weblate translations (#5922)
* Translated using Weblate (German)

Currently translated at 84.2% (439 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (English)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/en/

* Translated using Weblate (German)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/de/

* Translated using Weblate (German)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/

* Translated using Weblate (French)

Currently translated at 84.6% (441 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (English)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/en/

* Translated using Weblate (German)

Currently translated at 86.9% (453 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (Korean)

Currently translated at 86.3% (450 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/

* Translated using Weblate (French)

Currently translated at 84.8% (442 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (French)

Currently translated at 84.8% (442 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (French)

Currently translated at 84.8% (442 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Portuguese)

Currently translated at 36.2% (189 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/he/

* Translated using Weblate (Hebrew)

Currently translated at 53.1% (277 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (43 of 43 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/he/

* Translated using Weblate (Spanish)

Currently translated at 75.6% (394 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/

* Translated using Weblate (French)

Currently translated at 86.3% (450 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Portuguese)

Currently translated at 98.2% (55 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/nl/

* Translated using Weblate (Dutch)

Currently translated at 84.6% (441 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (German)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ca/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/nl/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/ca/

* Translated using Weblate (German)

Currently translated at 88.2% (460 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 90.2% (470 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (French)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 90.2% (470 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (French)

Currently translated at 87.3% (455 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Hebrew)

Currently translated at 61.8% (322 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/he/

* Translated using Weblate (French)

Currently translated at 87.3% (455 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fr/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 92.3% (481 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ca/

* Translated using Weblate (French)

Currently translated at 87.3% (455 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (French)

Currently translated at 87.5% (456 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (French)

Currently translated at 87.7% (457 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/ca/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/

* Translated using Weblate (Portuguese)

Currently translated at 42.4% (221 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/

* Translated using Weblate (Portuguese)

Currently translated at 97.3% (73 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/pt/

* Translated using Weblate (Catalan)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ca/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2 of 2 strings)

Translation: Mastodon/Activerecord
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (43 of 43 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt/

* Translated using Weblate (German)

Currently translated at 90.5% (472 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (German)

Currently translated at 90.7% (473 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (German)

Currently translated at 90.9% (474 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (German)

Currently translated at 91.1% (475 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/

* Translated using Weblate (Dutch)

Currently translated at 90.4% (471 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (German)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/

* Translated using Weblate (German)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 92.3% (481 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (German)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2 of 2 strings)

Translation: Mastodon/Activerecord
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/de/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt_BR/

* Translated using Weblate (Dutch)

Currently translated at 90.5% (472 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Arabic)

Currently translated at 44.1% (19 of 43 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/ar/

* Translated using Weblate (Norwegian (old code))

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/no/

* Translated using Weblate (Arabic)

Currently translated at 85.7% (48 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/

* Translated using Weblate (Arabic)

Currently translated at 92.0% (69 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/ar/

* Translated using Weblate (Portuguese)

Currently translated at 47.7% (249 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/

* Translated using Weblate (Arabic)

Currently translated at 29.9% (156 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/

* Translated using Weblate (Spanish)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/es/

* Translated using Weblate (Polish)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pl/

* Translated using Weblate (French)

Currently translated at 99.6% (519 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (245 of 245 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/

* Translated using Weblate (French)

Currently translated at 100.0% (75 of 75 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/fr/

* Translated using Weblate (Spanish)

Currently translated at 99.8% (520 of 521 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (56 of 56 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/es/

* i18n-tasks normalize

* yarn run manage:translations

* Restore wrongly removed translations
-rw-r--r--app/javascript/mastodon/locales/ar.json62
-rw-r--r--app/javascript/mastodon/locales/bg.json18
-rw-r--r--app/javascript/mastodon/locales/ca.json58
-rw-r--r--app/javascript/mastodon/locales/de.json60
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json119
-rw-r--r--app/javascript/mastodon/locales/en.json18
-rw-r--r--app/javascript/mastodon/locales/eo.json18
-rw-r--r--app/javascript/mastodon/locales/es.json88
-rw-r--r--app/javascript/mastodon/locales/fa.json18
-rw-r--r--app/javascript/mastodon/locales/fi.json18
-rw-r--r--app/javascript/mastodon/locales/fr.json50
-rw-r--r--app/javascript/mastodon/locales/he.json160
-rw-r--r--app/javascript/mastodon/locales/hr.json18
-rw-r--r--app/javascript/mastodon/locales/hu.json18
-rw-r--r--app/javascript/mastodon/locales/id.json18
-rw-r--r--app/javascript/mastodon/locales/io.json18
-rw-r--r--app/javascript/mastodon/locales/it.json18
-rw-r--r--app/javascript/mastodon/locales/ja.json6
-rw-r--r--app/javascript/mastodon/locales/ko.json18
-rw-r--r--app/javascript/mastodon/locales/nl.json74
-rw-r--r--app/javascript/mastodon/locales/no.json88
-rw-r--r--app/javascript/mastodon/locales/oc.json18
-rw-r--r--app/javascript/mastodon/locales/pl.json12
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json44
-rw-r--r--app/javascript/mastodon/locales/pt.json252
-rw-r--r--app/javascript/mastodon/locales/ru.json18
-rw-r--r--app/javascript/mastodon/locales/sv.json18
-rw-r--r--app/javascript/mastodon/locales/th.json18
-rw-r--r--app/javascript/mastodon/locales/tr.json18
-rw-r--r--app/javascript/mastodon/locales/uk.json18
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json8
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json18
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json18
-rw-r--r--config/locales/activerecord.de.yml2
-rw-r--r--config/locales/activerecord.nl.yml2
-rw-r--r--config/locales/ar.yml37
-rw-r--r--config/locales/ca.yml100
-rw-r--r--config/locales/de.yml41
-rw-r--r--config/locales/devise.ar.yml6
-rw-r--r--config/locales/devise.he.yml6
-rw-r--r--config/locales/devise.nl.yml3
-rw-r--r--config/locales/doorkeeper.ar.yml6
-rw-r--r--config/locales/doorkeeper.ca.yml19
-rw-r--r--config/locales/doorkeeper.es.yml14
-rw-r--r--config/locales/doorkeeper.fr.yml5
-rw-r--r--config/locales/doorkeeper.he.yml16
-rw-r--r--config/locales/doorkeeper.nl.yml13
-rw-r--r--config/locales/doorkeeper.pt-BR.yml6
-rw-r--r--config/locales/doorkeeper.pt.yml11
-rw-r--r--config/locales/es.yml165
-rw-r--r--config/locales/fr.yml132
-rw-r--r--config/locales/he.yml81
-rw-r--r--config/locales/ko.yml12
-rw-r--r--config/locales/nl.yml36
-rw-r--r--config/locales/pl.yml3
-rw-r--r--config/locales/pt-BR.yml59
-rw-r--r--config/locales/pt.yml72
-rw-r--r--config/locales/simple_form.ca.yml4
-rw-r--r--config/locales/simple_form.de.yml3
-rw-r--r--config/locales/simple_form.es.yml16
-rw-r--r--config/locales/simple_form.fr.yml3
-rw-r--r--config/locales/simple_form.he.yml16
-rw-r--r--config/locales/simple_form.nl.yml13
-rw-r--r--config/locales/simple_form.pt-BR.yml7
-rw-r--r--config/locales/simple_form.pt.yml1
65 files changed, 1800 insertions, 533 deletions
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 596a519bd..05658ad4e 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -7,22 +7,22 @@
   "account.followers": "المتابعون",
   "account.follows": "يتبع",
   "account.follows_you": "يتابعك",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "إخفاء ترقيات @{name}",
   "account.media": "وسائط",
   "account.mention": "أُذكُر @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} إنتقل إلى :",
   "account.mute": "أكتم @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "كتم إخطارات @{name}",
   "account.posts": "المشاركات",
   "account.report": "أبلغ عن @{name}",
   "account.requested": "في انتظار الموافقة",
   "account.share": "مشاركة @{name}'s profile",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "عرض ترقيات @{name}",
   "account.unblock": "إلغاء الحظر عن @{name}",
   "account.unblock_domain": "فك حظر {domain}",
   "account.unfollow": "إلغاء المتابعة",
   "account.unmute": "إلغاء الكتم عن @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
   "account.view_full_profile": "عرض الملف الشخصي كاملا",
   "boost_modal.combo": "يمكنك ضغط {combo} لتخطّي هذه في المرّة القادمة",
   "bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
@@ -36,6 +36,7 @@
   "column.favourites": "المفضلة",
   "column.follow_requests": "طلبات المتابعة",
   "column.home": "الرئيسية",
+  "column.lists": "Lists",
   "column.mutes": "الحسابات المكتومة",
   "column.notifications": "الإشعارات",
   "column.pins": "التبويقات المثبتة",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "هل أنت متأكد أنك تريد حجب {name} ؟",
   "confirmations.delete.confirm": "حذف",
   "confirmations.delete.message": "هل أنت متأكد أنك تريد حذف هذا المنشور ؟",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "إخفاء إسم النطاق كاملا",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "أكتم",
@@ -76,7 +79,7 @@
   "emoji_button.food": "الطعام والشراب",
   "emoji_button.label": "أدرج إيموجي",
   "emoji_button.nature": "الطبيعة",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "لا إيموجو !! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "أشياء",
   "emoji_button.people": "الناس",
   "emoji_button.recent": "الشائعة الإستخدام",
@@ -84,13 +87,13 @@
   "emoji_button.search_results": "نتائج البحث",
   "emoji_button.symbols": "رموز",
   "emoji_button.travel": "أماكن و أسفار",
-  "empty_column.community": "الخط الزمني المحلي فارغ. اكتب شيئا ما للعامة كبداية.",
+  "empty_column.community": "الخط الزمني المحلي فارغ. أكتب شيئا ما للعامة كبداية !",
   "empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.",
   "empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.",
   "empty_column.home.public_timeline": "الخيط العام",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "هذه القائمة فارغة.",
   "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
-  "empty_column.public": "لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.",
+  "empty_column.public": "لا يوجد أي شيء هنا ! قم بنشر شيء ما للعامة، أو إتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام",
   "follow_request.authorize": "ترخيص",
   "follow_request.reject": "رفض",
   "getting_started.appsshort": "تطبيقات",
@@ -104,37 +107,46 @@
   "home.column_settings.show_reblogs": "عرض الترقيات",
   "home.column_settings.show_replies": "عرض الردود",
   "home.settings": "إعدادات العمود",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
+  "keyboard_shortcuts.back": "للعودة",
+  "keyboard_shortcuts.boost": "للترقية",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "للإنتقال إلى أسفل القائمة",
   "keyboard_shortcuts.enter": "to open status",
   "keyboard_shortcuts.favourite": "to favourite",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
   "keyboard_shortcuts.hotkey": "Hotkey",
   "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
+  "keyboard_shortcuts.mention": "لذِكر الناشر",
+  "keyboard_shortcuts.reply": "للردّ",
   "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
+  "keyboard_shortcuts.toot": "لتحرير تبويق جديد",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.up": "للإنتقال إلى أعلى القائمة",
   "lightbox.close": "إغلاق",
   "lightbox.next": "التالي",
   "lightbox.previous": "العودة",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "تحميل ...",
   "media_gallery.toggle_visible": "عرض / إخفاء",
   "missing_indicator.label": "تعذر العثور عليه",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
   "navigation_bar.blocks": "الحسابات المحجوبة",
   "navigation_bar.community_timeline": "الخيط العام المحلي",
   "navigation_bar.edit_profile": "تعديل الملف الشخصي",
   "navigation_bar.favourites": "المفضلة",
   "navigation_bar.follow_requests": "طلبات المتابعة",
   "navigation_bar.info": "معلومات إضافية",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "إختصارات لوحة المفاتيح",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "خروج",
   "navigation_bar.mutes": "الحسابات المكتومة",
   "navigation_bar.pins": "التبويقات المثبتة",
@@ -186,7 +198,7 @@
   "privacy.unlisted.short": "غير مدرج",
   "relative_time.days": "{number}d",
   "relative_time.hours": "{number}h",
-  "relative_time.just_now": "now",
+  "relative_time.just_now": "الآن",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "reply_indicator.cancel": "إلغاء",
@@ -199,7 +211,7 @@
   "search_popout.tips.status": "حالة",
   "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
   "search_popout.tips.user": "مستخدِم",
-  "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
+  "search_results.total": "{count, number} {count, plural, one {result} و {results}}",
   "standalone.public_title": "نظرة على ...",
   "status.cannot_reblog": "تعذرت ترقية هذا المنشور",
   "status.delete": "إحذف",
@@ -208,7 +220,7 @@
   "status.load_more": "حمّل المزيد",
   "status.media_hidden": "الصورة مستترة",
   "status.mention": "أذكُر @{name}",
-  "status.more": "More",
+  "status.more": "المزيد",
   "status.mute_conversation": "كتم المحادثة",
   "status.open": "وسع هذه المشاركة",
   "status.pin": "تدبيس على الملف الشخصي",
@@ -229,7 +241,7 @@
   "tabs_bar.home": "الرئيسية",
   "tabs_bar.local_timeline": "المحلي",
   "tabs_bar.notifications": "الإخطارات",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
   "upload_area.title": "إسحب ثم أفلت للرفع",
   "upload_button.label": "إضافة وسائط",
   "upload_form.description": "وصف للمعاقين بصريا",
@@ -243,5 +255,9 @@
   "video.mute": "كتم الصوت",
   "video.pause": "إيقاف مؤقت",
   "video.play": "تشغيل",
-  "video.unmute": "تشغيل الصوت"
+  "video.unmute": "تشغيل الصوت",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 82f092648..b5abbc915 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favourites",
   "column.follow_requests": "Follow requests",
   "column.home": "Начало",
+  "column.lists": "Lists",
   "column.mutes": "Muted users",
   "column.notifications": "Известия",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Затвори",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Зареждане...",
   "media_gallery.toggle_visible": "Toggle visibility",
   "missing_indicator.label": "Not found",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.info": "Extended information",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Излизане",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index baa9432de..91c8e78e7 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -7,7 +7,7 @@
   "account.followers": "Seguidors",
   "account.follows": "Seguint",
   "account.follows_you": "et segueix",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Amaga els impulsos de @{name}",
   "account.media": "Media",
   "account.mention": "Esmentar @{name}",
   "account.moved_to": "{name} s'ha mogut a:",
@@ -17,7 +17,7 @@
   "account.report": "Informe @{name}",
   "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",
   "account.share": "Compartir el perfil de @{name}",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Mostra els impulsos de @{name}",
   "account.unblock": "Desbloquejar @{name}",
   "account.unblock_domain": "Mostra {domain}",
   "account.unfollow": "Deixar de seguir",
@@ -36,6 +36,7 @@
   "column.favourites": "Favorits",
   "column.follow_requests": "Peticions per seguir-te",
   "column.home": "Inici",
+  "column.lists": "Lists",
   "column.mutes": "Usuaris silenciats",
   "column.notifications": "Notificacions",
   "column.pins": "Toot fixat",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Estàs segur que vols bloquejar {name}?",
   "confirmations.delete.confirm": "Esborrar",
   "confirmations.delete.message": "Estàs segur que vols esborrar aquest estat?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Amagar tot el domini",
   "confirmations.domain_block.message": "Estàs realment, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar és suficient i preferible.",
   "confirmations.mute.confirm": "Silenciar",
@@ -72,7 +75,7 @@
   "embed.preview": "Aquí tenim quin aspecte tindrá:",
   "emoji_button.activity": "Activitat",
   "emoji_button.custom": "Personalitzat",
-  "emoji_button.flags": "Flags",
+  "emoji_button.flags": "Marques",
   "emoji_button.food": "Menjar i Beure",
   "emoji_button.label": "Inserir emoji",
   "emoji_button.nature": "Natura",
@@ -88,7 +91,7 @@
   "empty_column.hashtag": "Encara no hi ha res amb aquesta etiqueta.",
   "empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.",
   "empty_column.home.public_timeline": "la línia de temps pública",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Encara no hi ha res en aquesta llista.",
   "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
   "empty_column.public": "No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho",
   "follow_request.authorize": "Autoritzar",
@@ -104,26 +107,34 @@
   "home.column_settings.show_reblogs": "Mostrar impulsos",
   "home.column_settings.show_replies": "Mostrar respostes",
   "home.settings": "Ajustos de columna",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.back": "navegar enrera",
+  "keyboard_shortcuts.boost": "impulsar",
+  "keyboard_shortcuts.column": "per centrar un estat en una de les columnes",
+  "keyboard_shortcuts.compose": "per centrar l'area de composició de text",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "per baixar en la llista",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "afavorir",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.hotkey": "Tecla d'accés directe",
+  "keyboard_shortcuts.legend": "per a mostrar aquesta llegenda",
+  "keyboard_shortcuts.mention": "per esmentar l'autor",
+  "keyboard_shortcuts.reply": "respondre",
+  "keyboard_shortcuts.search": "per centrar la cerca",
+  "keyboard_shortcuts.toot": "per a començar un toot nou de trinca",
+  "keyboard_shortcuts.unfocus": "descentrar l'area de composició de text/cerca",
+  "keyboard_shortcuts.up": "moure amunt en la llista",
   "lightbox.close": "Tancar",
   "lightbox.next": "Següent",
   "lightbox.previous": "Anterior",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Carregant...",
   "media_gallery.toggle_visible": "Alternar visibilitat",
   "missing_indicator.label": "No trobat",
@@ -134,7 +145,8 @@
   "navigation_bar.favourites": "Favorits",
   "navigation_bar.follow_requests": "Sol·licituds de seguiment",
   "navigation_bar.info": "Informació addicional",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "Dreceres de teclat",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Tancar sessió",
   "navigation_bar.mutes": "Usuaris silenciats",
   "navigation_bar.pins": "Toots fixats",
@@ -195,7 +207,7 @@
   "report.target": "Informes",
   "search.placeholder": "Cercar",
   "search_popout.search_format": "Format de cerca avançada",
-  "search_popout.tips.hashtag": "hashtag",
+  "search_popout.tips.hashtag": "etiqueta",
   "search_popout.tips.status": "status",
   "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i els hashtags",
   "search_popout.tips.user": "usuari",
@@ -243,5 +255,9 @@
   "video.mute": "Silenciar el so",
   "video.pause": "Pausa",
   "video.play": "Reproduir",
-  "video.unmute": "Activar so"
+  "video.unmute": "Activar so",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 343528899..cb369a347 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -7,22 +7,22 @@
   "account.followers": "Folgende",
   "account.follows": "Folgt",
   "account.follows_you": "Folgt dir",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
   "account.media": "Medien",
   "account.mention": "@{name} erwähnen",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} ist umgezogen auf:",
   "account.mute": "@{name} stummschalten",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Benachrichtigungen von @{name} verbergen",
   "account.posts": "Beiträge",
   "account.report": "@{name} melden",
   "account.requested": "Warte auf Erlaubnis. Klicke zum Abbrechen",
   "account.share": "Profil von @{name} teilen",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Von @{name} geteilte Beiträge anzeigen",
   "account.unblock": "@{name} entblocken",
   "account.unblock_domain": "{domain} wieder anzeigen",
   "account.unfollow": "Entfolgen",
   "account.unmute": "@{name} nicht mehr stummschalten",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
   "account.view_full_profile": "Vollständiges Profil anzeigen",
   "boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen",
   "bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.",
@@ -36,6 +36,7 @@
   "column.favourites": "Favoriten",
   "column.follow_requests": "Folgeanfragen",
   "column.home": "Startseite",
+  "column.lists": "Lists",
   "column.mutes": "Stummgeschaltete Profile",
   "column.notifications": "Mitteilungen",
   "column.pins": "Angeheftete Beiträge",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Bist du dir sicher, dass du {name} blockieren möchtest?",
   "confirmations.delete.confirm": "Löschen",
   "confirmations.delete.message": "Bist du dir sicher, dass du diesen Beitrag löschen möchtest?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Die ganze Domain verbergen",
   "confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} verbergen willst? In den meisten Fällen reichen ein paar gezielte Blocks aus.",
   "confirmations.mute.confirm": "Stummschalten",
@@ -80,7 +83,7 @@
   "emoji_button.objects": "Gegenstände",
   "emoji_button.people": "Personen",
   "emoji_button.recent": "Häufig benutzt",
-  "emoji_button.search": "Suchen",
+  "emoji_button.search": "Suchen…",
   "emoji_button.search_results": "Suchergebnisse",
   "emoji_button.symbols": "Symbole",
   "emoji_button.travel": "Reisen und Orte",
@@ -88,7 +91,7 @@
   "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
   "empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.",
   "empty_column.home.public_timeline": "die öffentliche Zeitleiste",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Diese Liste ist derzeit leer.",
   "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.",
   "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Instanzen, um die Zeitleiste aufzufüllen",
   "follow_request.authorize": "Erlauben",
@@ -104,37 +107,46 @@
   "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
   "home.column_settings.show_replies": "Antworten anzeigen",
   "home.settings": "Spalteneinstellungen",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
+  "keyboard_shortcuts.back": "zurück navigieren",
+  "keyboard_shortcuts.boost": "boosten",
+  "keyboard_shortcuts.column": "einen Status in einer der Spalten fokussieren",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "sich in der Liste hinunter bewegen",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "favorisieren",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
   "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
+  "keyboard_shortcuts.legend": "diese Übersicht anzeigen",
+  "keyboard_shortcuts.mention": "Autor_in erwähnen",
+  "keyboard_shortcuts.reply": "antworten",
+  "keyboard_shortcuts.search": "die Suche fokussieren",
+  "keyboard_shortcuts.toot": "einen neuen Toot beginnen",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.up": "sich in der Liste hinauf bewegen",
   "lightbox.close": "Schließen",
   "lightbox.next": "Weiter",
   "lightbox.previous": "Zurück",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Wird geladen …",
   "media_gallery.toggle_visible": "Sichtbarkeit umschalten",
   "missing_indicator.label": "Nicht gefunden",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "Benachrichtigungen von diesem Account verbergen?",
   "navigation_bar.blocks": "Blockierte Profile",
   "navigation_bar.community_timeline": "Lokale Zeitleiste",
   "navigation_bar.edit_profile": "Profil bearbeiten",
   "navigation_bar.favourites": "Favoriten",
   "navigation_bar.follow_requests": "Folgeanfragen",
   "navigation_bar.info": "Über diese Instanz",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "Tastenkombinationen",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Abmelden",
   "navigation_bar.mutes": "Stummgeschaltete Profile",
   "navigation_bar.pins": "Angeheftete Beiträge",
@@ -169,7 +181,7 @@
   "onboarding.page_six.apps_available": "Es gibt verschiedene {apps} für iOS, Android und weitere Plattformen.",
   "onboarding.page_six.github": "Mastodon ist freie, quelloffene Software. Du kannst auf {github} dazu beitragen, Probleme melden und Wünsche äußern.",
   "onboarding.page_six.guidelines": "Richtlinien",
-  "onboarding.page_six.read_guidelines": "Bitte mach dich mit den {guidelines} von {domain} vertraut.",
+  "onboarding.page_six.read_guidelines": "Bitte mach dich mit den {guidelines} von {domain} vertraut!",
   "onboarding.page_six.various_app": "Apps",
   "onboarding.page_three.profile": "Bearbeite dein Profil, um dein Bild, deinen Namen und deine Beschreibung anzupassen. Dort findest du auch weitere Einstellungen.",
   "onboarding.page_three.search": "Benutze die Suchfunktion, um Leute zu finden und mit Hashtags wie {illustration} oder {introductions} nach Beiträgen zu suchen. Um eine Person zu finden, die auf einer anderen Instanz ist, benutze den vollständigen Profilnamen.",
@@ -243,5 +255,9 @@
   "video.mute": "Stummschalten",
   "video.pause": "Pause",
   "video.play": "Abspielen",
-  "video.unmute": "Ton einschalten"
+  "video.unmute": "Ton einschalten",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index be751589e..6ca210425 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -267,6 +267,39 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Toggle sound",
+        "id": "video_player.toggle_sound"
+      },
+      {
+        "defaultMessage": "Toggle visibility",
+        "id": "video_player.toggle_visible"
+      },
+      {
+        "defaultMessage": "Expand video",
+        "id": "video_player.expand"
+      },
+      {
+        "defaultMessage": "Sensitive content",
+        "id": "status.sensitive_warning"
+      },
+      {
+        "defaultMessage": "Click to view",
+        "id": "status.sensitive_toggle"
+      },
+      {
+        "defaultMessage": "Media hidden",
+        "id": "status.media_hidden"
+      },
+      {
+        "defaultMessage": "Video could not be played",
+        "id": "video_player.video_error"
+      }
+    ],
+    "path": "app/javascript/mastodon/components/video_player.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Unfollow",
         "id": "confirmations.unfollow.confirm"
       },
@@ -681,6 +714,15 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Undo",
+        "id": "upload_form.undo"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/compose/components/upload_form.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Uploading...",
         "id": "upload_progress.label"
       }
@@ -858,6 +900,10 @@
         "id": "navigation_bar.pins"
       },
       {
+        "defaultMessage": "Lists",
+        "id": "navigation_bar.lists"
+      },
+      {
         "defaultMessage": "Keyboard shortcuts",
         "id": "navigation_bar.keyboard_shortcuts"
       },
@@ -1011,6 +1057,53 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Remove from list",
+        "id": "lists.account.remove"
+      },
+      {
+        "defaultMessage": "Add to list",
+        "id": "lists.account.add"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/list_editor/components/account.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Search among people you follow",
+        "id": "lists.search"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/list_editor/components/search.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Search among follows",
+        "id": "lists.search"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/list_editor/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Are you sure you want to permanently delete this list?",
+        "id": "confirmations.delete_list.message"
+      },
+      {
+        "defaultMessage": "Delete",
+        "id": "confirmations.delete_list.confirm"
+      },
+      {
+        "defaultMessage": "Edit list",
+        "id": "lists.edit"
+      },
+      {
+        "defaultMessage": "Delete list",
+        "id": "lists.delete"
+      },
+      {
         "defaultMessage": "There is nothing in this list yet.",
         "id": "empty_column.list"
       }
@@ -1020,6 +1113,32 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "New list title",
+        "id": "lists.new.title_placeholder"
+      },
+      {
+        "defaultMessage": "Add list",
+        "id": "lists.new.create"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/lists/components/new_list_form.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Lists",
+        "id": "column.lists"
+      },
+      {
+        "defaultMessage": "Your lists",
+        "id": "lists.subheading"
+      }
+    ],
+    "path": "app/javascript/mastodon/features/lists/index.json"
+  },
+  {
+    "descriptors": [
+      {
         "defaultMessage": "Muted users",
         "id": "column.mutes"
       }
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 4e0b838b0..7e0f68081 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favourites",
   "column.follow_requests": "Follow requests",
   "column.home": "Home",
+  "column.lists": "Lists",
   "column.mutes": "Muted users",
   "column.notifications": "Notifications",
   "column.pins": "Pinned toots",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Close",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Loading...",
   "media_gallery.toggle_visible": "Toggle visibility",
   "missing_indicator.label": "Not found",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.info": "About this instance",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Logout",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index f9e32ba5e..59c407b41 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favoritoj",
   "column.follow_requests": "Abonpetoj",
   "column.home": "Hejmo",
+  "column.lists": "Lists",
   "column.mutes": "Silentigitaj uzantoj",
   "column.notifications": "Sciigoj",
   "column.pins": "Alpinglitaj pepoj",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Ĉu vi konfirmas la blokadon de {name}?",
   "confirmations.delete.confirm": "Malaperigi",
   "confirmations.delete.message": "Ĉu vi konfirmas la malaperigon de tiun pepon?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Kaŝi la tutan reton",
   "confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas bloki {domain} tute? Plej ofte, kelkaj celitaj blokadoj aŭ silentigoj estas sufiĉaj kaj preferindaj.",
   "confirmations.mute.confirm": "Silentigi",
@@ -124,6 +127,14 @@
   "lightbox.close": "Fermi",
   "lightbox.next": "Malantaŭa",
   "lightbox.previous": "Antaŭa",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Ŝarganta…",
   "media_gallery.toggle_visible": "Baskuli videblecon",
   "missing_indicator.label": "Ne trovita",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Abonpetoj",
   "navigation_bar.info": "Plia informo",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Elsaluti",
   "navigation_bar.mutes": "Silentigitaj uzantoj",
   "navigation_bar.pins": "Alpinglitaj pepoj",
@@ -243,5 +255,9 @@
   "video.mute": "Silentigi",
   "video.pause": "Paŭzi",
   "video.play": "Legi",
-  "video.unmute": "Malsilentigi"
+  "video.unmute": "Malsilentigi",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 38ba291e4..9d967d029 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -7,22 +7,22 @@
   "account.followers": "Seguidores",
   "account.follows": "Sigue",
   "account.follows_you": "Te sigue",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Ocultar retoots de @{name}",
   "account.media": "Media",
   "account.mention": "Mencionar a @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} se ha mudado a:",
   "account.mute": "Silenciar a @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Silenciar notificaciones de @{name}",
   "account.posts": "Publicaciones",
   "account.report": "Reportar a @{name}",
   "account.requested": "Esperando aprobación",
   "account.share": "Compartir el perfil de @{name}",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Mostrar retoots de @{name}",
   "account.unblock": "Desbloquear a @{name}",
   "account.unblock_domain": "Mostrar a {domain}",
   "account.unfollow": "Dejar de seguir",
   "account.unmute": "Dejar de silenciar a @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
   "account.view_full_profile": "Ver perfil completo",
   "boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez",
   "bundle_column_error.body": "Algo salió mal al cargar este componente.",
@@ -36,6 +36,7 @@
   "column.favourites": "Favoritos",
   "column.follow_requests": "Solicitudes de seguimiento",
   "column.home": "Inicio",
+  "column.lists": "Lists",
   "column.mutes": "Usuarios silenciados",
   "column.notifications": "Notificaciones",
   "column.pins": "Toot fijado",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?",
   "confirmations.delete.confirm": "Eliminar",
   "confirmations.delete.message": "¿Estás seguro de que quieres borrar este toot?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Ocultar dominio entero",
   "confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio entero? En algunos casos es preferible bloquear o silenciar objetivos determinados.",
   "confirmations.mute.confirm": "Silenciar",
@@ -71,26 +74,26 @@
   "embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
   "embed.preview": "Así es como se verá:",
   "emoji_button.activity": "Actividad",
-  "emoji_button.custom": "Custom",
+  "emoji_button.custom": "Personalizado",
   "emoji_button.flags": "Marcas",
   "emoji_button.food": "Comida y bebida",
   "emoji_button.label": "Insertar emoji",
   "emoji_button.nature": "Naturaleza",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "No hay emojos!! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "Objetos",
   "emoji_button.people": "Gente",
-  "emoji_button.recent": "Frequently used",
+  "emoji_button.recent": "Usados frecuentemente",
   "emoji_button.search": "Buscar…",
-  "emoji_button.search_results": "Search results",
+  "emoji_button.search_results": "Resultados de búsqueda",
   "emoji_button.symbols": "Símbolos",
   "emoji_button.travel": "Viajes y lugares",
   "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
   "empty_column.hashtag": "No hay nada en este hashtag aún.",
   "empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
   "empty_column.home.public_timeline": "la línea de tiempo pública",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "No hay nada en esta lista aún.",
   "empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
-  "empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo.",
+  "empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
   "follow_request.authorize": "Autorizar",
   "follow_request.reject": "Rechazar",
   "getting_started.appsshort": "Aplicaciones",
@@ -104,37 +107,46 @@
   "home.column_settings.show_reblogs": "Mostrar retoots",
   "home.column_settings.show_replies": "Mostrar respuestas",
   "home.settings": "Ajustes de columna",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.back": "volver atrás",
+  "keyboard_shortcuts.boost": "retootear",
+  "keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
+  "keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "mover hacia abajo en la lista",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "añadir a favoritos",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.hotkey": "Tecla caliente",
+  "keyboard_shortcuts.legend": "para mostrar esta leyenda",
+  "keyboard_shortcuts.mention": "para mencionar al autor",
+  "keyboard_shortcuts.reply": "para responder",
+  "keyboard_shortcuts.search": "para poner el foco en la búsqueda",
+  "keyboard_shortcuts.toot": "para comenzar un nuevo toot",
+  "keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
+  "keyboard_shortcuts.up": "para ir hacia arriba en la lista",
   "lightbox.close": "Cerrar",
   "lightbox.next": "Siguiente",
   "lightbox.previous": "Anterior",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Cargando…",
   "media_gallery.toggle_visible": "Cambiar visibilidad",
   "missing_indicator.label": "No encontrado",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
   "navigation_bar.blocks": "Usuarios bloqueados",
   "navigation_bar.community_timeline": "Historia local",
   "navigation_bar.edit_profile": "Editar perfil",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.follow_requests": "Solicitudes para seguirte",
   "navigation_bar.info": "Información adicional",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "Atajos de teclado",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Cerrar sesión",
   "navigation_bar.mutes": "Usuarios silenciados",
   "navigation_bar.pins": "Toots fijados",
@@ -150,8 +162,8 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.follow": "Nuevos seguidores:",
   "notifications.column_settings.mention": "Menciones:",
-  "notifications.column_settings.push": "Notificaciones push:",
-  "notifications.column_settings.push_meta": "Este dispositivo:",
+  "notifications.column_settings.push": "Notificaciones push",
+  "notifications.column_settings.push_meta": "Este dispositivo",
   "notifications.column_settings.reblog": "Retoots:",
   "notifications.column_settings.show": "Mostrar en columna",
   "notifications.column_settings.sound": "Reproducir sonido",
@@ -194,11 +206,11 @@
   "report.submit": "Publicar",
   "report.target": "Reportando",
   "search.placeholder": "Buscar",
-  "search_popout.search_format": "Advanced search format",
-  "search_popout.tips.hashtag": "hashtag",
+  "search_popout.search_format": "Formato de búsqueda avanzada",
+  "search_popout.tips.hashtag": "etiqueta",
   "search_popout.tips.status": "status",
-  "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
-  "search_popout.tips.user": "user",
+  "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag",
+  "search_popout.tips.user": "usuario",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
   "standalone.public_title": "Un pequeño vistazo...",
   "status.cannot_reblog": "Este toot no puede retootearse",
@@ -229,10 +241,10 @@
   "tabs_bar.home": "Inicio",
   "tabs_bar.local_timeline": "Local",
   "tabs_bar.notifications": "Notificaciones",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
   "upload_area.title": "Arrastra y suelta para subir",
   "upload_button.label": "Subir multimedia",
-  "upload_form.description": "Describe for the visually impaired",
+  "upload_form.description": "Describir para los usuarios con dificultad visual",
   "upload_form.undo": "Deshacer",
   "upload_progress.label": "Subiendo…",
   "video.close": "Cerrar video",
@@ -243,5 +255,9 @@
   "video.mute": "Silenciar sonido",
   "video.pause": "Pausar",
   "video.play": "Reproducir",
-  "video.unmute": "Dejar de silenciar sonido"
+  "video.unmute": "Dejar de silenciar sonido",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index dafb52bb5..93a17384f 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -36,6 +36,7 @@
   "column.favourites": "پسندیده‌ها",
   "column.follow_requests": "درخواست‌های پیگیری",
   "column.home": "خانه",
+  "column.lists": "Lists",
   "column.mutes": "کاربران بی‌صداشده",
   "column.notifications": "اعلان‌ها",
   "column.pins": "نوشته‌های ثابت",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "آیا واقعاً می‌خواهید {name} را مسدود کنید؟",
   "confirmations.delete.confirm": "پاک کن",
   "confirmations.delete.message": "آیا واقعاً می‌خواهید این نوشته را پاک کنید؟",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "پنهان‌سازی کل دامین",
   "confirmations.domain_block.message": "آیا جدی جدی می‌خواهید کل دامین {domain} را مسدود کنید؟ بیشتر وقت‌ها مسدودکردن یا بی‌صداکردن چند حساب کاربری خاص کافی است و توصیه می‌شود.",
   "confirmations.mute.confirm": "بی‌صدا کن",
@@ -124,6 +127,14 @@
   "lightbox.close": "بستن",
   "lightbox.next": "بعدی",
   "lightbox.previous": "قبلی",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "بارگیری...",
   "media_gallery.toggle_visible": "تغییر پیدایی",
   "missing_indicator.label": "پیدا نشد",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "درخواست‌های پیگیری",
   "navigation_bar.info": "اطلاعات تکمیلی",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "خروج",
   "navigation_bar.mutes": "کاربران بی‌صداشده",
   "navigation_bar.pins": "نوشته‌های ثابت",
@@ -243,5 +255,9 @@
   "video.mute": "قطع صدا",
   "video.pause": "توقف",
   "video.play": "پخش",
-  "video.unmute": "پخش صدا"
+  "video.unmute": "پخش صدا",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index e3739eb68..3851796a9 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favourites",
   "column.follow_requests": "Follow requests",
   "column.home": "Koti",
+  "column.lists": "Lists",
   "column.mutes": "Muted users",
   "column.notifications": "Ilmoitukset",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Sulje",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Ladataan...",
   "media_gallery.toggle_visible": "Toggle visibility",
   "missing_indicator.label": "Not found",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.info": "Extended information",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Kirjaudu ulos",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index e4cabf52c..d8f313f6e 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -7,22 +7,22 @@
   "account.followers": "Abonné⋅e⋅s",
   "account.follows": "Abonnements",
   "account.follows_you": "Vous suit",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Masquer les partages de @{name}",
   "account.media": "Média",
   "account.mention": "Mentionner",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} a déménagé vers :",
   "account.mute": "Masquer",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Ignorer les notifications de @{name}",
   "account.posts": "Statuts",
   "account.report": "Signaler",
   "account.requested": "Invitation envoyée",
   "account.share": "Partager le profil de @{name}",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Afficher les partages de @{name}",
   "account.unblock": "Débloquer",
   "account.unblock_domain": "Ne plus masquer {domain}",
   "account.unfollow": "Ne plus suivre",
   "account.unmute": "Ne plus masquer",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "Réactiver les notifications de @{name}",
   "account.view_full_profile": "Afficher le profil complet",
   "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
   "bundle_column_error.body": "Une erreur s’est produite lors du chargement de ce composant.",
@@ -36,6 +36,7 @@
   "column.favourites": "Favoris",
   "column.follow_requests": "Demandes de suivi",
   "column.home": "Accueil",
+  "column.lists": "Lists",
   "column.mutes": "Comptes masqués",
   "column.notifications": "Notifications",
   "column.pins": "Pouets épinglés",
@@ -52,7 +53,7 @@
   "compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
   "compose_form.lock_disclaimer.lock": "verrouillé",
   "compose_form.placeholder": "Qu’avez-vous en tête ?",
-  "compose_form.publish": "Pouet ",
+  "compose_form.publish": "Pouet",
   "compose_form.publish_loud": "{publish} !",
   "compose_form.sensitive": "Marquer le média comme sensible",
   "compose_form.spoiler": "Masquer le texte derrière un avertissement",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Confirmez-vous le blocage de {name} ?",
   "confirmations.delete.confirm": "Supprimer",
   "confirmations.delete.message": "Confirmez-vous la suppression de ce pouet ?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Masquer le domaine entier",
   "confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables.",
   "confirmations.mute.confirm": "Masquer",
@@ -69,14 +72,14 @@
   "confirmations.unfollow.confirm": "Ne plus suivre",
   "confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
   "embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
-  "embed.preview": "Il apparaîtra comme cela : ",
+  "embed.preview": "Il apparaîtra comme cela :",
   "emoji_button.activity": "Activités",
   "emoji_button.custom": "Personnalisés",
   "emoji_button.flags": "Drapeaux",
   "emoji_button.food": "Boire et manger",
   "emoji_button.label": "Insérer un émoji",
   "emoji_button.nature": "Nature",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "Pas d'emojis !! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "Objets",
   "emoji_button.people": "Personnages",
   "emoji_button.recent": "Fréquemment utilisés",
@@ -88,7 +91,7 @@
   "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag",
   "empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à d’autres utilisateur⋅ice⋅s.",
   "empty_column.home.public_timeline": "le fil public",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Il n'y a rien dans cette liste pour l'instant.",
   "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres utilisateur⋅ice⋅s pour débuter la conversation.",
   "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice⋅s d’autres instances pour remplir le fil public.",
   "follow_request.authorize": "Accepter",
@@ -104,12 +107,12 @@
   "home.column_settings.show_reblogs": "Afficher les partages",
   "home.column_settings.show_replies": "Afficher les réponses",
   "home.settings": "Paramètres de la colonne",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.back": "revenir en arrière",
+  "keyboard_shortcuts.boost": "partager",
+  "keyboard_shortcuts.column": "focaliser un statut dans l'une des colonnes",
+  "keyboard_shortcuts.compose": "pour centrer la zone de redaction",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "descendre dans la liste",
   "keyboard_shortcuts.enter": "to open status",
   "keyboard_shortcuts.favourite": "to favourite",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
@@ -124,10 +127,18 @@
   "lightbox.close": "Fermer",
   "lightbox.next": "Suivant",
   "lightbox.previous": "Précédent",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Chargement…",
   "media_gallery.toggle_visible": "Modifier la visibilité",
   "missing_indicator.label": "Non trouvé",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "Masquer les notifications de cet utilisateur ?",
   "navigation_bar.blocks": "Comptes bloqués",
   "navigation_bar.community_timeline": "Fil public local",
   "navigation_bar.edit_profile": "Modifier le profil",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Demandes de suivi",
   "navigation_bar.info": "Plus d’informations",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Déconnexion",
   "navigation_bar.mutes": "Comptes masqués",
   "navigation_bar.pins": "Pouets épinglés",
@@ -147,7 +159,7 @@
   "notifications.clear": "Nettoyer",
   "notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?",
   "notifications.column_settings.alert": "Notifications locales",
-  "notifications.column_settings.favourite": "Favoris :",
+  "notifications.column_settings.favourite": "Favoris :",
   "notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e⋅s :",
   "notifications.column_settings.mention": "Mentions :",
   "notifications.column_settings.push": "Notifications push",
@@ -243,5 +255,9 @@
   "video.mute": "Couper le son",
   "video.pause": "Pause",
   "video.play": "Lecture",
-  "video.unmute": "Rétablir le son"
+  "video.unmute": "Rétablir le son",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index fdebdf92a..987a1ea3a 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -1,52 +1,53 @@
 {
   "account.block": "חסימת @{name}",
   "account.block_domain": "להסתיר הכל מהקהילה {domain}",
-  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.disclaimer_full": "המידע להלן עשוי להיות לא עדכני או לא שלם.",
   "account.edit_profile": "עריכת פרופיל",
   "account.follow": "מעקב",
   "account.followers": "עוקבים",
   "account.follows": "נעקבים",
   "account.follows_you": "במעקב אחריך",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
   "account.media": "מדיה",
   "account.mention": "אזכור של @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "החשבון {name} הועבר אל:",
   "account.mute": "להשתיק את @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "להסתיר התראות מאת @{name}",
   "account.posts": "הודעות",
   "account.report": "לדווח על @{name}",
   "account.requested": "בהמתנה לאישור",
-  "account.share": "Share @{name}'s profile",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.share": "לשתף את אודות @{name}",
+  "account.show_reblogs": "להראות הדהודים מאת @{name}",
   "account.unblock": "הסרת חסימה מעל @{name}",
   "account.unblock_domain": "הסר חסימה מקהילת {domain}",
   "account.unfollow": "הפסקת מעקב",
   "account.unmute": "הפסקת השתקת @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
-  "account.view_full_profile": "View full profile",
+  "account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
+  "account.view_full_profile": "הראה אודות מלאות",
   "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
-  "bundle_column_error.body": "Something went wrong while loading this component.",
-  "bundle_column_error.retry": "Try again",
+  "bundle_column_error.body": "משהו השתבש בעת הצגת הרכיב הזה.",
+  "bundle_column_error.retry": "לנסות שוב",
   "bundle_column_error.title": "Network error",
-  "bundle_modal_error.close": "Close",
-  "bundle_modal_error.message": "Something went wrong while loading this component.",
-  "bundle_modal_error.retry": "Try again",
+  "bundle_modal_error.close": "לסגור",
+  "bundle_modal_error.message": "משהו השתבש בעת טעינת הרכיב הזה.",
+  "bundle_modal_error.retry": "לנסות שוב",
   "column.blocks": "חסימות",
   "column.community": "ציר זמן מקומי",
   "column.favourites": "חיבובים",
   "column.follow_requests": "בקשות מעקב",
   "column.home": "בבית",
+  "column.lists": "Lists",
   "column.mutes": "השתקות",
   "column.notifications": "התראות",
   "column.pins": "Pinned toot",
   "column.public": "בפרהסיה",
   "column_back_button.label": "חזרה",
-  "column_header.hide_settings": "Hide settings",
-  "column_header.moveLeft_settings": "Move column to the left",
-  "column_header.moveRight_settings": "Move column to the right",
-  "column_header.pin": "Pin",
-  "column_header.show_settings": "Show settings",
-  "column_header.unpin": "Unpin",
+  "column_header.hide_settings": "הסתרת העדפות",
+  "column_header.moveLeft_settings": "הזחת טור לשמאל",
+  "column_header.moveRight_settings": "הזחת טור לימין",
+  "column_header.pin": "קיבוע",
+  "column_header.show_settings": "הצגת העדפות",
+  "column_header.unpin": "שחרור קיבוע",
   "column_subheading.navigation": "ניווט",
   "column_subheading.settings": "אפשרויות",
   "compose_form.lock_disclaimer": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.",
@@ -62,35 +63,37 @@
   "confirmations.block.message": "לחסום את {name}?",
   "confirmations.delete.confirm": "למחוק",
   "confirmations.delete.message": "למחוק את ההודעה?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "הסתר קהילה שלמה",
   "confirmations.domain_block.message": "באמת באמת לחסום את כל קהילת {domain}? ברב המקרים השתקות נבחרות של מספר משתמשים מסויימים צריכה להספיק.",
   "confirmations.mute.confirm": "להשתיק",
   "confirmations.mute.message": "להשתיק את {name}?",
-  "confirmations.unfollow.confirm": "Unfollow",
-  "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "embed.instructions": "Embed this status on your website by copying the code below.",
-  "embed.preview": "Here is what it will look like:",
+  "confirmations.unfollow.confirm": "להפסיק מעקב",
+  "confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
+  "embed.instructions": "ניתן להטמיע את ההודעה באתרך ע\"י העתקת הקוד שלהלן.",
+  "embed.preview": "דוגמא כיצד זה יראה:",
   "emoji_button.activity": "פעילות",
-  "emoji_button.custom": "Custom",
+  "emoji_button.custom": "מיוחדים",
   "emoji_button.flags": "דגלים",
   "emoji_button.food": "אוכל ושתיה",
   "emoji_button.label": "הוספת אמוג'י",
   "emoji_button.nature": "טבע",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "רגישון לא נמצא!! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "חפצים",
   "emoji_button.people": "אנשים",
-  "emoji_button.recent": "Frequently used",
+  "emoji_button.recent": "בשימוש תדיר",
   "emoji_button.search": "חיפוש...",
-  "emoji_button.search_results": "Search results",
+  "emoji_button.search_results": "תוצאות חיפוש",
   "emoji_button.symbols": "סמלים",
   "emoji_button.travel": "טיולים ואתרים",
   "empty_column.community": "טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!",
   "empty_column.hashtag": "אין כלום בהאשתג הזה עדיין.",
   "empty_column.home": "אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.",
   "empty_column.home.public_timeline": "ציר זמן בין-קהילתי",
-  "empty_column.list": "There is nothing in this list yet.",
-  "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!",
-  "empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.",
+  "empty_column.list": "אין עדיין מאום ברשימה.",
+  "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב.",
+  "empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות",
   "follow_request.authorize": "קבלה",
   "follow_request.reject": "דחיה",
   "getting_started.appsshort": "יישומונים לניידים",
@@ -104,40 +107,49 @@
   "home.column_settings.show_reblogs": "הצגת הדהודים",
   "home.column_settings.show_replies": "הצגת תגובות",
   "home.settings": "הגדרות טור",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.back": "ניווט חזרה",
+  "keyboard_shortcuts.boost": "להדהד",
+  "keyboard_shortcuts.column": "להתמקד בהודעה באחד מהטורים",
+  "keyboard_shortcuts.compose": "להתמקד בתיבת חיבור ההודעות",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "לנוע במורד הרשימה",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "לחבב",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.hotkey": "מקש קיצור",
+  "keyboard_shortcuts.legend": "להציג את הפירוש",
+  "keyboard_shortcuts.mention": "לאזכר את המחבר(ת)",
+  "keyboard_shortcuts.reply": "לענות",
+  "keyboard_shortcuts.search": "להתמקד בחלון החיפוש",
+  "keyboard_shortcuts.toot": "להתחיל חיצרוץ חדש",
+  "keyboard_shortcuts.unfocus": "לצאת מתיבת חיבור/חיפוש",
+  "keyboard_shortcuts.up": "לנוע במעלה הרשימה",
   "lightbox.close": "סגירה",
-  "lightbox.next": "Next",
-  "lightbox.previous": "Previous",
+  "lightbox.next": "הלאה",
+  "lightbox.previous": "הקודם",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "טוען...",
   "media_gallery.toggle_visible": "נראה\\בלתי נראה",
   "missing_indicator.label": "לא נמצא",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "להסתיר הודעות מחשבון זה?",
   "navigation_bar.blocks": "חסימות",
   "navigation_bar.community_timeline": "ציר זמן מקומי",
   "navigation_bar.edit_profile": "עריכת פרופיל",
   "navigation_bar.favourites": "חיבובים",
   "navigation_bar.follow_requests": "בקשות מעקב",
   "navigation_bar.info": "מידע נוסף",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "קיצורי מקלדת",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "יציאה",
   "navigation_bar.mutes": "השתקות",
-  "navigation_bar.pins": "Pinned toots",
+  "navigation_bar.pins": "חיצרוצים מקובעים",
   "navigation_bar.preferences": "העדפות",
   "navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
   "notification.favourite": "חצרוצך חובב על ידי {name}",
@@ -150,8 +162,8 @@
   "notifications.column_settings.favourite": "מחובבים:",
   "notifications.column_settings.follow": "עוקבים חדשים:",
   "notifications.column_settings.mention": "פניות:",
-  "notifications.column_settings.push": "Push notifications",
-  "notifications.column_settings.push_meta": "This device",
+  "notifications.column_settings.push": "הודעות בדחיפה",
+  "notifications.column_settings.push_meta": "מכשיר זה",
   "notifications.column_settings.reblog": "הדהודים:",
   "notifications.column_settings.show": "הצגה בטור",
   "notifications.column_settings.sound": "שמע מופעל",
@@ -160,7 +172,7 @@
   "onboarding.page_five.public_timelines": "ציר הזמן המקומי מראה הודעות פומביות מכל באי קהילת {domain}. ציר הזמן העולמי מראה הודעות פומביות מאת כי מי שבאי קהילת {domain} עוקבים אחריו. אלו צירי הזמן הפומביים, דרך נהדרת לגלות אנשים חדשים.",
   "onboarding.page_four.home": "ציר זמן הבית מראה הודעות מהנעקבים שלך.",
   "onboarding.page_four.notifications": "טור ההתראות מראה כשמישהו מתייחס להודעות שלך.",
-  "onboarding.page_one.federation": "מסטודון היא רשת של שרתים עצמאיים מצורפים ביחד לכדי רשת חברתית אחת גדולה. אנחנו מכנים את השרתים האלו: קהילות",
+  "onboarding.page_one.federation": "מסטודון היא רשת של שרתים עצמאיים מצורפים ביחד לכדי רשת חברתית אחת גדולה. אנחנו מכנים את השרתים האלו קהילות.",
   "onboarding.page_one.handle": "אתם בקהילה {domain}, ולכן מזהה המשתמש המלא שלכם הוא {handle}",
   "onboarding.page_one.welcome": "ברוכים הבאים למסטודון!",
   "onboarding.page_six.admin": "הקהילה מנוהלת בידי {admin}.",
@@ -186,7 +198,7 @@
   "privacy.unlisted.short": "לא לפיד הכללי",
   "relative_time.days": "{number}d",
   "relative_time.hours": "{number}h",
-  "relative_time.just_now": "now",
+  "relative_time.just_now": "כרגע",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "reply_indicator.cancel": "ביטול",
@@ -194,24 +206,24 @@
   "report.submit": "שליחה",
   "report.target": "דיווח",
   "search.placeholder": "חיפוש",
-  "search_popout.search_format": "Advanced search format",
-  "search_popout.tips.hashtag": "hashtag",
+  "search_popout.search_format": "מבנה חיפוש מתקדם",
+  "search_popout.tips.hashtag": "האשתג",
   "search_popout.tips.status": "status",
-  "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
-  "search_popout.tips.user": "user",
+  "search_popout.tips.text": "טקסט פשוט מחזיר כינויים, שמות משתמש והאשתגים",
+  "search_popout.tips.user": "משתמש(ת)",
   "search_results.total": "{count, number} {count, plural, one {תוצאה} other {תוצאות}}",
-  "standalone.public_title": "A look inside...",
+  "standalone.public_title": "הצצה פנימה...",
   "status.cannot_reblog": "לא ניתן להדהד הודעה זו",
   "status.delete": "מחיקה",
-  "status.embed": "Embed",
+  "status.embed": "הטמעה",
   "status.favourite": "חיבוב",
   "status.load_more": "עוד",
   "status.media_hidden": "מדיה מוסתרת",
   "status.mention": "פניה אל @{name}",
-  "status.more": "More",
+  "status.more": "עוד",
   "status.mute_conversation": "השתקת שיחה",
   "status.open": "הרחבת הודעה",
-  "status.pin": "Pin on profile",
+  "status.pin": "לקבע באודות",
   "status.reblog": "הדהוד",
   "status.reblogged_by": "הודהד על ידי {name}",
   "status.reply": "תגובה",
@@ -219,29 +231,33 @@
   "status.report": "דיווח על @{name}",
   "status.sensitive_toggle": "לחצו כדי לראות",
   "status.sensitive_warning": "תוכן רגיש",
-  "status.share": "Share",
+  "status.share": "שיתוף",
   "status.show_less": "הראה פחות",
   "status.show_more": "הראה יותר",
   "status.unmute_conversation": "הסרת השתקת שיחה",
-  "status.unpin": "Unpin from profile",
+  "status.unpin": "לשחרר מקיבוע באודות",
   "tabs_bar.compose": "חיבור",
   "tabs_bar.federated_timeline": "ציר זמן בין-קהילתי",
   "tabs_bar.home": "בבית",
   "tabs_bar.local_timeline": "ציר זמן מקומי",
   "tabs_bar.notifications": "התראות",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.",
   "upload_area.title": "ניתן להעלות על ידי Drag & drop",
   "upload_button.label": "הוספת מדיה",
-  "upload_form.description": "Describe for the visually impaired",
+  "upload_form.description": "תיאור לכבדי ראיה",
   "upload_form.undo": "ביטול",
   "upload_progress.label": "עולה...",
-  "video.close": "Close video",
-  "video.exit_fullscreen": "Exit full screen",
-  "video.expand": "Expand video",
+  "video.close": "סגירת וידאו",
+  "video.exit_fullscreen": "יציאה ממסך מלא",
+  "video.expand": "להרחיב וידאו",
   "video.fullscreen": "Full screen",
-  "video.hide": "Hide video",
-  "video.mute": "Mute sound",
+  "video.hide": "להסתיר וידאו",
+  "video.mute": "השתקת צליל",
   "video.pause": "Pause",
-  "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.play": "ניגון",
+  "video.unmute": "החזרת צליל",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 497917b9c..eda9d7667 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favoriti",
   "column.follow_requests": "Zahtjevi za slijeđenje",
   "column.home": "Dom",
+  "column.lists": "Lists",
   "column.mutes": "Utišani korisnici",
   "column.notifications": "Notifikacije",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Želiš li sigurno blokirati {name}?",
   "confirmations.delete.confirm": "Obriši",
   "confirmations.delete.message": "Želiš li stvarno obrisati ovaj status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Sakrij cijelu domenu",
   "confirmations.domain_block.message": "Jesi li zaista, zaista siguran da želiš potpuno blokirati {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Utišaj",
@@ -124,6 +127,14 @@
   "lightbox.close": "Zatvori",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Učitavam...",
   "media_gallery.toggle_visible": "Preklopi vidljivost",
   "missing_indicator.label": "Nije nađen",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Zahtjevi za slijeđenje",
   "navigation_bar.info": "Više informacija",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Odjavi se",
   "navigation_bar.mutes": "Utišani korisnici",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 6df09aea9..be869b628 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favourites",
   "column.follow_requests": "Follow requests",
   "column.home": "Kezdőlap",
+  "column.lists": "Lists",
   "column.mutes": "Muted users",
   "column.notifications": "Értesítések",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Bezárás",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Betöltés...",
   "media_gallery.toggle_visible": "Toggle visibility",
   "missing_indicator.label": "Not found",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.info": "Extended information",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Kijelentkezés",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 66aff71f0..826cc0d9b 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favorit",
   "column.follow_requests": "Permintaan mengikuti",
   "column.home": "Beranda",
+  "column.lists": "Lists",
   "column.mutes": "Pengguna dibisukan",
   "column.notifications": "Notifikasi",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Apa anda yakin ingin memblokir {name}?",
   "confirmations.delete.confirm": "Hapus",
   "confirmations.delete.message": "Apa anda yakin akan menghapus status ini?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Bisukan",
@@ -124,6 +127,14 @@
   "lightbox.close": "Tutup",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Tunggu sebentar...",
   "media_gallery.toggle_visible": "Tampil/Sembunyikan",
   "missing_indicator.label": "Tidak ditemukan",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Permintaan mengikuti",
   "navigation_bar.info": "Informasi selengkapnya",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Keluar",
   "navigation_bar.mutes": "Pengguna dibisukan",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 673f895fe..5f7fb87a9 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favorati",
   "column.follow_requests": "Demandi di sequado",
   "column.home": "Hemo",
+  "column.lists": "Lists",
   "column.mutes": "Celita uzeri",
   "column.notifications": "Savigi",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Klozar",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Kargante...",
   "media_gallery.toggle_visible": "Chanjar videbleso",
   "missing_indicator.label": "Ne trovita",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Demandi di sequado",
   "navigation_bar.info": "Detaloza informi",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Ekirar",
   "navigation_bar.mutes": "Celita uzeri",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 3d2d47471..8854d02fd 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -36,6 +36,7 @@
   "column.favourites": "Apprezzati",
   "column.follow_requests": "Richieste di amicizia",
   "column.home": "Home",
+  "column.lists": "Lists",
   "column.mutes": "Utenti silenziati",
   "column.notifications": "Notifiche",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Chiudi",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Carico...",
   "media_gallery.toggle_visible": "Imposta visibilità",
   "missing_indicator.label": "Non trovato",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Richieste di amicizia",
   "navigation_bar.info": "Informazioni estese",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Logout",
   "navigation_bar.mutes": "Utenti silenziati",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index e015c41c2..f9402ab00 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -255,5 +255,9 @@
   "video.mute": "ミュート",
   "video.pause": "一時停止",
   "video.play": "再生",
-  "video.unmute": "ミュートを解除する"
+  "video.unmute": "ミュートを解除する",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 03028fc31..dbd151bff 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -36,6 +36,7 @@
   "column.favourites": "즐겨찾기",
   "column.follow_requests": "팔로우 요청",
   "column.home": "홈",
+  "column.lists": "Lists",
   "column.mutes": "뮤트 중인 사용자",
   "column.notifications": "알림",
   "column.pins": "고정된 툿",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "정말로 {name}를 차단하시겠습니까?",
   "confirmations.delete.confirm": "삭제",
   "confirmations.delete.message": "정말로 삭제하시겠습니까?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "도메인 전체를 숨김",
   "confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다.",
   "confirmations.mute.confirm": "뮤트",
@@ -124,6 +127,14 @@
   "lightbox.close": "닫기",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "불러오는 중...",
   "media_gallery.toggle_visible": "표시 전환",
   "missing_indicator.label": "찾을 수 없습니다",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "팔로우 요청",
   "navigation_bar.info": "이 인스턴스에 대해서",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "로그아웃",
   "navigation_bar.mutes": "뮤트 중인 사용자",
   "navigation_bar.pins": "고정된 툿",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 218709899..7ba187379 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -7,22 +7,22 @@
   "account.followers": "Volgers",
   "account.follows": "Volgt",
   "account.follows_you": "Volgt jou",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Verberg boosts van @{name}",
   "account.media": "Media",
   "account.mention": "Vermeld @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} is verhuisd naar:",
   "account.mute": "Negeer @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Negeer meldingen van @{name}",
   "account.posts": "Toots",
   "account.report": "Rapporteer @{name}",
-  "account.requested": "Wacht op goedkeuring. Klik om volgverzoek te annuleren.",
+  "account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren",
   "account.share": "Profiel van @{name} delen",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Toon boosts van @{name}",
   "account.unblock": "Deblokkeer @{name}",
   "account.unblock_domain": "{domain} niet meer negeren",
   "account.unfollow": "Ontvolgen",
   "account.unmute": "@{name} niet meer negeren",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "@{name} meldingen niet meer negeren",
   "account.view_full_profile": "Volledig profiel tonen",
   "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
   "bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
@@ -36,6 +36,7 @@
   "column.favourites": "Favorieten",
   "column.follow_requests": "Volgverzoeken",
   "column.home": "Start",
+  "column.lists": "Lists",
   "column.mutes": "Genegeerde gebruikers",
   "column.notifications": "Meldingen",
   "column.pins": "Vastgezette toots",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Weet je het zeker dat je {name} wilt blokkeren?",
   "confirmations.delete.confirm": "Verwijderen",
   "confirmations.delete.message": "Weet je het zeker dat je deze toot wilt verwijderen?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Negeer alles van deze server",
   "confirmations.domain_block.message": "Weet je het echt, echt zeker dat je alles van {domain} wil negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en gewenst.",
   "confirmations.mute.confirm": "Negeren",
@@ -88,9 +91,9 @@
   "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.",
   "empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.",
   "empty_column.home.public_timeline": "de globale tijdlijn",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Er is nog niks in deze lijst.",
   "empty_column.notifications": "Je hebt nog geen meldingen. Heb interactie met andere mensen om het gesprek aan te gaan.",
-  "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere Mastodon-servers om het te vullen.",
+  "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen",
   "follow_request.authorize": "Goedkeuren",
   "follow_request.reject": "Afkeuren",
   "getting_started.appsshort": "Apps",
@@ -99,42 +102,51 @@
   "getting_started.open_source_notice": "Mastodon is open-sourcesoftware. Je kunt bijdragen of problemen melden op GitHub via {github}.",
   "getting_started.userguide": "Gebruikersgids",
   "home.column_settings.advanced": "Geavanceerd",
-  "home.column_settings.basic": "Basic",
+  "home.column_settings.basic": "Basis",
   "home.column_settings.filter_regex": "Wegfilteren met reguliere expressies",
   "home.column_settings.show_reblogs": "Boosts tonen",
   "home.column_settings.show_replies": "Reacties tonen",
   "home.settings": "Kolom-instellingen",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
+  "keyboard_shortcuts.back": "om terug te navigeren",
+  "keyboard_shortcuts.boost": "om te boosten",
+  "keyboard_shortcuts.column": "om te focussen op een status in één van de kolommen",
+  "keyboard_shortcuts.compose": "om te focussen op het toot tekstvak",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "om naar beneden door de lijst te bewegen",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "om het te markeren als favoriet",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.hotkey": "Sneltoets",
+  "keyboard_shortcuts.legend": "om deze legenda weer te geven",
+  "keyboard_shortcuts.mention": "om de auteur te vermelden",
+  "keyboard_shortcuts.reply": "om te antwoorden",
+  "keyboard_shortcuts.search": "om te focussen op zoeken",
+  "keyboard_shortcuts.toot": "om een nieuwe toot te starten",
+  "keyboard_shortcuts.unfocus": "om te ontfocussen van het toot tekstvak/zoeken",
+  "keyboard_shortcuts.up": "om omhoog te bewegen in de lijst",
   "lightbox.close": "Sluiten",
   "lightbox.next": "Volgende",
   "lightbox.previous": "Vorige",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Laden…",
   "media_gallery.toggle_visible": "Media wel/niet tonen",
   "missing_indicator.label": "Niet gevonden",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "Verberg meldingen van deze persoon?",
   "navigation_bar.blocks": "Geblokkeerde gebruikers",
   "navigation_bar.community_timeline": "Lokale tijdlijn",
   "navigation_bar.edit_profile": "Profiel bewerken",
   "navigation_bar.favourites": "Favorieten",
   "navigation_bar.follow_requests": "Volgverzoeken",
   "navigation_bar.info": "Uitgebreide informatie",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "Toetsenbord sneltoetsen",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Afmelden",
   "navigation_bar.mutes": "Genegeerde gebruikers",
   "navigation_bar.pins": "Vastgezette toots",
@@ -186,7 +198,7 @@
   "privacy.unlisted.short": "Minder openbaar",
   "relative_time.days": "{number}d",
   "relative_time.hours": "{number}h",
-  "relative_time.just_now": "now",
+  "relative_time.just_now": "nu",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "reply_indicator.cancel": "Annuleren",
@@ -197,7 +209,7 @@
   "search_popout.search_format": "Geavanceerd zoeken",
   "search_popout.tips.hashtag": "hashtag",
   "search_popout.tips.status": "toot",
-  "search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags.",
+  "search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags",
   "search_popout.tips.user": "gebruiker",
   "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}",
   "standalone.public_title": "Een kijkje binnenin...",
@@ -229,7 +241,7 @@
   "tabs_bar.home": "Start",
   "tabs_bar.local_timeline": "Lokaal",
   "tabs_bar.notifications": "Meldingen",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
   "upload_area.title": "Hierin slepen om te uploaden",
   "upload_button.label": "Media toevoegen",
   "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
@@ -243,5 +255,9 @@
   "video.mute": "Geluid uitschakelen",
   "video.pause": "Pauze",
   "video.play": "Afspelen",
-  "video.unmute": "Geluid inschakelen"
+  "video.unmute": "Geluid inschakelen",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 234589d34..42a75af7e 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -1,7 +1,7 @@
 {
   "account.block": "Blokkér @{name}",
   "account.block_domain": "Skjul alt fra {domain}",
-  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.disclaimer_full": "Informasjonen nedenfor kan gi et ufullstendig bilde av brukerens profil.",
   "account.edit_profile": "Rediger profil",
   "account.follow": "Følg",
   "account.followers": "Følgere",
@@ -10,43 +10,44 @@
   "account.hide_reblogs": "Hide boosts from @{name}",
   "account.media": "Media",
   "account.mention": "Nevn @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} har flyttet til:",
   "account.mute": "Demp @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Ignorer varsler fra @{name}",
   "account.posts": "Innlegg",
   "account.report": "Rapportér @{name}",
   "account.requested": "Venter på godkjennelse",
-  "account.share": "Share @{name}'s profile",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.share": "Del @{name}s profil",
+  "account.show_reblogs": "Vis boosts fra @{name}",
   "account.unblock": "Avblokker @{name}",
   "account.unblock_domain": "Vis {domain}",
   "account.unfollow": "Avfølg",
   "account.unmute": "Avdemp @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
-  "account.view_full_profile": "View full profile",
+  "account.unmute_notifications": "Vis varsler fra @{name}",
+  "account.view_full_profile": "Vis full profil",
   "boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
-  "bundle_column_error.body": "Something went wrong while loading this component.",
-  "bundle_column_error.retry": "Try again",
+  "bundle_column_error.body": "Noe gikk galt mens denne komponenten lastet.",
+  "bundle_column_error.retry": "Prøv igjen",
   "bundle_column_error.title": "Network error",
-  "bundle_modal_error.close": "Close",
-  "bundle_modal_error.message": "Something went wrong while loading this component.",
-  "bundle_modal_error.retry": "Try again",
+  "bundle_modal_error.close": "Lukk",
+  "bundle_modal_error.message": "Noe gikk galt da denne komponenten lastet.",
+  "bundle_modal_error.retry": "Prøv igjen",
   "column.blocks": "Blokkerte brukere",
   "column.community": "Lokal tidslinje",
   "column.favourites": "Likt",
   "column.follow_requests": "Følgeforespørsler",
   "column.home": "Hjem",
+  "column.lists": "Lists",
   "column.mutes": "Dempede brukere",
   "column.notifications": "Varsler",
   "column.pins": "Pinned toot",
   "column.public": "Felles tidslinje",
   "column_back_button.label": "Tilbake",
-  "column_header.hide_settings": "Hide settings",
-  "column_header.moveLeft_settings": "Move column to the left",
-  "column_header.moveRight_settings": "Move column to the right",
-  "column_header.pin": "Pin",
-  "column_header.show_settings": "Show settings",
-  "column_header.unpin": "Unpin",
+  "column_header.hide_settings": "Gjem  innstillinger",
+  "column_header.moveLeft_settings": "Flytt feltet til venstre",
+  "column_header.moveRight_settings": "Flytt feltet til høyre",
+  "column_header.pin": "Fest",
+  "column_header.show_settings": "Vis innstillinger",
+  "column_header.unpin": "Løsne",
   "column_subheading.navigation": "Navigasjon",
   "column_subheading.settings": "Innstillinger",
   "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Hvem som helst kan følge deg og se dine private poster.",
@@ -62,33 +63,35 @@
   "confirmations.block.message": "Er du sikker på at du vil blokkere {name}?",
   "confirmations.delete.confirm": "Slett",
   "confirmations.delete.message": "Er du sikker på at du vil slette denne statusen?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Skjul alt fra domenet",
   "confirmations.domain_block.message": "Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.",
   "confirmations.mute.confirm": "Demp",
   "confirmations.mute.message": "Er du sikker på at du vil dempe {name}?",
-  "confirmations.unfollow.confirm": "Unfollow",
-  "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "embed.instructions": "Embed this status on your website by copying the code below.",
-  "embed.preview": "Here is what it will look like:",
+  "confirmations.unfollow.confirm": "Slutt å følge",
+  "confirmations.unfollow.message": "Er du sikker på at du vil slutte å følge {name}?",
+  "embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.",
+  "embed.preview": "Slik kommer det til å se ut:",
   "emoji_button.activity": "Aktivitet",
   "emoji_button.custom": "Custom",
   "emoji_button.flags": "Flagg",
   "emoji_button.food": "Mat og drikke",
   "emoji_button.label": "Sett inn emoji",
   "emoji_button.nature": "Natur",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "Ingen emojojoer!! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "Objekter",
   "emoji_button.people": "Mennesker",
-  "emoji_button.recent": "Frequently used",
+  "emoji_button.recent": "Hyppig brukt",
   "emoji_button.search": "Søk...",
-  "emoji_button.search_results": "Search results",
+  "emoji_button.search_results": "Søkeresultat",
   "emoji_button.symbols": "Symboler",
   "emoji_button.travel": "Reise & steder",
   "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!",
   "empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.",
   "empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.",
   "empty_column.home.public_timeline": "en offentlig tidslinje",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Det er ikke noe i denne listen ennå.",
   "empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.",
   "empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp",
   "follow_request.authorize": "Autorisér",
@@ -104,19 +107,19 @@
   "home.column_settings.show_reblogs": "Vis fremhevinger",
   "home.column_settings.show_replies": "Vis svar",
   "home.settings": "Kolonneinnstillinger",
-  "keyboard_shortcuts.back": "to navigate back",
+  "keyboard_shortcuts.back": "for å navigere tilbake",
   "keyboard_shortcuts.boost": "to boost",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
+  "keyboard_shortcuts.down": "for å flytte ned i listen",
   "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
+  "keyboard_shortcuts.favourite": "for å favorittmarkere",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.hotkey": "Hotkey",
+  "keyboard_shortcuts.hotkey": "Lyntast",
   "keyboard_shortcuts.legend": "to display this legend",
   "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
+  "keyboard_shortcuts.reply": "for å svare",
   "keyboard_shortcuts.search": "to focus search",
   "keyboard_shortcuts.toot": "to start a brand new toot",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
@@ -124,6 +127,14 @@
   "lightbox.close": "Lukk",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Laster...",
   "media_gallery.toggle_visible": "Veksle synlighet",
   "missing_indicator.label": "Ikke funnet",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Følgeforespørsler",
   "navigation_bar.info": "Utvidet informasjon",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Logg ut",
   "navigation_bar.mutes": "Dempede brukere",
   "navigation_bar.pins": "Pinned toots",
@@ -237,11 +249,15 @@
   "upload_progress.label": "Laster opp...",
   "video.close": "Close video",
   "video.exit_fullscreen": "Exit full screen",
-  "video.expand": "Expand video",
+  "video.expand": "Utvid video",
   "video.fullscreen": "Full screen",
-  "video.hide": "Hide video",
-  "video.mute": "Mute sound",
+  "video.hide": "Skjul video",
+  "video.mute": "Skru av lyd",
   "video.pause": "Pause",
-  "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.play": "Spill av",
+  "video.unmute": "Skru på lyd",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index c67eb81af..f62a52c6a 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favorits",
   "column.follow_requests": "Demandas d’abonament",
   "column.home": "Acuèlh",
+  "column.lists": "Lists",
   "column.mutes": "Personas rescondudas",
   "column.notifications": "Notificacions",
   "column.pins": "Tuts penjats",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Sètz segur de voler blocar {name} ?",
   "confirmations.delete.confirm": "Escafar",
   "confirmations.delete.message": "Sètz segur de voler escafar l’estatut ?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Amagar tot lo domeni",
   "confirmations.domain_block.message": "Sètz segur segur de voler blocar completament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.",
   "confirmations.mute.confirm": "Rescondre",
@@ -124,6 +127,14 @@
   "lightbox.close": "Tampar",
   "lightbox.next": "Seguent",
   "lightbox.previous": "Precedent",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Cargament…",
   "media_gallery.toggle_visible": "Modificar la visibilitat",
   "missing_indicator.label": "Pas trobat",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Demandas d'abonament",
   "navigation_bar.info": "Mai informacions",
   "navigation_bar.keyboard_shortcuts": "Acorchis clavièr",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Desconnexion",
   "navigation_bar.mutes": "Personas rescondudas",
   "navigation_bar.pins": "Tuts penjats",
@@ -243,5 +255,9 @@
   "video.mute": "Copar lo son",
   "video.pause": "Pausa",
   "video.play": "Lectura",
-  "video.unmute": "Restablir lo son"
+  "video.unmute": "Restablir lo son",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 0667aeeee..cd78ea5c0 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -61,10 +61,10 @@
   "confirmation_modal.cancel": "Anuluj",
   "confirmations.block.confirm": "Zablokuj",
   "confirmations.block.message": "Czy na pewno chcesz zablokować {name}?",
-  "confirmations.delete_list.confirm": "Usuń",
-  "confirmations.delete_list.message": "Czy na pewno chcesz bezpowrotnie usunąć tą listę?",
   "confirmations.delete.confirm": "Usuń",
   "confirmations.delete.message": "Czy na pewno chcesz usunąć ten wpis?",
+  "confirmations.delete_list.confirm": "Usuń",
+  "confirmations.delete_list.message": "Czy na pewno chcesz bezpowrotnie usunąć tą listę?",
   "confirmations.domain_block.confirm": "Ukryj wszysyko z domeny",
   "confirmations.domain_block.message": "Czy na pewno chcesz zablokować całą domenę {domain}? Zwykle lepszym rozwiązaniem jest blokada lub wyciszenie kilku użytkowników.",
   "confirmations.mute.confirm": "Wycisz",
@@ -128,7 +128,7 @@
   "lightbox.next": "Następne",
   "lightbox.previous": "Poprzednie",
   "lists.account.add": "Dodaj do listy",
-  "lists.account.delete": "Usuń z listy",
+  "lists.account.remove": "Remove from list",
   "lists.delete": "Usuń listę",
   "lists.edit": "Edytuj listę",
   "lists.new.create": "Utwórz listę",
@@ -255,5 +255,9 @@
   "video.mute": "Wycisz",
   "video.pause": "Pauzuj",
   "video.play": "Odtwórz",
-  "video.unmute": "Cofnij wyciszenie"
+  "video.unmute": "Cofnij wyciszenie",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index ba0d2093e..dbdea9943 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -7,22 +7,22 @@
   "account.followers": "Seguidores",
   "account.follows": "Segue",
   "account.follows_you": "Segue você",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Esconder compartilhamentos de @{name}",
   "account.media": "Mídia",
   "account.mention": "Mencionar @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} se mudou para:",
   "account.mute": "Silenciar @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Silenciar notificações de @{name}",
   "account.posts": "Posts",
   "account.report": "Denunciar @{name}",
-  "account.requested": "Aguardando aprovação. Clique para cancelar a solicitação.",
+  "account.requested": "Aguardando aprovação. Clique para cancelar a solicitação",
   "account.share": "Compartilhar perfil de @{name}",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.show_reblogs": "Mostra compartilhamentos de @{name}",
   "account.unblock": "Desbloquear @{name}",
   "account.unblock_domain": "Desbloquear {domain}",
   "account.unfollow": "Deixar de seguir",
   "account.unmute": "Não silenciar @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
+  "account.unmute_notifications": "Retirar silêncio das notificações vindas de @{name}",
   "account.view_full_profile": "Ver perfil completo",
   "boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez",
   "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
@@ -36,6 +36,7 @@
   "column.favourites": "Favoritos",
   "column.follow_requests": "Seguidores pendentes",
   "column.home": "Página inicial",
+  "column.lists": "Lists",
   "column.mutes": "Usuários silenciados",
   "column.notifications": "Notificações",
   "column.pins": "Postagens fixadas",
@@ -62,13 +63,15 @@
   "confirmations.block.message": "Você tem certeza de que quer bloquear {name}?",
   "confirmations.delete.confirm": "Excluir",
   "confirmations.delete.message": "Você tem certeza de que quer excluir esta postagem?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Esconder o domínio inteiro",
   "confirmations.domain_block.message": "Você quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuários é o suficiente e o recomendado.",
   "confirmations.mute.confirm": "Silenciar",
   "confirmations.mute.message": "Você tem certeza de que quer silenciar {name}?",
   "confirmations.unfollow.confirm": "Deixar de seguir",
   "confirmations.unfollow.message": "Você tem certeza de que quer deixar de seguir {name}?",
-  "embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo:",
+  "embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo.",
   "embed.preview": "Aqui está uma previsão de como ficará:",
   "emoji_button.activity": "Atividades",
   "emoji_button.custom": "Customizados",
@@ -85,12 +88,12 @@
   "emoji_button.symbols": "Símbolos",
   "emoji_button.travel": "Viagens & Lugares",
   "empty_column.community": "A timeline local está vazia. Escreva algo publicamente para começar!",
-  "empty_column.hashtag": "Ainda não há qualquer conteúdo com essa hashtag",
+  "empty_column.hashtag": "Ainda não há qualquer conteúdo com essa hashtag.",
   "empty_column.home": "Você ainda não segue usuário algo. Visite a timeline {public} ou use o buscador para procurar e conhecer outros usuários.",
   "empty_column.home.public_timeline": "global",
-  "empty_column.list": "There is nothing in this list yet.",
-  "empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar!",
-  "empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias.",
+  "empty_column.list": "Ainda não há nada nesta lista.",
+  "empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar.",
+  "empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias",
   "follow_request.authorize": "Autorizar",
   "follow_request.reject": "Rejeitar",
   "getting_started.appsshort": "Apps",
@@ -104,8 +107,8 @@
   "home.column_settings.show_reblogs": "Mostrar compartilhamentos",
   "home.column_settings.show_replies": "Mostrar as respostas",
   "home.settings": "Configurações de colunas",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
+  "keyboard_shortcuts.back": "para navegar de volta",
+  "keyboard_shortcuts.boost": "para compartilhar",
   "keyboard_shortcuts.column": "to focus a status in one of the columns",
   "keyboard_shortcuts.compose": "to focus the compose textarea",
   "keyboard_shortcuts.description": "Description",
@@ -124,6 +127,14 @@
   "lightbox.close": "Fechar",
   "lightbox.next": "Próximo",
   "lightbox.previous": "Anterior",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Carregando...",
   "media_gallery.toggle_visible": "Esconder/Mostrar",
   "missing_indicator.label": "Não encontrado",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Seguidores pendentes",
   "navigation_bar.info": "Mais informações",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Sair",
   "navigation_bar.mutes": "Usuários silenciados",
   "navigation_bar.pins": "Postagens fixadas",
@@ -243,5 +255,9 @@
   "video.mute": "Silenciar",
   "video.pause": "Parar",
   "video.play": "Reproduzir",
-  "video.unmute": "Retirar silêncio"
+  "video.unmute": "Retirar silêncio",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json
index f349bd191..481e0a7a2 100644
--- a/app/javascript/mastodon/locales/pt.json
+++ b/app/javascript/mastodon/locales/pt.json
@@ -1,143 +1,155 @@
 {
   "account.block": "Bloquear @{name}",
-  "account.block_domain": "Hide everything from {domain}",
+  "account.block_domain": "Esconder tudo do domínio {domain}",
   "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
   "account.edit_profile": "Editar perfil",
   "account.follow": "Seguir",
   "account.followers": "Seguidores",
   "account.follows": "Segue",
   "account.follows_you": "É teu seguidor",
-  "account.hide_reblogs": "Hide boosts from @{name}",
+  "account.hide_reblogs": "Esconder partilhas de @{name}",
   "account.media": "Media",
   "account.mention": "Mencionar @{name}",
-  "account.moved_to": "{name} has moved to:",
+  "account.moved_to": "{name} mudou a sua conta para:",
   "account.mute": "Silenciar @{name}",
-  "account.mute_notifications": "Mute notifications from @{name}",
+  "account.mute_notifications": "Silenciar notificações de @{name}",
   "account.posts": "Posts",
   "account.report": "Denunciar @{name}",
   "account.requested": "A aguardar aprovação",
-  "account.share": "Share @{name}'s profile",
-  "account.show_reblogs": "Show boosts from @{name}",
+  "account.share": "Partilhar o perfil @{name}",
+  "account.show_reblogs": "Mostrar partilhas de @{name}",
   "account.unblock": "Não bloquear @{name}",
   "account.unblock_domain": "Unhide {domain}",
   "account.unfollow": "Deixar de seguir",
   "account.unmute": "Não silenciar @{name}",
-  "account.unmute_notifications": "Unmute notifications from @{name}",
-  "account.view_full_profile": "View full profile",
+  "account.unmute_notifications": "Deixar de silenciar @{name}",
+  "account.view_full_profile": "Ver perfil completo",
   "boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
-  "bundle_column_error.body": "Something went wrong while loading this component.",
-  "bundle_column_error.retry": "Try again",
-  "bundle_column_error.title": "Network error",
-  "bundle_modal_error.close": "Close",
-  "bundle_modal_error.message": "Something went wrong while loading this component.",
-  "bundle_modal_error.retry": "Try again",
+  "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
+  "bundle_column_error.retry": "Tente de novo",
+  "bundle_column_error.title": "Erro de rede",
+  "bundle_modal_error.close": "Fechar",
+  "bundle_modal_error.message": "Algo de errado aconteceu enquanto este componente era carregado.",
+  "bundle_modal_error.retry": "Tente de novo",
   "column.blocks": "Utilizadores Bloqueados",
   "column.community": "Local",
   "column.favourites": "Favoritos",
   "column.follow_requests": "Seguidores Pendentes",
   "column.home": "Home",
+  "column.lists": "Lists",
   "column.mutes": "Utilizadores silenciados",
   "column.notifications": "Notificações",
   "column.pins": "Pinned toot",
   "column.public": "Global",
   "column_back_button.label": "Voltar",
-  "column_header.hide_settings": "Hide settings",
-  "column_header.moveLeft_settings": "Move column to the left",
-  "column_header.moveRight_settings": "Move column to the right",
-  "column_header.pin": "Pin",
-  "column_header.show_settings": "Show settings",
-  "column_header.unpin": "Unpin",
-  "column_subheading.navigation": "Navigation",
-  "column_subheading.settings": "Settings",
-  "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
-  "compose_form.lock_disclaimer.lock": "locked",
+  "column_header.hide_settings": "Esconder preferências",
+  "column_header.moveLeft_settings": "Mover coluna para a esquerda",
+  "column_header.moveRight_settings": "Mover coluna para a direita",
+  "column_header.pin": "Fixar",
+  "column_header.show_settings": "Mostrar preferências",
+  "column_header.unpin": "Remover fixar",
+  "column_subheading.navigation": "Navegação",
+  "column_subheading.settings": "Preferências",
+  "compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te e ver as publicações direcionadas apenas a seguidores.",
+  "compose_form.lock_disclaimer.lock": "bloqueada",
   "compose_form.placeholder": "Em que estás a pensar?",
   "compose_form.publish": "Publicar",
   "compose_form.publish_loud": "{publish}!",
   "compose_form.sensitive": "Marcar media como conteúdo sensível",
   "compose_form.spoiler": "Esconder texto com aviso",
   "compose_form.spoiler_placeholder": "Aviso de conteúdo",
-  "confirmation_modal.cancel": "Cancel",
+  "confirmation_modal.cancel": "Cancelar",
   "confirmations.block.confirm": "Block",
-  "confirmations.block.message": "Are you sure you want to block {name}?",
-  "confirmations.delete.confirm": "Delete",
-  "confirmations.delete.message": "Are you sure you want to delete this status?",
-  "confirmations.domain_block.confirm": "Hide entire domain",
-  "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
-  "confirmations.mute.confirm": "Mute",
-  "confirmations.mute.message": "Are you sure you want to mute {name}?",
-  "confirmations.unfollow.confirm": "Unfollow",
-  "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "embed.instructions": "Embed this status on your website by copying the code below.",
-  "embed.preview": "Here is what it will look like:",
-  "emoji_button.activity": "Activity",
-  "emoji_button.custom": "Custom",
-  "emoji_button.flags": "Flags",
-  "emoji_button.food": "Food & Drink",
+  "confirmations.block.message": "De certeza que queres bloquear {name}?",
+  "confirmations.delete.confirm": "Eliminar",
+  "confirmations.delete.message": "De certeza que queres eliminar esta publicação?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
+  "confirmations.domain_block.confirm": "Esconder tudo deste domínio",
+  "confirmations.domain_block.message": "De certeza que queres bloquear por completo o domínio {domain}? Na maioria dos casos, silenciar ou bloquear alguns utilizadores é o suficiente e o recomendado.",
+  "confirmations.mute.confirm": "Silenciar",
+  "confirmations.mute.message": "De certeza que queres silenciar {name}?",
+  "confirmations.unfollow.confirm": "Deixar de seguir",
+  "confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
+  "embed.instructions": "Publicar este post num outro site copiando o código abaixo.",
+  "embed.preview": "Podes ver aqui como irá ficar:",
+  "emoji_button.activity": "Actividade",
+  "emoji_button.custom": "Especiais",
+  "emoji_button.flags": "Bandeiras",
+  "emoji_button.food": "Comida & Bebida",
   "emoji_button.label": "Inserir Emoji",
-  "emoji_button.nature": "Nature",
-  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
-  "emoji_button.objects": "Objects",
-  "emoji_button.people": "People",
-  "emoji_button.recent": "Frequently used",
-  "emoji_button.search": "Search...",
-  "emoji_button.search_results": "Search results",
-  "emoji_button.symbols": "Symbols",
-  "emoji_button.travel": "Travel & Places",
-  "empty_column.community": "Ainda não existem conteúdo local para mostrar!",
-  "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag",
+  "emoji_button.nature": "Natureza",
+  "emoji_button.not_found": "Não tem emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.objects": "Objectos",
+  "emoji_button.people": "Pessoas",
+  "emoji_button.recent": "Regularmente utilizados",
+  "emoji_button.search": "Procurar...",
+  "emoji_button.search_results": "Resultados da pesquisa",
+  "emoji_button.symbols": "Símbolos",
+  "emoji_button.travel": "Viagens & Lugares",
+  "empty_column.community": "Ainda não existe conteúdo local para mostrar!",
+  "empty_column.hashtag": "Não foram encontradas publicações com essa hashtag",
   "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
   "empty_column.home.public_timeline": "global",
-  "empty_column.list": "There is nothing in this list yet.",
+  "empty_column.list": "Ainda não existem publicações nesta lista.",
   "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.",
   "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.",
   "follow_request.authorize": "Autorizar",
   "follow_request.reject": "Rejeitar",
-  "getting_started.appsshort": "Apps",
+  "getting_started.appsshort": "Aplicações",
   "getting_started.faq": "FAQ",
   "getting_started.heading": "Primeiros passos",
   "getting_started.open_source_notice": "Mastodon é software de fonte aberta. Podes contribuir ou repostar problemas no GitHub do projecto: {github}.",
-  "getting_started.userguide": "User Guide",
+  "getting_started.userguide": "Guia do utilizador",
   "home.column_settings.advanced": "Avançado",
   "home.column_settings.basic": "Básico",
   "home.column_settings.filter_regex": "Filtrar com uma expressão regular",
   "home.column_settings.show_reblogs": "Mostrar as partilhas",
   "home.column_settings.show_replies": "Mostrar as respostas",
   "home.settings": "Parâmetros da listagem",
-  "keyboard_shortcuts.back": "to navigate back",
-  "keyboard_shortcuts.boost": "to boost",
-  "keyboard_shortcuts.column": "to focus a status in one of the columns",
-  "keyboard_shortcuts.compose": "to focus the compose textarea",
-  "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.down": "to move down in the list",
-  "keyboard_shortcuts.enter": "to open status",
-  "keyboard_shortcuts.favourite": "to favourite",
-  "keyboard_shortcuts.heading": "Keyboard Shortcuts",
+  "keyboard_shortcuts.back": "para navegar de volta",
+  "keyboard_shortcuts.boost": "para partilhar",
+  "keyboard_shortcuts.column": "para focar uma publicação numa das colunas",
+  "keyboard_shortcuts.compose": "para focar na área de publicação",
+  "keyboard_shortcuts.description": "Descrição",
+  "keyboard_shortcuts.down": "para mover para baixo na lista",
+  "keyboard_shortcuts.enter": "para expandir uma publicação",
+  "keyboard_shortcuts.favourite": "para adicionar aos favoritos",
+  "keyboard_shortcuts.heading": "Atalhos do teclado",
   "keyboard_shortcuts.hotkey": "Hotkey",
-  "keyboard_shortcuts.legend": "to display this legend",
-  "keyboard_shortcuts.mention": "to mention author",
-  "keyboard_shortcuts.reply": "to reply",
-  "keyboard_shortcuts.search": "to focus search",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
-  "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
-  "keyboard_shortcuts.up": "to move up in the list",
+  "keyboard_shortcuts.legend": "para mostrar esta legenda",
+  "keyboard_shortcuts.mention": "para mencionar o autor",
+  "keyboard_shortcuts.reply": "para responder",
+  "keyboard_shortcuts.search": "para focar na pesquisa",
+  "keyboard_shortcuts.toot": "para compor um novo post",
+  "keyboard_shortcuts.unfocus": "para remover o foco da área de publicação/pesquisa",
+  "keyboard_shortcuts.up": "para mover para cima na lista",
   "lightbox.close": "Fechar",
-  "lightbox.next": "Next",
-  "lightbox.previous": "Previous",
-  "loading_indicator.label": "Carregando...",
+  "lightbox.next": "Próximo",
+  "lightbox.previous": "Anterior",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
+  "loading_indicator.label": "A carregar...",
   "media_gallery.toggle_visible": "Esconder/Mostrar",
   "missing_indicator.label": "Não encontrado",
-  "mute_modal.hide_notifications": "Hide notifications from this user?",
+  "mute_modal.hide_notifications": "Esconder notificações deste utilizador?",
   "navigation_bar.blocks": "Utilizadores bloqueados",
   "navigation_bar.community_timeline": "Local",
   "navigation_bar.edit_profile": "Editar perfil",
   "navigation_bar.favourites": "Favoritos",
   "navigation_bar.follow_requests": "Seguidores pendentes",
   "navigation_bar.info": "Mais informações",
-  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Sair",
   "navigation_bar.mutes": "Utilizadores silenciados",
-  "navigation_bar.pins": "Pinned toots",
+  "navigation_bar.pins": "Posts fixos",
   "navigation_bar.preferences": "Preferências",
   "navigation_bar.public_timeline": "Global",
   "notification.favourite": "{name} adicionou o teu post aos favoritos",
@@ -150,31 +162,31 @@
   "notifications.column_settings.favourite": "Favoritos:",
   "notifications.column_settings.follow": "Novos seguidores:",
   "notifications.column_settings.mention": "Menções:",
-  "notifications.column_settings.push": "Push notifications",
-  "notifications.column_settings.push_meta": "This device",
+  "notifications.column_settings.push": "Notificações Push",
+  "notifications.column_settings.push_meta": "Este dispositivo",
   "notifications.column_settings.reblog": "Partilhas:",
   "notifications.column_settings.show": "Mostrar nas colunas",
   "notifications.column_settings.sound": "Reproduzir som",
-  "onboarding.done": "Done",
-  "onboarding.next": "Next",
-  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
-  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
-  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
-  "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
-  "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
-  "onboarding.page_one.welcome": "Welcome to Mastodon!",
-  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
-  "onboarding.page_six.almost_done": "Almost done...",
+  "onboarding.done": "Pronto",
+  "onboarding.next": "Próximo",
+  "onboarding.page_five.public_timelines": "A timeline local mostra as publicações de todos os utilizadores em {domain}. A timeline global mostra as publicações de todas as pessoas que pessoas em {domain} seguem. Estas são as timelines públicas, uma óptima forma de conhecer novas pessoas.",
+  "onboarding.page_four.home": "A timeline home mostra as publicações de pessoas que tu segues.",
+  "onboarding.page_four.notifications": "A coluna de notificações mostra-te quando alguém interage contigo.",
+  "onboarding.page_one.federation": "Mastodon é uma rede de servidores independentes ligados entre si para fazer uma grande rede social. Nós chamamos instâncias a estes servidores.",
+  "onboarding.page_one.handle": "Tu estás em {domain}, por isso o teu endereço completo de utilizador é {handle}",
+  "onboarding.page_one.welcome": "Bem-vindo(a) ao Mastodon!",
+  "onboarding.page_six.admin": "O administrador da tua instância é {admin}.",
+  "onboarding.page_six.almost_done": "Quase pronto...",
   "onboarding.page_six.appetoot": "Bon Appetoot!",
-  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
-  "onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
-  "onboarding.page_six.guidelines": "community guidelines",
-  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
-  "onboarding.page_six.various_app": "mobile apps",
-  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
-  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
-  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
-  "onboarding.skip": "Skip",
+  "onboarding.page_six.apps_available": "Existem {apps} disponíveis para iOS, Android e outras plataformas.",
+  "onboarding.page_six.github": "Mastodon é um software gratuito e de código aberto. Podes reportar bugs, solicitar novas funcionalidades e contribuir para o código em {github}.",
+  "onboarding.page_six.guidelines": "termos de utilização da comunidade",
+  "onboarding.page_six.read_guidelines": "Por favor, lê os {guidelines} de {domain}!",
+  "onboarding.page_six.various_app": "aplicações de telemóvel",
+  "onboarding.page_three.profile": "Edita o teu perfil para mudar a tua imagem, biografia e nome. Lá encontrarás também outras preferências que podes personalizar.",
+  "onboarding.page_three.search": "Utiliza a caixa de pesquisa para procurar pessoas ou hashtags, exemplo {illustration} / {introductions}. Para procurar uma pessoa que não está nesta instância, utiliza o endereço completo.",
+  "onboarding.page_two.compose": "Escreve posts na coluna de publicações. Podes publicar imagens, alterar a privacidade e adicionar alertas de conteúdo usando os ícones abaixo da caixa de composição.",
+  "onboarding.skip": "Saltar",
   "privacy.change": "Ajustar a privacidade da mensagem",
   "privacy.direct.long": "Apenas para utilizadores mencionados",
   "privacy.direct.short": "Directo",
@@ -186,7 +198,7 @@
   "privacy.unlisted.short": "Não listar",
   "relative_time.days": "{number}d",
   "relative_time.hours": "{number}h",
-  "relative_time.just_now": "now",
+  "relative_time.just_now": "agora",
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "reply_indicator.cancel": "Cancelar",
@@ -194,54 +206,58 @@
   "report.submit": "Enviar",
   "report.target": "Denunciar",
   "search.placeholder": "Pesquisar",
-  "search_popout.search_format": "Advanced search format",
+  "search_popout.search_format": "Formato avançado de pesquisa",
   "search_popout.tips.hashtag": "hashtag",
   "search_popout.tips.status": "status",
   "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
-  "search_popout.tips.user": "user",
+  "search_popout.tips.user": "utilizador",
   "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
-  "standalone.public_title": "A look inside...",
-  "status.cannot_reblog": "This post cannot be boosted",
+  "standalone.public_title": "Espreitar lá dentro...",
+  "status.cannot_reblog": "Este post não pode ser partilhado",
   "status.delete": "Eliminar",
   "status.embed": "Embed",
   "status.favourite": "Adicionar aos favoritos",
   "status.load_more": "Carregar mais",
   "status.media_hidden": "Media escondida",
   "status.mention": "Mencionar @{name}",
-  "status.more": "More",
-  "status.mute_conversation": "Mute conversation",
+  "status.more": "Mais",
+  "status.mute_conversation": "Silenciar conversa",
   "status.open": "Expandir",
   "status.pin": "Pin on profile",
   "status.reblog": "Partilhar",
   "status.reblogged_by": "{name} partilhou",
   "status.reply": "Responder",
-  "status.replyAll": "Reply to thread",
-  "status.report": "Denúnciar @{name}",
+  "status.replyAll": "Responder à conversa",
+  "status.report": "Denunciar @{name}",
   "status.sensitive_toggle": "Clique para ver",
   "status.sensitive_warning": "Conteúdo sensível",
   "status.share": "Share",
   "status.show_less": "Mostrar menos",
   "status.show_more": "Mostrar mais",
-  "status.unmute_conversation": "Unmute conversation",
-  "status.unpin": "Unpin from profile",
+  "status.unmute_conversation": "Deixar de silenciar esta conversa",
+  "status.unpin": "Não fixar no perfil",
   "tabs_bar.compose": "Criar",
   "tabs_bar.federated_timeline": "Global",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Local",
   "tabs_bar.notifications": "Notificações",
-  "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+  "ui.beforeunload": "O teu rascunho vai ser perdido se abandonares o Mastodon.",
   "upload_area.title": "Arraste e solte para enviar",
   "upload_button.label": "Adicionar media",
-  "upload_form.description": "Describe for the visually impaired",
+  "upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais",
   "upload_form.undo": "Anular",
   "upload_progress.label": "A gravar...",
-  "video.close": "Close video",
-  "video.exit_fullscreen": "Exit full screen",
-  "video.expand": "Expand video",
+  "video.close": "Fechar vídeo",
+  "video.exit_fullscreen": "Sair de full screen",
+  "video.expand": "Expandir vídeo",
   "video.fullscreen": "Full screen",
-  "video.hide": "Hide video",
-  "video.mute": "Mute sound",
-  "video.pause": "Pause",
-  "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.hide": "Esconder vídeo",
+  "video.mute": "Silenciar",
+  "video.pause": "Pausar",
+  "video.play": "Reproduzir",
+  "video.unmute": "Remover de silêncio",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index df52eca14..b67c47e4b 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -36,6 +36,7 @@
   "column.favourites": "Понравившееся",
   "column.follow_requests": "Запросы на подписку",
   "column.home": "Главная",
+  "column.lists": "Lists",
   "column.mutes": "Список глушения",
   "column.notifications": "Уведомления",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Вы уверены, что хотите заблокировать {name}?",
   "confirmations.delete.confirm": "Удалить",
   "confirmations.delete.message": "Вы уверены, что хотите удалить этот статус?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Блокировать весь домен",
   "confirmations.domain_block.message": "Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.",
   "confirmations.mute.confirm": "Заглушить",
@@ -124,6 +127,14 @@
   "lightbox.close": "Закрыть",
   "lightbox.next": "Далее",
   "lightbox.previous": "Назад",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Загрузка...",
   "media_gallery.toggle_visible": "Показать/скрыть",
   "missing_indicator.label": "Не найдено",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Запросы на подписку",
   "navigation_bar.info": "Об узле",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Выйти",
   "navigation_bar.mutes": "Список глушения",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Заглушить звук",
   "video.pause": "Пауза",
   "video.play": "Пуск",
-  "video.unmute": "Включить звук"
+  "video.unmute": "Включить звук",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 5f887ef34..982e9b40b 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favoriter",
   "column.follow_requests": "Följ förfrågningar",
   "column.home": "Hem",
+  "column.lists": "Lists",
   "column.mutes": "Tystade användare",
   "column.notifications": "Meddelanden",
   "column.pins": "Nålade toots",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Är du säker att du vill blockera {name}?",
   "confirmations.delete.confirm": "Ta bort",
   "confirmations.delete.message": "Är du säker att du vill ta bort denna status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Blockera hela domänen",
   "confirmations.domain_block.message": "Är du verkligen, verkligen säker på att du vill blockera hela {domain}? I de flesta fall är några riktade blockeringar eller nedtystade tillräckligt och föredras.",
   "confirmations.mute.confirm": "Tysta",
@@ -124,6 +127,14 @@
   "lightbox.close": "Stäng",
   "lightbox.next": "Nästa",
   "lightbox.previous": "Tidigare",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Laddar...",
   "media_gallery.toggle_visible": "Växla synlighet",
   "missing_indicator.label": "Hittades inte",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Följförfrågningar",
   "navigation_bar.info": "Om denna instans",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Logga ut",
   "navigation_bar.mutes": "Tystade användare",
   "navigation_bar.pins": "Nålade inlägg (toots)",
@@ -243,5 +255,9 @@
   "video.mute": "Tysta ljud",
   "video.pause": "Pause",
   "video.play": "Spela upp",
-  "video.unmute": "Spela upp ljud"
+  "video.unmute": "Spela upp ljud",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 7b2b13202..12a0f030b 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favourites",
   "column.follow_requests": "Follow requests",
   "column.home": "Home",
+  "column.lists": "Lists",
   "column.mutes": "Muted users",
   "column.notifications": "Notifications",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Are you sure you want to block {name}?",
   "confirmations.delete.confirm": "Delete",
   "confirmations.delete.message": "Are you sure you want to delete this status?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Mute",
@@ -124,6 +127,14 @@
   "lightbox.close": "Close",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Loading...",
   "media_gallery.toggle_visible": "Toggle visibility",
   "missing_indicator.label": "Not found",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Follow requests",
   "navigation_bar.info": "About this instance",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Logout",
   "navigation_bar.mutes": "Muted users",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index dd5a96bdb..fecd956d0 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -36,6 +36,7 @@
   "column.favourites": "Favoriler",
   "column.follow_requests": "Takip istekleri",
   "column.home": "Anasayfa",
+  "column.lists": "Lists",
   "column.mutes": "Susturulmuş kullanıcılar",
   "column.notifications": "Bildirimler",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "{name} kullanıcısını engellemek istiyor musunuz?",
   "confirmations.delete.confirm": "Sil",
   "confirmations.delete.message": "Bu gönderiyi silmek istiyor musunuz?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Hide entire domain",
   "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
   "confirmations.mute.confirm": "Sessize al",
@@ -124,6 +127,14 @@
   "lightbox.close": "Kapat",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Yükleniyor...",
   "media_gallery.toggle_visible": "Görünürlüğü değiştir",
   "missing_indicator.label": "Bulunamadı",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Takip istekleri",
   "navigation_bar.info": "Genişletilmiş bilgi",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Çıkış",
   "navigation_bar.mutes": "Sessize alınmış kullanıcılar",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 6206cd65b..bf2100d8d 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -36,6 +36,7 @@
   "column.favourites": "Вподобане",
   "column.follow_requests": "Запити на підписку",
   "column.home": "Головна",
+  "column.lists": "Lists",
   "column.mutes": "Заглушені користувачі",
   "column.notifications": "Сповіщення",
   "column.pins": "Pinned toot",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "Ви впевнені, що хочете заблокувати {name}?",
   "confirmations.delete.confirm": "Видалити",
   "confirmations.delete.message": "Ви впевнені, що хочете видалити цей допис?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "Сховати весь домен",
   "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати/заглушити лише деяких користувачів.",
   "confirmations.mute.confirm": "Заглушити",
@@ -124,6 +127,14 @@
   "lightbox.close": "Закрити",
   "lightbox.next": "Next",
   "lightbox.previous": "Previous",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "Завантаження...",
   "media_gallery.toggle_visible": "Показати/приховати",
   "missing_indicator.label": "Не знайдено",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "Запити на підписку",
   "navigation_bar.info": "Про інстанцію",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "Вийти",
   "navigation_bar.mutes": "Заглушені користувачі",
   "navigation_bar.pins": "Pinned toots",
@@ -243,5 +255,9 @@
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
-  "video.unmute": "Unmute sound"
+  "video.unmute": "Unmute sound",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index e2d2489dc..5d53abfb0 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -145,8 +145,8 @@
   "navigation_bar.favourites": "收藏的内容",
   "navigation_bar.follow_requests": "关注请求",
   "navigation_bar.info": "关于本站",
-  "navigation_bar.lists": "列表",
   "navigation_bar.keyboard_shortcuts": "快捷键列表",
+  "navigation_bar.lists": "列表",
   "navigation_bar.logout": "注销",
   "navigation_bar.mutes": "被隐藏的用户",
   "navigation_bar.pins": "置顶嘟文",
@@ -255,5 +255,9 @@
   "video.mute": "静音",
   "video.pause": "暂停",
   "video.play": "播放",
-  "video.unmute": "取消静音"
+  "video.unmute": "取消静音",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index a1c7aa875..9bba3c4f7 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -36,6 +36,7 @@
   "column.favourites": "最愛的文章",
   "column.follow_requests": "關注請求",
   "column.home": "主頁",
+  "column.lists": "Lists",
   "column.mutes": "靜音名單",
   "column.notifications": "通知",
   "column.pins": "置頂文章",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "你確定要封鎖{name}嗎?",
   "confirmations.delete.confirm": "刪除",
   "confirmations.delete.message": "你確定要刪除{name}嗎?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "隱藏整個網站",
   "confirmations.domain_block.message": "你真的真的確定要隱藏整個 {domain} ?多數情況下,比較推薦封鎖或靜音幾個特定目標就好。",
   "confirmations.mute.confirm": "靜音",
@@ -124,6 +127,14 @@
   "lightbox.close": "關閉",
   "lightbox.next": "繼續",
   "lightbox.previous": "回退",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "載入中...",
   "media_gallery.toggle_visible": "打開或關上",
   "missing_indicator.label": "找不到內容",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "關注請求",
   "navigation_bar.info": "關於本服務站",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "登出",
   "navigation_bar.mutes": "被你靜音的用戶",
   "navigation_bar.pins": "置頂文章",
@@ -243,5 +255,9 @@
   "video.mute": "靜音",
   "video.pause": "暫停",
   "video.play": "播放",
-  "video.unmute": "解除靜音"
+  "video.unmute": "解除靜音",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index b52c5a810..b593775a4 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -36,6 +36,7 @@
   "column.favourites": "最愛",
   "column.follow_requests": "關注請求",
   "column.home": "家",
+  "column.lists": "Lists",
   "column.mutes": "消音的使用者",
   "column.notifications": "通知",
   "column.pins": "置頂貼文",
@@ -62,6 +63,8 @@
   "confirmations.block.message": "你確定要封鎖 {name} ?",
   "confirmations.delete.confirm": "刪除",
   "confirmations.delete.message": "你確定要刪除這個狀態?",
+  "confirmations.delete_list.confirm": "Delete",
+  "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
   "confirmations.domain_block.confirm": "隱藏整個網域",
   "confirmations.domain_block.message": "你真的真的確定要隱藏整個 {domain} ?多數情況下,比較推薦封鎖或消音幾個特定目標就好。",
   "confirmations.mute.confirm": "消音",
@@ -124,6 +127,14 @@
   "lightbox.close": "關閉",
   "lightbox.next": "繼續",
   "lightbox.previous": "回退",
+  "lists.account.add": "Add to list",
+  "lists.account.remove": "Remove from list",
+  "lists.delete": "Delete list",
+  "lists.edit": "Edit list",
+  "lists.new.create": "Add list",
+  "lists.new.title_placeholder": "New list title",
+  "lists.search": "Search among follows",
+  "lists.subheading": "Your lists",
   "loading_indicator.label": "讀取中...",
   "media_gallery.toggle_visible": "切換可見性",
   "missing_indicator.label": "找不到",
@@ -135,6 +146,7 @@
   "navigation_bar.follow_requests": "關注請求",
   "navigation_bar.info": "關於本站",
   "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.lists": "Lists",
   "navigation_bar.logout": "登出",
   "navigation_bar.mutes": "消音的使用者",
   "navigation_bar.pins": "置頂貼文",
@@ -243,5 +255,9 @@
   "video.mute": "消音",
   "video.pause": "暫停",
   "video.play": "播放",
-  "video.unmute": "解除消音"
+  "video.unmute": "解除消音",
+  "video_player.expand": "Expand video",
+  "video_player.toggle_sound": "Toggle sound",
+  "video_player.toggle_visible": "Toggle visibility",
+  "video_player.video_error": "Video could not be played"
 }
diff --git a/config/locales/activerecord.de.yml b/config/locales/activerecord.de.yml
index 668abe2a3..7d09856d7 100644
--- a/config/locales/activerecord.de.yml
+++ b/config/locales/activerecord.de.yml
@@ -10,4 +10,4 @@ de:
         status:
           attributes:
             reblog:
-              taken: of status already exists
+              taken: des Status existiert schon
diff --git a/config/locales/activerecord.nl.yml b/config/locales/activerecord.nl.yml
index eeabab34a..797209665 100644
--- a/config/locales/activerecord.nl.yml
+++ b/config/locales/activerecord.nl.yml
@@ -6,7 +6,7 @@ nl:
         account:
           attributes:
             username:
-              invalid: alleen letters, nummers en underscores
+              invalid: alleen letters, nummers en laag streepje
         status:
           attributes:
             reblog:
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index 666b8cb97..a96b353c1 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -5,25 +5,58 @@ ar:
     about_this: عن مثيل الخادوم هذا
     closed_registrations: التسجيلات في مثيل الخادوم هذا مُغلقة حاليًا.
     contact: للتواصل معنا
+    contact_unavailable: غير متوفر
     description_headline: ما هو %{domain}?
     domain_count_after: خوادم أخرى
     domain_count_before: متصل بـ
+    features:
+      not_a_product_title: إنك إنسان و لست سلعة
+    find_another_instance: إبحث عن مثيل خادوم آخر
+    hosted_on: ماستدون مُستضاف على %{domain}
+    learn_more: تعلم المزيد
     other_instances: خوادم أخرى
     source_code: الشفرة المصدرية
     status_count_after: منشورا
     status_count_before: نشروا
     user_count_after: مستخدم
     user_count_before: يستضيف
+    what_is_mastodon: ما هو ماستدون ؟
   accounts:
     follow: إتبع
     followers: متابِعون
     following: يتابعون
+    media: الوسائط
     nothing_here: لا يوجد أي شيء هنا !
     people_followed_by: الأشخاص الذين يتبعهم %{name}
     people_who_follow: الأشخاص الذين يتبعون %{name}
     posts: منشورات
+    posts_with_replies: التبويقات و الردود
     remote_follow: إتبع عن بعد
+    reserved_username: إسم المستخدم محجوز
+    roles:
+      admin: المدير
     unfollow: إلغاء المتابعة
+  admin:
+    account_moderation_notes:
+      created_at: التاريخ
+      delete: حذف
+    accounts:
+      are_you_sure: متأكد ؟
+      by_domain: النطاق
+      confirm: تأكيد
+      display_name: عرض الإسم
+      domain: النطاق
+      edit: تعديل
+      email: البريد الإلكتروني
+      enable: تفعيل
+      enabled: مفعَّل
+      followers: المتابِعون
+      follows: يتابع
+      ip: عنوان الإيبي
+      media_attachments: الوسائط المرفقة
+      order:
+        title: الترتيب
+      profile_url: رابط الملف الشخصي
   application_mailer:
     settings: 'تغيير تفضيلات البريد الإلكتروني : %{link}'
     signature: إشعارات ماستدون من %{instance}
@@ -156,9 +189,13 @@ ar:
     description_html: If you enable <strong>two-factor authentication</strong>, logging in will require you to be in possession of your phone, which will generate tokens for you to enter.
     disable: تعطيل
     enable: تفعيل
+    enabled: نظام المصادقة بخطوتين مُفعَّل
     enabled_success: تم تفعيل إثبات الهوية المزدوج بنجاح
+    generate_recovery_codes: توليد رموز الإسترجاع
     instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
     manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
+    recovery_codes: النسخ الإحتياطي لرموز الإسترجاع
+    recovery_codes_regenerated: تم إعادة توليد رموز الإسترجاع الإحتياطية بنجاح
     setup: تنشيط
     wrong_code: الرمز الذي أدخلته غير صالح. تحقق من صحة الوقت على الخادم و الجهاز.
   users:
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index fa8cf49f0..357e39e31 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -49,16 +49,16 @@ ca:
     reserved_username: El nom d'usuari està reservat
     roles:
       admin: Admin
-      moderator: Mod
+      moderator: Moderador
     unfollow: Deixar de seguir
   admin:
     account_moderation_notes:
       account: Moderador
       create: Crear
       created_at: Data
-      created_msg: La nota de moderació s'ha creat correctament.
+      created_msg: La nota de moderació s'ha creat correctament!
       delete: Suprimeix
-      destroyed_msg: S'ha destruït la nota de moderació.
+      destroyed_msg: S'ha destruït la nota de moderació!
     accounts:
       are_you_sure: Estàs segur?
       by_domain: Domini
@@ -133,6 +133,32 @@ ca:
       unsubscribe: Donar-se de baixa
       username: Nom d'usuari
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} ha confirmat l'adreça de correu electrònic de l'usuari %{target}"
+        create_custom_emoji: "%{name} ha penjat un nou emoji %{target}"
+        create_domain_block: "%{name} ha bloquejat el domini %{target}"
+        create_email_domain_block: "%{name} ha afegit a la llista negra el domini del correu electrònic %{target}"
+        demote_user: "%{name} ha degradat l'usuari %{target}"
+        destroy_domain_block: "%{name} ha desbloquejat el domini %{target}"
+        destroy_email_domain_block: "%{name} ha afegit a la llista negra el domini de correu electrònic %{target}"
+        destroy_status: "%{name} estat eliminat per %{target}"
+        disable_2fa_user: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}"
+        disable_custom_emoji: "%{name} ha desactivat l'emoji %{target}"
+        disable_user: "%{name} ha desactivat l'accés per a l'usuari %{target}"
+        enable_custom_emoji: "%{name} ha activat l'emoji %{target}"
+        enable_user: "%{name} ha activat l'accés per a l'usuari %{target}"
+        memorialize_account: "%{name} ha convertit el compte %{target} en una pàgina de memòria"
+        promote_user: "%{name} ha promogut l'usuari %{target}"
+        reset_password_user: "%{name} restablirà la contrasenya de l'usuari %{target}"
+        resolve_report: "%{name} ha descartat l'informe %{target}"
+        silence_account: "%{name} ha silenciat el compte de %{target}"
+        suspend_account: "%{name} ha suspès el compte de %{target}"
+        unsilence_account: "%{name} ha silenciat el compte de %{target}"
+        unsuspend_account: "%{name} ha llevat la suspensió del compte de %{target}"
+        update_custom_emoji: "%{name} ha actualizat l'emoji %{target}"
+        update_status: "%{name} estat actualizat per %{target}"
+      title: Registre d'auditoria
     custom_emojis:
       copied_msg: S'ha creat correctament la còpia local del emoji
       copy: Copia
@@ -155,7 +181,7 @@ ca:
       title: Emojis personatlitzats
       unlisted: Sense classificar
       update_failed_msg: No s'ha pogut actualitzar aquest emoji
-      updated_msg: Emoji s'ha actualitzat correctament.
+      updated_msg: Emoji s'ha actualitzat correctament!
       upload: Carrega
     domain_blocks:
       add_new: Afegeix
@@ -164,9 +190,9 @@ ca:
       domain: Domini
       new:
         create: Crea un bloqueig
-        hint: El bloqueig de domini no impedirà la creació de nous comptes en la base de dades, però s´aplicaran mètodes de moderació específics sobre aquests comptes
+        hint: El bloqueig de domini no impedirà la creació de nous comptes en la base de dades, però s´aplicaran de manera retroactiva mètodes de moderació específics sobre aquests comptes.
         severity:
-          desc_html: "<strong>Silenci</strong> farà les publicacions del compte invisibles a tothom que no l'estigui seguint. La suspencsió eliminarà tots els continguts, multimèdia i les dades del perfil del compte."
+          desc_html: "<strong>Silenci</strong> farà les publicacions del compte invisibles a tothom que no l'estigui seguint. <strong>La suspensió</strong> eliminarà tots els continguts, multimèdia i les dades del perfil del compte. Usa <strong>Cap</strong> si només vols rebutjar el fitxers multimèdia."
           noop: Cap
           silence: Silenci
           suspend: Suspensió
@@ -205,6 +231,13 @@ ca:
       reset: Restablir
       search: Cerca
       title: Instàncies conegudes
+    invites:
+      filter:
+        all: Tot
+        available: Disponible
+        expired: Caducat
+        title: Filtre
+      title: Convida
     reports:
       action_taken_by: Mesures adoptades per
       are_you_sure: Estàs segur?
@@ -243,6 +276,9 @@ ca:
         deletion:
           desc_html: Permet a qualsevol esborrar el seu compte
           title: Obre la supressió del compte
+        min_invite_role:
+          disabled: Ningú
+          title: Permet les invitacions de
         open:
           desc_html: Permet que qualsevol pugui crear un compte
           title: Registre obert
@@ -250,7 +286,7 @@ ca:
         desc_html: Mostra una insígnia de personal en una pàgina d'usuari
         title: Mostra insígnia de personal
       site_description:
-        desc_html: Es mostra com un paràgraf a la pàgina principal i s'utilitza com una etiqueta meta.<br>Pots utilitzar etiquetes HTML, en particular <code>&lt;a&gt;</code> i <code>&lt;em&gt;</code>.
+        desc_html: Paràgraf introductori a la pàgina principal i en etiquetes meta.<br>Pots utilitzar etiquetes HTML, en particular <code>&lt;a&gt;</code> i <code>&lt;em&gt;</code>.
         title: Descripció del lloc
       site_description_extended:
         desc_html: Un bon lloc per al codi de conducta, regles, directrius i altres coses que distingeixen la vostra instància. Pots utilitzar etiquetes HTML
@@ -282,7 +318,7 @@ ca:
       title: Estats del compte
       with_media: Amb contingut multimèdia
     subscriptions:
-      callback_url: Callback URL
+      callback_url: URL de retorn
       confirmed: Confirmat
       expires_in: Expira en
       last_delivery: Últim lliurament
@@ -316,6 +352,8 @@ ca:
     invalid_reset_password_token: L'enllaç de restabliment de la contrasenya no és vàlid o ha caducat. Torna-ho a provar..
     login: Inicia sessió
     logout: Tanca sessió
+    migrate_account: Mou a un compte diferent
+    migrate_account_html: Si vols redirigir aquest compte a un altre diferent, el pots  <a href="%{path}">configurar aquí</a>.
     register: Registra't
     resend_confirmation: Torna a enviar el correu de confirmació
     reset_password: Restableix la contrasenya
@@ -361,8 +399,8 @@ ca:
       title: La verificació de seguretat ha fallat
     '429': Estrangulat
     '500':
-      content: We're sorry, but something went wrong on our end.
-      title: This page is not correct
+      content: Ho sentim, però alguna cosa ha fallat a la nostra banda.
+      title: Aquesta pàgina no es correcte
     noscript_html: Per utilitzar Mastodon si us plau activa JavaScript. També podeu provar una de les <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md"> aplicacions natives</a> per Mastodon per a la vostra plataforma.
   exports:
     blocks: Persones que has bloquejat
@@ -372,7 +410,7 @@ ca:
     storage: Emmagatzematge
   followers:
     domain: Domini
-    explanation_html: Si desitges garantir la privacitat de les teves publicacions, has de ser conscient de qui t'està seguint. <strong> Les publicacions privades es lliuren a totes les instàncies on tens seguidors </ strong>. És possible que vulguis revisar-los i eliminar seguidors si no confies en que la teva privacitat sigui respectada pel personal o el programari d'aquests casos
+    explanation_html: Si desitges garantir la privacitat de les teves publicacions, has de ser conscient de qui t'està seguint. <strong> Les publicacions privades es lliuren a totes les instàncies on tens seguidors </ strong>. És possible que vulguis revisar-los i eliminar seguidors si no confies en que la teva privacitat sigui respectada pel personal o el programari d'aquestes instàncies.
     followers_count: Nombre de seguidors
     lock_link: Bloca el teu compte
     purge: Elimina dels seguidors
@@ -398,19 +436,46 @@ ca:
       muting: Llista d'apagats
     upload: Carregar
   in_memoriam_html: En Memòria.
+  invites:
+    delete: Desactivar
+    expired: Caducat
+    expires_in:
+      '1800': 30 minuts
+      '21600': 6 hores
+      '3600': 1 hora
+      '43200': 12 hores
+      '86400': 1 dia
+    expires_in_prompt: Mai
+    generate: Genera
+    max_uses:
+      one: 1 ús
+      other: "%{count} usos"
+    max_uses_prompt: Sense limit
+    prompt: Genera i comparteix enllaços amb altres persones per donar accés a aquesta instància
+    table:
+      expires_at: Caduca
+      uses: Usos
+    title: Convida persones
   landing_strip_html: "<strong>%{name}</strong> és un usuari/a de %{link_to_root_path}. Pots seguir-lo/la o interactuar amb ell/a si tens un compte a qualsevol node del fediverse."
   landing_strip_signup_html: Si no en tens, pots <a href="%{sign_up_path}">registrar-te aquí</a>.
   media_attachments:
     validations:
       images_and_video: No es pot adjuntar un vídeo a una publicació que ja contingui imatges
       too_many: No es poden adjuntar més de 4 fitxers
+  migrations:
+    acct: usuari@domini del nou compte
+    currently_redirecting: 'El teu perfil està configurat com a redirecció a:'
+    proceed: Desa
+    updated_msg: La configuració de la migració del compte s'ha actualitzat correctament!
+  moderation:
+    title: Moderació
   notification_mailer:
     digest:
       body: 'Un resum del que et vas perdre en %{instance} desde la darrera visita el %{since}:'
       mention: "%{name} t'ha mencionat en:"
       new_followers_summary:
-        one: Visca!. Algú més t´ha començat a seguir
-        other: Genial!. Et segueixen %{count} persones més
+        one: Visca!. Algú més t´ha començat a seguir!
+        other: Genial!. Et segueixen %{count} persones més!
       subject:
         one: "1 notificació nova des de la darrera visita \U0001F418"
         other: "%{count} notificacions noves des de la darrera visita \U0001F418"
@@ -427,7 +492,7 @@ ca:
       body: "%{name} t'ha mencionat en:"
       subject: "%{name} t'ha mencionat"
     reblog:
-      body: "%{name} ha retootejat el teu estat"
+      body: "%{name} ha impulsat el teu estat:"
       subject: "%{name} ha retootejat el teu estat"
   number:
     human:
@@ -465,7 +530,7 @@ ca:
       title: "%{name} t'ha retootejat"
   remote_follow:
     acct: Escriu l'usuari@domini de la persona que vols seguir
-    missing_resource: No s'ha pogut trobar la URL de redirecció necessaria per al compte.
+    missing_resource: No s'ha pogut trobar la URL de redirecció necessaria per al compte
     proceed: Comença a seguir
     prompt: 'Seguiràs a:'
   sessions:
@@ -516,6 +581,7 @@ ca:
     export: Exportar informació
     followers: Seguidors autoritzats
     import: Importar
+    migrate: Migració del compte
     notifications: Notificacions
     preferences: Preferències
     settings: Configuració
@@ -612,6 +678,8 @@ ca:
 
       <p>Originalment adaptat a la <a href="https://github.com/discourse/discourse">política de privadesa del Discurs</a>.</p>
     title: "%{instance} Condicions del servei i política de privadesa"
+  themes:
+    default: Mastodont
   time:
     formats:
       default: "%b %d, %Y, %H:%M"
@@ -628,7 +696,7 @@ ca:
     manual_instructions: 'Si no pots escanejar el codi QR code i necessites introduir-lo manualment, aquí tens el secret en text pla:'
     recovery_codes: Codis de recuperació de còpia de seguretat
     recovery_codes_regenerated: Codis de recuperació regenerats amb èxit
-    recovery_instructions_html: Si mai perds l'accéss al telèfon pots utilitzar un dels codis de recuperació a continuació per a recuperar l'accés al teu compte. Cal mantenir els codis de recuperació en lloc segur, per exemple imprimint-los i guardar-los amb altres documents importants.
+    recovery_instructions_html: Si mai perds l'accéss al teu telèfon pots utilitzar un dels codis de recuperació a continuació per a recuperar l'accés al teu compte. <strong>Cal mantenir els codis de recuperació en lloc segur</strong>. Per exemple, imprimint-los i guardar-los amb altres documents importants.
     setup: Establir
     wrong_code: El codi introduït no és vàlid! És correcta l'hora del servidor i del dispositiu?
   users:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index db96f7de7..470395767 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -39,6 +39,7 @@ de:
     followers: Folgende
     following: Folgt
     media: Medien
+    moved_html: "%{name} ist auf %{new_profile_link} umgezogen:"
     nothing_here: Hier gibt es nichts!
     people_followed_by: Profile, denen %{name} folgt
     people_who_follow: Profile, die %{name} folgen
@@ -48,6 +49,7 @@ de:
     reserved_username: Dieser Profilname ist belegt
     roles:
       admin: Admin
+      moderator: Mod
     unfollow: Entfolgen
   admin:
     account_moderation_notes:
@@ -59,15 +61,21 @@ de:
       destroyed_msg: Moderationsnotiz erfolgreich gelöscht!
     accounts:
       are_you_sure: Bist du sicher?
+      by_domain: Domain
       confirm: Bestätigen
       confirmed: Bestätigt
+      demote: Degradieren
+      disable: Ausschalten
       disable_two_factor_authentication: 2FA abschalten
+      disabled: Ausgeschaltet
       display_name: Anzeigename
       domain: Domain
       edit: Bearbeiten
       email: E-Mail
+      enable: Freischalten
+      enabled: Freigegeben
       feed_url: Feed-URL
-      followers: Folgende
+      followers: Folger
       followers_url: Followers URL
       follows: Folgt
       inbox_url: Inbox URL
@@ -77,7 +85,9 @@ de:
         local: Lokal
         remote: Entfernt
         title: Ort
+      login_status: Loginstatus
       media_attachments: Medienanhänge
+      memorialize: In Gedenkmal verwandeln
       moderation:
         all: Alle
         silenced: Stummgeschaltet
@@ -94,6 +104,7 @@ de:
       outbox_url: Outbox URL
       perform_full_suspension: Vollständige Sperre durchführen
       profile_url: Profil-URL
+      promote: Befördern
       protocol: Protokoll
       public: Öffentlich
       push_subscription_expires: PuSH-Abonnement läuft aus
@@ -101,6 +112,11 @@ de:
       reset: Zurücksetzen
       reset_password: Passwort zurücksetzen
       resubscribe: Wieder abonnieren
+      role: Berechtigungen
+      roles:
+        admin: Administrator
+        moderator: Moderator
+        user: Nutzer
       salmon_url: Salmon-URL
       search: Suche
       shared_inbox_url: Shared Inbox URL
@@ -117,6 +133,29 @@ de:
       unsubscribe: Abbestellen
       username: Profilname
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} hat die E-Mail-Adresse von %{target} bestätigt"
+        create_custom_emoji: "%{name} hat neues Emoji %{target} hochgeladen"
+        create_domain_block: "%{name} hat die Domain %{target} blockiert"
+        create_email_domain_block: "%{name} hat die E-Mail-Domain %{target} geblacklistet"
+        demote_user: "%{name} stufte Benutzer %{target} herunter"
+        destroy_domain_block: "%{name} hat die Domain %{target} entblockt"
+        destroy_email_domain_block: "%{name} hat die E-Mail-Domain %{target} gewhitelistet"
+        destroy_status: "%{name} hat Status von %{target} entfernt"
+        disable_custom_emoji: "%{name} hat Emoji %{target} deaktiviert"
+        enable_custom_emoji: "%{name} hat das %{target} Emoji aktiviert"
+        enable_user: "%{name} hat die Anmeldung für den Benutzer %{target} aktiviert"
+        memorialize_account: "%{name} hat %{target}s Profil in eine Gedenkseite umgewandelt"
+        reset_password_user: "%{name} hat das Passwort für den Benutzer %{target} zurückgesetzt"
+        resolve_report: "%{name} hat die Meldung %{target} abgelehnt"
+        silence_account: "%{name} hat %{target}s Account stummgeschaltet"
+        suspend_account: "%{name} hat %{target}s Account gesperrt"
+        unsilence_account: "%{name} hat die Stummschaltung von %{target}s Account aufgehoben"
+        unsuspend_account: "%{name} hat die Sperrung von %{target}s Account aufgehoben"
+        update_custom_emoji: "%{name} hat das %{target} Emoji aktualisiert"
+        update_status: "%{name} hat den Status von %{target} aktualisiert"
+      title: Überprüfungsprotokoll
     custom_emojis:
       copied_msg: Eine lokale Kopie des Emojis wurde erstellt
       copy: Kopieren
diff --git a/config/locales/devise.ar.yml b/config/locales/devise.ar.yml
index 169221352..4fd19244d 100644
--- a/config/locales/devise.ar.yml
+++ b/config/locales/devise.ar.yml
@@ -1,9 +1,14 @@
 ---
 ar:
   devise:
+    confirmations:
+      confirmed: تم التحقق من عنوان بريدك الإلكتروني بنجاح.
     failure:
+      already_authenticated: لقد تم تسجيل دخولك من قبل.
       inactive: لم يتم تنشيط حسابك بعد.
+      last_attempt: بإمكانك إعادة المحاولة مرة واحدة قبل أن يتم قفل حسابك.
       locked: إن حسابك مقفل.
+      unconfirmed: يجب عليك تأكيد عنوان بريدك الإلكتروني قبل المواصلة.
     mailer:
       password_change:
         subject: 'ماستدون : تم تغيير كلمة المرور'
@@ -15,6 +20,7 @@ ar:
       updated: تم تغيير كلمة المرور بنجاح. أنت مسجل الآن.
       updated_not_active: تم تغيير كلمة المرور بنجاح.
     registrations:
+      destroyed: إلى اللقاء ! لقد تم إلغاء حسابك. نتمنى أن نراك مجددا.
       signed_up: أهلا وسهلا ! تم تسجيل دخولك بنجاح.
       updated: تم تحديث حسابك بنجاح.
     sessions:
diff --git a/config/locales/devise.he.yml b/config/locales/devise.he.yml
index ddb688625..4a2811b1f 100644
--- a/config/locales/devise.he.yml
+++ b/config/locales/devise.he.yml
@@ -51,9 +51,9 @@ he:
       unlocked: נעילת חשבונך בוטלה בהצלחה. נא להכנס לחשבון על מנת להמשיך.
   errors:
     messages:
-      already_confirmed: כבר אושר. נא לנסות להכנס לחשבון.
-      confirmation_period_expired: האישור צריך להתקבל תוך %{period}, נא לבקש חדש.
-      expired: פג תוקפו. נא לבקש חדש.
+      already_confirmed: כבר אושר. נא לנסות להכנס לחשבון
+      confirmation_period_expired: האישור צריך להתקבל תוך %{period}, נא לבקש חדש
+      expired: פג תוקפו. נא לבקש חדש
       not_found: לא נמצא
       not_locked: לא היה נעול
       not_saved:
diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml
index ff79d036e..8c2c7b6a1 100644
--- a/config/locales/devise.nl.yml
+++ b/config/locales/devise.nl.yml
@@ -35,7 +35,7 @@ nl:
       updated: Jouw wachtwoord is gewijzigd. Je bent nu ingelogd.
       updated_not_active: Jouw wachtwoord is gewijzigd.
     registrations:
-      destroyed: Jouw account is verwijderd. Wellicht tot ziens!
+      destroyed: Jouw account is succesvol verwijderd. Wellicht tot ziens.
       signed_up: Je bent geregistreerd.
       signed_up_but_inactive: Je bent geregistreerd. Je kon alleen niet automatisch ingelogd worden omdat jouw account nog niet geactiveerd is.
       signed_up_but_locked: Je bent ingeschreven. Je kon alleen niet automatisch ingelogd worden omdat jouw account is opgeschort.
@@ -43,6 +43,7 @@ nl:
       update_needs_confirmation: Je hebt je e-mailadres succesvol gewijzigd, maar we moeten je nieuwe mailadres nog bevestigen. Controleer jouw e-mail en klik op de link in de mail om jouw e-mailadres te bevestigen. Kijk tussen je spam wanneer niks werd ontvangen.
       updated: Jouw accountgegevens zijn opgeslagen.
     sessions:
+      already_signed_out: Succesvol uitgelogd.
       signed_in: Je bent succesvol ingelogd.
       signed_out: Je bent succesvol uitgelogd.
     unlocks:
diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml
index 7980e107a..1925d5a65 100644
--- a/config/locales/doorkeeper.ar.yml
+++ b/config/locales/doorkeeper.ar.yml
@@ -30,7 +30,7 @@ ar:
         error: عفوا ! تحقق من خُلوّ الاستمارة من الأخطاء من فضلك
       help:
         native_redirect_uri: إستخدم %{native_redirect_uri} للاختبار و التجريب محليا
-        redirect_uri: إستخدم خطا واحدا لكل رابط.
+        redirect_uri: إستخدم خطا واحدا لكل رابط
         scopes: Separate scopes with spaces. Leave blank to use the default scopes.
       index:
         callback_url: رابط رد النداء
@@ -54,10 +54,10 @@ ar:
         title: حدث هناك خطأ
       new:
         able_to: يُخوَّل لهذا التطبيق القيام بـ
-        prompt: طلبَ تطبيق %{client_name} تصريحا لاستعمال حسابك.
+        prompt: طلبَ تطبيق %{client_name} تصريحا لاستعمال حسابك
         title: إذن بالتصريح
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: قم بنسخ رمز المصادقة و إلصاقه على التطبيق.
     authorized_applications:
       buttons:
         revoke: إبطال التصريح
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml
index c2d2b79b9..c1748d05b 100644
--- a/config/locales/doorkeeper.ca.yml
+++ b/config/locales/doorkeeper.ca.yml
@@ -3,8 +3,10 @@ ca:
   activerecord:
     attributes:
       doorkeeper/application:
-        name: Nom
+        name: Nom de l'aplicació
         redirect_uri: URI per a redirecció
+        scopes: Àmbits
+        website: Lloc web de l'aplicació
     errors:
       models:
         doorkeeper/application:
@@ -33,9 +35,13 @@ ca:
         redirect_uri: Utilitza una línia per URI
         scopes: Separa els àmbits amb espais. Deixa-ho en blanc per a utilitzar els àmbits per defecte.
       index:
-        callback_url: Callback URL
+        application: Aplicació
+        callback_url: URL de retorn
+        delete: Suprimeix
         name: Nom
         new: Aplicació nova
+        scopes: Àmbits
+        show: Mostra
         title: Les teves aplicacions
       new:
         title: Aplicació nova
@@ -67,6 +73,7 @@ ca:
         application: Aplicació
         created_at: Creat el
         date_format: "%A-%m-%d %H:%M:%S"
+        scopes: Àmbits
         title: Les teves aplicacions autoritzades
     errors:
       messages:
@@ -76,12 +83,12 @@ ca:
         invalid_grant: La concessió d'autorizació oferida és invàlida, ha vençut, s'ha revocat, no coincideix amb l'URI de redirecció utilizada en la petició d'autorizació, o fou emesa per a un altre client.
         invalid_redirect_uri: L'URI de redirecció inclòs no és vàlid.
         invalid_request: En la petició manca un paràmetre necessari o inclou un valor de paràmetre no suportat o te un altre tipus de format incorrecte.
-        invalid_resource_owner: Les credencials del propietari del recurso proporcionat no son vàlides, o el propietari del recurs no pot ser trobat.
+        invalid_resource_owner: Les credencials del propietari del recurs proporcionat no son vàlides, o el propietari del recurs no pot ser trobat
         invalid_scope: L'àmbit demanat és invàlid, desconegut o erroni.
         invalid_token:
-          expired: L'identificador d'accés ha caducat.
-          revoked: L'identificador d'accés fou revocat.
-          unknown: L'identificador d'accés és invàlid.
+          expired: L'identificador d'accés ha caducat
+          revoked: L'identificador d'accés fou revocat
+          unknown: L'identificador d'accés és invàlid
         resource_owner_authenticator_not_configured: El propietari del recurs ha fallat perquè Doorkeeper.configure.resource_owner_authenticator està sense configurar.
         server_error: El servidor de l'autorizació ha trobat unca condició inesperada que ha impedit complir la sol·licitud.
         temporarily_unavailable: El servidor de l'autorizació és actualment incapaç de gestionar la petició degut a una sobrecàrrega temporal o una tasca de manteniment del servidor.
diff --git a/config/locales/doorkeeper.es.yml b/config/locales/doorkeeper.es.yml
index ca6e620d8..976fae82c 100644
--- a/config/locales/doorkeeper.es.yml
+++ b/config/locales/doorkeeper.es.yml
@@ -36,7 +36,7 @@ es:
         scopes: Separe los ámbitos con espacios. Déjelo en blanco para utilizar los ámbitos por defecto.
       index:
         application: Aplicación
-        callback_url: Callback URL
+        callback_url: URL de callback
         delete: Eliminar
         name: Nombre
         new: Nueva aplicación
@@ -48,7 +48,7 @@ es:
       show:
         actions: Acciones
         application_id: Id de la aplicación
-        callback_urls: Callback URLs
+        callback_urls: URLs de callback
         scopes: Ámbitos
         secret: Secreto
         title: 'Aplicación: %{name}'
@@ -63,7 +63,7 @@ es:
         prompt: La aplicación %{client_name} solicita tener acceso a su cuenta
         title: Se requiere autorización
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: Copia este código de autorización y pégalo en la aplicación.
     authorized_applications:
       buttons:
         revoke: Revocar
@@ -83,12 +83,12 @@ es:
         invalid_grant: La concesión de autorización ofrecida es inválida, venció, se revocó, no coincide con la URI de redirección utilizada en la petición de autorización, o fue emitida para otro cliente.
         invalid_redirect_uri: La URI de redirección incluida no es válida.
         invalid_request: En la petición falta un parámetro necesario o incluye un valor de parámetro no soportado o tiene otro tipo de formato incorrecto.
-        invalid_resource_owner: Las credenciales del propietario del recurso proporcionado no son válidas, o el propietario del recurso no puede ser encontrado.
+        invalid_resource_owner: Las credenciales proporcionadas del propietario del recurso no son válidas, o el propietario del recurso no puede ser encontrado
         invalid_scope: El ámbito pedido es inválido, desconocido o erróneo.
         invalid_token:
-          expired: El identificador de acceso finalizó.
-          revoked: El identificador de acceso fue revocado.
-          unknown: El identificador de acceso es inválido.
+          expired: El autentificador de acceso expiró
+          revoked: El autentificador de acceso fue revocado
+          unknown: El autentificador de acceso es inválido
         resource_owner_authenticator_not_configured: El propietario del recurso falló debido a que Doorkeeper.configure.resource_owner_authenticator está sin configurar.
         server_error: El servidor de la autorización entontró una condición inesperada que le impidió cumplir con la solicitud.
         temporarily_unavailable: El servidor de la autorización es actualmente incapaz de manejar la petición debido a una sobrecarga temporal o un trabajo de mantenimiento del servidor.
diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml
index 1dcc0da18..a6b58156a 100644
--- a/config/locales/doorkeeper.fr.yml
+++ b/config/locales/doorkeeper.fr.yml
@@ -6,6 +6,7 @@ fr:
         name: Nom
         redirect_uri: L’URL de redirection
         scope: Portée
+        scopes: Étendue
         website: Site web de l'application
     errors:
       models:
@@ -35,9 +36,13 @@ fr:
         redirect_uri: Utiliser une ligne par URL
         scopes: Séparer les portées avec des espaces. Laisser vide pour utiliser les portées par défaut.
       index:
+        application: Application
         callback_url: URL de retour d’appel
+        delete: Effacer
         name: Nom
         new: Nouvelle application
+        scopes: Scopes
+        show: Voir
         title: Vos applications
       new:
         title: Nouvelle application
diff --git a/config/locales/doorkeeper.he.yml b/config/locales/doorkeeper.he.yml
index 78e72a56f..d797b0ac9 100644
--- a/config/locales/doorkeeper.he.yml
+++ b/config/locales/doorkeeper.he.yml
@@ -5,6 +5,8 @@ he:
       doorkeeper/application:
         name: שם
         redirect_uri: קישורית הפניה
+        scopes: תחומים
+        website: אתר יישום
     errors:
       models:
         doorkeeper/application:
@@ -33,16 +35,20 @@ he:
         redirect_uri: שימוש בשורה אחת לכל קישורית
         scopes: יש להפריד תחומים בעזרת רווחים. נה להשאיר ריק על מנת להשתמש בתחום ברירת המחדל.
       index:
-        callback_url: Callback URL
+        application: יישום
+        callback_url: כתובת גישה חוזרת (Callback URL)
+        delete: למחוק
         name: שם
         new: ישום חדש
+        scopes: תחומים
+        show: להציג
         title: ישומך
       new:
         title: ישום חדש
       show:
         actions: פעולות
         application_id: זהות ישום
-        callback_urls: Callback URLs
+        callback_urls: כתובות לקריאה חוזרת (Callback URLs)
         scopes: תחומים
         secret: סוד
         title: 'ישום: %{name}'
@@ -57,7 +63,7 @@ he:
         prompt: ישום %{client_name} מבקש גישה לחשבונך
         title: נדרשת הרשאה
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: יש להעתיק את קוד ההרשאה הזה ולהדביקו ביישום שביקש אותו.
     authorized_applications:
       buttons:
         revoke: ביטול
@@ -77,7 +83,7 @@ he:
         invalid_grant: חוזה ההרשאה המצורף אינו חוקי, אינו תקף, מבוטל, או שאינו מתאים לקישורית ההפניה שבשימוש על ידי בקשת ההרשאה, או שהופק על ידי לקוח אחר.
         invalid_redirect_uri: קישורית ההפניה המצורפת אינה חוקית.
         invalid_request: הבקשה חסרה פרמטר נדרש, מכילה פרמטר עם ערך שאיננו נתמך, או שתצורתה שגויה.
-        invalid_resource_owner: הרשאות בעלי המשאב שהוזנו אינן חוקיות, או שלא ניתן למצוא את בעלי המשאב.
+        invalid_resource_owner: הרשאות בעלי המשאב שהוזנו אינן חוקיות, או שלא ניתן למצוא את בעלי המשאב
         invalid_scope: התחום המבוקש אינו חוקי, אינו ידוע, או שתצורותו שגויה.
         invalid_token:
           expired: פג תוקף אסימון הגישה
@@ -104,7 +110,7 @@ he:
       admin:
         nav:
           applications: ישומים
-          oauth2_provider: OAuth2 Provider
+          oauth2_provider: ספק OAuth2
       application:
         title: נדרשת הרשאת OAuth
     scopes:
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
index f97aa8111..3dd0a7d26 100644
--- a/config/locales/doorkeeper.nl.yml
+++ b/config/locales/doorkeeper.nl.yml
@@ -32,7 +32,7 @@ nl:
         error: Oops! Controleer het formulier op fouten
       help:
         native_redirect_uri: Gebruik %{native_redirect_uri} voor lokale tests
-        redirect_uri: 'Gebruik één regel per URI. '
+        redirect_uri: Gebruik één regel per URI
         scopes: Toestemmingen met spaties van elkaar scheiden. Laat leeg om de standaardtoestemmingen te gebruiken.
       index:
         application: Toepassing
@@ -60,10 +60,10 @@ nl:
         title: Er is een fout opgetreden
       new:
         able_to: Deze toepassing zal in staat zijn om
-        prompt: "%{client_name} autoriseren om uw account te gebruiken?"
+        prompt: "%{client_name} autoriseren om je account te gebruiken"
         title: Autorisatie vereist
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: Kopieer deze autorisatiecode en plak het in de applicatie.
     authorized_applications:
       buttons:
         revoke: Intrekken
@@ -73,6 +73,7 @@ nl:
         application: Toepassing
         created_at: Aangemaakt op
         date_format: "%d-%m-%Y %H:%M:%S"
+        scopes: Toestemmingen
         title: Jouw geautoriseerde toepassingen
     errors:
       messages:
@@ -82,7 +83,7 @@ nl:
         invalid_grant: De verstrekte autorisatie is ongeldig, verlopen, ingetrokken, komt niet overeen met de redirect-URI die is opgegeven of werd uitgegeven aan een andere client.
         invalid_redirect_uri: De opgegeven redirect-URI is ongeldig.
         invalid_request: Het verzoek mist een vereiste parameter, bevat een niet ondersteunde parameterwaarde of is anderszins onjuist.
-        invalid_resource_owner: De verstrekte resource-eigenaargegevens zijn ogeldig of de resource-eigenaar kan niet worden gevonden.
+        invalid_resource_owner: De verstrekte resource-eigenaargegevens zijn ongeldig of de resource-eigenaar kan niet worden gevonden
         invalid_scope: De opgevraagde scope is ongeldig, onbekend of onjuist.
         invalid_token:
           expired: Het toegangssleutel is verlopen
@@ -92,8 +93,8 @@ nl:
         server_error: De autorisatieserver is is een onverwachte situatie tegengekomen die het verzoek verhinderde.
         temporarily_unavailable: De autorisatieserver is momenteel niet in staat het verzoek te behandelen als gevolg van een tijdelijke overbelasting of onderhoud aan de server.
         unauthorized_client: De client is niet bevoegd om dit verzoek op deze manier uit te voeren.
-        unsupported_grant_type: Het type autorisatie wordt niet door de autorisatieserver ondersteund
-        unsupported_response_type: De autorisatieserver ondersteund dit antwoordtype niet
+        unsupported_grant_type: Het type autorisatie wordt niet door de autorisatieserver ondersteund.
+        unsupported_response_type: De autorisatieserver ondersteund dit antwoordtype niet.
     flash:
       applications:
         create:
diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml
index 53cadec38..f3da6fcd1 100644
--- a/config/locales/doorkeeper.pt-BR.yml
+++ b/config/locales/doorkeeper.pt-BR.yml
@@ -51,7 +51,7 @@ pt-BR:
         callback_urls: URLs de retorno
         scopes: Autorizações
         secret: Segredo do cliente
-        title: 'Application: %{name}'
+        title: 'Aplicativo: %{name}'
     authorizations:
       buttons:
         authorize: Autorizar
@@ -63,7 +63,7 @@ pt-BR:
         prompt: O aplicativo %{client_name} solicita acesso à sua conta
         title: Autorização necessária
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: Copie este código de autorização e cole no aplicativo.
     authorized_applications:
       buttons:
         revoke: Revogar
@@ -83,7 +83,7 @@ pt-BR:
         invalid_grant: A garantia de autorização é inválida, expirou, foi revogada, não é equivalente à URI de redirecionamento usada da solicitação de autorização ou foi emitida por outro cliente.
         invalid_redirect_uri: A URI de redirecionamento incluída não é válida.
         invalid_request: A solicitação não possui um parâmetro obrigatório, inclui um valor não suportado ou está mal formatada.
-        invalid_resource_owner: As credenciais do proprietário não são válidas ou o proprietário não pôde ser encontrado.
+        invalid_resource_owner: As credenciais do proprietário informadas não são válidas ou o proprietário não pôde ser encontrado
         invalid_scope: A autorização requirida é inválida, desconhecida ou está mal formatada.
         invalid_token:
           expired: O token de acesso expirou
diff --git a/config/locales/doorkeeper.pt.yml b/config/locales/doorkeeper.pt.yml
index 30d9f7f5a..039b90ffa 100644
--- a/config/locales/doorkeeper.pt.yml
+++ b/config/locales/doorkeeper.pt.yml
@@ -3,8 +3,10 @@ pt:
   activerecord:
     attributes:
       doorkeeper/application:
-        name: Nome
-        redirect_uri: Redirect URI
+        name: Nome da Aplicação
+        redirect_uri: URL de redirecionamento
+        scopes: Scopes
+        website: Site da Aplicação
     errors:
       models:
         doorkeeper/application:
@@ -33,9 +35,12 @@ pt:
         redirect_uri: Utiliza uma linha por URI
         scopes: Separate scopes with spaces. Leave blank to use the default scopes.
       index:
+        application: Aplicações
         callback_url: Callback URL
+        delete: Eliminar
         name: Nome
         new: Nova Aplicação
+        show: Mostrar
         title: As tuas aplicações
       new:
         title: Nova aplicação
@@ -57,7 +62,7 @@ pt:
         prompt: Aplicação %{client_name} pede acesso à tua conta
         title: Autorização é necessária
       show:
-        title: Copy this authorization code and paste it to the application.
+        title: Copiar o código desta autorização e colar na aplicação.
     authorized_applications:
       buttons:
         revoke: Revogar
diff --git a/config/locales/es.yml b/config/locales/es.yml
index ca3bdd983..18b93b08e 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1,6 +1,7 @@
 ---
 es:
   about:
+    about_hashtag_html: Estos son toots públicos etiquetados con <strong>#%{hashtag}</strong>. Puedes interactuar con ellos si tienes una cuenta en cualquier parte del fediverso.
     about_mastodon_html: Mastodon es un servidor de red social <em>libre y de código abierto</em>. Una alternativa <em>descentralizada</em> a plataformas comerciales, que evita el riesgo de que una única compañía monopolice tu comunicación. Cualquiera puede ejecutar Mastodon y participar sin problemas en la <em>red social</em>.
     about_this: Acerca de esta instancia
     closed_registrations: Los registros están actualmente cerrados en esta instancia.
@@ -21,7 +22,7 @@ es:
       real_conversation_body: Con 500 caracteres a tu disposición y soporte para contenido granular y advertencias de contenido, puedes expresarte como quieras.
       real_conversation_title: Hecho para verdaderas conversaciones
       within_reach_body: Aplicaciones múltiples para iOS, Android, y otras plataformas gracias a un ecosistema de APIs amigable al desarrollador para permitirte estar con tus amigos donde sea.
-      within_reach_title: Always within reach
+      within_reach_title: Siempre al alcance
     find_another_instance: Busca otra instancia
     generic_description: "%{domain} es un servidor en la red"
     hosted_on: Mastodon hosteado en %{domain}
@@ -38,6 +39,7 @@ es:
     followers: Seguidores
     following: Siguiendo
     media: Media
+    moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
     nothing_here: "¡No hay nada aquí!"
     people_followed_by: Usuarios a quien %{name} sigue
     people_who_follow: Usuarios que siguen a %{name}
@@ -47,17 +49,31 @@ es:
     reserved_username: El nombre de usuario está reservado
     roles:
       admin: Administrador
+      moderator: Moderador
     unfollow: Dejar de seguir
   admin:
+    account_moderation_notes:
+      account: Moderador
+      create: Crear
+      created_at: Fecha
+      created_msg: "¡Nota de moderación creada con éxito!"
+      delete: Borrar
+      destroyed_msg: "¡Nota de moderación destruida con éxito!"
     accounts:
       are_you_sure: "¿Estás seguro?"
+      by_domain: Dominio
       confirm: Confirmar
       confirmed: Confirmado
+      demote: Degradar
+      disable: Deshabilitar
       disable_two_factor_authentication: Desactivar autenticación de dos factores
+      disabled: Deshabilitada
       display_name: Nombre
       domain: Dominio
       edit: Editar
       email: E-mail
+      enable: Habilitar
+      enabled: Habilitada
       feed_url: URL de notificaciones
       followers: Seguidores
       followers_url: URL de los seguidores
@@ -69,12 +85,15 @@ es:
         local: Local
         remote: Remoto
         title: Localización
+      login_status: Estado del login
       media_attachments: Multimedia
+      memorialize: Convertir en memorial
       moderation:
         all: Todos
         silenced: Silenciados
         suspended: Suspendidos
         title: Moderación
+      moderation_notes: Notas de moderación
       most_recent_activity: Actividad más reciente
       most_recent_ip: IP más reciente
       not_subscribed: No se está suscrito
@@ -85,6 +104,7 @@ es:
       outbox_url: URL de bandeja de salida
       perform_full_suspension: Performar suspensión completa
       profile_url: URL del perfil
+      promote: Promocionar
       protocol: Protocolo
       public: Público
       push_subscription_expires: Expiración de la suscripción PuSH
@@ -92,6 +112,11 @@ es:
       reset: Reiniciar
       reset_password: Reiniciar contraseña
       resubscribe: Re-suscribir
+      role: Permisos
+      roles:
+        admin: Administrador
+        moderator: Moderador
+        user: Usuario
       salmon_url: URL de salmón
       search: Buscar
       shared_inbox_url: URL de bandeja compartida
@@ -108,6 +133,56 @@ es:
       unsubscribe: Desuscribir
       username: Nombre de usuario
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} confirmó la dirección de correo del usuario %{target}"
+        create_custom_emoji: "%{name} subió un nuevo emoji %{target}"
+        create_domain_block: "%{name} bloqueó el dominio %{target}"
+        create_email_domain_block: "%{name} puso en lista negra el dominio de correos %{target}"
+        demote_user: "%{name} degradó al usuario %{target}"
+        destroy_domain_block: "%{name} desbloqueó el dominio %{target}"
+        destroy_email_domain_block: "%{name} puso en lista blanca el dominio de correos %{target}"
+        destroy_status: "%{name} eliminó el estado de %{target}"
+        disable_2fa_user: "%{name} deshabilitó el requerimiento de dos factores para el usuario %{target}"
+        disable_custom_emoji: "%{name} deshabilitó el emoji %{target}"
+        disable_user: "%{name} deshabilitó el acceso del usuario %{target}"
+        enable_custom_emoji: "%{name} habilitó el emoji %{target}"
+        enable_user: "%{name} habilitó el acceso del usuario %{target}"
+        memorialize_account: "%{name} convirtió la cuenta de %{target} en una página de memorial"
+        promote_user: "%{name} promoción al usuario %{target}"
+        reset_password_user: "%{name} restauró la contraseña del usuario %{target}"
+        resolve_report: "%{name} desestimó el reporte %{target}"
+        silence_account: "%{name} silenció la cuenta de %{target}"
+        suspend_account: "%{name} suspendió la cuenta de %{target}"
+        unsilence_account: "%{name} desactivó el silenciado de la cuenta de %{target}"
+        unsuspend_account: "%{name} desactivó la suspensión de la cuenta de %{target}"
+        update_custom_emoji: "%{name} actualizó el emoji %{target}"
+        update_status: "%{name} actualizó el estado de %{target}"
+      title: Log de auditoría
+    custom_emojis:
+      copied_msg: Copia local del emoji creada con éxito
+      copy: Copiar
+      copy_failed_msg: No se pudo realizar una copia local de ese emoji
+      created_msg: "¡Emoji creado con éxito!"
+      delete: Borrar
+      destroyed_msg: "¡Emojo destruido con éxito!"
+      disable: Deshabilitar
+      disabled_msg: Se deshabilitó con éxito ese emoji
+      emoji: Emoji
+      enable: Habilitar
+      enabled_msg: Se habilitó con éxito ese emoji
+      image_hint: PNG de hasta 50KB
+      listed: Listados
+      new:
+        title: Añadir nuevo emoji personalizado
+      overwrite: Sobrescribir
+      shortcode: Código de atajo
+      shortcode_hint: Al menos 2 caracteres, solo caracteres alfanuméricos y guiones bajos
+      title: Emojis personalizados
+      unlisted: Sin listar
+      update_failed_msg: No se pudo actualizar ese emoji
+      updated_msg: "¡Emoji actualizado con éxito!"
+      upload: Subir
     domain_blocks:
       add_new: Añadir nuevo
       created_msg: El bloque de dominio está siendo procesado
@@ -140,12 +215,29 @@ es:
         undo: Deshacer
       title: Bloques de Dominio
       undo: Deshacer
+    email_domain_blocks:
+      add_new: Añadir nuevo
+      created_msg: Dominio de correo añadido a la lista negra con éxito
+      delete: Borrar
+      destroyed_msg: Dominio de correo borrado de la lista negra con éxito
+      domain: Dominio
+      new:
+        create: Añadir dominio
+        title: Nueva entrada en la lista negra de correo
+      title: Lista negra de correo
     instances:
       account_count: Cuentas conocidas
       domain_name: Dominio
       reset: Reiniciar
       search: Buscar
       title: Instancias conocidas
+    invites:
+      filter:
+        all: Todas
+        available: Disponibles
+        expired: Expiradas
+        title: Filtrar
+      title: Invitaciones
     reports:
       action_taken_by: Acción tomada por
       are_you_sure: "¿Estás seguro?"
@@ -172,7 +264,7 @@ es:
       view: Ver
     settings:
       bootstrap_timeline_accounts:
-        desc_html: Separa nombres de usuarios múltiples con coma. Solo funcionará con cuentas desbloqueadas. Si está vacío, el predeterminado son todos los administradores locales
+        desc_html: Separa con comas los nombres de usuario. Solo funcionará para cuentas locales desbloqueadas. Si se deja vacío, se tomará como valor por defecto a todos los administradores locales.
         title: Seguimientos predeterminados para usuarios nuevos
       contact_information:
         email: Correo de trabajo
@@ -184,9 +276,15 @@ es:
         deletion:
           desc_html: Permite a cualquiera a eliminar su cuenta
           title: Eliminación de cuenta abierta
+        min_invite_role:
+          disabled: Nadie
+          title: Permitir invitaciones de
         open:
           desc_html: Permite a cualquiera a registrar una cuenta
           title: Registro abierto
+      show_staff_badge:
+        desc_html: Mostrar un parche de staff en la página de un usuario
+        title: Mostrar parche de staff
       site_description:
         desc_html: Párrafo introductorio en la portada y en meta tags. Puedes usar tags HTML, en particular <code>&lt;a&gt;</code> y <code>&lt;em&gt;</code>.
         title: Descripción de instancia
@@ -232,6 +330,7 @@ es:
       body: "%{reporter} ha reportado a %{target}"
       subject: Nuevo reporte para la %{instance} (#%{id})
   application_mailer:
+    salutation: "%{name},"
     settings: 'Cambiar preferencias de correo: %{link}'
     signature: Notificaciones de Mastodon desde %{instance}
     view: 'Vista:'
@@ -246,12 +345,15 @@ es:
   auth:
     agreement_html: Al registrarte aceptas <a href="%{rules_path}">nuestros y términos y condiciones del servicio</a> y <a href="%{terms_path}">nuestras políticas de privacidda</a>.
     change_password: Cambiar contraseña
+    delete_account: Borrar cuenta
     delete_account_html: Si desea eliminar su cuenta, puede <a href="%{path}">proceder aquí</a>. Será pedido de una confirmación.
     didnt_get_confirmation: "¿No recibió el correo de confirmación?"
     forgot_password: "¿Olvidaste tu contraseña?"
     invalid_reset_password_token: El token de reinicio de contraseña es inválido o expiró. Por favor pide uno nuevo.
     login: Iniciar sesión
     logout: Cerrar sesión
+    migrate_account: Mudarse a otra cuenta
+    migrate_account_html: Si deseas redireccionar esta cuenta a otra distinta, puedes <a href="%{path}">configurarlo aquí</a>.
     register: Registrarse
     resend_confirmation: Volver a enviar el correo de confirmación
     reset_password: Restablecer contraseña
@@ -296,11 +398,15 @@ es:
       content: Verificación de seguridad fallida. ¿Estás bloqueando algunas cookies?
       title: Verificación de seguridad fallida
     '429': Asfixiado
+    '500':
+      content: Lo sentimos, algo ha funcionado mal por nuestra parte.
+      title: Esta página no es correcta
     noscript_html: Para usar la aplicación web de Mastodon, por favor activa Javascript. Alternativamente, prueba alguna de las <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">aplicaciones nativas</a> para Mastodon para tu plataforma.
   exports:
     blocks: Personas que has bloqueado
     csv: CSV
     follows: Personas que sigues
+    mutes: Tienes en silencio
     storage: Almacenamiento
   followers:
     domain: Dominio
@@ -329,19 +435,47 @@ es:
       following: Lista de seguidos
       muting: Lista de silenciados
     upload: Cargar
+  in_memoriam_html: In Memoriam.
+  invites:
+    delete: Desactivar
+    expired: Expiradas
+    expires_in:
+      '1800': 30 minutos
+      '21600': 6 horas
+      '3600': 1 hora
+      '43200': 12 horas
+      '86400': 1 día
+    expires_in_prompt: Nunca
+    generate: Generar
+    max_uses:
+      one: 1 uso
+      other: "%{count} usos"
+    max_uses_prompt: Sin límite
+    prompt: Generar y compartir enlaces con otros para conceder acceso a este nodo
+    table:
+      expires_at: Expira
+      uses: Usos
+    title: Invitar a gente
   landing_strip_html: "<strong>%{name}</strong> es un usuario en %{link_to_root_path}. Puedes seguirlo(a) o interactuar con el o ella si tienes una cuenta en cualquier parte del fediverse."
   landing_strip_signup_html: Si no tienes una, puedes <a href="%{sign_up_path}">registrarte aquí</a>.
   media_attachments:
     validations:
       images_and_video: No se puede adjuntar un video a un estado que ya contenga imágenes
       too_many: No se pueden adjuntar más de 4 archivos
+  migrations:
+    acct: username@domain de la nueva cuenta
+    currently_redirecting: 'Tu perfil está redireccionado a:'
+    proceed: Guardar
+    updated_msg: "¡La configuración de migración de tu cuenta  ha sido actualizada con éxito!"
+  moderation:
+    title: Moderación
   notification_mailer:
     digest:
       body: 'Un resumen de lo que te perdiste en %{instance} desde tu última visita el %{since}:'
       mention: "%{name} te ha mencionado en:"
       new_followers_summary:
-        one: "¡Hurra! Alguien más te ha comenzado a seguir"
-        other: "¡Genial! Te han seguido %{count} nuevas personas"
+        one: "¡Hurra! ¡Tienes un nuevo seguidor!"
+        other: "¡Genial! ¡Tienes %{count} nuevos seguidores!"
       subject:
         one: "1 nueva notificación desde tu última visita \U0001F418"
         other: "%{count} nuevas notificaciones desde tu última visita \U0001F418"
@@ -358,7 +492,7 @@ es:
       body: 'Fuiste mencionado por %{name} en:'
       subject: Fuiste mencionado por %{name}
     reblog:
-      body: "%{name} ha retooteado tu estado"
+      body: "%{name} ha retooteado tu estado:"
       subject: "%{name} ha retooteado tu estado"
   number:
     human:
@@ -375,6 +509,11 @@ es:
     next: Próximo
     prev: Anterior
     truncate: "&hellip;"
+  preferences:
+    languages: Idiomas
+    other: Otros
+    publishing: Publicación
+    web: Web
   push_notifications:
     favourite:
       title: "%A {name} le gustó tu estado"
@@ -383,7 +522,7 @@ es:
     group:
       title: "%{count} notificaciones"
     mention:
-      action_boost: Boost
+      action_boost: Retoot
       action_expand: Mostrar más
       action_favourite: Me Gusta
       title: "%{name} te mencionó"
@@ -391,7 +530,7 @@ es:
       title: "%{name} boosteó tu estado"
   remote_follow:
     acct: Ingesa el usuario@dominio de la persona que quieres seguir
-    missing_resource: No se pudo encontrar la URL de redirección necesaria para su cuenta.
+    missing_resource: No se pudo encontrar la URL de redirección requerida para tu cuenta
     proceed: Proceder a seguir
     prompt: 'Vas a seguir a:'
   sessions:
@@ -430,15 +569,20 @@ es:
       windows: Windows
       windows_mobile: Windows Mobile
       windows_phone: Windows Phone
-    revoke: Revoke
+    revoke: Revocar
     revoke_success: Sesión revocada exitosamente
     title: Sesiones
   settings:
     authorized_apps: Aplicaciones autorizadas
     back: Volver al inicio
+    delete: Borrar cuenta
+    development: Desarrollo
     edit_profile: Editar perfil
     export: Exportar información
+    followers: Seguidores autorizados
     import: Importar
+    migrate: Migración de cuenta
+    notifications: Notificaciones
     preferences: Preferencias
     settings: Ajustes
     two_factor_authentication: Autenticación de dos factores
@@ -534,6 +678,8 @@ es:
 
       <p>Adaptado originalmente del <a href="https://github.com/discourse/discourse">discurso de las políticas de privacidad</a>.</p>
     title: Términos del Servicio y Políticas de Privacidad de %{instance}
+  themes:
+    default: Mastodon
   time:
     formats:
       default: "%d de %b del %Y, %H:%M"
@@ -542,11 +688,14 @@ es:
     description_html: Si habilitas la <strong>autenticación de dos factores</strong>, se requerirá estar en posesión de su teléfono, lo que generará tokens para que usted pueda iniciar sesión.
     disable: Deshabilitar
     enable: Habilitar
+    enabled: La autenticación de dos factores está activada
     enabled_success: Verificación de dos factores activada exitosamente
     generate_recovery_codes: generar códigos de recuperación
     instructions_html: "<strong>Escanea este código QR desde Google Authenticator o una aplicación similar en su teléfono</strong>. Desde ahora, esta aplicación va a generar tokens que tienes que ingresar cuando quieras iniciar sesión."
     lost_recovery_codes: Los códigos de recuperación te permiten obtener acceso a tu cuenta si pierdes tu teléfono. Si has perdido tus códigos de recuperación, puedes regenerarlos aquí. Tus viejos códigos de recuperación se harán inválidos.
+    manual_instructions: 'Si no puedes escanear el código QR y necesitas introducirlo manualmente, este es el secreto en texto plano:'
     recovery_codes: Hacer copias de seguridad de tus códigos de recuperación
+    recovery_codes_regenerated: Códigos de recuperación regenerados con éxito
     recovery_instructions_html: Si pierdes acceso a tu teléfono, puedes usar uno de los siguientes códigos de recuperación para obtener acceso a tu cuenta. <strong>Mantenlos a salvo</strong>. Por ejemplo, puedes imprimirlos y guardarlos con otros documentos importantes.
     setup: Configurar
     wrong_code: "¡El código ingresado es inválido! ¿El dispositivo y tiempo del servidor están correctos?"
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 2fd875b2c..cd97f5967 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -39,6 +39,7 @@ fr:
     followers: Abonné⋅e⋅s
     following: Abonnements
     media: Médias
+    moved_html: "%{name} a déménagé vers %{new_profile_link} :"
     nothing_here: Rien à voir ici !
     people_followed_by: Personnes suivies par %{name}
     people_who_follow: Personnes qui suivent %{name}
@@ -48,6 +49,7 @@ fr:
     reserved_username: Ce nom d’utilisateur⋅ice est réservé
     roles:
       admin: Admin
+      moderator: Modérateur·trice
     unfollow: Ne plus suivre
   admin:
     account_moderation_notes:
@@ -59,13 +61,19 @@ fr:
       destroyed_msg: Note de modération supprimée avec succès !
     accounts:
       are_you_sure: Êtes-vous certain⋅e ?
+      by_domain: Domaine
       confirm: Confirmer
       confirmed: Confirmé
+      demote: Rétrograder
+      disable: Désactiver
       disable_two_factor_authentication: Désactiver l’authentification à deux facteurs
+      disabled: Désactivé
       display_name: Nom affiché
       domain: Domaine
       edit: Éditer
       email: Courriel
+      enable: Activer
+      enabled: Activé
       feed_url: URL du flux
       followers: Abonné⋅e⋅s
       followers_url: URL des abonné·e·s
@@ -77,7 +85,9 @@ fr:
         local: Local
         remote: Distant
         title: Situation
+      login_status: Statut de connexion
       media_attachments: Fichiers médias
+      memorialize: Convertir en mémorial
       moderation:
         all: Tous
         silenced: Masqués
@@ -94,13 +104,19 @@ fr:
       outbox_url: URL de sortie
       perform_full_suspension: Effectuer une suspension complète
       profile_url: URL du profil
+      promote: Promouvoir
       protocol: Protocole
-      public: Public
+      public: Publique
       push_subscription_expires: Expiration de l’abonnement PuSH
       redownload: Rafraîchir les avatars
       reset: Réinitialiser
       reset_password: Réinitialiser le mot de passe
       resubscribe: Se réabonner
+      role: Permissions
+      roles:
+        admin: Administrateur
+        moderator: Modérateur
+        user: Utilisateur
       salmon_url: URL Salmon
       search: Rechercher
       shared_inbox_url: URL de la boite de réception partagée
@@ -117,6 +133,31 @@ fr:
       unsubscribe: Se désabonner
       username: Nom d’utilisateur⋅ice
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} adresse e-mail confirmée de l'utilisateur %{target}"
+        create_custom_emoji: "%{name} a importé de nouveaux emoji %{target}"
+        create_domain_block: "%{name} a bloqué le domaine %{target}"
+        create_email_domain_block: "%{name} a blacklisté le domaine de l'e-mail %{target}"
+        destroy_domain_block: "%{name} a débloqué le domaine %{target}"
+        destroy_email_domain_block: "%{name} a mis le domaine de l'e-mail %{target} sur liste blanche"
+        destroy_status: "%{name} a enlevé le statut de %{target}"
+        disable_2fa_user: "%{name} a désactivé l'authentification à deux facteurs pour l'utilisateur %{target}"
+        disable_custom_emoji: "%{name} a désactivé l'emoji %{target}"
+        disable_user: "%{name} a désactivé le login pour l'utilisateur %{target}"
+        enable_custom_emoji: "%{name} a activé l'emoji %{target}"
+        enable_user: "%{name} a activé le login pour l'utilisateur %{target}"
+        memorialize_account: "%{name} a transformé le compte de %{target} en une page de mémorial"
+        promote_user: "%{name} a promu l'utilisateur %{target}"
+        reset_password_user: "%{name} a réinitialisé le mot de passe de %{target}"
+        resolve_report: "%{name} n'a pas pris en compte la dénonciation de %{target}"
+        silence_account: "%{name} a mis le compte %{target} en mode silence"
+        suspend_account: "%{name} a suspendu le compte %{target}"
+        unsilence_account: "%{name} a mis fin au mode silence de %{target}"
+        unsuspend_account: "%{name} a réactivé le compte de %{target}"
+        update_custom_emoji: "%{name} a mis à jour l'emoji %{target}"
+        update_status: "%{name} a mis à jour le statut de %{target}"
+      title: Journal d'audit
     custom_emojis:
       copied_msg: Copie locale de l’émoji créée avec succès !
       copy: Copier
@@ -130,11 +171,16 @@ fr:
       enable: Activer
       enabled_msg: Émoji activé avec succès
       image_hint: PNG de moins de 50 Ko
+      listed: Listé
       new:
         title: Ajouter un nouvel émoji personnalisé
+      overwrite: Réécrire
       shortcode: Raccourci
       shortcode_hint: Au moins deux caractères, seulement des caractères alphanumériques ou des tirets bas
       title: Émoji personnalisés
+      unlisted: Délisté
+      update_failed_msg: N'a pas pu mettre à jour cet emoji
+      updated_msg: Emoji mis à jour avec succès !
       upload: Téléverser
     domain_blocks:
       add_new: Ajouter
@@ -145,13 +191,13 @@ fr:
         create: Créer le blocage
         hint: Le blocage de domaine n’empêchera pas la création de comptes dans la base de données, mais il appliquera automatiquement et rétrospectivement des méthodes de modération spécifiques sur ces comptes.
         severity:
-          desc_html: "<strong>Silence</strong> rendra les messages des comptes concernés invisibles à ceux qui ne les suivent pas. <strong>Suspend</strong> supprimera tout le contenu des comptes concernés, les médias, et les données du profil."
+          desc_html: "<strong>Silence</strong> rendra les messages des comptes concernés invisibles à ceux qui ne les suivent pas. <strong>Suspendre</strong> supprimera tout le contenu des comptes concernés, les médias, et les données du profil."
           noop: Aucune
           silence: Masqué
           suspend: Suspendre
         title: Nouveau blocage de domaine
       reject_media: Fichiers média rejetés
-      reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions.
+      reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions
       severities:
         noop: Aucune
         silence: Masquer
@@ -184,6 +230,13 @@ fr:
       reset: Réinitialiser
       search: Rechercher
       title: Instances connues
+    invites:
+      filter:
+        all: Tout
+        available: Disponible
+        expired: Expiré
+        title: Filtre
+      title: Invitations
     reports:
       action_taken_by: Intervention de
       are_you_sure: Êtes vous certain⋅e ?
@@ -222,11 +275,17 @@ fr:
         deletion:
           desc_html: Permettre à tou·te·s les utilisateur·ice·s de supprimer leur compte
           title: Autoriser les suppressions de compte
+        min_invite_role:
+          disabled: Personne
+          title: Autoriser les invitations par
         open:
           desc_html: Autoriser tout le monde à créer un compte
           title: Ouvrir les inscriptions
+      show_staff_badge:
+        desc_html: Montrer un badge de responsable sur une page utilisateur
+        title: Montrer un badge de responsable
       site_description:
-        desc_html: Affichée sous la forme d’un paragraphe sur la page d’accueil et utilisée comme balise meta.<br>Vous pouvez utiliser des balises HTML, en particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>.
+        desc_html: Affichée sous la forme d’un paragraphe sur la page d’accueil et utilisée comme balise meta.<br/>Vous pouvez utiliser des balises HTML, en particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>.
         title: Description du site
       site_description_extended:
         desc_html: Affichée sur la page d’informations complémentaires du site<br>Vous pouvez utiliser des balises HTML
@@ -273,7 +332,7 @@ fr:
     salutation: "%{name},"
     settings: 'Changer les préférences courriel : %{link}'
     signature: Notifications de Mastodon depuis %{instance}
-    view: 'Voir :'
+    view: 'Voir :'
   applications:
     created: Application créée avec succès
     destroyed: Application supprimée avec succès
@@ -292,6 +351,8 @@ fr:
     invalid_reset_password_token: Le lien de réinitialisation du mot de passe est invalide ou a expiré. Merci de réessayer.
     login: Se connecter
     logout: Se déconnecter
+    migrate_account: Déplacer vers un compte différent
+    migrate_account_html: Si vous voulez rediriger ce compte vers un autre, vous pouvez le <a href="%{path}">configurer ici</a>.
     register: S’inscrire
     resend_confirmation: Envoyer à nouveau les consignes de confirmation
     reset_password: Réinitialiser le mot de passe
@@ -299,8 +360,8 @@ fr:
   authorize_follow:
     error: Malheureusement, il y a eu une erreur en cherchant les détails du compte distant
     follow: Suivre
-    follow_request: 'Vous avez demandé à suivre:'
-    following: 'Youpi ! Vous suivez :'
+    follow_request: 'Vous avez demandé à suivre :'
+    following: 'Youpi ! Vous suivez  :'
     post_follow:
       close: Ou bien, vous pouvez fermer cette fenêtre.
       return: Retour au profil de l’utilisateur⋅ice
@@ -323,7 +384,7 @@ fr:
   deletes:
     bad_password_msg: Bien essayé ! Mot de passe incorrect
     confirm_password: Entrez votre mot de passe pour vérifier votre identité
-    description_html: Cela va supprimer votre compte et le désactiver de manière <strong>permanente et irréversible</strong>. Votre nom d’utilisateur⋅ice restera réservé afin d’éviter la confusion
+    description_html: Cela va supprimer votre compte et le désactiver de manière <strong>permanente et irréversible</strong>. Votre nom d’utilisateur⋅ice restera réservé afin d’éviter la confusion.
     proceed: Supprimer compte
     success_msg: Votre compte a été supprimé avec succès
     warning_html: Seule la suppression du contenu depuis cette instance est garantie. Le contenu qui a été partagé est susceptible de laisser des traces. Les serveurs hors-lignes ainsi que ceux n’étant plus abonnés à vos publications ne mettront pas leur base de données à jour.
@@ -335,11 +396,11 @@ fr:
     '422':
       content: Vérification de sécurité échouée. Bloquez-vous les cookies ?
       title: Vérification de sécurité échouée
-    '429': Trop de requêtes émises dans un délai donné.
+    '429': Trop de requêtes émises dans un délai donné
     '500':
       content: Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté.
       title: Cette page n’est pas correcte
-    noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript
+    noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez l'une des <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">applications natives</a> pour Mastodon pour votre plate-forme.
   exports:
     blocks: Vous bloquez
     csv: CSV
@@ -363,8 +424,8 @@ fr:
     powered_by: propulsé par %{link}
     save_changes: Enregistrer les modifications
     validation_errors:
-      one: Quelque chose ne va pas ! Vérifiez l’erreur ci-dessous.
-      other: Certaines choses ne vont pas ! Vérifiez les erreurs ci-dessous.
+      one: Quelque chose ne va pas ! Vérifiez l’erreur ci-dessous
+      other: Certaines choses ne vont pas ! Vérifiez les %{count} erreurs ci-dessous
   imports:
     preface: Vous pouvez importer certaines données comme les personnes que vous suivez ou bloquez sur votre compte sur cette instance à partir de fichiers créés sur une autre instance.
     success: Vos données ont été importées avec succès et seront traitées en temps et en heure
@@ -373,16 +434,44 @@ fr:
       following: Liste d’utilisateur⋅ice⋅s suivi⋅e⋅s
       muting: Liste d’utilisateur⋅ice⋅s que vous masquez
     upload: Importer
+  in_memoriam_html: In Memoriam.
+  invites:
+    delete: Désactiver
+    expired: Expiré
+    expires_in:
+      '1800': 30 minutes
+      '21600': 6 heures
+      '3600': 1 heure
+      '43200': 12 heures
+      '86400': 1 jour
+    expires_in_prompt: Jamais
+    generate: Générer
+    max_uses:
+      one: 1 usage
+      other: "%{count} usages"
+    max_uses_prompt: Pas de limite
+    prompt: Générer et partager des liens avec les autres pour donner accès à cette instance
+    table:
+      expires_at: Expire
+      uses: Utilise
+    title: Personnes invitées
   landing_strip_html: <strong>%{name}</strong> utilise %{link_to_root_path}. Vous pouvez læ suivre et interagir si vous possédez un compte quelque part dans le "fediverse".
   landing_strip_signup_html: Si ce n’est pas le cas, vous pouvez <a href="%{sign_up_path}">en créer un ici</a>.
   media_attachments:
     validations:
       images_and_video: Impossible de joindre une vidéo à un statut contenant déjà des images
       too_many: Impossible de joindre plus de 4 fichiers
+  migrations:
+    acct: utilisateur@domaine du nouveau compte
+    currently_redirecting: 'Votre profile va être redirigé vers :'
+    proceed: Enregistrer
+    updated_msg: Les paramètres de votre migration de compte ont été mis à jour avec succès !
+  moderation:
+    title: Modération
   notification_mailer:
     digest:
-      body: 'Voici ce que vous avez raté sur ${instance} depuis votre dernière visite (%{}) :'
-      mention: "%{name} vous a mentionné⋅e"
+      body: 'Voici ce que vous avez raté sur ${instance} depuis votre dernière visite le %{since} :'
+      mention: "%{name} vous a mentionné⋅e dans :"
       new_followers_summary:
         one: Vous avez un⋅e nouvel⋅le abonné⋅e ! Youpi !
         other: Vous avez %{count} nouveaux⋅elles abonné⋅e⋅s ! Incroyable !
@@ -390,7 +479,7 @@ fr:
         one: "Une nouvelle notification depuis votre dernière visite \U0001F418"
         other: "%{count} nouvelles notifications depuis votre dernière visite \U0001F418"
     favourite:
-      body: "%{name} a ajouté votre post à ses favoris :"
+      body: "%{name} a ajouté votre post à ses favoris :"
       subject: "%{name} a ajouté votre post à ses favoris"
     follow:
       body: "%{name} vous suit !"
@@ -399,10 +488,10 @@ fr:
       body: "%{name} a demandé à vous suivre"
       subject: 'Abonné⋅es en attente : %{name}'
     mention:
-      body: "%{name} vous a mentionné⋅e dans :"
+      body: "%{name} vous a mentionné⋅e dans :"
       subject: "%{name} vous a mentionné·e"
     reblog:
-      body: "%{name} a partagé votre statut :"
+      body: "%{name} a partagé votre statut :"
       subject: "%{name} a partagé votre statut"
   number:
     human:
@@ -442,7 +531,7 @@ fr:
     acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre ce⋅tte utilisateur⋅rice
     missing_resource: L’URL de redirection n’a pas pu être trouvée
     proceed: Continuez pour suivre
-    prompt: 'Vous allez suivre :'
+    prompt: 'Vous allez suivre :'
   sessions:
     activity: Dernière activité
     browser: Navigateur
@@ -491,6 +580,7 @@ fr:
     export: Export de données
     followers: Abonné⋅es autorisé⋅es
     import: Import de données
+    migrate: Migration de compte
     notifications: Notifications
     preferences: Préférences
     settings: Réglages
@@ -587,6 +677,8 @@ fr:
 
       <p>Originellement adapté à partir de la politique de confidentialité de <a href="https://github.com/discourse/discourse">Discourse</a>.</p>
     title: "%{instance} Conditions d’utilisations et politique de confidentialité"
+  themes:
+    default: Mastodon
   time:
     formats:
       default: "%d %b %Y, %H:%M"
@@ -600,7 +692,7 @@ fr:
     generate_recovery_codes: Générer les codes de récupération
     instructions_html: "<strong>Scannez ce QR code grâce à Google Authenticator, Authy ou une application similaire sur votre téléphone</strong>. Désormais, cette application génèrera des jetons que vous devrez saisir à chaque connexion."
     lost_recovery_codes: Les codes de récupération vous permettent de retrouver les accès à votre comptre si vous perdez votre téléphone. Si vous perdez vos codes de récupération, vous pouvez les générer à nouveau ici. Vos anciens codes de récupération seront invalidés.
-    manual_instructions: 'Si vous ne pouvez pas scanner ce QR code et devez l’entrer manuellement, voici le secret en clair :'
+    manual_instructions: 'Si vous ne pouvez pas scanner ce QR code et devez l’entrer manuellement, voici le secret en clair :'
     recovery_codes: Codes de récupération
     recovery_codes_regenerated: Codes de récupération régénérés avec succès
     recovery_instructions_html: Si vous perdez l’accès à votre téléphone, vous pouvez utiliser un des codes de récupération ci-dessous pour récupérer l’accès à votre compte. Conservez les codes de récupération en toute sécurité, par exemple, en les imprimant et en les stockant avec vos autres documents importants.
@@ -609,4 +701,4 @@ fr:
   users:
     invalid_email: L’adresse courriel est invalide
     invalid_otp_token: Le code d’authentification à deux facteurs est invalide
-    signed_in_as: 'Connecté·e en tant que :'
+    signed_in_as: 'Connecté·e en tant que :'
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 84d6d8468..4b977ce1b 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -1,54 +1,99 @@
 ---
 he:
   about:
+    about_hashtag_html: אלו סטטוסים פומביים המתוייגים בתור<strong>#%{hashtag}</strong>. ניתן להגיב, להדהד או לחבב אותם אם יש לך חשבון בכל מקום בפדרציה.
     about_mastodon_html: מסטודון היא רשת חברתית <em>חופשית, מבוססת תוכנה חופשית ("קוד פתוח")</em>. כאלטרנטיבה <em>בלתי ריכוזית</em> לפלטפרומות המסחריות, מסטודון מאפשרת להמנע מהסיכונים הנלווים להפקדת התקשורת שלך בידי חברה יחידה. שמת את מבטחך בשרת אחד &mdash; לא משנה במי בחרת, תמיד אפשר לדבר עם כל שאר המשתמשים. לכל מי שרוצה יש את האפשרות להקים שרת מסטודון עצמאי, ולהשתתף ב<em>רשת החברתית</em> באופן חלק.
     about_this: אודות שרת זה
     closed_registrations: הרשמות סגורות לשרת זה לעת עתה.
     contact: צור קשר
+    contact_missing: אין
+    contact_unavailable: לא רלוונטי/חסר
     description_headline: מהו %{domain}?
     domain_count_after: שרתים אחרים
     domain_count_before: מחובר אל
+    extended_description_html: |
+      <h3>מקום טוב לכללים</h3>
+      <p>התיאור המורחב טרם הוגדר.</p>
+    features:
+      humane_approach_body: מתוך למידה מכשלים של רשתות אחרות, מסטודון מכוונת להחלטות תכנוניות אתיות שנאבקות בשימוש לרעה של מדיה חברתית.
+      humane_approach_title: גישה הומאנית יותר
+      not_a_product_body: מסטודון איננה רשת מסחרית. אין פרסום, אין כריית מידע, אין גנים סגורים. אין סמכות מרכזית.
+      not_a_product_title: את(ה) אדם, לא מוצר
+      real_conversation_body: עם 500 תווים לרשותך, ואפשרויות פרטניות לאזהרות תוכן והסתרת מדיה, יש לך את החופש להתבטא כרצונך.
+      real_conversation_title: בנוי לשיחות אמתיות
+      within_reach_body: שלל אפליקציות עבור iOS, אנדרואיד ופלטפורמות אחרות שיאפשרו לך לשמור על קשר עם חברים בכל מקום, תודות למערכת מנשקי תוכנה ידידותיים למפתחים.
+      within_reach_title: תמיד במרחק נגיעה
+    find_another_instance: לאיתור שרת אחר
+    generic_description: "%{domain} הוא שרת אחד בתוך הרשת"
+    hosted_on: מסטודון שיושב בכתובת %{domain}
+    learn_more: מידע נוסף
     other_instances: שרתים אחרים
     source_code: קוד מקור
     status_count_after: הודעות
     status_count_before: שכתבו
     user_count_after: משתמשים
     user_count_before: ביתם של
+    what_is_mastodon: מה זה מסטודון?
   accounts:
     follow: לעקוב
     followers: עוקבים
     following: נעקבים
+    media: מדיה
+    moved_html: "%{name} עבר(ה) אל %{new_profile_link}:"
     nothing_here: אין פה שום דבר!
     people_followed_by: הנעקבים של %{name}
     people_who_follow: העוקבים של %{name}
     posts: הודעות
+    posts_with_replies: חצרוצים ותגובות
     remote_follow: מעקב מרחוק
+    reserved_username: שם המשתמש שמור
+    roles:
+      admin: מנהל
+      moderator: מנחה
     unfollow: הפסקת מעקב
   admin:
+    account_moderation_notes:
+      account: מנחה דיון
+      create: ליצור
+      created_at: תאריך
+      created_msg: הודעת מנחה נוצרה בהצלחה!
+      delete: למחוק
+      destroyed_msg: הודעת מנחה נמחקה בהצלחה!
     accounts:
       are_you_sure: בטוח?
-      confirm: אשר
+      by_domain: שם מתחם
+      confirm: אישור
       confirmed: אושר
+      demote: הורדה בדרגה
+      disable: לחסום
       disable_two_factor_authentication: ביטול הזדהות דו-שלבית
+      disabled: נחסם
       display_name: שם לתצוגה
       domain: תחום
       edit: עריכה
       email: דוא"ל
+      enable: לאפשר
+      enabled: מאופשר
       feed_url: כתובת פיד
       followers: עוקבים
+      followers_url: כתובת עוקבים
       follows: נעקבים
+      inbox_url: כתובת תיבה נכנסת
       ip: כתובת IP
       location:
         all: הכל
         local: מקומי
         remote: מרחוק
         title: מיקום
+      login_status: מצב חיבור
       media_attachments: תוספות מדיה
+      memorialize: הפוך לדף זכרון
       moderation:
         all: הכל
         silenced: מושתקים
         suspended: מושהים
         title: ניהול קהילה
+      moderation_notes: הודעות מנחה
       most_recent_activity: פעילות עדכנית
       most_recent_ip: כתובות אחרונות
       not_subscribed: לא רשום
@@ -56,25 +101,49 @@ he:
         alphabetic: אלפביתי
         most_recent: עדכני
         title: סידור
+      outbox_url: כתובת תיבת דואר יוצא
       perform_full_suspension: ביצוע השעייה מלאה
       profile_url: כתובת פרופיל
+      promote: להעלות בדרגה
+      protocol: פרטיכל
       public: פומבי
       push_subscription_expires: הרשמה להודעות בדחיפה פגה
+      redownload: לקריאה מחדש של האווטאר
       reset: איפוס
       reset_password: אתחול סיסמא
+      resubscribe: להרשם מחדש
+      role: הרשאות
+      roles:
+        admin: מנהל מערכת
+        moderator: מנחה דיונים
+        user: משתמש(ת)
       salmon_url: כתובת סלמון
       search: חיפוש
+      shared_inbox_url: תיבה משותפת לדואר נכנס
       show:
         created_reports: דיווחים מאת חשבון זה
         report: דו"ח
         targeted_reports: דיווחים נגד חשבון זה
       silence: השתקה
       statuses: הודעות
+      subscribe: הרשמה
       title: חשבונות
       undo_silenced: ביטול השתקה
       undo_suspension: ביטול השעייה
+      unsubscribe: הפסקת הרשמה
       username: שם משתמש
       web: רשת
+    action_logs:
+      actions:
+        confirm_user: יש אישור מאת %{name} על כתובת הדוא"ל של %{target}
+        create_custom_emoji: "%{name} תרמה/תרם אמוג'י חדש %{target}"
+        create_domain_block: "%{name} חסמה/חסם את שם המתחם %{target}"
+        create_email_domain_block: מתחם דוא"ל %{target} הוסף לרשימה השחורה ע"י %{name}
+        demote_user: '%{name} הורד(ה) בדרגה ע"י %{target}'
+        destroy_domain_block: החסימה על מתחם %{target} הוסרה ע"י %{name}
+        destroy_email_domain_block: מתחם דוא"ל %{target} הוכנס לרשימה הלבנה ע"י %{name}
+        destroy_status: ההודעה של  %{target} הוסרה ע"י %{name}
+        disable_2fa_user: אימות דו שלבי של  %{target} הוסר ע"י %{name}
     domain_blocks:
       add_new: הוספת חדש
       created_msg: חסימת שרת בתהליך
@@ -84,12 +153,12 @@ he:
         create: יצירת חסימה
         hint: חסימת השרת לא תמנע יצירת רישומי חשבון במסד הנתונים, אבל תבצע פעולות ניהול קהילה מסוימות על חשבונות אלו אוטומטית ורטרואקטיבית.
         severity:
-          desc_html: "<strong>השתקה</strong> תחביא הודעות מחשבון זה לכל מי שלא עוקב אחריו. <strong>השעייה</strong> תסיר מהשרת את כל התוכן, מדיה ותכונות הפרופיל שמקושרות לחשבון זה."
+          desc_html: "<strong>השתקה</strong> תחביא הודעות מחשבון זה לכל מי שלא עוקב אחריו. <strong>השעייה</strong> תסיר מהשרת את כל התוכן, מדיה ותכונות הפרופיל שמקושרות לחשבון זה. <strong>כלום</strong> כדי לחסום קבצי מדיה בלבד."
           silence: השתקה
           suspend: השעייה
         title: חסימת שרת חדשה
       reject_media: חסימת קבצי מדיה
-      reject_media_hint: מסירה קבצי מדיה השמורים מקומית ומונעת מהורדת קבצים נוספים בעתיד. לא רלוונטי להשעיות.
+      reject_media_hint: מסירה קבצי מדיה השמורים מקומית ומונעת מהורדת קבצים נוספים בעתיד. לא רלוונטי להשעיות
       severities:
         silence: השתקה
         suspend: השעייה
@@ -143,7 +212,7 @@ he:
         open:
           title: הרשמה פתוחה
       site_description:
-        desc_html: מוצג כפסקה על הדף הראשי ומשמש כתגית מטא.<br>ניתן להשתמש בתגיות HTML, ובמיוחד ב־<code>&lt;a&gt;</code> ו־<code>&lt;em&gt;</code>.
+        desc_html: מוצג כפסקה על הדף הראשי ומשמש כתגית מטא. ניתן להשתמש בתגיות HTML, ובמיוחד ב־<code> &lt; a&gt; </code> ו־<code> &lt; em&gt; </code> .
         title: תיאור האתר
       site_description_extended:
         desc_html: מוצג על עמוד המידע הנוסף<br>ניתן להשתמש בתגיות HTML
@@ -155,7 +224,7 @@ he:
       confirmed: מאושר
       expires_in: פג תוקף ב-
       last_delivery: משלוח אחרון
-      title: WebSub
+      title: מנוי WebSub
       topic: נושא
     title: ניהול
   application_mailer:
@@ -323,7 +392,7 @@ he:
     lost_recovery_codes: קודי האחזור מאפשרים אחזור גישה לחשבון במידה ומכשירך אבד. במידה וקודי האחזור אבדו, ניתן לייצרם מחדש כאן. תוקף קודי האחזור הישנים יפוג.
     manual_instructions: 'במידה ולא ניתן לסרוק את קוד ה-QR אלא יש צורך להקליד אותו ידנית, להלן סוד כמוס בלתי מוצפן:'
     recovery_codes_regenerated: קודי האחזור יוצרו בהצלחה
-    recovery_instructions_html: במידה והגישה למכשירך תאבד, ניתן לייצר קודי אחזור למטה על מנת לאחזר גישה לחשבונך בכל עת. נא לשמור על קודי הגישה במקום בטוח )לדוגמא על ידי הדפסתם ושמירתם עם מסמכים חשובים אחרים, או שימוש בתוכנה ייעודית לניהול סיסמאות וסודות(
+    recovery_instructions_html: במידה והגישה למכשירך תאבד, ניתן לייצר קודי אחזור למטה על מנת לאחזר גישה לחשבונך בכל עת. <strong>נא לשמור על קודי הגישה במקום בטוח</strong>. לדוגמא על ידי הדפסתם ושמירתם עם מסמכים חשובים אחרים, או שימוש בתוכנה ייעודית לניהול סיסמאות וסודות.
     setup: הכנה
     wrong_code: הקוד שהוזן שגוי! האם הזמן בשרת והזמן במכשירך נכונים?
   users:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index fd6351486..333bcc689 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -39,6 +39,7 @@ ko:
     followers: 팔로워
     following: 팔로잉
     media: 미디어
+    moved_html: "%{name}은 %{new_profile_link}으로 이동되었습니다:"
     nothing_here: 아무 것도 없습니다.
     people_followed_by: "%{name} 님이 팔로우 중인 계정"
     people_who_follow: "%{name} 님을 팔로우 중인 계정"
@@ -48,6 +49,7 @@ ko:
     reserved_username: 이 아이디는 예약되어 있습니다.
     roles:
       admin: Admin
+      moderator: 모드
     unfollow: 팔로우 해제
   admin:
     account_moderation_notes:
@@ -59,13 +61,18 @@ ko:
       destroyed_msg: 모더레이션 기록이 성공적으로 삭제되었습니다.
     accounts:
       are_you_sure: 정말로 실행하시겠습니까?
+      by_domain: 도메인
       confirm: 확인
       confirmed: 확인됨
+      disable: 비활성화
       disable_two_factor_authentication: 2단계 인증을 비활성화
+      disabled: 비활성화된
       display_name: 이름
       domain: 도메인
       edit: 편집
       email: E-mail
+      enable: 활성화
+      enabled: 활성화된
       feed_url: 피드 URL
       followers: 팔로워 수
       followers_url: 팔로워 URL
@@ -77,6 +84,7 @@ ko:
         local: 로컬
         remote: 리모트
         title: 위치
+      login_status: 로그인 상태
       media_attachments: 첨부된 미디어
       moderation:
         all: 전체
@@ -101,6 +109,10 @@ ko:
       reset: 초기화
       reset_password: 비밀번호 초기화
       resubscribe: 다시 구독
+      role: 권한
+      roles:
+        admin: 관리자
+        user: 사용자
       salmon_url: Salmon URL
       search: 검색
       shared_inbox_url: 공유된 inbox URL
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index cda771ce2..2410c1112 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -39,6 +39,7 @@ nl:
     followers: Volgers
     following: Volgend
     media: Media
+    moved_html: "%{name} is verhuisd naar %{new_profile_link}:"
     nothing_here: Hier is niets!
     people_followed_by: Mensen die %{name} volgt
     people_who_follow: Mensen die %{name} volgen
@@ -48,6 +49,7 @@ nl:
     reserved_username: Deze gebruikersnaam is gereserveerd
     roles:
       admin: Beheerder
+      moderator: Mod
     unfollow: Ontvolgen
   admin:
     account_moderation_notes:
@@ -59,13 +61,19 @@ nl:
       destroyed_msg: Verwijderen van opmerking voor moderatoren geslaagd!
     accounts:
       are_you_sure: Weet je het zeker?
+      by_domain: Domein
       confirm: Bevestigen
       confirmed: Bevestigd
+      demote: Degraderen
+      disable: Uitschakelen
       disable_two_factor_authentication: 2FA uitschakelen
+      disabled: Uitgeschakeld
       display_name: Weergavenaam
       domain: Domein
       edit: Bewerken
       email: E-mail
+      enable: Inschakelen
+      enabled: Ingeschakeld
       feed_url: Feed-URL
       followers: Volgers
       followers_url: Volgers-URL
@@ -77,7 +85,9 @@ nl:
         local: Lokaal
         remote: Extern
         title: Locatie
+      login_status: Aanmeld status
       media_attachments: Media-bijlagen
+      memorialize: Verander in memoriam
       moderation:
         all: Alles
         silenced: Genegeerd
@@ -94,6 +104,7 @@ nl:
       outbox_url: Outbox-URL
       perform_full_suspension: Volledig opschorten
       profile_url: Profiel-URL
+      promote: Promoten
       protocol: Protocol
       public: Openbaar
       push_subscription_expires: PuSH-abonnement verloopt op
@@ -101,6 +112,11 @@ nl:
       reset: Opnieuw
       reset_password: Wachtwoord opnieuw instellen
       resubscribe: Opnieuw abonneren
+      role: Permissies
+      roles:
+        admin: Beheerder
+        moderator: Moderateur
+        user: Persoon
       salmon_url: Salmon-URL
       search: Zoeken
       shared_inbox_url: Gedeelde inbox-URL
@@ -117,6 +133,24 @@ nl:
       unsubscribe: Opzeggen
       username: Gebruikersnaam
       web: Webapp
+    action_logs:
+      actions:
+        confirm_user: "%{name} bevestigd e-mailadres van persoon %{target}"
+        create_custom_emoji: "%{name} heeft de nieuwe emoji %{target} geupload"
+        create_domain_block: "%{name} heeft domein %{target} geblokkeerd"
+        create_email_domain_block: "%{name} heeft e-maildomein %{target} geblacklist"
+        demote_user: "%{name} heeft persoon %{target} gedegradeerd"
+        destroy_domain_block: "%{name} heeft domein %{target} vrijgegeven"
+        destroy_email_domain_block: "%{name} heeft e-maildomein %{target} gewhitelist"
+        destroy_status: "%{name} heeft status van %{target} verwijderd"
+        disable_2fa_user: "%{name} heeft tweefactor voorwaarden van persoon %{target} uitgeschakeld"
+        disable_custom_emoji: "%{name} heeft emoji %{target} uitgeschakeld"
+        disable_user: "%{name} heeft de login van persoon %{target} uitgeschakeld"
+        enable_custom_emoji: "%{name} heeft emoji %{target} ingeschakeld"
+        enable_user: "%{name} heeft de login voor persoon %{target} ingeschakeld"
+        memorialize_account: "%{name} heeft %{target}'s account gewijzigd in een memoriam pagina"
+        promote_user: "%{name} heeft persoon %{target} gepromoveerd"
+        reset_password_user: "%{name} heeft het wachtwoord van gebruiker %{target} opnieuw ingesteld"
     custom_emojis:
       copied_msg: Lokale kopie van emoji maken geslaagd
       copy: Kopiëren
@@ -156,7 +190,7 @@ nl:
         noop: Geen
         silence: Negeren
         suspend: Opschorten
-      severity: Zwaarte
+      severity: Strengheid
       show:
         affected_accounts:
           one: Eén account in de database aangepast
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 1358f1e6c..b3062a655 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -469,6 +469,7 @@ pl:
     acct: nazwa@domena nowego konta
     currently_redirecting: 'Obecnie Twoje konto przekierowuje do:'
     proceed: Zapisz
+    updated_msg: Pomyślnie zaktualizowano ustawienia i migracji Twojego konta!
   moderation:
     title: Moderacja
   notification_mailer:
@@ -684,6 +685,8 @@ pl:
 
       <p>Tekst bazuje na <a href="https://github.com/discourse/discourse">polityce prywatności Discourse</a>.</p>
     title: Zasady korzystania i polityka prywatności %{instance}
+  themes:
+    default: Mastodon
   time:
     formats:
       default: "%b %d, %Y, %H:%M"
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index de2b9c778..760bb69a2 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -39,6 +39,7 @@ pt-BR:
     followers: Seguidores
     following: Seguindo
     media: Mídia
+    moved_html: "%{name} se mudou para %{new_profile_link}:"
     nothing_here: Não há nada aqui!
     people_followed_by: Pessoas que %{name} segue
     people_who_follow: Pessoas que seguem %{name}
@@ -48,6 +49,7 @@ pt-BR:
     reserved_username: Este usuário está reservado
     roles:
       admin: Administrador
+      moderator: Moderador
     unfollow: Deixar de seguir
   admin:
     account_moderation_notes:
@@ -76,7 +78,7 @@ pt-BR:
       followers: Seguidores
       followers_url: URL de seguidores
       follows: Segue
-      inbox_url: Inbox URL
+      inbox_url: URL da caixa de entrada
       ip: IP
       location:
         all: Todos
@@ -115,7 +117,7 @@ pt-BR:
         admin: Administrador
         moderator: Moderador
         user: Usuário
-      salmon_url: Salmon URL
+      salmon_url: URL Salmon
       search: Pesquisar
       shared_inbox_url: URL da Inbox Compartilhada
       show:
@@ -131,18 +133,39 @@ pt-BR:
       unsubscribe: Desinscrever-se
       username: Nome de usuário
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} confirmou o endereço de e-mail do usuário %{target}"
+        create_custom_emoji: "%{name} enviou o emoji novo %{target}"
+        create_domain_block: "%{name} bloqueou o domínio %{target}"
+        create_email_domain_block: "%{name} colocou o domínio de e-mail %{target} na lista negra"
+        demote_user: "%{name} rebaixou o usuário %{target}"
+        destroy_domain_block: "%{name} desbloqueou o domínio %{target}"
+        destroy_email_domain_block: "%{name} retirou o domínio de e-mail %{target} da lista negra"
+        destroy_status: "%{name} removeu postagem feita por %{target}"
+        disable_2fa_user: "%{name} desabilitou a exigência de autenticação em dois passos para o usuário %{target}"
+        disable_custom_emoji: "%{name} desabilitou o emoji %{target}"
+        disable_user: "%{name} desabilitou o acesso para o usuário %{target}"
+        enable_custom_emoji: "%{name} habilitou o emoji %{target}"
+        enable_user: "%{name} habilitou o acesso para o usuário %{target}"
+        memorialize_account: "%{name} transformou a conta de %{target} em um memorial"
+        promote_user: "%{name} promoveu o usuário %{target}"
+        reset_password_user: "%{name} redefiniu a senha do usuário %{target}"
+        resolve_report: "%{name} dispensou o relatório %{target}"
+        silence_account: "%{name} silenciou a conta de %{target}"
+        suspend_account: "%{name} suspendeu a conta de %{target}"
     custom_emojis:
-      copied_msg: Cópia local do emoji criada com sucesso!
+      copied_msg: Cópia local do emoji criada com sucesso
       copy: Copiar
       copy_failed_msg: Não foi possível criar uma cópia local deste emoji
       created_msg: Emoji criado com sucesso!
       delete: Excluir
       destroyed_msg: Emoji deletado com sucesso!
       disable: Desabilitar
-      disabled_msg: Emoji desabilitado com sucesso!
+      disabled_msg: Emoji desabilitado com sucesso
       emoji: Emoji
       enable: Habilitar
-      enabled_msg: Emoji habilitado com sucesso!
+      enabled_msg: Emoji habilitado com sucesso
       image_hint: PNG de até 50KB
       listed: Listado
       new:
@@ -170,7 +193,7 @@ pt-BR:
           suspend: Suspensão
         title: Novo bloqueio de domínio
       reject_media: Rejeitar arquivos de mídia
-      reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões.
+      reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões
       severities:
         noop: Nenhum
         silence: Silêncio
@@ -236,7 +259,7 @@ pt-BR:
         username: Contate usuário
       registrations:
         closed_message:
-          desc_html: Exibido na página inicial quando cadastros estão fechados. Você pode usar tags HTML.
+          desc_html: Exibido na página inicial quando cadastros estão fechados. Você pode usar tags HTML
           title: Mensagem de cadastros fechados
         deletion:
           desc_html: Permitir que qualquer um delete a sua conta
@@ -248,10 +271,10 @@ pt-BR:
         desc_html: Parágrafo introdutório na página inicial e em meta tags. Você pode usar tags HTML, em especial <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
         title: Descrição da instância
       site_description_extended:
-        desc_html: Um ótimo lugar para seu código de conduta, regras, diretrizes e outras coisas para diferenciar a sua instância. Você pode usar tags HTML.
+        desc_html: Um ótimo lugar para seu código de conduta, regras, diretrizes e outras coisas para diferenciar a sua instância. Você pode usar tags HTML
         title: Informação estendida customizada
       site_terms:
-        desc_html: Você pode escrever a sua própria política de privacidade, termos de serviço, entre outras coisas.Você pode usar tags HTML.
+        desc_html: Você pode escrever a sua própria política de privacidade, termos de serviço, entre outras coisas. Você pode usar tags HTML
         title: Termos de serviço customizados
       site_title: Nome da instância
       thumbnail:
@@ -277,7 +300,7 @@ pt-BR:
       title: Postagens da conta
       with_media: Com mídia
     subscriptions:
-      callback_url: Callback URL
+      callback_url: URL de Callback
       confirmed: Confirmado
       expires_in: Expira em
       last_delivery: Última entrega
@@ -316,7 +339,7 @@ pt-BR:
     reset_password: Modificar senha
     set_new_password: Definir uma nova senha
   authorize_follow:
-    error: Infelizmente, ocorreu um erro quando visualizando a conta remota.
+    error: Infelizmente, ocorreu um erro ao buscar a conta remota
     follow: Seguir
     follow_request: 'Você mandou uma solicitação de seguidor para:'
     following: 'Sucesso! Você agora está seguindo:'
@@ -340,7 +363,7 @@ pt-BR:
       x_months: "%{count} meses"
       x_seconds: "%{count} segundos"
   deletes:
-    bad_password_msg: Boa tentativa, hackers! Senha incorreta.
+    bad_password_msg: Boa tentativa, hackers! Senha incorreta
     confirm_password: Insira a sua senha atual para verificar a sua identidade
     description_html: Isto vai <strong>permanente e irreversivelmente</strong> remover conteúdo de sua conta e desativá-la. O seu nome de usuário permanecerá reservado para previnir futuros roubos de identidade.
     proceed: Excluir conta
@@ -379,7 +402,7 @@ pt-BR:
     unlocked_warning_title: A sua conta não está trancada
   generic:
     changes_saved_msg: Mudanças salvas com sucesso!
-    powered_by: powered by %{link}
+    powered_by: graças a tecnologia de %{link}
     save_changes: Salvar mudanças
     validation_errors:
       one: Algo não está certo! Por favor, reveja o erro abaixo
@@ -392,13 +415,13 @@ pt-BR:
       following: Pessoas que você segue
       muting: Lista de silêncio
     upload: Enviar
-  in_memoriam_html: Em memória de
+  in_memoriam_html: Em memória.
   landing_strip_html: "<strong>%{name}</strong> é um usuário no %{link_to_root_path}. Você pode segui-lo ou interagir com ele se você tiver uma conta em qualquer lugar no fediverso."
   landing_strip_signup_html: Se não, você pode <a href="%{sign_up_path}">se cadastrar aqui</a>.
   media_attachments:
     validations:
-      images_and_video: Não é possível anexar um vídeo a uma postagem que já contém imagens.
-      too_many: Não é possível anexar mais de quatro imagens.
+      images_and_video: Não é possível anexar um vídeo a uma postagem que já contém imagens
+      too_many: Não é possível anexar mais de 4 imagens
   notification_mailer:
     digest:
       body: 'Aqui está um resumo do que você perdeu no %{instance} desde o seu último acesso em %{since}:'
@@ -417,7 +440,7 @@ pt-BR:
       subject: "%{name} está te seguindo"
     follow_request:
       body: "%{name} requisitou autorização para te seguir"
-      subject: 'Pending follower: %{name}'
+      subject: 'Seguidor pendente: %{name}'
     mention:
       body: 'Você foi mencionado por %{name} em:'
       subject: Você foi mencionado por %{name}
@@ -472,7 +495,7 @@ pt-BR:
       chrome: Chrome
       edge: Microsoft Edge
       firefox: Firefox
-      generic: Unknown browser
+      generic: Navegador desconhecido
       ie: Internet Explorer
       micro_messenger: MicroMessenger
       nokia: Nokia S40 Ovi Browser
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index 140f6b71b..c476bac59 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -1,52 +1,98 @@
 ---
 pt:
   about:
-    about_mastodon_html: Mastodon é uma rede social <em>grátis e em código aberto</em>. Uma alternativa <em>descentralizada</em> às plataformas comerciais, que evita o risco de uma única empresa monopolizar a tua comunicação. Escolhe um servidor que confies, não importa qual, pois vais poder comunicar com todos os outros. Qualquer um pode criar uma instância Mastodon e participar nesta <em>rede social</em>.
+    about_hashtag_html: Estes são toots públicos marcados com <strong>#%{hashtag}</strong>. Podes interagir com eles se tiveres uma conta Mastodon.
+    about_mastodon_html: Mastodon é uma rede social baseada em protocolos abertos da web e software livre e gratuito. É descentralizado como e-mail.
     about_this: Sobre esta instância
     closed_registrations: Novos registos estão fechados nesta instância.
     contact: Contacto
+    contact_missing: Não definido
+    contact_unavailable: N/A
     description_headline: O que é o %{domain}?
     domain_count_after: outras instâncias
     domain_count_before: Ligado a
+    extended_description_html: |
+      <h3>Um bom lugar para regras</h3>
+      <p>A descrição da instância ainda não foi feita.</p>
+    features:
+      humane_approach_body: Aprendendo com erros de outras redes sociais, Mastodon tem como objetivo fazer decisões éticas de design para combater o utilização errada de redes sociais.
+      humane_approach_title: Uma abordagem mais humana
+      not_a_product_body: Mastodon não é uma rede comercial. Sem publicidade, sem recolha de dados ou portas fechadas. Não existe uma autoridade central.
+      not_a_product_title: Tu és uma pessoa, não um produto
+      real_conversation_body: Com 500 caracteres à sua disposição e suporte para conteúdo granular e avisos de conteúdo, podes te expressar da forma que desejares.
+      real_conversation_title: Feito para conversas reais
+      within_reach_body: Várias aplicações para iOS, Android e outras plataformas graças a um ecossistema de API amigável para desenvolvedores, permitem-te que te mantenhas em contacto com os teus amigos em qualquer lugar.
+      within_reach_title: Sempre ao teu alcance
+    find_another_instance: Encontra outra instância
+    generic_description: "%{domain} é um servidor na rede"
+    hosted_on: Mastodon em %{domain}
+    learn_more: Saber mais
     other_instances: Outras instâncias
     source_code: Código fonte
     status_count_after: publicações
     status_count_before: Que fizeram
     user_count_after: utilizadores
     user_count_before: Casa para
+    what_is_mastodon: O que é o Mastodon?
   accounts:
     follow: Seguir
     followers: Seguidores
     following: A seguir
+    media: Media
+    moved_html: "%{name} mudou-se para %{new_profile_link}:"
     nothing_here: Não há nada aqui!
     people_followed_by: Pessoas seguidas por %{name}
     people_who_follow: Pessoas que seguem %{name}
     posts: Posts
+    posts_with_replies: Posts e Respostas
     remote_follow: Seguir remotamente
+    reserved_username: Este nome de utilizadores é reservado
+    roles:
+      admin: Administrador
+      moderator: Moderador
     unfollow: Deixar de seguir
   admin:
+    account_moderation_notes:
+      account: Moderador
+      create: Criar
+      created_at: Data
+      created_msg: Nota de moderação criada com sucesso!
+      delete: Eliminar
+      destroyed_msg: Nota de moderação excluída com sucesso!
     accounts:
       are_you_sure: Tens a certeza?
+      by_domain: Domínio
       confirm: Confirme
       confirmed: Confirmado
+      demote: Rebaixar
+      disable: Desativar
+      disable_two_factor_authentication: Desativar 2FA
+      disabled: Desativado
       display_name: Nome a mostrar
       domain: Domínio
       edit: Editar
       email: E-mail
+      enable: Ativar
+      enabled: Ativado
       feed_url: URL do Feed
       followers: Seguidores
+      followers_url: URL dos seguidores
       follows: A seguir
+      inbox_url: URL da caixa de entrada
+      ip: IP
       location:
         all: Todos
         local: Local
         remote: Remoto
         title: Local
+      login_status: Estado de início de sessão
       media_attachments: Media anexa
       moderation:
         all: Todos
         silenced: Silenciados
         suspended: Supensos
         title: Moderação
+      moderation_notes: Notas de moderação
       most_recent_activity: Actividade mais recente
       most_recent_ip: IP mais recente
       not_subscribed: Não inscrito
@@ -56,10 +102,26 @@ pt:
         title: Ordem
       perform_full_suspension: Fazer suspensão completa
       profile_url: URL do perfil
+      promote: Promover
+      protocol: Protocolo
       public: Público
       push_subscription_expires: PuSH subscription expires
+      redownload: Atualizar avatar
+      reset: Restaurar
       reset_password: Reset palavra-passe
+      resubscribe: Reinscrever
+      role: Permissões
+      roles:
+        admin: Administrador
+        moderator: Moderador
+        user: Utilizador
       salmon_url: Salmon URL
+      search: Pesquisar
+      shared_inbox_url: URL da caixa de entrada compartilhada
+      show:
+        created_reports: Relatórios gerados por esta conta
+        report: relatórios
+        targeted_reports: Relatórios feitos sobre esta conta
       silence: Silêncio
       statuses: Status
       title: Contas
@@ -67,6 +129,14 @@ pt:
       undo_suspension: Desfazer supensão
       username: Usuário
       web: Web
+    action_logs:
+      actions:
+        confirm_user: "%{name} confirmou o endereço de e-mail do utilizador %{target}"
+        create_custom_emoji: "%{name} enviado emoji novo %{target}"
+        create_domain_block: "%{name} bloqueou o domínio %{target}"
+        create_email_domain_block: "%{name} adicionou na lista negra o domínio de correio electrónico %{target}"
+        demote_user: "%{name} rebaixou o utilizador %{target}"
+        destroy_domain_block: "%{name} desbloqueou o domínio %{target}"
     domain_blocks:
       add_new: Adicionar novo
       created_msg: Bloqueio do domínio está a ser processado
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index f8402af21..2ff3348f3 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -20,7 +20,7 @@ ca:
       sessions:
         otp: Introdueix el codi de dos factors des del teu telèfon o utilitza un dels teus codis de recuperació.
       user:
-        filtered_languages: Els idiomes seleccionats seran eliminats de les línies de temps públiques.
+        filtered_languages: Els idiomes seleccionats seran eliminats de les línies de temps públiques
     labels:
       defaults:
         avatar: Avatar
@@ -30,10 +30,12 @@ ca:
         data: Informació
         display_name: Mostrar nom
         email: Direcció de correu electrònic
+        expires_in: Caduca després
         filtered_languages: Idiomes filtrats
         header: Img. capçalera
         locale: Idioma
         locked: Fer privat aquest compte
+        max_uses: Nombre màxim d'usos
         new_password: Nova contrasenya
         note: Biografia
         otp_attempt: Codi de dos factors
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 9933093ca..3c5e467a2 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -30,10 +30,12 @@ de:
         data: Daten
         display_name: Anzeigename
         email: E-Mail-Adresse
+        expires_in: Gültig bis
         filtered_languages: Gefilterte Sprachen
         header: Kopfbild
         locale: Sprache
         locked: Gesperrtes Profil
+        max_uses: Max Verwendungen
         new_password: Neues Passwort
         note: Über mich
         otp_attempt: Zwei-Faktor-Authentisierungs-Code
@@ -54,6 +56,7 @@ de:
       interactions:
         must_be_follower: Benachrichtigungen von Nicht-Folgenden blockieren
         must_be_following: Benachrichtigungen von Profilen blockieren, denen ich nicht folge
+        must_be_following_dm: Private Nachrichten von Profilen denen ich nicht folge blockieren
       notification_emails:
         digest: Schicke Übersichts-E-Mails
         favourite: E-Mail senden, wenn jemand meinen Beitrag favorisiert
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 63a0710d1..01fe2af4c 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -4,6 +4,7 @@ es:
     hints:
       defaults:
         avatar: PNG, GIF o JPG. Máximo 2MB. Será escalado a 120x120px
+        digest: Enviado tras un largo periodo de inactividad, con un resumen de las menciones que has recibido durante tu ausencia
         display_name:
           one: <span class="name-counter">1</span> caracter restante
           other: <span class="name-counter">%{count}</span> caracteres restantes
@@ -13,12 +14,13 @@ es:
           one: <span class="name-counter">1</span> caracter restante
           other: <span class="name-counter">%{count}</span> caracteres restantes
         setting_noindex: Afecta a tu perfil público y páginas de estado
+        setting_theme: Afecta al aspecto de Mastodon cuando te identificas desde cualquier dispositivo.
       imports:
         data: Archivo CSV exportado desde otra instancia de Mastodon
       sessions:
         otp: Ingresa el código de autenticación de dos factores de tu teléfono o usa uno de tus códigos de recuperación.
       user:
-        filtered_languages: Los lenguajes seleccionados serán removidos de tus líneas de tiempo públicas.
+        filtered_languages: Los idiomas seleccionados dejarán de mostrarse para ti en las líneas de tiempo públicas
     labels:
       defaults:
         avatar: Avatar
@@ -28,21 +30,33 @@ es:
         data: Información
         display_name: Mostrar nombre
         email: Dirección de correo electrónico
+        expires_in: Expirar tras
+        filtered_languages: Idiomas filtrados
         header: Img. cabecera
         locale: Idioma
         locked: Hacer privada esta cuenta
+        max_uses: Máx. número de usos
         new_password: Nueva contraseña
         note: Biografía
         otp_attempt: Código de dos factores
         password: Contraseña
+        setting_auto_play_gif: Reproducir automáticamente los GIFs animados
         setting_boost_modal: Mostrar ventana de confirmación antes de un Retoot
         setting_default_privacy: Privacidad de publicaciones
+        setting_default_sensitive: Marcar siempre imágenes como sensibles
+        setting_delete_modal: Mostrar diálogo de confirmación antes de borrar un toot
+        setting_noindex: Excluirse del indexado de motores de búsqueda
+        setting_reduce_motion: Reducir el movimiento de las animaciones
+        setting_system_font_ui: Utilizar la tipografía por defecto del sistema
+        setting_theme: Tema del sitio
+        setting_unfollow_modal: Mostrar diálogo de confirmación antes de dejar de seguir a alguien
         severity: Severidad
         type: Importar tipo
         username: Nombre de usuario
       interactions:
         must_be_follower: Bloquear notificaciones de personas que no te siguen
         must_be_following: Bloquear notificaciones de personas que no sigues
+        must_be_following_dm: Bloquear mensajes directos de la gente que no sigues
       notification_emails:
         digest: Enviar resumen de correos electrónicos
         favourite: Enviar correo electrónico cuando alguien de a favorito en su publicación
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 06ab018a7..2397e5161 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -30,10 +30,12 @@ fr:
         data: Données
         display_name: Nom public
         email: Adresse courriel
+        expires_in: Expire après
         filtered_languages: Langues filtrées
         header: Image d’en-tête
         locale: Langue
         locked: Verrouiller le compte
+        max_uses: Nombre maximum d'utilisations
         new_password: Nouveau mot de passe
         note: Présentation
         otp_attempt: Code d’identification à deux facteurs
@@ -54,6 +56,7 @@ fr:
       interactions:
         must_be_follower: Masquer les notifications des personnes qui ne vous suivent pas
         must_be_following: Masquer les notifications des personnes que vous ne suivez pas
+        must_be_following_dm: Bloquer les messages directs des personnes que vous ne suivez pas
       notification_emails:
         digest: Envoyer des courriels récapitulatifs
         favourite: Envoyer un courriel lorsque quelqu’un ajoute mes statuts à ses favoris
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index d6af5e7ac..604236a73 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -4,6 +4,7 @@ he:
     hints:
       defaults:
         avatar: PNG, GIF או JPG. מקסימום 2MB. גודל התמונה יוקטן ל-120x120px
+        digest: נשלח לאחר תקופה ארוכה של אי-פעילות עם סיכום איזכורים שקיבלת בהעדרך
         display_name:
           one: נותרה אות<span class="name-counter">אחת</span>
           other: נותרו<span class="name-counter">%{count}</span> אותיות
@@ -12,12 +13,14 @@ he:
         note:
           one: נותרה אות<span class="note-counter">אחת</span>
           other: נותרו <span class="note-counter">%{count}</span> אותיות
+        setting_noindex: משפיע על הפרופיל הציבורי שלך ועמודי ההודעות
+        setting_theme: משפיע על המראה של מסטודון בעת החיבור המזוהה מכל מכשיר שהוא.
       imports:
         data: קובץ CSV שיוצא משרת מסטודון אחר
       sessions:
         otp: נא להקליד קוד אימות דו-שלבי ממכשירך או קוד אחזור גישה.
       user:
-        filtered_languages: בחירת שפות להסתרה מציר הזמן הציבורי שלך.
+        filtered_languages: שפות שנבחרו יוסתרו מציר הזמן הציבורי בשבילך
     labels:
       defaults:
         avatar: תמונת פרופיל
@@ -27,9 +30,12 @@ he:
         data: מידע
         display_name: שם להצגה
         email: כתובת דוא"ל
+        expires_in: תפוגה לאחר
+        filtered_languages: שפות מסוננות
         header: ראשה
         locale: שפה
         locked: הפוך חשבון לפרטי
+        max_uses: מספר מרבי של שימושים
         new_password: סיסמא חדשה
         note: אודות
         otp_attempt: קוד אימות דו-שלבי
@@ -37,12 +43,20 @@ he:
         setting_auto_play_gif: ניגון אוטומטי של גיפים
         setting_boost_modal: הצגת דיאלוג אישור לפני הדהוד
         setting_default_privacy: פרטיות ההודעות
+        setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה
+        setting_delete_modal: להראות תיבת אישור לפני מחיקת חיצרוץ
+        setting_noindex: לבקש הסתרה ממנועי חיפוש
+        setting_reduce_motion: הפחתת תנועה בהנפשות
+        setting_system_font_ui: להשתמש בגופן ברירת המחדל של המערכת
+        setting_theme: ערכת העיצוב של האתר
+        setting_unfollow_modal: להראות תיבת אישור לפני הפסקת מעקב אחרי אחרים
         severity: חומרה
         type: סוג יבוא
         username: שם משתמש
       interactions:
         must_be_follower: חסימת התראות משאינם עוקבים
         must_be_following: חסימת התראות משאינם נעקבים
+        must_be_following_dm: חסימת הודעות ישירות מכותבים שאינם במעקב
       notification_emails:
         digest: שליחת הודעות דוא"ל מסכמות
         favourite: שליחת דוא"ל כשמחבבים חצרוץ
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 5637bd848..f2847e7ca 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -4,23 +4,23 @@ nl:
     hints:
       defaults:
         avatar: PNG, GIF of JPG. Maximaal 2MB. Wordt teruggeschaald naar 120x120px
-        digest: Wordt na een lange periode van inactiviteit verzonden, met een samenvatting van vermeldingen tijdens je afwezigheid.
+        digest: Wordt na een lange periode van inactiviteit verzonden met een samenvatting van vermeldingen tijdens je afwezigheid
         display_name:
           one: <span class="name-counter">1</span> teken over
           other: <span class="name-counter">%{count}</span> tekens over
         header: PNG, GIF of JPG. Maximaal 2MB. Wordt teruggeschaald naar 700x335px
-        locked: Vereist dat je handmatig volgers moet accepteren en stelt de privacy van toots standaard in op alleen volgers
+        locked: Vereist dat je handmatig volgers moet accepteren
         note:
           one: <span class="note-counter">1</span> teken over
           other: <span class="note-counter">%{count}</span> tekens over
         setting_noindex: Heeft invloed op jouw openbare profiel en toots
-        setting_theme: Heeft invloed op hoe de webapp van Mastodon er uit ziet, op elk apparaat waarmee je inlogt.
+        setting_theme: Heeft invloed op hoe Mastodon eruitziet op elk apparaat waarmee je inlogt.
       imports:
         data: CSV-bestand dat op een andere Mastodon-server werd geëxporteerd
       sessions:
         otp: Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcode's.
       user:
-        filtered_languages: De geselecteerde talen worden uit de lokale en globale tijdlijn verwijderd.
+        filtered_languages: De geselecteerde talen worden uit de lokale en globale tijdlijn verwijderd
     labels:
       defaults:
         avatar: Avatar
@@ -30,10 +30,12 @@ nl:
         data: Gegevens
         display_name: Weergavenaam
         email: E-mailadres
+        expires_in: Vervalt na
         filtered_languages: Talen filteren
         header: Omslagfoto
         locale: Taal
         locked: Maak account besloten
+        max_uses: Max aantal keer te gebruiken
         new_password: Nieuwe wachtwoord
         note: Bio
         otp_attempt: Tweestaps-aanmeldcode
@@ -46,12 +48,15 @@ nl:
         setting_noindex: Jouw toots niet door zoekmachines laten indexeren
         setting_reduce_motion: Langzamere animaties
         setting_system_font_ui: Standaardlettertype van jouw systeem gebruiken
+        setting_theme: Site thema
         setting_unfollow_modal: Vraag voor het ontvolgen van iemand een bevestiging
+        severity: Strengheid
         type: Importtype
         username: gebruikersnaam
       interactions:
         must_be_follower: Blokkeer meldingen van mensen die jou niet volgen
         must_be_following: Blokkeer meldingen van mensen die jij niet volgt
+        must_be_following_dm: Blokkeer directe berichten van mensen die jij niet volgt
       notification_emails:
         digest: Verstuur periodiek e-mails met een samenvatting
         favourite: Verstuur een e-mail wanneer iemand jouw toot als favoriet markeert
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 9d60e0171..2ed0e3329 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -4,7 +4,7 @@ pt-BR:
     hints:
       defaults:
         avatar: PNG, GIF or JPG. Arquivos de até 2MB. Eles serão diminuídos para 120x120px
-        digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência.
+        digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência
         display_name:
           one: <span class="name-counter">1</span> caracter restante
           other: <span class="name-counter">%{count}</span> caracteres restantes
@@ -20,7 +20,7 @@ pt-BR:
       sessions:
         otp: Insira o código de autenticação do seu celular ou use um dos códigos de recuperação.
       user:
-        filtered_languages: Selecione os idiomas que devem ser removidos de suas timelines públicas.
+        filtered_languages: Selecione os idiomas que devem ser removidos de suas timelines públicas
     labels:
       defaults:
         avatar: Avatar
@@ -30,10 +30,12 @@ pt-BR:
         data: Dados
         display_name: Nome de exibição
         email: Endereço de e-mail
+        expires_in: Expira em
         filtered_languages: Idiomas filtrados
         header: Cabeçalho
         locale: Idioma
         locked: Trancar conta
+        max_uses: Número máximo de usos
         new_password: Nova senha
         note: Bio
         otp_attempt: Código de autenticação em dois passos
@@ -54,6 +56,7 @@ pt-BR:
       interactions:
         must_be_follower: Bloquear notificações de não-seguidores
         must_be_following: Bloquear notificações de pessoas que você não segue
+        must_be_following_dm: Bloquear mensagens diretas de pessoas que você não segue
       notification_emails:
         digest: Mandar e-mails com relatórios
         favourite: Mandar um e-mail quando alguém favoritar suas postagens
diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml
index 0df7a9bb9..a5afd02d3 100644
--- a/config/locales/simple_form.pt.yml
+++ b/config/locales/simple_form.pt.yml
@@ -30,6 +30,7 @@ pt:
         password: Palavra-passe
         setting_boost_modal: Pedir confirmação antes de partilhar um post
         setting_default_privacy: Privacidade padrão de posts
+        setting_reduce_motion: Reduzir movimento em animações
         severity: Severity
         type: Import type
         username: Utilizador