about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS.md22
-rw-r--r--CHANGELOG.md13
-rw-r--r--Gemfile8
-rw-r--r--Gemfile.lock35
-rw-r--r--app/javascript/mastodon/actions/cards.js52
-rw-r--r--app/javascript/mastodon/actions/statuses.js2
-rw-r--r--app/javascript/mastodon/components/status_content.js3
-rw-r--r--app/javascript/mastodon/features/status/components/card.js8
-rw-r--r--app/javascript/mastodon/features/status/components/detailed_status.js4
-rw-r--r--app/javascript/mastodon/features/status/containers/card_container.js8
-rw-r--r--app/javascript/mastodon/locales/ar.json7
-rw-r--r--app/javascript/mastodon/locales/ast.json3
-rw-r--r--app/javascript/mastodon/locales/bg.json3
-rw-r--r--app/javascript/mastodon/locales/ca.json11
-rw-r--r--app/javascript/mastodon/locales/co.json11
-rw-r--r--app/javascript/mastodon/locales/cs.json29
-rw-r--r--app/javascript/mastodon/locales/cy.json163
-rw-r--r--app/javascript/mastodon/locales/da.json5
-rw-r--r--app/javascript/mastodon/locales/de.json19
-rw-r--r--app/javascript/mastodon/locales/defaultMessages.json17
-rw-r--r--app/javascript/mastodon/locales/el.json67
-rw-r--r--app/javascript/mastodon/locales/en.json3
-rw-r--r--app/javascript/mastodon/locales/eo.json3
-rw-r--r--app/javascript/mastodon/locales/es.json3
-rw-r--r--app/javascript/mastodon/locales/eu.json3
-rw-r--r--app/javascript/mastodon/locales/fa.json13
-rw-r--r--app/javascript/mastodon/locales/fi.json3
-rw-r--r--app/javascript/mastodon/locales/fr.json33
-rw-r--r--app/javascript/mastodon/locales/gl.json95
-rw-r--r--app/javascript/mastodon/locales/he.json3
-rw-r--r--app/javascript/mastodon/locales/hr.json3
-rw-r--r--app/javascript/mastodon/locales/hu.json3
-rw-r--r--app/javascript/mastodon/locales/hy.json3
-rw-r--r--app/javascript/mastodon/locales/id.json3
-rw-r--r--app/javascript/mastodon/locales/io.json3
-rw-r--r--app/javascript/mastodon/locales/it.json11
-rw-r--r--app/javascript/mastodon/locales/ja.json9
-rw-r--r--app/javascript/mastodon/locales/ka.json3
-rw-r--r--app/javascript/mastodon/locales/ko.json11
-rw-r--r--app/javascript/mastodon/locales/nl.json11
-rw-r--r--app/javascript/mastodon/locales/no.json3
-rw-r--r--app/javascript/mastodon/locales/oc.json11
-rw-r--r--app/javascript/mastodon/locales/pl.json3
-rw-r--r--app/javascript/mastodon/locales/pt-BR.json63
-rw-r--r--app/javascript/mastodon/locales/pt.json3
-rw-r--r--app/javascript/mastodon/locales/ro.json3
-rw-r--r--app/javascript/mastodon/locales/ru.json3
-rw-r--r--app/javascript/mastodon/locales/sk.json3
-rw-r--r--app/javascript/mastodon/locales/sl.json23
-rw-r--r--app/javascript/mastodon/locales/sr-Latn.json3
-rw-r--r--app/javascript/mastodon/locales/sr.json3
-rw-r--r--app/javascript/mastodon/locales/sv.json3
-rw-r--r--app/javascript/mastodon/locales/ta.json3
-rw-r--r--app/javascript/mastodon/locales/te.json3
-rw-r--r--app/javascript/mastodon/locales/th.json3
-rw-r--r--app/javascript/mastodon/locales/tr.json3
-rw-r--r--app/javascript/mastodon/locales/uk.json3
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json3
-rw-r--r--app/javascript/mastodon/locales/zh-HK.json3
-rw-r--r--app/javascript/mastodon/locales/zh-TW.json3
-rw-r--r--app/javascript/mastodon/reducers/cards.js14
-rw-r--r--app/javascript/mastodon/reducers/statuses.js3
-rw-r--r--app/lib/activitypub/activity/create.rb2
-rw-r--r--config/locales/activerecord.cy.yml2
-rw-r--r--config/locales/ar.yml10
-rw-r--r--config/locales/bg.yml10
-rw-r--r--config/locales/ca.yml28
-rw-r--r--config/locales/co.yml10
-rw-r--r--config/locales/cs.yml34
-rw-r--r--config/locales/cy.yml483
-rw-r--r--config/locales/da.yml6
-rw-r--r--config/locales/de.yml14
-rw-r--r--config/locales/devise.cy.yml26
-rw-r--r--config/locales/doorkeeper.cy.yml81
-rw-r--r--config/locales/el.yml8
-rw-r--r--config/locales/es.yml24
-rw-r--r--config/locales/eu.yml24
-rw-r--r--config/locales/fa.yml30
-rw-r--r--config/locales/fi.yml2
-rw-r--r--config/locales/fr.yml10
-rw-r--r--config/locales/gl.yml18
-rw-r--r--config/locales/hu.yml2
-rw-r--r--config/locales/id.yml6
-rw-r--r--config/locales/io.yml6
-rw-r--r--config/locales/it.yml85
-rw-r--r--config/locales/ja.yml2
-rw-r--r--config/locales/ka.yml2
-rw-r--r--config/locales/ko.yml24
-rw-r--r--config/locales/nl.yml22
-rw-r--r--config/locales/oc.yml81
-rw-r--r--config/locales/pl.yml2
-rw-r--r--config/locales/pt-BR.yml24
-rw-r--r--config/locales/ro.yml7
-rw-r--r--config/locales/ru.yml12
-rw-r--r--config/locales/simple_form.ca.yml17
-rw-r--r--config/locales/simple_form.cy.yml72
-rw-r--r--config/locales/simple_form.da.yml2
-rw-r--r--config/locales/simple_form.eu.yml11
-rw-r--r--config/locales/simple_form.fa.yml2
-rw-r--r--config/locales/simple_form.fr.yml8
-rw-r--r--config/locales/simple_form.it.yml11
-rw-r--r--config/locales/simple_form.ja.yml1
-rw-r--r--config/locales/simple_form.ko.yml11
-rw-r--r--config/locales/simple_form.nl.yml11
-rw-r--r--config/locales/simple_form.oc.yml13
-rw-r--r--config/locales/simple_form.pt-BR.yml12
-rw-r--r--config/locales/simple_form.sl.yml7
-rw-r--r--config/locales/simple_form.sr-Latn.yml2
-rw-r--r--config/locales/simple_form.sr.yml1
-rw-r--r--config/locales/sl.yml17
-rw-r--r--config/locales/sr-Latn.yml2
-rw-r--r--config/locales/th.yml1
-rw-r--r--config/locales/tr.yml18
-rw-r--r--config/locales/uk.yml8
-rw-r--r--config/locales/zh-CN.yml8
-rw-r--r--config/locales/zh-HK.yml6
-rw-r--r--lib/mastodon/version.rb2
-rw-r--r--spec/lib/formatter_spec.rb2
118 files changed, 1528 insertions, 688 deletions
diff --git a/AUTHORS.md b/AUTHORS.md
index 277683a00..b81b6d245 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -25,16 +25,16 @@ and provided thanks to the work of the following contributors:
 * [JantsoP](https://github.com/JantsoP)
 * [nullkal](https://github.com/nullkal)
 * [yookoala](https://github.com/yookoala)
+* [mabkenar](https://github.com/mabkenar)
 * [ysksn](https://github.com/ysksn)
 * [shuheiktgw](https://github.com/shuheiktgw)
 * [ashfurrow](https://github.com/ashfurrow)
-* [mabkenar](https://github.com/mabkenar)
-* [zunda](https://github.com/zunda)
 * [Kjwon15](https://github.com/Kjwon15)
+* [zunda](https://github.com/zunda)
 * [eramdam](https://github.com/eramdam)
 * [masarakki](https://github.com/masarakki)
-* [ticky](https://github.com/ticky)
 * [takayamaki](https://github.com/takayamaki)
+* [ticky](https://github.com/ticky)
 * [Quenty31](https://github.com/Quenty31)
 * [danhunsaker](https://github.com/danhunsaker)
 * [ThisIsMissEm](https://github.com/ThisIsMissEm)
@@ -105,6 +105,7 @@ and provided thanks to the work of the following contributors:
 * [ProgVal](https://github.com/ProgVal)
 * [valentin2105](https://github.com/valentin2105)
 * [yuntan](https://github.com/yuntan)
+* [ashleyhull-versent](https://github.com/ashleyhull-versent)
 * [goofy-bz](mailto:goofy@babelzilla.org)
 * [kadiix](https://github.com/kadiix)
 * [kodacs](https://github.com/kodacs)
@@ -127,9 +128,9 @@ and provided thanks to the work of the following contributors:
 * [reneklacan](https://github.com/reneklacan)
 * [ekiru](https://github.com/ekiru)
 * [tcitworld](https://github.com/tcitworld)
-* [ashleyhull-versent](https://github.com/ashleyhull-versent)
 * [geta6](https://github.com/geta6)
 * [happycoloredbanana](https://github.com/happycoloredbanana)
+* [kedamaDQ](https://github.com/kedamaDQ)
 * [leopku](https://github.com/leopku)
 * [SansPseudoFix](https://github.com/SansPseudoFix)
 * [tomfhowe](https://github.com/tomfhowe)
@@ -146,7 +147,7 @@ and provided thanks to the work of the following contributors:
 * [treby](https://github.com/treby)
 * [Reverite](https://github.com/Reverite)
 * [jpdevries](https://github.com/jpdevries)
-* [00x9d](https://github.com/00x9d)
+* [H-C-F](https://github.com/H-C-F)
 * [Kurtis Rainbolt-Greene](mailto:me@kurtisrainboltgreene.name)
 * [saper](https://github.com/saper)
 * [nevillepark](https://github.com/nevillepark)
@@ -195,6 +196,7 @@ and provided thanks to the work of the following contributors:
 * [Fjoerfoks](https://github.com/Fjoerfoks)
 * [fmauNeko](https://github.com/fmauNeko)
 * [gloaec](https://github.com/gloaec)
+* [Gomasy](https://github.com/Gomasy)
 * [unstabler](https://github.com/unstabler)
 * [potato4d](https://github.com/potato4d)
 * [h-izumi](https://github.com/h-izumi)
@@ -221,6 +223,7 @@ and provided thanks to the work of the following contributors:
 * [petzah](https://github.com/petzah)
 * [ignisf](https://github.com/ignisf)
 * [raymestalez](https://github.com/raymestalez)
+* [sascha-sl](https://github.com/sascha-sl)
 * [u1-liquid](https://github.com/u1-liquid)
 * [sim6](https://github.com/sim6)
 * [stemid](https://github.com/stemid)
@@ -248,7 +251,6 @@ and provided thanks to the work of the following contributors:
 * [haoyayoi](https://github.com/haoyayoi)
 * [ik11235](https://github.com/ik11235)
 * [kawax](https://github.com/kawax)
-* [kedamaDQ](https://github.com/kedamaDQ)
 * [007lva](https://github.com/007lva)
 * [matsurai25](https://github.com/matsurai25)
 * [mecab](https://github.com/mecab)
@@ -274,6 +276,7 @@ and provided thanks to the work of the following contributors:
 * [Aditoo17](https://github.com/Aditoo17)
 * [unascribed](https://github.com/unascribed)
 * [Aguay-val](https://github.com/Aguay-val)
+* [Akihiko Odaki](mailto:nekomanma@pixiv.co.jp)
 * [knu](https://github.com/knu)
 * [h3poteto](https://github.com/h3poteto)
 * [unleashed](https://github.com/unleashed)
@@ -296,6 +299,7 @@ and provided thanks to the work of the following contributors:
 * [ayumin](https://github.com/ayumin)
 * [BaptisteGelez](https://github.com/BaptisteGelez)
 * [bzg](https://github.com/bzg)
+* [BenLubar](https://github.com/BenLubar)
 * [benediktg](https://github.com/benediktg)
 * [blakebarnett](https://github.com/blakebarnett)
 * [bradj](https://github.com/bradj)
@@ -341,7 +345,6 @@ and provided thanks to the work of the following contributors:
 * [hattori6789](https://github.com/hattori6789)
 * [algernon](https://github.com/algernon)
 * [Fastbyte01](https://github.com/Fastbyte01)
-* [Gomasy](https://github.com/Gomasy)
 * [myfreeweb](https://github.com/myfreeweb)
 * [gfaivre](https://github.com/gfaivre)
 * [Fiaxhs](https://github.com/Fiaxhs)
@@ -365,7 +368,7 @@ and provided thanks to the work of the following contributors:
 * [Floppy](https://github.com/Floppy)
 * [loomchild](https://github.com/loomchild)
 * [jenkr55](https://github.com/jenkr55)
-* [docjkl](https://github.com/docjkl)
+* [press5](https://github.com/press5)
 * [TrollDecker](https://github.com/TrollDecker)
 * [jmontane](https://github.com/jmontane)
 * [jonathanklee](https://github.com/jonathanklee)
@@ -450,7 +453,6 @@ and provided thanks to the work of the following contributors:
 * [staticsafe](https://github.com/staticsafe)
 * [snwh](https://github.com/snwh)
 * [sts10](https://github.com/sts10)
-* [sascha-sl](https://github.com/sascha-sl)
 * [skoji](https://github.com/skoji)
 * [ScienJus](https://github.com/ScienJus)
 * [larkinscott](https://github.com/larkinscott)
@@ -464,7 +466,7 @@ and provided thanks to the work of the following contributors:
 * [shouko](https://github.com/shouko)
 * [Sina Mashek](mailto:sina@mashek.xyz)
 * [sossii](https://github.com/sossii)
-* [SpankyWorks](https://github.com/SpankyWorks)
+* [Spanky](mailto:2788886+spankyworks@users.noreply.github.com)
 * [StefOfficiel](mailto:pichard.stephane@free.fr)
 * [Svetlozar Todorov](mailto:svetlik@users.noreply.github.com)
 * [Sébastien Santoro](mailto:dereckson@espace-win.org)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f989f111e..e5443a358 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,7 +10,7 @@ All notable changes to this project will be documented in this file.
 - Add conversations API (#8832)
 - Add limit for the number of people that can be followed from one account (#8807)
 - Add admin setting to customize mascot (#8766)
-- Add support for more granular ActivityPub audiences from other software, i.e. circles (#8950)
+- Add support for more granular ActivityPub audiences from other software, i.e. circles (#8950, #9093)
 - Add option to block all reports from a domain (#8830)
 - Add user preference to always expand toots marked with content warnings (#8762)
 - Add user preference to always hide all media (#8569)
@@ -45,6 +45,9 @@ All notable changes to this project will be documented in this file.
 - Add cache for the instance info API (#8765)
 - Add suggested follows to search screen in mobile layout (#9010)
 - Add CORS header to `/.well-known/*` routes (#9083)
+- Add `card` attribute to statuses returned from REST API (#9120)
+- Add in-stream link preview (#9120)
+- Add support for ActivityPub `Page` objects (#9121) 
 
 ### Changed
 
@@ -60,11 +63,13 @@ All notable changes to this project will be documented in this file.
 - Change DM filtering to always allow DMs from staff (#8993)
 - Change recommended Ruby version to 2.5.3 (#9003)
 - Change docker-compose default to persist volumes in current directory (#9055)
+- Change character counters on edit profile page to input length limit (#9100)
 
 ### Deprecated
 
 - `GET /api/v1/timelines/direct` → `GET /api/v1/conversations` (#8832)
 - `POST /api/v1/notifications/dismiss` → `POST /api/v1/notifications/:id/dismiss` (#8905)
+- `GET /api/v1/statuses/:id/card` → `card` attributed included in status (#9120)
 
 ### Removed
 
@@ -90,6 +95,12 @@ All notable changes to this project will be documented in this file.
 - Fix some hotkeys not working on detailed status view (#9006)
 - Fix og:url on status pages (#9047)
 - Fix upload option buttons only being visible on hover (#9074)
+- Fix tootctl not returning exit code 1 on wrong arguments (#9094) 
+- Fix preview cards for appearing for profiles mentioned in toot (#6934) 
+- Fix local accounts sometimes being duplicated as faux-remote (#9109)
+- Fix emoji search when the shortcode has multiple separators (#9124)
+- Fix dropdowns sometimes being partially obscured by other elements (#9126) 
+- Fix cache not updating when reply/boost/favourite counters or media sensitivity update (#9119) 
 
 ## [2.5.2] - 2018-10-12
 ### Security
diff --git a/Gemfile b/Gemfile
index 5e44c6964..c818cba37 100644
--- a/Gemfile
+++ b/Gemfile
@@ -73,7 +73,7 @@ gem 'rails-settings-cached', '~> 0.6'
 gem 'redis', '~> 4.0', require: ['redis', 'redis/connection/hiredis']
 gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
 gem 'rqrcode', '~> 0.10'
-gem 'sanitize', '~> 4.6'
+gem 'sanitize', '~> 5.0'
 gem 'sidekiq', '~> 5.2'
 gem 'sidekiq-scheduler', '~> 3.0'
 gem 'sidekiq-unique-jobs', '~> 5.0'
@@ -96,7 +96,7 @@ gem 'rdf-normalize', '~> 0.3'
 group :development, :test do
   gem 'fabrication', '~> 2.20'
   gem 'fuubar', '~> 2.3'
-  gem 'i18n-tasks', '~> 0.9', require: false, git: 'https://github.com/Gargron/i18n-tasks.git', ref: 'ab6e10878ccdb6243f934f30372276d260c14251'
+  gem 'i18n-tasks', '~> 0.9', require: false, git: 'https://github.com/glebm/i18n-tasks.git', branch: 'master', ref: 'a1c9089b4ffed4f33e3b3a1bb2378d7a23445c0f'
   gem 'pry-byebug', '~> 3.6'
   gem 'pry-rails', '~> 0.3'
   gem 'rspec-rails', '~> 3.8'
@@ -115,7 +115,7 @@ group :test do
   gem 'rspec-sidekiq', '~> 3.0'
   gem 'simplecov', '~> 0.16', require: false
   gem 'webmock', '~> 3.4'
-  gem 'parallel_tests', '~> 2.25'
+  gem 'parallel_tests', '~> 2.26'
 end
 
 group :development do
@@ -127,7 +127,7 @@ group :development do
   gem 'letter_opener', '~> 1.4'
   gem 'letter_opener_web', '~> 1.3'
   gem 'memory_profiler'
-  gem 'rubocop', '~> 0.59', require: false
+  gem 'rubocop', '~> 0.60', require: false
   gem 'brakeman', '~> 4.3', require: false
   gem 'bundler-audit', '~> 0.6', require: false
   gem 'scss_lint', '~> 0.57', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 30de668bb..cacf3adf4 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,8 @@
 GIT
-  remote: https://github.com/Gargron/i18n-tasks.git
-  revision: ab6e10878ccdb6243f934f30372276d260c14251
-  ref: ab6e10878ccdb6243f934f30372276d260c14251
+  remote: https://github.com/glebm/i18n-tasks.git
+  revision: a1c9089b4ffed4f33e3b3a1bb2378d7a23445c0f
+  ref: a1c9089b4ffed4f33e3b3a1bb2378d7a23445c0f
+  branch: master
   specs:
     i18n-tasks (0.9.27)
       activesupport (>= 4.0.2)
@@ -199,7 +200,7 @@ GEM
     docile (1.3.0)
     domain_name (0.5.20180417)
       unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (5.0.1)
+    doorkeeper (5.0.2)
       railties (>= 4.2)
     dotenv (2.5.0)
     dotenv-rails (2.5.0)
@@ -361,8 +362,8 @@ GEM
     nio4r (2.3.1)
     nokogiri (1.8.5)
       mini_portile2 (~> 2.3.0)
-    nokogumbo (1.5.0)
-      nokogiri
+    nokogumbo (2.0.0)
+      nokogiri (~> 1.8, >= 1.8.4)
     nsa (0.2.4)
       activesupport (>= 4.2, < 6)
       concurrent-ruby (~> 1.0.0)
@@ -395,7 +396,7 @@ GEM
       av (~> 0.9.0)
       paperclip (>= 2.5.2)
     parallel (1.12.1)
-    parallel_tests (2.25.0)
+    parallel_tests (2.26.0)
       parallel
     parser (2.5.1.2)
       ast (~> 2.4.0)
@@ -530,24 +531,24 @@ GEM
       rspec-core (~> 3.0, >= 3.0.0)
       sidekiq (>= 2.4.0)
     rspec-support (3.8.0)
-    rubocop (0.59.2)
+    rubocop (0.60.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.5, != 2.5.1.1)
       powerpack (~> 0.1)
       rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (~> 1.0, >= 1.0.1)
-    ruby-progressbar (1.9.0)
+      unicode-display_width (~> 1.4.0)
+    ruby-progressbar (1.10.0)
     ruby-saml (1.9.0)
       nokogiri (>= 1.5.10)
     rufus-scheduler (3.5.2)
       fugit (~> 1.1, >= 1.1.5)
     safe_yaml (1.0.4)
-    sanitize (4.6.6)
+    sanitize (5.0.0)
       crass (~> 1.0.2)
-      nokogiri (>= 1.4.4)
-      nokogumbo (~> 1.4)
+      nokogiri (>= 1.8.0)
+      nokogumbo (~> 2.0)
     sass (3.6.0)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
@@ -627,7 +628,7 @@ GEM
       unf (~> 0.1.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2018.6)
+    tzinfo-data (1.2018.7)
       tzinfo (>= 1.0.0)
     unf (0.1.4)
       unf_ext
@@ -726,7 +727,7 @@ DEPENDENCIES
   ox (~> 2.10)
   paperclip (~> 6.0)
   paperclip-av-transcoder (~> 0.6)
-  parallel_tests (~> 2.25)
+  parallel_tests (~> 2.26)
   pg (~> 1.1)
   pghero (~> 2.2)
   pkg-config (~> 1.3)
@@ -750,8 +751,8 @@ DEPENDENCIES
   rqrcode (~> 0.10)
   rspec-rails (~> 3.8)
   rspec-sidekiq (~> 3.0)
-  rubocop (~> 0.59)
-  sanitize (~> 4.6)
+  rubocop (~> 0.60)
+  sanitize (~> 5.0)
   scss_lint (~> 0.57)
   sidekiq (~> 5.2)
   sidekiq-bulk (~> 0.1.1)
diff --git a/app/javascript/mastodon/actions/cards.js b/app/javascript/mastodon/actions/cards.js
deleted file mode 100644
index baf04833a..000000000
--- a/app/javascript/mastodon/actions/cards.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import api from '../api';
-
-export const STATUS_CARD_FETCH_REQUEST = 'STATUS_CARD_FETCH_REQUEST';
-export const STATUS_CARD_FETCH_SUCCESS = 'STATUS_CARD_FETCH_SUCCESS';
-export const STATUS_CARD_FETCH_FAIL    = 'STATUS_CARD_FETCH_FAIL';
-
-export function fetchStatusCard(id) {
-  return (dispatch, getState) => {
-    if (getState().getIn(['cards', id], null) !== null) {
-      return;
-    }
-
-    dispatch(fetchStatusCardRequest(id));
-
-    api(getState).get(`/api/v1/statuses/${id}/card`).then(response => {
-      if (!response.data.url) {
-        return;
-      }
-
-      dispatch(fetchStatusCardSuccess(id, response.data));
-    }).catch(error => {
-      dispatch(fetchStatusCardFail(id, error));
-    });
-  };
-};
-
-export function fetchStatusCardRequest(id) {
-  return {
-    type: STATUS_CARD_FETCH_REQUEST,
-    id,
-    skipLoading: true,
-  };
-};
-
-export function fetchStatusCardSuccess(id, card) {
-  return {
-    type: STATUS_CARD_FETCH_SUCCESS,
-    id,
-    card,
-    skipLoading: true,
-  };
-};
-
-export function fetchStatusCardFail(id, error) {
-  return {
-    type: STATUS_CARD_FETCH_FAIL,
-    id,
-    error,
-    skipLoading: true,
-    skipAlert: true,
-  };
-};
diff --git a/app/javascript/mastodon/actions/statuses.js b/app/javascript/mastodon/actions/statuses.js
index 8d5e72bec..e7c89b4ba 100644
--- a/app/javascript/mastodon/actions/statuses.js
+++ b/app/javascript/mastodon/actions/statuses.js
@@ -3,7 +3,6 @@ import openDB from '../storage/db';
 import { evictStatus } from '../storage/modifier';
 
 import { deleteFromTimelines } from './timelines';
-import { fetchStatusCard } from './cards';
 import { importFetchedStatus, importFetchedStatuses, importAccount, importStatus } from './importer';
 
 export const STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST';
@@ -86,7 +85,6 @@ export function fetchStatus(id) {
     const skipLoading = getState().getIn(['statuses', id], null) !== null;
 
     dispatch(fetchContext(id));
-    dispatch(fetchStatusCard(id));
 
     if (skipLoading) {
       return;
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js
index eda7d6ac3..5e3365618 100644
--- a/app/javascript/mastodon/components/status_content.js
+++ b/app/javascript/mastodon/components/status_content.js
@@ -159,7 +159,7 @@ export default class StatusContent extends React.PureComponent {
     }
 
     const readMoreButton = (
-      <button className='status__content__read-more-button' onClick={this.props.onClick}>
+      <button className='status__content__read-more-button' onClick={this.props.onClick} key='read-more'>
         <FormattedMessage id='status.read_more' defaultMessage='Read more' /><i className='fa fa-fw fa-angle-right' />
       </button>
     );
@@ -197,6 +197,7 @@ export default class StatusContent extends React.PureComponent {
         <div
           ref={this.setRef}
           tabIndex='0'
+          key='content'
           className={classNames}
           style={directionStyle}
           dangerouslySetInnerHTML={content}
diff --git a/app/javascript/mastodon/features/status/components/card.js b/app/javascript/mastodon/features/status/components/card.js
index 9a87f7a3f..743fe779a 100644
--- a/app/javascript/mastodon/features/status/components/card.js
+++ b/app/javascript/mastodon/features/status/components/card.js
@@ -59,7 +59,7 @@ export default class Card extends React.PureComponent {
     card: ImmutablePropTypes.map,
     maxDescription: PropTypes.number,
     onOpenMedia: PropTypes.func.isRequired,
-    compact: PropTypes.boolean,
+    compact: PropTypes.bool,
   };
 
   static defaultProps = {
@@ -120,7 +120,7 @@ export default class Card extends React.PureComponent {
     const content   = { __html: addAutoPlay(card.get('html')) };
     const { width } = this.state;
     const ratio     = card.get('width') / card.get('height');
-    const height    = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);
+    const height    = width / ratio;
 
     return (
       <div
@@ -145,8 +145,8 @@ export default class Card extends React.PureComponent {
     const interactive = card.get('type') !== 'link';
     const className   = classnames('status-card', { horizontal, compact, interactive });
     const title       = interactive ? <a className='status-card__title' href={card.get('url')} title={card.get('title')} rel='noopener' target='_blank'><strong>{card.get('title')}</strong></a> : <strong className='status-card__title' title={card.get('title')}>{card.get('title')}</strong>;
-    const ratio       = compact ? 16 / 9 : card.get('width') / card.get('height');
-    const height      = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);
+    const ratio       = card.get('width') / card.get('height');
+    const height      = (compact && !embedded) ? (width / (16 / 9)) : (width / ratio);
 
     const description = (
       <div className='status-card__content'>
diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js
index b4bbda161..b0dea8817 100644
--- a/app/javascript/mastodon/features/status/components/detailed_status.js
+++ b/app/javascript/mastodon/features/status/components/detailed_status.js
@@ -8,7 +8,7 @@ import MediaGallery from '../../../components/media_gallery';
 import AttachmentList from '../../../components/attachment_list';
 import { Link } from 'react-router-dom';
 import { FormattedDate, FormattedNumber } from 'react-intl';
-import CardContainer from '../containers/card_container';
+import Card from './card';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import Video from '../../video';
 
@@ -80,7 +80,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
         );
       }
     } else if (status.get('spoiler_text').length === 0) {
-      media = <CardContainer onOpenMedia={this.props.onOpenMedia} statusId={status.get('id')} />;
+      media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;
     }
 
     if (status.get('application')) {
diff --git a/app/javascript/mastodon/features/status/containers/card_container.js b/app/javascript/mastodon/features/status/containers/card_container.js
deleted file mode 100644
index 6170d9fd8..000000000
--- a/app/javascript/mastodon/features/status/containers/card_container.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { connect } from 'react-redux';
-import Card from '../components/card';
-
-const mapStateToProps = (state, { statusId }) => ({
-  card: state.getIn(['statuses', statusId, 'card'], null),
-});
-
-export default connect(mapStateToProps)(Card);
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index da79b62d2..db2593afc 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "هل أنت متأكد أنك تريد كتم {name} ؟",
   "confirmations.redraft.confirm": "إزالة و إعادة الصياغة",
   "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته ؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.",
-  "confirmations.reply.confirm": "Reply",
+  "confirmations.reply.confirm": "رد",
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "إلغاء المتابعة",
   "confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
   "embed.preview": "هكذا ما سوف يبدو عليه :",
   "emoji_button.activity": "الأنشطة",
@@ -297,7 +296,7 @@
   "status.open": "وسع هذه المشاركة",
   "status.pin": "تدبيس على الملف الشخصي",
   "status.pinned": "تبويق مثبَّت",
-  "status.read_more": "Read more",
+  "status.read_more": "اقرأ المزيد",
   "status.reblog": "رَقِّي",
   "status.reblog_private": "القيام بالترقية إلى الجمهور الأصلي",
   "status.reblogged_by": "رقّاه {name}",
@@ -315,6 +314,8 @@
   "status.show_more_all": "توسيع الكل",
   "status.unmute_conversation": "فك الكتم عن المحادثة",
   "status.unpin": "فك التدبيس من الملف الشخصي",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "الموحَّد",
   "tabs_bar.home": "الرئيسية",
   "tabs_bar.local_timeline": "المحلي",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 5e258c58c..d84774f34 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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": "Actividá",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federated",
   "tabs_bar.home": "Aniciu",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 5daf5d639..a4366126f 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federated",
   "tabs_bar.home": "Начало",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index f2235b190..2e766da6a 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Aquest usuari encara no segueix a ningú.",
   "account.follows_you": "Et segueix",
   "account.hide_reblogs": "Amaga els impulsos de @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
   "account.media": "Media",
   "account.mention": "Esmentar @{name}",
   "account.moved_to": "{name} s'ha mogut a:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Estàs segur que vols silenciar {name}?",
   "confirmations.redraft.confirm": "Esborrar i refer",
   "confirmations.redraft.message": "Estàs segur que vols esborrar aquesta publicació i tornar a redactar-la? Perderàs totes els impulsos i favorits, i les respostes a la publicació original es quedaran orfes.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Respon",
+  "confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?",
   "confirmations.unfollow.confirm": "Deixa de seguir",
   "confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Incrusta aquest estat al lloc web copiant el codi a continuació.",
   "embed.preview": "Aquí tenim quin aspecte tindrá:",
   "emoji_button.activity": "Activitat",
@@ -297,7 +296,7 @@
   "status.open": "Ampliar aquest estat",
   "status.pin": "Fixat en el perfil",
   "status.pinned": "Toot fixat",
-  "status.read_more": "Read more",
+  "status.read_more": "Llegir més",
   "status.reblog": "Impuls",
   "status.reblog_private": "Impulsar a l'audiència original",
   "status.reblogged_by": "{name} ha retootejat",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Mostra més per a tot",
   "status.unmute_conversation": "Activar conversació",
   "status.unpin": "Deslliga del perfil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federada",
   "tabs_bar.home": "Inici",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 4507deddb..357ff0ac8 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "St'utilizatore ùn seguita nisunu.",
   "account.follows_you": "Vi seguita",
   "account.hide_reblogs": "Piattà spartere da @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
   "account.media": "Media",
   "account.mention": "Mintuvà @{name}",
   "account.moved_to": "{name} hè partutu nant'à:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Site sicuru·a che vulete piattà @{name}?",
   "confirmations.redraft.confirm": "Sguassà è riscrive",
   "confirmations.redraft.message": "Site sicuru·a chè vulete sguassà stu statutu è riscrivelu? I favuriti è spartere saranu persi, è e risposte diventeranu orfane.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Risponde",
+  "confirmations.reply.message": "Risponde avà sguasserà u missaghju chì scrivite. Site sicuru·a chì vulete cuntinuà?",
   "confirmations.unfollow.confirm": "Disabbunassi",
   "confirmations.unfollow.message": "Site sicuru·a ch'ùn vulete più siguità @{name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
   "embed.preview": "Assumiglierà à qualcosa cusì:",
   "emoji_button.activity": "Attività",
@@ -297,7 +296,7 @@
   "status.open": "Apre stu statutu",
   "status.pin": "Puntarulà à u prufile",
   "status.pinned": "Statutu puntarulatu",
-  "status.read_more": "Read more",
+  "status.read_more": "Leghje di più",
   "status.reblog": "Sparte",
   "status.reblog_private": "Sparte à l'audienza uriginale",
   "status.reblogged_by": "{name} hà spartutu",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Slibrà tuttu",
   "status.unmute_conversation": "Ùn piattà più a cunversazione",
   "status.unpin": "Spuntarulà da u prufile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Glubale",
   "tabs_bar.home": "Accolta",
   "tabs_bar.local_timeline": "Lucale",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 116a65468..5f82dd8e0 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -75,8 +75,8 @@
   "compose_form.publish_loud": "{publish}!",
   "compose_form.sensitive.marked": "Mediální obsah je označen jako citlivý",
   "compose_form.sensitive.unmarked": "Mediální obsah není označen jako citlivý",
-  "compose_form.spoiler.marked": "Text je ukrytý za varováním",
-  "compose_form.spoiler.unmarked": "Text není ukrytý",
+  "compose_form.spoiler.marked": "Text je skrytý za varováním",
+  "compose_form.spoiler.unmarked": "Text není skrytý",
   "compose_form.spoiler_placeholder": "Sem napište vaše varování",
   "confirmation_modal.cancel": "Zrušit",
   "confirmations.block.confirm": "Blokovat",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Jste si jistý/á, že chcete ignorovat uživatele {name}?",
   "confirmations.redraft.confirm": "Vymazat a přepsat",
   "confirmations.redraft.message": "Jste si jistý/á, že chcete vymazat a přepsat tento příspěvek? Oblíbení a boosty budou ztraceny a odpovědi na původní příspěvek budou opuštěny.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Odpovědět",
+  "confirmations.reply.message": "Odpovězením nyní přepíšete zprávu, kterou aktuálně píšete. Jste si jistý/á, že chcete pokračovat?",
   "confirmations.unfollow.confirm": "Přestat sledovat",
   "confirmations.unfollow.message": "jste si jistý/á, že chcete přestat sledovat uživatele {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Pro přidání příspěvku na vaši webovou stránku zkopírujte níže uvedený kód.",
   "embed.preview": "Takhle to bude vypadat:",
   "emoji_button.activity": "Aktivita",
@@ -115,7 +114,7 @@
   "empty_column.blocks": "Ještě jste nezablokoval/a žádného uživatele.",
   "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!",
   "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.",
-  "empty_column.domain_blocks": "Ještě zde nejsou žádné skryté domény.",
+  "empty_column.domain_blocks": "Ještě nejsou žádné skryté domény.",
   "empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené tooty. Pokud si nějaký oblíbíte, zobrazí se zde.",
   "empty_column.favourites": "Tento toot si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.",
   "empty_column.follow_requests": "Ještě nemáte žádné požadavky o sledování. Pokud nějaký obdržíte, zobrazí se zde.",
@@ -130,7 +129,7 @@
   "follow_request.authorize": "Autorizovat",
   "follow_request.reject": "Odmítnout",
   "getting_started.developers": "Vývojáři",
-  "getting_started.documentation": "Documentation",
+  "getting_started.documentation": "Dokumentace",
   "getting_started.find_friends": "Najděte si přátele z Twitteru",
   "getting_started.heading": "Začínáme",
   "getting_started.invite": "Pozvat lidi",
@@ -166,7 +165,7 @@
   "keyboard_shortcuts.reply": "k odpovězení",
   "keyboard_shortcuts.requests": "k otevření seznamu požadavků o sledování",
   "keyboard_shortcuts.search": "k zaměření na vyhledávání",
-  "keyboard_shortcuts.start": "k otevření sloupce \"začít\"",
+  "keyboard_shortcuts.start": "k otevření sloupce „začínáme“",
   "keyboard_shortcuts.toggle_hidden": "k zobrazení/skrytí textu za varováním o obsahu",
   "keyboard_shortcuts.toot": "k napsání úplně nového tootu",
   "keyboard_shortcuts.unfocus": "ke zrušení soustředění na psací prostor/hledání",
@@ -244,15 +243,15 @@
   "onboarding.page_three.search": "Pomocí vyhledávacího řádku najděte lidi a podívejte se na hashtagy jako {illustration} a {introductions}. Chcete-li najít někoho, kdo není na této instanci, použijte jeho celou adresu profilu.",
   "onboarding.page_two.compose": "Příspěvky pište z pole na komponování. Ikonami níže můžete nahrávat obrázky, změnit nastavení soukromí a přidat varování o obsahu.",
   "onboarding.skip": "Přeskočit",
-  "privacy.change": "Změnit viditelnost příspěvku",
+  "privacy.change": "Změnit soukromí příspěvku",
   "privacy.direct.long": "Odeslat pouze zmíněným uživatelům",
-  "privacy.direct.short": "Přímé",
+  "privacy.direct.short": "Přímý",
   "privacy.private.long": "Odeslat pouze sledovatelům",
   "privacy.private.short": "Pouze pro sledovatele",
   "privacy.public.long": "Odeslat na veřejné časové osy",
-  "privacy.public.short": "Veřejné",
-  "privacy.unlisted.long": "Do not show in public timelines",
-  "privacy.unlisted.short": "Nezobrazované",
+  "privacy.public.short": "Veřejný",
+  "privacy.unlisted.long": "Neodeslat na veřejné časové osy",
+  "privacy.unlisted.short": "Neuvedený",
   "regeneration_indicator.label": "Načítám…",
   "regeneration_indicator.sublabel": "Váš domovský proud se připravuje!",
   "relative_time.days": "{number} d",
@@ -297,7 +296,7 @@
   "status.open": "Rozbalit tento příspěvek",
   "status.pin": "Připnout na profil",
   "status.pinned": "Připnutý toot",
-  "status.read_more": "Read more",
+  "status.read_more": "Číst více",
   "status.reblog": "Boostnout",
   "status.reblog_private": "Boostnout původnímu publiku",
   "status.reblogged_by": "{name} boostnul/a",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Zobrazit více pro všechny",
   "status.unmute_conversation": "Přestat ignorovat konverzaci",
   "status.unpin": "Odepnout z profilu",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federovaná",
   "tabs_bar.home": "Domů",
   "tabs_bar.local_timeline": "Místní",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index 4816a0e35..78c8d02f0 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -1,7 +1,7 @@
 {
   "account.badges.bot": "Bot",
-  "account.block": "Blociwch @{name}",
-  "account.block_domain": "Cuddiwch bopeth rhag {domain}",
+  "account.block": "Blocio @{name}",
+  "account.block_domain": "Cuddio popeth rhag {domain}",
   "account.blocked": "Blociwyd",
   "account.direct": "Neges breifat @{name}",
   "account.disclaimer_full": "Gall y wybodaeth isod adlewyrchu darlun anghyflawn o broffil defnyddiwr.",
@@ -24,14 +24,14 @@
   "account.muted": "Distewyd",
   "account.posts": "Tŵtiau",
   "account.posts_with_replies": "Tŵtiau ac atebion",
-  "account.report": "Adroddwch @{name}",
+  "account.report": "Adrodd @{name}",
   "account.requested": "Aros am gymeradwyaeth. Cliciwch er mwyn canslo cais dilyn",
   "account.share": "Rhannwch broffil @{name}",
-  "account.show_reblogs": "Dangoswch bwstiau o @{name}",
-  "account.unblock": "Dadflociwch @{name}",
-  "account.unblock_domain": "Dadguddiwch {domain}",
-  "account.unendorse": "Peidwch a'i arddangos ar fy mhroffil",
-  "account.unfollow": "Daddilynwch",
+  "account.show_reblogs": "Dangos bwstiau o @{name}",
+  "account.unblock": "Dadflocio @{name}",
+  "account.unblock_domain": "Dadguddio {domain}",
+  "account.unendorse": "Peidio a'i arddangos ar fy mhroffil",
+  "account.unfollow": "Dad-ddilyn",
   "account.unmute": "Dad-dawelu @{name}",
   "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
   "account.view_full_profile": "Gweld proffil llawn",
@@ -57,54 +57,53 @@
   "column.pins": "Tŵtiau wedi eu pinio",
   "column.public": "Ffrwd y ffederasiwn",
   "column_back_button.label": "Nôl",
-  "column_header.hide_settings": "Cuddiwch dewisiadau",
-  "column_header.moveLeft_settings": "Symudwch y golofn i'r chwith",
-  "column_header.moveRight_settings": "Symudwch y golofn i'r dde",
-  "column_header.pin": "Piniwch",
+  "column_header.hide_settings": "Cuddio dewisiadau",
+  "column_header.moveLeft_settings": "Symud y golofn i'r chwith",
+  "column_header.moveRight_settings": "Symud y golofn i'r dde",
+  "column_header.pin": "Pinio",
   "column_header.show_settings": "Dangos gosodiadau",
-  "column_header.unpin": "Dadbiniwch",
+  "column_header.unpin": "Dadbinio",
   "column_subheading.settings": "Gosodiadau",
   "community.column_settings.media_only": "Cyfryngau yn unig",
   "compose_form.direct_message_warning": "Mi fydd y tŵt hwn ond yn cael ei anfon at y defnyddwyr sy'n cael eu crybwyll.",
-  "compose_form.direct_message_warning_learn_more": "Dysgwch fwy",
+  "compose_form.direct_message_warning_learn_more": "Dysgu mwy",
   "compose_form.hashtag_warning": "Ni fydd y tŵt hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond tŵtiau cyhoeddus gellid chwilota amdanynt drwy hashnod.",
-  "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich POSTS dilynwyr-yn-unig.",
+  "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich tŵtiau dilynwyr-yn-unig.",
   "compose_form.lock_disclaimer.lock": "wedi ei gloi",
-  "compose_form.placeholder": "Be syd ar eich meddwl?",
+  "compose_form.placeholder": "Beth sydd ar eich meddwl?",
   "compose_form.publish": "Tŵt",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.sensitive.marked": "Media is marked as sensitive",
-  "compose_form.sensitive.unmarked": "Media is not marked as sensitive",
+  "compose_form.sensitive.marked": "Cyfryngau wedi'u marcio'n sensitif",
+  "compose_form.sensitive.unmarked": "Nid yw'r cyfryngau wedi'u marcio'n sensitif",
   "compose_form.spoiler.marked": "Testun wedi ei guddio gan rybudd",
   "compose_form.spoiler.unmarked": "Nid yw'r testun wedi ei guddio",
   "compose_form.spoiler_placeholder": "Ysgrifenwch eich rhybudd yma",
   "confirmation_modal.cancel": "Canslo",
-  "confirmations.block.confirm": "Blociwch",
+  "confirmations.block.confirm": "Blocio",
   "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
   "confirmations.delete.confirm": "Dileu",
   "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y statws hwn?",
   "confirmations.delete_list.confirm": "Dileu",
   "confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
   "confirmations.domain_block.confirm": "Cuddio parth cyfan",
-  "confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwyr o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
+  "confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
   "confirmations.mute.confirm": "Tawelu",
   "confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
-  "confirmations.redraft.confirm": "Dilëwch & ailddrafftio",
+  "confirmations.redraft.confirm": "Dileu & ailddrafftio",
   "confirmations.redraft.message": "Ydych chi'n siwr eich bod eisiau dileu y statws hwn a'i ailddrafftio? Bydd ffefrynnau a bwstiau'n cael ei colli, a bydd ymatebion i'r statws gwreiddiol yn cael eu hamddifadu.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Ateb",
+  "confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
   "confirmations.unfollow.confirm": "Dad-ddilynwch",
   "confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Mewnblannwch y statws hwn ar eich gwefan drwy gopïo'r côd isod.",
   "embed.preview": "Dyma sut olwg fydd arno:",
   "emoji_button.activity": "Gweithgarwch",
-  "emoji_button.custom": "Custom",
+  "emoji_button.custom": "Unigryw",
   "emoji_button.flags": "Baneri",
   "emoji_button.food": "Bwyd a Diod",
   "emoji_button.label": "Mewnosodwch emoji",
   "emoji_button.nature": "Natur",
-  "emoji_button.not_found": "Dim emojos!! (╯°□°)╯︵ ┻━┻",
+  "emoji_button.not_found": "Dim emojo!! (╯°□°)╯︵ ┻━┻",
   "emoji_button.objects": "Gwrthrychau",
   "emoji_button.people": "Pobl",
   "emoji_button.recent": "Defnyddir yn aml",
@@ -117,34 +116,34 @@
   "empty_column.direct": "Nid oes gennych unrhyw negeseuon preifat eto. Pan y byddwch yn anfon neu derbyn un, mi fydd yn ymddangos yma.",
   "empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.",
   "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff dwtiau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.",
-  "empty_column.favourites": "Nid oes neb wedi hoffi'r tŵt yma eto. Pan bydd rhywun yn ei hoffi, mi fyddent yn ymddangos yma.",
-  "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan dderbyniwch chi un, bydd yn ymddangos yma.",
+  "empty_column.favourites": "Nid oes neb wedi hoffi'r tŵt yma eto. Pan bydd rhywun yn ei hoffi, byddent yn ymddangos yma.",
+  "empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan dderbyniwch chi un, byddent yn ymddangos yma.",
   "empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.",
   "empty_column.home": "Mae eich ffrwd gartref yn wag! Ymwelwch a {public} neu defnyddiwch y chwilotwr i ddechrau arni ac i gwrdd a defnyddwyr eraill.",
-  "empty_column.home.public_timeline": "y ffrwd cyhoeddus",
+  "empty_column.home.public_timeline": "y ffrwd gyhoeddus",
   "empty_column.list": "Nid oes dim yn y rhestr yma eto. Pan y bydd aelodau'r rhestr yn cyhoeddi statws newydd, mi fydd yn ymddangos yma.",
   "empty_column.lists": "Nid oes gennych unrhyw restrau eto. Pan grëwch chi un, mi fydd yn ymddangos yma.",
   "empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.",
   "empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.",
-  "empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o INSTANCES eraill i'w lenwi",
+  "empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi",
   "follow_request.authorize": "Caniatau",
   "follow_request.reject": "Gwrthod",
   "getting_started.developers": "Datblygwyr",
   "getting_started.documentation": "Dogfennaeth",
   "getting_started.find_friends": "Canfod ffrindiau o Twitter",
   "getting_started.heading": "Dechrau",
-  "getting_started.invite": "Gwahoddwch bobl",
+  "getting_started.invite": "Gwahodd pobl",
   "getting_started.open_source_notice": "Mae Mastodon yn feddalwedd côd agored. Mae modd cyfrannu neu adrodd materion ar GitHUb ar {github}.",
   "getting_started.security": "Diogelwch",
   "getting_started.terms": "Telerau Gwasanaeth",
   "home.column_settings.basic": "Syml",
-  "home.column_settings.show_reblogs": "Show boosts",
-  "home.column_settings.show_replies": "Dangoswch ymatebion",
+  "home.column_settings.show_reblogs": "Dangos bŵstiau",
+  "home.column_settings.show_replies": "Dangos ymatebion",
   "keyboard_shortcuts.back": "i lywio nôl",
   "keyboard_shortcuts.blocked": "i agor rhestr defnyddwyr a flociwyd",
-  "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.boost": "i fŵstio",
+  "keyboard_shortcuts.column": "i ffocysu statws yn un o'r colofnau",
+  "keyboard_shortcuts.compose": "i ffocysu yr ardal cyfansoddi testun",
   "keyboard_shortcuts.description": "Disgrifiad",
   "keyboard_shortcuts.direct": "i agor colofn negeseuon preifat",
   "keyboard_shortcuts.down": "i symud lawr yn y rhestr",
@@ -175,24 +174,24 @@
   "lightbox.next": "Nesaf",
   "lightbox.previous": "Blaenorol",
   "lists.account.add": "Ychwanegwch at restr",
-  "lists.account.remove": "Remove from list",
+  "lists.account.remove": "Dileu o'r rhestr",
   "lists.delete": "Dileu rhestr",
-  "lists.edit": "Golygwch restr",
-  "lists.new.create": "Ychwanegwch restr",
+  "lists.edit": "Golygwch rhestr",
+  "lists.new.create": "Ychwanegu rhestr",
   "lists.new.title_placeholder": "Teitl rhestr newydd",
-  "lists.search": "Chwiliwch ymysg pobl yr ydych yn ei ddilyn",
+  "lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn",
   "lists.subheading": "Eich rhestrau",
   "loading_indicator.label": "Llwytho...",
   "media_gallery.toggle_visible": "Toglo gwelededd",
   "missing_indicator.label": "Heb ei ganfod",
   "missing_indicator.sublabel": "Ni ellid canfod yr adnodd hwn",
-  "mute_modal.hide_notifications": "Cuddiwch hysbysiadau rhag y defnyddiwr hwn?",
+  "mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?",
   "navigation_bar.apps": "Apiau symudol",
   "navigation_bar.blocks": "Defnyddwyr wedi eu blocio",
   "navigation_bar.community_timeline": "Ffrwd leol",
-  "navigation_bar.compose": "Cyfansoddwch dŵt newydd",
+  "navigation_bar.compose": "Cyfansoddi tŵt newydd",
   "navigation_bar.direct": "Negeseuon preifat",
-  "navigation_bar.discover": "Darganfyddwch",
+  "navigation_bar.discover": "Darganfod",
   "navigation_bar.domain_blocks": "Parthau cuddiedig",
   "navigation_bar.edit_profile": "Golygu proffil",
   "navigation_bar.favourites": "Ffefrynnau",
@@ -206,7 +205,7 @@
   "navigation_bar.personal": "Personol",
   "navigation_bar.pins": "Tŵtiau wedi eu pinio",
   "navigation_bar.preferences": "Dewisiadau",
-  "navigation_bar.public_timeline": "Ffrwd y fferasiwn",
+  "navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
   "navigation_bar.security": "Diogelwch",
   "notification.favourite": "hoffodd {name} eich statws",
   "notification.follow": "dilynodd {name} chi",
@@ -225,14 +224,14 @@
   "notifications.group": "{count} o hysbysiadau",
   "onboarding.done": "Wedi'i wneud",
   "onboarding.next": "Nesaf",
-  "onboarding.page_five.public_timelines": "Mae'r ffrwd lleol yn dangos tŵtiau cyhoeddus o bawb ar y {domain}. Mae ffrwd y ffederasiwn yn dangos tŵtiau cyhoeddus o bawb y mae pobl ar y {domain} yn dilyn. Mae rhain yn Ffrydiau Cyhoeddus, ffordd wych o ddarganfod pobl newydd.",
+  "onboarding.page_five.public_timelines": "Mae'r ffrwd leol yn dangos tŵtiau cyhoeddus o bawb ar y {domain}. Mae ffrwd y ffederasiwn yn dangos tŵtiau cyhoeddus o bawb y mae pobl ar y {domain} yn dilyn. Mae rhain yn Ffrydiau Cyhoeddus, ffordd wych o ddarganfod pobl newydd.",
   "onboarding.page_four.home": "Mae'r ffrwd gartref yn dangos twtiau o bobl yr ydych yn dilyn.",
   "onboarding.page_four.notifications": "Mae'r golofn hysbysiadau yn dangos pan mae rhywun yn ymwneud a chi.",
   "onboarding.page_one.federation": "Mae mastodon yn rwydwaith o weinyddwyr anibynnol sy'n uno i greu un rhwydwaith gymdeithasol mwy. Yr ydym yn galw'r gweinyddwyr yma yn achosion.",
-  "onboarding.page_one.full_handle": "Your full handle",
+  "onboarding.page_one.full_handle": "Eich enw Mastodon llawn",
   "onboarding.page_one.handle_hint": "Dyma beth y bysech chi'n dweud wrth eich ffrindiau i chwilota amdano.",
   "onboarding.page_one.welcome": "Croeso i Mastodon!",
-  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
+  "onboarding.page_six.admin": "Gweinyddwr eich achos yw {admin}.",
   "onboarding.page_six.almost_done": "Bron a gorffen...",
   "onboarding.page_six.appetoot": "Bon Apetŵt!",
   "onboarding.page_six.apps_available": "Mae yna {apps} ar gael i iOS, Android a platfformau eraill.",
@@ -241,9 +240,9 @@
   "onboarding.page_six.read_guidelines": "Darllenwch {guidelines} y {domain} os gwelwch yn dda!",
   "onboarding.page_six.various_app": "apiau symudol",
   "onboarding.page_three.profile": "Golygwch eich proffil i newid eich afatar, bywgraffiad, ac enw arddangos. Yno fe fyddwch hefyd yn canfod gosodiadau eraill.",
-  "onboarding.page_three.search": "Defnyddiwch y bar chwilio i ganfod pobl ac i edrych ar eu hashnodau, megis {illustration} ac {introductions}. I chwilio am rhywun nad ydynt ar yr achos hwn, defnyddiwch eu HANDLE llawn.",
-  "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": "Sgipiwch",
+  "onboarding.page_three.search": "Defnyddiwch y bar chwilio i ganfod pobl ac i edrych ar eu hashnodau, megis {illustration} ac {introductions}. I chwilio am rhywun nad ydynt ar yr achos hwn, defnyddiwch eu enw Mastodon llawn.",
+  "onboarding.page_two.compose": "Ysrgifenwch dŵtiau o'r golofn cyfansoddi. Mae modd uwchlwytho lluniau, newid gosodiadau preifatrwydd, ac ychwanegu rhybudd cynnwys gyda'r eiconau isod.",
+  "onboarding.skip": "Sgipio",
   "privacy.change": "Addasu preifatrwdd y statws",
   "privacy.direct.long": "Cyhoeddi i'r defnyddwyr sy'n cael eu crybwyll yn unig",
   "privacy.direct.short": "Uniongyrchol",
@@ -251,7 +250,7 @@
   "privacy.private.short": "Dilynwyr-yn-unig",
   "privacy.public.long": "Cyhoeddi i ffrydiau cyhoeddus",
   "privacy.public.short": "Cyhoeddus",
-  "privacy.unlisted.long": "Peidio a cyhoeddi i ffrydiau cyhoeddus",
+  "privacy.unlisted.long": "Peidio a chyhoeddi i ffrydiau cyhoeddus",
   "privacy.unlisted.short": "Heb ei restru",
   "regeneration_indicator.label": "Llwytho…",
   "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",
@@ -261,61 +260,63 @@
   "relative_time.minutes": "{number}m",
   "relative_time.seconds": "{number}s",
   "reply_indicator.cancel": "Canslo",
-  "report.forward": "Forward to {target}",
-  "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
+  "report.forward": "Ymlaen i {target}",
+  "report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?",
   "report.hint": "Bydd yr adroddiad yn cael ei anfon i arolygydd eich achos. Mae modd darparu esboniad o pam yr ydych yn cwyno am y cyfrif hwn isod:",
   "report.placeholder": "Sylwadau ychwanegol",
   "report.submit": "Cyflwyno",
   "report.target": "Cwyno am {target}",
   "search.placeholder": "Chwilio",
   "search_popout.search_format": "Fformat chwilio uwch",
-  "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
+  "search_popout.tips.full_text": "Mae testun syml yn dychwelyd tŵtiau yr ydych wedi ysgrifennu, hoffi, wedi'u bŵstio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.",
   "search_popout.tips.hashtag": "hashnod",
   "search_popout.tips.status": "statws",
   "search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb",
   "search_popout.tips.user": "defnyddiwr",
   "search_results.accounts": "Pobl",
   "search_results.hashtags": "Hanshnodau",
-  "search_results.statuses": "Twtiau",
+  "search_results.statuses": "Tŵtiau",
   "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
   "standalone.public_title": "Golwg tu fewn...",
-  "status.block": "Blociwch @{name}",
-  "status.cancel_reblog_private": "Unboost",
+  "status.block": "Blocio @{name}",
+  "status.cancel_reblog_private": "Dadfŵstio",
   "status.cannot_reblog": "Ni ellir sbarduno'r tŵt hwn",
   "status.delete": "Dileu",
   "status.detailed_status": "Golwg manwl o'r sgwrs",
   "status.direct": "Neges breifat @{name}",
   "status.embed": "Plannu",
-  "status.favourite": "Favourite",
+  "status.favourite": "Hoffi",
   "status.filtered": "Filtered",
   "status.load_more": "Llwythwch mwy",
-  "status.media_hidden": "Media hidden",
-  "status.mention": "Mention @{name}",
+  "status.media_hidden": "Cyfryngau wedi'u cuddio",
+  "status.mention": "Crybwyll @{name}",
   "status.more": "Mwy",
   "status.mute": "Tawelu @{name}",
-  "status.mute_conversation": "Mute conversation",
-  "status.open": "Expand this status",
-  "status.pin": "Pin on profile",
-  "status.pinned": "Pinned toot",
-  "status.read_more": "Read more",
-  "status.reblog": "Boost",
-  "status.reblog_private": "Boost to original audience",
-  "status.reblogged_by": "{name} boosted",
-  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
-  "status.redraft": "Dilëwh & ailddrafftio",
+  "status.mute_conversation": "Tawelu sgwrs",
+  "status.open": "Ehangu'r statws hwn",
+  "status.pin": "Pinio ar y proffil",
+  "status.pinned": "Pinio tŵt",
+  "status.read_more": "Darllen mwy",
+  "status.reblog": "Hybu",
+  "status.reblog_private": "Hybu i'r gynulleidfa wreiddiol",
+  "status.reblogged_by": "Bŵstio {name}",
+  "status.reblogs.empty": "Does neb wedi bŵstio'r tŵt yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
+  "status.redraft": "Dileu & ailddrafftio",
   "status.reply": "Ateb",
   "status.replyAll": "Ateb i edefyn",
-  "status.report": "Report @{name}",
-  "status.sensitive_toggle": "Click to view",
+  "status.report": "Adrodd @{name}",
+  "status.sensitive_toggle": "Clicio i weld",
   "status.sensitive_warning": "Cynnwys sensitif",
-  "status.share": "Rhannwch",
-  "status.show_less": "Dangoswch lai",
-  "status.show_less_all": "Dangoswch lai i bawb",
-  "status.show_more": "Dangoswch fwy",
-  "status.show_more_all": "Show more for all",
+  "status.share": "Rhannu",
+  "status.show_less": "Dangos llai",
+  "status.show_less_all": "Dangos llai i bawb",
+  "status.show_more": "Dangos mwy",
+  "status.show_more_all": "Dangos mwy i bawb",
   "status.unmute_conversation": "Dad-dawelu sgwrs",
-  "status.unpin": "Unpin from profile",
-  "tabs_bar.federated_timeline": "Federated",
+  "status.unpin": "Dadbinio o'r proffil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
+  "tabs_bar.federated_timeline": "Wedi'i ffedereiddio",
   "tabs_bar.home": "Hafan",
   "tabs_bar.local_timeline": "Lleol",
   "tabs_bar.notifications": "Hysbysiadau",
@@ -324,8 +325,8 @@
   "ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
   "upload_area.title": "Llusgwch & gollwing i uwchlwytho",
   "upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
-  "upload_form.description": "Describe for the visually impaired",
-  "upload_form.focus": "Crop",
+  "upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
+  "upload_form.focus": "Cropio",
   "upload_form.undo": "Dileu",
   "upload_progress.label": "Uwchlwytho...",
   "video.close": "Cau fideo",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 2848c187f..d76f4ac1f 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Denne bruger følger endnu ikke nogen.",
   "account.follows_you": "Følger dig",
   "account.hide_reblogs": "Skjul fremhævelserne fra @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "Ejerskabet af dette link blev tjekket den %{date}",
   "account.media": "Medie",
   "account.mention": "Nævn @{name}",
   "account.moved_to": "{name} er flyttet til:",
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Følg ikke længere",
   "confirmations.unfollow.message": "Er du sikker på, du ikke længere vil følge {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Indlejre denne status på din side ved at kopiere nedenstående kode.",
   "embed.preview": "Det kommer til at se således ud:",
   "emoji_button.activity": "Aktivitet",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Vis mere for alle",
   "status.unmute_conversation": "Fjern dæmpningen fra samtale",
   "status.unpin": "Fjern som fastgjort fra profil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Fælles",
   "tabs_bar.home": "Hjem",
   "tabs_bar.local_timeline": "Lokal",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index a263e2309..81b8ceedd 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Dieses Profil folgt noch niemandem.",
   "account.follows_you": "Folgt dir",
   "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}",
   "account.media": "Medien",
   "account.mention": "@{name} erwähnen",
   "account.moved_to": "{name} ist umgezogen auf:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Bist du dir sicher, dass du {name} stummschalten möchtest?",
   "confirmations.redraft.confirm": "Löschen und neu erstellen",
   "confirmations.redraft.message": "Bist du dir sicher, dass du diesen Status löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Post werden verwaist sein.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Antworten",
+  "confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. Möchtest du wirklich fortfahren?",
   "confirmations.unfollow.confirm": "Entfolgen",
   "confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen möchtest?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.",
   "embed.preview": "So wird es aussehen:",
   "emoji_button.activity": "Aktivitäten",
@@ -130,7 +129,7 @@
   "follow_request.authorize": "Erlauben",
   "follow_request.reject": "Ablehnen",
   "getting_started.developers": "Entwickler",
-  "getting_started.documentation": "Documentation",
+  "getting_started.documentation": "Dokumentation",
   "getting_started.find_friends": "Finde Freunde von Twitter",
   "getting_started.heading": "Erste Schritte",
   "getting_started.invite": "Leute einladen",
@@ -144,7 +143,7 @@
   "keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen",
   "keyboard_shortcuts.boost": "boosten",
   "keyboard_shortcuts.column": "einen Status in einer der Spalten fokussieren",
-  "keyboard_shortcuts.compose": "fokussiere das Tröt-Eingabefeld",
+  "keyboard_shortcuts.compose": "fokussiere das Eingabefeld",
   "keyboard_shortcuts.description": "Beschreibung",
   "keyboard_shortcuts.direct": "Direct-Message-Spalte öffnen",
   "keyboard_shortcuts.down": "sich in der Liste hinunter bewegen",
@@ -161,7 +160,7 @@
   "keyboard_shortcuts.muted": "Liste stummgeschalteter Profile öffnen",
   "keyboard_shortcuts.my_profile": "Dein Profil öffnen",
   "keyboard_shortcuts.notifications": "Benachrichtigungsspalte öffnen",
-  "keyboard_shortcuts.pinned": "Liste angehefteter Tröts öffnen",
+  "keyboard_shortcuts.pinned": "Liste angehefteter Beiträge öffnen",
   "keyboard_shortcuts.profile": "Profil des Autors öffnen",
   "keyboard_shortcuts.reply": "antworten",
   "keyboard_shortcuts.requests": "Liste der Folge-Anfragen  öffnen",
@@ -283,7 +282,7 @@
   "status.cancel_reblog_private": "Nicht mehr teilen",
   "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden",
   "status.delete": "Löschen",
-  "status.detailed_status": "Detailed conversation view",
+  "status.detailed_status": "Detaillierte Ansicht der Konversation",
   "status.direct": "Direktnachricht @{name}",
   "status.embed": "Einbetten",
   "status.favourite": "Favorisieren",
@@ -297,7 +296,7 @@
   "status.open": "Diesen Beitrag öffnen",
   "status.pin": "Im Profil anheften",
   "status.pinned": "Angehefteter Beitrag",
-  "status.read_more": "Read more",
+  "status.read_more": "Mehr lesen",
   "status.reblog": "Teilen",
   "status.reblog_private": "An das eigentliche Publikum teilen",
   "status.reblogged_by": "{name} teilte",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Zeige mehr für alles",
   "status.unmute_conversation": "Stummschaltung von Thread aufheben",
   "status.unpin": "Vom Profil lösen",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Föderation",
   "tabs_bar.home": "Startseite",
   "tabs_bar.local_timeline": "Lokal",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index f613b6cb8..737c55d37 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -873,6 +873,14 @@
   {
     "descriptors": [
       {
+        "defaultMessage": "Dismiss suggestion",
+        "id": "suggestions.dismiss"
+      },
+      {
+        "defaultMessage": "You might be interested in…",
+        "id": "suggestions.header"
+      },
+      {
         "defaultMessage": "People",
         "id": "search_results.accounts"
       },
@@ -1050,15 +1058,6 @@
   {
     "descriptors": [
       {
-        "defaultMessage": "Last message:",
-        "id": "conversation.last_message"
-      }
-    ],
-    "path": "app/javascript/mastodon/features/direct_timeline/components/conversation.json"
-  },
-  {
-    "descriptors": [
-      {
         "defaultMessage": "Direct messages",
         "id": "column.direct"
       },
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 5ef160955..8e67e7f90 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -7,15 +7,15 @@
   "account.disclaimer_full": "Οι παρακάτω πληροφορίες μπορει να μην αντανακλούν το προφίλ του χρήστη επαρκως.",
   "account.domain_blocked": "Κρυμμένος τομέας",
   "account.edit_profile": "Επεξεργάσου το προφίλ",
-  "account.endorse": "Feature on profile",
+  "account.endorse": "Προβολή στο προφίλ",
   "account.follow": "Ακολούθησε",
   "account.followers": "Ακόλουθοι",
-  "account.followers.empty": "No one follows this user yet.",
+  "account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
   "account.follows": "Ακολουθεί",
-  "account.follows.empty": "This user doesn't follow anyone yet.",
+  "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
   "account.follows_you": "Σε ακολουθεί",
   "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου εκλέχθηκε την {date}",
   "account.media": "Πολυμέσα",
   "account.mention": "Ανάφερε @{name}",
   "account.moved_to": "{name} μεταφέρθηκε στο:",
@@ -30,7 +30,7 @@
   "account.show_reblogs": "Δείξε τις προωθήσεις του/της @{name}",
   "account.unblock": "Ξεμπλόκαρε τον/την @{name}",
   "account.unblock_domain": "Αποκάλυψε το {domain}",
-  "account.unendorse": "Don't feature on profile",
+  "account.unendorse": "Άνευ προβολής στο προφίλ",
   "account.unfollow": "Διακοπή παρακολούθησης",
   "account.unmute": "Διακοπή αποσιώπησης του/της @{name}",
   "account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις τον/την {name};",
   "confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
   "confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την κατάσταση και να την ξαναγράψεις; Οι αναφορές και τα αγαπημένα της θα χαθούν ενώ οι απαντήσεις προς αυτή θα μείνουν ορφανές.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Απάντησε",
+  "confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
   "confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
   "confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.",
   "embed.preview": "Ορίστε πως θα φαίνεται:",
   "emoji_button.activity": "Δραστηριότητα",
@@ -112,19 +111,19 @@
   "emoji_button.search_results": "Αποτελέσματα αναζήτησης",
   "emoji_button.symbols": "Σύμβολα",
   "emoji_button.travel": "Ταξίδια & Τοποθεσίες",
-  "empty_column.blocks": "You haven't blocked any users yet.",
+  "empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.",
   "empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!",
   "empty_column.direct": "Δεν έχεις προσωπικά μηνύματα ακόμα. Όταν στείλεις ή λάβεις κανένα, θα εμφανιστεί εδώ.",
-  "empty_column.domain_blocks": "There are no hidden domains yet.",
-  "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
-  "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
-  "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+  "empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.",
+  "empty_column.favourited_statuses": "Δεν έχεις κανένα αγαπημένο τουτ ακόμα. Μόλις αγαπήσεις κάποιο, θα εμφανιστεί εδώ.",
+  "empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτό το τουτ ακόμα. Μόλις το κάνει κάποια, θα εμφανιστούν εδώ.",
+  "empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.",
   "empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ταμπέλα.",
   "empty_column.home": "Η τοπική σου ροή είναι κενή! Πήγαινε στο {public} ή κάνε αναζήτηση για να ξεκινήσεις και να γνωρίσεις άλλους χρήστες.",
   "empty_column.home.public_timeline": "η δημόσια ροή",
   "empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
-  "empty_column.mutes": "You haven't muted any users yet.",
+  "empty_column.lists": "Δεν έχεις καμία λίστα ακόμα. Μόλις φτιάξεις μια, θα εμφανιστεί εδώ.",
+  "empty_column.mutes": "Δεν έχεις αποσιωπήσει κανένα χρήστη ακόμα.",
   "empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Αλληλεπίδρασε με άλλους χρήστες για να ξεκινήσεις την κουβέντα.",
   "empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο, ή ακολούθησε χειροκίνητα χρήστες από άλλα instances για να τη γεμίσεις",
   "follow_request.authorize": "Ενέκρινε",
@@ -141,32 +140,32 @@
   "home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
   "home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
   "keyboard_shortcuts.back": "για επιστροφή πίσω",
-  "keyboard_shortcuts.blocked": "to open blocked users list",
+  "keyboard_shortcuts.blocked": "άνοιγμα λίστας αποκλεισμένων χρηστών",
   "keyboard_shortcuts.boost": "για προώθηση",
   "keyboard_shortcuts.column": "για εστίαση μιας κατάστασης σε μια από τις στήλες",
   "keyboard_shortcuts.compose": "για εστίαση στην περιοχή κειμένου συγγραφής",
   "keyboard_shortcuts.description": "Description",
-  "keyboard_shortcuts.direct": "to open direct messages column",
+  "keyboard_shortcuts.direct": "άνοιγμα κολώνας απευθείας μηνυμάτων",
   "keyboard_shortcuts.down": "για κίνηση προς τα κάτω στη λίστα",
   "keyboard_shortcuts.enter": "to open status",
   "keyboard_shortcuts.favourite": "για σημείωση αγαπημένου",
-  "keyboard_shortcuts.favourites": "to open favourites list",
-  "keyboard_shortcuts.federated": "to open federated timeline",
+  "keyboard_shortcuts.favourites": "άνοιγμα λίστας αγαπημένων",
+  "keyboard_shortcuts.federated": "άνοιγμα ομοσπονδιακής ροής",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
-  "keyboard_shortcuts.home": "to open home timeline",
+  "keyboard_shortcuts.home": "άνοιγμα αρχικής ροής",
   "keyboard_shortcuts.hotkey": "Συντόμευση",
   "keyboard_shortcuts.legend": "για να εμφανίσεις αυτόν τον οδηγό",
-  "keyboard_shortcuts.local": "to open local timeline",
+  "keyboard_shortcuts.local": "άνοιγμα τοπικής ροής",
   "keyboard_shortcuts.mention": "για να αναφέρεις το συγγραφέα",
-  "keyboard_shortcuts.muted": "to open muted users list",
-  "keyboard_shortcuts.my_profile": "to open your profile",
-  "keyboard_shortcuts.notifications": "to open notifications column",
-  "keyboard_shortcuts.pinned": "to open pinned toots list",
-  "keyboard_shortcuts.profile": "to open author's profile",
+  "keyboard_shortcuts.muted": "άνοιγμα λίστας αποσιωπημενων χρηστών",
+  "keyboard_shortcuts.my_profile": "άνοιγμα του προφίλ σου",
+  "keyboard_shortcuts.notifications": "άνοιγμα κολώνας ειδοποιήσεων",
+  "keyboard_shortcuts.pinned": "άνοιγμα λίστας καρφιτσωμένων τουτ",
+  "keyboard_shortcuts.profile": "άνοιγμα προφίλ συγγραφέα",
   "keyboard_shortcuts.reply": "για απάντηση",
-  "keyboard_shortcuts.requests": "to open follow requests list",
+  "keyboard_shortcuts.requests": "άνοιγμα λίστας αιτημάτων παρακολούθησης",
   "keyboard_shortcuts.search": "για εστίαση αναζήτησης",
-  "keyboard_shortcuts.start": "to open \"get started\" column",
+  "keyboard_shortcuts.start": "άνοιγμα κολώνας \"Ξεκινώντας\"",
   "keyboard_shortcuts.toggle_hidden": "για εμφάνιση/απόκρυψη κειμένου πίσω από την προειδοποίηση",
   "keyboard_shortcuts.toot": "για δημιουργία ολοκαίνουριου τουτ",
   "keyboard_shortcuts.unfocus": "για την απο-εστίαση του πεδίου σύνθεσης/αναζήτησης",
@@ -187,10 +186,10 @@
   "missing_indicator.label": "Δε βρέθηκε",
   "missing_indicator.sublabel": "Αδύνατη η εύρεση αυτού του πόρου",
   "mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;",
-  "navigation_bar.apps": "Mobile apps",
+  "navigation_bar.apps": "Εφαρμογές φορητών συσκευών",
   "navigation_bar.blocks": "Αποκλεισμένοι χρήστες",
   "navigation_bar.community_timeline": "Τοπική ροή",
-  "navigation_bar.compose": "Compose new toot",
+  "navigation_bar.compose": "Γράψε νέο τουτ",
   "navigation_bar.direct": "Προσωπικά μηνύματα",
   "navigation_bar.discover": "Ανακάλυψη",
   "navigation_bar.domain_blocks": "Κρυμμένοι τομείς",
@@ -283,7 +282,7 @@
   "status.cancel_reblog_private": "Ακύρωσε την προώθηση",
   "status.cannot_reblog": "Αυτή η δημοσίευση δεν μπορεί να προωθηθεί",
   "status.delete": "Διαγραφή",
-  "status.detailed_status": "Detailed conversation view",
+  "status.detailed_status": "Προβολή λεπτομερειών συζήτησης",
   "status.direct": "Προσωπικό μήνυμα προς @{name}",
   "status.embed": "Ενσωμάτωσε",
   "status.favourite": "Σημείωσε ως αγαπημένο",
@@ -297,11 +296,11 @@
   "status.open": "Διεύρυνε αυτή την κατάσταση",
   "status.pin": "Καρφίτσωσε στο προφίλ",
   "status.pinned": "Καρφιτσωμένο τουτ",
-  "status.read_more": "Read more",
+  "status.read_more": "Περισσότερα",
   "status.reblog": "Προώθησε",
   "status.reblog_private": "Προώθησε στους αρχικούς παραλήπτες",
   "status.reblogged_by": "{name} προώθησε",
-  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+  "status.reblogs.empty": "Κανείς δεν προώθησε αυτό το τουτ ακόμα. Μόλις το κάνει κάποια, θα εμφανιστούν εδώ.",
   "status.redraft": "Σβήσε & ξαναγράψε",
   "status.reply": "Απάντησε",
   "status.replyAll": "Απάντησε στην συζήτηση",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Δείξε περισσότερα για όλα",
   "status.unmute_conversation": "Διέκοψε την αποσιώπηση της συζήτησης",
   "status.unpin": "Ξεκαρφίτσωσε από το προφίλ",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Ομοσπονδιακή",
   "tabs_bar.home": "Αρχική",
   "tabs_bar.local_timeline": "Τοπικά",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index b616d6c83..a45d762c1 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -99,7 +99,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -320,6 +319,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federated",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 19e7a21e5..0522ce95b 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Ne plu sekvi",
   "confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.",
   "embed.preview": "Ĝi aperos tiel:",
   "emoji_button.activity": "Agadoj",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Grandigi ĉiujn",
   "status.unmute_conversation": "Malsilentigi konversacion",
   "status.unpin": "Depingli de profilo",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Fratara tempolinio",
   "tabs_bar.home": "Hejmo",
   "tabs_bar.local_timeline": "Loka tempolinio",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 1a71a1023..f06ac11a4 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Dejar de seguir",
   "confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Mostrar más para todo",
   "status.unmute_conversation": "Dejar de silenciar conversación",
   "status.unpin": "Dejar de fijar",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federado",
   "tabs_bar.home": "Inicio",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index f088c07a8..300e7eae4 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Utzi jarraitzeari",
   "confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Txertatu mezu hau zure webgunean beheko kodea kopatuz.",
   "embed.preview": "Hau da izango duen itxura:",
   "emoji_button.activity": "Jarduera",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Erakutsi denetarik gehiago",
   "status.unmute_conversation": "Desmututu elkarrizketa",
   "status.unpin": "Desfinkatu profiletik",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federatua",
   "tabs_bar.home": "Hasiera",
   "tabs_bar.local_timeline": "Lokala",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 6a7964606..7198931c4 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -58,8 +58,8 @@
   "column.public": "نوشته‌های همه‌جا",
   "column_back_button.label": "بازگشت",
   "column_header.hide_settings": "نهفتن تنظیمات",
-  "column_header.moveLeft_settings": "انتقال ستون به چپ",
-  "column_header.moveRight_settings": "انتقال ستون به راست",
+  "column_header.moveLeft_settings": "انتقال ستون به راست",
+  "column_header.moveRight_settings": "انتقال ستون به چپ",
   "column_header.pin": "ثابت‌کردن",
   "column_header.show_settings": "نمایش تنظیمات",
   "column_header.unpin": "رهاکردن",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "آیا واقعاً می‌خواهید {name} را بی‌صدا کنید؟",
   "confirmations.redraft.confirm": "پاک‌کردن و بازنویسی",
   "confirmations.redraft.message": "آیا واقعاً می‌خواهید این نوشته را پاک کنید و آن را از نو بنویسید؟ با این کار بازبوق‌ها و پسندیده‌شدن‌های آن از دست می‌رود و پاسخ‌ها به آن بی‌مرجع می‌شود.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "پاسخ",
+  "confirmations.reply.message": "اگر الان پاسخ دهید، چیزی که در حال نوشتنش بودید پاک خواهد شد. آیا همین را می‌خواهید؟",
   "confirmations.unfollow.confirm": "لغو پیگیری",
   "confirmations.unfollow.message": "آیا واقعاً می‌خواهید به پیگیری از {name} پایان دهید؟",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.",
   "embed.preview": "نوشتهٔ جاگذاری‌شده این گونه به نظر خواهد رسید:",
   "emoji_button.activity": "فعالیت",
@@ -297,7 +296,7 @@
   "status.open": "این نوشته را باز کن",
   "status.pin": "نوشتهٔ ثابت نمایه",
   "status.pinned": "بوق ثابت",
-  "status.read_more": "Read more",
+  "status.read_more": "بیشتر بخوانید",
   "status.reblog": "بازبوقیدن",
   "status.reblog_private": "بازبوق به مخاطبان اولیه",
   "status.reblogged_by": "‫{name}‬ بازبوقید",
@@ -315,6 +314,8 @@
   "status.show_more_all": "نمایش بیشتر همه",
   "status.unmute_conversation": "باصداکردن گفتگو",
   "status.unpin": "برداشتن نوشتهٔ ثابت نمایه",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "همگانی",
   "tabs_bar.home": "خانه",
   "tabs_bar.local_timeline": "محلی",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 5a6752ce1..fc623dab8 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Lakkaa seuraamasta",
   "confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta käyttäjää {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Upota statuspäivitys sivullesi kopioimalla alla oleva koodi.",
   "embed.preview": "Se tulee näyttämään tältä:",
   "emoji_button.activity": "Aktiviteetit",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Näytä lisää kaikista",
   "status.unmute_conversation": "Poista keskustelun mykistys",
   "status.unpin": "Irrota profiilista",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Yleinen",
   "tabs_bar.home": "Koti",
   "tabs_bar.local_timeline": "Paikallinen",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 4371e166c..d8b16672b 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -10,9 +10,9 @@
   "account.endorse": "Figure sur le profil",
   "account.follow": "Suivre",
   "account.followers": "Abonné⋅e⋅s",
-  "account.followers.empty": "Personne ne suit cet utilisateur pour l'instant.",
+  "account.followers.empty": "Personne ne suit cet utilisateur pour l’instant.",
   "account.follows": "Abonnements",
-  "account.follows.empty": "Cet utilisateur ne suit personne pour l'instant.",
+  "account.follows.empty": "Cet utilisateur ne suit personne pour l’instant.",
   "account.follows_you": "Vous suit",
   "account.hide_reblogs": "Masquer les partages de @{name}",
   "account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Confirmez-vous le masquage de {name} ?",
   "confirmations.redraft.confirm": "Effacer et ré-écrire",
   "confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer ce statut pour le ré-écrire ? Ses partages ainsi que ses mises en favori seront perdu·e·s et ses réponses seront orphelines.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Répondre",
+  "confirmations.reply.message": "Répondre maintenant écrasera le message que vous êtes en train de composer. Voulez-vous vraiment continuer ?",
   "confirmations.unfollow.confirm": "Ne plus suivre",
   "confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
   "embed.preview": "Il apparaîtra comme cela :",
   "emoji_button.activity": "Activités",
@@ -112,19 +111,19 @@
   "emoji_button.search_results": "Résultats de la recherche",
   "emoji_button.symbols": "Symboles",
   "emoji_button.travel": "Lieux & Voyages",
-  "empty_column.blocks": "Vous n'avez bloqué aucun utilisateur pour le moment.",
+  "empty_column.blocks": "Vous n’avez bloqué aucun utilisateur pour le moment.",
   "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
   "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.",
-  "empty_column.domain_blocks": "Il n'y a aucun domaine caché pour le moment.",
-  "empty_column.favourited_statuses": "Vous n'avez aucun pouet favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.",
-  "empty_column.favourites": "Personne n'a encore mis ce pouet en favori. Lorsque quelqu'un le fera, il apparaîtra ici.",
-  "empty_column.follow_requests": "Vous n'avez pas encore de demande de suivi. Lorsque vous en recevrez une, elle apparaîtra ici.",
+  "empty_column.domain_blocks": "Il n’y a aucun domaine caché pour le moment.",
+  "empty_column.favourited_statuses": "Vous n’avez aucun pouet favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.",
+  "empty_column.favourites": "Personne n’a encore mis ce pouet en favori. Lorsque quelqu’un le fera, il apparaîtra ici.",
+  "empty_column.follow_requests": "Vous n’avez pas encore de demande de suivi. Lorsque vous en recevrez une, elle apparaîtra ici.",
   "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag.",
   "empty_column.home": "Vous ne suivez personne. Visitez {public} ou utilisez la recherche pour trouver d’autres personnes à suivre.",
   "empty_column.home.public_timeline": "le fil public",
   "empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Dès que des personnes de cette liste publieront de nouveaux statuts, ils apparaîtront ici.",
-  "empty_column.lists": "Vous n'avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
-  "empty_column.mutes": "Vous n'avez pas encore mis des utilisateurs en silence.",
+  "empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
+  "empty_column.mutes": "Vous n’avez pas encore mis des utilisateurs en silence.",
   "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
   "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour remplir le fil public",
   "follow_request.authorize": "Accepter",
@@ -141,7 +140,7 @@
   "home.column_settings.show_reblogs": "Afficher les partages",
   "home.column_settings.show_replies": "Afficher les réponses",
   "keyboard_shortcuts.back": "revenir en arrière",
-  "keyboard_shortcuts.blocked": "pour ouvrir une liste d'utilisateurs bloqués",
+  "keyboard_shortcuts.blocked": "pour ouvrir une liste d’utilisateurs bloqués",
   "keyboard_shortcuts.boost": "partager",
   "keyboard_shortcuts.column": "focaliser un statut dans l’une des colonnes",
   "keyboard_shortcuts.compose": "pour centrer la zone de rédaction",
@@ -153,7 +152,7 @@
   "keyboard_shortcuts.favourites": "pour ouvrir une liste de favoris",
   "keyboard_shortcuts.federated": "pour ouvrir le fil public global",
   "keyboard_shortcuts.heading": "Raccourcis clavier",
-  "keyboard_shortcuts.home": "pour ouvrir l'accueil",
+  "keyboard_shortcuts.home": "pour ouvrir l’accueil",
   "keyboard_shortcuts.hotkey": "Raccourci",
   "keyboard_shortcuts.legend": "pour afficher cette légende",
   "keyboard_shortcuts.local": "pour ouvrir le fil public local",
@@ -297,11 +296,11 @@
   "status.open": "Déplier ce statut",
   "status.pin": "Épingler sur le profil",
   "status.pinned": "Pouet épinglé",
-  "status.read_more": "Read more",
+  "status.read_more": "En savoir plus",
   "status.reblog": "Partager",
   "status.reblog_private": "Booster vers l’audience originale",
   "status.reblogged_by": "{name} a partagé :",
-  "status.reblogs.empty": "Personne n'a encore partagé ce pouet. Lorsque quelqu'un le fera, il apparaîtra ici.",
+  "status.reblogs.empty": "Personne n’a encore partagé ce pouet. Lorsque quelqu’un le fera, il apparaîtra ici.",
   "status.redraft": "Effacer et ré-écrire",
   "status.reply": "Répondre",
   "status.replyAll": "Répondre au fil",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Tout déplier",
   "status.unmute_conversation": "Ne plus masquer la conversation",
   "status.unpin": "Retirer du profil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Fil public global",
   "tabs_bar.home": "Accueil",
   "tabs_bar.local_timeline": "Fil public local",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index f3b1a533b..2f8b76d3a 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -7,15 +7,15 @@
   "account.disclaimer_full": "A información inferior podería mostrar un perfil incompleto da usuaria.",
   "account.domain_blocked": "Dominio agochado",
   "account.edit_profile": "Editar perfil",
-  "account.endorse": "Feature on profile",
+  "account.endorse": "Mostrado no perfil",
   "account.follow": "Seguir",
   "account.followers": "Seguidoras",
-  "account.followers.empty": "No one follows this user yet.",
+  "account.followers.empty": "Ninguén está a seguir esta usuaria por agora.",
   "account.follows": "Seguindo",
-  "account.follows.empty": "This user doesn't follow anyone yet.",
+  "account.follows.empty": "Esta usuaria aínda non segue a ninguén.",
   "account.follows_you": "Séguena",
   "account.hide_reblogs": "Ocultar repeticións de @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "A propiedade de esta ligazón foi comprobada en {date}",
   "account.media": "Medios",
   "account.mention": "Mencionar @{name}",
   "account.moved_to": "{name} marchou a:",
@@ -30,7 +30,7 @@
   "account.show_reblogs": "Mostrar repeticións de @{name}",
   "account.unblock": "Desbloquear @{name}",
   "account.unblock_domain": "Non ocultar {domain}",
-  "account.unendorse": "Don't feature on profile",
+  "account.unendorse": "Non mostrar no perfil",
   "account.unfollow": "Non seguir",
   "account.unmute": "Non acalar @{name}",
   "account.unmute_notifications": "Desbloquear as notificacións de @{name}",
@@ -64,9 +64,9 @@
   "column_header.show_settings": "Mostras axustes",
   "column_header.unpin": "Soltar",
   "column_subheading.settings": "Axustes",
-  "community.column_settings.media_only": "Media Only",
+  "community.column_settings.media_only": "Só medios",
   "compose_form.direct_message_warning": "Este toot enviarase só as usuarias mencionadas. Porén, a súa proveedora de internet e calquera das instancias receptoras poderían examinar esta mensaxe.",
-  "compose_form.direct_message_warning_learn_more": "Learn more",
+  "compose_form.direct_message_warning_learn_more": "Coñecer máis",
   "compose_form.hashtag_warning": "Esta mensaxe non será listada baixo ningunha etiqueta xa que está marcada como non listada. Só os toots públicos poden buscarse por etiquetas.",
   "compose_form.lock_disclaimer": "A súa conta non está {locked}. Calquera pode seguila para ver as súas mensaxes só-para-seguidoras.",
   "compose_form.lock_disclaimer.lock": "bloqueado",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Está segura de que quere acalar a {name}?",
   "confirmations.redraft.confirm": "Eliminar e reescribir",
   "confirmations.redraft.message": "Está segura de querer eliminar este estado e voltalo a escribir? Perderá réplicas e favoritas, e as respostas ao orixinal quedarán orfas.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Respostar",
+  "confirmations.reply.message": "Respostando agora sobreescribirá a mensaxe que está a compoñer. Segura de querer proceder?",
   "confirmations.unfollow.confirm": "Deixar de seguir",
   "confirmations.unfollow.message": "Quere deixar de seguir a {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.",
   "embed.preview": "Así será mostrado:",
   "emoji_button.activity": "Actividade",
@@ -112,61 +111,61 @@
   "emoji_button.search_results": "Resultados da busca",
   "emoji_button.symbols": "Símbolos",
   "emoji_button.travel": "Viaxes e Lugares",
-  "empty_column.blocks": "You haven't blocked any users yet.",
+  "empty_column.blocks": "Non bloqueou ningunha usuaria polo de agora.",
   "empty_column.community": "A liña temporal local está baldeira. Escriba algo de xeito público para que rule!",
   "empty_column.direct": "Aínda non ten mensaxes directas. Cando envíe ou reciba unha, aparecerá aquí.",
-  "empty_column.domain_blocks": "There are no hidden domains yet.",
-  "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
-  "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
-  "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+  "empty_column.domain_blocks": "Aínda non  ocultou ningún dominio.",
+  "empty_column.favourited_statuses": "Aínda non ten toots favoritos. Cando favoreza algún, aparecerá aquí.",
+  "empty_column.favourites": "Ninguén favoreceu este toot polo momento. Cando o faga alguén, aparecerán aquí.",
+  "empty_column.follow_requests": "Non ten peticións de seguimento. Cando reciba unha, mostrarase aquí.",
   "empty_column.hashtag": "Aínda non hai nada con esta etiqueta.",
   "empty_column.home": "A súa liña temporal de inicio está baldeira! Visite {public} ou utilice a busca para atopar outras usuarias.",
   "empty_column.home.public_timeline": "a liña temporal pública",
   "empty_column.list": "Aínda non hai nada en esta lista. Cando as usuarias incluídas na lista publiquen mensaxes, aparecerán aquí.",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
-  "empty_column.mutes": "You haven't muted any users yet.",
+  "empty_column.lists": "Aínda non ten listas. Cando cree unha, mostrarase aquí.",
+  "empty_column.mutes": "Non acalou ningunha usuaria polo de agora.",
   "empty_column.notifications": "Aínda non ten notificacións. Interactúe con outras para iniciar unha conversa.",
   "empty_column.public": "Nada por aquí! Escriba algo de xeito público, ou siga manualmente usuarias de outras instancias para ir enchéndoa",
   "follow_request.authorize": "Autorizar",
   "follow_request.reject": "Rexeitar",
-  "getting_started.developers": "Developers",
+  "getting_started.developers": "Desenvolvedoras",
   "getting_started.documentation": "Documentation",
-  "getting_started.find_friends": "Find friends from Twitter",
+  "getting_started.find_friends": "Atope amigos da Twitter",
   "getting_started.heading": "Comezando",
-  "getting_started.invite": "Invite people",
+  "getting_started.invite": "Convide a xente",
   "getting_started.open_source_notice": "Mastodon é software de código aberto. Pode contribuír ou informar de fallos en GitHub en {github}.",
-  "getting_started.security": "Security",
-  "getting_started.terms": "Terms of service",
+  "getting_started.security": "Seguridade",
+  "getting_started.terms": "Termos do servizo",
   "home.column_settings.basic": "Básico",
   "home.column_settings.show_reblogs": "Mostrar repeticións",
   "home.column_settings.show_replies": "Mostrar respostas",
   "keyboard_shortcuts.back": "voltar atrás",
-  "keyboard_shortcuts.blocked": "to open blocked users list",
+  "keyboard_shortcuts.blocked": "abrir lista de usuarias bloqueadas",
   "keyboard_shortcuts.boost": "promover",
   "keyboard_shortcuts.column": "destacar un estado en unha das columnas",
   "keyboard_shortcuts.compose": "Foco no área de escritura",
   "keyboard_shortcuts.description": "Descrición",
-  "keyboard_shortcuts.direct": "to open direct messages column",
+  "keyboard_shortcuts.direct": "abrir columna de mensaxes directas",
   "keyboard_shortcuts.down": "ir hacia abaixo na lista",
   "keyboard_shortcuts.enter": "abrir estado",
   "keyboard_shortcuts.favourite": "marcar como favorito",
-  "keyboard_shortcuts.favourites": "to open favourites list",
-  "keyboard_shortcuts.federated": "to open federated timeline",
+  "keyboard_shortcuts.favourites": "abrir lista de favoritos",
+  "keyboard_shortcuts.federated": "abrir liña temporal federada",
   "keyboard_shortcuts.heading": "Atallos do teclado",
-  "keyboard_shortcuts.home": "to open home timeline",
+  "keyboard_shortcuts.home": "abrir liña temporal de inicio",
   "keyboard_shortcuts.hotkey": "Tecla de acceso directo",
   "keyboard_shortcuts.legend": "para mostrar esta lenda",
-  "keyboard_shortcuts.local": "to open local timeline",
+  "keyboard_shortcuts.local": "abrir liña temporal local",
   "keyboard_shortcuts.mention": "para mencionar o autor",
-  "keyboard_shortcuts.muted": "to open muted users list",
-  "keyboard_shortcuts.my_profile": "to open your profile",
-  "keyboard_shortcuts.notifications": "to open notifications column",
-  "keyboard_shortcuts.pinned": "to open pinned toots list",
-  "keyboard_shortcuts.profile": "to open author's profile",
+  "keyboard_shortcuts.muted": "abrir lista de usuarias acaladas",
+  "keyboard_shortcuts.my_profile": "abrir o seu perfil",
+  "keyboard_shortcuts.notifications": "abrir columna de notificacións",
+  "keyboard_shortcuts.pinned": "abrir lista de toots fixados",
+  "keyboard_shortcuts.profile": "abrir perfil da autora",
   "keyboard_shortcuts.reply": "para responder",
-  "keyboard_shortcuts.requests": "to open follow requests list",
+  "keyboard_shortcuts.requests": "abrir lista de peticións de seguimento",
   "keyboard_shortcuts.search": "para centrar a busca",
-  "keyboard_shortcuts.start": "to open \"get started\" column",
+  "keyboard_shortcuts.start": "abrir columna \"comezando\"",
   "keyboard_shortcuts.toggle_hidden": "mostrar/agochar un texto detrás do AC",
   "keyboard_shortcuts.toot": "escribir un toot novo",
   "keyboard_shortcuts.unfocus": "quitar o foco do área de escritura/busca",
@@ -187,16 +186,16 @@
   "missing_indicator.label": "Non atopado",
   "missing_indicator.sublabel": "Non se puido atopar o recurso",
   "mute_modal.hide_notifications": "Esconder notificacións deste usuario?",
-  "navigation_bar.apps": "Mobile apps",
+  "navigation_bar.apps": "Apps móbiles",
   "navigation_bar.blocks": "Usuarias bloqueadas",
   "navigation_bar.community_timeline": "Liña temporal local",
-  "navigation_bar.compose": "Compose new toot",
+  "navigation_bar.compose": "Escribir novo toot",
   "navigation_bar.direct": "Mensaxes directas",
-  "navigation_bar.discover": "Discover",
+  "navigation_bar.discover": "Descubrir",
   "navigation_bar.domain_blocks": "Dominios agochados",
   "navigation_bar.edit_profile": "Editar perfil",
   "navigation_bar.favourites": "Favoritas",
-  "navigation_bar.filters": "Muted words",
+  "navigation_bar.filters": "Palabras acaladas",
   "navigation_bar.follow_requests": "Peticións de seguimento",
   "navigation_bar.info": "Sobre esta instancia",
   "navigation_bar.keyboard_shortcuts": "Atallos",
@@ -207,7 +206,7 @@
   "navigation_bar.pins": "Mensaxes fixadas",
   "navigation_bar.preferences": "Preferencias",
   "navigation_bar.public_timeline": "Liña temporal federada",
-  "navigation_bar.security": "Security",
+  "navigation_bar.security": "Seguridade",
   "notification.favourite": "{name} marcou como favorito o seu estado",
   "notification.follow": "{name} está a seguila",
   "notification.mention": "{name} mencionoute",
@@ -222,7 +221,7 @@
   "notifications.column_settings.reblog": "Promocións:",
   "notifications.column_settings.show": "Mostrar en columna",
   "notifications.column_settings.sound": "Reproducir son",
-  "notifications.group": "{count} notifications",
+  "notifications.group": "{count} notificacións",
   "onboarding.done": "Feito",
   "onboarding.next": "Seguinte",
   "onboarding.page_five.public_timelines": "A liña de tempo local mostra as publicacións públicas de todos en {domain}. A liña de tempo federada mostra as publicacións públicas de todos os que as persoas en {domain} seguen. Estas son as Liñas de tempo públicas, unha boa forma de descubrir novas persoas.",
@@ -283,11 +282,11 @@
   "status.cancel_reblog_private": "Non promover",
   "status.cannot_reblog": "Esta mensaxe non pode ser promovida",
   "status.delete": "Eliminar",
-  "status.detailed_status": "Detailed conversation view",
+  "status.detailed_status": "Vista detallada da conversa",
   "status.direct": "Mensaxe directa @{name}",
   "status.embed": "Incrustar",
   "status.favourite": "Favorita",
-  "status.filtered": "Filtered",
+  "status.filtered": "Filtrado",
   "status.load_more": "Cargar máis",
   "status.media_hidden": "Medios ocultos",
   "status.mention": "Mencionar @{name}",
@@ -297,12 +296,12 @@
   "status.open": "Expandir este estado",
   "status.pin": "Fixar no perfil",
   "status.pinned": "Toot fixado",
-  "status.read_more": "Read more",
+  "status.read_more": "Lea máis",
   "status.reblog": "Promover",
   "status.reblog_private": "Promover a audiencia orixinal",
   "status.reblogged_by": "{name} promoveu",
-  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
-  "status.redraft": "Delete & re-draft",
+  "status.reblogs.empty": "Ninguén promoveu este toot polo de agora. Cando alguén o faga, mostraránse aquí.",
+  "status.redraft": "Eliminar & reescribir",
   "status.reply": "Resposta",
   "status.replyAll": "Resposta a conversa",
   "status.report": "Informar @{name}",
@@ -315,12 +314,14 @@
   "status.show_more_all": "Mostrar máis para todas",
   "status.unmute_conversation": "Non acalar a conversa",
   "status.unpin": "Despegar do perfil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federado",
   "tabs_bar.home": "Inicio",
   "tabs_bar.local_timeline": "Local",
   "tabs_bar.notifications": "Notificacións",
   "tabs_bar.search": "Buscar",
-  "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+  "trends.count_by_accounts": "{count} {rawCount, plural, one {person} outras {people}} conversando",
   "ui.beforeunload": "O borrador perderase se sae de Mastodon.",
   "upload_area.title": "Arrastre e solte para subir",
   "upload_button.label": "Engadir medios (JPEG, PNG, GIF, WebM, MP4, MOV)",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index e20d4cd9a..1ef20f231 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "להפסיק מעקב",
   "confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "ניתן להטמיע את ההודעה באתרך ע\"י העתקת הקוד שלהלן.",
   "embed.preview": "דוגמא כיצד זה יראה:",
   "emoji_button.activity": "פעילות",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "הסרת השתקת שיחה",
   "status.unpin": "לשחרר מקיבוע באודות",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "ציר זמן בין-קהילתי",
   "tabs_bar.home": "בבית",
   "tabs_bar.local_timeline": "ציר זמן מקומי",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index f3808d061..c9b8e7f75 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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": "Aktivnost",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Poništi utišavanje razgovora",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federalni",
   "tabs_bar.home": "Dom",
   "tabs_bar.local_timeline": "Lokalno",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 0ffb07173..66a1d4c09 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Követés visszavonása",
   "confirmations.unfollow.message": "Biztos benne, hogy vissza szeretné vonni {name} követését?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Ágyazza be ezen státuszt weboldalába az alábbi kód másolásával.",
   "embed.preview": "Így fog kinézni:",
   "emoji_button.activity": "Aktivitás",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Beszélgetés némításának elvonása",
   "status.unpin": "Kitűzés eltávolítása a profilról",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federált",
   "tabs_bar.home": "Kezdőlap",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index b4f19c697..e7d251a35 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Ապահետեւել",
   "confirmations.unfollow.message": "Վստա՞հ ես, որ ուզում ես այլեւս չհետեւել {name}֊ին։",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Այս թութը քո կայքում ներդնելու համար կարող ես պատճենել ներքոհիշյալ կոդը։",
   "embed.preview": "Ահա, թե ինչ տեսք կունենա այն՝",
   "emoji_button.activity": "Զբաղմունքներ",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Ապալռեցնել խոսակցությունը",
   "status.unpin": "Հանել անձնական էջից",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Դաշնային",
   "tabs_bar.home": "Հիմնական",
   "tabs_bar.local_timeline": "Տեղական",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 6d82269f4..1c84ed061 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Berhenti mengikuti",
   "confirmations.unfollow.message": "Apakah anda ingin berhenti mengikuti {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Sematkan status ini di website anda dengan menyalin kode di bawah ini.",
   "embed.preview": "Seperti ini nantinya:",
   "emoji_button.activity": "Aktivitas",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Gabungan",
   "tabs_bar.home": "Beranda",
   "tabs_bar.local_timeline": "Lokal",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 3df7e05ad..9963a52a5 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federata",
   "tabs_bar.home": "Hemo",
   "tabs_bar.local_timeline": "Lokala",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 10d71c173..711a360a9 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Questo utente non segue ancora nessuno.",
   "account.follows_you": "Ti segue",
   "account.hide_reblogs": "Nascondi condivisioni da @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
   "account.media": "Media",
   "account.mention": "Menziona @{name}",
   "account.moved_to": "{name} si è trasferito su:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Sei sicuro di voler silenziare {name}?",
   "confirmations.redraft.confirm": "Cancella e riscrivi",
   "confirmations.redraft.message": "Sei sicuro di voler cancellare questo stato e riscriverlo? Perderai tutte le risposte, condivisioni e preferiti.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Rispondi",
+  "confirmations.reply.message": "Se rispondi ora, il messaggio che stai componendo sarà sovrascritto. Sei sicuro di voler continuare?",
   "confirmations.unfollow.confirm": "Smetti di seguire",
   "confirmations.unfollow.message": "Sei sicuro che non vuoi più seguire {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Inserisci questo status nel tuo sito copiando il codice qui sotto.",
   "embed.preview": "Ecco come apparirà:",
   "emoji_button.activity": "Attività",
@@ -297,7 +296,7 @@
   "status.open": "Espandi questo post",
   "status.pin": "Fissa in cima sul profilo",
   "status.pinned": "Toot fissato in cima",
-  "status.read_more": "Read more",
+  "status.read_more": "Leggi altro",
   "status.reblog": "Condividi",
   "status.reblog_private": "Condividi con i destinatari iniziali",
   "status.reblogged_by": "{name} ha condiviso",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Mostra di più per tutti",
   "status.unmute_conversation": "Annulla silenzia conversazione",
   "status.unpin": "Non fissare in cima al profilo",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federazione",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Locale",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index a940d6ce1..4dcc18518 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -95,11 +95,10 @@
   "confirmations.mute.message": "本当に{name}さんをミュートしますか?",
   "confirmations.redraft.confirm": "削除して下書きに戻す",
   "confirmations.redraft.message": "本当にこのトゥートを削除して下書きに戻しますか? このトゥートへのお気に入り登録やブーストは失われ、返信は孤立することになります。",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "返信",
+  "confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
   "confirmations.unfollow.confirm": "フォロー解除",
   "confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。",
   "embed.preview": "表示例:",
   "emoji_button.activity": "活動",
@@ -302,7 +301,7 @@
   "status.open": "詳細を表示",
   "status.pin": "プロフィールに固定表示",
   "status.pinned": "固定されたトゥート",
-  "status.read_more": "Read more",
+  "status.read_more": "もっと見る",
   "status.reblog": "ブースト",
   "status.reblog_private": "ブースト",
   "status.reblogged_by": "{name}さんがブースト",
@@ -320,6 +319,8 @@
   "status.show_more_all": "全て見る",
   "status.unmute_conversation": "会話のミュートを解除",
   "status.unpin": "プロフィールの固定表示を解除",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "連合",
   "tabs_bar.home": "ホーム",
   "tabs_bar.local_timeline": "ローカル",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index d09371705..9d6d0d66d 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "ნუღარ მიჰყვები",
   "confirmations.unfollow.message": "დარწმუნებული ხართ, აღარ გსურთ მიჰყვებოდეთ {name}-ს?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "ეს სტატუსი ჩასვით თქვენს ვებ-საიტზე შემდეგი კოდის კოპირებით.",
   "embed.preview": "ესაა თუ როგორც გამოჩნდება:",
   "emoji_button.activity": "აქტივობა",
@@ -315,6 +314,8 @@
   "status.show_more_all": "აჩვენე მეტი ყველაზე",
   "status.unmute_conversation": "საუბარზე გაჩუმების მოშორება",
   "status.unpin": "პროფილიდან პინის მოშორება",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "ფედერალური",
   "tabs_bar.home": "სახლი",
   "tabs_bar.local_timeline": "ლოკალური",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 678433ff6..c779017f3 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "이 유저는 아직 아무도 팔로우 하고 있지 않습니다.",
   "account.follows_you": "날 팔로우합니다",
   "account.hide_reblogs": "@{name}의 부스트를 숨기기",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "{date}에 이 링크의 소유권이 확인 됨",
   "account.media": "미디어",
   "account.mention": "@{name}에게 글쓰기",
   "account.moved_to": "{name}는 계정을 이동했습니다:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?",
   "confirmations.redraft.confirm": "삭제하고 다시 쓰기",
   "confirmations.redraft.message": "정말로 이 포스트를 삭제하고 다시 쓰시겠습니까? 해당 포스트에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "답글",
+  "confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?",
   "confirmations.unfollow.confirm": "언팔로우",
   "confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.",
   "embed.preview": "다음과 같이 표시됩니다:",
   "emoji_button.activity": "활동",
@@ -297,7 +296,7 @@
   "status.open": "상세 정보 표시",
   "status.pin": "고정",
   "status.pinned": "고정 된 툿",
-  "status.read_more": "Read more",
+  "status.read_more": "더 보기",
   "status.reblog": "부스트",
   "status.reblog_private": "원래의 수신자들에게 부스트",
   "status.reblogged_by": "{name}님이 부스트 했습니다",
@@ -315,6 +314,8 @@
   "status.show_more_all": "모두 펼치기",
   "status.unmute_conversation": "이 대화의 뮤트 해제하기",
   "status.unpin": "고정 해제",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "연합",
   "tabs_bar.home": "홈",
   "tabs_bar.local_timeline": "로컬",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 6433f6211..7a8ff6868 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Deze gebruiker volgt nog niemand.",
   "account.follows_you": "Volgt jou",
   "account.hide_reblogs": "Verberg boosts van @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}",
   "account.media": "Media",
   "account.mention": "Vermeld @{name}",
   "account.moved_to": "{name} is verhuisd naar:",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?",
   "confirmations.redraft.confirm": "Verwijderen en herschrijven",
   "confirmations.redraft.message": "Weet je zeker dat je deze toot wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en reacties op de originele toot zitten niet meer aan de nieuwe toot vast.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Reageren",
+  "confirmations.reply.message": "Door nu  te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
   "confirmations.unfollow.confirm": "Ontvolgen",
   "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.",
   "embed.preview": "Zo komt het eruit te zien:",
   "emoji_button.activity": "Activiteiten",
@@ -297,7 +296,7 @@
   "status.open": "Toot volledig tonen",
   "status.pin": "Aan profielpagina vastmaken",
   "status.pinned": "Vastgemaakte toot",
-  "status.read_more": "Read more",
+  "status.read_more": "Meer lezen",
   "status.reblog": "Boost",
   "status.reblog_private": "Boost naar oorspronkelijke ontvangers",
   "status.reblogged_by": "{name} boostte",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Alles meer tonen",
   "status.unmute_conversation": "Conversatie niet langer negeren",
   "status.unpin": "Van profielpagina losmaken",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Globaal",
   "tabs_bar.home": "Start",
   "tabs_bar.local_timeline": "Lokaal",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 1105f2351..7c7e7600e 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Slutt å følge",
   "confirmations.unfollow.message": "Er du sikker på at du vil slutte å følge {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Ikke demp samtale",
   "status.unpin": "Angre festing på profilen",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Felles",
   "tabs_bar.home": "Hjem",
   "tabs_bar.local_timeline": "Lokal",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index d95beb2b5..64ada60da 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -15,7 +15,7 @@
   "account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.",
   "account.follows_you": "Vos sèc",
   "account.hide_reblogs": "Rescondre los partatges de @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "La proprietat d’aqueste ligam foguèt verificada lo {date}",
   "account.media": "Mèdias",
   "account.mention": "Mencionar @{name}",
   "account.moved_to": "{name} a mudat los catons a :",
@@ -91,11 +91,10 @@
   "confirmations.mute.message": "Volètz vertadièrament rescondre {name} ?",
   "confirmations.redraft.confirm": "Escafar & tornar formular",
   "confirmations.redraft.message": "Volètz vertadièrament escafar aqueste estatut e lo reformular ? Tote sos partiments e favorits seràn perduts, e sas responsas seràn orfanèlas.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.confirm": "Respondre",
+  "confirmations.reply.message": "Respondre remplaçarà lo messatge que sètz a escriure. Volètz vertadièrament contunhar ?",
   "confirmations.unfollow.confirm": "Quitar de sègre",
   "confirmations.unfollow.message": "Volètz vertadièrament quitar de sègre {name} ?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.",
   "embed.preview": "Semblarà aquò :",
   "emoji_button.activity": "Activitats",
@@ -297,7 +296,7 @@
   "status.open": "Desplegar aqueste estatut",
   "status.pin": "Penjar al perfil",
   "status.pinned": "Tut penjat",
-  "status.read_more": "Read more",
+  "status.read_more": "Ne legir mai",
   "status.reblog": "Partejar",
   "status.reblog_private": "Partejar a l’audiéncia d’origina",
   "status.reblogged_by": "{name} a partejat",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Los desplegar totes",
   "status.unmute_conversation": "Tornar mostrar la conversacion",
   "status.unpin": "Tirar del perfil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Flux public global",
   "tabs_bar.home": "Acuèlh",
   "tabs_bar.local_timeline": "Flux public local",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 8031f759d..3f596bc37 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -99,7 +99,6 @@
   "confirmations.reply.message": "W ten sposób utracisz wpis który obecnie tworzysz. Czy na pewno chcesz to zrobić?",
   "confirmations.unfollow.confirm": "Przestań śledzić",
   "confirmations.unfollow.message": "Czy na pewno zamierzasz przestać śledzić {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.",
   "embed.preview": "Tak będzie to wyglądać:",
   "emoji_button.activity": "Aktywność",
@@ -320,6 +319,8 @@
   "status.show_more_all": "Rozwiń wszystkie",
   "status.unmute_conversation": "Cofnij wyciszenie konwersacji",
   "status.unpin": "Odepnij z profilu",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Globalne",
   "tabs_bar.home": "Strona główna",
   "tabs_bar.local_timeline": "Lokalne",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index ac67a770f..061d10f4d 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -10,12 +10,12 @@
   "account.endorse": "Destacar no perfil",
   "account.follow": "Seguir",
   "account.followers": "Seguidores",
-  "account.followers.empty": "No one follows this user yet.",
+  "account.followers.empty": "Ninguém segue esse usuário no momento.",
   "account.follows": "Segue",
-  "account.follows.empty": "This user doesn't follow anyone yet.",
+  "account.follows.empty": "Esse usuário não segue ninguém no momento.",
   "account.follows_you": "Segue você",
   "account.hide_reblogs": "Esconder compartilhamentos de @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "A posse desse link foi verificada em {date}",
   "account.media": "Mídia",
   "account.mention": "Mencionar @{name}",
   "account.moved_to": "{name} se mudou para:",
@@ -90,12 +90,11 @@
   "confirmations.mute.confirm": "Silenciar",
   "confirmations.mute.message": "Você tem certeza de que quer silenciar {name}?",
   "confirmations.redraft.confirm": "Apagar & usar como rascunho",
-  "confirmations.redraft.message": "Você tem certeza que deseja apagar esse status e usá-lo como rascunho? Você vai perder todas as respostas, compartilhamentos e favoritos relacionados a ele.",
-  "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.redraft.message": "Você tem certeza que deseja apagar esse status e usá-lo como rascunho? Seus compartilhamentos e favoritos serão perdidos e as respostas ao toot original ficarão desconectadas.",
+  "confirmations.reply.confirm": "Responder",
+  "confirmations.reply.message": "Responder agora vai sobrescrever a mensagem que você está compondo. Você tem certeza que quer continuar?",
   "confirmations.unfollow.confirm": "Deixar de seguir",
   "confirmations.unfollow.message": "Você tem certeza de que quer deixar de seguir {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -112,19 +111,19 @@
   "emoji_button.search_results": "Resultados da busca",
   "emoji_button.symbols": "Símbolos",
   "emoji_button.travel": "Viagens & Lugares",
-  "empty_column.blocks": "You haven't blocked any users yet.",
+  "empty_column.blocks": "Você ainda não bloqueou nenhum usuário.",
   "empty_column.community": "A timeline local está vazia. Escreva algo publicamente para começar!",
   "empty_column.direct": "Você não tem nenhuma mensagem direta ainda. Quando você enviar ou receber uma, as mensagens aparecerão por aqui.",
-  "empty_column.domain_blocks": "There are no hidden domains yet.",
-  "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
-  "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
-  "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+  "empty_column.domain_blocks": "Ainda não há nenhum domínio escondido.",
+  "empty_column.favourited_statuses": "Você ainda não tem nenhum toot favorito. Quando você favoritar um toot, ele aparecerá aqui.",
+  "empty_column.favourites": "Ninguém favoritou esse toot até agora. Quando alguém favoritar, a pessoa aparecerá aqui.",
+  "empty_column.follow_requests": "Você não tem nenhum pedido de seguir por agora. Quando você receber um, ele aparecerá aqui.",
   "empty_column.hashtag": "Ainda não há qualquer conteúdo com essa hashtag.",
   "empty_column.home": "Você ainda não segue usuário algum. Visite a timeline {public} ou use o buscador para procurar e conhecer outros usuários.",
   "empty_column.home.public_timeline": "global",
   "empty_column.list": "Ainda não há nada nesta lista. Quando membros dessa lista fizerem novas postagens, elas aparecerão aqui.",
-  "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
-  "empty_column.mutes": "You haven't muted any users yet.",
+  "empty_column.lists": "Você ainda não tem nenhuma lista. Quando você criar uma, ela aparecerá aqui.",
+  "empty_column.mutes": "Você ainda não silenciou nenhum usuário.",
   "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",
@@ -141,32 +140,32 @@
   "home.column_settings.show_reblogs": "Mostrar compartilhamentos",
   "home.column_settings.show_replies": "Mostrar as respostas",
   "keyboard_shortcuts.back": "para navegar de volta",
-  "keyboard_shortcuts.blocked": "to open blocked users list",
+  "keyboard_shortcuts.blocked": "para abrir a lista de usuários bloqueados",
   "keyboard_shortcuts.boost": "para compartilhar",
   "keyboard_shortcuts.column": "Focar um status em uma das colunas",
   "keyboard_shortcuts.compose": "para focar a área de redação",
   "keyboard_shortcuts.description": "Descrição",
-  "keyboard_shortcuts.direct": "to open direct messages column",
+  "keyboard_shortcuts.direct": "para abrir a coluna de mensagens diretas",
   "keyboard_shortcuts.down": "para mover para baixo na lista",
   "keyboard_shortcuts.enter": "para expandir um status",
   "keyboard_shortcuts.favourite": "para adicionar aos favoritos",
-  "keyboard_shortcuts.favourites": "to open favourites list",
-  "keyboard_shortcuts.federated": "to open federated timeline",
+  "keyboard_shortcuts.favourites": "para abrir a lista de favoritos",
+  "keyboard_shortcuts.federated": "para abrir a timeline global",
   "keyboard_shortcuts.heading": "Atalhos de teclado",
-  "keyboard_shortcuts.home": "to open home timeline",
+  "keyboard_shortcuts.home": "para abrir a página inicial",
   "keyboard_shortcuts.hotkey": "Atalho",
   "keyboard_shortcuts.legend": "para mostrar essa legenda",
-  "keyboard_shortcuts.local": "to open local timeline",
+  "keyboard_shortcuts.local": "para abrir a timeline local",
   "keyboard_shortcuts.mention": "para mencionar o autor",
-  "keyboard_shortcuts.muted": "to open muted users list",
-  "keyboard_shortcuts.my_profile": "to open your profile",
-  "keyboard_shortcuts.notifications": "to open notifications column",
-  "keyboard_shortcuts.pinned": "to open pinned toots list",
+  "keyboard_shortcuts.muted": "para abrir a lista de usuários silenciados",
+  "keyboard_shortcuts.my_profile": "para abrir o seu perfil",
+  "keyboard_shortcuts.notifications": "para abrir a coluna de notificações",
+  "keyboard_shortcuts.pinned": "para abrir a lista de toots fixados",
   "keyboard_shortcuts.profile": "para abrir o perfil do autor",
   "keyboard_shortcuts.reply": "para responder",
-  "keyboard_shortcuts.requests": "to open follow requests list",
+  "keyboard_shortcuts.requests": "para abrir a lista de seguidores pendentes",
   "keyboard_shortcuts.search": "para focar a pesquisa",
-  "keyboard_shortcuts.start": "to open \"get started\" column",
+  "keyboard_shortcuts.start": "para abrir a coluna \"primeiros passos\"",
   "keyboard_shortcuts.toggle_hidden": "mostrar/esconder o texto com aviso de conteúdo",
   "keyboard_shortcuts.toot": "para compor um novo toot",
   "keyboard_shortcuts.unfocus": "para remover o foco da área de composição/pesquisa",
@@ -190,7 +189,7 @@
   "navigation_bar.apps": "Apps",
   "navigation_bar.blocks": "Usuários bloqueados",
   "navigation_bar.community_timeline": "Local",
-  "navigation_bar.compose": "Compose new toot",
+  "navigation_bar.compose": "Compor um novo toot",
   "navigation_bar.direct": "Mensagens diretas",
   "navigation_bar.discover": "Descobrir",
   "navigation_bar.domain_blocks": "Domínios escondidos",
@@ -283,7 +282,7 @@
   "status.cancel_reblog_private": "Desfazer compartilhamento",
   "status.cannot_reblog": "Esta postagem não pode ser compartilhada",
   "status.delete": "Excluir",
-  "status.detailed_status": "Detailed conversation view",
+  "status.detailed_status": "Visão detalhada da conversa",
   "status.direct": "Enviar mensagem direta a @{name}",
   "status.embed": "Incorporar",
   "status.favourite": "Adicionar aos favoritos",
@@ -297,11 +296,11 @@
   "status.open": "Expandir",
   "status.pin": "Fixar no perfil",
   "status.pinned": "Toot fixado",
-  "status.read_more": "Read more",
+  "status.read_more": "Ler mais",
   "status.reblog": "Compartilhar",
   "status.reblog_private": "Compartilhar com a audiência original",
   "status.reblogged_by": "{name} compartilhou",
-  "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+  "status.reblogs.empty": "Ninguém compartilhou esse toot até agora. Quando alguém o fizer, eles aparecerão aqui.",
   "status.redraft": "Apagar & usar como rascunho",
   "status.reply": "Responder",
   "status.replyAll": "Responder à sequência",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Mostrar mais para todas as mensagens",
   "status.unmute_conversation": "Desativar silêncio desta conversa",
   "status.unpin": "Desafixar do perfil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Global",
   "tabs_bar.home": "Página inicial",
   "tabs_bar.local_timeline": "Local",
@@ -323,7 +324,7 @@
   "trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
   "ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
   "upload_area.title": "Arraste e solte para enviar",
-  "upload_button.label": "Adicionar mídia",
+  "upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)",
   "upload_form.description": "Descreva a imagem para deficientes visuais",
   "upload_form.focus": "Ajustar foco",
   "upload_form.undo": "Remover",
diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json
index b2bf0f01d..adb10dd07 100644
--- a/app/javascript/mastodon/locales/pt.json
+++ b/app/javascript/mastodon/locales/pt.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Deixar de seguir",
   "confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Deixar de silenciar esta conversa",
   "status.unpin": "Não fixar no perfil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Global",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index c5f2c7607..2a6479b91 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Nu mai urmări",
   "confirmations.unfollow.message": "Ești sigur că nu mai vrei să îl urmărești pe {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Inserează această postare pe site-ul tău adăugând codul de mai jos.",
   "embed.preview": "Cam așa va arăta:",
   "emoji_button.activity": "Activitate",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Arată mai mult pentru toți",
   "status.unmute_conversation": "Repornește conversația",
   "status.unpin": "Eliberează din profil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Global",
   "tabs_bar.home": "Acasă",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index b283b0976..cd65adcb5 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Отписаться",
   "confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Встройте этот статус на Вашем сайте, скопировав код внизу.",
   "embed.preview": "Так это будет выглядеть:",
   "emoji_button.activity": "Занятия",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Развернуть для всех",
   "status.unmute_conversation": "Снять глушение с треда",
   "status.unpin": "Открепить от профиля",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Глобальная",
   "tabs_bar.home": "Главная",
   "tabs_bar.local_timeline": "Локальная",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index c89922de8..cca2e3c62 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Nesledovať",
   "confirmations.unfollow.message": "Naozaj chcete prestať sledovať {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Umiestni kód uvedený nižšie pre pridanie tohto statusu na tvoju web stránku.",
   "embed.preview": "Tu je ako to bude vyzerať:",
   "emoji_button.activity": "Aktivita",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Všetkým ukáž viac",
   "status.unmute_conversation": "Prestať ignorovať konverzáciu",
   "status.unpin": "Odopnúť z profilu",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federovaná",
   "tabs_bar.home": "Domov",
   "tabs_bar.local_timeline": "Lokálna",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index cb03849c2..175a34efd 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -7,15 +7,15 @@
   "account.disclaimer_full": "Spodnje informacije lahko nepopolno prikazujejo profil uporabnika.",
   "account.domain_blocked": "Skrita domena",
   "account.edit_profile": "Uredi profil",
-  "account.endorse": "Feature on profile",
+  "account.endorse": "Zmožnost profila",
   "account.follow": "Sledi",
   "account.followers": "Sledilci",
-  "account.followers.empty": "No one follows this user yet.",
+  "account.followers.empty": "Nihče ne sledi tega uporabnika.",
   "account.follows": "Sledi",
-  "account.follows.empty": "This user doesn't follow anyone yet.",
+  "account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
   "account.follows_you": "Ti sledi",
   "account.hide_reblogs": "Skrij napuhke od @{name}",
-  "account.link_verified_on": "Ownership of this link was checked on {date}",
+  "account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}",
   "account.media": "Mediji",
   "account.mention": "Omeni @{name}",
   "account.moved_to": "{name} se je premaknil na:",
@@ -64,9 +64,9 @@
   "column_header.show_settings": "Prikaži nastavitve",
   "column_header.unpin": "Odpni",
   "column_subheading.settings": "Nastavitve",
-  "community.column_settings.media_only": "Media Only",
+  "community.column_settings.media_only": "Samo mediji",
   "compose_form.direct_message_warning": "Ta tut bo viden le vsem omenjenim uporabnikom.",
-  "compose_form.direct_message_warning_learn_more": "Learn more",
+  "compose_form.direct_message_warning_learn_more": "Nauči se več",
   "compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim hashtagom, ker ni dodan hashtag. Samo javne tute lahko iščete pod hashtagom.",
   "compose_form.lock_disclaimer": "Vaš račun ni {locked}. Vsakdo vam lahko sledi in si ogleda objave, ki so namenjene samo sledilcem.",
   "compose_form.lock_disclaimer.lock": "zaklenjen",
@@ -89,13 +89,12 @@
   "confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše.",
   "confirmations.mute.confirm": "Utišanje",
   "confirmations.mute.message": "Ali ste prepričani, da želite utišati {name}?",
-  "confirmations.redraft.confirm": "Delete & redraft",
+  "confirmations.redraft.confirm": "Izbriši in preoblikuj",
   "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
   "confirmations.reply.confirm": "Reply",
-  "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+  "confirmations.reply.message": "Odgovarjanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?",
   "confirmations.unfollow.confirm": "Prenehaj slediti",
   "confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Vstavi ta status na svojo spletno stran tako, da kopirate spodnjo kodo.",
   "embed.preview": "Tukaj je, kako bo izgledalo:",
   "emoji_button.activity": "Dejavnost",
@@ -112,10 +111,10 @@
   "emoji_button.search_results": "Rezultati iskanja",
   "emoji_button.symbols": "Simboli",
   "emoji_button.travel": "Potovanja in Kraji",
-  "empty_column.blocks": "You haven't blocked any users yet.",
+  "empty_column.blocks": "Niste še blokirali nobenega uporabnika.",
   "empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!",
   "empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga pošljete ali prejmete, se prikaže tukaj.",
-  "empty_column.domain_blocks": "There are no hidden domains yet.",
+  "empty_column.domain_blocks": "Še vedno ni skritih domen.",
   "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
   "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
   "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Prikaži več za vse",
   "status.unmute_conversation": "Odtišaj pogovor",
   "status.unpin": "Odpni iz profila",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Združeno",
   "tabs_bar.home": "Domov",
   "tabs_bar.local_timeline": "Lokalno",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 4eab0a4ab..6020512c4 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Otprati",
   "confirmations.unfollow.message": "Da li ste sigurni da želite da otpratite korisnika {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Ugradi ovaj status na Vaš veb sajt kopiranjem koda ispod.",
   "embed.preview": "Ovako će da izgleda:",
   "emoji_button.activity": "Aktivnost",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Uključi prepisku",
   "status.unpin": "Otkači sa profila",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federisano",
   "tabs_bar.home": "Početna",
   "tabs_bar.local_timeline": "Lokalno",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index c5c33fb0c..41d9e12b0 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Отпрати",
   "confirmations.unfollow.message": "Да ли сте сигурни да желите да отпратите корисника {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Угради овај статус на Ваш веб сајт копирањем кода испод.",
   "embed.preview": "Овако ће да изгледа:",
   "emoji_button.activity": "Активност",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Прикажи више за све",
   "status.unmute_conversation": "Укључи преписку",
   "status.unpin": "Откачи са профила",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Федерисано",
   "tabs_bar.home": "Почетна",
   "tabs_bar.local_timeline": "Локално",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 68fdf8d4e..dbe9f709a 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Sluta följa",
   "confirmations.unfollow.message": "Är du säker på att du vill sluta följa {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Bädda in den här statusen på din webbplats genom att kopiera koden nedan.",
   "embed.preview": "Här ser du hur det kommer att se ut:",
   "emoji_button.activity": "Aktivitet",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Visa mer för alla",
   "status.unmute_conversation": "Öppna konversation",
   "status.unpin": "Ångra fäst i profil",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Förenad",
   "tabs_bar.home": "Hem",
   "tabs_bar.local_timeline": "Lokal",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index 38cf67e18..803e004cc 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federated",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index eead75ff5..af036e300 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "అనుసరించవద్దు",
   "confirmations.unfollow.message": "{name}ను మీరు ఖచ్చితంగా అనుసరించవద్దనుకుంటున్నారా?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "దిగువ కోడ్ను కాపీ చేయడం ద్వారా మీ వెబ్సైట్లో ఈ స్టేటస్ ని పొందుపరచండి.",
   "embed.preview": "అది ఈ క్రింది విధంగా కనిపిస్తుంది:",
   "emoji_button.activity": "కార్యకలాపాలు",
@@ -315,6 +314,8 @@
   "status.show_more_all": "అన్నిటికీ ఇంకా చూపించు",
   "status.unmute_conversation": "సంభాషణను అన్మ్యూట్ చేయి",
   "status.unpin": "ప్రొఫైల్ నుండి పీకివేయు",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "సమాఖ్య",
   "tabs_bar.home": "హోమ్",
   "tabs_bar.local_timeline": "స్థానిక",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index 052f6b16a..fe36a966c 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federated",
   "tabs_bar.home": "Home",
   "tabs_bar.local_timeline": "Local",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index fccbc55ec..323617f1d 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Unfollow",
   "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
-  "conversation.last_message": "Last message:",
   "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": "Aktivite",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Unmute conversation",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Federe",
   "tabs_bar.home": "Ana sayfa",
   "tabs_bar.local_timeline": "Yerel",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 6c2e8380b..cdc13c574 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "Відписатися",
   "confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "Інтегруйте цей статус на вашому вебсайті, скопіювавши код нижче.",
   "embed.preview": "Ось як він виглядатиме:",
   "emoji_button.activity": "Заняття",
@@ -315,6 +314,8 @@
   "status.show_more_all": "Show more for all",
   "status.unmute_conversation": "Зняти глушення з діалогу",
   "status.unpin": "Unpin from profile",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "Глобальна",
   "tabs_bar.home": "Головна",
   "tabs_bar.local_timeline": "Локальна",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index b7937fc00..9fee25e15 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "取消关注",
   "confirmations.unfollow.message": "你确定要取消关注 {name} 吗?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "要在你的网站上嵌入这条嘟文,请复制以下代码。",
   "embed.preview": "它会像这样显示出来:",
   "emoji_button.activity": "活动",
@@ -315,6 +314,8 @@
   "status.show_more_all": "显示所有内容",
   "status.unmute_conversation": "不再隐藏此对话",
   "status.unpin": "在个人资料页面取消置顶",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "跨站",
   "tabs_bar.home": "主页",
   "tabs_bar.local_timeline": "本站",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index af106312f..26eba48f8 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "取消關注",
   "confirmations.unfollow.message": "真的不要繼續關注 {name} 了嗎?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "要內嵌此文章,請將以下代碼貼進你的網站。",
   "embed.preview": "看上去會是這樣:",
   "emoji_button.activity": "活動",
@@ -315,6 +314,8 @@
   "status.show_more_all": "顯示更多這類文章",
   "status.unmute_conversation": "解禁對話",
   "status.unpin": "解除置頂",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "跨站",
   "tabs_bar.home": "主頁",
   "tabs_bar.local_timeline": "本站",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 454fd80db..6d4a9a0bb 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -95,7 +95,6 @@
   "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
   "confirmations.unfollow.confirm": "取消關注",
   "confirmations.unfollow.message": "真的不要繼續關注 {name} 了嗎?",
-  "conversation.last_message": "Last message:",
   "embed.instructions": "要內嵌此嘟文,請將以下代碼貼進你的網站。",
   "embed.preview": "看上去會變成這樣:",
   "emoji_button.activity": "活動",
@@ -315,6 +314,8 @@
   "status.show_more_all": "顯示更多這類嘟文",
   "status.unmute_conversation": "解除此對話的靜音",
   "status.unpin": "解除置頂",
+  "suggestions.dismiss": "Dismiss suggestion",
+  "suggestions.header": "You might be interested in…",
   "tabs_bar.federated_timeline": "其他站點",
   "tabs_bar.home": "主頁",
   "tabs_bar.local_timeline": "本站",
diff --git a/app/javascript/mastodon/reducers/cards.js b/app/javascript/mastodon/reducers/cards.js
deleted file mode 100644
index 4d86b0d7e..000000000
--- a/app/javascript/mastodon/reducers/cards.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { STATUS_CARD_FETCH_SUCCESS } from '../actions/cards';
-
-import { Map as ImmutableMap, fromJS } from 'immutable';
-
-const initialState = ImmutableMap();
-
-export default function cards(state = initialState, action) {
-  switch(action.type) {
-  case STATUS_CARD_FETCH_SUCCESS:
-    return state.set(action.id, fromJS(action.card));
-  default:
-    return state;
-  }
-};
diff --git a/app/javascript/mastodon/reducers/statuses.js b/app/javascript/mastodon/reducers/statuses.js
index 2c58969f3..6e3d830da 100644
--- a/app/javascript/mastodon/reducers/statuses.js
+++ b/app/javascript/mastodon/reducers/statuses.js
@@ -10,7 +10,6 @@ import {
   STATUS_REVEAL,
   STATUS_HIDE,
 } from '../actions/statuses';
-import { STATUS_CARD_FETCH_SUCCESS } from '../actions/cards';
 import { TIMELINE_DELETE } from '../actions/timelines';
 import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
 import { Map as ImmutableMap, fromJS } from 'immutable';
@@ -66,8 +65,6 @@ export default function statuses(state = initialState, action) {
     });
   case TIMELINE_DELETE:
     return deleteStatus(state, action.id, action.references);
-  case STATUS_CARD_FETCH_SUCCESS:
-    return state.setIn([action.id, 'card'], fromJS(action.card));
   default:
     return state;
   }
diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb
index f1b38b18a..baa05e14c 100644
--- a/app/lib/activitypub/activity/create.rb
+++ b/app/lib/activitypub/activity/create.rb
@@ -2,7 +2,7 @@
 
 class ActivityPub::Activity::Create < ActivityPub::Activity
   SUPPORTED_TYPES = %w(Note).freeze
-  CONVERTED_TYPES = %w(Image Video Article).freeze
+  CONVERTED_TYPES = %w(Image Video Article Page).freeze
 
   def perform
     return if delete_arrived_first?(object_uri) || unsupported_object_type? || invalid_origin?(@object['id'])
diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml
index 55eb78e74..265530124 100644
--- a/config/locales/activerecord.cy.yml
+++ b/config/locales/activerecord.cy.yml
@@ -10,4 +10,4 @@ cy:
         status:
           attributes:
             reblog:
-              taken: o'r statws sy'n bodoli'n barod
+              taken: o'r statws yn bodoli'n barod
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index afbb32088..095b1f584 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -120,7 +120,7 @@ ar:
         most_recent: الأحدث
         title: الترتيب
       outbox_url: رابط صندوق الصادر
-      perform_full_suspension: تعطيل الحساب بالكامل
+      perform_full_suspension: تعطيل
       profile_url: رابط الملف الشخصي
       promote: ترقية
       protocol: البروتوكول
@@ -169,6 +169,7 @@ ar:
         create_domain_block: "%{name} قام بحجب نطاق %{target}"
         create_email_domain_block: "%{name} قد قام بحظر نطاق البريد الإلكتروني %{target}"
         demote_user: "%{name} قد قام بإنزال الرتبة الوظيفية لـ %{target}"
+        destroy_custom_emoji: قام %{name} بحذف الإيموجي %{target}
         destroy_domain_block: "%{name} قام بإلغاء الحجب عن النطاق %{target}"
         destroy_email_domain_block: قام %{name} بإضافة نطاق البريد الإلكتروني %{target} إلى اللائحة البيضاء
         destroy_status: لقد قام %{name} بحذف منشور %{target}
@@ -254,6 +255,7 @@ ar:
         title: حجب نطاق جديد
       reject_media: رفض ملفات الوسائط
       reject_media_hint: يزيل ملفات الوسائط المخزنة محليًا ويرفض تنزيل أي ملفات في المستقبل. غير ذي صلة للتعليق
+      reject_reports: رفض التقارير
       severities:
         noop: لا شيء
         silence: إخفاء أو كتم
@@ -361,7 +363,7 @@ ar:
         desc_html: أسماء النطاقات التي إلتقى بها مثيل الخادوم على البيئة الموحَّدة فيديفرس
         title: نشر عدد مثيلات الخوادم التي تم مصادفتها
       preview_sensitive_media:
-        desc_html: روابط المُعَاينة على مواقع الويب الأخرى ستقوم بعرض صُوَر مصغّرة حتى و إن كانت الوسائط حساسة.
+        desc_html: روابط المُعَاينة على مواقع الويب الأخرى ستقوم بعرض صُوَر مصغّرة حتى و إن كانت الوسائط حساسة
         title: إظهار الصور الحساسة في مُعاينات أوبن غراف
       registrations:
         closed_message:
@@ -559,6 +561,7 @@ ar:
     resources: الموارد
   generic:
     changes_saved_msg: تم حفظ التعديلات بنجاح !
+    copy: نسخ
     save_changes: حفظ التغييرات
     validation_errors: هناك شيء ليس على ما يُرام! يُرجى معاينة الأخطاء الـ %{count} التالية
   imports:
@@ -804,8 +807,11 @@ ar:
       tips: نصائح
       title: أهلاً بك، %{name} !
   users:
+    follow_limit_reached: لا يمكنك متابعة أكثر مِن %{limit} أشخاص
     invalid_email: عنوان البريد الإلكتروني غير صالح
     invalid_otp_token: رمز المصادقة بخطوتين غير صالح
     otp_lost_help_html: إن فقدتَهُما ، يمكنك الإتصال بـ %{email}
     seamless_external_login: لقد قمت بتسجيل الدخول عبر خدمة خارجية، إنّ إعدادات الكلمة السرية و البريد الإلكتروني غير متوفرة.
     signed_in_as: 'تم تسجيل دخولك بصفة :'
+  verification:
+    verification: التحقق
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index 9813aea6f..91c6dfb61 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -48,11 +48,11 @@ bg:
       half_a_minute: Току-що
       less_than_x_minutes: "%{count} мин."
       less_than_x_seconds: Току-що
-      over_x_years: "%{count} г."
+      over_x_years: "%{count} г"
       x_days: "%{count} дни"
-      x_minutes: "%{count} мин."
-      x_months: "%{count} м."
-      x_seconds: "%{count} сек."
+      x_minutes: "%{count} мин"
+      x_months: "%{count} м"
+      x_seconds: "%{count} сек"
   exports:
     blocks: Вашите блокирания
     csv: CSV
@@ -64,7 +64,7 @@ bg:
     validation_errors: Нещо все още не е наред! Моля, прегледай грешките по-долу
   imports:
     preface: Можеш да импортираш някои данни, като например всички хора, които следваш или блокираш в акаунта си на тази инстанция, от файлове, създадени чрез експорт в друга инстанция.
-    success: Твоите данни бяха успешно качени и ще бъдат обработени впоследствие.
+    success: Твоите данни бяха успешно качени и ще бъдат обработени впоследствие
     types:
       blocking: Списък на блокираните
       following: Списък на последователите
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index fdf271c9f..b65257f24 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -48,6 +48,7 @@ ca:
       other: Seguidors
     following: Seguint
     joined: Unit des de %{date}
+    link_verified_on: La propietat d'aquest enllaç s'ha verificat el %{date}
     media: Mèdia
     moved_html: "%{name} s'ha mogut a %{new_profile_link}:"
     network_hidden: Aquesta informació no està disponible
@@ -120,13 +121,14 @@ ca:
       moderation_notes: Notes de moderació
       most_recent_activity: Activitat més recent
       most_recent_ip: IP més recent
+      no_limits_imposed: Sense límits imposats
       not_subscribed: No subscrit
       order:
         alphabetic: Alfabètic
         most_recent: Més recent
         title: Ordre
       outbox_url: URL de la bústia de sortida
-      perform_full_suspension: Aplica una suspensió completa
+      perform_full_suspension: Suspèn
       profile_url: URL del perfil
       promote: Promociona
       protocol: Protocol
@@ -155,8 +157,10 @@ ca:
         report: informe
         targeted_reports: Informes realitzats sobre aquest compte
       silence: Silenci
+      silenced: Silenciat
       statuses: Estats
       subscribe: Subscriu
+      suspended: Suspès
       title: Comptes
       unconfirmed_email: Correu electrònic sense confirmar
       undo_silenced: Deixa de silenciar
@@ -173,6 +177,7 @@ ca:
         create_domain_block: "%{name} ha blocat 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_custom_emoji: "%{name} ha destruït l'emoji %{target}"
         destroy_domain_block: "%{name} ha desblocat el domini %{target}"
         destroy_email_domain_block: "%{name} ha afegit a la llista negra el domini de correu electrònic %{target}"
         destroy_status: "%{name} eliminat l'estat per %{target}"
@@ -240,8 +245,8 @@ ca:
       total_users: usuaris en total
       trends: Tendències
       week_interactions: interaccions d'aquesta setmana
-      week_users_active: actiu aquesta setmana
-      week_users_new: usuaris aquesta setmana
+      week_users_active: usuaris actius aquesta setmana
+      week_users_new: nous usuaris aquest setmana
     domain_blocks:
       add_new: Afegeix
       created_msg: El bloqueig de domini ara s'està processant
@@ -258,6 +263,8 @@ ca:
         title: Bloqueig de domini nou
       reject_media: Rebutja els fitxers multimèdia
       reject_media_hint: Elimina els fitxers multimèdia emmagatzemats localment i impedeix baixar-ne cap en el futur. Irrellevant en les suspensions
+      reject_reports: Rebutja informes
+      reject_reports_hint: Ignora tots els informes procedents d'aquest domini. No és rellevant per a les suspensions
       severities:
         noop: Cap
         silence: Silenci
@@ -300,8 +307,13 @@ ca:
       title: Convida
     relays:
       add_new: Afegiu un nou relay
+      delete: Esborra
       description_html: Un <strong>relay de federació</strong> és un servidor intermediari que intercanvia grans volums de toots públics entre servidors que es subscriuen i publiquen en ell. <strong>Pot ajudar a servidors petits i mitjans a descobrir contingut del fedivers</strong>, no fent necessari que els usuaris locals manualment segueixin altres persones de servidors remots.
+      disable: Inhabilita
+      disabled: Desactivat
+      enable: Activat
       enable_hint: Una vegada habilitat, el teu servidor es subscriurà a tots els toots públics d'aquest relay i començarà a enviar-hi tots els toots públics d'aquest servidor.
+      enabled: Activat
       inbox_url: URL del Relay
       pending: S'està esperant l'aprovació del relay
       save_and_enable: Desa i activa
@@ -357,6 +369,9 @@ ca:
       hero:
         desc_html: Es mostra en pàgina frontal. Recomanat 600x100px al menys. Si no es configura es mostrarà el de la instància
         title: Imatge d’heroi
+      mascot:
+        desc_html: Es mostra a diverses pàgines. Es recomana com a mínim 293 × 205px. Si no està configurat, torna a la mascota predeterminada
+        title: Imatge de la mascota
       peers_api_enabled:
         desc_html: Els noms de domini que ha trobat aquesta instància al fediverse
         title: Publica la llista d'instàncies descobertes
@@ -450,7 +465,7 @@ ca:
     warning: Aneu amb compte amb aquestes dades. No les compartiu mai amb ningú!
     your_token: El teu identificador d'accés
   auth:
-    agreement_html: En inscriure't, acceptes seguir <a href="%{rules_path}">els nostres termes del servei</a> i <a href="%{terms_path}">la nostra política de privadesa</a>.
+    agreement_html: Al fer clic en "Registre" acceptes respectar <a href="%{rules_path}">els nostres termes del servei</a> i <a href="%{terms_path}">la nostra política de privadesa</a>.
     change_password: Contrasenya
     confirm_email: Confirmar correu electrònic
     delete_account: Suprimeix el compte
@@ -565,6 +580,7 @@ ca:
     resources: Recursos
   generic:
     changes_saved_msg: Els canvis s'han desat correctament!
+    copy: Copia
     save_changes: Desa els canvis
     validation_errors:
       one: Alguna cosa no va bé! Si us plau, revisa l'error
@@ -902,8 +918,12 @@ ca:
       tips: Consells
       title: Benvingut a bord, %{name}!
   users:
+    follow_limit_reached: No pots seguir més de %{limit} persones
     invalid_email: L'adreça de correu no és correcta
     invalid_otp_token: El codi de dos factors no és correcte
     otp_lost_help_html: Si has perdut l'accés a tots dos pots contactar per %{email}
     seamless_external_login: Has iniciat sessió via un servei extern per tant els ajustos de contrasenya i correu electrònic no estan disponibles.
     signed_in_as: 'Sessió iniciada com a:'
+  verification:
+    explanation_html: 'Pots <strong>verificar-te com a propietari dels enllaços a les metadades del teu perfil</strong>. Per això, el lloc web enllaçat ha de contenir un enllaç al teu perfil de Mastodon. El vincle <strong>ha de</strong> tenir l''atribut <code>rel="me"</code>. El contingut del text de l''enllaç no importa. Aquí tens un exemple:'
+    verification: Verificació
diff --git a/config/locales/co.yml b/config/locales/co.yml
index 7b810e2ed..9306c6c33 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -128,7 +128,7 @@ co:
         most_recent: Più ricente
         title: Urdine
       outbox_url: URL di l’outbox
-      perform_full_suspension: Fà una suspensione cumpleta
+      perform_full_suspension: Suspende
       profile_url: URL di u prufile
       promote: Prumove
       protocol: Prutucollu
@@ -177,6 +177,7 @@ co:
         create_domain_block: "%{name} hà bluccatu u duminiu %{target}"
         create_email_domain_block: "%{name} hà messu u duminiu e-mail %{target} nant’a lista nera"
         demote_user: "%{name} hà ritrugradatu l’utilizatore %{target}"
+        destroy_custom_emoji: "%{name} hà sguassatu l'emoji %{target}"
         destroy_domain_block: "%{name} hà sbluccatu u duminiu %{target}"
         destroy_email_domain_block: "%{name} hà messu u duminiu e-mail %{target} nant’a lista bianca"
         destroy_status: "%{name} hà toltu u statutu di %{target}"
@@ -262,6 +263,8 @@ co:
         title: Novu blucchime di duminiu
       reject_media: Righjittà i fugliali media
       reject_media_hint: Sguassa tutti i media caricati è ricusa caricamenti futuri. Inutile per una suspensione
+      reject_reports: Righjittà i rapporti
+      reject_reports_hint: Ignurà tutti i signalamenti chì venenu d'issu duminiu. Senz'oghjettu pè e suspensione
       severities:
         noop: Nisuna
         silence: Silenzà
@@ -366,6 +369,9 @@ co:
       hero:
         desc_html: Affissatu nant’a pagina d’accolta. Ricumandemu almenu 600x100px. S’ellu ùn hè micca definiti, a vignetta di l’istanza sarà usata
         title: Ritrattu di cuprendula
+      mascot:
+        desc_html: Affissata nant'à parechje pagine. Almenu 293x205px ricumandatu. S'ella hè lasciata viota, a mascotta predefinita sarà utilizata
+        title: Ritrattu di a mascotta
       peers_api_enabled:
         desc_html: Indirizzi st’istanza hà vistu indè u fediverse
         title: Pubblicà a lista d’istanza cunnisciute
@@ -574,6 +580,7 @@ co:
     resources: Risorze
   generic:
     changes_saved_msg: Cambiamenti salvati!
+    copy: Cupià
     save_changes: Salvà e mudificazione
     validation_errors:
       one: Qualcosa ùn và bè! Verificate u prublemu quì sottu
@@ -915,6 +922,7 @@ co:
       tips: Cunsiglii
       title: Benvenutu·a, %{name}!
   users:
+    follow_limit_reached: Ùn pidete seguità più di %{limit} conti
     invalid_email: L’indirizzu e-mail ùn hè currettu
     invalid_otp_token: U codice d’identificazione ùn hè currettu
     otp_lost_help_html: S’è voi avete persu i dui, pudete cuntattà %{email}
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index c73c4fee1..05f65653b 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -16,7 +16,7 @@ cs:
       <h3>Dobré místo pro pravidla</h3>
       <p>Rozšířený popis ještě nebyl nastaven.</p>
     features:
-      humane_approach_body: Mastodon, poučen z chyb jiných sociálních sítí, se snaží bojovat se zneužíváním sociálních sítí vytvářením etických možností.
+      humane_approach_body: Mastodon se učí z chyb jiných sociálních sítí a volením etických rozhodnutí při designu se snaží bojovat s jejich zneužíváním.
       humane_approach_title: Lidštější přístup
       not_a_product_body: Mastodon není komerční síť. Žádné reklamy, žádné dolování dat, žádné hranice. Žádná centrální autorita.
       not_a_product_title: Jste osoba, ne produkt
@@ -25,7 +25,7 @@ cs:
       within_reach_body: Několik aplikací pro iOS, Android a jiné platformy vám díky jednoduchému API ekosystému dovolují držet krok s vašimi přáteli, ať už jste kdekoliv.
       within_reach_title: Vždy v dosahu
     generic_description: "%{domain} je jedním ze serverů v síti"
-    hosted_on: Mastodon hostovaný na %{domain}
+    hosted_on: Instance Mastodon na adrese %{domain}
     learn_more: Zjistit více
     other_instances: Seznam instancí
     privacy_policy: Zásady soukromí
@@ -104,7 +104,7 @@ cs:
         title: Umístění
       login_status: Stav přihlášení
       media_attachments: Mediální přílohy
-      memorialize: Změnit na "in memoriam"
+      memorialize: Změnit na „in memoriam“
       moderation:
         all: Vše
         silenced: Utišen/a
@@ -120,7 +120,7 @@ cs:
         most_recent: Nejnovější
         title: Pořadí
       outbox_url: URL odchozích zpráv
-      perform_full_suspension: Provést plnou suspenzaci
+      perform_full_suspension: Suspendovat
       profile_url: URL profilu
       promote: Povýšit
       protocol: Protokol
@@ -169,6 +169,7 @@ cs:
         create_domain_block: "%{name} zablokoval/a doménu %{target}"
         create_email_domain_block: "%{name} přidal/a e-mailovou doménu %{target} na černou listinu"
         demote_user: "%{name} degradoval/a uživatele %{target}"
+        destroy_custom_emoji: "%{name} zničil/a emoji %{target}"
         destroy_domain_block: "%{name} odblokoval/a doménu %{target}"
         destroy_email_domain_block: "%{name} odebral/a e-mailovou doménu %{target} z černé listiny"
         destroy_status: "%{name} odstranil/a příspěvek uživatele %{target}"
@@ -177,7 +178,7 @@ cs:
         disable_user: "%{name} zakázal/a přihlašování pro uživatele %{target}"
         enable_custom_emoji: "%{name} povolil/a emoji %{target}"
         enable_user: "%{name} povolil/a přihlašování pro uživatele %{target}"
-        memorialize_account: '%{name} změnil/a účet %{target} na stránku "in memoriam"'
+        memorialize_account: "%{name} změnil/a účet %{target} na stránku „in memoriam“"
         promote_user: "%{name} povýšil/a uživatele %{target}"
         remove_avatar_user: "%{name} odstranil/a avatar uživatele %{target}"
         reopen_report: "%{name} znovuotevřel/a nahlášení %{target}"
@@ -254,6 +255,8 @@ cs:
         title: Nová doménová blokace
       reject_media: Odmítat mediální soubory
       reject_media_hint: Odstraní lokálně uložené soubory a odmítne jejich stažení v budoucnosti. Irelevantní pro suspenzace
+      reject_reports: Odmítnout nahlášení
+      reject_reports_hint: Ignorovat všechna nahlášení pocházející z této domény. Nepodstatné pro suspenzace
       severities:
         noop: Žádné
         silence: Utišit
@@ -354,8 +357,11 @@ cs:
         desc_html: Pozměnit vzhled pomocí šablony CSS načtené na každé stránce
         title: Vlastní CSS
       hero:
-        desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 600x100px. Pokud toto není nastavené, bude zobrazena miniatura instance
+        desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 600x100 px. Pokud toto není nastaveno, bude zobrazena miniatura instance
         title: Hlavní obrázek
+      mascot:
+        desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 293x205 px. Pokud toto není nastaveno, bude zobrazen výchozí maskot
+        title: Obrázek maskota
       peers_api_enabled:
         desc_html: Domény, na které tato instance narazila ve fediverse
         title: Zveřejnit seznam objevených instancí
@@ -562,6 +568,7 @@ cs:
     resources: Zdroje
   generic:
     changes_saved_msg: Změny byly úspěšně uloženy!
+    copy: Kopírovat
     save_changes: Uložit změny
     validation_errors: Něco ještě není úplně v pořádku! Prosím zkontrolujte %{count} chyb níže
   imports:
@@ -614,7 +621,7 @@ cs:
       mention: "%{name} vás zmínil/a v:"
       new_followers_summary: Navíc jste získal/a %{count} nových sledovatelů, zatímco jste byl/a pryč! Hurá!
       subject: "%{count} nových oznámení od vaší poslední návštěvy \U0001F418"
-      title: Ve vaší absenci...
+      title: Ve vaší nepřítomnosti...
     favourite:
       body: 'Váš příspěvek si oblíbil/a %{name}:'
       subject: "%{name} si oblíbil/a váš příspěvek"
@@ -745,7 +752,7 @@ cs:
       reblog: Nelze připnout boostnutí
     show_more: Zobrazit více
     sign_in_to_participate: Chcete-li se účastnit této konverzace, přihlaste se
-    title: '%{name}: "%{quote}"'
+    title: "%{name}: „%{quote}“"
     visibilities:
       private: Pouze pro sledovatele
       private_long: Zobrazit pouze sledovatelům
@@ -764,7 +771,7 @@ cs:
 
       <ul>
         <li><em>Základní informace o účtu</em>: Pokud se na tomto serveru zaregistrujete, můžeme vás požádat o zadání uživatelského jména, e-mailové adresy a hesla. Můžete také zadat dodatečné profilové informace, jako například zobrazované jméno a krátký životopis, a nahrát si profilovou fotografii a hlavičkový obrázek. Uživatelské i zobrazované jméno, životopis, profilová fotografie a hlavičkový obrázek jsou vždy uvedeny veřejně.</li>
-        <li><em>Příspěvky, sledovatelé a další veřejné informace</em>: Seznam lidí, které sledujete, je uveden veřejně, totéž platí i pro vaše sledovatele. Když sem nahrajete zprávu, bude uloženo datum a čas, společně s aplikací, ze které jste zprávu odeslali. Zprávy mohou obsahovat mediální přílohy, jako jsou obrázky a videa. Veřejné a nezobrazované příspěvky jsou dostupné veřejně. Pokud na vašem profilu uvedete příspěvek, je to také veřejně dostupná informace. Vaše příspěvky jsou doručeny vašim sledovatelům, což v některých případech znamená, že budou doručeny na různé servery, na kterých budou ukládány kopie. Pokud příspěvky smažete, bude tohle taktéž doručeno vašim sledovatelům. Akce znovusdílení nebo oblíbení jiného příspěvku je vždy veřejná.</li>
+        <li><em>Příspěvky, sledovatelé a další veřejné informace</em>: Seznam lidí, které sledujete, je uveden veřejně, totéž platí i pro vaše sledovatele. Když sem nahrajete zprávu, bude uloženo datum a čas, společně s aplikací, ze které jste zprávu odeslali. Zprávy mohou obsahovat mediální přílohy, jako jsou obrázky a videa. Veřejné a neuvedené příspěvky jsou dostupné veřejně. Pokud na vašem profilu uvedete příspěvek, je to také veřejně dostupná informace. Vaše příspěvky jsou doručeny vašim sledovatelům, což v některých případech znamená, že budou doručeny na různé servery, na kterých budou ukládány kopie. Pokud příspěvky smažete, bude tohle taktéž doručeno vašim sledovatelům. Akce znovusdílení nebo oblíbení jiného příspěvku je vždy veřejná.</li>
         <li><em>Příspěvky přímé a pouze pro sledovatele</em>: Všechny příspěvky jsou uloženy a zpracovány na serveru. Příspěvky pouze pro sledovatele jsou doručeny vašim sledovatelům a uživateům v nich zmíněných a přímé příspěvky jsou doručeny pouze uživatelům v nich zmíněných. V některých případech tohle znamená, že budou doručeny na různé servery, na kterých budou ukládány kopie. Snažíme se omezit přístup k těmto příspěvkům pouze na autorizované uživatele, ovšem jiné servery tak nemusejí učinit. Proto je důležité posoudit servery, ke kterým vaši sledovatelé patří. V nastavení si můžete zapnout volbu pro manuální schvalování či odmítnutí nových sledovatelů. <em>Prosím mějte na paměti, že operátoři tohoto serveru a kteréhokoliv přijímacího serveru mohou tyto zprávy vidět</em> a příjemci mohou vytvořit jejich snímek, zkopírovat je, nebo je jinak sdílet. <em>Nesdílejte přes Mastodon jakékoliv nebezpečné informace.</em></li>
         <li><em>IP adresy a další metadata</em>: Když se přihlásíte, zaznamenáváme IP adresu, ze které se přihlašujete, jakožto i název vašeho webového prohlížeče. Všechny vaše webové relace jsou v nastavení přístupné k vašemu posouzení a odvolání. Nejpozdější IP adresa použita je uložena maximálně do 12 měsíců. Můžeme také uchovávat serverové záznamy, které obsahují IP adresy každého požadavku odeslaného na náš server.</li>
       </ul>
@@ -824,7 +831,7 @@ cs:
 
       <h3 id="children">Používání stránky dětmi</h3>
 
-      <p>Pokud se tento server nachází v EU nebo EHP: Naše stránka, produkty a služby jsou všechny směřovány na lidi, kterým je alespoň 16 let. Pokud je vám méně než 16, dle požadavků nařízení GDPR (<a href="https://cs.wikipedia.org/wiki/Obecn%C3%A9_na%C5%99%C3%ADzen%C3%AD_o_ochran%C4%9B_osobn%C3%ADch_%C3%BAdaj%C5%AF">Obecné nařízení o ochě sobních údajů</a>) tuto stránku nepoužívejte.</p>
+      <p>Pokud se tento server nachází v EU nebo EHP: Naše stránka, produkty a služby jsou všechny směřovány na lidi, kterým je alespoň 16 let. Pokud je vám méně než 16, dle požadavků nařízení GDPR (<a href="https://cs.wikipedia.org/wiki/Obecn%C3%A9_na%C5%99%C3%ADzen%C3%AD_o_ochran%C4%9B_osobn%C3%ADch_%C3%BAdaj%C5%AF">Obecné nařízení o ochraně sobních údajů</a>) tuto stránku nepoužívejte.</p>
 
       <p>Pokud se tento server nachází v USA: Naše stránka, produkty a služby jsou všechny směřovány na lidi, kterým je alespoň 13 let. Pokud je vám méně než 13, dle požadavků zákona COPPA (<a href="https://cs.wikipedia.org/wiki/Children%27s_online_privacy_protection_act">Children's Online Privacy Protection Act</a>) tuto stránku nepoužívejte.</p>
 
@@ -836,7 +843,7 @@ cs:
 
       <p>Rozhodneme-li se naše zásady soukromí změnit, zveřejníme tyto změny na této stránce.</p>
 
-      <p>Tento dokument je dostupný pod licencí CC-BY-SA. Byl naposledy aktualizován 7 března 2018.</p>
+      <p>Tento dokument je dostupný pod licencí CC-BY-SA. Byl naposledy aktualizován 7. března 2018.</p>
 
       <p>Původně adaptováno ze <a href="https://github.com/discourse/discourse">zásad soukromí Discourse</a>.</p>
     title: Podmínky používání a zásady soukromí %{instance}
@@ -874,13 +881,13 @@ cs:
       edit_profile_step: Můžete si přizpůsobit svůj profil nahráním avataru a obrázku na hlavičce, změnou zobrazovaného jména a dalších. Chcete-li posoudit nové sledovatele předtím, než vás mohou sledovat, můžete svůj účet uzamknout.
       explanation: Zde je pár tipů na začátek
       final_action: Začněte přispívat
-      final_step: 'Začněte psát! I když nemáte sledovatele, mohou vaše zprávy vidět jiní lidé, například na místní časové ose a mezi hashtagy. Můžete se ostatním představit pomocí hashtagu #introductions.'
+      final_step: 'Začněte přispívat! I když nemáte sledovatele, mohou vaše zprávy vidět jiní lidé, například na místní časové ose a mezi hashtagy. Můžete se ostatním představit pomocí hashtagu #introductions.'
       full_handle: Vaše celá adresa profilu
       full_handle_hint: Tohle je, co byste řekl/a svým přátelům, aby vám mohli posílat zprávy nebo vás sledovat z jiné instance.
       review_preferences_action: Změnit nastavení
       review_preferences_step: Nezapomeňte si nastavit své volby, například jaké e-maily chcete přijímat či jak soukromé mají být vaše příspěvky ve výchozím stavu. Nemáte-li epilepsii, můžete si nastavit automatické přehrávání obrázků GIF.
       subject: Vítejte na Mastodonu
-      tip_bridge_html: Pokud přicházíte z Twitteru, můžete najít vaše přátele na Mastodonu pomocí <a href="%{bridge_url}">mostové aplikace</a>. Funguje ovšem pouze, pokud ji oni někdy také použili!
+      tip_bridge_html: Pokud přicházíte z Twitteru, můžete najít vaše přátele na Mastodonu pomocí <a href="%{bridge_url}">mostové aplikace</a>. Funguje ovšem pouze, pokud ji oni také někdy použili!
       tip_federated_timeline: Federovaná časová osa je náhled celé sítě Mastodon. Zahrnuje ovšem pouze lidi, které sledují vaši sousedé, takže není úplná.
       tip_following: Administrátora/y serveru sledujete automaticky. Chcete-li najít další zajímavé lidi, podívejte se na místní a federované časové osy.
       tip_local_timeline: Místní časová osa je náhled lidí na %{instance}. Toto jsou vaši nejbližší sousedé!
@@ -888,6 +895,7 @@ cs:
       tips: Tipy
       title: Vítejte na palubě, %{name}!
   users:
+    follow_limit_reached: Nemůžete sledovat více než %{limit} lidí
     invalid_email: E-mailová adresa je neplatná
     invalid_otp_token: Neplatný kód pro dvoufaktorovou autentikaci
     otp_lost_help_html: Pokud jste ztratil/a přístup k oběma, můžete se spojit %{email}
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index 3bf256ac5..a4df28b61 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -1,13 +1,13 @@
 ---
 cy:
   about:
-    about_hashtag_html: Dyma dŵtiau cyhoeddus wedi eu tagio gyda <strong>#%{hashtag}</strong>. Gallwch ryngweithio gyda nhw os oes gennych gyfrif yn unrhyw le yn y bydysawd.
+    about_hashtag_html: Dyma dŵtiau cyhoeddus wedi eu tagio gyda <strong>#%{hashtag}</strong>. Gallwch ryngweithio gyda nhw os oes gennych gyfrif yn unrhyw le yn y ffeddysawd.
     about_mastodon_html: Mae Mastodon yn rwydwaith cymdeithasol sy'n seiliedig ar brotocolau gwe a meddalwedd cod agored rhad ac am ddim. Yn debyg i e-bost mae'n ddatganoledig.
     about_this: Ynghylch
     administered_by: 'Gweinyddir gan:'
     api: API
     apps: Apiau symudol
-    closed_registrations: ''
+    closed_registrations: Mae cofrestru wedi cau ar yr achos hwn ar hyn o bryd. Fodd bynnag, mae modd ffeindio achos arall er mwyn creu cyfrif arno a chael mynediad at union yr un rhwydwaith o'r man hwnnw.
     contact: Cyswllt
     contact_missing: Heb ei osod
     contact_unavailable: Ddim yn berthnasol
@@ -18,20 +18,20 @@ cy:
     features:
       humane_approach_body: Gan ddysgu o fethiannau rhwydweithiau eraill, mae Mastodon yn anelu i wneud penderfyniadau dylunio moesol i ymladd camddefnydd o gyfryngau cymdeithasol.
       humane_approach_title: Agwedd fwy dynol
-      not_a_product_body: Nid yw Mastodon yn rhwydwaith fasnachol. Nid oes hysbysebion, cloddio data na gerddi caeedig. Nid oes awdurdod canolog.
-      not_a_product_title: Rwyt yn berson, nid yn gynnyrch
+      not_a_product_body: Nid yw Mastodon yn rwydwaith masnachol. Nid oes hysbysebion, cloddio data na gerddi caeedig. Nid oes awdurdod canolog.
+      not_a_product_title: Rwyt yn berson, nid yn beth
       real_conversation_body: Gyda'r modd i ddefnyddio hyd at 500 o nodau a chefnogaeth ar gyfer cynnwys gronynnol a rhybuddion cyfryngau, mae modd i chi fynegi'ch hun yn y ffordd yr hoffech chi.
       real_conversation_title: Wedi ei adeiladu ar gyfer sgyrsiau go iawn
       within_reach_body: Nifer o apiau ar gyfer iOS, Android, a nifer blatfformau eraill diolch i amgylchedd API hygyrch i ddatblygwyr sy'n caniatau i chi gadw mewn cysylltiad a'ch ffrindiau o unrhywle.
       within_reach_title: Bob tro o fewn gafael
     generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
     hosted_on: Mastodon wedi ei weinyddu ar %{domain}
-    learn_more: Dysgwch fwy
+    learn_more: Dysu mwy
     other_instances: Rhestr achosion
     privacy_policy: Polisi preifatrwydd
     source_code: Cod ffynhonnell
     status_count_after: statws
-    status_count_before: Pwy ysgrifennodd
+    status_count_before: Ysgriffennwyd gan
     terms: Telerau gwasanaeth
     user_count_after: defnyddwyr
     user_count_before: Cartref i
@@ -42,6 +42,7 @@ cy:
     followers: Dilynwyr
     following: Yn dilyn
     joined: Ymunodd %{date}
+    link_verified_on: Gwiriwyd perchnogaeth y ddolen yma ar %{date}
     media: Cyfryngau
     moved_html: 'Mae %{name} wedi symud i %{new_profile_link}:'
     network_hidden: Nid yw'r wybodaeth hyn ar gael
@@ -53,7 +54,7 @@ cy:
     posts: Tŵtiau
     posts_tab_heading: Tŵtiau
     posts_with_replies: Tŵtiau ac atebion
-    reserved_username: Mae'r enw defnyddior yn neilltuedig
+    reserved_username: Mae'r enw defnyddiwr ar gadw
     roles:
       admin: Gweinyddwr
       bot: Bot
@@ -70,7 +71,7 @@ cy:
       avatar: Afatar
       by_domain: Parth
       change_email:
-        changed_msg: E-bost cyfri wedi ei newid yn llwyddiannus!
+        changed_msg: E-bost cyfrif wedi ei newid yn llwyddiannus!
         current_email: E-bost Cyfredol
         label: Newid E-bost
         new_email: E-bost Newydd
@@ -112,20 +113,21 @@ cy:
       moderation_notes: Nodiadau cymedroli
       most_recent_activity: Gweithgarwch diweddaraf
       most_recent_ip: IP diweddaraf
+      no_limits_imposed: Dim terfynau wedi'i gosod
       not_subscribed: Heb danysgrifio
       order:
         alphabetic: Allfabetig
-        most_recent: Mwyaf diweddaraf
-        title: Trefn
+        most_recent: Diweddaraf
+        title: Trefnu
       outbox_url: Allflwch URL
-      perform_full_suspension: Ataliwch yn llwyr
+      perform_full_suspension: Atal
       profile_url: URL proffil
       promote: Hyrwyddo
       protocol: Protocol
       public: Cyhoeddus
       push_subscription_expires: Tanysgrifiad PuSH yn dod i ben
-      redownload: Adnewyddwch afatar
-      remove_avatar: Dilëwch afatar
+      redownload: Adnewyddu afatar
+      remove_avatar: Dileu afatar
       resend_confirmation:
         already_confirmed: Mae'r defnyddiwr hwn wedi ei gadarnhau yn barod
         send: Ailanfonwch e-bost cadarnhad
@@ -147,8 +149,10 @@ cy:
         report: adrodd
         targeted_reports: Adroddiadau am y cyfri hwn
       silence: Tawelu
+      silenced: Tawelwyd
       statuses: Statysau
       subscribe: Tanysgrifio
+      suspended: Ataliwyd
       title: Cyfrifon
       unconfirmed_email: E-bost heb ei gadarnhau
       undo_silenced: Dadwneud tawelu
@@ -165,7 +169,9 @@ cy:
         create_domain_block: Blociodd %{name} y parth %{target}
         create_email_domain_block: Cosbrestrwyd parth e-bost %{target} gan %{name}
         demote_user: Diraddiodd %{name} y defnyddiwr %{target}
+        destroy_custom_emoji: Dinistriodd %{name} emoji %{target}
         destroy_domain_block: Dadflociodd %{name} y parth %{target}
+        destroy_email_domain_block: Gwynrestrodd %{name} parth e-bost %{target}
         destroy_status: Cafodd %{name} wared ar statws gan %{target}
         disable_2fa_user: Diffoddodd %{name} ar ofyniad dau gam ar gyfer y defnyddiwr %{target}
         disable_custom_emoji: Diffoddodd %{name} emoji %{target}
@@ -194,23 +200,24 @@ cy:
       copy_failed_msg: Methwyd i greu copi lleol o'r emoji hwnnw
       created_msg: Llwyddwyd i greu emoji!
       delete: Dileu
-      destroyed_msg: Llwyddwyd i ddinistrio emoji!
+      destroyed_msg: Llwyddwyd i ddinistrio emojo!
       disable: Diffodd
-      disabled_msg: Llwyddwyd i ddiffodd ye emoji hwnnw
+      disabled_msg: Llwyddwyd i ddiffodd yr emoji hwnnw
       emoji: Emoji
       enable: Galluogi
-      enabled_msg: Llwyddwyd i ganiatau yr emoji hwnnw
+      enabled_msg: Llwyddwyd i alluogi yr emoji hwnnw
       image_hint: PNG hyd at 50KB
       listed: Rhestredig
       new:
         title: Ychwanegu emoji personol newydd
       overwrite: Trosysgrifio
+      shortcode: Byrgod
       shortcode_hint: O leiaf 2 nodyn, dim ond nodau alffaniwmerig a tanlinellau
-      title: Emoji personol
-      unlisted: Heb ei restru
-      update_failed_msg: Ni allwyd diweddaru'r emoji hwnnw
+      title: Emoji unigryw
+      unlisted: Heb eu rhestru
+      update_failed_msg: Methwyd a diweddaru'r emoji hwnnw
       updated_msg: Llwyddwyd i ddiweddaru'r emoji!
-      upload: Lanlwytho
+      upload: Uwchlwytho
     dashboard:
       backlog: tasgau heb eu cwblhau
       config: Cyfluniad
@@ -219,7 +226,7 @@ cy:
       feature_registrations: Cofrestriadau
       feature_relay: Relái ffederasiwn
       features: Nodweddion
-      hidden_service: Ffedarasiwn a gwasanaethau cudd
+      hidden_service: Ffederasiwn a gwasanaethau cudd
       open_reports: adroddiadau agored
       recent_users: Defnyddwyr diweddar
       search: Chwilio testun llawn
@@ -245,12 +252,14 @@ cy:
           noop: Dim
           silence: Tawelwch
           suspend: Atal
-        title: Bloc parth newydd
+        title: Blocio parth newydd
       reject_media: Gwrthod dogfennau cyfryngau
       reject_media_hint: Dileu dogfennau cyfryngau wedi eu cadw yn lleol ac yn gwrthod i lawrlwytho unrhyw rai yn y dyfodol. Amherthnasol i ataliadau
+      reject_reports: Gwrthod adroddiadau
+      reject_reports_hint: Anwybyddu'r holl adroddiadau sy'n dod o'r parth hwn. Amherthnasol i ataliadau
       severities:
         noop: Dim
-        silence: Tawelwch
+        silence: Tawelu
         suspend: Atal
       severity: Difrifoldeb
       show:
@@ -258,7 +267,7 @@ cy:
         retroactive:
           silence: Dad-dawelu pob cyfri presennol o'r parth hwn
           suspend: Dad-atal pob cyfrif o'r parth hwn sy'n bodoli
-        title: Dadwneud bloc parth ar gyfer %{domain}
+        title: Dadwneud blocio parth ar gyfer %{domain}
         undo: Dadwneud
       title: Blociau parth
       undo: Dadwneud
@@ -273,12 +282,13 @@ cy:
         title: Cofnod newydd yng nghosbrestr e-byst
       title: Cosbrestr e-bost
     instances:
-      account_count: Cyfrifon hysbys
+      account_count: Cyfrifau hysbys
       domain_name: Parth
       reset: Ailosod
       search: Chwilio
       title: Achosion hysbys
     invites:
+      deactivate_all: Diffodd pob un
       filter:
         all: Pob
         available: Ar gael
@@ -287,11 +297,19 @@ cy:
       title: Gwahoddiadau
     relays:
       add_new: Ychwanegau relái newydd
+      delete: Dileu
+      description_html: Mae <strong>relái ffederasiwn</strong> yn weinydd ganol sy'n cyfnewid niferoedd ucheol o dŵtiau cyhoeddus rhwng gweinyddwyr sydd wedi tanysgrifio ac yn cyhoeddi iddo. <strong>Gall helpu weinyddwyr bach a cymhedrol eu maint i ddarganfod cynnwys o'r ffedysawd</strong>, fel arall bydd gofyn ara ddefnyddwyr lleol yn dilyn unigolion ar weinyddwyr eraill a llaw.
+      disable: Diffodd
+      disabled: Wedi'i ddiffodd
+      enable: Galluogi
+      enable_hint: Unwaith y bydd wedi ei alluogi, bydd eich gweinydd yn tanysgrifio i holl dŵtiau cyhoeddus o'r relai hwn, ac yn dechrau anfon tŵtiau y gweinydd hwn ato.
+      enabled: Wedi ei alluogi
       inbox_url: URL relái
       pending: Aros am gymeradywaeth i'r relái
       save_and_enable: Cadw a galluogi
       setup: Sefydlu cysylltiad relái
       status: Statws
+      title: Cyfnewidwyr
     report_notes:
       created_msg: Llwyddwyd i greu nodyn adroddiad!
       destroyed_msg: Llwyddwyd i ddileu nodyn adroddiad!
@@ -299,23 +317,24 @@ cy:
       account:
         note: nodyn
         report: adroddiad
-      action_taken_by: Gwnathpwyd hyn gan
+      action_taken_by: Gwnaethpwyd hyn gan
       are_you_sure: Ydych chi'n sicr?
       assign_to_self: Aseinio i mi
       assigned: Cymedrolwr wedi'i aseinio
       comment:
         none: Dim
       created_at: Adroddwyd
-      mark_as_resolved: Nodwch wedi ei ddatrys
-      mark_as_unresolved: Nodwch heb ei ddatrys
+      mark_as_resolved: Nodi fel wedi'i ddatrys
+      mark_as_unresolved: Nodi fel heb ei ddatrys
       notes:
-        create: Ychwanegwch nodyn
-        create_and_resolve: Datruswch a nodyn
-        create_and_unresolve: Ailagorwch a nodyn
-        delete: Dilëwch
+        create: Ychwanegu nodyn
+        create_and_resolve: Datrys gyda nodyn
+        create_and_unresolve: Ailagor gyda nodyn
+        delete: Dileu
         placeholder: Disgrifiwch pa weithredoedd sydd wedi eu cymryd, neu unrhyw ddiweddariadau eraill...
-      reopen: Ailagorwch adroddiad
+      reopen: Ailagor adroddiad
       report: 'Adroddiad #%{id}'
+      reported_account: Cyfrif wedi ei adrodd
       reported_by: Adroddwyd gan
       resolved: Wedi ei ddatrys
       resolved_msg: Llwyddwyd i ddatrys yr adroddiad!
@@ -326,41 +345,66 @@ cy:
       updated_at: Diweddarwyd
     settings:
       activity_api_enabled:
-        title: Cyhoeddwch ystatedgau agregau am weithgaredd defnyddwyr
+        desc_html: Niferoedd o statysau wedi eu postio'n lleol, defnyddwyr gweithredol, a cofrestradau newydd mewn bwcedi wythnosol
+        title: Cyhoeddi ystatedgau cyfangronedig am weithgaredd defnyddwyr
       bootstrap_timeline_accounts:
+        desc_html: Gwahanu sawl enw defnyddiwr a coma. Dim ond cyfrifoedd lleol a cyfrifoedd heb eu cloi fydd yn gweithio. Tra bod yn aros yn wag yr hyn sy'n rhagosodedig yw'r holl weinyddwyr lleol.
         title: Dilyn diofyn i ddefnyddwyr newydd
       contact_information:
         email: E-bost busnes
         username: Enw defnyddiwr cyswllt
       custom_css:
-        desc_html: Addaswch wedd gyda CSS wedi lwytho ar bob tudalen
+        desc_html: Addasu gwedd gyda CSS wedi lwytho ar bob tudalen
+        title: CSS wedi'i addasu
       hero:
         desc_html: Yn cael ei arddangos ar y dudadlen flaen. Awgrymir 600x100px oleia. Pan nad yw wedi ei osod, mae'n ymddangos fel mân-lun yr achos
         title: Delwedd arwr
+      mascot:
+        desc_html: I'w arddangos ar nifer o dudalennau. Awgrymir 293x205px o leiaf. Pan nad yw wedi ei osod, cwympo nôl i'r mascot rhagosodedig
+        title: Llun mascot
       peers_api_enabled:
         desc_html: Enwau parth y mae'r achos hwn wedi dod ar ei draws yn y ffedysawd
         title: Cyhoeddi rhestr o achosion dargynfyddiedig
+      preview_sensitive_media:
+        desc_html: Bydd rhagolygon ar wefannau eraill yn dangos ciplun hyd yn oed os oes na gyfryngau wedi eu marcio'n sensitif
+        title: Dangos cyfryngau sensitif mewn rhagolygon OpenGraph
       registrations:
+        closed_message:
+          desc_html: I'w arddangos ar y dudalen flaen wedi i gofrestru cau. Mae modd defnyddio tagiau HTML
+          title: Neges gofrestru caeëdig
         deletion:
-          desc_html: Caniatewch i unrhywun i ddileu eu cyfrif
+          desc_html: Caniatau i unrhywun i ddileu eu cyfrif
+          title: Agor dileu cyfrif
         min_invite_role:
           disabled: Neb
-          title: Caniatewch wahoddiadau gan
+          title: Caniatau gwahoddiadau gan
         open:
-          desc_html: Caniatewch i unrhywun greu cyfrif
-          title: Agorwch cofrestru
+          desc_html: Caniatau i unrhywun greu cyfrif
+          title: Agor cofrestru
+      show_known_fediverse_at_about_page:
+        desc_html: Wedi'i ddewis, bydd yn dangos rhagolwg o dŵtiau o'r holl ffedysawd. Fel arall bydd ond yn dangos tŵtiau lleol.
+        title: Dangos ffedysawd hysbys ar ragolwg y ffrwd
       show_staff_badge:
+        desc_html: Dangos bathodyn staff ar dudalen defnyddiwr
         title: Dangos bathodyn staff
       site_description:
+        desc_html: Paragraff agoriadol ar y dudalen flaen. Disgrifiwch yr hyn sy'n arbennig am y gweinydd Mastodon hwn ac unrhywbeth arall o bwys. Mae modd defnyddio tagiau HTML <code>&lt;a&gt;</code> a <code>&lt;em&gt;</code>.
         title: Disgrifiad achos
       site_description_extended:
-        desc_html: Lle da ar gyfer eich côd ymddygiad, rheolau, canllawiau a phethau eraill sy'n gwneud eich achos yn whanol. Mae modd i chi ddefnyddio tagiau HTML
+        desc_html: Lle da ar gyfer eich cod ymddygiad, rheolau, canllawiau a phethau eraill sy'n gwneud eich achos yn whanol. Mae modd i chi ddefnyddio tagiau HTML
+        title: Gwybodaeth bellach wedi ei addasu
       site_short_description:
+        desc_html: Yn cael ei ddangos yn bar ar yr ochr a tagiau meto. Digrifiwch beth yw Mastodon a beth sy'n gwneud y gweinydd hwn mewn un paragraff. Os yn wag, wedi ei ragosod i ddangos i disgrifiad yr achos.
         title: Disgrifiad byr o'r achos
+      site_terms:
+        desc_html: Mae modd i chi ysgrifennu polisi preifatrwydd, termau gwasanaeth a cyfreitheg arall eich hun. Mae modd defnyddio tagiau HTML
+        title: Termau gwasanaeth wedi eu haddasu
       site_title: Enw'r achos
       thumbnail:
+        desc_html: Ceith ei ddefnyddio ar gyfer rhagolygon drwy OpenGraph a'r API. Argymhellir 1200x630px
         title: Mân-lun yr achos
       timeline_preview:
+        desc_html: Dangos ffrwd gyhoeddus ar y dudalen lanio
         title: Rhagolwg o'r ffrwd
       title: Gosodiadau'r wefan
     statuses:
@@ -374,33 +418,44 @@ cy:
         title: Cyfryngau
       no_media: Dim cyfryngau
       no_status_selected: Ni newidwyd dim statws achos ni ddewiswyd dim un
+      title: Statysau cyfrif
       with_media: A chyfryngau
     subscriptions:
+      callback_url: URL galw-nôl
       confirmed: Wedi'i gadarnhau
       expires_in: Dod i ben ymhen
+      last_delivery: Danfoniad diwethaf
       title: WebSub
       topic: Pwnc
     suspensions:
+      bad_acct_msg: Nid yw'r gwerthoedd cadarnhau yn cyfateb. Ydych chi'n atal y cyfrif cywir?
+      hint_html: 'I gadarnhau atal y cyfrif, mewnbynwch %{value} yn y maes isod:'
       proceed: Parhau
+      title: Atal %{acct}
+      warning_html: 'Mi fydd atal y cyfrif hwn yn dileu data <strong>am byth</strong> o''r cyfrif hwn, gan gynnwys:'
     title: Gweinyddiaeth
   admin_mailer:
     new_report:
       body: Mae %{reporter} wedi cwyno am %{target}
-      body_remote: Mae rhywun o %{domain} wedi cwyno . am %{target}
+      body_remote: Mae rhywun o %{domain} wedi cwyno am %{target}
       subject: Cwyn newydd am %{instance} {#%{id}}
   application_mailer:
     notification_preferences: Newid gosodiadau e-bost
     salutation: "%{name},"
+    settings: 'Newid gosodiadau e-bost: %{link}'
+    view: 'Gweld:'
     view_profile: Gweld proffil
     view_status: Gweld statws
   applications:
     created: Cais wedi ei greu'n llwyddiannus
     destroyed: Cais wedi ei ddileu'n llwyddiannus
+    invalid_url: Mae'r URL a ddarparwyd yn annilys
     regenerate_token: Adfywio tocyn mynediad
     token_regenerated: Adfywiwyd y tocyn mynediad yn llwyddiannus
     warning: Byddwch yn ofalus a'r data hyn. Peidiwch a'i rannu byth!
     your_token: Eich tocyn mynediad
   auth:
+    agreement_html: Wrth glicio "Cofrestru" isod yr ydych yn cytuno i ddilyn <a href="%{rules_path}">y rheolau ar gyfer yr achos hwn</a> a <a href="%{terms_path}">ein termau gwasanaeth</a>.
     change_password: Cyfrinair
     confirm_email: Cadarnhau e-bost
     delete_account: Dileu cyfrif
@@ -408,8 +463,8 @@ cy:
     didnt_get_confirmation: Heb dderbyn cyfarwyddiadau cadarnhau?
     forgot_password: Wedi anghofio'ch cyfrinair?
     invalid_reset_password_token: Tocyn ailosod cyfrinair yn annilys neu wedi dod i ben. Gwnewch gais am un newydd os gwelwch yn dda.
-    login: Mewngofnodwch
-    logout: Allgofnodwch
+    login: Mewngofnodi
+    logout: Allgofnodi
     migrate_account: Symud i gyfrif gwahanol
     migrate_account_html: Os hoffech chi ailgyfeirio'r cyfrif hwn at un gwahanol, mae modd <a href="%{path}">ei ffurfweddu yma</a>.
     or: neu
@@ -417,42 +472,45 @@ cy:
     providers:
       cas: CAS
       saml: SAML
-    register: Cofrestrwch
-    register_elsewhere: Cofrestrwch ar weinydd gwahanol
+    register: Cofrestru
+    register_elsewhere: Cofrestru ar weinydd gwahanol
     resend_confirmation: Ailanfon cyfarwyddiadau cadarnhau
-    reset_password: Ailosodwch eich cyfrinair
+    reset_password: Ailosod cyfrinair
     security: Diogelwch
-    set_new_password: Gosodwch gyfrinair newydd
+    set_new_password: Gosod cyfrinair newydd
   authorize_follow:
     already_following: Yr ydych yn dilyn y cyfrif hwn yn barod
     error: Yn anffodus, roedd gwall tra'n edrych am y cyfrif anghysbell
-    follow: Dilynwch
+    follow: Dilyn
     follow_request: 'Yr ydych wedi anfon cais dilyn at:'
     following: 'Llwyddiant! Yr ydych yn awr yn dilyn:'
     post_follow:
       close: Neu, gallwch gau'r ffenest hon.
-      return: Dangoswch broffil y defnyddiwr
+      return: Dangos proffil y defnyddiwr
       web: I'r wê
-    title: Dilynwch %{acct}
+    title: Dilyn %{acct}
   datetime:
     distance_in_words:
-      about_x_hours: "%{count}h"
-      about_x_months: "%{count}mo"
-      about_x_years: "%{count}y"
-      almost_x_years: "%{count}y"
+      about_x_hours: "%{count}awr"
+      about_x_months: "%{count}mis"
+      about_x_years: "%{count}blwyddyn"
+      almost_x_years: "%{count}blwyddyn"
       half_a_minute: Newydd fod
       less_than_x_minutes: "%{count}m"
       less_than_x_seconds: Newydd fod
-      over_x_years: "%{count}y"
-      x_days: "%{count}d"
+      over_x_years: "%{count}blwyddyn"
+      x_days: "%{count}dydd"
       x_minutes: "%{count}m"
-      x_months: "%{count}mo"
-      x_seconds: "%{count}s"
+      x_months: "%{count}mis"
+      x_seconds: "%{count}eiliad"
   deletes:
     bad_password_msg: Go dda, hacwyr! Cyfrinair anghywir
     confirm_password: Mewnbynnwch eich cyfrinair presennol i gadarnhau mai chi sydd yno
+    description_html: Bydd hyn yn cael gwared ar gynnwys o'ch cyfrif <strong>am byth heb fodd i'w adfer</strong> ac yn diffodd y cyfrif. Caiff eich eich enw defnyddiwr ei gadw i atal unrhyw ddynwarediadau yn y dyfodol.
     proceed: Dileu cyfrif
     success_msg: Llwyddwyd i ddileu eich cyfrif
+    warning_html: Dim ond dileu cynnwys o'r achos hwn ellid bod yn sicr ei fod wedi ei ddileu. Mae cynnwys sydd wedi ei rannu'n eang yn debygol o adael olion. Ni fydd gweinyddwyr all-lein a gweinyddwyr sydd wedi dad-danysgrifio o'ch diwedderiadau ddim yn diweddaru eu cronfeydd data.
+    warning_title: Argaeledd cynnwys wedi'i rannu
   errors:
     '403': Nid oes gennych ganiatad i weld y dudalen hon.
     '404': Nid yw'r dudalen yr oeddech yn chwilio amdani'n bodoli.
@@ -460,19 +518,24 @@ cy:
     '422':
       content: Methwyd i ddilysu diogelwch. A ydych chi'n blocio cwcîs?
       title: Methwyd i ddilysu diogelwch
+    '429': Crogwyd
     '500':
       content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni.
       title: Nid yw'r dudalen hon yn gywir
-    noscript_html: I ddefnyddio ap gwê Mastodon, caniatewch JavaScript os gwlwch yn dda. Fel arall, gallwch drio un o'r <a href="%{apps_path}">apiau cynhenid</a> ar gyfer Mastodon ar eich platfform.
+    noscript_html: I ddefnyddio ap gwe Mastodon, galluogwch JavaScript os gwlwch yn dda. Fel arall, gallwch drio un o'r <a href="%{apps_path}">apiau cynhenid</a> ar gyfer Mastodon ar eich platfform.
   exports:
     archive_takeout:
       date: Dyddiad
-      download: Lawrlwythwch eich archif
+      download: Lawrlwytho eich archif
+      hint_html: Mae modd gwneud cais am archif o'ch <strong>twtiau a'ch cyfryngau</strong>. Bydd y data sy'n cael ei allforio ar fformat ActivityPub, a ellir ei ddarllen gyda unrhyw feddalwaedd sy'n cydymffurfio. Mae modd gwneud cais am archif bob 7 diwrnod.
+      in_progress: Cyfansoddi eich archif...
+      request: Gwneud cais am eich archif
       size: Maint
     blocks: Yr ydych yn blocio
     csv: CSV
     follows: Yr ydych yn dilyn
     mutes: Yr ydych yn tawelu
+    storage: Storio cyfryngau
   filters:
     contexts:
       home: Ffrwd gartref
@@ -481,6 +544,9 @@ cy:
       thread: Sgyrsiau
     edit:
       title: Golygu hidlydd
+    errors:
+      invalid_context: Dim cyd-destun neu cyd-destun annilys wedi ei ddarparu
+      invalid_irreversible: Mae hidlo anadferadwy ond yn gweithio yng nghyd-destun cartref neu hysbysiadau
     index:
       delete: Dileu
       title: Hidlyddion
@@ -488,8 +554,13 @@ cy:
       title: Ychwanegu hidlydd newydd
   followers:
     domain: Parth
+    explanation_html: Os ydych am sicrhau preifatrwydd eich tŵtiau, rhaid i chi fod yn ymwybodol o bwy sy'n eich dilyn. <strong>Mae eich tŵtiau preifat yn cael eu hanfon at bob achos lle mae gennych ddilynwyr</strong>. Efallai hoffech chi i'w hadolygu o bryd i'w gilydd, a chael gwared ar ddilynwyr os nad ydych yn credu i'r staff neu'r meddalwedd ar yr achosion hynny barchu eich preifatrwydd.
     followers_count: Nifer y dilynwyr
-    lock_link: Cloi eich cyfri
+    lock_link: Cloi eich cyfrif
+    purge: Dileu o dilynwyr
+    success: Yn y broses o ysgafn-flocio dilynwyr o %{count} parth...
+    true_privacy_html: Cofiwch <strong>mai ond amgryptio pen-i-ben all sicrhau gwir breifatrwydd</strong>.
+    unlocked_warning_html: Gall unrhywun eich dilyn yn syth i weld eich tŵtiau preifat. %{lock_link} i gael adolygu a gwrthod dilynwyr.
     unlocked_warning_title: Nid yw eich cyfrif wedi ei gloi
   footer:
     developers: Datblygwyr
@@ -497,61 +568,339 @@ cy:
     resources: Adnoddau
   generic:
     changes_saved_msg: Llwyddwyd i gadw y newidiadau!
+    copy: Copïo
     save_changes: Cadw newidiadau
     validation_errors: Mae rhywbeth o'i le o hyd! Edrychwch ar y %{count} gwall isod os gwelwch yn dda
   imports:
     preface: Mae modd mewnforio data yr ydych wedi allforio o achos arall, megis rhestr o bobl yr ydych yn ei ddilyn neu yn blocio.
-    success: Uwchlwyddwyd eich data yn llwyddiannus ac fe fydd yn cael ei brosesu mewn da bryd
+    success: Uwchlwythwyd eich data yn llwyddiannus ac fe fydd yn cael ei brosesu mewn da bryd
     types:
       blocking: Rhestr blocio
       following: Rhestr dilyn
       muting: Rhestr tawelu
     upload: Uwchlwytho
-  in_memoriam_html: ''
+  in_memoriam_html: In Memoriam.
   invites:
     delete: Dadactifadu
+    expired: Wedi darfod
     expires_in:
+      '1800': 30 munud
+      '21600': 6 awr
+      '3600': 1 awr
+      '43200': 12 awr
+      '604800': 1 wythnos
       '86400': 1 dydd
+    expires_in_prompt: Byth
+    generate: Cynhyrchu
+    invited_by: 'Cawsoch eich gwahodd gan:'
+    max_uses: "%{count} defnydd"
     max_uses_prompt: Dim terfyn
     prompt: Cynhyrchwch a rhannwch ddolenni gyda eraill i ganiatau mynediad i'r achos hwn
     table:
+      expires_at: Darfod ar
       uses: Defnyddiau
+    title: Gwahodd pobl
+  lists:
+    errors:
+      limit: Yr ydych wedi cyrraedd uchafswm nifer y rhestrau posib
+  media_attachments:
+    validations:
+      images_and_video: Ni ellir ychwanegu fideo at statws sy'n cynnwys delweddau'n barod
+      too_many: Ni ellir ychwanegu mwy na 4 dogfen
   migrations:
-    currently_redirecting: ''
+    acct: enwdefnyddiwr@parth y cyfrif newydd
+    currently_redirecting: 'Mae eich proffil wedi ei osod i ailgyfeirio i:'
     proceed: Cadw
+    updated_msg: Diweddarwyd gosodiad mudo eich cyfrif yn llwyddiannus!
   moderation:
     title: Cymedroli
   notification_mailer:
+    digest:
+      action: Gweld holl hysbysiadau
+      body: Dyma grynodeb byr o'r holl negeseuon golloch chi ers eich ymweliad diwethaf ar %{since}
+      mention: 'Soniodd %{name} amdanoch chi:'
+      new_followers_summary: Hefyd, rydych wedi ennill %{count} dilynwr newydd tra eich bod i ffwrdd! Hwrê!
+      subject: "%{count} hysbysiad newydd ers eich ymweliad diwethaf \U0001F418"
+      title: Yn eich absenoldeb...
     favourite:
+      body: 'Cafodd eich statws ei hoffi gan %{name}:'
+      subject: Hoffodd %{name} eich statws
       title: Ffefryn newydd
+    follow:
+      body: Mae %{name} bellach yn eich dilyn!
+      subject: Mae %{name} bellach yn eich dilyn
+      title: Dilynwr newydd
+    follow_request:
+      action: Rheoli ceisiadau dilyn
+      body: Mae %{name} wedi gwneud cais i'ch dilyn
+      subject: 'Dilynwr yn aros: %{name}'
+      title: Cais dilynwr newydd
     mention:
       action: Ateb
+      body: 'Caswoch eich sôn amdano gan %{name} yn:'
+      subject: Cawsoch eich sôn amdano gan %{name}
+      title: Crywbylliad newydd
+    reblog:
+      body: 'Cafodd eich statws ei fŵstio gan %{name}:'
+      subject: Bŵstiodd %{name} eich statws
+      title: Hwb newydd
+  number:
+    human:
+      decimal_units:
+        format: "%n%u"
+        units:
+          billion: B
+          million: M
+          quadrillion: Q
+          thousand: K
+          trillion: T
   pagination:
+    newer: Diweddarach
     next: Nesaf
+    older: Hŷn
     prev: Blaenorol
+    truncate: "&hellip;"
   preferences:
     languages: Ieithoedd
     other: Arall
+    publishing: Cyhoeddi
     web: Gwe
+  remote_follow:
+    acct: Mewnbynnwch eich enwdefnyddiwr@parth yr ydych eisiau gweithredu ohonno
+    missing_resource: Ni ellir canfod yr URL ailgyferio angenrheidiol i'ch cyfrif
+    no_account_html: Heb gyfrif? Mae modd i chi <a href='%{sign_up_path}' target='_blank'>gofrestru yma</a>
+    proceed: Ymlaen i ddilyn
+    prompt: 'Yr ydych am ddilyn:'
+  remote_interaction:
+    proceed: Ymlaen i ryngweithio
+    prompt: 'Rydych eisiau rhyngweithio a''r tŵt hwn:'
   remote_unfollow:
     error: Gwall
     title: Teitl
+    unfollowed: Dad-ddilynwyd
   sessions:
+    activity: Gweithgaredd ddiwethaf
     browser: Porwr
     browsers:
-      alipay: ''
-      blackberry: ''
+      alipay: Alipay
+      blackberry: Blackberry
+      chrome: Chrome
+      edge: Microsoft Edge
+      electron: Electron
+      firefox: Firefox
+      generic: Porwr anhysbys
+      ie: Internet Explorer
+      micro_messenger: MicroMessenger
+      nokia: Porwr Nokia S40 Ovi
+      opera: Opera
+      otter: Otter
+      phantom_js: PhantomJS
+      qq: Porwr QQ
+      safari: Safari
+      uc_browser: UCBrowser
+      weibo: Weibo
     current_session: Sesiwn cyfredol
     description: "%{browser} ar %{platform}"
+    explanation: Dyma'r porwyr gwê sydd wedi mewngofnodi i'ch cyfrif Mastododon ar hyn o bryd.
+    ip: IP
+    platforms:
+      adobe_air: Adobe Air
+      android: Android
+      blackberry: Blackberry
+      chrome_os: ChromeOS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
+      mac: Mac
+      other: platfform anhysbys
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
+    revoke: Diddymu
+    revoke_success: Sesiwn wedi ei ddiddymu yn llwyddiannus
     title: Sesiynau
+  settings:
+    authorized_apps: Apiau awdurdodedig
+    back: Yn ôl i Mastodon
+    delete: Dileu cyfrif
+    development: Datblygu
+    edit_profile: Golygu proffil
+    export: Allforio data
+    followers: Dilynwyr awdurdodedig
+    import: Mewnforio
+    migrate: Mudo cyfrif
+    notifications: Hysbysiadau
+    preferences: Dewisiadau
+    settings: Gosodiadau
+    two_factor_authentication: Awdurdodi dau-gam
+    your_apps: Eich rhaglenni
+  statuses:
+    attached:
+      description: 'Ynghlwm: %{attached}'
+      image: "%{count} o luniau"
+      video: "%{count} fideo"
+    boosted_from_html: Wedi ei fŵstio %{acct_link}
+    content_warning: 'Rhybudd cynnwys: %{warning}'
+    disallowed_hashtags: 'yn cynnwys yr hashnod gwaharddedig: %{tags}'
+    language_detection: Canfod iaith yn awtomataidd
+    open_in_web: Agor yn y wê
+    over_character_limit: wedi mynd heibio'r uchafswm nodyn o %{max}
+    pin_errors:
+      limit: Yr ydych wedi pinio yr uchafswm posib o dŵtiau
+      ownership: Ni ellir pinio tŵt rhywun arall
+      private: Ni ellir pinio tŵt nad yw'n gyhoeddus
+      reblog: Ni ellir pinio bŵstiau
+    show_more: Dangos mwy
+    sign_in_to_participate: Mengofnodwch i gymryd rhan yn y sgwrs
+    title: '%{name}: "%{quote}"'
+    visibilities:
+      private: Dilynwyr yn unig
+      private_long: Dangos i ddilynwyr yn unig
+      public: Cyhoeddus
+      public_long: Gall pawb weld
+      unlisted: Heb ei restru
+      unlisted_long: Gall pawb weld, ond heb ei restru ar ffrydiau cyhoeddus
+  stream_entries:
+    pinned: Tŵt wedi'i binio
+    reblogged: bŵstiwyd
+    sensitive_content: Cynnwys sensitif
+  terms:
+    body_html: |
+      <h2>Polisi Preifatrwydd</h2>
+      <h3 id="collect">Pa wybodaeth ydyn ni'n ei gasglu?</h3>
+
+      <ul>
+        <li><em>Gwybodaeth cyfrif sylfaenol</em>: Os ydych yn cofrestru ar y gweinydd hwn, mae'n bosib y byddwch yn cael eich gofyn i fewnbynnu enw defnyddiwr, cyfeiriad e-bost a chyfrinair. Mae modd i chi hefyd fewnbynnu gwybodaeth ychwanegol megis enw arddangos a bywgraffiad ac uwchlwytho llun proffil a llun pennawd. Mae'r enw defnyddiwr, enw arddangos, bywgraffiad, llun proffil a'r llun pennawd wedi eu rhestru'n gyhoeddus bob tro.</li>
+        <li><em>Postio, dilyn a gwybodaeth gyhoeddus arall</em>: Mae'r rhestr o bobl yr ydych yn dilyn wedi ei restru'n gyhoeddus, mae'r un peth yn wir am eich dilynwyr. Pan yr ydych yn mewnosod neges, mae'r dyddiad a'r amser yn cael ei gofnodi ynghyd a'r rhaglen y wnaethoch anfon y neges ohonni. Gall negeseuon gynnwys atodiadau cyfryngau, megis lluniau neu fideo. Mae negeseuon cyhoeddus a negeseuon heb eu rhestru ar gael yn gyhoeddus. Pan yr ydych yn nodweddu neges ar eich proffil, mae hynny hefyd yn wybodaeth sydd ar gael yn gyhoeddus. Mae eich negeseuon yn cael eu hanfon i'ch dilynwyr, mewn rhai achosion mae hyn yn golygu eu bod yn cael eu hanfon i amryw o weinyddwyr ac fe fydd copiau yn cael eu cadw yno. Pan yr ydych yn dileu negeseuon, mae hyn hefyd yn cael ei hanfon i'ch dilynwyr. Mae'r weithred o rannu neu hoffi neges arall yn gyhoeddus bob tro.</li>
+        <li><em>Negeseuon uniongyrchol a dilynwyr yn unig</em>: Mae pob neges yn cael eu cadw a'u prosesu ar y gweinydd. Mae negeseuon dilynwyr yn unig yn cael eu hanfon i'ch dilynwyr a'r defnyddwyr sy'n cael eu crybwyll ynddynt tra bod negeseuon uniongyrchol yn cael eu hanfon at rheini sy'n cael crybwyll ynddynt yn unig. Mewn rhai achostion golyga hyn eu bod yn cael eu hanfon i weinyddwyr gwahanol a'u cadw yno. yr ydym yn gnweud ymgais ewyllys da i gyfyngu'r mynediad at y negeseuon yna i bobl ac awdurdod yn unig, ond mae'n bosib y bydd gweinyddwyr eraill yn methu a gwneud hyn. Mae'n bwysig felly i chi fod yn wyliadwrus o ba weinyddwyr y mae eich dilynwyr yn perthyn iddynt. Mae modd i chi osod y dewis i ganiatau a gwrthod dilynwyr newydd a llaw yn y gosodiadau. <em>Cofiwch gall gweithredwyr y gweinydd ac unrhyw weinydd derbyn weld unrhyw negeseuon o'r fath</em>, ac fe all y derbynwyr gymryd sgrinlin, copïo neu drwy ddulliau eraill rannu rhain. <em>Peidiwch a rhannu unrhyw wybodaeth beryglus dros Mastodon.</em></li>
+        <li><em>IPs a mathau eraill o metadata</em>: Pan yr ydych yn mewngofnodi, yr ydym yn cofnodi y cyfeiriad IP yr ydych yn mewngofnodi ohonno, ynghyd a enw eich rhaglen pori. Mae pob un sesiwn mewngofnodi ar gael i chi adolygu a gwrthod yn y gosodiadau. Mae'r cyfeiriad IP diweddaraf yn cael ei storio hyd at 12 mis. Mae'n bosib y byddwn hefyd yn cadw cofnodion gweinydd sy'n cynnwys y cyfeiriad IP am bob cais sy'n cael ei wneud i'n gweinydd.</li>
+      </ul>
+
+      <hr class="spacer" />
+
+      <h3 id="use">Beth ydym yn defnyddio eich gywbodaeth ar ei gyfer?</h3>
+
+      <p>Gall unrhyw wybodaeth yr ydym yn ei gasglu oddi wrthych gael ei ddefnyddio yn y ffyrdd canlynol:</p>
+
+      <ul>
+        <li>I ddarparu prif weithgaredd Mastodon. Gallwch ond rhyngweithio a chynnwys pobl eraill pan yr ydych wedi'ch mewngofnodi. Er enghraifft, gallwch ddilyn pobl eraill i weld eu negeseuon wedi cyfuno ar ffrwd gartref bersonol.</li>
+        <li>I helpu gyda goruwchwylio'r gymuned, er enghraifft drwy gymharu eich cyfeiriad IP gyda rhai eraill hysbys er mwyn sefydlu ymgais i geisio hepgor gwaharddiad neu droseddau eraill.</li>
+        <li>Gall y cyfeiriad e-bost yr ydych yn ei ddarparu gael ei ddefnyddio i anfon gwybodaeth atoch, hsybysiadau am bobl eraill yn rhyngweithio a'ch cynnwys neu'n anfon negeseuon atoch a/neu geisiadau neu gwestiynnau eraill.</li>
+      </ul>
+
+      <hr class="spacer" />
+
+      <h3 id="protect">Sut ydym yn amddiffyn eich gwybodaeth?</h3>
+
+      <p>Mae gennym amryw o fesurau diogelwch er mwyn cynnal diogelwch eich gwybodaeth bersonol pan yr ydych yn mewnosod, cyflwyno neu'n cael mynediad at eich gwybodaeth bersonol. Ymysg pethau eraill, mae sesiwn eich porwr, ynghyd a'r traffig rhwng eich rhaglenni a'r API wedi eu diogelu gan SSL, ac mae'ch cyfrinair yn cael ei stwnshio drwy ddefnyddio algorithm cryf un-ffordd. Gallwch alluogi dilysu dau-gam er mwyn cryfhau diogelwch mynediad i'ch cyfrif ymhellach.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="data-retention">Beth yw ein polisi cadw data?</h3>
+
+      <p>Gwnawn ymdrech ewyllys da i:</p>
+
+      <ul>
+        <li>Gadw cofnod gweinydd yn cynnwys y cyfeiriad IP o bob cais i'r gweinydd hwn, i'r graddau y mae cofnodion o'r fath yn cael eu cadw, am ddim mwy na 90 diwrnod.</li>
+        <li>Gadw cyfeiriadau IP a chysylltiad i ddefnyddwyr cofrestredig am ddim mwy na 12 mis.</li>
+      </ul>
+
+      <p>Mae modd i chi wneud cais am, a lawrlwytho archif o'ch cynnwys, gan gynnwys eich tŵtiau, atodiadau cyfryngau, llun proffil a llun pennawd.</p>
+
+      <p>Mae modd i chi ddileu eich cyfrif heb ei adfer ar unrhyw bryd</p>
+
+      <hr class="spacer"/>
+
+      <h3 id="cookies">Ydyn ni'n defnyddio cwcis?</h3>
+
+      <p>Ydyn. Dogfennau bach sy'n cael eu trosglwyddo i ddisg galed eich cyfrifiadur drwy eich porwr gan wefan neu wasanaeth yw cwcis (os ydych yn eu caniatau). Galluoga'r cwcis hyn i'r wefan i adnabod eich porwr ac, os oes gennych gyfrif wedi ei gofrestru, ei gysylltu gyda'r cyfrif yr ydych wedi ei gofrestru.</p>
+
+      <p>Rydym yn defnyddio cwcis i ddeall a chadw eich dewisiadau ar gyfer ymweliadau yn y dyfodol.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="disclose">Ydyn ni'n datgelu unrhyw wybodaeth i bartïoedd allanol?</h3>
+
+      <p>Nid ydym yn gwerthu, cyfnewid neu mewn unrhyw ddull yn trosglwyddo i bartïoedd allanol eich gwybodaeth bersonol. Nid yw hyn yn cynnwys trydydd partïon yr ydym yn ymddiried ynddynt sy'n ein cynorthwyo i weithredu ein gwefan, cynnal ein busnes neu'ch gwasanaethu chi, cyhyd a bod y partïoedd hynny yn cytuno i gadw'r wybodaeth yma'n gyfrinachol. Mae'n bosib i ni ryddhau eich gwybodaeth pan yr ydym yn credu fod ei ryddhau yn briodol er mwyn cydymffurfio a'r gyfraith, gorfodi ein polisiau, neu i amddiffyn hawliau, eiddo neu diogelwch eraill.</p>
+
+      <p>Gall eich cynnwys cyhoeddus gael ei lawrlwytho gan weinyddwyr eraill yn y rhwydwaith. Mae eich tŵtiau cyhoeddus a'r rhai dilynwyr yn unig yn cael eu hanfon i'r gweinyddwyr sy'n lletya eich dilynwyr, tra bod negeseuon uniongrychol yn cael eu hanfon at weinyddwyr y derbynwyr, cyn belled a fod y dilynwyr neu'r derbynwyr hynny yn bodoli ar weinydd gwahanol i'r un hwn.</p>
+
+      <p>Pan yr ydych yn caniatau y rhaglen hwn i ddefnyddio'ch cyfrif, yn dibynnu ar sgôp yr hyn yr ydych yn caniatau, gallai gael mynediad at eich gwybodaeth proffil cyhoeddus, eich rhestr dilynwyr, eich dilynwyr, eich rhestrau, eich holl dŵtiau a'ch ffefrynnau. Ni all rhaglenni byth gael mynediad at eich cyfeiriad e-bost na chwaith eich cyfrinair.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="children">Defnydd o'r wefan gan blant</h3>
+
+      <p>Os yw'r gweinydd hwn yn yr UE neu'r EEA: Mae ein gwefan, ein nwyddau a'n gwasanaethau oll wedi eu cyfeirio at bobl sydd dros 16 mlwydd oed. Os ydych o dan 16, yn ôl gofyniad y GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) peidiwch a defnyddio'r wefan hon.</p>
+
+      <p>Os yw'r gweinydd hwn yn UDA: Mae ein gwefan, ein nwyddau a'n gwasanaethau oll wedi eu cyfeirio at bobl sydd dros 13 mlwydd oed oleiaf. Os ydych o dan 13 mlwydd oed, yn ôl gofyniad COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) peidiwch a defnyddio'r wefan hon.</p>
+
+      <p>Mae gofynion y gyfraith yn gallu bod yn wahanol os yw'r gweinydd hwn mewn awdurdodaeth wahanol.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="changes">Newidiadau i'n Polisi Preifatrwydd</h3>
+
+      <p>Os ydyn yn penderfynnu i newid ein polisi preifatrwydd, fe wnawn ni roi'r newidiadau hynny ar y dudalen hon.</p>
+
+      <p>Mae'r ddogfen hon yn CC-BY-SA. Cafodd ei ddiweddaru diwethaf ar y 7fed o Fawrth, 2018.</p>
+
+      <p>Cafodd ei addasu yn wreiddiol o'r<a href="https://github.com/discourse/discourse">Polisi preifatrwydd disgwrs</a>.</p>
+    title: "%{instance} Termau Gwasanaeth a Polisi Preifatrwydd"
   themes:
     contrast: Cyferbyniad uchel
-    default: ''
+    default: Mastodon
     mastodon-light: Mastodon (golau)
   time:
     formats:
       default: "%b %d, %Y, %H:%M"
       month: "%b %Y"
+  two_factor_authentication:
+    code_hint: Mewnbynwch y côd a grewyd gan eich ap dilysu i gadarnhau
+    description_html: Os ydych yn galluogi <strong>awdurdodi dau-gam</strong>, bydd mewngofnodi yn gofyn i chi fod a'ch ffôn gerllaw er mwyn cynhyrchu tocyn i chi gael mewnbynnu.
+    disable: Diffodd
+    enable: Galluogi
+    enabled: Awdurdodi dau-gam wedi'i alluogi
+    enabled_success: Awdurdodi dau-gam wedi'i alluogi'n llwyddiannus
+    generate_recovery_codes: Cynhyrchu côdau adfer
+    instructions_html: "<strong>Sganiwch y côd QR yn Google Authenticator neu ap TOTP tebyg ar eich ffôn</strong>. O hyn ymlaen, bydd yr ap hwnnw yn cynhyrchu tocynnau y bydd rhaid i chi fewnbynnu tra'n mewngofnodi."
+    lost_recovery_codes: Mae côdau adfer yn caniatau i chi gael mynediad i'ch cyfrif eto os ydych yn colli'ch ffôn. Os ydych wedi colli eich côdau adfer, mae modd i chi gynhyrchu nhw eto yma. Bydd eich hen gôdau wedyn yn annilys.
+    manual_instructions: 'Os nad ydych yn gallu sganio côd QR ac angen ei fewnbynnu a llaw, dyma''r gyfrinach testun-plaen:'
+    recovery_codes: Creu copi wrth gefn o gôdau adfywio
+    recovery_codes_regenerated: Llwyddwyd i ail greu côdau adfywio
+    recovery_instructions_html: Os ydych byth yn colli mynediad i'ch ffôn, mae modd i chi ddefnyddio un o'r côdau adfywio isod i ennill mynediad i'ch cyfrif eto. <strong>Cadwch y côdau adfywio yn saff</strong>. Er enghraifft, gallwch eu argraffu a'u cadw gyda dogfennau eraill pwysig.
+    setup: Sefydlu
+    wrong_code: Roedd y cod y mewnbynnwyd yn annilys! A yw'r amser gweinydd ac amser dyfais yn gywir?
   user_mailer:
+    backup_ready:
+      explanation: Fe wnaethoch chi gais am gopi wrth gefn llawn o'ch cyfrif Mastodon. Mae nawr yn barod i'w lawrlwytho!
+      subject: Mae eich archif yn barod i'w lawrlwytho
+      title: Allfudo archif
     welcome:
+      edit_profile_action: Sefydlu proffil
+      edit_profile_step: Mae modd i chi addasu eich proffil drwy uwchlwytho afatar, pennawd, drwy newid eich enw arddangos a mwy. Os hoffech chi adolygu dilynwyr newydd cyn iddynt gael caniatad i'ch dilyn, mae modd i chi gloi eich cyfrif.
+      explanation: Dyma ambell nodyn i'ch helpu i ddechrau
+      final_action: Dechrau postio
+      final_step: 'Dechrau postio! Hyd yn oed heb ddilynwyr mae''n bosib i eraill weld eich negeseuon cyhoeddus, er enghraifft at y ffrwd leol ac mewn hashnodau. Mae''n bosib yr hoffech hi gyflwyno''ch hun ar yr hashnod #introductions.'
+      full_handle: Eich enw Mastodon llawn
+      full_handle_hint: Dyma'r hyn y bysech yn dweud wrth eich ffrindiau er mwyn iddyn nhw gael anfon neges atoch o achos arall.
+      review_preferences_action: Newid dewisiadau
+      review_preferences_step: Gwnewch yn siŵr i chi osod eich dewisiadau, megis pa e-byst hoffech eu derbyn, neu ba lefel preifatrwydd hoffech eich tŵtiau ragosod i. Os nad oes gennych salwch symud, gallwch ddewis i ganiatau chwarae GIFs yn awtomatig.
       subject: Croeso i Mastodon
+      tip_bridge_html: Os ydych yn dod o Twitter, mae modd i chi ganfod eich ffrindiau ar Mastodon drwy ddefnyddio'r <a href="%{bridge_url}">1ap pontio</a>2. Mae hyn ond yn gweithio os ydynt hwythau yn defnyddio'r ap pontio hefyd!
+      tip_federated_timeline: Mae'r ffrwd ffederasiwn yn olwg firehose o'r rhwydwaith Mastodon. Ond mae ond yn cynnwys y bobl mae eich cymdogion wedi ymrestru iddynt, felly nid yw'n gyflawn.
+      tip_following: Rydych yn dilyn goruwchwyliwr eich gweinydd yn ddiofyn. I ganfod pobl mwy diddorol, edrychwch ar y ffrydiau lleol a'r rhai wedi ei ffedereiddio.
+      tip_local_timeline: Mae'r ffrwd leol yn olwg firehose o bobl ar %{instance}. Dyma eich cymdogion agosaf!
+      tip_mobile_webapp: Os yw eich porwr gwe yn cynnig i ch ychwanegu Mastodon i'ch sgrîn gartref, mae modd i chi dderbyn hysbysiadau push. Mewn sawl modd mae'n gweithio fel ap cynhenid!
+      tips: Awgrymiadau
+      title: Croeso, %{name}!
+  users:
+    follow_limit_reached: Nid oes modd i chi ddilyn mwy na %{limit} o bobl
+    invalid_email: Mae'r cyfeiriad e-bost hwn yn annilys
+    invalid_otp_token: Côd dau-ffactor annilys
+    otp_lost_help_html: Os colloch chi fynediad i'r ddau, mae modd i chi gysylltu a %{email}
+    seamless_external_login: Yr ydych wedi'ch mewngofnodi drwy wasanaeth allanol, felly nid yw gosodiadau cyfrinair ac e-bost ar gael.
+    signed_in_as: 'Wedi mewngofnodi fel:'
+  verification:
+    explanation_html: 'Mae modd i chi <strong>ddilysu eich hun fel perchenog y dolenni yn metadata eich proffil</strong>. Rhaid i''r wefan a dolen iddi gynnwys dolen yn ôl i''ch proffil Mastodon. <strong>Rhaid</strong> i''r ddolen yn ôl gael nodwedd <code>rel="fi"</code>. Nid oes ots beth yw cynnwys testun y ddolen. Dyma enghraifft:'
+    verification: Dilysu
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 0cd3e78f7..d9ce9d55d 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -48,6 +48,7 @@ da:
       other: Følgere
     following: Følger
     joined: Tilmeldt den %{date}
+    link_verified_on: Ejerskabet af dette link blev tjekket den %{date}
     media: Medier
     moved_html: "%{name} er flyttet til %{new_profile_link}:"
     network_hidden: Denne information er ikke tilgængelig
@@ -126,7 +127,7 @@ da:
         most_recent: Seneste
         title: Rækkefølge
       outbox_url: Link til udgående
-      perform_full_suspension: Udfør fuld udelukkelse
+      perform_full_suspension: Udeluk
       profile_url: Link til profil
       promote: Forfrem
       protocol: Protokol
@@ -155,8 +156,10 @@ da:
         report: anmeld
         targeted_reports: Anmeldelser fra denne konto
       silence: Dæmp
+      silenced: Dæmpet
       statuses: Statusser
       subscribe: Abonner
+      suspended: Udelukket
       title: Konti
       unconfirmed_email: Ikke-bekræftet email
       undo_silenced: Fortryd dæmpning
@@ -258,6 +261,7 @@ da:
         title: Ny domæne blokering
       reject_media: Afvis medie filer
       reject_media_hint: Fjerner lokalt lagrede multimedie filer og nægter at hente nogen i fremtiden. Irrelevant for udelukkelser
+      reject_reports: Afvis anmeldelser
       severities:
         noop: Ingen
         silence: Dæmp
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 67166f31c..d3b571f66 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -22,7 +22,7 @@ de:
       not_a_product_title: Du bist ein Mensch und keine Ware
       real_conversation_body: Mit 500 Zeichen pro Beitrag und der Ermöglichung präziser Inhalts- und Bilderwarnungen kannst du dich so ausdrücken, wie du es möchtest.
       real_conversation_title: Für das echte Gespräch gemacht
-      within_reach_body: Verschiedene Apps für iOS, Android und andere Plattformen erlauben dir dank unserem blühenden API-Ökosystem, dich von überall auf dem Laufenden zu halten.
+      within_reach_body: Verschiedene Apps für iOS, Android und andere Plattformen erlauben dir, dank unseres blühenden API-Ökosystems, dich von überall auf dem Laufenden zu halten.
       within_reach_title: Immer für dich da
     generic_description: "%{domain} ist ein Server im Netzwerk"
     hosted_on: Mastodon, beherbergt auf %{domain}
@@ -121,13 +121,14 @@ de:
       moderation_notes: Moderationsnotizen
       most_recent_activity: Letzte Aktivität
       most_recent_ip: Letzte IP-Adresse
+      no_limits_imposed: Keine Limits eingesetzt
       not_subscribed: Nicht abonniert
       order:
         alphabetic: Alphabetisch
         most_recent: Neueste
         title: Sortierung
       outbox_url: Postausgangs-URL
-      perform_full_suspension: Vollständige Sperre durchführen
+      perform_full_suspension: Sperren
       profile_url: Profil-URL
       promote: Befördern
       protocol: Protokoll
@@ -176,6 +177,7 @@ de:
         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:in %{target} herunter"
+        destroy_custom_emoji: "%{name} zerstörte Emoji %{target}"
         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"
@@ -261,6 +263,8 @@ de:
         title: Neue Domain-Blockade
       reject_media: Mediendateien ablehnen
       reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant
+      reject_reports: Meldungen ablehnen
+      reject_reports_hint: Ignoriere alle Meldungen von dieser Domain. Irrelevant für Sperrungen
       severities:
         noop: Kein
         silence: Stummschaltung
@@ -365,6 +369,9 @@ de:
       hero:
         desc_html: Wird auf der Startseite angezeigt. Mindestens 600x100px sind empfohlen. Wenn es nicht gesetzt wurde, wird das Instanz-Thumbnail dafür verwendet
         title: Bild für Startseite
+      mascot:
+        desc_html: Angezeigt auf mehreren Seiten. Mehr als 293x205px empfohlen. Wenn es nicht gesetzt wurde wird es auf das Standard-Maskottchen zurückfallen
+        title: Maskottchen-Bild
       peers_api_enabled:
         desc_html: Domain-Namen dieser Instanz, die im Fediverse gefunden wurden
         title: Veröffentliche Liste von gefundenen Instanzen
@@ -573,6 +580,7 @@ de:
     resources: Ressourcen
   generic:
     changes_saved_msg: Änderungen gespeichert!
+    copy: Kopieren
     save_changes: Änderungen speichern
     validation_errors:
       one: Etwas ist noch nicht ganz richtig! Bitte korrigiere den Fehler
@@ -915,6 +923,7 @@ de:
       tips: Tipps
       title: Willkommen an Bord, %{name}!
   users:
+    follow_limit_reached: Du kannst nicht mehr als %{limit} Leuten folgen
     invalid_email: Ungültige E-Mail-Adresse
     invalid_otp_token: Ungültiger Zwei-Faktor-Authentisierungs-Code
     otp_lost_help_html: Wenn Du beides nicht mehr weißt, melde Dich bei uns unter der E-Mailadresse %{email}
@@ -922,3 +931,4 @@ de:
     signed_in_as: 'Angemeldet als:'
   verification:
     explanation_html: 'Du kannst <strong>bestätigen, dass die Links in deinen Profil-Metadaten dir gehören</strong>. Dafür muss die verlinkte Website einen Link zurück auf dein Mastodon-Profil enthalten. Dieser Link <strong>muss</strong> ein <code>rel="me"</code>-Attribut enthalten. Der Linktext is dabei egal. Hier ist ein Beispiel:'
+    verification: Verifizierung
diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml
index d7d694f14..7d96e57f9 100644
--- a/config/locales/devise.cy.yml
+++ b/config/locales/devise.cy.yml
@@ -6,10 +6,10 @@ cy:
       send_instructions: Byddwch yn derbyn e-bost a chyfarwyddiadau am sut i gadarnhau eich cyfeiriad e-bost mewn rhai munudau. Os na dderbynioch chi'r e-bost hwn, edrychwch yn eich ffolder sbam os gwelwch yn dda.
       send_paranoid_instructions: Os yw eich cyfeiriad e-bost yn bodoli yn ein bas data, byddwch yn derbyn e-bost a chyfarwyddiadau am sut i gadarnhau eich cyfeiriad ebost mewn rhai munudau. Os na dderbynioch chi'r e-bost hwn, edrychwch yn eich ffolder sbam os gwelwch yn dda.
     failure:
-      already_authenticated: Yr ydych yn barod wedi mewngofnodi.
+      already_authenticated: Yr ydych wedi mewngofnodi yn barod.
       inactive: Nid yw eich cyfrif yn weithredol eto.
       invalid: "%{authentication_keys} neu gyfrinair annilys."
-      last_attempt: Mae gennych un gyfle arall cyn i'ch cyfrif gael ei gloi.
+      last_attempt: Mae gennych un cyfle arall cyn i'ch cyfrif gael ei gloi.
       locked: Mae eich cyfrif wedi ei gloi.
       not_found_in_database: "%{authentication_keys} neu gyfrinair annilys."
       timeout: Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto i barhau.
@@ -19,29 +19,29 @@ cy:
       confirmation_instructions:
         action: Gwiriwch eich cyfeiriad e-bost
         explanation: Yr ydych wedi creu cyfrif ar %{host} gyda'r cyfrif e-bost hwn. Dim ond un clic sydd angen i'w wneud yn weithredol. Os nad chi oedd hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda.
-        extra_html: Gwnewch yn siŵr i edrych ar <a href="%{terms_path}">reolau'r INSTANCE</a> a <a href="%{policy_path}">ein telerau gwasanaeth</a>.
+        extra_html: Gwnewch yn siŵr i edrych ar <a href="%{terms_path}">reolau'r achos</a> a <a href="%{policy_path}">ein telerau gwasanaeth</a>.
         subject: 'Mastodon: Canllawiau cadarnhau i %{instance}'
-        title: Gwiriwch cyfeiriad e-bost
+        title: Gwirio cyfeiriad e-bost
       email_changed:
         explanation: 'Mae''r cyfeiriad e-bost ar gyfer eich cyfrif yn cael ei newid i:'
-        extra: Os na wnaethoch chi newid eich e-bost, mae'n debygol fod rhywun wedi cael mynediad i'ch cyfrif. Newidwch eich cyfrinair yn syth os gwelwch yn dda neu cysylltwch a gweinydd yr INSTANCE os ydych wedi'ch cloi allan o'ch cyfrif.
+        extra: Os na wnaethoch chi newid eich e-bost, mae'n debygol fod rhywun wedi cael mynediad i'ch cyfrif. Newidwch eich cyfrinair yn syth os gwelwch yn dda neu cysylltwch a gweinydd yr achos os ydych wedi'ch cloi allan o'ch cyfrif.
         subject: 'Mastodon: Newidwyd e-bost'
         title: Cyfeiriad e-bost newydd
       password_change:
         explanation: Newidwyd cyfrinair eich cyfrif.
-        extra: Os na wnaethoch chi newid eich e-bost, mae'n debygol fod rhywun wedi cael mynediad i'ch cyfrif. Newidwch eich cyfrinair yn syth os gwelwch yn dda neu cysylltwch a gweinydd yr INSTANCE os ydych wedi'ch cloi allan o'ch cyfrif.
+        extra: Os na wnaethoch chi newid eich e-bost, mae'n debygol fod rhywun wedi cael mynediad i'ch cyfrif. Newidwch eich cyfrinair yn syth os gwelwch yn dda neu cysylltwch a gweinydd yr achos os ydych wedi'ch cloi allan o'ch cyfrif.
         subject: 'Mastodon: Newidwyd Cyfrinair'
         title: Newidwyd cyfrinair
       reconfirmation_instructions:
         explanation: Cadarnhewch y cyferiad newydd i newid eich e-bost.
         extra: Os nad chi wnaeth y newid hwn, anwybyddwch yr e-bost hwn os gwelwch yn dda. Ni fydd y cyfeiriad e-bost ar gyfer y cyfrif Mastodon yn newid nes eich bod yn mynd at y ddolen uchod.
         subject: 'Mastodon: Cadarnhewch e-bost i %{instance}'
-        title: Gwiriwch cyfeiriad e-bost
+        title: Gwirio cyfeiriad e-bost
       reset_password_instructions:
         action: Newid cyfrinair
         explanation: Gofynnoch am gyfrinair newydd i'ch cyfrif.
         extra: Os na wnaethoch gais am hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda. Ni fydd eich cyfrinair yn newid nes i chi fynd at y ddolen uchod a chreu un newydd.
-        subject: 'Mastodon: Ailosodwch cyfarwyddiadau cyfrinair'
+        subject: 'Mastodon: Ailosod cyfarwyddiadau cyfrinair'
         title: Ailosod cyfrinair
       unlock_instructions:
         subject: 'Mastodon: Cyfarwyddiadau datgloi'
@@ -55,24 +55,24 @@ cy:
       updated: Mae eich cyfrinair wedi ei newid yn llwyddiannus. Yr ydych wedi mewngofnodi.
       updated_not_active: Mae eich cyfrinair wedi ei newid yn llwyddiannus.
     registrations:
-      destroyed: Hwyl fawr! Mae eich cyfrif wedi ei ganslo'n llwyddiannus. Gobeithiwn eich gweld eto'n fuan.
-      signed_up: Croeso! Rydych wedi llwyddo i ymuno.
+      destroyed: Hwyl fawr! Mae eich cyfrif wedi ei ganslo'n llwyddiannus. Gobeithiwn eich gweld chi eto'n fuan.
+      signed_up: Croeso! Rydych wedi cofrestru'n llwyddiannus.
       signed_up_but_inactive: Yr ydych wedi cofrestru'n llwyddiannus. Fodd bynnag, ni allwn eich mewngofnodi achos nid yw eich cyfrif wedi ei actifadu eto.
       signed_up_but_locked: Yr ydych wedi cofrestru'n llwyddiannus. Fodd bynnag, ni allwn eich mewngofnodi achos fod eich cyfrif wedi ei gloi.
       signed_up_but_unconfirmed: Mae neges gyda dolen cadarnhau wedi ei anfon i'ch cyfeiriad e-bost. Dilynwch y ddolen er mwyn actifadu eich cyfrif. Edrychwch yn eich ffolder sbam os na dderbynioch chi'r e-bost hwn os gwelwch yn dda.
-      update_needs_confirmation: Rydych wedi diweddaru eich cyfrif yn llwyddiannus, ond mae angen i ni wirio eich cyfeiriad e-bost newydd. Edrychwch ar eich e-byst a dilynwch y ddolen gadarnhau er mwyn cadarnhau eich cyfeiriad e-bost newydd. Edrychwch ar eich ffolder sbam os na dderbynioch chi yr e-bost hwn.
+      update_needs_confirmation: Rydych wedi diweddaru eich cyfrif yn llwyddiannus, ond mae angen i ni wirio'ch cyfeiriad e-bost newydd. Edrychwch ar eich e-byst a dilynwch y ddolen gadarnhau er mwyn cadarnhau eich cyfeiriad e-bost newydd. Edrychwch ar eich ffolder sbam os na dderbynioch chi yr e-bost hwn.
       updated: Mae eich cyfrif wedi ei ddiweddaru yn llwyddiannus.
     sessions:
       already_signed_out: Allgofnodwyd yn llwyddiannus.
       signed_in: Mewngofnodwyd yn llwyddiannus.
       signed_out: Allgofnodwyd yn llwyddiannus.
     unlocks:
-      send_instructions: Mi fyddwch yn derbyn e-bost a cyfarwyddiadau ynghylch sut i ddatgloi eich cyfrif ymhen cwpl o funudau. Edrychwch yn eich ffolder sbam os na dderbynioch chi'r e-bost hwn os gwelwch yn dda.
+      send_instructions: Mi fyddwch yn derbyn e-bost a chyfarwyddiadau ynghylch sut i ddatgloi eich cyfrif ymhen cwpl o funudau. Edrychwch yn eich ffolder sbam os na dderbynioch chi'r e-bost hwn os gwelwch yn dda.
       send_paranoid_instructions: Os yw eich cyfrif yn bodoli, mi fyddwch yn derbyn e-bost a cyfarwyddiadau o sut i ddatgloi eich cyfrif ymhen cwpl o funudau. Edrychwch yn eich ffolder sbam os na dderbynioch chi'r e-bost hwn os gwelwch yn dda.
       unlocked: Mae eich cyfrif wedi ei ddatgloi'n llwyddiannus. Mewngofnodwch i barhau.
   errors:
     messages:
-      already_confirmed: wedi ei gadarnhau yn baros, ymgeisiwch fewngofnodi
+      already_confirmed: wedi ei gadarnhau yn barod, ymgeisiwch fewngofnodi
       confirmation_period_expired: angen ei gadarnhau o fewn %{period}, gwnewch gais am un newydd os gwelwch yn dda
       expired: wedi dod i ben, gwnewch gais am un newydd os gwelwch yn dda
       not_found: heb ei ganfod
diff --git a/config/locales/doorkeeper.cy.yml b/config/locales/doorkeeper.cy.yml
index 050af3a0a..87d7a8660 100644
--- a/config/locales/doorkeeper.cy.yml
+++ b/config/locales/doorkeeper.cy.yml
@@ -5,7 +5,7 @@ cy:
       doorkeeper/application:
         name: Enw rhaglen
         redirect_uri: Ailgyfeirio URI
-        scopes: Cwmpasau
+        scopes: Rhinweddau
         website: Gwefan cais
     errors:
       models:
@@ -27,18 +27,20 @@ cy:
       confirmations:
         destroy: Ydych chi'n sicr?
       edit:
-        title: Golygwch rhaglen
+        title: Golygwch y rhaglen
       form:
         error: Wps! Gwiriwch eich ffurflen am gamgymeriadau posib
       help:
         native_redirect_uri: Defnyddiwch %{native_redirect_uri} ar gyfer profion lleol
         redirect_uri: Defnyddiwch un llinell i bob URI
+        scopes: Gwahanwch rinweddau gyda gofodau. Gadewch yn wag i ddefnyddio y rhinweddau rhagosodiedig.
       index:
         application: Rhaglen
+        callback_url: URL galw-nôl
         delete: Dileu
         name: Enw
         new: Rhaglen newydd
-        scopes: Cwmpasau
+        scopes: Rhinweddau
         show: Dangoswch
         title: Eich rhaglenni
       new:
@@ -46,7 +48,8 @@ cy:
       show:
         actions: Gweithredoedd
         application_id: Allwedd cleient
-        scopes: Cwmpasau
+        callback_urls: URLau galw-nôl
+        scopes: Rhinweddau
         secret: Cyfrinach Cleient
         title: 'Rhaglen: %{name}'
     authorizations:
@@ -57,9 +60,10 @@ cy:
         title: Mae rhywbeth wedi mynd o'i le
       new:
         able_to: Mi fydd a'r gallu i
+        prompt: Mae'r ap %{client_name} yn gofyn caniatad i gal mynediad i'ch cyfrif
         title: Angen awdurdodi
       show:
-        title: Copiwch y côd awdurdodi a gludiwch i'r rhaglen
+        title: Copiwch y côd awdurdodi a gludiwch i'r rhaglen.
     authorized_applications:
       buttons:
         revoke: Diddymu
@@ -68,19 +72,35 @@ cy:
       index:
         application: Rhaglen
         created_at: Awdurdodedig
-        scopes: Cwmpasau
+        date_format: "%Y-%m-%d %H:%M:%S"
+        scopes: Rhinweddau
         title: Eich rhaglenni awdurdodedig
     errors:
       messages:
         access_denied: Mae perchennog yr adnodd neu'r gweinydd awdurdodi wedi atal y cais.
+        credential_flow_not_configured: Llif meini prawf cyfrinair perchennog yr adnodd wedi methu achos fod Doorkeeper.configure.resource_owner_from_credentials heb ei ffurfweddu.
+        invalid_client: Methwyd dilysu cleient oherwydd cleient anhysbys, methiant i gynnwys dilysu cleient, neu defnydd o ddull dilysu nid yw'n cael ei gefnodi.
+        invalid_grant: Mae'r grant dilysu a ddarparwyd yn annilys, wedi dod i ben, wedi'i wrthod, ddim yn cyfateb a'r URI ailgyferio a ddefnyddiwyd yn y cais dilysu, neu wedi ei ddarparu i gleient arall.
         invalid_redirect_uri: Nid yw'r uri ailgyfeirio cynnwysiedig yn gyfredol.
         invalid_request: Nid yw'r cais yn cynnwys paramedr angenrheidiol, yn cynnwys paramader paramedr nad yw'n cael ei gefnogi, neu wedi ei gamffurfio mewn rhyw fodd arall.
+        invalid_resource_owner: Nid yw meini prawf perchennog yr adnodd yn ddilys, neu ni ellir canfod perchennog yr adnodd
+        invalid_scope: Mae'r sgôp a geisiwyd amdano yn annilys, anhysbys, neu'n gamffurfiedig.
+        invalid_token:
+          expired: Daeth y tocyn mynediad i ben
+          revoked: Gwrthodwyd y tocyn mynediad
+          unknown: Mae'r tocyn mynediad yn annilys
+        resource_owner_authenticator_not_configured: Methwyd canfod Perchenog Adnodd achos fod Doorkeeper.configure.resource_owner_authenticator heb ei gydffurfio.
+        server_error: Daeth y gweinydd awdurdodi ar draws gyflwr annisgwyl wnaeth ei atal rhag cyflawni'r cais.
+        temporarily_unavailable: Nid yw'r gweinydd awdurdodi yn gallu gweithredu y cais hwn ar hyn o bryd oherwydd gorlwytho dros dro neu gwaith cynnal a chadw ar y gweinydd hwn.
+        unauthorized_client: Nid yw'r cleient wedi ei awdurdodi i berfformio'r cais hwn yn defnyddio'r dull hwn.
+        unsupported_grant_type: Nid yw'r math o ganiatad awdurdodi yma'n cael ei gefnogi gan y gweinydd awdurdodi.
+        unsupported_response_type: Nid yw'r gweinydd awdurdodi yn cefnogi y math yma o ymateb.
     flash:
       applications:
         create:
           notice: Crewyd y rhaglen.
         destroy:
-          notice: Dilewyd y rhaglen.
+          notice: Dilëwyd y rhaglen.
         update:
           notice: Diweddarwyd y rhaglen.
       authorized_applications:
@@ -94,24 +114,29 @@ cy:
       application:
         title: Mae awdurdodiad OAuth yn ofynnol
     scopes:
-      follow: addaswch berthnasau cyfrif
-      push: derbyniwch eich hysbysiadau PUSH
-      read: darllenwch holl ddata eich cyfrif
-      read:accounts: gwelwch wybodaeth y cyfrif
-      read:blocks: gwlewch eich blociau
-      read:favourites: gwelwch eich ffefrynnau
-      read:filters: gwelwch eich hidlwyr
-      read:follows: gwelwch eich dilynwyr
-      read:lists: gwelwch eich rhestrau
-      read:notifications: gwelwch eich hysbysiadau
-      read:reports: gwelwch eich adroddiadau
-      read:statuses: gwelwch pob statws
-      write: addaswch ddata eich cyfri
-      write:accounts: addaswch eich proffil
-      write:blocks: blociwch gyfrifon a parthau
-      write:filters: crewch hidlwyr
-      write:follows: dilynwch bobl
-      write:lists: crëwch restrau
-      write:media: uwchlwythwch ffeiliau cyfryngau
-      write:mutes: tawelwch bobl a sgyrsiau
-      write:notifications: cliriwch eich hysbysiadau
+      follow: addasu perthnasau cyfrif
+      push: derbyn eich hysbysiadau PUSH
+      read: darllen holl ddata eich cyfrif
+      read:accounts: gweld gwybodaeth y cyfrif
+      read:blocks: gweld eich blociau
+      read:favourites: gweld eich ffefrynnau
+      read:filters: gweld eich hidlwyr
+      read:follows: gweld eich dilynwyr
+      read:lists: gweld eich rhestrau
+      read:mutes: gweld y rheini wedi'i tewi
+      read:notifications: gweld eich hysbysiadau
+      read:reports: gweld eich adroddiadau
+      read:search: edrych ar eich rhan
+      read:statuses: gweld pob statws
+      write: addasu holl ddata eich cyfri
+      write:accounts: addasu eich proffil
+      write:blocks: blocio cyfrifon a parthau
+      write:favourites: hoff dŵtiau
+      write:filters: creu hidlwyr
+      write:follows: dilyn pobl
+      write:lists: creu rhestrau
+      write:media: uwchlwytho ffeiliau cyfryngau
+      write:mutes: tawelu pobl a sgyrsiau
+      write:notifications: clirio eich hysbysiadau
+      write:reports: adrodd pobl eraill
+      write:statuses: cyhoeddi tŵt
diff --git a/config/locales/el.yml b/config/locales/el.yml
index fbd8a6461..8f718a849 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -177,6 +177,7 @@ el:
         create_domain_block: Ο/Η %{name} μπλόκαρε τον τομέα %{target}
         create_email_domain_block: Ο/Η %{name} έβαλε τον τομέα email %{target} σε μαύρη λίστα
         demote_user: Ο/Η %{name} υποβίβασε το χρήστη %{target}
+        destroy_custom_emoji: Ο/Η %{name} κατέστρεψε το emoji %{target}
         destroy_domain_block: Ο/Η %{name} ξεμπλόκαρε τον τομέα %{target}
         destroy_email_domain_block: Ο/Η %{name} έβαλε τον τομέα email %{target} σε λευκή λίστα
         destroy_status: Ο/Η %{name} αφαίρεσε την κατάσταση του/της %{target}
@@ -262,6 +263,8 @@ el:
         title: Αποκλεισμός νέου τομέα
       reject_media: Απόρριψη πολυμέσων
       reject_media_hint: Αφαιρεί τα τοπικά αποθηκευμένα αρχεία πολυμέσων και αποτρέπει τη λήψη άλλων στο μέλλον. Δεν έχει σημασία για τις αναστολές
+      reject_reports: Απόρριψη καταγγελιών
+      reject_reports_hint: Αγνόηση όσων καταγγελιών προέρχονται από αυτό τον τομέα. Δεν σχετίζεται με τις παύσεις
       severities:
         noop: Κανένα
         silence: Αποσιώπηση
@@ -366,6 +369,9 @@ el:
       hero:
         desc_html: Εμφανίζεται στην μπροστινή σελίδα. Συνίσταται τουλάχιστον 600x100px. Όταν λείπει, χρησιμοποιείται η μικρογραφία του κόμβου
         title: Εικόνα ήρωα
+      mascot:
+        desc_html: Εμφάνιση σε πολλαπλές σελίδες. Προτεινόμενο 293x205px τουλάχιστον. Αν δεν έχει οριστεί, χρησιμοποιεί την προεπιλεγμένη μασκότ
+        title: Εικόνα μασκότ
       peers_api_enabled:
         desc_html: Ονόματα τομέων που αυτός ο κόμβος έχει ήδη συναντήσει στο fediverse
         title: Δημοσίευση λίστας κόμβων που έχουν ανακαλυφθεί
@@ -574,6 +580,7 @@ el:
     resources: Πόροι
   generic:
     changes_saved_msg: Οι αλλαγές αποθηκεύτηκαν!
+    copy: Αντιγραφή
     save_changes: Αποθήκευσε τις αλλαγές
     validation_errors:
       one: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε το παρακάτω σφάλμα
@@ -914,6 +921,7 @@ el:
       tips: Συμβουλές
       title: Καλώς όρισες, %{name}!
   users:
+    follow_limit_reached: Δεν μπορείς να ακολουθήσεις περισσότερα από %{limit} άτομα
     invalid_email: Η διεύθυνση email είναι άκυρη
     invalid_otp_token: Άκυρος κωδικός πιστοποίησης 2 παραγόντων (2FA)
     otp_lost_help_html: Αν χάσεις και τα δύο, μπορείς να επικοινωνήσεις με τον/την %{email}
diff --git a/config/locales/es.yml b/config/locales/es.yml
index da8febd19..b11ff8761 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -48,6 +48,7 @@ es:
       other: Seguidores
     following: Siguiendo
     joined: Se unió el %{date}
+    link_verified_on: La propiedad de este vínculo fue verificada el %{date}
     media: Media
     moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
     network_hidden: Esta información no está disponible
@@ -120,13 +121,14 @@ es:
       moderation_notes: Notas de moderación
       most_recent_activity: Actividad más reciente
       most_recent_ip: IP más reciente
+      no_limits_imposed: Sin límites impuestos
       not_subscribed: No se está suscrito
       order:
         alphabetic: Alfabético
         most_recent: Más reciente
         title: Orden
       outbox_url: URL de bandeja de salida
-      perform_full_suspension: Performar suspensión completa
+      perform_full_suspension: Suspender
       profile_url: URL del perfil
       promote: Promocionar
       protocol: Protocolo
@@ -155,8 +157,10 @@ es:
         report: reportar
         targeted_reports: Reportes hechos sobre esta cuenta
       silence: Silenciar
+      silenced: Silenciado
       statuses: Estados
       subscribe: Suscribir
+      suspended: Susependido
       title: Cuentas
       unconfirmed_email: Correo electrónico sin confirmar
       undo_silenced: Des-silenciar
@@ -173,6 +177,7 @@ es:
         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_custom_emoji: "%{name} destruyó el emoji %{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}"
@@ -258,6 +263,8 @@ es:
         title: Nuevo bloque de dominio
       reject_media: Rechazar archivos multimedia
       reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones
+      reject_reports: Rechazar informes
+      reject_reports_hint: Ignore todos los reportes de este dominio. Irrelevante para suspensiones
       severities:
         noop: Ninguno
         silence: Silenciar
@@ -300,8 +307,13 @@ es:
       title: Invitaciones
     relays:
       add_new: Añadir un nuevo relés
+      delete: Borrar
       description_html: Un <strong>relés de federation</strong> es un servidor intermedio que intercambia grandes volúmenes de toots públicos entre servidores que se suscriben y publican en él. <strong>Puede ayudar a servidores pequeños y medianos a descubir contenido del fediverso</strong>, que de otra manera requeriría que los usuarios locales siguiesen manialmente a personas de servidores remotos.
+      disable: Deshabilitar
+      disabled: Deshabilitado
+      enable: Hablitar
       enable_hint: Una vez conectado, tu servidor se suscribirá a todos los toots públicos de este relés, y comenzará a enviar los toots públicos de este servidor hacia él.
+      enabled: Habilitado
       inbox_url: URL del relés
       pending: Esperando la aprobación del relés
       save_and_enable: Guardar y conectar
@@ -357,6 +369,9 @@ es:
       hero:
         desc_html: Mostrado en la página principal. Recomendable al menos 600x100px. Por defecto se establece a la miniatura de la instancia
         title: Imagen de portada
+      mascot:
+        desc_html: Mostrado en múltiples páginas. Se recomienda un tamaño mínimo de 293x205px. Cuando no se especifica, se muestra la mascota por defecto
+        title: Imagen de la mascota
       peers_api_enabled:
         desc_html: Nombres de dominio que esta instancia ha encontrado en el fediverso
         title: Publicar lista de instancias descubiertas
@@ -450,7 +465,7 @@ es:
     warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie!
     your_token: Tu token de acceso
   auth:
-    agreement_html: Al registrarte, acepta seguir <a href="%{rules_path}">las reglas de la instancia</a> y <a href="%{terms_path}">nuestros términos de servicio</a>.
+    agreement_html: Al hacer click en "Registrarse" acepta seguir <a href="%{rules_path}">las reglas de la instancia</a> y <a href="%{terms_path}">nuestros términos de servicio</a>.
     change_password: Contraseña
     confirm_email: Confirmar email
     delete_account: Borrar cuenta
@@ -565,6 +580,7 @@ es:
     resources: Recursos
   generic:
     changes_saved_msg: "¡Cambios guardados con éxito!"
+    copy: Copiar
     save_changes: Guardar cambios
     validation_errors:
       one: "¡Algo no está bien! Por favor, revisa el error"
@@ -821,8 +837,12 @@ es:
       tips: Tips
       title: Te damos la bienvenida a bordo, %{name}!
   users:
+    follow_limit_reached: No puedes seguir a más de %{limit} personas
     invalid_email: La dirección de correo es incorrecta
     invalid_otp_token: Código de dos factores incorrecto
     otp_lost_help_html: Si perdiste al acceso a ambos, puedes ponerte en contancto con %{email}
     seamless_external_login: Has iniciado sesión desde un servicio externo, así que los ajustes de contraseña y correo no están disponibles.
     signed_in_as: 'Sesión iniciada como:'
+  verification:
+    explanation_html: 'Puedes <strong> verificarte a ti mismo como el dueño de los links en los metadatos de tu perfil </strong>. Para eso, el sitio vinculado debe contener un vínculo a tu perfil de Mastodon. El vínculo en tu sitio <strong> debe </strong> tener un atributo <code> rel="me"</code>. El texto del vínculo no importa. Aquí un ejemplo:'
+    verification: Verificación
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index f0ddb6adb..206b439b0 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -48,6 +48,7 @@ eu:
       other: jarraitzaile
     following: Jarraitzen
     joined: "%{date}(e)an elkartua"
+    link_verified_on: 'Esteka honen jabetzaren egiaztaketa data: %{date}'
     media: Multimedia
     moved_html: "%{name} hona lekualdatu da %{new_profile_link}:"
     network_hidden: Informazio hau ez dago eskuragarri
@@ -120,13 +121,14 @@ eu:
       moderation_notes: Moderazio oharrak
       most_recent_activity: Azken jarduera
       most_recent_ip: Azken IP-a
+      no_limits_imposed: Ez da mugarik ezarri
       not_subscribed: Harpidetu gabe
       order:
         alphabetic: Alfabetikoa
         most_recent: Azkena
         title: Ordena
       outbox_url: Irteera ontziaren URL-a
-      perform_full_suspension: Aplikatu kanporatze osoa
+      perform_full_suspension: Kanporatu
       profile_url: Profilaren URL-a
       promote: Sustatu
       protocol: Protokoloa
@@ -155,8 +157,10 @@ eu:
         report: salatu
         targeted_reports: Kontu honek egindako salaketak
       silence: Isilarazi
+      silenced: Isilarazita
       statuses: Mezuak
       subscribe: Harpidetu
+      suspended: Kanporatuta
       title: Kontuak
       unconfirmed_email: Baieztatu gabeko e-mail helbidea
       undo_silenced: Utzi isilarazteari
@@ -173,6 +177,7 @@ eu:
         create_domain_block: "%{name}(e)k %{target} domeinua blokeatu du"
         create_email_domain_block: "%{name}(e)k %{target} e-mail helbideen domeinua zerrenda beltzean sartu du"
         demote_user: "%{name}(e)k %{target} mailaz jaitsi du"
+        destroy_custom_emoji: "%{name} erabiltzaileak %{target} emojia suntsitu du"
         destroy_domain_block: "%{name}(e)k %{target} domeinua desblokeatu du"
         destroy_email_domain_block: "%{name}(e)k %{target} e-mail helbideen domeinua zerrenda zurian sartu du"
         destroy_status: "%{name}(e)k %{target}(e)n egoera kendu du"
@@ -258,6 +263,8 @@ eu:
         title: Domeinu blokeo berria
       reject_media: Ukatu multimedia fitxategiak
       reject_media_hint: Lokalki gordetako multimedia fitxategiak ezabatzen ditu eta etorkizunean fitxategi berriak deskargatzeari uko egingo dio. Ez du garrantzirik kanporaketetan
+      reject_reports: Errefusatu salaketak
+      reject_reports_hint: Ezikusi domeinu honetatik jasotako salaketak. Kanporatzeentzako garrantzirik gabekoa
       severities:
         noop: Bat ere ez
         silence: Isilarazi
@@ -300,8 +307,13 @@ eu:
       title: Gonbidapenak
     relays:
       add_new: Gehitu hari berria
+      delete: Ezabatu
       description_html: "<strong>Federazio errele</strong> bat zerbitzari tartekari bat da, bertara harpidetutako eta bertan argitaratzen duten zerbitzarien artean toot publiko kopuru handiak banatzen ditu. <strong>Zerbitzari txiki eta ertainei Fedibertsoko edukia aurkitzen laguntzen die</strong>, bestela erabiltzaile lokalek eskuz jarraitu beharko lituzkete urruneko zerbitzarietako erabiltzaileak."
+      disable: Desgaitu
+      disabled: Desgaituta
+      enable: Gaitu
       enable_hint: Behin gaituta, zure zerbitzaria errele honetako toot publiko guztietara harpidetuko da, eta zerbitzari honetako toot publikoak errelera bidaltzen hasiko da.
+      enabled: Gaituta
       inbox_url: Errelearen URLa
       pending: Erreleak onartzearen zain
       save_and_enable: Gorde eta gaitu
@@ -357,6 +369,9 @@ eu:
       hero:
         desc_html: Azaleko orrian bistaratua. Gutxienez 600x100px aholkatzen da. Ezartzen ez bada, instantziaren irudia hartuko du
         title: Azaleko irudia
+      mascot:
+        desc_html: Hainbat orritan bistaratua. Gutxienez 293x205px aholkatzen da. Ezarri ezean lehenetsitako maskota erakutsiko da
+        title: Maskotaren irudia
       peers_api_enabled:
         desc_html: Instantzia honek fedibertsuan aurkitutako domeinu-izenak
         title: Argitaratu aurkitutako instantzien zerrenda
@@ -450,7 +465,7 @@ eu:
     warning: Kontuz datu hauekin, ez partekatu inoiz inorekin!
     your_token: Zure sarbide token-a
   auth:
-    agreement_html: Izena emanez<a href="%{rules_path}">instantziaren arauak</a> eta <a href="%{terms_path}">erabilera baldintzak</a> onartzen dituzu.
+    agreement_html: '"Izena eman" botoia sakatzean <a href="%{rules_path}">instantziaren arauak</a> eta <a href="%{terms_path}">erabilera baldintzak</a> onartzen dituzu.'
     change_password: Pasahitza
     confirm_email: Berretsi e-mail helbidea
     delete_account: Ezabatu kontua
@@ -565,6 +580,7 @@ eu:
     resources: Baliabideak
   generic:
     changes_saved_msg: Aldaketak ongi gorde dira!
+    copy: Kopiatu
     save_changes: Gorde aldaketak
     validation_errors:
       one: Zerbait ez dabil ongi! Egiaztatu beheko errorea mesedez
@@ -906,8 +922,12 @@ eu:
       tips: Aholkuak
       title: Ongi etorri, %{name}!
   users:
+    follow_limit_reached: Ezin dituzu %{limit} pertsona baino gehiago jarraitu
     invalid_email: E-mail helbidea baliogabea da
     invalid_otp_token: Bi faktoreetako kode baliogabea
     otp_lost_help_html: 'Bietara sarbidea galdu baduzu, jarri kontaktuan hemen: %{email}'
     seamless_external_login: Kanpo zerbitzu baten bidez hasi duzu saioa, beraz pasahitza eta e-mail ezarpenak ez daude eskuragarri.
     signed_in_as: 'Saioa honela hasita:'
+  verification:
+    explanation_html: 'Ezin duzu <strong>zure burua zure profileko metadatuen esteken jabe gisa egiaztatu</strong>. Horretarako, estekatutako webgunean zure Mastodon profilera daraman esteka bat egon behar du. Mastodonera daraman esteka horrek<strong>derrigorrez</strong> <code>rel="me"</code> artibutua izan behar du . Estekaren testuak ez du axola. Hona adibide bat:'
+    verification: Egiaztaketa
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index a9cf5868f..4209a2c00 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -31,9 +31,9 @@ fa:
     privacy_policy: سیاست رازداری
     source_code: کدهای منبع
     status_count_after:
-      one: نوشته
-      other: نوشته
-    status_count_before: که جمعاً
+      one: چیز نوشته‌اند
+      other: چیز نوشته‌اند
+    status_count_before: که در کنار هم
     terms: شرایط کاربری
     user_count_after:
       one: کاربر
@@ -48,6 +48,7 @@ fa:
       other: پیگیر
     following: پی می‌گیرد
     joined: کاربر از %{date}
+    link_verified_on: مالکیت این نشانی در تاریخ %{date} بررسی شد
     media: عکس و ویدیو
     moved_html: "%{name} حساب خود را به %{new_profile_link} منتقل کرده است:"
     network_hidden: این اطلاعات در دسترس نیست
@@ -120,13 +121,14 @@ fa:
       moderation_notes: یادداشت مدیر
       most_recent_activity: آخرین فعالیت‌ها
       most_recent_ip: آخرین IP ها
+      no_limits_imposed: بدون محدودیت
       not_subscribed: عضو نیست
       order:
         alphabetic: الفبایی
         most_recent: تازه‌ترین‌ها
         title: ترتیب
       outbox_url: نشانی صندوق خروجی
-      perform_full_suspension: انجام تعلیق کامل
+      perform_full_suspension: تعلیق
       profile_url: نشانی نمایه
       promote: ترفیع‌دادن
       protocol: پروتکل
@@ -155,8 +157,10 @@ fa:
         report: گزارش
         targeted_reports: گزارش‌ها دربارهٔ این حساب
       silence: بی‌صدا
+      silenced: بی‌صداشده
       statuses: نوشته‌ها
       subscribe: اشتراک
+      suspended: تعلیق‌شده
       title: حساب‌ها
       unconfirmed_email: ایمیل تأییدنشده
       undo_silenced: واگردانی بی‌صداکردن
@@ -173,6 +177,7 @@ fa:
         create_domain_block: "%{name} دامین %{target} را مسدود کرد"
         create_email_domain_block: "%{name} دامین ایمیل %{target} را مسدود کرد"
         demote_user: "%{name} مقام کاربر %{target} را تنزل داد"
+        destroy_custom_emoji: "%{name} شکلک %{target} را حذف کرد"
         destroy_domain_block: "%{name} دامین %{target} را باز کرد"
         destroy_email_domain_block: "%{name} دامین ایمیل %{target} را باز کرد"
         destroy_status: "%{name} نوشته‌ای از %{target} را پاک کرد"
@@ -258,6 +263,8 @@ fa:
         title: مسدودسازی دامین دیگر
       reject_media: نپذیرفتن پرونده‌های تصویری
       reject_media_hint: تصویرهای ذخیره‌شده در این‌جا را پاک می‌کند و جلوی دریافت تصویرها را در آینده می‌گیرد. بی‌تأثیر برای معلق‌شده‌ها
+      reject_reports: نپذیرفتن گزارش‌ها
+      reject_reports_hint: گزارش‌هایی را که از این دامین می‌آید نادیده می‌گیرد. بی‌تأثیر برای معلق‌شده‌ها
       severities:
         noop: هیچ
         silence: بی‌صداکردن
@@ -300,8 +307,13 @@ fa:
       title: دعوت‌ها
     relays:
       add_new: افزودن رلهٔ تازه
+      delete: حذف
       description_html: یک <strong>رلهٔ میان‌سروری</strong> (federation relay) یک سرور میانجی است که حجم زیادی از بوق‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. <strong>رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند.</strong> اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند.
+      disable: غیرفعال‌کردن
+      disabled: غیرفعال
+      enable: فعال‌سازی
       enable_hint: اگر فعال باشد، سرور شما عضو همهٔ بوق‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و بوق‌های عمومی این سرور را به آن می‌فرستند.
+      enabled: فعال
       inbox_url: نشانی رله
       pending: در انتظار پذیرش رله
       save_and_enable: ذخیره و فعال‌سازی
@@ -357,6 +369,9 @@ fa:
       hero:
         desc_html: در صفحهٔ آغازین نمایش می‌یابد. دست‌کم ۶۰۰×۱۰۰ پیکسل توصیه می‌شود. اگر تعیین نشود، با تصویر بندانگشتی سرور جایگزین خواهد شد
         title: تصویر سربرگ
+      mascot:
+        desc_html: در صفحه‌های گوناگونی نمایش می‌یابد. دست‌کم ۲۹۳×۲۰۵ پیکسل. اگر تعیین نشود، با تصویر پیش‌فرض جایگزین خواهد شد
+        title: تصویر نماد
       peers_api_enabled:
         desc_html: دامین‌هایی که این سرور به آن‌ها برخورده است
         title: انتشار فهرست سرورهای یافته‌شده
@@ -450,7 +465,7 @@ fa:
     warning: خیلی مواظب این اطلاعات باشید و آن را به هیچ کس ندهید!
     your_token: کد دسترسی شما
   auth:
-    agreement_html: پیش از عضو شدن باید <a href="%{rules_path}">قوانین این سرور</a> و <a href="%{terms_path}">شرایط استفادهٔ</a> ما را بپذیرید.
+    agreement_html: با کلیک روی دکمهٔ عضو شدن، شما <a href="%{rules_path}">قوانین این سرور</a> و <a href="%{terms_path}">شرایط استفادهٔ</a> ما را می‌پذیرید.
     change_password: رمز
     confirm_email: تأیید ایمیل
     delete_account: پاک‌کردن حساب
@@ -565,6 +580,7 @@ fa:
     resources: منابع
   generic:
     changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
+    copy: رونوشت
     save_changes: ذخیرهٔ تغییرات
     validation_errors:
       one: یک چیزی هنوز درست نیست! لطفاً خطاهای زیر را ببینید
@@ -825,8 +841,12 @@ fa:
       tips: نکته‌ها
       title: خوش آمدید، کاربر %{name}!
   users:
+    follow_limit_reached: شما نمی‌توانید بیش از %{limit} نفر را پی بگیرید
     invalid_email: نشانی ایمیل نامعتبر است
     invalid_otp_token: کد ورود دومرحله‌ای نامعتبر است
     otp_lost_help_html: اگر شما دسترسی به هیچ‌کدامشان ندارید، باید با ایمیل %{email} تماس بگیرید
     seamless_external_login: شما با یک سرویس خارج از مجموعه وارد شده‌اید، به همین دلیل تنظیمات ایمیل و رمز برای شما در دسترس نیست.
     signed_in_as: 'واردشده به نام:'
+  verification:
+    explanation_html: 'شما می‌توانید <strong>خود را به عنوان مالک صفحه‌ای که در نمایه‌تان به آن پیوند داده‌اید تأیید کنید.</strong> برای این کار، صفحه‌ای که به آن پیوند داده‌اید، خودش باید پیوندی به نمایهٔ ماستدون شما داشته باشد. پیوند در آن صفحه <strong>باید</strong> عبارت <code>rel="me"</code> را به عنوان attribute در خود داشته باشد. محتوای متن پیوند اهمتی ندارد. یک نمونه از چنین پیوندی:'
+    verification: تأیید
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index e62931129..c90490212 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -707,7 +707,7 @@ fi:
       edit_profile_step: Voit mukauttaa profiiliasi lataamalla profiilikuvan ja otsakekuvan, muuttamalla näyttönimeäsi ym. Jos haluat hyväksyä uudet seuraajat ennen kuin he voivat seurata sinua, voit lukita tilisi.
       explanation: Näillä vinkeillä pääset alkuun
       final_action: Ala julkaista
-      final_step: 'Ala julkaista! Vaikkei sinulla olisi seuraajia, monet voivat nähdä julkiset viestisi esimerkiksi paikallisella aikajanalla ja hashtagien avulla. Kannattaa esittäytyä! Käytä hashtagia #introductions. (Jos haluat esittäytyä myös suomeksi, se kannattaa tehdä erillisessä tuuttauksessa ja käyttää hashtagia #esittely.)'
+      final_step: 'Ala julkaista! Vaikkei sinulla olisi seuraajia, monet voivat nähdä julkiset viestisi esimerkiksi paikallisella aikajanalla ja hashtagien avulla. Kannattaa esittäytyä! Käytä hashtagia #introductions. (Jos haluat esittäytyä myös suomeksi, se kannattaa tehdä erillisessä tuuttauksessa ja käyttää hashtagia #esittely.).'
       full_handle: Koko käyttäjätunnuksesi
       full_handle_hint: Kerro tämä ystävillesi, niin he voivat lähettää sinulle viestejä tai löytää sinut toisen instanssin kautta.
       review_preferences_action: Muuta asetuksia
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index f0eaf8d3f..e3128b569 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -128,7 +128,7 @@ fr:
         most_recent: Plus récent
         title: Tri
       outbox_url: URL de sortie
-      perform_full_suspension: Effectuer une suspension complète
+      perform_full_suspension: Suspendre
       profile_url: URL du profil
       promote: Promouvoir
       protocol: Protocole
@@ -177,6 +177,7 @@ fr:
         create_domain_block: "%{name} a bloqué le domaine %{target}"
         create_email_domain_block: "%{name} a mis le domaine du courriel %{target} sur liste noire"
         demote_user: "%{name} a rétrogradé l’utilisateur·ice %{target}"
+        destroy_custom_emoji: "%{name} a détruit l'émoticône %{target}"
         destroy_domain_block: "%{name} a débloqué le domaine %{target}"
         destroy_email_domain_block: "%{name} a mis le domaine du courriel %{target} sur liste blanche"
         destroy_status: "%{name} a enlevé le statut de %{target}"
@@ -262,6 +263,8 @@ fr:
         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_reports: Rapports de rejet
+      reject_reports_hint: Ignorez tous les rapports provenant de ce domaine. Sans objet pour les suspensions
       severities:
         noop: Aucune
         silence: Masquer
@@ -366,6 +369,9 @@ fr:
       hero:
         desc_html: Affichée sur la page d’accueil. Au moins 600x100px recommandé. Lorsqu’elle n’est pas définie, se rabat sur la vignette de l’instance
         title: Image d’en-tête
+      mascot:
+        desc_html: Affiché sur plusieurs pages. Au moins 293×205px recommandé. Lorsqu'il n'est pas défini, retombe à la mascotte par défaut
+        title: Image de la mascotte
       peers_api_enabled:
         desc_html: Noms des domaines que cette instance a découvert dans le fediverse
         title: Publier la liste des instances découvertes
@@ -574,6 +580,7 @@ fr:
     resources: Ressources
   generic:
     changes_saved_msg: Les modifications ont été enregistrées avec succès !
+    copy: Copier
     save_changes: Enregistrer les modifications
     validation_errors:
       one: Quelque chose ne va pas ! Vérifiez l’erreur ci-dessous
@@ -915,6 +922,7 @@ fr:
       tips: Astuces
       title: Bienvenue à bord, %{name} !
   users:
+    follow_limit_reached: Vous ne pouvez pas suivre plus de %{limit} personnes
     invalid_email: L’adresse courriel est invalide
     invalid_otp_token: Le code d’authentification à deux facteurs est invalide
     otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email}
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 44eda815b..9c5144d97 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -22,7 +22,7 @@ gl:
       not_a_product_title: Vostede é unha persoa, non un producto
       real_conversation_body: Con 500 caracteres a súa disposición, soporte para contido polo miúdo e avisos sobre o contido, pode expresarse vostede con libertade.
       real_conversation_title: Construído para conversacións reais
-      within_reach_body: Existen múltiples aplicativos para iOS, Android e outras plataformas grazas a un entorno API amigable para o desenvolvedor que lle permite estar ao tanto cos seus amigos en calquer lugar.
+      within_reach_body: Existen múltiples aplicacións para iOS, Android e outras plataformas grazas a un entorno API amigable para o desenvolvedor que lle permite estar ao tanto cos seus amigos en calquer lugar.
       within_reach_title: Sempre en contacto
     generic_description: "%{domain} é un servidor na rede"
     hosted_on: Mastodon aloxado en %{domain}
@@ -128,7 +128,7 @@ gl:
         most_recent: Máis recente
         title: Orde
       outbox_url: URL caixa de saída
-      perform_full_suspension: Suspender completamente
+      perform_full_suspension: Suspender
       profile_url: URL do perfil
       promote: Promocionar
       protocol: Protocolo
@@ -177,6 +177,7 @@ gl:
         create_domain_block: "%{name} bloqueou o dominio %{target}"
         create_email_domain_block: "%{name} engadeu a lista negra o dominio de correo %{target}"
         demote_user: "%{name} degradou a usuaria %{target}"
+        destroy_custom_emoji: "%{name} destruíu emoji %{target}"
         destroy_domain_block: "%{name} desbloqueou o dominio %{target}"
         destroy_email_domain_block: "%{name} meteu na lista blanca de correo o dominio %{target}"
         destroy_status: "%{name} eliminou o estado de %{target}"
@@ -262,6 +263,8 @@ gl:
         title: Novo bloqueo de dominio
       reject_media: Rexeitar ficheiros de medios
       reject_media_hint: Eliminar ficheiros de medios almacenados localmente e rexeita descargalos no futuro. Irrelevante para as suspensións
+      reject_reports: Rexeitar informes
+      reject_reports_hint: Ignorar todos os informes procedentes de este dominio. Irrelevante para as suspensións
       severities:
         noop: Ningún
         silence: Silenciar
@@ -366,6 +369,9 @@ gl:
       hero:
         desc_html: Mostrado na portada. Recoméndase 600x100px como mínimo. Si non se establece, mostrará a imaxe por omisión da instancia
         title: Imáxe Heróe
+      mascot:
+        desc_html: Mostrado en varias páxinas. Recoméndase 293x205 como mínimo. Se non se establece publícase a mascota por omisión
+        title: Imaxe da mascota
       peers_api_enabled:
         desc_html: Nome de dominio que esta instancia atopou no fediverso
         title: Publicar lista de instancias descubertas
@@ -470,7 +476,7 @@ gl:
     login: Conectar
     logout: Desconectar
     migrate_account: Mover a unha conta diferente
-    migrate_account_html: Si desexa redirixir esta conta hacia outra diferente, pode <a href="%{path}">configuralo aquí</a>.
+    migrate_account_html: Se desexa redirixir esta conta hacia outra diferente, pode <a href="%{path}">configuralo aquí</a>.
     or: ou
     or_log_in_with: ou conectar con
     providers:
@@ -574,6 +580,7 @@ gl:
     resources: Recursos
   generic:
     changes_saved_msg: Cambios gardados correctamente!!
+    copy: Copiar
     save_changes: Gardar cambios
     validation_errors:
       one: Algo non está ben de todo! Por favor revise abaixo o erro
@@ -734,7 +741,7 @@ gl:
     revoke_success: A sesión revocouse con éxito
     title: Sesións
   settings:
-    authorized_apps: Apps autorizados
+    authorized_apps: Apps autorizadas
     back: Voltar a Mastodon
     delete: Eliminación da conta
     development: Desenvolvemento
@@ -747,7 +754,7 @@ gl:
     preferences: Preferencias
     settings: Axustes
     two_factor_authentication: Validar Doble Factor
-    your_apps: Os seus aplicativos
+    your_apps: As súas aplicacións
   statuses:
     attached:
       description: 'Axenado: %{attached}'
@@ -914,6 +921,7 @@ gl:
       tips: Consellos
       title: Benvida, %{name}!
   users:
+    follow_limit_reached: Non pode seguir a máis de %{limit} persoas
     invalid_email: O enderezo de correo non é válido
     invalid_otp_token: Código de doble-factor non válido
     otp_lost_help_html: Si perde o acceso a ambos, pode contactar con %{email}
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 92d11f0d8..faa52fabc 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -420,7 +420,7 @@ hu:
     save_changes: Változások mentése
     validation_errors:
       one: Valami nincs rendjén! Kérlek tekintsd meg a hibát alant
-      other: Valami nincs rendjén! Kérlek tekintsd meg a %{count} darab hibát alant.
+      other: Valami nincs rendjén! Kérlek tekintsd meg a %{count} darab hibát alant
   imports:
     preface: Itt importálhatod egy másik instanciáról lementett adataidat, például követettjeid és letiltott felhasználóid listáját.
     success: Adataidat sikeresen feltöltöttük és feldolgozásukat megkezdtük
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 8595fad99..38b08a257 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -18,7 +18,9 @@ id:
     nothing_here: Tidak ada apapun disini!
     people_followed_by: Orang yang diikuti %{name}
     people_who_follow: Orang-orang yang mengikuti %{name}
-    posts: Postingan
+    posts:
+      one: Toot
+      other: Toots
     unfollow: Berhenti mengikuti
   admin:
     accounts:
@@ -182,7 +184,7 @@ id:
     '410': Halaman yang anda cari sudah tidak dapat ditemukan lagi.
     '422':
       content: Verifikasi keamanan gagal. Apa anda memblokir cookie?
-      title: Verifikasi keamanan gagal.
+      title: Verifikasi keamanan gagal
   exports:
     blocks: Anda blokir
     csv: CSV
diff --git a/config/locales/io.yml b/config/locales/io.yml
index d07997663..0c1e6520b 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -185,11 +185,11 @@ io:
     changes_saved_msg: Chanji senprobleme konservita!
     save_changes: Konservar la chanji
     validation_errors:
-      one: Ulo ne eventis senprobleme! Voluntez konsultar la suba eror-raporto.
-      other: Ulo ne eventis senprobleme! Voluntez konsultar la suba %{count} eror-raporti.
+      one: Ulo ne eventis senprobleme! Voluntez konsultar la suba eror-raporto
+      other: Ulo ne eventis senprobleme! Voluntez konsultar la suba %{count} eror-raporti
   imports:
     preface: Tu povas importacar kelka datumi, tal quala listi de omna homi quin tu sequas o blokusas, a tua konto di ca instaluro, per dosiero exportacita de altra instaluro.
-    success: Tua datumi esis senprobleme importacita ed esos traktita quale projetita.
+    success: Tua datumi esis senprobleme importacita ed esos traktita quale projetita
     types:
       blocking: Listo de blokusiti
       following: Listo de sequati
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 6a831ab2c..4fffded5f 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -30,7 +30,9 @@ it:
     other_instances: Elenco istanze
     privacy_policy: Policy su la Privacy
     source_code: Codice sorgente
-    status_count_after: stati
+    status_count_after:
+      one: status
+      other: status
     status_count_before: Che hanno pubblicato
     terms: Termini di Servizio
     user_count_after:
@@ -46,6 +48,7 @@ it:
       other: Seguaci
     following: Segui
     joined: Dal %{date}
+    link_verified_on: La proprietà di questo link è stata controllata il %{date}
     media: Media
     moved_html: "%{name} è stato spostato su %{new_profile_link}:"
     network_hidden: Questa informazione non e' disponibile
@@ -118,13 +121,14 @@ it:
       moderation_notes: Note di moderazione
       most_recent_activity: Attività più recenti
       most_recent_ip: IP più recenti
+      no_limits_imposed: Nessun limite imposto
       not_subscribed: Non sottoscritto
       order:
         alphabetic: Alfabetico
         most_recent: Più recente
         title: Ordine
       outbox_url: URL outbox
-      perform_full_suspension: Esegui sospensione completa
+      perform_full_suspension: Sospendi
       profile_url: URL profilo
       promote: Promuovi
       protocol: Protocollo
@@ -153,8 +157,10 @@ it:
         report: segnala
         targeted_reports: Rapporti che riguardano questo account
       silence: Silenzia
+      silenced: Silenziato
       statuses: Stati
       subscribe: Sottoscrivi
+      suspended: Sospeso
       title: Account
       unconfirmed_email: Email non confermata
       undo_silenced: Rimuovi silenzia
@@ -171,6 +177,7 @@ it:
         create_domain_block: "%{name} ha bloccato il dominio %{target}"
         create_email_domain_block: "%{name} ha messo il dominio email %{target} nella blacklist"
         demote_user: "%{name} ha degradato l'utente %{target}"
+        destroy_custom_emoji: "%{name} ha distrutto l'emoji %{target}"
         destroy_domain_block: "%{name} ha sbloccato il dominio %{target}"
         destroy_email_domain_block: "%{name}ha messo il dominio email %{target} nella whitelist"
         destroy_status: "%{name} ha eliminato lo status di %{target}"
@@ -249,12 +256,15 @@ it:
         create: Crea blocco
         hint: Il blocco dominio non previene la creazione di utenti nel database, ma applicherà automaticamente e retroattivamente metodi di moderazione specifici su quegli account.
         severity:
+          desc_html: "<strong>Silenzia</strong> rende i post di questo account invisibili a chiunque non lo stia seguendo. <strong>Sospendi</strong> elimina tutti i contenuti, media e dati del profilo dell'account. Usa <strong>Nessuno</strong> se vuoi solo bloccare i file media."
           noop: Nessuno
           silence: Silenzia
           suspend: Sospendi
         title: Nuovo blocco dominio
       reject_media: Rifiuta file media
       reject_media_hint: Rimuovi i file media salvati in locale e blocca i download futuri. Irrilevante per le sospensioni
+      reject_reports: Respingi rapporti
+      reject_reports_hint: Ignora tutti i rapporti provenienti da questo dominio. Irrilevante per sospensioni
       severities:
         noop: Nessuno
         silence: Silenzia
@@ -279,6 +289,7 @@ it:
       domain: Dominio
       new:
         create: Aggiungi dominio
+        title: Nuova voce della lista nera delle email
       title: Lista nera email
     instances:
       account_count: Accounts conosciuti
@@ -296,13 +307,22 @@ it:
       title: Inviti
     relays:
       add_new: Aggiungi ripetitore
+      delete: Cancella
       description_html: Un <strong>ripetitore di federazione</strong> è un server che fa da intermediario e scambia grandi quantità di toot pubblici tra server che si collegano e pubblicano su di esso. <strong>Può aiutare server piccoli e medi a ottenere contenuti dal fediverse</strong>, che altrimenti riceverebbero solo se i loro utenti locali seguissero altre persone su server remoti.
+      disable: Disabilita
+      disabled: Disabilitato
+      enable: Abilita
       enable_hint: Dopo l'attivazione, il vostro server riceverà tutti i toot pubblici da questo ripetitore, e inizierà a inviargli i suoi toot pubblici.
+      enabled: Abilitato
       inbox_url: Url Relay
       pending: In attesa dell'approvazione del ripetitore
       save_and_enable: Salva e attiva
       setup: Crea una connessione con un ripetitore
+      status: Status
       title: Ripetitori
+    report_notes:
+      created_msg: Nota rapporto creata!
+      destroyed_msg: Nota rapporto cancellata!
     reports:
       account:
         note: note
@@ -313,6 +333,7 @@ it:
       assigned: Moderatore assegnato
       comment:
         none: Nessuno
+      created_at: Segnalato
       mark_as_resolved: Segna come risolto
       mark_as_unresolved: Segna come non risolto
       notes:
@@ -320,10 +341,13 @@ it:
         create_and_resolve: Risolvi con nota
         create_and_unresolve: Riapri con nota
         delete: Elimina
+        placeholder: Descrivi quali azioni sono state intraprese, o ogni altro aggiornamento rilevante...
       reopen: Riapri rapporto
       report: 'Rapporto #%{id}'
+      reported_account: Account segnalato
       reported_by: Inviato da
       resolved: Risolto
+      resolved_msg: Rapporto risolto!
       status: Stato
       title: Rapporti
       unassign: Non assegnare
@@ -334,15 +358,25 @@ it:
         desc_html: Conteggi degli status pubblicati localmente, degli utenti attivi e delle nuove registrazioni in gruppi settimanali
         title: Pubblica statistiche aggregate circa l'attività dell'utente
       bootstrap_timeline_accounts:
+        desc_html: Separa i nomi utente con virgola. Funziona solo con account locali e non bloccati. Quando vuoto, valido per tutti gli amministratori locali.
         title: Seguiti predefiniti per i nuovi utenti
       contact_information:
         username: Nome utente del contatto
       custom_css:
         desc_html: Modifica l'aspetto con il CSS caricato in ogni pagina
         title: CSS personalizzato
+      hero:
+        desc_html: Mostrata nella pagina iniziale. Almeno 600x100 px consigliati. Se non impostata, sarà usato il thumbnail dell'istanza
+        title: Immagine dell'eroe
+      mascot:
+        desc_html: Mostrata su più pagine. Almeno 293×205px consigliati. Se non impostata, sarò usata la mascotte predefinita
+        title: Immagine della mascotte
       peers_api_enabled:
         desc_html: Nomi di dominio che questa istanza ha incontrato nella fediverse
         title: Pubblica elenco di istanze scoperte
+      preview_sensitive_media:
+        desc_html: Le anteprime dei link su altri siti mostreranno un thumbnail anche se il media è segnato come sensibile
+        title: Mostra media sensibili nella anteprime OpenGraph
       registrations:
         closed_message:
           desc_html: Mostrato nella pagina iniziale quando le registrazioni sono chiuse. Puoi usare tag HTML
@@ -362,12 +396,21 @@ it:
       show_staff_badge:
         title: Mostra badge staff
       site_description:
+        desc_html: Paragrafo introduttivo nella pagina iniziale. Descrive ciò che rende speciale questo server Mastodon e qualunque altra cosa sia importante dire. Potete usare marcatori HTML, in particolare <code>&lt;a&gt;</code> e <code>&lt;em&gt;</code>.
         title: Descrizione istanza
+      site_description_extended:
+        desc_html: Un posto adatto per pubblicare regole di comportamento, linee guida e altre cose specifiche della vostra istanza. Potete usare marcatori HTML
+        title: Informazioni estese personalizzate
       site_short_description:
+        desc_html: Mostrato nella barra laterale e nei tag meta. Descrive in un paragrafo che cos'è Mastodon e che cosa rende questo server speciale. Se vuoto, sarà usata la descrizione predefinita dell'istanza.
         title: Breve descrizione dell'istanza
       site_terms:
+        desc_html: Potete scrivere la vostra politica sulla privacy, condizioni del servizio o altre informazioni legali. Potete usare tag HTML
         title: Termini di servizio personalizzati
       site_title: Nome istanza
+      thumbnail:
+        desc_html: Usato per anteprime tramite OpenGraph e API. 1200x630px consigliati
+        title: Thumbnail dell'istanza
       timeline_preview:
         desc_html: Mostra la timeline pubblica sulla pagina iniziale
         title: Anteprima timeline
@@ -382,6 +425,7 @@ it:
       media:
         title: Media
       no_media: Nessun media
+      no_status_selected: Nessun status è stato modificato perché nessuno era stato selezionato
       title: Gli status dell'account
       with_media: con media
     subscriptions:
@@ -389,6 +433,12 @@ it:
       confirmed: Confermato
       expires_in: Scade in
       topic: Argomento
+    suspensions:
+      bad_acct_msg: Il valore di conferma non corrisponde. Stai sospendendo l'account giusto?
+      hint_html: 'Per confermare la sospensione dell''account, inserisci %{value} nel campo qui sotto:'
+      proceed: Continua
+      title: Sospendi %{acct}
+      warning_html: 'La sospensione dell''account comporta la cancellazione <strong>irreversibile</strong> dei suoi dati, che comprendono:'
     title: Amministrazione
   application_mailer:
     notification_preferences: Cambia preferenze email
@@ -433,6 +483,7 @@ it:
     post_follow:
       close: Oppure puoi chiudere questa finestra.
       return: Mostra il profilo dell'utente
+      web: Vai al web
     title: Segui %{acct}
   datetime:
     distance_in_words:
@@ -498,14 +549,17 @@ it:
     domain: Dominio
     explanation_html: Se vuoi garantire la privacy dei tuoi status, devi sapere chi ti sta seguendo. <strong>I tuoi status privati vengono inviati a tutte le istanze su cui hai dei seguaci</strong>. Puoi controllare chi sono i tuoi seguaci, ed eliminarli se non hai fiducia che la tua privacy venga rispettata dallo staff o dal software di quelle istanze.
     followers_count: Numero di seguaci
+    lock_link: Blocca il tuo account
     purge: Elimina dai seguaci
     true_privacy_html: Tieni presente che <strong>l'effettiva riservatezza si può ottenere solo con la crittografia end-to-end</strong>.
     unlocked_warning_html: Chiunque può seguirti per vedere immediatamente i tuoi status privati. %{lock_link} per poter esaminare e respingere gli utenti che vogliono seguirti.
+    unlocked_warning_title: Il tuo account non è bloccato
   footer:
     developers: Sviluppatori
     more: Altro…
   generic:
     changes_saved_msg: Modifiche effettuate con successo!
+    copy: Copia
     save_changes: Salva modifiche
     validation_errors:
       one: Qualcosa ancora non va bene! Per favore, controlla l'errore qui sotto
@@ -617,6 +671,9 @@ it:
     no_account_html: Non hai un account? Puoi <a href='%{sign_up_path}' target='_blank'>iscriverti qui</a>
     proceed: Conferma
     prompt: 'Stai per seguire:'
+  remote_interaction:
+    proceed: Continua per interagire
+    prompt: 'Vuoi interagire con questo toot:'
   remote_unfollow:
     error: Errore
     title: Titolo
@@ -626,13 +683,29 @@ it:
     browsers:
       blackberry: Blackberry
       chrome: Chrome
+      edge: Microsoft Edge
       firefox: Firefox
       generic: Browser sconosciuto
+      ie: Internet Explorer
+      opera: Opera
+      safari: Safari
     current_session: Sessione corrente
     description: "%{browser} su %{platform}"
     explanation: Questi sono i browser da cui attualmente è avvenuto l'accesso al tuo account Mastodon.
+    ip: IP
     platforms:
+      adobe_air: Adobe Air
+      android: Android
+      blackberry: Blackberry
+      chrome_os: ChromeOS
+      firefox_os: Firefox OS
+      ios: iOS
+      linux: Linux
+      mac: Mac
       other: piattaforma sconosciuta
+      windows: Windows
+      windows_mobile: Windows Mobile
+      windows_phone: Windows Phone
     title: Sessioni
   settings:
     authorized_apps: Applicazioni autorizzate
@@ -671,6 +744,7 @@ it:
       private: Un toot non pubblico non può essere fissato in cima
       reblog: Un toot condiviso non può essere fissato in cima
     show_more: Mostra di più
+    sign_in_to_participate: Accedi per partecipare alla conversazione
     visibilities:
       private: Mostra solo ai tuoi seguaci
       private_long: Mostra solo ai seguaci
@@ -687,6 +761,7 @@ it:
   themes:
     contrast: Contrasto elevato
     default: Mastodon
+    mastodon-light: Mastodon (chiaro)
   time:
     formats:
       default: "%b %d, %Y, %H:%M"
@@ -701,6 +776,7 @@ it:
     instructions_html: "<strong>Scannerizza questo QR code con Google Authenticator o un'app TOTP simile sul tuo telefono</strong>. Da ora in poi, quell'applicazione genererà codici da inserire necessariamente per eseguire l'accesso."
     lost_recovery_codes: I codici di recupero ti permettono di accedere al tuo account se perdi il telefono. Se hai perso i tuoi codici di recupero, puoi rigenerarli qui. Quelli vecchi saranno annullati.
     manual_instructions: 'Se non puoi scannerizzare il QR code e hai bisogno di inserirlo manualmente, questo è il codice segreto in chiaro:'
+    recovery_codes: Codici di recupero del backup
     recovery_codes_regenerated: I codici di recupero sono stati rigenerati
     recovery_instructions_html: Se perdi il telefono, puoi usare uno dei codici di recupero qui sotto per riottenere l'accesso al tuo account. <strong>Conserva i codici di recupero in un posto sicuro</strong>. Ad esempio puoi stamparli e conservarli insieme ad altri documenti importanti.
     setup: Configura
@@ -728,6 +804,11 @@ it:
       tips: Suggerimenti
       title: Benvenuto a bordo, %{name}!
   users:
+    follow_limit_reached: Non puoi seguire più di %{limit} persone
     invalid_email: L'indirizzo email inserito non è valido
     invalid_otp_token: Codice d'accesso non valido
     seamless_external_login: Ti sei collegato per mezzo di un servizio esterno, quindi le impostazioni di email e password non sono disponibili.
+    signed_in_as: 'Hai effettuato l''accesso come:'
+  verification:
+    explanation_html: 'Puoi <strong>certificare te stesso come proprietario dei link nei metadati del tuo profilo</strong>. Per farlo, il sito a cui punta il link deve contenere un link che punta al tuo profilo Mastodon. Il link di ritorno <strong>deve</strong> avere l''attributo <code>rel="me"</code>. Il testo del link non ha importanza. Ecco un esempio:'
+    verification: Verifica
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 60e1109c5..9121094b7 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -263,6 +263,8 @@ ja:
         title: 新規ドメインブロック
       reject_media: メディアファイルを拒否
       reject_media_hint: ローカルに保存されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です
+      reject_reports: レポートを拒否
+      reject_reports_hint: このドメインからのすべてのレポートを無視します。停止とは無関係です
       severities:
         noop: なし
         silence: サイレンス
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index 5ac254df4..1b74405d2 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -481,7 +481,7 @@ ka:
   deletes:
     bad_password_msg: კარგად სცადეთ, ჰაკერებო! არასწორი პაროლი
     confirm_password: იდენტობის დასამოწმებლად შეიყვანეთ მიმდინარე პაროლი
-    description_html: ეს <strong>სამუდამოდ, დაუბრუნებლად</strong> გააუქმებს კონტენტს თქვენი ანგარიშიდან და მოახდენს მის დეაქტივაციას. მომხმარებლის სახელი კი, სამომავლო იმპერსონაციების შესაჩერებლად, გახდება რეზერვირებული
+    description_html: ეს <strong>სამუდამოდ, დაუბრუნებლად</strong> გააუქმებს კონტენტს თქვენი ანგარიშიდან და მოახდენს მის დეაქტივაციას. მომხმარებლის სახელი კი, სამომავლო იმპერსონაციების შესაჩერებლად, გახდება რეზერვირებული.
     proceed: ანგარიშის გაუქმება
     success_msg: თქვენი ანგარიში წარმატებით გაუქმდა
     warning_html: მოცულობის გაუქმება გარანტირებულია მხოლოდ ამ ინსტანციაზე. კონტენტი რომელიც ფართო მასშტაბით გაზიარდა უფრო დატოვებს კვალს. ოფლაინ სერვერები და სერვერები, რომლებმაც შეწყვიტეს თქვენი განახლებების გამოწერა არ განაახლებენ მონაცემთა ბაზებს.
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 9f9875a16..e1cb350d1 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -48,6 +48,7 @@ ko:
       other: 팔로워
     following: 팔로잉
     joined: "%{date}에 가입함"
+    link_verified_on: "%{date}에 이 링크의 소유가 확인되었습니다"
     media: 미디어
     moved_html: "%{name}은 %{new_profile_link}으로 이동되었습니다:"
     network_hidden: 이 정보는 사용할 수 없습니다
@@ -120,13 +121,14 @@ ko:
       moderation_notes: 모더레이션 기록
       most_recent_activity: 최근 활동
       most_recent_ip: 최근 IP
+      no_limits_imposed: 제한 없음
       not_subscribed: 구독하지 않음
       order:
         alphabetic: 알파벳 순
         most_recent: 최근 순
         title: 순서
       outbox_url: 발신함 URL
-      perform_full_suspension: 완전히 정지시키기
+      perform_full_suspension: 정지시키기
       profile_url: 프로필 URL
       promote: 모더레이터로 승급
       protocol: 프로토콜
@@ -155,8 +157,10 @@ ko:
         report: 신고
         targeted_reports: 이 계정에 대한 신고
       silence: 침묵
+      silenced: 침묵 됨
       statuses: 툿 수
       subscribe: 구독하기
+      suspended: 정지 됨
       title: 계정
       unconfirmed_email: 미확인 된 이메일 주소
       undo_silenced: 침묵 해제
@@ -173,6 +177,7 @@ ko:
         create_domain_block: "%{name}이 도메인 %{target}를 차단했습니다"
         create_email_domain_block: "%{name}이 이메일 도메인 %{target}를 차단했습니다"
         demote_user: "%{name}이 %{target}을 강등했습니다"
+        destroy_custom_emoji: "%{name}이 %{target} 에모지를 삭제함"
         destroy_domain_block: "%{name}이 도메인 %{target}의 차단을 해제했습니다"
         destroy_email_domain_block: "%{name}이 이메일 도메인 %{target}을 화이트리스트에 넣었습니다"
         destroy_status: "%{name}이 %{target}의 툿을 삭제했습니다"
@@ -260,6 +265,8 @@ ko:
         title: 새로운 도메인 차단
       reject_media: 미디어 파일 거부하기
       reject_media_hint: 로컬에 저장된 미디어 파일을 삭제하고, 이후로도 다운로드를 거부합니다. 정지와는 관계 없습니다
+      reject_reports: 신고 거부
+      reject_reports_hint: 이 도메인으로부터의 모든 신고를 무시합니다. 정지와는 무관합니다
       severities:
         noop: 없음
         silence: 침묵
@@ -302,8 +309,13 @@ ko:
       title: 초대
     relays:
       add_new: 릴레이 추가
+      delete: 삭제
       description_html: "<strong>연합 릴레이</strong>는 서버들 사이에서 많은 양의 공개 툿을 구독하고 중개하는 서버입니다. <strong>이것은 중소 규모의 서버에서 연합우주를 발견하는 데에 도움을 줄 수 있습니다</strong>, 이제 로컬 유저들이 다른 서버의 유저들을 수동으로 팔로우 하지 않아도 됩니다."
+      disable: 비활성화
+      disabled: 비활성화 됨
+      enable: 활성화
       enable_hint: 활성화 되면, 이 릴레이의 모든 공개 툿을 구독하고 이 서버의 공개 툿을 전송하게 됩니다.
+      enabled: 활성화 됨
       inbox_url: 릴레이 URL
       pending: 릴레이의 승인 대기중
       save_and_enable: 저장하고 활성화
@@ -352,13 +364,16 @@ ko:
         title: 새 유저가 팔로우 할 계정들
       contact_information:
         email: 공개할 메일 주소를 입력
-        username: 아이디를 입력
+        username: 연락 받을 관리자 유저네임
       custom_css:
         desc_html: 모든 페이지에 적용할 CSS
         title: 커스텀 CSS
       hero:
         desc_html: 프론트페이지에 표시 됩니다. 최소 600x100픽셀을 권장합니다. 만약 설정되지 않았다면, 인스턴스의 썸네일이 사용 됩니다
         title: 히어로 이미지
+      mascot:
+        desc_html: 여러 페이지에서 보여집니다. 최소 293x205px을 추천합니다. 설정 되지 않은 경우, 기본 마스코트가 사용 됩니다
+        title: 마스코트 이미지
       peers_api_enabled:
         desc_html: 이 인스턴스가 페디버스에서 만났던 도메인 네임들
         title: 발견 된 인스턴스들의 리스트 발행
@@ -567,6 +582,7 @@ ko:
     resources: 리소스
   generic:
     changes_saved_msg: 정상적으로 변경되었습니다!
+    copy: 복사
     save_changes: 변경 사항을 저장
     validation_errors:
       one: 오류가 발생했습니다. 아래 오류를 확인해 주십시오
@@ -908,8 +924,12 @@ ko:
       tips: 팁
       title: 환영합니다 %{name} 님!
   users:
+    follow_limit_reached: 당신은 %{limit}명의 사람을 넘어서 팔로우 할 수 없습니다
     invalid_email: 메일 주소가 올바르지 않습니다
     invalid_otp_token: 2단계 인증 코드가 올바르지 않습니다
     otp_lost_help_html: 만약 양쪽 모두를 잃어버렸다면 %{email}을 통해 복구할 수 있습니다
     seamless_external_login: 외부 서비스를 이용해 로그인 했습니다, 패스워드와 이메일 설정을 할 수 없습니다.
     signed_in_as: '다음과 같이 로그인 중:'
+  verification:
+    explanation_html: '당신은 <strong>프로필 메타데이터의 링크 소유자임을 검증할 수 있습니다</strong>. 이것을 하기 위해서는, 링크 된 웹사이트에서 당신의 마스토돈 프로필을 역으로 링크해야 합니다. 역링크는 <strong>반드시</strong> <code>rel="me"</code> 속성을 가지고 있어야 합니다. 링크의 텍스트는 상관이 없습니다. 여기 예시가 있습니다:'
+    verification: 검증
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 0c1add32a..df65cfa2c 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -48,6 +48,7 @@ nl:
       other: Volgers
     following: Volgend
     joined: Geregistreerd in %{date}
+    link_verified_on: Eigendom van deze link is gecontroleerd op %{date}
     media: Media
     moved_html: "%{name} is verhuisd naar %{new_profile_link}:"
     network_hidden: Deze informatie is niet beschikbaar
@@ -120,13 +121,14 @@ nl:
       moderation_notes: Opmerkingen voor moderatoren
       most_recent_activity: Laatst actief
       most_recent_ip: Laatst gebruikt IP-adres
+      no_limits_imposed: Geen limieten ingesteld
       not_subscribed: Niet geabonneerd
       order:
         alphabetic: Alfabetisch
         most_recent: Meest recent
         title: Sorteren
       outbox_url: Outbox-URL
-      perform_full_suspension: Volledig opschorten
+      perform_full_suspension: Opschorten
       profile_url: Profiel-URL
       promote: Promoveren
       protocol: Protocol
@@ -155,8 +157,10 @@ nl:
         report: gerapporteerd
         targeted_reports: Over dit account aangemaakte rapportages
       silence: Negeren
+      silenced: Genegeerd
       statuses: Toots
       subscribe: Abonneren
+      suspended: Opgeschort
       title: Accounts
       unconfirmed_email: Onbevestigd e-mailadres
       undo_silenced: Niet langer negeren
@@ -173,6 +177,7 @@ nl:
         create_domain_block: Domein %{target} is door %{name} geblokkeerd
         create_email_domain_block: E-maildomein %{target} is door %{name} op de zwarte lijst geplaatst
         demote_user: Gebruiker %{target} is door %{name} gedegradeerd
+        destroy_custom_emoji: "%{name} verwijderde emoji %{target}"
         destroy_domain_block: Domein %{target} is door %{name} gedeblokkeerd
         destroy_email_domain_block: E-maildomein %{target} is door %{name} op de witte lijst geplaatst
         destroy_status: Toot van %{target} is door %{name} verwijderd
@@ -258,6 +263,8 @@ nl:
         title: Nieuwe domeinblokkade
       reject_media: Mediabestanden verwerpen
       reject_media_hint: Verwijderd lokaal opgeslagen mediabestanden en weigert deze in de toekomst te downloaden. Irrelevant voor opgeschorte domeinen
+      reject_reports: Rapportages weigeren
+      reject_reports_hint: Alle rapportages die vanaf dit domein komen negeren. Irrelevant voor opgeschorte domeinen
       severities:
         noop: Geen
         silence: Negeren
@@ -300,8 +307,13 @@ nl:
       title: Uitnodigingen
     relays:
       add_new: Nieuwe relayserver toevoegen
+      delete: Verwijderen
       description_html: Een <strong>federatierelay</strong> is een tussenliggende server die grote hoeveelheden openbare toots uitwisselt tussen servers die zich hierop hebben geabonneerd. <strong>Het kan kleine en middelgrote servers helpen om content uit de fediverse te ontdekken</strong>, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen.
+      disable: Uitschakelen
+      disabled: Uitgeschakeld
+      enable: Inschakelen
       enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare toots van deze relayserver abonneren en stuurt het de openbare toots van jouw server naar de relayserver.
+      enabled: Ingeschakeld
       inbox_url: Relay-URL
       pending: Aan het wachten op toestemming van de relayserver
       save_and_enable: Opslaan en inschakelen
@@ -357,6 +369,9 @@ nl:
       hero:
         desc_html: Wordt op de voorpagina getoond. Tenminste 600x100px aanbevolen. Wanneer dit niet is ingesteld wordt de thumbnail van de Mastodonserver getoond
         title: Hero-afbeelding
+      mascot:
+        desc_html: Wordt op meerdere pagina's weergegeven. Tenminste 293×205px aanbevolen. Wanneer dit niet is ingesteld wordt de standaardmascotte getoond
+        title: Mascotte-afbeelding
       peers_api_enabled:
         desc_html: Domeinnamen die deze server in de fediverse is tegengekomen
         title: Lijst van bekende servers publiceren
@@ -565,6 +580,7 @@ nl:
     resources: Hulpmiddelen
   generic:
     changes_saved_msg: Wijzigingen succesvol opgeslagen!
+    copy: Kopiëren
     save_changes: Wijzigingen opslaan
     validation_errors:
       one: Er is iets niet helemaal goed! Bekijk onderstaande fout
@@ -902,8 +918,12 @@ nl:
       tips: Tips
       title: Welkom aan boord %{name}!
   users:
+    follow_limit_reached: Je kunt niet meer dan %{limit} accounts volgen
     invalid_email: E-mailadres is ongeldig
     invalid_otp_token: Ongeldige tweestaps-aanmeldcode
     otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email}
     seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar.
     signed_in_as: 'Ingelogd als:'
+  verification:
+    explanation_html: 'Je kunt <strong>jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel</strong>. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link <strong>moet</strong> het <code>rel="me"</code>-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:'
+    verification: Verificatie
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 22d0775f9..a127236a9 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -48,6 +48,7 @@ oc:
       other: Seguidors
     following: Abonaments
     joined: Arribèt en %{date}
+    link_verified_on: La proprietat d’aqueste ligam foguèt verificada lo %{date}
     media: Mèdias
     moved_html: "%{name} a mudat a %{new_profile_link} :"
     network_hidden: Aquesta informacion es pas disponibla
@@ -120,13 +121,14 @@ oc:
       moderation_notes: Nòtas de moderacion
       most_recent_activity: Activitat mai recenta
       most_recent_ip: IP mai recenta
+      no_limits_imposed: Cap de limit impausat
       not_subscribed: Pas seguidor
       order:
         alphabetic: Alfabetic
         most_recent: Mai recent
         title: Ordre
       outbox_url: URL Outbox
-      perform_full_suspension: Botar en tren la suspension complèta
+      perform_full_suspension: Suspendre
       profile_url: URL del perfil
       promote: Promòure
       protocol: Protocòl
@@ -155,8 +157,10 @@ oc:
         report: rapòrt
         targeted_reports: Rapòrts faches tocant aqueste compte
       silence: Silenci
+      silenced: Rescondut
       statuses: Estatuts
       subscribe: S’abonar
+      suspended: Suspendut
       title: Comptes
       unconfirmed_email: Adreça pas confirmada
       undo_silenced: Levar lo silenci
@@ -173,6 +177,7 @@ oc:
         create_domain_block: "%{name} bloquèt lo domeni %{target}"
         create_email_domain_block: "%{name} botèt a la lista nègra lo domeni de corrièl %{target}"
         demote_user: "%{name} retragradèt l‘utilizaire %{target}"
+        destroy_custom_emoji: "%{name} destruguèt l’emoji %{target}"
         destroy_domain_block: "%{name} desbloquèt lo domeni %{target}"
         destroy_email_domain_block: "%{name} botèt a la lista blanca lo domeni de corrièl %{target}"
         destroy_status: "%{name} levèt l‘estatut a %{target}"
@@ -258,6 +263,8 @@ oc:
         title: Nòu blocatge domeni
       reject_media: Regetar los fichièrs mèdias
       reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. Servís pas a res per las suspensions
+      reject_reports: Regetar los senhalaments
+      reject_reports_hint: Ignorer totes los senhalaments que venon d’aqueste domeni. Pas pertiment per las suspensions
       severities:
         noop: Cap
         silence: Silenci
@@ -300,8 +307,13 @@ oc:
       title: Convits
     relays:
       add_new: Ajustar un nòu relai
+      delete: Suprimir
       description_html: Un <strong> relai de federacion</strong> es un servidor intermediari qu’escàmbia de bèls volumes de tuts publics entre servidors que son abonats e i publican.<strong>Pòt ajudar de pichons e mejans servidors a trobar de contenguts del fediverse estant</strong>, qu’autrament demandariá als utilizaires locals de s’abonar manualament a d’autres monde marcats sus de servidors alonhats.
+      disable: Desactivar
+      disabled: Desactivat
+      enable: Activat
       enable_hint: Un còp activat, vòstre servidor s’abonarà a totes los tuts publics del relai estant, e començarà de mandar sos tuts publics a aqueste d’enlà.
+      enabled: Activat
       inbox_url: URL del relai
       pending: En espèra d’aprovacion del relai
       save_and_enable: Salvar e activar
@@ -357,6 +369,9 @@ oc:
       hero:
         desc_html: Mostrat en primièra pagina. Almens 600x100px recomandat. S’es pas configurat l’imatge de l’instància serà mostrat
         title: Imatge de l’eròi
+      mascot:
+        desc_html: Mostrat sus mantun paginas. Almens 293×205px recomandat. S’es pas configurat, mostrarem la mascòta per defaut
+        title: Imatge de la mascòta
       peers_api_enabled:
         desc_html: Noms de domeni qu’aquesta instància a trobats pel fediverse
         title: Publica la lista de las instàncias conegudas
@@ -621,6 +636,7 @@ oc:
     resources: Ressorsas
   generic:
     changes_saved_msg: Cambiaments ben realizats !
+    copy: Copiar
     save_changes: Salvar los cambiaments
     validation_errors:
       one: I a quicòm que truca ! Mercés de corregir l’error çai-jos
@@ -836,11 +852,12 @@ oc:
       <h2>Politica de confidencialitat</h2>
       <h3 id="collect">Quinas informacions reculhèm ?</h3>
 
-      <li>
-      <ul><em>Inforacions de basa del compte</em> :  se vos marcatz sus aqueste servidor, vos podèm demandar de picar un escais-nom, una adreça de corrièl e un senhal. Podètz tanben ajustar d’informacions de perfil addicionalas coma un nom de far veire, una biografia, un imatge de perfil e una banièra. L’escais-nom, lo nom d’afichatge, la biografia, l’imatge de perfil e la banièra son totjorn indicats per èsser vist publicament.</li>
-      <li><em>Publicacions, abonaments e autras informacions publicas</em> : La lista del monde que seguètz es visibla publicament, tot parièr per vòstres seguidors. Quand enviatz un messatge, la data e l’ora son gardats, l’aplicacion qu’avètz utilizada tanben. Los messatges pòdon conténer de mèdias juntats coma d’imatge e vidèos. Las publicacions publicas e pas listadas son disponiblas publicament. Quand penjatz una publicacion per vòstre perfil, aquò tanben es visible per tot lo monde. Vòstras publicacions son mandadas a vòstre seguidors, dins qualques cases aquò significa que passaràn per diferents servidors e seràn copiadas e gardadas sus aqueles servidors. Quand escafatz de publicacions, aquò es tanben mandat a vòstre seguidors. L’acion de partejar o d’ajustar als favorits una publicacion es totjorn quicòm de public.</li>
-      <li><em>Publicacions dirèctas e solament pels seguidors</em> :</li> totas las publicacions son gardadas e tractadas pel servidor. Las publicacions pas que per vòstres seguidors son enviadas a vòstres seguidors e las personas mencionadas dedins, las publicacions dirèctas son pas qu’enviadas a las personas mencionadas. Dins qualques cases aquò significa que passaràn per diferents servidors, copiadas e gardadas sus eles. Ensagem de limitar l’accès a aquelas publicacions a monde autorizat, mas los demai servidors pòdon fracar a far parièr. A causa d’aquò es fòrça important de repassar los servidors d’apertenéncia de vòstres seguidors. Podètz activar una opcion per autorizar o regetar una demanda de seguiment dins los paramètres. <em>Vos cal pas oblidar que’ls administrators dels servidors e dels servidors de recepcion pòdon veire aqueles messatges</em>, e que’ls destinataris pòdon realizar de captura d’ecran, copiar e tornar partejar los messatges.<em>Partegetz pas cap informacion perilhosa sus Mastodon</em><li>.
-      <li><em>Adreças IP e autras metadonadas</em> : quand vos connectatz, enregistrem l’adreça IP qu’utilizatz per establir la connexion, e tanben lo nom de vòstre navigador. Totas las sessions de connexion son disponiblas per que las repassetz e tiretz dins los paramètres. Las darrièras adreças IP son salvagardas fins a 12 meses. Podèm tanben gardar de jornals d’audit del servidor que pòdon conténer las adreças IP de cada requèstas mandadas a nòstre servidor.</li>
+      <ul>
+        <li><em>Inforacions de basa del compte</em> :  se vos marcatz sus aqueste servidor, vos podèm demandar de picar un escais-nom, una adreça de corrièl e un senhal. Podètz tanben ajustar d’informacions de perfil addicionalas coma un nom de far veire, una biografia, un imatge de perfil e una banièra. L’escais-nom, lo nom d’afichatge, la biografia, l’imatge de perfil e la banièra son totjorn indicats per èsser vistes publicament.</li>
+        <li><em>Publicacions, abonaments e autras informacions publicas</em> : La lista del monde que seguètz es visibla publicament, tot parièr per vòstres seguidors. Quand enviatz un messatge, la data e l’ora son gardats, l’aplicacion qu’avètz utilizada tanben. Los messatges pòdon conténer de mèdias juntats coma d’imatge e vidèos. Las publicacions publicas e pas listadas son disponiblas publicament. Quand penjatz una publicacion per vòstre perfil, aquò tanben es visible per tot lo monde. Vòstras publicacions son mandadas a vòstre seguidors, dins qualques cases aquò significa que passaràn per diferents servidors e seràn copiadas e gardadas sus aqueles servidors. Quand escafatz de publicacions, aquò es tanben mandat a vòstre seguidors. L’accion de partejar o d’ajustar als favorits una publicacion es totjorn quicòm de public.</li>
+       <li><em>Publicacions dirèctas e solament pels seguidors</em> :</li> totas las publicacions son gardadas e tractadas pel servidor. Las publicacions pas que per vòstres seguidors son enviadas a vòstres seguidors e las personas mencionadas dedins, las publicacions dirèctas son pas qu’enviadas a las personas mencionadas. Dins qualques cases aquò significa que passaràn per diferents servidors, copiadas e gardadas sus eles. Ensagem de limitar l’accès a aquelas publicacions a monde autorizat, mas los demai servidors pòdon fracar a far parièr. A causa d’aquò es fòrça important de repassar los servidors d’apertenéncia de vòstres seguidors. Podètz activar una opcion per autorizar o regetar una demanda de seguiment dins los paramètres. <em>Vos cal pas oblidar que’ls administrators dels servidors e dels servidors de recepcion pòdon veire aqueles messatges</em>, e que’ls destinataris pòdon realizar de captura d’ecran, copiar e tornar partejar los messatges.<em>Partegetz pas cap informacion perilhosa sus Mastodon</em><li>.
+        <li><em>Adreças IP e autras metadonadas</em> : quand vos connectatz, enregistrem l’adreça IP qu’utilizatz per establir la connexion, e tanben lo nom de vòstre navigador. Totas las sessions de connexion son disponiblas per que las repassetz e tiretz dins los paramètres. Las darrièras adreças IP son salvagardas fins a 12 meses. Podèm tanben gardar de jornals d’audit del servidor que pòdon conténer las adreças IP de cada requèstas mandadas a nòstre servidor.</li>
+
       </ul>
 
       <hr class="spacer" />
@@ -867,9 +884,53 @@ oc:
       <p>Farem esfòrces per :</p>
 
       <ul>
-      <li>Gardar los jornals del servidor que contenon las adreças IP de totas las demandas al servidor pas mai de 90 jorns.</li>
-      <li>Gardar las adreças IP ligadas als utilizaires e lors publicacions pas mai de 12 messes.</li>
+       <li>Gardar los jornals del servidor que contenon las adreças IP de totas las demandas al servidor pas mai de 90 jorns.</li>
+       <li>Gardar las adreças IP ligadas als utilizaires e lors publicacions pas mai de 12 messes.</li>
       </ul>
+
+      <p>Podètz demandar e telecargar vòstre archiu de contengut, amb vòstras publicacions, los mèdias enviats, l’imatge de perfil e l’imatge de bandièra.</p>
+
+      <p>Podètz suprimir sens anullacion possibla vòstre compte quand volgatz.</p>
+
+      <hr class="spacer"/>
+
+
+      <h3 id="cookies">Utilizem de cookies ?</h3>
+
+      <p>Òc-ben. Los cookies son de pichons fichièrs qu’un site o sos provesidors de servicis plaçan dins lo disc dur de vòstre ordenador via lo navigator Web (Se los acceptatz). Aqueles cookies permeton al site de reconéisser vòstre navigator e se tenètz un compte enregistrat de l’associar a vòstre compte.</p>
+
+      <p>Empleguem de cookies per comprendre e enregistrar vòstras preferéncias per vòstras visitas venentas</p>
+
+      <hr class="spacer" />
+
+      <h3 id="disclose">Divulguem d’informacions a de tèrces ?</h3>
+
+
+      <p>Vendèm pas, comercem o qualque transferiment que siasque a de tèrces vòstras informacions personalas identificablas. Aquò inclutz pas los tèrces partits de confisança que nos assiston a menar nòstre site, menar nòstre afar o vos servir, baste que son d’acòrd per gardar aquelas informacions confidencialas. Pòt tanben arribar que liberèssem vòstras informacions quand cresèm qu’es apropriat d’o far per se sometre a la lei, per refortir nòstras politicas, o per protegir los dreches, proprietats o seguritat de qualqu’un o de nosautres.</p>
+
+      <p>Vòstre contengut public pòt èsser telecargat per los autres servidors del malhum. Vòstras publicacions publicas e las dels seguidors solament son enviadas als servidors qu’albergan vòstres seguidors, los messatges dirèctes son mandats als servidors dels destinaris se son pas de vòstra instància.</p>
+
+      <p>Quand autorizatz una aplicacion d’utilizar vòstre compte, segon l’encastre que volètz permetre, pòt accedir a l’informacion de vòstre perfil public, vòstra lista d’abonaments, vòstres seguidors, vòstras listas, totas vòstras publicacions e vòstres favorits. Las aplicacions pòdon pas jamai accedir a vòstra adreça electronica o vòstre senhal.</p>
+
+      <hr class="spacer" />
+
+      <h3 id="children">Utilizacion del site pels enfants</h3>
+
+      <p>S’aqueste servidor es en EU o la EEA : òstre site, nòstres produches e servicis son totas a destinacion de monde de mai de 16 ans. S’avètz mens de 16 ans, per cumplir lo RGPD (<a href="https://ca.wikipedia.org/wiki/Reglament_General_de_Protecci%C3%B3_de_Dades">Reglament General de Proteccion de Donadas</a>) utilizetz pas aqueste site.</p>
+
+      <p>S’aqueste servidor se tròba en los Estats Units : nòstre site, nòstres produches e servicis son totas a destinacion de monde de mai de 13 ans. S’avètz mens de 13 ans, per acontentar las exigéncias del COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) utilizetz pas aqueste site.</p>
+
+      <p>Las exigéncias legalas pòdon èsser diferentas se lo servidor es en una autra juridiccion</p>
+
+      <hr class="spacer" />
+
+      <h3 id="changes">Cambiament dins nòstra politica de confidencialitat</h3>
+
+      <p>Se decidèm de cambiar nòstra politica de confidencialitat, publicarem los cambiaments sus aquesta pagina.</p>
+
+      <p>Aqueste document es jos licéncia CC-BY-SA. Darrièra mesa a jorn lo 4 de març de 2018</p>
+
+      <p>Prima adaptacion de la <a href="https://github.com/discourse/discourse">politica de confidencialitat de Discourse</a>.</p>
     title: Condicions d’utilizacion e politica de confidencialitat de %{instance}
   time:
     formats:
@@ -915,8 +976,12 @@ oc:
       tips: Astúcias
       title: Vos desirem la benvenguda a bòrd %{name} !
   users:
+    follow_limit_reached: Podètz pas sègre mai de %{limit} personas
     invalid_email: L’adreça de corrièl es invalida
     invalid_otp_token: Còdi d’autentificacion en dos temps invalid
     otp_lost_help_html: Se perdatz l’accès al dos, podètz benlèu contactar %{email}
     seamless_external_login: Sètz connectat via un servici extèrn, los paramètres de senhal e de corrièl son doncas pas disponibles.
     signed_in_as: 'Session a :'
+  verification:
+    explanation_html: 'Podètz <strong>verificar vosautres meteisses coma proprietari dels ligams per las metadonadas de vòstre perfil</strong>. Per aquò far, lo site Web ligat deu conténer un ligam cap a vòstre perfil Mastodon. Lo ligam <strong>deu</strong> aver un atribut <code>rel="me"</code>. Lo contengut tèxte del ligam impòrta pas. Vaquí un exemple :'
+    verification: Verificacion
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 542f66c4f..18b295da6 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -373,7 +373,7 @@ pl:
         desc_html: Modyfikuj wygląd pliku CSS ładowanego na każdej stronie
         title: Niestandardowy CSS
       hero:
-        desc_html: Wyświetlany na stronie głównej. Zalecany jest rozmiar przynajmniej 600x100 pikseli. Jeżeli nie ustawiony, zostanie użyta miniatura instancji.
+        desc_html: Wyświetlany na stronie głównej. Zalecany jest rozmiar przynajmniej 600x100 pikseli. Jeżeli nie ustawiony, zostanie użyta miniatura instancji
         title: Obraz bohatera
       mascot:
         desc_html: Wyświetlany na wielu stronach. Zalecany jest rozmiar przynajmniej 293px × 205px. Jeżeli nie ustawiono, zostanie użyta domyślna.
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index d6593baa1..1c9964daf 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -48,6 +48,7 @@ pt-BR:
       other: Seguidores
     following: Seguindo
     joined: Participa desde %{date}
+    link_verified_on: A posse desse link foi checada em %{date}
     media: Mídia
     moved_html: "%{name} se mudou para %{new_profile_link}:"
     network_hidden: Esta informação não está disponível
@@ -120,13 +121,14 @@ pt-BR:
       moderation_notes: Notas de moderação
       most_recent_activity: Atividade mais recente
       most_recent_ip: IP mais recente
+      no_limits_imposed: Nenhum limite imposto
       not_subscribed: Não está inscrito
       order:
         alphabetic: Alfabética
         most_recent: Mais recente
         title: Ordem
       outbox_url: URL da caixa de saída
-      perform_full_suspension: Aplicar suspensão total
+      perform_full_suspension: Suspender
       profile_url: URL do perfil
       promote: Promover
       protocol: Protocolo
@@ -155,8 +157,10 @@ pt-BR:
         report: relatórios
         targeted_reports: Denúncias feitas sobre esta conta
       silence: Silenciar
+      silenced: Silenciado
       statuses: Postagens
       subscribe: Inscrever-se
+      suspended: Suspenso
       title: Contas
       unconfirmed_email: E-mail não confirmado
       undo_silenced: Retirar silenciamento
@@ -173,6 +177,7 @@ pt-BR:
         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_custom_emoji: "%{name} destruiu emoji %{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}"
@@ -258,6 +263,8 @@ pt-BR:
         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_reports: Rejeitar denúncias
+      reject_reports_hint: Ignorar todas as denúncias vindas deste domíno. Irrelevante para suspensões
       severities:
         noop: Nenhum
         silence: Silêncio
@@ -300,9 +307,16 @@ pt-BR:
       title: Convites
     relays:
       add_new: Adicionar novo repetidor
+      delete: Excluir
       description_html: Um <strong>repetidor de federação</strong> é um servidor intermediário que troca um grande volume de toots públicos entre servidores que se inscrevem e publicam nele. <strong>O repetidor pode ser usado para ajudar servidores pequenos e médios a descobrir conteúdo do fediverso</strong>, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em servidores remotos.
+      disable: Desativar
+      disabled: Desabilitar
+      enable: Habilitar
       enable_hint: Uma vez habilitado, seu servidor vai se inscrever para receber todos os toots públicos desse repetidor; E vai começar a enviar todos os toots públicos desse servidor para o repetidor.
+      enabled: Habilitado
       inbox_url: URL do repetidor
+      pending: Esperando pela aprovação do repetidor
+      save_and_enable: Salvar e habilitar
       setup: Configurar uma conexão de repetidor
       status: Status
       title: Repetidores
@@ -355,6 +369,9 @@ pt-BR:
       hero:
         desc_html: Aparece na página inicial. Ao menos 600x100px é recomendado. Se não estiver definido, o thumbnail da instância é usado no lugar
         title: Imagem de capa
+      mascot:
+        desc_html: Mostrado em diversas páginas. Ao menos 293×205px recomendado. Quando não está configurado, o mascote padrão é mostrado
+        title: Imagem do mascote
       peers_api_enabled:
         desc_html: Nomes de domínio que essa instância encontrou no fediverso
         title: Publicar lista de instâncias descobertas
@@ -563,6 +580,7 @@ pt-BR:
     resources: Recursos
   generic:
     changes_saved_msg: Mudanças salvas com sucesso!
+    copy: Copiar
     save_changes: Salvar mudanças
     validation_errors:
       one: Algo não está certo! Por favor, reveja o erro abaixo
@@ -900,8 +918,12 @@ pt-BR:
       tips: Dicas
       title: Boas-vindas a bordo, %{name}!
   users:
+    follow_limit_reached: Você não pode seguir mais que %{limit} pessoas
     invalid_email: O endereço de e-mail é inválido
     invalid_otp_token: Código de autenticação inválido
     otp_lost_help_html: Se você perder o acesso à ambos, você pode entrar em contato com %{email}
     seamless_external_login: Você está logado usando um serviço externo, então configurações de e-mail e senha não estão disponíveis.
     signed_in_as: 'Acesso como:'
+  verification:
+    explanation_html: 'Você pode <strong>verificar-se como tendo posse dos links nos metadados do seu perfil</strong>. Para isso, o site conectado deve conter um link de volta para o seu perfil do Mastodon. O link de volta <strong>deve</strong> conter um atributo <code>rel="me"</code>. O conteúdo ou texto do link não importa. Aqui está um exemplo:'
+    verification: Verificação
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index c38094158..3a104e1d0 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -1,2 +1,7 @@
 ---
-ro: {}
+ro:
+  accounts:
+    posts:
+      few: Toots
+      one: Toot
+      other: Toots
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 2eef00170..a3ac754f2 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -264,7 +264,7 @@ ru:
           suspend: Блокировка
         title: Новая доменная блокировка
       reject_media: Запретить медиаконтент
-      reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки.
+      reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки
       severities:
         noop: Ничего
         silence: Глушение
@@ -401,7 +401,7 @@ ru:
         desc_html: Отображается в боковой панели и в тегах. Опишите, что такое Mastodon и что делает именно этот узел особенным. Если пусто, используется описание узла по умолчанию.
         title: Краткое описание узла
       site_terms:
-        desc_html: Вы можете добавить сюда собственную политику конфиденциальности, пользовательское соглашение и другие документы. Можно использовать теги HTML.
+        desc_html: Вы можете добавить сюда собственную политику конфиденциальности, пользовательское соглашение и другие документы. Можно использовать теги HTML
         title: Условия использования
       site_title: Название сайта
       thumbnail:
@@ -521,7 +521,7 @@ ru:
     '410': Страница, которую Вы искали, больше не существует.
     '422':
       content: Проверка безопасности не удалась. Возможно, Вы блокируете cookies?
-      title: Проверка безопасности не удалась.
+      title: Проверка безопасности не удалась
     '429': Слишком много запросов
     '500':
       content: Приносим извинения, но на нашей стороне что-то пошло не так.
@@ -606,10 +606,10 @@ ru:
     max_uses:
       few: "%{count} исп."
       many: "%{count} исп."
-      one: 1 исп.
-      other: "%{count} исп."
+      one: 1 исп
+      other: "%{count} исп"
     max_uses_prompt: Без лимита
-    prompt: Генерируйте и делитесь ссылками с другими, чтобы предоставить им доступ к этому узлу.
+    prompt: Генерируйте и делитесь ссылками с другими, чтобы предоставить им доступ к этому узлу
     table:
       expires_at: Истекает
       uses: Исп.
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index 6c8455a14..546a5bd14 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -8,16 +8,25 @@ ca:
         bot: Aquest compte realitza principalment accions automatitzades i pot no estar controlat per cap persona
         context: Un o diversos contextos on s'ha d'aplicar el filtre
         digest: Només s'envia després d'un llarg període d'inactivitat amb un resum de les mencions que has rebut en la teva absència
+        email: Se t'enviarà un correu electrònic de confirmació
         fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil
         header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px
+        inbox_url: Copia l'URL des de la pàgina principal del relay que vols utilitzar
         irreversible: Els nodes filtrats desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard
         locale: El llenguatge de l’interfície d’usuari, els correus i les notificacions push
         locked: Requereix que aprovis manualment els seguidors
+        password: Utilitza com a mínim 8 caràcters
         phrase: Es combinarà independentment del format en el text o l'avís de contingut d'un toot
+        scopes: A quines API es permetrà l'accés a l'aplicació. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual.
         setting_default_language: La llengua dels teus toots pot ser detectada automàticament però no sempre acuradament
+        setting_display_media_default: Amaga els multimèdia marcats com a sensibles
+        setting_display_media_hide_all: Sempre oculta tots els multimèdia
+        setting_display_media_show_all: Mostra sempre els elements multimèdia marcats com a sensibles
         setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil
         setting_noindex: Afecta el teu perfil públic i les pàgines d'estat
         setting_theme: Afecta l'aspecte de Mastodon quan es visita des de qualsevol dispositiu.
+        username: El teu nom d'usuari serà únic a %{domain}
+        whole_word: Quan la paraula clau o la frase sigui només alfanumèrica, s'aplicarà si coincideix amb la paraula sencera
       imports:
         data: Fitxer CSV exportat des de una altra instància de Mastodon
       sessions:
@@ -44,6 +53,7 @@ ca:
         expires_in: Expira després
         fields: Metadades del perfil
         header: Capçalera
+        inbox_url: URL de la safata d'entrada del relay
         irreversible: Cau en lloc d'ocultar
         locale: Llengua de la interfície
         locked: Fes aquest compte privat
@@ -59,6 +69,11 @@ ca:
         setting_default_privacy: Privacitat de les publicacions
         setting_default_sensitive: Marca sempre els elements multimèdia com a sensibles
         setting_delete_modal: Mostra la finestra de confirmació abans de suprimir un toot
+        setting_display_media: Visualització multimèdia
+        setting_display_media_default: Per defecte
+        setting_display_media_hide_all: Amaga-ho tot
+        setting_display_media_show_all: Mostra-ho tot
+        setting_expand_spoilers: Sempre amplia els toots marcats amb advertències de contingut
         setting_hide_network: Amaga la teva xarxa
         setting_noindex: Desactivació de la indexació del motor de cerca
         setting_reduce_motion: Redueix el moviment en animacions
@@ -69,6 +84,7 @@ ca:
         type: Importa el tipus
         username: Nom d'usuari
         username_or_email: Nom d'usuari o adreça electrònica
+        whole_word: Paraula sencera
       interactions:
         must_be_follower: Blocar les notificacions de persones que no et segueixen
         must_be_following: Bloca les notificacions de persones que no segueixes
@@ -80,6 +96,7 @@ ca:
         follow_request: Envia un correu electrònic si algú sol·licita seguir-te
         mention: Envia un correu electrònic si algú et menciona
         reblog: Envia un correu electrònic si algú comparteix el teu estat
+        report: Envia un correu electrònic quan s'enviï un nou informe
     'no': 'No'
     required:
       mark: "*"
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 5653001b8..d3f9cb340 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -4,41 +4,48 @@ cy:
     hints:
       defaults:
         autofollow: Bydd pobl sy'n cofrestru drwy'r gwahoddiad yn eich dilyn yn awtomatig
-        avatar: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px
-        bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomataidd yn bennaf ac mae'n bosib nad yw'n cael ei fonitro
+        avatar: PNG, GIF neu JPG. %{size} ar y mwyaf. Caiff ei israddio i %{dimensions}px
+        bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomatig yn bennaf ac mae'n bosib nad yw'n cael ei fonitro
         context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio
-        digest: Dim ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb
+        digest: Ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb
+        email: Byddwch yn derbyn e-bost i gadarnhau
         fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil
         header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px
         inbox_url: Copïwch yr URL o dudalen flaen y relái yr ydych am ei ddefnyddio
         irreversible: Bydd tŵtiau wedi eu hidlo yn diflannu am byth, hyd yn oed os ceith yr hidlydd ei ddileu'n hwyrach
         locale: Iaith y rhyngwyneb, e-byst a hysbysiadau push
-        locked: Ei wneud yn ofynnol arnoch chi i ganiatau dilynwyr a llaw
+        locked: Ei wneud yn ofynnol i chi i ganiatau dilynwyr a llaw
+        password: Defnyddiwch oleiaf 8 nodyn
+        phrase: Caiff ei gyfateb heb ystyriaeth o briflythrennu mewn testun neu rhybudd ynghylch cynnwys tŵt
         scopes: Pa APIau y bydd gan y rhaglen ganiatad i gael mynediad iddynt. Os dewiswch maes lefel uchaf, yna nid oes angen dewis rhai unigol.
         setting_default_language: Mae modd adnabod iaith eich tŵtiau yn awtomatig, ond nid yw bob tro'n gywir
-        setting_hide_network: Ni fydd pwy yr ydych yn ei ddilyn a phwy sy'n eich dilyn chi yn cael ei ddangos ar eich proffil
+        setting_display_media_default: Cuddio cyfryngau wedi eu marcio'n sensitif
+        setting_display_media_hide_all: Cuddio cyfryngau bob tro
+        setting_display_media_show_all: Dangos cyfryngau wedi eu marcio'n sensitif bob tro
+        setting_hide_network: Ni fydd y rheini yr ydych yn eu dilyn a phwy sy'n eich dilyn chi yn cael ei ddangos ar eich proffil
         setting_noindex: Mae hyn yn effeithio ar eich proffil cyhoeddus a'ch tudalennau statws
-        setting_theme: Mae hyn yn effeithio ar sut olwg sydd ar Matododn pan yr ydych wedi mewngofnodi o unrhyw ddyfais.
+        setting_theme: Mae hyn yn effeithio ar sut olwg sydd ar Matododon pan yr ydych wedi mewngofnodi o unrhyw ddyfais.
+        username: Bydd eich enw defnyddiwr yn unigryw ar %{domain}
         whole_word: Os yw'r allweddair neu'r ymadrodd yn alffaniwmerig yn unig, mi fydd ond yn cael ei osod os yw'n cyfateb a'r gair cyfan
       imports:
-        data: Allforiwyd dogfen CSV o INSTANCE Mastodon arall
+        data: Allforiwyd dogfen CSV o achos Mastodon arall
       sessions:
-        otp: 'Mewnbynnwch y côd dau gam a gynhyrchwyd gan eich ap ffôn neu defnyddiwch un o''ch codau adfer:'
+        otp: 'Mewnbynnwch y cod dau gam a gynhyrchwyd gan eich ap ffôn neu defnyddiwch un o''ch codau adfer:'
       user:
-        chosen_languages: Wedi ei ddethol, dim ond tŵtiau mewn ieithoedd dewisiedig bydd yn cael eu harddangos mewn ffrydiau cyhoeddus
+        chosen_languages: Wedi eu dewis, dim ond tŵtiau yn yr ieithoedd hyn bydd yn cael eu harddangos mewn ffrydiau cyhoeddus
     labels:
       account:
         fields:
           name: Label
           value: Cynnwys
       defaults:
-        autofollow: Gwahoddwch i ddilyn eich cyfrif
+        autofollow: Gwahodd i ddilyn eich cyfrif
         avatar: Afatar
         bot: Cyfrif bot yw hwn
-        chosen_languages: Hidlwch ieithoedd
-        confirm_new_password: Cadarnhewch gyfrinair newydd
+        chosen_languages: Hidlo ieithoedd
+        confirm_new_password: Cadarnhau cyfrinair newydd
         confirm_password: Cadarnhau cyfrinair
-        context: Hidlwch cyd-destunau
+        context: Hidlo cyd-destunau
         current_password: Cyfrinair presennol
         data: Data
         display_name: Enw arddangos
@@ -52,35 +59,44 @@ cy:
         locked: Cloi cyfrif
         max_uses: Uchafswm y nifer o ddefnyddiau
         new_password: Cyfrinair newydd
+        note: Bywgraffiad
         otp_attempt: Côd dau gam
         password: Cyfrinair
         phrase: Allweddair neu ymadrodd
+        setting_auto_play_gif: Chwarae GIFs wedi'u hanimeiddio yn awtomatig
+        setting_boost_modal: Dangos deialog cadarnhad cyn bŵstio
         setting_default_language: Cyhoeddi iaith
         setting_default_privacy: Cyfrinachedd cyhoeddi
-        setting_default_sensitive: Marciwch cyfryngau fel ei fod yn sensitif bob tro
-        setting_delete_modal: Dangoswch ddeialog cadarnhau cyn dileu tŵt
-        setting_hide_network: Cuddiwch eich rhwydwaith
-        setting_reduce_motion: ''
-        setting_system_font_ui: Defnyddiwch ffont rhagosodedig y system
+        setting_default_sensitive: Marcio cyfryngau fel eu bod yn sensitif bob tro
+        setting_delete_modal: Dangos deialog cadarnhau cyn dileu tŵt
+        setting_display_media: Arddangos cyfryngau
+        setting_display_media_default: Rhagosodiad
+        setting_display_media_hide_all: Cuddio oll
+        setting_display_media_show_all: Dangos oll
+        setting_expand_spoilers: Ymestyn tŵtiau wedi'u marcio a rhybudd cynnwys bob tro
+        setting_hide_network: Cuddio eich rhwydwaith
+        setting_noindex: Dewis peidio mynegeio peiriant chwilota
+        setting_reduce_motion: Lleihau mudiant mewn animeiddiadau
+        setting_system_font_ui: Defnyddio ffont rhagosodedig y system
         setting_theme: Thema'r wefan
-        setting_unfollow_modal: Dangoswch ddeialog cadarnhau cyn dad-ddilyn rhywun
+        setting_unfollow_modal: Dangos deialog cadarnhau cyn dad-ddilyn rhywun
         severity: Difrifoldeb
         type: Modd mewnforio
         username: Enw defnyddiwr
         username_or_email: Enw defnyddiwr neu e-bost
         whole_word: Gair cyfan
       interactions:
-        must_be_follower: Blociwch hysbysiadau o bobl nad ydynt yn eich dilyn
-        must_be_following: Blociwch hysbysiadau o bobl nad ydych yn eu dilyn
-        must_be_following_dm: Blociwch negeseuon uniongyrchol o bobl nad ydych yn eu dilyn
+        must_be_follower: Blocio hysbysiadau o bobl nad ydynt yn eich dilyn
+        must_be_following: Blocio hysbysiadau o bobl nad ydych yn eu dilyn
+        must_be_following_dm: Blocio negeseuon uniongyrchol o bobl nad ydych yn eu dilyn
       notification_emails:
         digest: Anfonwch e-byst crynhoi
-        favourite: Anfonwch e-bost pan mae rhywun yn ffefrynnu eich statws
-        follow: Anfonwch e-bost pan mae rhywun yn eich dilyn chi
-        follow_request: Anfonwch e-bost pan mae rhywun yn gofyn i chi i'w dilyn
-        mention: Anfonwch e-bost pan mae rhywun yn eich crybwyll
-        reblog: Anfonwch e-bost pan mae rhywun yn bŵstio eich statws
-        report: Anfonwch e-bost pan y cyflwynir adroddiad newydd
+        favourite: Anfon e-bost pan mae rhywun yn ffefrynnu eich statws
+        follow: Anfon e-bost pan mae rhywun yn eich dilyn chi
+        follow_request: Anfon e-bost pan mae rhywun yn gofyn i chi i'w dilyn
+        mention: Anfon e-bost pan mae rhywun yn eich crybwyll
+        reblog: Anfon e-bost pan mae rhywun yn bŵstio eich statws
+        report: Anfon e-bost pan y cyflwynir adroddiad newydd
     'no': Na
     required:
       mark: "*"
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 64cdab07c..1063466ca 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -8,12 +8,14 @@ da:
         bot: Denne konto udfører hovedsageligt automatiserede handlinger og bliver muligvis ikke overvåget
         context: En eller flere sammenhænge hvor filteret skal være gældende
         digest: Sendes kun efter en lang periode med inaktivitet og kun hvis du har modtaget nogle personlige beskeder mens du er væk
+        email: Du vil få tilsendt en bekræftelsed mail
         fields: Du kan have op til 4 ting vist som en tabel på din profil
         header: PNG, GIF eller JPG. Højest %{size}. Vil blive skaleret ned til %{dimensions}px
         inbox_url: Kopiere linket fra forsiden af den relay som du ønsker at bruge
         irreversible: Filtrerede trut vil forsvinde fulstændigt, selv hvis filteret senere skulle blive fjernet
         locale: Sproget på interfacet, emails og push beskeder
         locked: Kræver, at du godkender følgere manuelt
+        password: Brug mindst 8 tegn
         phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om et trut
         scopes: Hvilke APIs applikationen vil få adgang til. Hvis du vælger et højtlevel omfang, behøver du ikke vælge enkeltstående.
         setting_default_language: Sproget for dine trut kan blive fundet automatisk, men det er ikke altid præcist
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index a658038b8..b510370a3 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -8,18 +8,24 @@ eu:
         bot: Kontu honek nagusiki automatizatutako ekintzak burutzen ditu eta agian ez du inork monitorizatzen
         context: Iragazkia aplikatzeko testuinguru bat edo batzuk
         digest: Soilik jarduerarik gabeko epe luze bat eta gero, eta soilik ez zeudela mezu pertsonalen bat jaso baduzu
+        email: Baieztapen e-mail bat bidaliko zaizu
         fields: 4 elementu bistaratu ditzakezu taula batean zure profilean
         header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da
         inbox_url: Kopiatu erabili nahi duzun errelearen hasiera orriaren URLa
         irreversible: Iragazitako toot-ak betirako galduko dira, geroago iragazkia kentzen baduzu ere
         locale: Erabiltzaile-interfazea, e-mail mezuen eta jakinarazpenen hizkuntza
         locked: Jarraitzaileak eskuz onartu behar dituzu
+        password: Erabili 8 karaktere gutxienez
         phrase: Bat egingo du Maiuskula/minuskula kontuan hartu gabe eta edukiaren abisua kontuan hartu gabe
         scopes: Zeintzuk API atzitu ditzakeen aplikazioak. Goi mailako arloa aukeratzen baduzu, ez dituzu azpikoak aukeratu behar.
         setting_default_language: Zure toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza
+        setting_display_media_default: Ezkutatu hunkigarri gisa markatutako multimedia
+        setting_display_media_hide_all: Ezkutatu multimedia guztia beti
+        setting_display_media_show_all: Erakutsi beti hunkigarri gisa markatutako multimedia
         setting_hide_network: Nor jarraitzen duzun eta nork jarraitzen zaituen ez da bistaratuko zure profilean
         setting_noindex: Zure profil publiko eta toot orrietan eragina du
         setting_theme: Edozein gailutik konektatzean Mastodon-en itxuran eragiten du.
+        username: Zure erabiltzaile-izena bakana izango da %{domain} domeinuan
         whole_word: Hitz eta esaldi gakoa alfanumerikoa denean, hitz osoarekin bat datorrenean besterik ez da aplikatuko
       imports:
         data: Beste Mastodon instantzia batetik esportatutako CSV fitxategia
@@ -63,6 +69,11 @@ eu:
         setting_default_privacy: Mezuen pribatutasuna
         setting_default_sensitive: Beti markatu edukiak hunkigarri gisa
         setting_delete_modal: Erakutsi baieztapen elkarrizketa-koadroa toot bat ezabatu aurretik
+        setting_display_media: Multimedia bistaratzea
+        setting_display_media_default: Lehenetsia
+        setting_display_media_hide_all: Ezkutatu guztia
+        setting_display_media_show_all: Erakutsi guztia
+        setting_expand_spoilers: Hedatu beti edukia abisua (CW) duten  tootak
         setting_hide_network: Ezkutatu zure sarea
         setting_noindex: Atera bilaketa motorraren indexaziotik
         setting_reduce_motion: Murriztu animazioen mugimenduak
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 198fb7067..2f9c80dbe 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -18,7 +18,7 @@ fa:
         password: دست‌کم باید ۸ نویسه داشته باشد
         phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود
         scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید.
-        setting_default_language: زبان نوشته‌های شما به طور خودکار تشخیص داده می‌شود، ولی این تشخصی همیشه دقیق نیست
+        setting_default_language: زبان نوشته‌های شما به طور خودکار تشخیص داده می‌شود، ولی این تشخیص همیشه دقیق نیست
         setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن
         setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن
         setting_display_media_show_all: همیشه تصویرهایی را که به عنوان حساس علامت زده شده‌اند را نشان بده
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index c4d664877..68f5dfede 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -25,12 +25,12 @@ fr:
         setting_hide_network: Ceux que vous suivez et ceux qui vous suivent ne seront pas affichés sur votre profil
         setting_noindex: Affecte votre profil public ainsi que vos statuts
         setting_theme: Affecte l’apparence de Mastodon quand vous êtes connecté·e depuis n’importe quel appareil.
-        username: Votre nom d'utilisateur sera unique sur %{domain}
+        username: Votre nom d’utilisateur sera unique sur %{domain}
         whole_word: Lorsque le mot-clef ou la phrase-clef est uniquement alphanumérique, ça sera uniquement appliqué s’il correspond au mot entier
       imports:
         data: Un fichier CSV généré par une autre instance de Mastodon
       sessions:
-        otp: 'Entrez le code d’authentification à deux facteurs généré par l''application de votre téléphone ou utilisez un de vos codes de récupération :'
+        otp: 'Entrez le code d’authentification à deux facteurs généré par l’application de votre téléphone ou utilisez un de vos codes de récupération :'
       user:
         chosen_languages: Lorsque coché, seuls les pouets dans les langues sélectionnées seront affichés sur les fils publics
     labels:
@@ -73,7 +73,7 @@ fr:
         setting_display_media_default: Défaut
         setting_display_media_hide_all: Masquer tout
         setting_display_media_show_all: Montrer tout
-        setting_expand_spoilers: Toujours développer les pouëts marqués d'un avertissement de contenu
+        setting_expand_spoilers: Toujours développer les pouëts marqués d’un avertissement de contenu
         setting_hide_network: Cacher votre réseau
         setting_noindex: Demander aux moteurs de recherche de ne pas indexer vos informations personnelles
         setting_reduce_motion: Réduire la vitesse des animations
@@ -96,7 +96,7 @@ fr:
         follow_request: Envoyer un courriel lorsque quelqu’un demande à me suivre
         mention: Envoyer un courriel lorsque quelqu’un me mentionne
         reblog: Envoyer un courriel lorsque quelqu’un partage mes statuts
-        report: Envoyer un courriel lorsqu'un nouveau rapport est soumis
+        report: Envoyer un courriel lorsqu’un nouveau rapport est soumis
     'no': Non
     required:
       mark: "*"
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 4c6bb5acf..53ccb069e 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -8,18 +8,24 @@ it:
         bot: Questo account esegue principalmente operazioni automatiche e potrebbe non essere tenuto sotto controllo da una persona
         context: Uno o più contesti nei quali il filtro dovrebbe essere applicato
         digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza
+        email: Ti manderemo una email di conferma
         fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo
         header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
         inbox_url: Copia la URL dalla pagina iniziale del ripetitore che vuoi usare
         irreversible: I toot filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato
         locale: La lingua dell'interfaccia utente, di email e notifiche push
         locked: Richiede che approvi i follower manualmente
+        password: Usa almeno 8 caratteri
         phrase: Il confronto sarà eseguito ignorando minuscole/maiuscole e i content warning
         scopes: A quali API l'applicazione potrà avere accesso. Se selezionate un ambito di alto livello, non c'è bisogno di selezionare quelle singole.
         setting_default_language: La lingua dei tuoi toot può essere individuata automaticamente, ma il risultato non è sempre accurato
+        setting_display_media_default: Nascondi media segnati come sensibili
+        setting_display_media_hide_all: Nascondi sempre tutti i media
+        setting_display_media_show_all: Nascondi sempre i media segnati come sensibili
         setting_hide_network: Chi segui e chi segue te non saranno mostrati sul tuo profilo
         setting_noindex: Ha effetto sul tuo profilo pubblico e sulle pagine degli status
         setting_theme: Ha effetto sul modo in cui Mastodon verrà visualizzato quando sarai collegato da qualsiasi dispositivo.
+        username: Il tuo nome utente sarà unico su %{domain}
         whole_word: Quando la parola chiave o la frase è solo alfanumerica, si applica solo se corrisponde alla parola intera
       imports:
         data: File CSV esportato da un'altra istanza di Mastodon
@@ -63,6 +69,11 @@ it:
         setting_default_privacy: Privacy dei post
         setting_default_sensitive: Segna sempre i media come sensibili
         setting_delete_modal: Mostra dialogo di conferma prima di eliminare un toot
+        setting_display_media: Visualizzazione dei media
+        setting_display_media_default: Predefinita
+        setting_display_media_hide_all: Nascondi tutti
+        setting_display_media_show_all: Mostra tutti
+        setting_expand_spoilers: Espandi sempre toot con content warning
         setting_hide_network: Nascondi la tua rete
         setting_noindex: Non indicizzare dai motori di ricerca
         setting_reduce_motion: Riduci movimento nelle animazioni
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 1b17f1976..a3ddef29b 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -73,6 +73,7 @@ ja:
         setting_display_media_default: 標準
         setting_display_media_hide_all: 非表示
         setting_display_media_show_all: 表示
+        setting_expand_spoilers: 閲覧注意としてマークされたトゥートを常に展開する
         setting_favourite_modal: お気に入りをする前に確認ダイアログを表示する
         setting_hide_network: 繋がりを隠す
         setting_noindex: 検索エンジンによるインデックスを拒否する
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 4bf717c6d..86a459110 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -8,18 +8,24 @@ ko:
         bot: 사람들에게 계정이 사람이 아님을 알립니다
         context: 필터를 적용 할 한 개 이상의 컨텍스트
         digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기
+        email: 당신은 확인 메일을 받게 됩니다
         fields: 당신의 프로파일에 최대 4개까지 표 형식으로 나타낼 수 있습니다
         header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 다운스케일 됨
         inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다
         irreversible: 필터링 된 툿은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다
         locale: 유저 인터페이스, 이메일, 푸시 알림 언어
         locked: 수동으로 팔로워를 승인하고, 기본 툿 프라이버시 설정을 팔로워 전용으로 변경
+        password: 최소 8글자
         phrase: 툿 내용이나 CW 내용 안에서 대소문자 구분 없이 매칭 됩니다
         scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다.
         setting_default_language: 작성한 툿의 언어는 자동으로 인식할 수 있지만, 언제나 정확한 건 아닙니다
+        setting_display_media_default: 민감함으로 설정 된 미디어 가리기
+        setting_display_media_hide_all: 항상 모든 미디어를 가리기
+        setting_display_media_show_all: 민감함으로 설정 된 미디어를 항상 보이기
         setting_hide_network: 나를 팔로우 하는 사람들과 내가 팔로우 하는 사람들이 내 프로필에 표시되지 않게 합니다
         setting_noindex: 공개 프로필 및 각 툿페이지에 영향을 미칩니다
         setting_theme: 로그인중인 모든 디바이스에 적용되는 디자인입니다.
+        username: 당신의 유저네임은 %{domain} 안에서 유일해야 합니다
         whole_word: 키워드가 영문과 숫자로만 이루어 진 경우, 단어 전체에 매칭 되었을 때에만 작동하게 합니다
       imports:
         data: 다른 마스토돈 인스턴스에서 추출된 CSV 파일
@@ -63,6 +69,11 @@ ko:
         setting_default_privacy: 툿 프라이버시
         setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정
         setting_delete_modal: 툿 삭제 전 확인 창을 표시
+        setting_display_media: 미디어 표시
+        setting_display_media_default: 기본
+        setting_display_media_hide_all: 모두 가리기
+        setting_display_media_show_all: 모두 보이기
+        setting_expand_spoilers: 열람주의 툿을 항상 펼치기
         setting_hide_network: 내 네트워크 숨기기
         setting_noindex: 검색엔진의 인덱싱을 거절
         setting_reduce_motion: 애니메이션 줄이기
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 516c1bddf..487f6320b 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -8,18 +8,24 @@ nl:
         bot: Dit is een geautomatiseerd account en wordt mogelijk niet gemonitord
         context: Een of meerdere locaties waar de filter actief moet zijn
         digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen
+        email: Je krijgt een bevestigingsmail
         fields: Je kan maximaal 4 items als een tabel op je profiel weergeven
         header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px
         inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken
         irreversible: Gefilterde toots verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd
         locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen
         locked: Vereist dat je handmatig volgers moet accepteren
+        password: Gebruik tenminste 8 tekens
         phrase: Komt overeen ongeacht hoofd-/kleine letters of tekstwaarschuwingen
         scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen.
         setting_default_language: De taal van jouw toots kan automatisch worden gedetecteerd, maar het is niet altijd accuraat
+        setting_display_media_default: Als gevoelig gemarkeerde media verbergen
+        setting_display_media_hide_all: Media altijd verbergen
+        setting_display_media_show_all: Als gevoelig gemarkeerde media altijd verbergen
         setting_hide_network: Wie jij volgt en wie jou volgen wordt niet op jouw profiel getoond
         setting_noindex: Heeft invloed op jouw openbare profiel en toots
         setting_theme: Heeft invloed op hoe de webapp van Mastodon eruitziet (op elk apparaat waarmee je inlogt).
+        username: Jouw gebruikersnaam is uniek op %{domain}
         whole_word: Wanneer het trefwoord of zinsdeel alfanumeriek is, wordt het alleen gefilterd wanneer het hele woord overeenkomt
       imports:
         data: CSV-bestand dat op een andere Mastodonserver werd geëxporteerd
@@ -63,6 +69,11 @@ nl:
         setting_default_privacy: Standaardzichtbaarheid van jouw toots
         setting_default_sensitive: Media altijd als gevoelig markeren
         setting_delete_modal: Vraag voor het verwijderen van een toot een bevestiging
+        setting_display_media: Mediaweergave
+        setting_display_media_default: Standaard
+        setting_display_media_hide_all: Alles verbergen
+        setting_display_media_show_all: Alles tonen
+        setting_expand_spoilers: Altijd toots met tekstwaarschuwingen uitklappen
         setting_hide_network: Jouw volgers en wie je volgt verbergen
         setting_noindex: Jouw toots niet door zoekmachines laten indexeren
         setting_reduce_motion: Langzamere animaties
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 11bf1dc8b..c7cc2b471 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -8,18 +8,24 @@ oc:
         bot: Avisar lo monde qu’aqueste compte es pas d’una persona
         context: Un o mai de contèxtes ont lo filtre deuriá s’aplicar
         digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia
+        email: Vos mandarem un corrièl de confirmacion
         fields: Podètz far veire cap a 4 elements sus vòstre perfil
         header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px
         inbox_url: Copiatz l’URL de la pagina màger del relai que volètz utilizar
         irreversible: Los tuts filtrats desapareisseràn irreversiblament, encara que lo filtre siá suprimit mai tard
         locale: La lenga de l’interfàcia d’utilizacion, los messatges e las notificacions
         locked: Demanda qu’acceptetz manualament lo mond que vos sègon e botarà la visibilitat de vòstras publicacions coma accessiblas a vòstres seguidors solament
+        password: Utilizatz almens 8 caractèrs
         phrase: Serà pres en compte que siá en majuscula o minuscula o dins un avertiment de contengut sensible
         scopes: A quinas APIs poiràn accedir las aplicacions. Se seleccionatz un encastre de naut nivèl, fa pas mestièr de seleccionar los nivèls mai basses.
         setting_default_language: La lenga de vòstres tuts pòt èsser detectada automaticament, mas de còps es pas corrèctament determinada
+        setting_display_media_default: Rescondre los mèdias marcats coma sensibles
+        setting_display_media_hide_all: Totjorn rescondre los mèdias
+        setting_display_media_show_all: Totjorn mostrar los mèdias marcats coma sensibles
         setting_hide_network: Vòstre perfil mostrarà pas los que vos sègon e lo monde que seguètz
         setting_noindex: Aquò es destinat a vòstre perfil public e vòstra pagina d’estatuts
         setting_theme: Aquò càmbia lo tèma grafic de Mastodon quand sètz connectat qual que siasque lo periferic.
+        username: Vòstre nom d’utilizaire serà unic sus %{domain}
         whole_word: Quand lo mot-clau o frasa es solament alfranumeric, serà pas qu’aplicat se correspond al mot complèt
       imports:
         data: Fichièr CSV exportat d’una autra instància Mastodon
@@ -63,10 +69,15 @@ oc:
         setting_default_privacy: Confidencialitat dels tuts
         setting_default_sensitive: Totjorn marcar los mèdias coma sensibles
         setting_delete_modal: Mostrar una fenèstra de confirmacion abans de suprimir un estatut
+        setting_display_media: Afichatge dels mèdias
+        setting_display_media_default: Defaut
+        setting_display_media_hide_all: O rescondre tot
+        setting_display_media_show_all: O mostrar tot
+        setting_expand_spoilers: Totjorn desplegar los tuts marcats amb un avertiment de contengut
         setting_hide_network: Amagar vòstre malhum
         setting_noindex: Èsser pas indexat pels motors de recèrca
         setting_reduce_motion: Reduire la velocitat de las animacions
-        setting_system_font_ui: Utilizar la polissa del sisèma
+        setting_system_font_ui: Utilizar la polissa del sistèma
         setting_theme: Tèma del site
         setting_unfollow_modal: Mostrar una confirmacion abans de quitar de sègre qualqu’un
         severity: Severitat
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 6fc5ca061..71aff333e 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -8,18 +8,24 @@ pt-BR:
         bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada
         context: Um ou mais contextos onde o filtro deve ser aplicado
         digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência
+        email: Você receberá um email de confirmação
         fields: Você pode ter até 4 itens exibidos em forma de tabela no seu perfil
         header: PNG, GIF or JPG. Arquivos de até %{size}. Eles serão diminuídos para %{dimensions}px
         inbox_url: Copie a URL da página inicial do repetidor que você quer usar
         irreversible: Os toots filtrados vão desaparecer irreversivelmente, mesmo se o filtro for removido depois
         locale: O idioma das telas de usuário, e-mails e notificações push
         locked: Requer aprovação manual de seguidores
+        password: Use pelo menos 8 caracteres
         phrase: Vai coincidir, independente de maiúsculas ou minúsculas, no texto ou no aviso de conteúdo de um toot
         scopes: Quais APIs a aplicação vai ter permissão de acessar. Se você selecionar um escopo de alto nível, você não precisa selecionar individualmente os outros.
         setting_default_language: O idioma de seus toots pode ser detectado automaticamente, mas isso nem sempre é preciso
+        setting_display_media_default: Esconder mídia marcada como sensível
+        setting_display_media_hide_all: Sempre esconder todas as mídias
+        setting_display_media_show_all: Sempre mostrar mídia marcada como sensível
         setting_hide_network: Quem você segue e quem segue você não serão exibidos no seu perfil
         setting_noindex: Afeta seu perfil público e as páginas de suas postagens
         setting_theme: Afeta a aparência do Mastodon quando em sua conta em qualquer aparelho.
+        username: Seu nome de usuário será único em %{domain}
         whole_word: Quando a palavra ou frase é inteiramente alfanumérica, ela será aplicada somente se corresponder a palavra inteira
       imports:
         data: Arquivo CSV exportado de outra instância do Mastodon
@@ -63,6 +69,11 @@ pt-BR:
         setting_default_privacy: Privacidade das postagens
         setting_default_sensitive: Sempre marcar mídia como sensível
         setting_delete_modal: Mostrar diálogo de confirmação antes de deletar uma postagem
+        setting_display_media: Exibição das mídias
+        setting_display_media_default: Padrão
+        setting_display_media_hide_all: Esconder tudo
+        setting_display_media_show_all: Mostrar tudo
+        setting_expand_spoilers: Sempre expandir toots marcados com aviso de conteúdo
         setting_hide_network: Esconder as suas redes
         setting_noindex: Não quero ser indexado por mecanismos de busca
         setting_reduce_motion: Reduz movimento em animações
@@ -85,6 +96,7 @@ pt-BR:
         follow_request: Mandar um e-maill quando alguém solicitar ser seu seguidor
         mention: Mandar um e-mail quando alguém te mencionar
         reblog: Mandar um e-mail quando alguém compartilhar suas postagens
+        report: Mandar um e-mail quando uma nova denúncia é submetida
     'no': Não
     required:
       mark: "*"
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 3c3a21480..618446db1 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -3,10 +3,15 @@ sl:
   simple_form:
     hints:
       defaults:
+        autofollow: Osebe, ki se prijavijo prek povabila, vas bodo samodejno sledile
         avatar: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px
-        bot: Opozarja ljudi, da račun ne predstavlja osebe
+        bot: Ta račun v glavnem opravlja samodejna dejanja in morda ni pod nadzorom
+        context: En ali več kontekstov, kjer naj se uporabi filter
         digest: Pošlje se le po dolgem obdobju nedejavnosti in samo, če ste prejeli osebna sporočila v vaši odsotnosti
+        email: Poslali vam bomo potrditveno e-pošto
         fields: Na svojem profilu lahko imate do 4 predmete prikazane kot tabelo.
         header: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px
+        inbox_url: Kopirajte URL naslov s prve strani releja, ki ga želite uporabiti
+        irreversible: Filtrirani trobi bodo nepovratno izginili, tudi če je filter kasneje odstranjen
       imports:
         data: Izvožena CSV datoteka iz drugega Mastodon vozlišča
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index 0ef85eaba..eac64988f 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -12,7 +12,7 @@ sr-Latn:
       imports:
         data: CSV fajl izvezen sa druge Mastodont instance
       sessions:
-        otp: Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak.
+        otp: 'Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak:'
     labels:
       defaults:
         avatar: Avatar
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index 1af52a41c..c6294d4ba 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -14,6 +14,7 @@ sr:
         irreversible: Филтриранe трубе ће нестати неповратно, чак и ако је филтер касније уклоњен
         locale: Језик корисничког интерфејса, е-поште и мобилних обавештења
         locked: Захтева да појединачно одобрите пратиоце
+        password: Користите најмање 8 знакова
         phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају трубе
         scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
         setting_default_language: Језик ваших труба може бити аутоматски откривен, али није увек прецизан
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index f7ef65423..0e9d7d3aa 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -5,10 +5,13 @@ sl:
     about_mastodon_html: Mastodon je socialno omrežje, ki temelji na odprtih spletnih protokolih in prosti ter odprtokodni programski opremi. Je decentraliziran, kot e-pošta.
     about_this: O Mastodonu
     administered_by: 'Upravlja:'
+    api: API
+    apps: Mobilne aplikacije
     closed_registrations: Registracije so trenutno zaprte na tem vozlišču. Vendar! Tukaj lahko najdete druga vozlišča, na katerih se prijavite in dostopate do istega omrežja od tam.
     contact: Kontakt
     contact_missing: Ni nastavljeno
     contact_unavailable: Ni na voljo
+    documentation: Dokumentacija
     extended_description_html: |
       <h3>Dober prostor za pravila</h3>
       <p>Razširjen opis še ni bil nastavljen.</p>
@@ -37,7 +40,11 @@ sl:
     nothing_here: Nič ni tukaj!
     people_followed_by: Ljudje, ki jim sledi %{name}
     people_who_follow: Ljudje, ki sledijo %{name}
-    posts: Tuti
+    posts:
+      few: Trob
+      one: Trob
+      other: Trob
+      two: Trob
     posts_with_replies: Tuti in odgovori
     reserved_username: Uporabniško ime je zasedeno
     roles:
@@ -100,3 +107,11 @@ sl:
         most_recent: Najnovejše
         title: Red
       promote: Spodbujanje
+  remote_interaction:
+    prompt: 'Želite interakcijo s tem trobom:'
+  statuses:
+    pin_errors:
+      ownership: Trob nekoga drugega ne more biti pripet
+      private: Nejavnega troba ni mogoče pripeti
+  stream_entries:
+    pinned: Pripet trob
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 12867f4eb..1e32190cc 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -199,7 +199,7 @@ sr-Latn:
           suspend: Suspenzija
         title: Novo blokiranje domena
       reject_media: Odbaci multimediju
-      reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida na dalje. Nebitno je za suspenziju.
+      reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida na dalje. Nebitno je za suspenziju
       severities:
         noop: Ništa
         silence: Ućutkavanje
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 44ed5b99e..b0b8e9ba0 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -224,6 +224,7 @@ th:
       too_many: แนบมากกว่า 4 ไฟล์ไม่ได้
   notification_mailer:
     digest:
+      body: Here is a brief summary of the messages you missed since your last visit on %{since}
       mention: "%{name} ส่งข้อความถึงคุณ:"
       new_followers_summary:
         one: ยินดีด้วยคุณได้ผู้ติดตามคนใหม่! Yay!
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 3a7c2e68e..bc0a558e1 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -87,7 +87,7 @@ tr:
           suspend: Uzaklaştır
         title: Yeni domain bloğu
       reject_media: Ortam dosyalarını reddetme
-      reject_media_hint: Yerel olarak depolanmış ortam dosyalarını ve gelecekte indirilecek olanları reddeder. Uzaklaştırma için uygun değildir.
+      reject_media_hint: Yerel olarak depolanmış ortam dosyalarını ve gelecekte indirilecek olanları reddeder. Uzaklaştırma için uygun değildir
       severities:
         silence: Sustur
         suspend: Uzaklaştır
@@ -97,8 +97,8 @@ tr:
           one: Veritabanındaki bir hesap etkilendi
           other: Veritabanındaki %{count} hesap etkilendi
         retroactive:
-          silence: Bu domaindeki tüm hesapların üzerindeki susturulma işlemini kaldır.
-          suspend: Bu domaindeki tüm hesapların üzerindeki uzaklaştırma işlemini kaldır.
+          silence: Bu domaindeki tüm hesapların üzerindeki susturulma işlemini kaldır
+          suspend: Bu domaindeki tüm hesapların üzerindeki uzaklaştırma işlemini kaldır
         title: "%{domain} domain'i için yapılan işlemi geri al"
         undo: Geri al
       title: Domain Blokları
@@ -124,7 +124,7 @@ tr:
         username: Bir kullanıcı adı giriniz
       registrations:
         closed_message:
-          desc_html: Kayıt alımları kapatıldığında ana sayfada görüntülenecek mesajdır. <br> HTML etiketleri kullanabilirsiniz.
+          desc_html: Kayıt alımları kapatıldığında ana sayfada görüntülenecek mesajdır. <br> HTML etiketleri kullanabilirsiniz
           title: Kayıt alımları kapatılma mesajı
         open:
           title: Kayıt alımları
@@ -132,7 +132,7 @@ tr:
         desc_html: Ana sayfada paragraf olarak görüntülenecek bilgidir.<br>Özellikle <code>&lt;a&gt;</code> ve <code>&lt;em&gt;</code> olmak suretiyle HTML etiketlerini kullanabilirsiniz.
         title: Site açıklaması
       site_description_extended:
-        desc_html: Harici bilgi sayfasında gösterilir.<br>HTML etiketleri girebilirsiniz.
+        desc_html: Harici bilgi sayfasında gösterilir.<br>HTML etiketleri girebilirsiniz
         title: Sunucu hakkında detaylı bilgi
       site_title: Site başlığı
       title: Site Ayarları
@@ -160,7 +160,7 @@ tr:
     security: Kimlik bilgileri
     set_new_password: Yeni parola oluştur
   authorize_follow:
-    error: Uzak hesap aranırken bir hata oluştu.
+    error: Uzak hesap aranırken bir hata oluştu
     follow: Takip et
     title: "%{acct}'i takip et"
   datetime:
@@ -218,7 +218,7 @@ tr:
     upload: Yükle
   media_attachments:
     validations:
-      images_and_video: Halihazırda görsel içeren bir gönderiye video ekleyemezsiniz.
+      images_and_video: Halihazırda görsel içeren bir gönderiye video ekleyemezsiniz
       too_many: 4'ten fazla dosya ekleyemezsiniz
   notification_mailer:
     digest:
@@ -285,7 +285,7 @@ tr:
       public: Herkese açık
       public_long: Herkese açık zaman tüneline gönder
       unlisted: Listelenmemiş
-      unlisted_long: Herkes görebilir fakat herkese açık zaman tünellerinde listelenmez.
+      unlisted_long: Herkes görebilir fakat herkese açık zaman tünellerinde listelenmez
   stream_entries:
     reblogged: boost edildi
     sensitive_content: Hassas içerik
@@ -297,7 +297,7 @@ tr:
     description_html: Eğer <strong>iki-faktörlü kimlik doğrulamayı</strong> aktif ederseniz, giriş yaparken sizin için giriş kodu üreten telefonunuza ihtiyaç duyacaksınız.
     disable: Devre dışı bırak
     enable: Aktifleştir
-    enabled_success: İki-faktörlü kimlik doğrulama başarıyla aktif edildi.
+    enabled_success: İki-faktörlü kimlik doğrulama başarıyla aktif edildi
     generate_recovery_codes: Kurtarma Kodlarını Oluştur
     instructions_html: <strong>Bu QR kodunu, telefonunuzdaki <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> veya benzer bir TOTP uygulamasıyla taratınız</strong>. Bundan sonra giriş yaparken uygulamanın ürettiği kodu kullanarak giriş yapacaksınız.
     lost_recovery_codes: Kurtarma kodları telefonunuzu kaybettiğiniz durumlarda hesabınıza erişim yapabilmenize olanak tanır. Eğer kurtarma kodlarınızı kaybettiyseniz burada tekrar oluşturabilirsiniz. Eski kurtarma kodlarınız geçersiz hale gelecektir.
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 986ef70ad..e4ea774ec 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -241,7 +241,7 @@ uk:
           suspend: Блокування
         title: Нове блокування домену
       reject_media: Заборонити медіаконтент
-      reject_media_hint: Видаляє медіаконтент, збережений локально, і забороняє його завантаження у майбутньому. Не має значення у випадку блокування.
+      reject_media_hint: Видаляє медіаконтент, збережений локально, і забороняє його завантаження у майбутньому. Не має значення у випадку блокування
       severities:
         noop: Нічого
         silence: Глушення
@@ -350,7 +350,7 @@ uk:
           desc_html: Дозволити будь-ком створювати аккаунт
           title: Відкрити реєстрацію
       show_known_fediverse_at_about_page:
-        desc_html: Коли увімкнено, будуть показані пости з усього відомого федисвіту у передпоказі. Інакше будуть показані локальні пости
+        desc_html: Коли увімкнено, будуть показані пости з усього відомого федисвіту у передпоказі. Інакше будуть показані локальні пости.
         title: Показувати доступний федисвіт у передпоказі фіду
       show_staff_badge:
         desc_html: Відмічати персонал на сторінці користувачів
@@ -368,7 +368,7 @@ uk:
         title: Особливі умови використання
       site_title: Назва сайту
       thumbnail:
-        desc_html: Використовується для передпоказів через OpenGraph та API. Бажано розміром 1200х640 пікселів.
+        desc_html: Використовується для передпоказів через OpenGraph та API. Бажано розміром 1200х640 пікселів
         title: Мініатюра інстанції
       timeline_preview:
         desc_html: Показувати публічний фід на головній сторінці
@@ -477,7 +477,7 @@ uk:
     '410': Сторінка, яку Ви шукали, більше не існує.
     '422':
       content: Перевірка безпеки не вдалася. Можливо, Ви блокуєте cookies?
-      title: Перевірка безпеки не вдалася.
+      title: Перевірка безпеки не вдалася
     '429': Забагато запитів
     '500':
       content: Пробачте, та щось пішло не так з нашого боку.
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index ca2d388b0..a32f36e32 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -45,7 +45,7 @@ zh-CN:
     joined: 加入于 %{date}
     media: 媒体
     moved_html: "%{name} 已经迁移到 %{new_profile_link}:"
-    network_hidden: 此信息不可用。
+    network_hidden: 此信息不可用
     nothing_here: 这里神马都没有!
     people_followed_by: "%{name} 关注的人"
     people_who_follow: 关注 %{name} 的人
@@ -322,7 +322,7 @@ zh-CN:
         create_and_resolve: 添加记录并标记为“已处理”
         create_and_unresolve: 添加记录并重开
         delete: 删除
-        placeholder: 描述已经执行的操作,或其他任何相关的跟进情况
+        placeholder: 描述已经执行的操作,或其他任何相关的跟进情况…
       reopen: 重开举报
       report: '举报 #%{id}'
       reported_account: 举报用户
@@ -370,7 +370,7 @@ zh-CN:
           desc_html: 允许所有人建立帐户
           title: 开放注册
       show_known_fediverse_at_about_page:
-        desc_html: 启用此选项将会在预览中显示来自已知实例的嘟文,否则只会显示本站时间轴的内容
+        desc_html: 启用此选项将会在预览中显示来自已知实例的嘟文,否则只会显示本站时间轴的内容.
         title: 在时间轴预览中显示已知实例
       show_staff_badge:
         desc_html: 在个人资料页上显示管理人员标志
@@ -756,7 +756,7 @@ zh-CN:
       default: "%Y年%-m月%d日 %H:%M"
   two_factor_authentication:
     code_hint: 输入认证器生成的代码以确认操作
-    description_html: 启用<strong>双重认证</strong>后,你需要输入手机认证器生成的代码才能登录
+    description_html: 启用<strong>双重认证</strong>后,你需要输入手机认证器生成的代码才能登录.
     disable: 停用
     enable: 启用
     enabled: 双重认证已启用
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index 939093595..7296587a3 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -217,7 +217,7 @@ zh-HK:
           suspend: 自動刪除
         title: 新增域名阻隔
       reject_media: 拒絕媒體檔案
-      reject_media_hint: 刪除本地緩存的媒體檔案,再也不在未來下載這個站點的檔案。和自動刪除無關。
+      reject_media_hint: 刪除本地緩存的媒體檔案,再也不在未來下載這個站點的檔案。和自動刪除無關
       severities:
         noop: 無
         silence: 自動靜音
@@ -299,7 +299,7 @@ zh-HK:
         email: 輸入一個公開的電郵地址
         username: 輸入用戶名稱
       hero:
-        desc_html: 在首頁顯示。推薦最小 600x100px。如果留空,就會默認為服務站縮圖。
+        desc_html: 在首頁顯示。推薦最小 600x100px。如果留空,就會默認為服務站縮圖
         title: 主題圖片
       peers_api_enabled:
         desc_html: 現時本服務站在網絡中已發現的域名
@@ -731,6 +731,6 @@ zh-HK:
   users:
     invalid_email: 電郵地址格式不正確
     invalid_otp_token: 雙重認證確認碼不正確
-    otp_lost_help_html: 如果你無法訪問這兩者,可以通過 %{email} 與我們聯繫。
+    otp_lost_help_html: 如果你無法訪問這兩者,可以通過 %{email} 與我們聯繫
     seamless_external_login: 由於你是從外部系統登入,所以不能設定密碼和電郵。
     signed_in_as: 目前登入的帳戶:
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 8748d9619..e8ed1fade 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -21,7 +21,7 @@ module Mastodon
     end
 
     def flags
-      'rc2'
+      'rc3'
     end
 
     def to_a
diff --git a/spec/lib/formatter_spec.rb b/spec/lib/formatter_spec.rb
index ec4a6493d..0c1efe7c3 100644
--- a/spec/lib/formatter_spec.rb
+++ b/spec/lib/formatter_spec.rb
@@ -514,7 +514,7 @@ RSpec.describe Formatter do
     subject { Formatter.instance.sanitize(html, Sanitize::Config::MASTODON_STRICT) }
 
     it 'sanitizes' do
-      is_expected.to eq 'alert("Hello")'
+      is_expected.to eq ''
     end
   end
 end