about summary refs log tree commit diff
path: root/app/javascript
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2020-07-15 14:59:26 +0200
committerGitHub <noreply@github.com>2020-07-15 14:59:26 +0200
commitd9cad44ca54374cafa0c97775083bb1bc0a5a3ce (patch)
tree4c525ae4b0cbbdecb06c9ebbef9ede79c4523c8a /app/javascript
parent376b44853fc5cde256986d61dd5eafcf1067de5d (diff)
New Crowdin updates (#14285)
* New translations en.json (Bulgarian)
[ci skip]

* New translations doorkeeper.en.yml (Romanian)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations doorkeeper.en.yml (Greek)
[ci skip]

* New translations en.json (Basque)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations doorkeeper.en.yml (Basque)
[ci skip]

* New translations en.json (Finnish)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations doorkeeper.en.yml (Finnish)
[ci skip]

* New translations en.json (Hebrew)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations doorkeeper.en.yml (Hebrew)
[ci skip]

* New translations doorkeeper.en.yml (Hungarian)
[ci skip]

* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations en.json (Armenian)
[ci skip]

* New translations en.json (Greek)
[ci skip]

* New translations en.json (Danish)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations doorkeeper.en.yml (German)
[ci skip]

* New translations doorkeeper.en.yml (Catalan)
[ci skip]

* New translations en.json (Czech)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations simple_form.en.yml (Danish)
[ci skip]

* New translations doorkeeper.en.yml (Danish)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations doorkeeper.en.yml (Breton)
[ci skip]

* New translations doorkeeper.en.yml (Malayalam)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.yml (Breton)
[ci skip]

* New translations simple_form.en.yml (Breton)
[ci skip]

* New translations en.json (Kannada)
[ci skip]

* New translations en.yml (Kannada)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations doorkeeper.en.yml (Asturian)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Malayalam)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.yml (Malayalam)
[ci skip]

* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations doorkeeper.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations doorkeeper.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations doorkeeper.en.yml (Ido)
[ci skip]

* New translations doorkeeper.en.yml (Occitan)
[ci skip]

* New translations en.yml (Taigi)
[ci skip]

* New translations en.yml (Sorani (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.yml (Uyghur)
[ci skip]

* New translations en.json (Uyghur)
[ci skip]

* New translations en.yml (Silesian)
[ci skip]

* New translations en.json (Silesian)
[ci skip]

* New translations en.json (Taigi)
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations doorkeeper.en.yml (Kabyle)
[ci skip]

* New translations simple_form.en.yml (Kabyle)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations doorkeeper.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations doorkeeper.en.yml (Tamil)
[ci skip]

* New translations simple_form.en.yml (Tamil)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations doorkeeper.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations doorkeeper.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations doorkeeper.en.yml (Icelandic)
[ci skip]

* New translations simple_form.en.yml (Icelandic)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Sardinian)
[ci skip]

* New translations en.yml (Sardinian)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]

* New translations simple_form.en.yml (Bengali)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations simple_form.en.yml (Kazakh)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.yml (Hindi)
[ci skip]

* New translations en.json (Hindi)
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations doorkeeper.en.yml (Estonian)
[ci skip]

* New translations simple_form.en.yml (Estonian)
[ci skip]

* New translations en.yml (Estonian)
[ci skip]

* New translations en.json (Estonian)
[ci skip]

* New translations doorkeeper.en.yml (Kazakh)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations doorkeeper.en.yml (Norwegian Nynorsk)
[ci skip]

* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]

* New translations en.yml (Norwegian Nynorsk)
[ci skip]

* New translations en.json (Norwegian Nynorsk)
[ci skip]

* New translations doorkeeper.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (Croatian)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations doorkeeper.en.yml (Thai)
[ci skip]

* New translations doorkeeper.en.yml (Marathi)
[ci skip]

* New translations en.yml (Marathi)
[ci skip]

* New translations en.json (Marathi)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.json (Arabic)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.json (Arabic)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations simple_form.en.yml (Arabic)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations en.json (French)
[ci skip]

* New translations en.json (Italian)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Japanese)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Albanian)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations doorkeeper.en.yml (Malayalam)
[ci skip]

* New translations activerecord.en.yml (Malayalam)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Hungarian)
[ci skip]

* New translations en.json (Armenian)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations simple_form.en.yml (Kabyle)
[ci skip]

* New translations activerecord.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Kabyle)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations devise.en.yml (Breton)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations devise.en.yml (Breton)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Greek)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Greek)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* i18n-tasks normalize

* yarn manage:translations
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/mastodon/locales/ar.json14
-rw-r--r--app/javascript/mastodon/locales/br.json96
-rw-r--r--app/javascript/mastodon/locales/ca.json12
-rw-r--r--app/javascript/mastodon/locales/co.json4
-rw-r--r--app/javascript/mastodon/locales/de.json10
-rw-r--r--app/javascript/mastodon/locales/el.json24
-rw-r--r--app/javascript/mastodon/locales/es-AR.json4
-rw-r--r--app/javascript/mastodon/locales/es.json4
-rw-r--r--app/javascript/mastodon/locales/fa.json8
-rw-r--r--app/javascript/mastodon/locales/fr.json4
-rw-r--r--app/javascript/mastodon/locales/gl.json4
-rw-r--r--app/javascript/mastodon/locales/hu.json4
-rw-r--r--app/javascript/mastodon/locales/hy.json24
-rw-r--r--app/javascript/mastodon/locales/it.json4
-rw-r--r--app/javascript/mastodon/locales/ja.json4
-rw-r--r--app/javascript/mastodon/locales/kab.json22
-rw-r--r--app/javascript/mastodon/locales/lv.json22
-rw-r--r--app/javascript/mastodon/locales/ml.json40
-rw-r--r--app/javascript/mastodon/locales/pt-PT.json4
-rw-r--r--app/javascript/mastodon/locales/ru.json8
-rw-r--r--app/javascript/mastodon/locales/sq.json4
-rw-r--r--app/javascript/mastodon/locales/vi.json122
-rw-r--r--app/javascript/mastodon/locales/zh-CN.json24
23 files changed, 233 insertions, 233 deletions
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 47445a4db..a0b540432 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -172,7 +172,7 @@
   "follow_request.authorize": "ترخيص",
   "follow_request.reject": "رفض",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "generic.saved": "Saved",
+  "generic.saved": "تم الحفظ",
   "getting_started.developers": "المُطوِّرون",
   "getting_started.directory": "دليل الصفحات التعريفية",
   "getting_started.documentation": "الدليل",
@@ -419,16 +419,16 @@
   "time_remaining.minutes": "{number, plural, one {# دقيقة} other {# دقائق}} متبقية",
   "time_remaining.moments": "لحظات متبقية",
   "time_remaining.seconds": "{number, plural, one {# ثانية} other {# ثوانٍ}} متبقية",
-  "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
+  "timeline_hint.remote_resource_not_displayed": "{resource} من الخوادم الأخرى لا يتم عرضها.",
   "timeline_hint.resources.followers": "المتابِعون",
   "timeline_hint.resources.follows": "المتابَعون",
   "timeline_hint.resources.statuses": "التبويقات القديمة",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
   "trends.trending_now": "المتداولة الآن",
   "ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.billion": "{count} مليار",
+  "units.short.million": "{count}  مليون",
+  "units.short.thousand": "{count}  ألف",
   "upload_area.title": "اسحب ثم أفلت للرفع",
   "upload_button.label": "إضافة وسائط ({formats})",
   "upload_error.limit": "لقد تم بلوغ الحد الأقصى المسموح به لإرسال الملفات.",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع",
   "upload_form.description": "وصف للمعاقين بصريا",
   "upload_form.edit": "تعديل",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "غيّر الصورة المصغرة",
   "upload_form.undo": "حذف",
   "upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع",
   "upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
   "upload_modal.apply": "طبّق",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "اختر صورة",
   "upload_modal.description_placeholder": "نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق",
   "upload_modal.detect_text": "اكتشف النص مِن الصورة",
   "upload_modal.edit_media": "تعديل الوسائط",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index 7d041e3eb..e0be9d1a2 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -1,5 +1,5 @@
 {
-  "account.account_note_header": "Note",
+  "account.account_note_header": "Notenn",
   "account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù",
   "account.badges.bot": "Robot",
   "account.badges.group": "Strollad",
@@ -15,8 +15,8 @@
   "account.follow": "Heuliañ",
   "account.followers": "Heulier·ezed·ien",
   "account.followers.empty": "Den na heul an implijer-mañ c'hoazh.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, other {{counter} Following}}",
+  "account.followers_counter": "{count, plural, other{{counter} Heulier}}",
+  "account.following_counter": "{count, plural, other {{counter} Heuliañ}}",
   "account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
   "account.follows_you": "Ho heul",
   "account.hide_reblogs": "Kuzh toudoù rannet gant @{name}",
@@ -43,7 +43,7 @@
   "account.unfollow": "Diheuliañ",
   "account.unmute": "Diguzhat @{name}",
   "account.unmute_notifications": "Diguzhat kemennoù a @{name}",
-  "account_note.placeholder": "Click to add a note",
+  "account_note.placeholder": "Klikit evit ouzhpenniñ un notenn",
   "alert.rate_limited.message": "Klaskit en-dro a-benn {retry_time, time, medium}.",
   "alert.rate_limited.title": "Feur bevennet",
   "alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.",
@@ -79,9 +79,9 @@
   "column_header.show_settings": "Diskouez an arventennoù",
   "column_header.unpin": "Dispilhennañ",
   "column_subheading.settings": "Arventennoù",
-  "community.column_settings.local_only": "Local only",
+  "community.column_settings.local_only": "Nemet lec'hel",
   "community.column_settings.media_only": "Nemet Mediaoù",
-  "community.column_settings.remote_only": "Remote only",
+  "community.column_settings.remote_only": "Nemet a-bell",
   "compose_form.direct_message_warning": "An toud-mañ a vo kaset nemet d'an implijer·ezed·ien meneget.",
   "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
   "compose_form.hashtag_warning": "Ne vo ket lakaet an toud-mañ er rolloù gerioù-klik dre mard eo anlistennet. N'eus nemet an toudoù foran a c'hall bezañ klasket dre c'her-klik.",
@@ -172,13 +172,13 @@
   "follow_request.authorize": "Aotren",
   "follow_request.reject": "Nac'hañ",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "generic.saved": "Saved",
+  "generic.saved": "Enrollet",
   "getting_started.developers": "Diorroerien",
   "getting_started.directory": "Roll ar profiloù",
   "getting_started.documentation": "Teuliadur",
   "getting_started.heading": "Loc'hañ",
   "getting_started.invite": "Pediñ tud",
-  "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
+  "getting_started.open_source_notice": "Mastodoñ zo ur meziant digor e darzh. Gallout a rit kenoberzhiañ dezhañ pe danevellañ kudennoù war GitHub e {github}.",
   "getting_started.security": "Arventennoù ar gont",
   "getting_started.terms": "Divizoù gwerzhañ hollek",
   "hashtag.column_header.tag_mode.all": "ha {additional}",
@@ -193,14 +193,14 @@
   "home.column_settings.basic": "Diazez",
   "home.column_settings.show_reblogs": "Diskouez ar skignadennoù",
   "home.column_settings.show_replies": "Diskouez ar respontoù",
-  "home.hide_announcements": "Hide announcements",
-  "home.show_announcements": "Show announcements",
+  "home.hide_announcements": "Kuzhat ar c'hemennoù",
+  "home.show_announcements": "Diskouez ar c'hemennoù",
   "intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}",
   "intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}",
   "intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}",
   "introduction.federation.action": "Da-heul",
   "introduction.federation.federated.headline": "Kevreet",
-  "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
+  "introduction.federation.federated.text": "Embannadennoù publik eus dafariaded all ar c'hevrebed a yo war-wel er red-amzer kevredet.",
   "introduction.federation.home.headline": "Degemer",
   "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
   "introduction.federation.local.headline": "Lec'hel",
@@ -223,13 +223,13 @@
   "keyboard_shortcuts.description": "Deskrivadur",
   "keyboard_shortcuts.direct": "to open direct messages column",
   "keyboard_shortcuts.down": "to move down in the list",
-  "keyboard_shortcuts.enter": "to open status",
+  "keyboard_shortcuts.enter": "evit digeriñ un toud",
   "keyboard_shortcuts.favourite": "to favourite",
   "keyboard_shortcuts.favourites": "to open favourites list",
   "keyboard_shortcuts.federated": "to open federated timeline",
   "keyboard_shortcuts.heading": "Keyboard Shortcuts",
   "keyboard_shortcuts.home": "to open home timeline",
-  "keyboard_shortcuts.hotkey": "Hotkey",
+  "keyboard_shortcuts.hotkey": "Berradur",
   "keyboard_shortcuts.legend": "to display this legend",
   "keyboard_shortcuts.local": "to open local timeline",
   "keyboard_shortcuts.mention": "to mention author",
@@ -246,13 +246,13 @@
   "keyboard_shortcuts.start": "to open \"get started\" column",
   "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
   "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
-  "keyboard_shortcuts.toot": "to start a brand new toot",
+  "keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm",
   "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
   "keyboard_shortcuts.up": "to move up in the list",
   "lightbox.close": "Serriñ",
-  "lightbox.next": "Next",
-  "lightbox.previous": "Previous",
-  "lightbox.view_context": "View context",
+  "lightbox.next": "Da-heul",
+  "lightbox.previous": "A-raok",
+  "lightbox.view_context": "Diskouez ar c'hemperzh",
   "lists.account.add": "Ouzhpennañ d'al listenn",
   "lists.account.remove": "Lemel kuit eus al listenn",
   "lists.delete": "Dilemel al listenn",
@@ -298,14 +298,14 @@
   "notification.own_poll": "Your poll has ended",
   "notification.poll": "A poll you have voted in has ended",
   "notification.reblog": "{name} boosted your status",
-  "notifications.clear": "Clear notifications",
+  "notifications.clear": "Skarzhañ ar c'hemennoù",
   "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
-  "notifications.column_settings.alert": "Desktop notifications",
+  "notifications.column_settings.alert": "Kemennoù war ar burev",
   "notifications.column_settings.favourite": "Ar re vuiañ-karet:",
-  "notifications.column_settings.filter_bar.advanced": "Display all categories",
+  "notifications.column_settings.filter_bar.advanced": "Skrammañ an-holl rummadoù",
   "notifications.column_settings.filter_bar.category": "Barrenn siloù prim",
   "notifications.column_settings.filter_bar.show": "Diskouez",
-  "notifications.column_settings.follow": "New followers:",
+  "notifications.column_settings.follow": "Heulierien nevez:",
   "notifications.column_settings.follow_request": "New follow requests:",
   "notifications.column_settings.mention": "Menegoù:",
   "notifications.column_settings.poll": "Disoc'hoù ar sontadeg:",
@@ -316,7 +316,7 @@
   "notifications.filter.all": "Pep tra",
   "notifications.filter.boosts": "Skignadennoù",
   "notifications.filter.favourites": "Muiañ-karet",
-  "notifications.filter.follows": "Follows",
+  "notifications.filter.follows": "Heuliañ",
   "notifications.filter.mentions": "Menegoù",
   "notifications.filter.polls": "Disoc'hoù ar sontadegoù",
   "notifications.group": "{count} a gemennoù",
@@ -350,8 +350,8 @@
   "report.forward": "Treuzkas da: {target}",
   "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
   "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
-  "report.placeholder": "Additional comments",
-  "report.submit": "Submit",
+  "report.placeholder": "Askelennoù ouzhpenn",
+  "report.submit": "Kinnig",
   "report.target": "Report {target}",
   "search.placeholder": "Klask",
   "search_popout.search_format": "Advanced search format",
@@ -367,24 +367,24 @@
   "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
   "status.admin_account": "Open moderation interface for @{name}",
   "status.admin_status": "Open this status in the moderation interface",
-  "status.block": "Block @{name}",
+  "status.block": "Berzañ @{name}",
   "status.bookmark": "Ouzhpennañ d'ar sinedoù",
   "status.cancel_reblog_private": "Unboost",
   "status.cannot_reblog": "This post cannot be boosted",
-  "status.copy": "Copy link to status",
+  "status.copy": "Eilañ liamm an toud",
   "status.delete": "Dilemel",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "Kas ur c'hemennad da @{name}",
   "status.embed": "Enframmañ",
   "status.favourite": "Muiañ-karet",
-  "status.filtered": "Filtered",
+  "status.filtered": "Silet",
   "status.load_more": "Kargañ muioc'h",
   "status.media_hidden": "Media kuzhet",
   "status.mention": "Menegiñ @{name}",
   "status.more": "Muioc'h",
   "status.mute": "Kuzhat @{name}",
   "status.mute_conversation": "Kuzhat ar gaozeadenn",
-  "status.open": "Expand this status",
+  "status.open": "Kreskaat an toud-mañ",
   "status.pin": "Spilhennañ d'ar profil",
   "status.pinned": "Toud spilhennet",
   "status.read_more": "Lenn muioc'h",
@@ -393,23 +393,23 @@
   "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": "Delete & re-draft",
-  "status.remove_bookmark": "Remove bookmark",
+  "status.remove_bookmark": "Dilemel ar sined",
   "status.reply": "Respont",
-  "status.replyAll": "Reply to thread",
+  "status.replyAll": "Respont d'ar gaozeadenn",
   "status.report": "Disklêriañ @{name}",
   "status.sensitive_warning": "Sensitive content",
   "status.share": "Rannañ",
-  "status.show_less": "Show less",
+  "status.show_less": "Diskouez nebeutoc'h",
   "status.show_less_all": "Show less for all",
-  "status.show_more": "Show more",
+  "status.show_more": "Diskouez muioc'h",
   "status.show_more_all": "Show more for all",
-  "status.show_thread": "Show thread",
-  "status.uncached_media_warning": "Not available",
+  "status.show_thread": "Diskouez ar gaozeadenn",
+  "status.uncached_media_warning": "Dihegerz",
   "status.unmute_conversation": "Diguzhat ar gaozeadenn",
   "status.unpin": "Dispilhennañ eus ar profil",
   "suggestions.dismiss": "Dismiss suggestion",
   "suggestions.header": "You might be interested in…",
-  "tabs_bar.federated_timeline": "Federated",
+  "tabs_bar.federated_timeline": "Kevredet",
   "tabs_bar.home": "Degemer",
   "tabs_bar.local_timeline": "Lec'hel",
   "tabs_bar.notifications": "Kemennoù",
@@ -420,9 +420,9 @@
   "time_remaining.moments": "Moments remaining",
   "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
   "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
-  "timeline_hint.resources.followers": "Followers",
-  "timeline_hint.resources.follows": "Follows",
-  "timeline_hint.resources.statuses": "Older toots",
+  "timeline_hint.resources.followers": "Heulier·ezed·ien",
+  "timeline_hint.resources.follows": "Heuliañ",
+  "timeline_hint.resources.statuses": "Toudoù koshoc'h",
   "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
   "trends.trending_now": "Luskad ar mare",
   "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
@@ -436,24 +436,24 @@
   "upload_form.audio_description": "Describe for people with hearing loss",
   "upload_form.description": "Describe for the visually impaired",
   "upload_form.edit": "Aozañ",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Kemmañ ar velvenn",
   "upload_form.undo": "Dilemel",
   "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
   "upload_modal.analyzing_picture": "Analyzing picture…",
-  "upload_modal.apply": "Apply",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.apply": "Arloañ",
+  "upload_modal.choose_image": "Dibab ur skeudenn",
   "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
-  "upload_modal.detect_text": "Detect text from picture",
-  "upload_modal.edit_media": "Edit media",
+  "upload_modal.detect_text": "Dinoiñ testenn diouzh ar skeudenn",
+  "upload_modal.edit_media": "Embann ar media",
   "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
-  "upload_modal.preview_label": "Preview ({ratio})",
+  "upload_modal.preview_label": "Rakwel ({ratio})",
   "upload_progress.label": "O pellgargañ...",
-  "video.close": "Close video",
+  "video.close": "Serriñ ar video",
   "video.download": "Pellgargañ ar restr",
-  "video.exit_fullscreen": "Exit full screen",
+  "video.exit_fullscreen": "Kuitaat ar mod skramm leun",
   "video.expand": "Expand video",
-  "video.fullscreen": "Full screen",
-  "video.hide": "Hide video",
+  "video.fullscreen": "Skramm a-bezh",
+  "video.hide": "Kuzhat ar video",
   "video.mute": "Mute sound",
   "video.pause": "Pause",
   "video.play": "Play",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 3f8aba70d..04a37fc03 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -15,8 +15,8 @@
   "account.follow": "Segueix",
   "account.followers": "Seguidors",
   "account.followers.empty": "Encara ningú no segueix aquest usuari.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, other {{counter} Following}}",
+  "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}",
+  "account.following_counter": "{count, plural, one {} other {{counter} Seguint}}",
   "account.follows.empty": "Aquest usuari encara no segueix a ningú.",
   "account.follows_you": "Et segueix",
   "account.hide_reblogs": "Amaga els impulsos de @{name}",
@@ -36,7 +36,7 @@
   "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",
   "account.share": "Comparteix el perfil de @{name}",
   "account.show_reblogs": "Mostra els impulsos de @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}",
   "account.unblock": "Desbloqueja @{name}",
   "account.unblock_domain": "Mostra {domain}",
   "account.unendorse": "No recomanar en el perfil",
@@ -423,7 +423,7 @@
   "timeline_hint.resources.followers": "Seguidors",
   "timeline_hint.resources.follows": "Seguiments",
   "timeline_hint.resources.statuses": "Tuts més antics",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-hi",
   "trends.trending_now": "Ara en tendència",
   "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
   "units.short.billion": "{count}B",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva",
   "upload_form.description": "Descriure els problemes visuals",
   "upload_form.edit": "Edita",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Canvia la miniatura",
   "upload_form.undo": "Esborra",
   "upload_form.video_description": "Descriu per a les persones amb pèrdua auditiva o deficiència visual",
   "upload_modal.analyzing_picture": "Analitzant imatge…",
   "upload_modal.apply": "Aplica",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Tria imatge",
   "upload_modal.description_placeholder": "Uns salts ràpids de guineu marró sobre el gos gandul",
   "upload_modal.detect_text": "Detecta el text de l'imatge",
   "upload_modal.edit_media": "Editar multimèdia",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 48a7bd887..1bd9cda0b 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Discrizzione per i ciochi",
   "upload_form.description": "Discrive per i malvistosi",
   "upload_form.edit": "Mudificà",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Cambià vignetta",
   "upload_form.undo": "Sguassà",
   "upload_form.video_description": "Discrizzione per i ciochi o cechi",
   "upload_modal.analyzing_picture": "Analisi di u ritrattu…",
   "upload_modal.apply": "Affettà",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Cambià ritrattu",
   "upload_modal.description_placeholder": "Chì tempi brevi ziu, quandu solfeghji",
   "upload_modal.detect_text": "Ditettà testu da u ritrattu",
   "upload_modal.edit_media": "Cambià media",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index bf41eebe8..d0274b077 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -94,7 +94,7 @@
   "compose_form.poll.remove_option": "Wahl entfernen",
   "compose_form.poll.switch_to_multiple": "Umfrage ändern, um mehrere Optionen zu erlauben",
   "compose_form.poll.switch_to_single": "Umfrage ändern, um eine einzige Wahl zu erlauben",
-  "compose_form.publish": "Tröt",
+  "compose_form.publish": "Beitrag",
   "compose_form.publish_loud": "{publish}!",
   "compose_form.sensitive.hide": "Medien als heikel markieren",
   "compose_form.sensitive.marked": "Medien sind als heikel markiert",
@@ -118,7 +118,7 @@
   "confirmations.mute.explanation": "Dies wird Beiträge von dieser Person und Beiträge, die diese Person erwähnen, ausblenden, aber es wird der Person trotzdem erlauben, deine Beiträge zu sehen und dir zu folgen.",
   "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 Tröt löschen und neu erstellen möchtest? Favs, geteilte Beiträge und Antworten werden verloren gehen.",
+  "confirmations.redraft.message": "Bist du dir sicher, dass du diesen Beitrag löschen und neu machen möchtest? Favoriten und Boosts werden verloren gehen und Antworten zu diesem Beitrag werden verwaist sein.",
   "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",
@@ -355,7 +355,7 @@
   "report.target": "{target} melden",
   "search.placeholder": "Suche",
   "search_popout.search_format": "Fortgeschrittenes Suchformat",
-  "search_popout.tips.full_text": "Einfache Texteingabe gibt Tröts, die du geschrieben, gefavt und geteilt hast zurück. Außerdem auch Tröts, in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen, oder Hashtags.",
+  "search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast zurück. Außerdem auch Beiträge in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen oder Hashtags.",
   "search_popout.tips.hashtag": "Hashtag",
   "search_popout.tips.status": "Beitrag",
   "search_popout.tips.text": "Einfache Texteingabe gibt Anzeigenamen, Benutzernamen und Hashtags zurück",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen",
   "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",
   "upload_form.edit": "Bearbeiten",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Miniaturansicht ändern",
   "upload_form.undo": "Löschen",
   "upload_form.video_description": "Beschreibe das Video für Menschen mit einer Hör- oder Sehbehinderung",
   "upload_modal.analyzing_picture": "Analysiere Bild…",
   "upload_modal.apply": "Übernehmen",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Bild auswählen",
   "upload_modal.description_placeholder": "Die heiße Zypernsonne quälte Max und Victoria ja böse auf dem Weg bis zur Küste",
   "upload_modal.detect_text": "Text aus Bild erkennen",
   "upload_modal.edit_media": "Medien bearbeiten",
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index a137adf41..74b3e1c9a 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -1,5 +1,5 @@
 {
-  "account.account_note_header": "Note",
+  "account.account_note_header": "Σημείωση",
   "account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες",
   "account.badges.bot": "Μποτ",
   "account.badges.group": "Ομάδα",
@@ -15,8 +15,8 @@
   "account.follow": "Ακολούθησε",
   "account.followers": "Ακόλουθοι",
   "account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, other {{counter} Following}}",
+  "account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}",
+  "account.following_counter": "{count, plural, one {} other {{counter} Ακολουθεί}}",
   "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
   "account.follows_you": "Σε ακολουθεί",
   "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
@@ -36,14 +36,14 @@
   "account.requested": "Εκκρεμεί έγκριση. Κάνε κλικ για να ακυρώσεις το αίτημα παρακολούθησης",
   "account.share": "Μοίρασμα του προφίλ @{name}",
   "account.show_reblogs": "Εμφάνιση προωθήσεων από @{name}",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} Τουτ} other {{counter} Τουτ}}",
   "account.unblock": "Ξεμπλόκαρε @{name}",
   "account.unblock_domain": "Αποκάλυψε το {domain}",
   "account.unendorse": "Άνευ προβολής στο προφίλ",
   "account.unfollow": "Διακοπή παρακολούθησης",
   "account.unmute": "Διακοπή αποσιώπησης @{name}",
   "account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
-  "account_note.placeholder": "Click to add a note",
+  "account_note.placeholder": "Κλικ για να βάλεις σημείωση",
   "alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά αφού περάσει η {retry_time, time, medium}.",
   "alert.rate_limited.title": "Περιορισμός συχνότητας",
   "alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
@@ -172,7 +172,7 @@
   "follow_request.authorize": "Ενέκρινε",
   "follow_request.reject": "Απέρριψε",
   "follow_requests.unlocked_explanation": "Παρόλο που ο λογαριασμός σου δεν είναι κλειδωμένος, οι διαχειριστές του {domain} θεώρησαν πως ίσως να θέλεις να ελέγξεις χειροκίνητα αυτά τα αιτήματα ακολούθησης.",
-  "generic.saved": "Saved",
+  "generic.saved": "Αποθηκεύτηκε",
   "getting_started.developers": "Ανάπτυξη",
   "getting_started.directory": "Κατάλογος λογαριασμών",
   "getting_started.documentation": "Τεκμηρίωση",
@@ -423,12 +423,12 @@
   "timeline_hint.resources.followers": "Ακόλουθοι",
   "timeline_hint.resources.follows": "Ακολουθεί",
   "timeline_hint.resources.statuses": "Παλαιότερα τουτ",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} άτομο μιλάει} other {{counter} άτομα μιλάνε}}",
   "trends.trending_now": "Δημοφιλή τώρα",
   "ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.billion": "{count}Δ",
+  "units.short.million": "{count}Ε",
+  "units.short.thousand": "{count}Χ",
   "upload_area.title": "Drag & drop για να ανεβάσεις",
   "upload_button.label": "Πρόσθεσε πολυμέσα ({formats})",
   "upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής",
   "upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
   "upload_form.edit": "Ενημέρωση",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Αλλαγή μικρογραφίας",
   "upload_form.undo": "Διαγραφή",
   "upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης",
   "upload_modal.analyzing_picture": "Ανάλυση εικόνας…",
   "upload_modal.apply": "Εφαρμογή",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Επιλογή εικόνας",
   "upload_modal.description_placeholder": "Λύκος μαύρος και ισχνός του πατέρα του καημός",
   "upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
   "upload_modal.edit_media": "Επεξεργασία Πολυμέσων",
diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json
index bdb39cd86..fda386455 100644
--- a/app/javascript/mastodon/locales/es-AR.json
+++ b/app/javascript/mastodon/locales/es-AR.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Describir para personas con problemas auditivos",
   "upload_form.description": "Agregar descripción para los usuarios con dificultades visuales",
   "upload_form.edit": "Editar",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Cambiar miniatura",
   "upload_form.undo": "Eliminar",
   "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
   "upload_modal.analyzing_picture": "Analizando imagen…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Elegir imagen",
   "upload_modal.description_placeholder": "El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja.",
   "upload_modal.detect_text": "Detectar texto de la imagen",
   "upload_modal.edit_media": "Editar medio",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 6052ae972..c0615d757 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Describir para personas con problemas auditivos",
   "upload_form.description": "Describir para los usuarios con dificultad visual",
   "upload_form.edit": "Editar",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Cambiar miniatura",
   "upload_form.undo": "Borrar",
   "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
   "upload_modal.analyzing_picture": "Analizando imagen…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Elegir imagen",
   "upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
   "upload_modal.detect_text": "Detectar texto de la imagen",
   "upload_modal.edit_media": "Editar multimedia",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 470766a8b..6685b2ccb 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -79,7 +79,7 @@
   "column_header.show_settings": "نمایش تنظیمات",
   "column_header.unpin": "رهاکردن",
   "column_subheading.settings": "تنظیمات",
-  "community.column_settings.local_only": "تنها محلّی",
+  "community.column_settings.local_only": "تنها بومی",
   "community.column_settings.media_only": "فقط رسانه",
   "community.column_settings.remote_only": "تنها دوردست",
   "compose_form.direct_message_warning": "این بوق تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.",
@@ -334,7 +334,7 @@
   "privacy.private.long": "ارسال فقط به پی‌گیران",
   "privacy.private.short": "خصوصی",
   "privacy.public.long": "ارسال به خط‌زمانی عمومی",
-  "privacy.public.short": "عمومی",
+  "privacy.public.short": "همگانی",
   "privacy.unlisted.long": "ارسال نکردن به خط‌زمانی عمومی",
   "privacy.unlisted.short": "فهرست‌نشده",
   "refresh": "به‌روزرسانی",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
   "upload_form.description": "برای کم‌بینایان توصیفش کنید",
   "upload_form.edit": "ویرایش",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "تغییر بندانگشتی",
   "upload_form.undo": "حذف",
   "upload_form.video_description": "برای کم‌بینایان یا ناشنوایان توصیفش کنید",
   "upload_modal.analyzing_picture": "در حال پردازش تصویر…",
   "upload_modal.apply": "اعمال",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "گزینش تصویر",
   "upload_modal.description_placeholder": "الا یا ایّها الساقی، ادر کأساً و ناولها",
   "upload_modal.detect_text": "تشخیص متن درون عکس",
   "upload_modal.edit_media": "ویرایش رسانه",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index c7f048fec..6376ca351 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition",
   "upload_form.description": "Décrire pour les malvoyant·e·s",
   "upload_form.edit": "Modifier",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Changer la vignette",
   "upload_form.undo": "Supprimer",
   "upload_form.video_description": "Décrire pour les personnes ayant des problèmes d’audition ou de vision",
   "upload_modal.analyzing_picture": "Analyse de l’image en cours…",
   "upload_modal.apply": "Appliquer",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Choisir une image",
   "upload_modal.description_placeholder": "Buvez de ce whisky que le patron juge fameux",
   "upload_modal.detect_text": "Détecter le texte de l’image",
   "upload_modal.edit_media": "Modifier le média",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 4b159a362..e0180a083 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Describir para persoas con problemas auditivos",
   "upload_form.description": "Describir para persoas con problemas visuais",
   "upload_form.edit": "Editar",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Cambiar a miniatura",
   "upload_form.undo": "Eliminar",
   "upload_form.video_description": "Describir para persoas con problemas visuais ou auditivos",
   "upload_modal.analyzing_picture": "Estase a analizar a imaxe…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Elixir imaxe",
   "upload_modal.description_placeholder": "Un raposo veloz brinca sobre o can preguiceiro",
   "upload_modal.detect_text": "Detectar texto na imaxe",
   "upload_modal.edit_media": "Editar multimedia",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 362972575..713abba5f 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Írja le a hallássérültek számára",
   "upload_form.description": "Leírás látáskorlátozottak számára",
   "upload_form.edit": "Szerkesztés",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Előnézet megváltoztatása",
   "upload_form.undo": "Törlés",
   "upload_form.video_description": "Írja le a hallás- vagy látássérültek számára",
   "upload_modal.analyzing_picture": "Kép elemzése…",
   "upload_modal.apply": "Alkalmaz",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Kép kiválasztása",
   "upload_modal.description_placeholder": "A gyors, barna róka átugrik a lusta kutya fölött",
   "upload_modal.detect_text": "Szöveg felismerése a képről",
   "upload_modal.edit_media": "Média szerkesztése",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 4e7055114..29810cd9f 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -15,8 +15,8 @@
   "account.follow": "Հետեւել",
   "account.followers": "Հետեւողներ",
   "account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, other {{counter} Following}}",
+  "account.followers_counter": "{count, plural, one {{counter} Հետևորդ} other {{counter} Հետևորդներ}}",
+  "account.following_counter": "{count, plural, one {} other {{counter} Հետևում են}}",
   "account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։",
   "account.follows_you": "Հետեւում է քեզ",
   "account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
@@ -36,7 +36,7 @@
   "account.requested": "Հաստատման կարիք ունի։ Սեղմիր՝ հետեւելու հայցը չեղարկելու համար։",
   "account.share": "Կիսուել @{name}֊ի էջով",
   "account.show_reblogs": "Ցուցադրել @{name}֊ի տարածածները",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} Թութ} other {{counter} Թութեր}}",
   "account.unblock": "Ապաարգելափակել @{name}֊ին",
   "account.unblock_domain": "Ցուցադրել {domain} թաքցուած տիրոյթի գրառումները",
   "account.unendorse": "Չցուցադրել անձնական էջում",
@@ -172,7 +172,7 @@
   "follow_request.authorize": "Վավերացնել",
   "follow_request.reject": "Մերժել",
   "follow_requests.unlocked_explanation": "Այս հարցումը ուղարկված է հաշվից, որի համար {domain}-ի անձնակազմը միացրել է ձեռքով ստուգում։",
-  "generic.saved": "Saved",
+  "generic.saved": "Պահպանված է",
   "getting_started.developers": "Մշակողներ",
   "getting_started.directory": "Օգտատէրերի շտեմարան",
   "getting_started.documentation": "Փաստաթղթեր",
@@ -420,15 +420,15 @@
   "time_remaining.moments": "Մնացել է մի քանի վարկեան",
   "time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց",
   "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
-  "timeline_hint.resources.followers": "Followers",
-  "timeline_hint.resources.follows": "Follows",
-  "timeline_hint.resources.statuses": "Older toots",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
+  "timeline_hint.resources.followers": "Հետևորդներ",
+  "timeline_hint.resources.follows": "Հետևել",
+  "timeline_hint.resources.statuses": "Հին թութեր",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} մարդ} other {{counter} մարդիկ}} խոսում են",
   "trends.trending_now": "Այժմ արդիական",
   "ui.beforeunload": "Քո սեւագիրը կկորի, եթե լքես Մաստոդոնը։",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.billion": "{count}մլրդ",
+  "units.short.million": "{count}մլն",
+  "units.short.thousand": "{count}Հազ.",
   "upload_area.title": "Քաշիր ու նետիր՝ վերբեռնելու համար",
   "upload_button.label": "Ավելացնել մեդիա",
   "upload_error.limit": "Ֆայլի վերբեռնման սահմանաչափը գերազանցված է։",
@@ -441,7 +441,7 @@
   "upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար",
   "upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…",
   "upload_modal.apply": "Կիրառել",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Ընտրել նկար",
   "upload_modal.description_placeholder": "Բել դղյակի ձախ ժամն օֆ ազգությանը ցպահանջ չճշտած վնաս էր եւ փառք։",
   "upload_modal.detect_text": "Հայտնբերել տեքստը նկարից",
   "upload_modal.edit_media": "Խմբագրել մեդիան",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 8f78b5d9f..077f61e48 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Descrizione per persone con difetti uditivi",
   "upload_form.description": "Descrizione per utenti con disabilità visive",
   "upload_form.edit": "Modifica",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Cambia miniatura",
   "upload_form.undo": "Cancella",
   "upload_form.video_description": "Descrizione per persone con difetti uditivi o visivi",
   "upload_modal.analyzing_picture": "Analisi immagine…",
   "upload_modal.apply": "Applica",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Scegli immagine",
   "upload_modal.description_placeholder": "Ma la volpe col suo balzo ha raggiunto il quieto Fido",
   "upload_modal.detect_text": "Rileva testo dall'immagine",
   "upload_modal.edit_media": "Modifica media",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index f26652984..7c0ac99d1 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "聴取が難しいユーザーへの説明",
   "upload_form.description": "閲覧が難しいユーザーへの説明",
   "upload_form.edit": "編集",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "サムネイルを変更",
   "upload_form.undo": "削除",
   "upload_form.video_description": "視聴が難しいユーザーへの説明",
   "upload_modal.analyzing_picture": "画像を解析中…",
   "upload_modal.apply": "適用",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "画像を選択",
   "upload_modal.description_placeholder": "あのイーハトーヴォのすきとおった風",
   "upload_modal.detect_text": "画像からテキストを検出",
   "upload_modal.edit_media": "メディアを編集",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 64294ea13..dceb434d3 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -1,12 +1,12 @@
 {
-  "account.account_note_header": "Tazmilt",
+  "account.account_note_header": "Tazmilt-ik·im i @{name}",
   "account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin",
   "account.badges.bot": "Aṛubut",
   "account.badges.group": "Agraw",
   "account.block": "Seḥbes @{name}",
   "account.block_domain": "Ffer kra i d-yekkan seg {domain}",
   "account.blocked": "Yettusewḥel",
-  "account.browse_more_on_origin_server": "Inig ugar deg umaɣun agejdan",
+  "account.browse_more_on_origin_server": "Snirem ugar deg umeɣnu aneẓli",
   "account.cancel_follow_request": "Sefsex asuter n uḍfar",
   "account.direct": "Izen usrid i @{name}",
   "account.domain_blocked": "Taɣult yeffren",
@@ -15,7 +15,7 @@
   "account.follow": "Ḍfer",
   "account.followers": "Imeḍfaren",
   "account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
+  "account.followers_counter": "{count, plural, one {{count} n umeḍfar} other {{count} n imeḍfaren}}",
   "account.following_counter": "{count, plural, other {{counter} Following}}",
   "account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.",
   "account.follows_you": "Yeṭṭafaṛ-ik",
@@ -43,7 +43,7 @@
   "account.unfollow": "Ur ṭṭafaṛ ara",
   "account.unmute": "Kkes asgugem ɣef @{name}",
   "account.unmute_notifications": "Serreḥ ilɣa sɣur @{name}",
-  "account_note.placeholder": "Tekki aken ad ternuḍ tazmilt",
+  "account_note.placeholder": "Ulac iwenniten",
   "alert.rate_limited.message": "Ma ulac aɣilif ɛreḍ tikelt-nniḍen akka {retry_time, time, medium}.",
   "alert.rate_limited.title": "Aktum s talast",
   "alert.unexpected.message": "Yeḍra-d unezri ur netturaǧu ara.",
@@ -81,7 +81,7 @@
   "column_subheading.settings": "Iɣewwaṛen",
   "community.column_settings.local_only": "Adigan kan",
   "community.column_settings.media_only": "Allal n teywalt kan",
-  "community.column_settings.remote_only": "Ubεid kan",
+  "community.column_settings.remote_only": "Anmeggag kan",
   "compose_form.direct_message_warning": "Tajewwaqt-a ad d-tettwasken kan i yimseqdacen i d-yettwabedren.",
   "compose_form.direct_message_warning_learn_more": "Issin ugar",
   "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@@ -143,7 +143,7 @@
   "emoji_button.objects": "Tiɣawsiwin",
   "emoji_button.people": "Medden",
   "emoji_button.recent": "Wid yettuseqdacen s waṭas",
-  "emoji_button.search": "Nadi…",
+  "emoji_button.search": "Nadi...",
   "emoji_button.search_results": "Igemmaḍ n unadi",
   "emoji_button.symbols": "Izamulen",
   "emoji_button.travel": "Imeḍqan d Yinigen",
@@ -236,7 +236,7 @@
   "keyboard_shortcuts.muted": "akken ad teldiḍ tabdart n yimseqdacen yettwasgugmen",
   "keyboard_shortcuts.my_profile": "akken ad d-teldiḍ amaɣnu-ik",
   "keyboard_shortcuts.notifications": "akken ad d-teldiḍ ajgu n tilɣa",
-  "keyboard_shortcuts.open_media": "i taɣwalin yeldin ",
+  "keyboard_shortcuts.open_media": "i tiɣwalin yeldin",
   "keyboard_shortcuts.pinned": "akken ad teldiḍ tabdart n tjewwiqin yettwasentḍen",
   "keyboard_shortcuts.profile": "akken ad d-teldiḍ amaɣnu n umeskar",
   "keyboard_shortcuts.reply": "i tririt",
@@ -375,7 +375,7 @@
   "status.delete": "Kkes",
   "status.detailed_status": "Detailed conversation view",
   "status.direct": "Izen usrid i @{name}",
-  "status.embed": "Yuli",
+  "status.embed": "Seddu",
   "status.favourite": "Rnu ɣer yismenyifen",
   "status.filtered": "Yettwasizdeg",
   "status.load_more": "Sali ugar",
@@ -419,7 +419,7 @@
   "time_remaining.minutes": "Mazal {number, plural, one {# n tesdat} other {# n tesdatin}}",
   "time_remaining.moments": "Moments remaining",
   "time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}} id yugran",
-  "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
+  "timeline_hint.remote_resource_not_displayed": "{resource} seg yiqeddacen-nniḍen ur d-ttwaskanent ara.",
   "timeline_hint.resources.followers": "Imeḍfaṛen",
   "timeline_hint.resources.follows": "T·Yeṭafaṛ",
   "timeline_hint.resources.statuses": "Tijewwaqin tiqdimin",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt",
   "upload_form.description": "Glem-d i yemdaneni yesɛan ugur deg yiẓri",
   "upload_form.edit": "Ẓreg",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Beddel tugna",
   "upload_form.undo": "Kkes",
   "upload_form.video_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt neɣ deg yiẓri",
   "upload_modal.analyzing_picture": "Tasleḍt n tugna tetteddu…",
   "upload_modal.apply": "Snes",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Fren tugna",
   "upload_modal.description_placeholder": "Aberraɣ arurad ineggez nnig n uqjun amuṭṭis",
   "upload_modal.detect_text": "Sefru-d aḍris seg tugna",
   "upload_modal.edit_media": "Ẓreg taɣwalt",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index dd8c4eecf..01fe7a07c 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -1,13 +1,13 @@
 {
-  "account.account_note_header": "Note",
+  "account.account_note_header": "Piezīme",
   "account.add_or_remove_from_list": "Pievienot vai noņemt no saraksta",
   "account.badges.bot": "Bots",
-  "account.badges.group": "Group",
+  "account.badges.group": "Grupa",
   "account.block": "Bloķēt @{name}",
   "account.block_domain": "Slēpt visu no {domain}",
   "account.blocked": "Bloķēts",
-  "account.browse_more_on_origin_server": "Browse more on the original profile",
-  "account.cancel_follow_request": "Cancel follow request",
+  "account.browse_more_on_origin_server": "Pārlūkot vairāk sākotnējā profilā",
+  "account.cancel_follow_request": "Atcelt pieprasījumu",
   "account.direct": "Privātā ziņa @{name}",
   "account.domain_blocked": "Domēns ir paslēpts",
   "account.edit_profile": "Labot profilu",
@@ -20,7 +20,7 @@
   "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
   "account.follows_you": "Seko tev",
   "account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}",
-  "account.last_status": "Last active",
+  "account.last_status": "Pēdējā aktivitāte",
   "account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}",
   "account.locked_info": "Šī konta privātuma status ir iestatīts slēgts. Īpašnieks izskatīs un izvēlēsies kas viņam drīkst sekot.",
   "account.media": "Mēdiji",
@@ -29,7 +29,7 @@
   "account.mute": "Apklusināt @{name}",
   "account.mute_notifications": "Nerādīt paziņojumus no @{name}",
   "account.muted": "Apklusināts",
-  "account.never_active": "Never",
+  "account.never_active": "Nekad",
   "account.posts": "Ieraksti",
   "account.posts_with_replies": "Ieraksti un atbildes",
   "account.report": "Ziņot par lietotāju @{name}",
@@ -43,7 +43,7 @@
   "account.unfollow": "Nesekot",
   "account.unmute": "Noņemt apklusinājumu no lietotāja @{name}",
   "account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
-  "account_note.placeholder": "Click to add a note",
+  "account_note.placeholder": "Noklikšķiniet, lai pievienotu piezīmi",
   "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
   "alert.rate_limited.title": "Rate limited",
   "alert.unexpected.message": "Negaidīta kļūda.",
@@ -58,7 +58,7 @@
   "bundle_modal_error.message": "Kaut kas nogāja greizi ielādējot šo komponenti.",
   "bundle_modal_error.retry": "Mēģini vēlreiz",
   "column.blocks": "Bloķētie lietotāji",
-  "column.bookmarks": "Bookmarks",
+  "column.bookmarks": "Grāmatzīmes",
   "column.community": "Lokālā laika līnija",
   "column.direct": "Privātās ziņas",
   "column.directory": "Browse profiles",
@@ -79,16 +79,16 @@
   "column_header.show_settings": "Rādīt iestatījumus",
   "column_header.unpin": "Atspraust",
   "column_subheading.settings": "Iestatījumi",
-  "community.column_settings.local_only": "Local only",
+  "community.column_settings.local_only": "Tikai vietējie",
   "community.column_settings.media_only": "Tikai mēdiji",
-  "community.column_settings.remote_only": "Remote only",
+  "community.column_settings.remote_only": "Tikai tālvadības",
   "compose_form.direct_message_warning": "Šis ziņojums tiks nosūtīts tikai pieminētajiem lietotājiem.",
   "compose_form.direct_message_warning_learn_more": "Papildus informācija",
   "compose_form.hashtag_warning": "Ziņojumu nebūs iespējams atrast zem haštagiem jo tas nav publisks. Tikai publiskos ziņojumus ir iespējams meklēt pēc tiem.",
   "compose_form.lock_disclaimer": "Tavs konts nav {locked}. Ikviens var Tev sekot lai apskatītu tikai sekotājiem paredzētos ziņojumus.",
   "compose_form.lock_disclaimer.lock": "slēgts",
   "compose_form.placeholder": "Ko vēlies publicēt?",
-  "compose_form.poll.add_option": "Add a choice",
+  "compose_form.poll.add_option": "Pievienot izvēli",
   "compose_form.poll.duration": "Poll duration",
   "compose_form.poll.option_placeholder": "Choice {number}",
   "compose_form.poll.remove_option": "Remove this choice",
diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json
index e573b4784..78dced532 100644
--- a/app/javascript/mastodon/locales/ml.json
+++ b/app/javascript/mastodon/locales/ml.json
@@ -1,8 +1,8 @@
 {
-  "account.account_note_header": "Note",
+  "account.account_note_header": "കുറിപ്പ്",
   "account.add_or_remove_from_list": "പട്ടികയിൽ ചേർക്കുകയോ അല്ലെങ്കിൽ മാറ്റുകയോ ചെയ്യുക",
   "account.badges.bot": "റോബോട്ട്",
-  "account.badges.group": "Group",
+  "account.badges.group": "കൂട്ടം",
   "account.block": "@{name} നെ ബ്ലോക്ക് ചെയ്യുക",
   "account.block_domain": "{domain} ൽ നിന്നുള്ള എല്ലാം മറയ്കുക",
   "account.blocked": "തടഞ്ഞു",
@@ -43,12 +43,12 @@
   "account.unfollow": "പിന്തുടരുന്നത് നിര്‍ത്തുക",
   "account.unmute": "നിശ്ശബ്ദമാക്കുന്നത് നിർത്തുക @{name}",
   "account.unmute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ പ്രസിദ്ധപ്പെടുത്തുക",
-  "account_note.placeholder": "Click to add a note",
+  "account_note.placeholder": "കുറിപ്പ് ചേർക്കാൻ ക്ലിക്കുചെയ്യുക",
   "alert.rate_limited.message": "{retry_time, time, medium} നു ശേഷം വീണ്ടും ശ്രമിക്കുക.",
   "alert.rate_limited.title": "തോത് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു",
   "alert.unexpected.message": "അപ്രതീക്ഷിതമായി എന്തോ സംഭവിച്ചു.",
   "alert.unexpected.title": "ശ്ശോ!",
-  "announcement.announcement": "Announcement",
+  "announcement.announcement": "അറിയിപ്പ്",
   "autosuggest_hashtag.per_week": "ആഴ്ച തോറും {count}",
   "boost_modal.combo": "അടുത്ത തവണ ഇത് ഒഴിവാക്കുവാൻ {combo} ഞെക്കാവുന്നതാണ്",
   "bundle_column_error.body": "ഈ ഘടകം പ്രദശിപ്പിക്കുമ്പോൾ എന്തോ കുഴപ്പം സംഭവിച്ചു.",
@@ -58,7 +58,7 @@
   "bundle_modal_error.message": "ഈ വെബ്പേജ് പ്രദർശിപ്പിക്കുമ്പോൾ എന്തോ കുഴപ്പം സംഭവിച്ചു.",
   "bundle_modal_error.retry": "വീണ്ടും ശ്രമിക്കുക",
   "column.blocks": "തടയപ്പെട്ട ഉപയോക്താക്കൾ",
-  "column.bookmarks": "Bookmarks",
+  "column.bookmarks": "ബുക്ക്മാർക്കുകൾ",
   "column.community": "പ്രാദേശികമായ സമയരേഖ",
   "column.direct": "നേരിട്ടുള്ള സന്ദേശങ്ങൾ",
   "column.directory": "പ്രൊഫൈലുകൾ മറിച്ചുനോക്കുക",
@@ -79,19 +79,19 @@
   "column_header.show_settings": "ക്രമീകരണങ്ങൾ കാണിക്കുക",
   "column_header.unpin": "ഇളക്കി മാറ്റുക",
   "column_subheading.settings": "ക്രമീകരണങ്ങള്‍",
-  "community.column_settings.local_only": "Local only",
+  "community.column_settings.local_only": "പ്രാദേശികം മാത്രം",
   "community.column_settings.media_only": "മാധ്യമങ്ങൾ മാത്രം",
   "community.column_settings.remote_only": "Remote only",
   "compose_form.direct_message_warning": "പരാമർശിക്കപ്പെട്ടിരിക്കുന്ന ഉപയോഗ്താക്കൾക്കെ ഈ ടൂട്ട് അയക്കപ്പെടുകയുള്ളു.",
   "compose_form.direct_message_warning_learn_more": "കൂടുതൽ പഠിക്കുക",
   "compose_form.hashtag_warning": "ഈ ടൂട്ട് പട്ടികയിൽ ഇല്ലാത്തതിനാൽ ഒരു ചർച്ചാവിഷയത്തിന്റെ പട്ടികയിലും പെടുകയില്ല. പരസ്യമായ ടൂട്ടുകൾ മാത്രമേ ചർച്ചാവിഷയം അടിസ്ഥാനമാക്കി തിരയുവാൻ സാധിക്കുകയുള്ളു.",
   "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
-  "compose_form.lock_disclaimer.lock": "locked",
+  "compose_form.lock_disclaimer.lock": "ലോക്കുചെയ്തു",
   "compose_form.placeholder": "നിങ്ങളുടെ മനസ്സിൽ എന്താണ്?",
-  "compose_form.poll.add_option": "Add a choice",
+  "compose_form.poll.add_option": "ഒരു ചോയ്‌സ് ചേർക്കുക",
   "compose_form.poll.duration": "തിരഞ്ഞെടുപ്പിന്റെ സമയദൈർഖ്യം",
-  "compose_form.poll.option_placeholder": "Choice {number}",
-  "compose_form.poll.remove_option": "Remove this choice",
+  "compose_form.poll.option_placeholder": "ചോയ്‌സ് {number}",
+  "compose_form.poll.remove_option": "ഈ ഡിവൈസ് മാറ്റുക",
   "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
   "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
   "compose_form.publish": "ടൂട്ട്",
@@ -172,7 +172,7 @@
   "follow_request.authorize": "ചുമതലപ്പെടുത്തുക",
   "follow_request.reject": "നിരസിക്കുക",
   "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
-  "generic.saved": "Saved",
+  "generic.saved": "സംരക്ഷിച്ചു",
   "getting_started.developers": "വികസിപ്പിക്കുന്നവർ",
   "getting_started.directory": "രൂപരേഖ നാമഗൃഹസൂചി",
   "getting_started.documentation": "രേഖാ സമാഹരണം",
@@ -193,8 +193,8 @@
   "home.column_settings.basic": "അടിസ്ഥാനം",
   "home.column_settings.show_reblogs": "ബൂസ്റ്റുകൾ കാണിക്കുക",
   "home.column_settings.show_replies": "മറുപടികൾ കാണിക്കുക",
-  "home.hide_announcements": "Hide announcements",
-  "home.show_announcements": "Show announcements",
+  "home.hide_announcements": "പ്രഖ്യാപനങ്ങൾ മറയ്‌ക്കുക",
+  "home.show_announcements": "പ്രഖ്യാപനങ്ങൾ കാണിക്കുക",
   "intervals.full.days": "{number, plural, one {# day} other {# days}}",
   "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
   "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -372,15 +372,15 @@
   "status.cancel_reblog_private": "Unboost",
   "status.cannot_reblog": "This post cannot be boosted",
   "status.copy": "Copy link to status",
-  "status.delete": "Delete",
-  "status.detailed_status": "Detailed conversation view",
-  "status.direct": "Direct message @{name}",
-  "status.embed": "Embed",
-  "status.favourite": "Favourite",
+  "status.delete": "മായ്ക്കുക",
+  "status.detailed_status": "വിശദമായ സംഭാഷണ കാഴ്‌ച",
+  "status.direct": "@{name} ന് നേരിട്ട് മെസേജ് അയക്കുക",
+  "status.embed": "ഉൾച്ചേർക്കുക",
+  "status.favourite": "പ്രിയപ്പെട്ടത്",
   "status.filtered": "Filtered",
-  "status.load_more": "Load more",
+  "status.load_more": "കൂടുതൽ ലോഡു ചെയ്യുക",
   "status.media_hidden": "Media hidden",
-  "status.mention": "Mention @{name}",
+  "status.mention": "@{name} സൂചിപ്പിക്കുക",
   "status.more": "More",
   "status.mute": "Mute @{name}",
   "status.mute_conversation": "Mute conversation",
diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json
index 8b7c82945..49fb95885 100644
--- a/app/javascript/mastodon/locales/pt-PT.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva",
   "upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais",
   "upload_form.edit": "Editar",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Alterar miniatura",
   "upload_form.undo": "Apagar",
   "upload_form.video_description": "Descreva para pessoas com diminuição da acuidade auditiva ou visual",
   "upload_modal.analyzing_picture": "A analizar imagem…",
   "upload_modal.apply": "Aplicar",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Escolher imagem",
   "upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mãe doente",
   "upload_modal.detect_text": "Detectar texto na imagem",
   "upload_modal.edit_media": "Editar media",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 0c19a201f..38d714525 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -1,5 +1,5 @@
 {
-  "account.account_note_header": "Ваша заметка для @{name}",
+  "account.account_note_header": "Заметка",
   "account.add_or_remove_from_list": "Управление списками",
   "account.badges.bot": "Бот",
   "account.badges.group": "Группа",
@@ -172,7 +172,7 @@
   "follow_request.authorize": "Авторизовать",
   "follow_request.reject": "Отказать",
   "follow_requests.unlocked_explanation": "Этот запрос отправлен с учётной записи, для которой администрация {domain} включила ручную проверку подписок.",
-  "generic.saved": "Сохранена",
+  "generic.saved": "Сохранено",
   "getting_started.developers": "Разработчикам",
   "getting_started.directory": "Каталог профилей",
   "getting_started.documentation": "Документация",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Опишите аудиофайл для людей с нарушением слуха",
   "upload_form.description": "Добавьте описание для людей с нарушениями зрения:",
   "upload_form.edit": "Изменить",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Изменить обложку",
   "upload_form.undo": "Отменить",
   "upload_form.video_description": "Опишите видео для людей с нарушением слуха или зрения",
   "upload_modal.analyzing_picture": "Обработка изображения…",
   "upload_modal.apply": "Применить",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Выбрать изображение",
   "upload_modal.description_placeholder": "На дворе трава, на траве дрова",
   "upload_modal.detect_text": "Найти текст на картинке",
   "upload_modal.edit_media": "Изменить файл",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 2af0d83f7..95cadfe25 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Përshkruajeni për persona me dëgjim të kufizuar",
   "upload_form.description": "Përshkruajeni për persona me probleme shikimi",
   "upload_form.edit": "Përpunoni",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Ndryshoni miniaturën",
   "upload_form.undo": "Fshije",
   "upload_form.video_description": "Përshkruajeni për persona me dëgjim të kufizuar ose probleme shikimi",
   "upload_modal.analyzing_picture": "Po analizohet fotoja…",
   "upload_modal.apply": "Aplikoje",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Zgjidhni figurë",
   "upload_modal.description_placeholder": "Deshe Korçën, Korçën të dhamë",
   "upload_modal.detect_text": "Pikase tekstin prej fotoje",
   "upload_modal.edit_media": "Përpunoni media",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 4f0768744..7d4c1c45e 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -4,26 +4,26 @@
   "account.badges.bot": "Bot",
   "account.badges.group": "Nhóm",
   "account.block": "Chặn @{name}",
-  "account.block_domain": "Chặn miền {domain}",
+  "account.block_domain": "Ẩn mọi thứ từ {domain}",
   "account.blocked": "Đã chặn",
   "account.browse_more_on_origin_server": "Tìm những tài khoản có liên quan",
   "account.cancel_follow_request": "Hủy yêu cầu theo dõi",
   "account.direct": "Nhắn tin cho @{name}",
-  "account.domain_blocked": "Đã chặn miền",
-  "account.edit_profile": "Chỉnh sửa hồ sơ",
+  "account.domain_blocked": "Đã chặn người dùng",
+  "account.edit_profile": "Chỉnh sửa trang cá nhân",
   "account.endorse": "Hiển thị trên trang cá nhân",
   "account.follow": "Theo dõi",
   "account.followers": "Người theo dõi",
-  "account.followers.empty": "Chưa có người theo dõi.",
-  "account.followers_counter": "{count, plural, one {{counter} Người mến mộ} other {{counter} Người mến mộ}}",
-  "account.following_counter": "{count, plural, other {{counter} Đang mến mộ}}",
+  "account.followers.empty": "Chưa có người theo dõi nào.",
+  "account.followers_counter": "{count, plural, one {{counter} Người theo dõi} other {{counter} Người theo dõi}}",
+  "account.following_counter": "{count, plural, other {{counter} Đang theo dõi}}",
   "account.follows.empty": "Người dùng này chưa theo dõi ai.",
   "account.follows_you": "Đang theo dõi bạn",
   "account.hide_reblogs": "Ẩn chia sẻ từ @{name}",
   "account.last_status": "Hoạt động gần đây",
   "account.link_verified_on": "Liên kết này đã được xác thực vào {date}",
-  "account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu mến mộ.",
-  "account.media": "Ảnh & Video",
+  "account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.",
+  "account.media": "Đa phương tiện",
   "account.mention": "Nhắc đến @{name}",
   "account.moved_to": "{name} đã dời sang:",
   "account.mute": "Ẩn @{name}",
@@ -31,16 +31,16 @@
   "account.muted": "Đã ẩn",
   "account.never_active": "Chưa có bất cứ hoạt động nào",
   "account.posts": "Tút",
-  "account.posts_with_replies": "Tút và trả lời",
+  "account.posts_with_replies": "Trả lời",
   "account.report": "Báo cáo @{name}",
   "account.requested": "Đang chờ chấp thuận. Nhấp vào đây để hủy yêu cầu theo dõi",
   "account.share": "Chia sẻ hồ sơ @{name}",
   "account.show_reblogs": "Hiện chia sẻ từ @{name}",
   "account.statuses_counter": "{count, plural, other {{counter} Tút}}",
   "account.unblock": "Bỏ chặn @{name}",
-  "account.unblock_domain": "Bỏ chặn miền {domain}",
+  "account.unblock_domain": "Bỏ ẩn {domain}",
   "account.unendorse": "Không hiện trên trang cá nhân",
-  "account.unfollow": "Ngừng theo dõi",
+  "account.unfollow": "Ngưng theo dõi",
   "account.unmute": "Bỏ ẩn @{name}",
   "account.unmute_notifications": "Hiển lại thông báo từ @{name}",
   "account_note.placeholder": "Không nói gì thêm",
@@ -50,10 +50,10 @@
   "alert.unexpected.title": "Ốiii!",
   "announcement.announcement": "Thông báo",
   "autosuggest_hashtag.per_week": "{count} mỗi tuần",
-  "boost_modal.combo": "Lần sau, bạn có thể nhấn {combo} để bỏ qua",
+  "boost_modal.combo": "Bạn có thể nhấn {combo} để bỏ qua",
   "bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.",
   "bundle_column_error.retry": "Thử lại",
-  "bundle_column_error.title": "Lỗi mạng",
+  "bundle_column_error.title": "Không có kết nối internet",
   "bundle_modal_error.close": "Đóng",
   "bundle_modal_error.message": "Đã có lỗi xảy ra trong khi tải nội dung này.",
   "bundle_modal_error.retry": "Thử lại",
@@ -70,7 +70,7 @@
   "column.mutes": "Người dùng đã chặn",
   "column.notifications": "Thông báo",
   "column.pins": "Tút ghim",
-  "column.public": "Dòng thời gian liên kết",
+  "column.public": "Mạng liên kết",
   "column_back_button.label": "Quay lại",
   "column_header.hide_settings": "Ẩn cài đặt",
   "column_header.moveLeft_settings": "Dời cột sang bên trái",
@@ -79,46 +79,46 @@
   "column_header.show_settings": "Hiển thị cài đặt",
   "column_header.unpin": "Không ghim",
   "column_subheading.settings": "Cài đặt",
-  "community.column_settings.local_only": "Chỉ miền của bạn",
+  "community.column_settings.local_only": "Chỉ máy chủ của bạn",
   "community.column_settings.media_only": "Chỉ ảnh/video",
-  "community.column_settings.remote_only": "Chỉ người dùng ở miền khác",
+  "community.column_settings.remote_only": "Chỉ người dùng ở máy chủ khác",
   "compose_form.direct_message_warning": "Tút này sẽ chỉ gửi cho người được nhắc đến.",
   "compose_form.direct_message_warning_learn_more": "Tìm hiểu thêm",
-  "compose_form.hashtag_warning": "Tút này sẽ không xuất hiện công khai khi tìm kiếm theo chủ đề. Chỉ Tút công khai có thể được tìm kiếm theo chủ đề.",
-  "compose_form.lock_disclaimer": "Tài khoản của bạn không {locked}. Bất cứ ai cũng có thể theo dõi bạn để xem bài viết dành riêng cho người theo dõi của bạn.",
+  "compose_form.hashtag_warning": "Tút này sẽ không xuất hiện công khai. Chỉ những tút công khai mới có thể được tìm kiếm thông qua hashtag.",
+  "compose_form.lock_disclaimer": "Tài khoản của bạn không {locked}. Bất cứ ai cũng có thể theo dõi bạn và xem bài viết của bạn dành riêng cho người theo dõi.",
   "compose_form.lock_disclaimer.lock": "khóa",
   "compose_form.placeholder": "Bạn đang nghĩ gì?",
   "compose_form.poll.add_option": "Thêm lựa chọn",
-  "compose_form.poll.duration": "Thời hạn",
+  "compose_form.poll.duration": "Hết hạn vào",
   "compose_form.poll.option_placeholder": "Lựa chọn {number}",
   "compose_form.poll.remove_option": "Xóa lựa chọn này",
-  "compose_form.poll.switch_to_multiple": "Sửa thăm dò để cho phép nhiều lựa chọn",
-  "compose_form.poll.switch_to_single": "Sửa thăm dò để cho phép một lựa chọn",
+  "compose_form.poll.switch_to_multiple": "Có thể chọn nhiều lựa chọn",
+  "compose_form.poll.switch_to_single": "Chỉ cho phép chọn duy nhất một lựa chọn",
   "compose_form.publish": "Tút",
   "compose_form.publish_loud": "{publish}!",
-  "compose_form.sensitive.hide": "Đánh dấu là nội dung nhạy cảm",
+  "compose_form.sensitive.hide": "Nội dung nhạy cảm",
   "compose_form.sensitive.marked": "Nội dung đã đánh dấu nhạy cảm",
   "compose_form.sensitive.unmarked": "Nội dung không đánh dấu nhạy cảm",
-  "compose_form.spoiler.marked": "Văn bản ẩn sau cảnh báo",
+  "compose_form.spoiler.marked": "Văn bản bị ẩn",
   "compose_form.spoiler.unmarked": "Văn bản không ẩn sau spoil",
-  "compose_form.spoiler_placeholder": "Viết cảnh báo của bạn ở đây",
+  "compose_form.spoiler_placeholder": "Viết nội dung ẩn của bạn ở đây",
   "confirmation_modal.cancel": "Hủy bỏ",
   "confirmations.block.block_and_report": "Chặn & Báo cáo",
   "confirmations.block.confirm": "Chặn",
-  "confirmations.block.message": "Bạn có chắc chắn muốn chặn {name}?",
+  "confirmations.block.message": "Bạn có thật sự muốn chặn {name}?",
   "confirmations.delete.confirm": "Xóa bỏ",
   "confirmations.delete.message": "Bạn có chắc chắn muốn xóa tút này?",
   "confirmations.delete_list.confirm": "Xóa bỏ",
   "confirmations.delete_list.message": "Bạn có chắc chắn muốn xóa vĩnh viễn danh sách này?",
-  "confirmations.domain_block.confirm": "Ẩn toàn bộ miền",
+  "confirmations.domain_block.confirm": "Ẩn toàn bộ máy chủ",
   "confirmations.domain_block.message": "Bạn có chắc chắn rằng muốn ẩn toàn bộ nội dung từ {domain}? Sẽ hợp lý hơn nếu bạn chỉ chặn hoặc ẩn một vài tài khoản cụ thể. Ẩn toàn bộ nội dung từ máy chủ sẽ khiến bạn không còn thấy nội dung từ máy chủ đó ở bất kỳ nơi nào, kể cả thông báo. Người quan tâm bạn từ máy chủ đó cũng sẽ bị xóa luôn.",
   "confirmations.logout.confirm": "Đăng xuất",
-  "confirmations.logout.message": "Bạn có chắc chắn bạn muốn thoát?",
+  "confirmations.logout.message": "Bạn có thật sự muốn thoát?",
   "confirmations.mute.confirm": "Ẩn",
-  "confirmations.mute.explanation": "Điều này sẽ khiến tút của người đó và những tút có đề cập đến họ bị ẩn, tuy nhiên vẫn cho phép họ xem bài đăng của bạn và mến mộ bạn.",
+  "confirmations.mute.explanation": "Điều này sẽ khiến tút của người đó và những tút có đề cập đến họ bị ẩn, tuy nhiên vẫn cho phép họ xem bài đăng của bạn và theo dõi bạn.",
   "confirmations.mute.message": "Bạn có chắc chắn muốn ẩn {name}?",
   "confirmations.redraft.confirm": "Xóa & viết lại",
-  "confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt tâm đắc và chia sẻ của tút, cũng như những phản hồi sẽ không còn nội dung gốc.",
+  "confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt tâm đắc và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.",
   "confirmations.reply.confirm": "Trả lời",
   "confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?",
   "confirmations.unfollow.confirm": "Ngưng theo dõi",
@@ -156,22 +156,22 @@
   "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.",
   "empty_column.favourited_statuses": "Bạn chưa tâm đắc tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.",
   "empty_column.favourites": "Chưa có ai tâm đắc tút này.",
-  "empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào. Khi có yêu cầu mới, nó sẽ xuất hiện ở đây.",
-  "empty_column.hashtag": "Chưa có bài đăng nào về chủ đề này.",
-  "empty_column.home": "Chưa có bất cứ gì! Hãy bắt đầu bằng cách tìm kiếm hoặc truy cập {public} để mến mộ những người bạn thích.",
+  "empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.",
+  "empty_column.hashtag": "Chưa có bài đăng nào sử dụng hashtag này.",
+  "empty_column.home": "Chưa có bất cứ gì! Hãy bắt đầu bằng cách tìm kiếm hoặc truy cập {public} để theo dõi những người bạn quan tâm.",
   "empty_column.home.public_timeline": "tút công khai",
   "empty_column.list": "Chưa có gì trong danh sách. Khi thành viên của danh sách này đăng tút mới, chúng mới xuất hiện ở đây.",
   "empty_column.lists": "Bạn không có danh sách nào.",
   "empty_column.mutes": "Bạn chưa ẩn người dùng nào.",
-  "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử mến mộ hoặc nhắn tin cho một ai đó mà bạn thích.",
-  "empty_column.public": "Trống trơn! Bạn hãy viết gì đó hoặc bắt đầu mến mộ người dùng khác",
+  "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn tin cho một ai đó.",
+  "empty_column.public": "Trống trơn! Bạn hãy viết gì đó hoặc bắt đầu theo dõi người dùng khác",
   "error.unexpected_crash.explanation": "Trang này có thể không hiển thị chính xác do lỗi lập trình Mastodon hoặc vấn đề tương thích trình duyệt.",
   "error.unexpected_crash.next_steps": "Hãy thử làm mới trang. Nếu vẫn không được, bạn hãy vào Mastodon bằng một ứng dụng di động hoặc trình duyệt khác.",
   "errors.unexpected_crash.copy_stacktrace": "Sao chép stacktrace vào clipboard",
   "errors.unexpected_crash.report_issue": "Báo cáo lỗi",
   "follow_request.authorize": "Cho phép",
   "follow_request.reject": "Từ chối",
-  "follow_requests.unlocked_explanation": "Mặc dù tài khoản của bạn đang ở chế độ công khai, quản trị viên của {domain} vẫn tin rằng bạn sẽ muốn xem lại yêu cầu mến mộ từ những người khác.",
+  "follow_requests.unlocked_explanation": "Mặc dù tài khoản của bạn đang ở chế độ công khai, quản trị viên của {domain} vẫn tin rằng bạn sẽ muốn xem lại yêu cầu theo dõi từ những người khác.",
   "generic.saved": "Đã lưu",
   "getting_started.developers": "Nhà phát triển",
   "getting_started.directory": "Danh sách người dùng",
@@ -185,14 +185,14 @@
   "hashtag.column_header.tag_mode.any": "hoặc {additional}",
   "hashtag.column_header.tag_mode.none": "mà không {additional}",
   "hashtag.column_settings.select.no_options_message": "Không tìm thấy đề xuất nào",
-  "hashtag.column_settings.select.placeholder": "Nhập chủ đề…",
+  "hashtag.column_settings.select.placeholder": "Nhập hashtag…",
   "hashtag.column_settings.tag_mode.all": "Toàn bộ",
   "hashtag.column_settings.tag_mode.any": "Một phần",
   "hashtag.column_settings.tag_mode.none": "Không chọn",
-  "hashtag.column_settings.tag_toggle": "Bao gồm thêm chủ đề cho cột này",
+  "hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này",
   "home.column_settings.basic": "Cơ bản",
   "home.column_settings.show_reblogs": "Hiện tút chia sẻ",
-  "home.column_settings.show_replies": "Hiện phản hồi",
+  "home.column_settings.show_replies": "Hiện trả lời",
   "home.hide_announcements": "Ẩn thông báo",
   "home.show_announcements": "Hiện thông báo",
   "intervals.full.days": "{number} days",
@@ -202,14 +202,14 @@
   "introduction.federation.federated.headline": "Mạng liên kết",
   "introduction.federation.federated.text": "Nếu máy chủ của bạn có liên kết với các máy chủ khác, bài đăng công khai từ họ sẽ xuất hiện ở Mạng liên kết.",
   "introduction.federation.home.headline": "Bảng tin",
-  "introduction.federation.home.text": "Bảng tin là nơi hiển thị bài đăng từ những người bạn mến mộ. Bạn có thể mến mộ bất cứ ai trên bất cứ máy chủ nào!",
+  "introduction.federation.home.text": "Bảng tin là nơi hiển thị bài đăng từ những người bạn theo dõi. Bạn có thể theo dõi bất cứ ai trên bất cứ máy chủ nào!",
   "introduction.federation.local.headline": "Máy chủ của bạn",
   "introduction.federation.local.text": "Máy chủ của bạn là nơi hiển thị bài đăng công khai từ những người thuộc cùng một máy chủ của bạn.",
   "introduction.interactions.action": "Tôi đã hiểu rồi!",
   "introduction.interactions.favourite.headline": "Tâm đắc",
   "introduction.interactions.favourite.text": "Tâm đắc một tút có nghĩa là bạn thích tút đó và lưu giữ để sau này xem lại.",
   "introduction.interactions.reblog.headline": "Chia sẻ",
-  "introduction.interactions.reblog.text": "Với tính năng chia sẻ, bạn có thể chia sẻ tút của người khác với những người mến mộ bạn.",
+  "introduction.interactions.reblog.text": "Với tính năng chia sẻ, bạn có thể chia sẻ tút của người khác cho những người theo dõi bạn.",
   "introduction.interactions.reply.headline": "Trả lời",
   "introduction.interactions.reply.text": "Bạn có thể trả lời tút của những người khác và tút của bạn, từ đó tạo nên những cuộc hội thoại.",
   "introduction.welcome.action": "Bắt đầu nào!",
@@ -240,7 +240,7 @@
   "keyboard_shortcuts.pinned": "mở danh sách tút ghim",
   "keyboard_shortcuts.profile": "mở trang cá nhân của người viết tút",
   "keyboard_shortcuts.reply": "trả lời",
-  "keyboard_shortcuts.requests": "mở danh sách yêu cầu mến mộ",
+  "keyboard_shortcuts.requests": "mở danh sách yêu cầu theo dõi",
   "keyboard_shortcuts.search": "mở tìm kiếm",
   "keyboard_shortcuts.spoilers": "Hiện/ẩn nội dung nhạy cảm",
   "keyboard_shortcuts.start": "mở mục \"Dành cho người mới\"",
@@ -260,7 +260,7 @@
   "lists.edit.submit": "Thay đổi tiêu đề",
   "lists.new.create": "Thêm vào danh sách",
   "lists.new.title_placeholder": "Tên danh sách mới",
-  "lists.search": "Tìm kiếm những người mà bạn mến mộ",
+  "lists.search": "Tìm kiếm những người mà bạn quan tâm",
   "lists.subheading": "Danh sách của bạn",
   "load_pending": "{count, plural, one {# new item} other {# new items}}",
   "loading_indicator.label": "Đang tải...",
@@ -280,7 +280,7 @@
   "navigation_bar.favourites": "Những thứ tâm đắc",
   "navigation_bar.filters": "Bộ lọc từ ngữ",
   "navigation_bar.follow_requests": "Yêu cầu theo dõi",
-  "navigation_bar.follows_and_followers": "Đang theo dõi và người theo dõi bạn",
+  "navigation_bar.follows_and_followers": "Lượt theo dõi",
   "navigation_bar.info": "Về máy chủ này",
   "navigation_bar.keyboard_shortcuts": "Phím tắt",
   "navigation_bar.lists": "Danh sách",
@@ -292,8 +292,8 @@
   "navigation_bar.public_timeline": "Dòng thời gian liên kết",
   "navigation_bar.security": "Bảo mật",
   "notification.favourite": "{name} vừa tâm đắc tút của bạn",
-  "notification.follow": "{name} đã theo dõi bạn",
-  "notification.follow_request": "{name} đã yêu cầu theo dõi bạn",
+  "notification.follow": "{name} vừa theo dõi bạn",
+  "notification.follow_request": "{name} vừa yêu cầu theo dõi bạn",
   "notification.mention": "{name} nhắc đến bạn",
   "notification.own_poll": "Cuộc thăm dò của bạn đã kết thúc",
   "notification.poll": "Một cuộc thăm dò mà bạn tham gia đã kết thúc",
@@ -320,12 +320,12 @@
   "notifications.filter.mentions": "Nhắc đến",
   "notifications.filter.polls": "Kết quả cuộc thăm dò",
   "notifications.group": "{count} thông báo",
-  "poll.closed": "Đóng",
+  "poll.closed": "Cuộc thăm dò đã kết thúc",
   "poll.refresh": "Làm mới",
-  "poll.total_people": "{count, plural, other {}}",
+  "poll.total_people": "{count, plural, one {# người đã bình chọn} other {# người đã bình chọn}}",
   "poll.total_votes": "{count, plural, one {# bình chọn} other {# bình chọn}}",
   "poll.vote": "Cuộc thăm dò",
-  "poll.voted": "Bạn đã bình chọn cho câu trả lời này",
+  "poll.voted": "Bạn đã bình chọn câu trả lời này",
   "poll_button.add_poll": "Tạo thăm dò",
   "poll_button.remove_poll": "Hủy thăm dò",
   "privacy.change": "Thay đổi quyền riêng tư",
@@ -333,9 +333,9 @@
   "privacy.direct.short": "Tin nhắn",
   "privacy.private.long": "Chỉ dành cho người theo dõi",
   "privacy.private.short": "Chỉ người theo dõi",
-  "privacy.public.long": "Đăng lên các dòng thời gian công cộng",
+  "privacy.public.long": "Hiện trên bảng tin máy chủ",
   "privacy.public.short": "Công khai",
-  "privacy.unlisted.long": "Không đăng lên các dòng thời gian công cộng",
+  "privacy.unlisted.long": "Ai cũng có thể xem nhưng không hiện trên bảng tin máy chủ",
   "privacy.unlisted.short": "Mở",
   "refresh": "Làm mới",
   "regeneration_indicator.label": "Đang tải…",
@@ -355,13 +355,13 @@
   "report.target": "Báo xấu {target}",
   "search.placeholder": "Tìm kiếm",
   "search_popout.search_format": "Tìm kiếm nâng cao",
-  "search_popout.tips.full_text": "Nội dung trả về bao gồm các tút do bạn viết, thích, đã chia sẻ hoặc được nhắc đến. Cũng như địa chỉ người dùng, tên hiển thị lẫn chủ đề.",
-  "search_popout.tips.hashtag": "chủ đề",
+  "search_popout.tips.full_text": "Nội dung trả về bao gồm các tút do bạn viết, yêu thích, đã chia sẻ hoặc được nhắc đến. Cũng như địa chỉ người dùng, tên hiển thị lẫn hashtag.",
+  "search_popout.tips.hashtag": "hashtag",
   "search_popout.tips.status": "tút",
   "search_popout.tips.text": "Nội dung trả về là địa chỉ người dùng, tên hiển thị và hashtag",
   "search_popout.tips.user": "người dùng",
   "search_results.accounts": "Người dùng",
-  "search_results.hashtags": "Chủ đề",
+  "search_results.hashtags": "Hashtags",
   "search_results.statuses": "Tút",
   "search_results.statuses_fts_disabled": "Máy chủ của bạn không bật chức năng tìm kiếm tút.",
   "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
@@ -391,7 +391,7 @@
   "status.reblog": "Chia sẻ",
   "status.reblog_private": "Chia sẻ với người viết tút gốc",
   "status.reblogged_by": "{name} chia sẻ",
-  "status.reblogs.empty": "Chưa ai chia sẻ Tút này. Nếu có, nó sẽ xuất hiện ở đây.",
+  "status.reblogs.empty": "Tút này chưa có ai chia sẻ. Nếu có, nó sẽ hiển thị ở đây.",
   "status.redraft": "Xóa và viết lại",
   "status.remove_bookmark": "Hủy lưu",
   "status.reply": "Trả lời",
@@ -414,16 +414,16 @@
   "tabs_bar.local_timeline": "Máy chủ của bạn",
   "tabs_bar.notifications": "Thông báo",
   "tabs_bar.search": "Tìm kiếm",
-  "time_remaining.days": "{number, plural, other {}} left",
-  "time_remaining.hours": "{number, plural, other {}} left",
-  "time_remaining.minutes": "{number, plural, other {}} left",
+  "time_remaining.days": "Thời hạn còn {number, plural, other {# ngày}}",
+  "time_remaining.hours": "Thời hạn còn {number, plural, other {# giờ}}",
+  "time_remaining.minutes": "Thời hạn còn {number, plural, other {# phút}}",
   "time_remaining.moments": "Còn lại",
-  "time_remaining.seconds": "{number, plural, other {}} left",
+  "time_remaining.seconds": "Chỉ còn {number, plural, other {# giây}}",
   "timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.",
   "timeline_hint.resources.followers": "Người theo dõi",
   "timeline_hint.resources.follows": "Đang theo dõi",
   "timeline_hint.resources.statuses": "Tút cũ hơn",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} người} other {{counter} người}} đang thảo luận về vấn đề này",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} người} other {{counter} người}} đang thảo luận",
   "trends.trending_now": "Xu hướng",
   "ui.beforeunload": "Bản nháp của bạn sẽ bị mất nếu bạn thoát khỏi Mastodon.",
   "units.short.billion": "{count}B",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "Mô tả cho người thính giác kém",
   "upload_form.description": "Mô tả cho người khiếm thị",
   "upload_form.edit": "Biên tập",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "Đổi ảnh thumbnail",
   "upload_form.undo": "Xóa bỏ",
   "upload_form.video_description": "Mô tả cho người có vấn đề về thính giác",
   "upload_modal.analyzing_picture": "Phân tích hình ảnh",
   "upload_modal.apply": "Áp dụng",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "Chọn hình",
   "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
   "upload_modal.detect_text": "Phát hiện văn bản trong hình ảnh",
   "upload_modal.edit_media": "Chỉnh sửa ảnh/video",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 58c55c045..ac19eb3e6 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -1,5 +1,5 @@
 {
-  "account.account_note_header": "你对 @{name} 的备注",
+  "account.account_note_header": "备注",
   "account.add_or_remove_from_list": "从列表中添加或删除",
   "account.badges.bot": "机器人",
   "account.badges.group": "群组",
@@ -15,8 +15,8 @@
   "account.follow": "关注",
   "account.followers": "关注者",
   "account.followers.empty": "目前无人关注此用户。",
-  "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
-  "account.following_counter": "{count, plural, other {{counter} Following}}",
+  "account.followers_counter": "被 {count, plural, one {{counter} 人} other {{counter} 人}}关注",
+  "account.following_counter": "正在关注 {count, plural, other {{counter} 人}}",
   "account.follows.empty": "此用户目前尚未关注任何人。",
   "account.follows_you": "关注了你",
   "account.hide_reblogs": "隐藏来自 @{name} 的转嘟",
@@ -36,14 +36,14 @@
   "account.requested": "正在等待对方同意。点击以取消发送关注请求",
   "account.share": "分享 @{name} 的个人资料",
   "account.show_reblogs": "显示来自 @{name} 的转嘟",
-  "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
+  "account.statuses_counter": "{count, plural, one {{counter} 条} other {{counter} 条}}嘟文",
   "account.unblock": "解除屏蔽 @{name}",
   "account.unblock_domain": "不再隐藏来自 {domain} 的内容",
   "account.unendorse": "不在个人资料中推荐此用户",
   "account.unfollow": "取消关注",
   "account.unmute": "不再隐藏 @{name}",
   "account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
-  "account_note.placeholder": "没有备注",
+  "account_note.placeholder": "点击添加备注",
   "alert.rate_limited.message": "请在{retry_time, time, medium}后重试。",
   "alert.rate_limited.title": "频率受限",
   "alert.unexpected.message": "发生了意外错误。",
@@ -172,7 +172,7 @@
   "follow_request.authorize": "同意",
   "follow_request.reject": "拒绝",
   "follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核关注请求。",
-  "generic.saved": "Saved",
+  "generic.saved": "已保存",
   "getting_started.developers": "开发",
   "getting_started.directory": "用户目录",
   "getting_started.documentation": "文档",
@@ -423,12 +423,12 @@
   "timeline_hint.resources.followers": "关注者",
   "timeline_hint.resources.follows": "关注",
   "timeline_hint.resources.statuses": "更早的嘟文",
-  "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
+  "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论",
   "trends.trending_now": "现在流行",
   "ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。",
-  "units.short.billion": "{count}B",
-  "units.short.million": "{count}M",
-  "units.short.thousand": "{count}K",
+  "units.short.billion": "{count}十亿",
+  "units.short.million": "{count}百万",
+  "units.short.thousand": "{count}千",
   "upload_area.title": "将文件拖放到此处开始上传",
   "upload_button.label": "上传媒体文件 ({formats})",
   "upload_error.limit": "文件大小超过限制。",
@@ -436,12 +436,12 @@
   "upload_form.audio_description": "为听障人士添加文字描述",
   "upload_form.description": "为视觉障碍人士添加文字说明",
   "upload_form.edit": "编辑",
-  "upload_form.thumbnail": "Change thumbnail",
+  "upload_form.thumbnail": "更改缩略图",
   "upload_form.undo": "删除",
   "upload_form.video_description": "为听障人士和视障人士添加文字描述",
   "upload_modal.analyzing_picture": "分析图片…",
   "upload_modal.apply": "应用",
-  "upload_modal.choose_image": "Choose image",
+  "upload_modal.choose_image": "选择图像",
   "upload_modal.description_placeholder": "天地玄黄 宇宙洪荒 日月盈仄 辰宿列张",
   "upload_modal.detect_text": "从图片中检测文本",
   "upload_modal.edit_media": "编辑媒体",