diff --git a/.gitignore b/.gitignore
index 189f36370..9928d93aa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,9 +13,6 @@ report.*.json
 cypress/screenshots
 cypress/videos
 
-# Coverage
-coverage
-
 # config
 /.config/*
 !/.config/example.yml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5bafc0a01..34ec7a642 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,17 +9,10 @@
 You should also include the user name that made the change.
 -->
 
-## 12.119.0 (2022/09/10)
+## 12.x.x (unreleased)
 
 ### Improvements
 - Client: Add following badge to user preview popup @nvisser
-- Client: mobile twitter url can be used as widget @caipira113
-- Client: Improve clock widget @syuilo
-
-### Bugfixes
-- マイグレーションに失敗する問題を修正
-- Server: 他人の通知を既読にできる可能性があるのを修正 @syuilo
-- Client: アクセストークン管理画面、アカウント管理画面表示できないのを修正 @futchitwo
 
 ## 12.118.1 (2022/08/08)
 
diff --git a/ROADMAP.md b/ROADMAP.md
index b2c5c8757..bd96b2c50 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -6,20 +6,15 @@ Also, the later tasks are more indefinite and are subject to change as developme
 This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
 
 - Make the number of type errors zero (backend)
-	- Probably need to switch some libraries to others that make it difficult to reduce type errors
-		- e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537
+  - Probably need to switch some libraries to others that make it difficult to reduce type errors
+    - e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537
 - Improve CI
-	- Fix tests
-		- mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work.
-	- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
-	- Add more tests
-		- May need to implement a mechanism that allows for DI
-			- https://github.com/misskey-dev/misskey/pull/9085
-	- Measure coverage
-		- https://github.com/misskey-dev/misskey/pull/9081
+  - Fix tests
+    - mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work.
+  - Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
+  - Add more tests
+    - May need to implement a mechanism that allows for DI
 - Improve documentation
-- Refactoring
-	- Extract the logic of each endpoint definition into a service and just call it
 
 ## (2) Improve functionality
 Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually.
diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml
index 9d54e0082..ff8a7ae8b 100644
--- a/locales/cs-CZ.yml
+++ b/locales/cs-CZ.yml
@@ -206,7 +206,6 @@ instanceFollowers: "Následovníci na instanci"
 instanceUsers: "Uživatelé této instance"
 changePassword: "Změnit heslo"
 security: "Zabezpečení"
-retypedNotMatch: "Zadané údaje se neshodují."
 currentPassword: "Současné heslo"
 newPassword: "Nové heslo"
 newPasswordRetype: "Nové heslo (znovu)"
@@ -269,7 +268,6 @@ addFile: "Přidat soubor"
 emptyFolder: "Tato složka je prázdná"
 unableToDelete: "Nelze smazat"
 inputNewFileName: "Zadejte nový název"
-inputNewFolderName: "Zadejte název nové složky"
 copyUrl: "Kopírovat URL"
 rename: "Přejmenovat"
 avatar: "Avatar"
@@ -312,11 +310,9 @@ pinnedUsers: "Připnutí uživatelé"
 pinnedNotes: "Připnutá poznámka"
 hcaptcha: "hCaptcha"
 enableHcaptcha: "Aktivovat hCaptchu"
-hcaptchaSiteKey: "Klíč stránky"
 hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
 recaptcha: "reCAPTCHA"
 enableRecaptcha: "Zapnout ReCAPTCHu"
-recaptchaSiteKey: "Klíč stránky"
 recaptchaSecretKey: "Tajný Klíč (Secret Key)"
 antennas: "Antény"
 manageAntennas: "Spravovat Antény"
@@ -325,10 +321,6 @@ antennaSource: "Zdroj Antény"
 enableServiceworker: "Povolit ServiceWorker"
 caseSensitive: "Rozlišuje malá a velká písmena"
 connectedTo: "Následující účty jsou připojeny"
-notesAndReplies: "Poznámky a odpovědi"
-withFiles: "Včetně souborů"
-popularUsers: "Populární uživatelé"
-recentlyUpdatedUsers: "Nedávno aktívni uživatelé"
 popularTags: "Populární tagy"
 userList: "Seznamy"
 about: "Informace"
@@ -373,14 +365,10 @@ next: "Další"
 retype: "Zadejte znovu"
 noteOf: "{user} poznámky"
 inviteToGroup: "Pozvat do skupiny"
-quoteAttached: "Citace"
-quoteQuestion: "Přiložit jako citaci?"
-noMessagesYet: "Zatím tu nejsou žádné zprávy"
 newMessageExists: "Máte novou zprávu"
 onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
 signinRequired: "Přihlašte se, prosím"
 invitations: "Pozvat"
-invitationCode: "Kód pozvánky"
 checking: "Ověřuji"
 available: "K dispozici"
 unavailable: "Není k dispozici"
@@ -394,7 +382,6 @@ passwordMatched: "Hesla se schodují"
 passwordNotMatched: "Hesla se neschodují"
 signinWith: "Přihlásit se s {x}"
 signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo."
-tapSecurityKey: "Ťukněte na bezpečnostní klíč"
 or: "Nebo"
 language: "Jazyk"
 uiLanguage: "Jazyk uživatelského rozhraní"
@@ -424,20 +411,9 @@ accountSettings: "Nastavení účtu"
 promotion: "Propagace"
 promote: "Propagovat"
 numberOfDays: "Počet dní"
-objectStorageBaseUrl: "Base URL"
-objectStorageBucket: "Bucket"
-objectStoragePrefix: "Předpona"
-objectStorageEndpoint: "Endpoint"
-objectStorageRegion: "Región"
-objectStorageUseSSL: "Použít SSL"
 deleteAll: "Smazat vše"
 showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
-listen: "Poslouchat"
-showInPage: "Zobrazit na stránce"
-popout: "Pop-out"
-volume: "Hlasitost"
 masterVolume: "Celková hlasitost"
-details: "Detaily"
 chooseEmoji: "Vybrat emotikon"
 unableToProcess: "Operace nebyla dokončena."
 recentUsed: "Naposledy použité"
@@ -458,20 +434,13 @@ deleteAllFiles: "Smazat všechny soubory"
 deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
 userSuspended: "Tomuto uživateli byl pozastaven účet."
 menu: "Menu"
-divider: "Dělící čára"
 addItem: "Přidat položku"
-relays: "Relay"
-addRelay: "Přidat Relay"
 inboxUrl: "Inbox URL"
 deletedNote: "Odstraněné příspěvky"
 invisibleNote: "Skryté příspěvky"
 description: "Popis"
 author: "Autor"
 manage: "Administrace"
-width: "Šířka"
-height: "Výška"
-large: "Velké"
-medium: "Střední"
 small: "Malé"
 generateAccessToken: "Vygenerovat přístupový token"
 permission: "Oprávnění"
@@ -489,16 +458,11 @@ smtpPort: "Port"
 smtpUser: "Uživatelské jméno"
 smtpPass: "Heslo"
 smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
-testEmail: "Otestovat doručení emailů"
 makeActive: "Aktivovat"
 display: "Zobrazit"
 copy: "Kopírovat"
-metrics: "Metriky"
-overview: "Shrnutí"
 logs: "Logy"
-delayed: "Prodleva"
 database: "Databáze"
-channel: "Kanály"
 create: "Vytvořit"
 notificationSetting: "Nastavení oznámení"
 useGlobalSetting: "Použít globální nastavení"
@@ -506,415 +470,79 @@ other: "Ostatní"
 fileIdOrUrl: "ID nebo URL souboru"
 behavior: "Chování"
 sample: "Ukázka"
-send: "Odeslat"
-openInNewTab: "Otevřít v nové kartě"
-random: "Náhodně"
-system: "Systém"
-desktop: "Plocha"
-clip: "Oříznout"
-createNew: "Vytvořit nový"
-optional: "Volitelné"
-yes: "Ano"
-no: "Ne"
-notSet: "Není nastaveno"
-emailVerified: "Váš e-mail byl ověřen"
-contact: "Kontakt"
-useSystemFont: "Použít výchozí font systému"
-clips: "Oříznout"
-experimentalFeatures: "Experimentální funkce"
-developer: "Vývojář"
-duplicate: "Duplikovat"
-left: "Vlevo"
-center: "Uprostřed"
-wide: "Široké"
-narrow: "Úzké"
 clearCache: "Vyprázdnit mezipaměť"
-nUsers: "{n} užívatelů"
-nNotes: "{n} poznámek"
-myTheme: "Moje vzhledy"
-backgroundColor: "Pozadí"
-accentColor: "Akcent"
-textColor: "Barva textu"
-saveAs: "Uložit jako…"
-advanced: "Pokročilé"
-value: "Hodnota"
-createdAt: "Vytvořeno"
-updatedAt: "Upraveno"
-saveConfirm: "Uložit změny?"
-deleteConfirm: "Opravdu smazat?"
-invalidValue: "Neplatná hodnota."
-registry: "Registr"
 info: "Informace"
-unknown: "Neznámý"
-onlineStatus: "Online status"
-hideOnlineStatus: "Skrýt Váš online status"
-hideOnlineStatusDescription: "Skrytí vašeho online stavu může snížit funkcionalitu některých funkcí, například vyhledávání."
-online: "Online"
-active: "Aktivní"
-offline: "Offline"
-notRecommended: "Nedoporučuje se"
-botProtection: "Bot ochrana"
-instanceBlocking: "Blokované instance"
-selectAccount: "Vybrat účet"
-switchAccount: "Přepnout účet"
-enabled: "Zapnuto"
-disabled: "Vypnuto"
-quickAction: "Rychlé akce"
 user: "Uživatelé"
 administration: "Administrace"
-accounts: "Účty"
-switch: "Přepnout"
-configure: "Nastavit"
-gallery: "Galerie"
-recentPosts: "Poslední příspěvky"
-ads: "Reklamy"
-memo: "Memo"
-priority: "Priorita"
-high: "Vysoká"
-middle: "Střední"
-low: "Nízká"
-emailNotConfiguredWarning: "E-mailová adresa není nastavena."
-ratio: "Poměr"
-global: "Globální"
-sent: "Odeslat"
-hashtags: "Hashtagy"
-troubleshooting: "Poradce při potížích"
-whatIsNew: "Zobrazit změny"
-translate: "Přeložit"
-hide: "Skrýt"
-smartphone: "Telefon"
-tablet: "Tablet"
-auto: "Auto"
-size: "Velikost"
-numberOfColumn: "Počet sloupců"
 searchByGoogle: "Vyhledávání"
-indefinitely: "Navždy"
-tenMinutes: "10 minut"
-oneHour: "1 hodina"
-oneDay: "1 den"
-oneWeek: "1 týden"
-reflectMayTakeTime: "Může trvat nějakou dobu, než se projeví změny."
-cropImage: "Oříznout obrázek"
 file: "Soubor(ů)"
-recentNHours: "Posledních {n} hodin"
-recentNDays: "Posledních {n} dnů"
-recommended: "Doporučeno"
-deleteAccount: "Odstranit účet"
-document: "Dokumentace"
-logoutConfirm: "Opravdu se chcete odhlásit?"
-pleaseSelect: "Vybrat možnost"
-reverse: "Otočit"
-colored: "Barevné"
-type: "Typ"
-speed: "Rychlost"
-slow: "Pomalá"
-fast: "Rychlá"
-account: "Účty"
-_ad:
-  back: "Zpět"
-_gallery:
-  my: "Moje galerie"
 _email:
   _follow:
     title: "Máte nového následovníka"
-_plugin:
-  install: "Instalovat plugin"
-  manage: "Správce pluginů"
-_preferencesBackups:
-  list: "Vytvořit backup"
-  loadFile: "Načíst ze souboru"
-  save: "Uložit změny"
-_registry:
-  scope: "Rozsah"
-  key: "Klíč"
-  keys: "Klíče"
-  domain: "Doména"
-  createKey: "Vytvořit klíč"
-_aboutMisskey:
-  allContributors: "Všichni přispěvatelé"
-  source: "Zdrojový kód"
 _mfm:
   mention: "Zmínění"
-  hashtag: "Hashtag"
-  link: "Odkaz"
-  bold: "Tučně"
   quote: "Citovat"
   emoji: "Vlastní emoji"
   search: "Vyhledávání"
-  flip: "Otočit"
-  tada: "Animace (tadá)"
-  blur: "Rozmazání"
-  font: "Font"
-  rainbow: "Duha"
-_channel:
-  featured: "Trendy"
-_menuDisplay:
-  top: "Nahoru"
-  hide: "Skrýt"
 _theme:
-  install: "Nainstalovat vzhled"
-  manage: "Správa vzhledů"
-  code: "Kód vzhledu"
   description: "Popis"
-  installedThemes: "Nainstalované vzhledy"
-  constant: "Konstanta"
-  defaultValue: "Výchozí hodnota"
-  color: "Barva"
-  key: "Klíč"
-  func: "Funkce "
   keys:
-    shadow: "Stín"
-    header: "Nadpis"
-    link: "Odkaz"
-    hashtag: "Hashtag"
     mention: "Zmínění"
     renote: "Přeposlat"
-    divider: "Dělící čára"
 _sfx:
   note: "Poznámky"
   notification: "Oznámení"
   chat: "Zprávy"
-_ago:
-  future: "Budoucí"
-  justNow: "Teď"
-_time:
-  second: "Sekund"
-  minute: "Minut"
-  hour: "Hodin"
-_2fa:
-  registerDevice: "Přidat zařízení"
-  registerKey: "Přidat bezpečnostní klíč"
-_weekday:
-  sunday: "Neděle"
-  monday: "Pondělí"
-  tuesday: "Úterý"
-  wednesday: "Středa"
-  thursday: "Čtvrtek"
-  friday: "Pátek"
-  saturday: "Sobota"
 _widgets:
   notifications: "Oznámení"
   timeline: "Časová osa"
-  calendar: "Kalendář"
-  trends: "Trendy"
-  clock: "Hodiny"
-  rss: "RSS čtečka"
   activity: "Aktivita"
-  photos: "Fotky"
-  digitalClock: "Digitální hodiny"
   federation: "Federace"
-  slideshow: "Prezentace"
-  button: "Tlačítko"
-  onlineUsers: "Online uživatelé"
   jobQueue: "Fronta úloh"
-  aiscript: "AiScript conzole"
-  aichan: "Ai"
 _cw:
-  hide: "Skrýt"
   show: "Zobrazit více"
-_poll:
-  noMore: "Více už přidat nemůžete"
-  infinite: "Nikdy"
-  deadlineDate: "Datum ukončení"
-  deadlineTime: "Hodin"
-  duration: "Trvání"
 _visibility:
   home: "Domů"
   followers: "Sledující"
-_postForm:
-  _placeholders:
-    f: "Čekám, až něco napíšete..."
 _profile:
   name: "Jméno"
   username: "Uživatelské jméno"
-  description: "O mně"
-  youCanIncludeHashtags: "V popisku o Vás můžete použít i hastagy."
-  metadata: "Doplňující informace"
-  metadataContent: "Obsah"
 _exportOrImport:
-  allNotes: "Všechny poznámky"
   followingList: "Sledovaní"
   muteList: "Ztlumit"
   blockingList: "Zablokovat"
   userLists: "Seznamy"
 _charts:
   federation: "Federace"
-  apRequest: "Požadavek"
-  usersTotal: "Celkem uživatelů"
-  activeUsers: "Aktivní uživatelé"
-  notesTotal: "Celkový počet poznámek"
 _timelines:
   home: "Domů"
-  global: "Globální"
 _pages:
-  newPage: "Vytvořit novou stránku"
-  editPage: "Upravit stránku"
-  created: "Stránka byla úspěšně vytvořena"
-  updated: "Stránka byla úspěšně aktualizována"
-  deleted: "Stránka byla úspěšně smazána"
-  pageSetting: "Nastavení stránky"
-  invalidNameText: "Ujistěte se že jméno stránky je vyplněno"
-  contents: "Obsah"
-  fontSerif: "Serif"
-  fontSansSerif: "Sans Serif"
-  chooseBlock: "Přidat blok"
-  selectType: "Vyberte typ"
-  contentBlocks: "Obsah"
-  inputBlocks: "Vstup"
-  specialBlocks: "Speciální"
   blocks:
-    text: "Text"
-    textarea: "Textové pole"
-    section: "Sekce"
     image: "Obrázky"
-    button: "Tlačítko"
-    if: "Pokud"
-    _if:
-      variable: "Proměnná"
-    _post:
-      text: "Obsah"
-      canvasId: "Canvas ID"
-    _textInput:
-      name: "Jméno proměnné"
-      text: "Titulek"
-      default: "Výchozí hodnota"
-    _textareaInput:
-      name: "Jméno proměnné"
-      text: "Titulek"
-      default: "Výchozí hodnota"
-    _numberInput:
-      name: "Jméno proměnné"
-      text: "Titulek"
-      default: "Výchozí hodnota"
-    canvas: "Canvas"
-    _canvas:
-      id: "Canvas ID"
-      width: "Šířka"
-      height: "Výška"
-    _switch:
-      name: "Jméno proměnné"
-      text: "Titulek"
-      default: "Výchozí hodnota"
-    _counter:
-      name: "Jméno proměnné"
-      text: "Titulek"
-      inc: "Krok"
-    _button:
-      text: "Titulek"
-      colored: "Barevné"
-      _action:
-        _dialog:
-          content: "Obsah"
-    _radioButton:
-      name: "Jméno proměnné"
-      default: "Výchozí hodnota"
   script:
     categories:
       list: "Seznamy"
     blocks:
-      text: "Text"
-      _strLen:
-        arg1: "Text"
-      _strPick:
-        arg1: "Text"
-      _strReplace:
-        arg1: "Text"
-      _strReverse:
-        arg1: "Text"
       _join:
         arg1: "Seznamy"
-      _subtract:
-        arg1: "A"
-        arg2: "B"
-      _multiply:
-        arg1: "A"
-        arg2: "B"
-      _divide:
-        arg1: "A"
-        arg2: "B"
-      _mod:
-        arg1: "A"
-        arg2: "B"
-      round: "Zaokrouhlení zlomku"
-      _round:
-        arg1: "Číselná hodnota"
-      eq: "A a B jsou stejné"
-      _eq:
-        arg1: "A"
-        arg2: "B"
-      notEq: "A a B jsou odlišné"
-      _notEq:
-        arg1: "A"
-        arg2: "B"
-      _and:
-        arg1: "A"
-        arg2: "B"
-      _or:
-        arg1: "A"
-        arg2: "B"
-      _lt:
-        arg1: "A"
-        arg2: "B"
-      _gt:
-        arg1: "A"
-        arg2: "B"
-      _ltEq:
-        arg1: "A"
-        arg2: "B"
-      _gtEq:
-        arg1: "A"
-        arg2: "B"
-      if: "Větev"
-      _if:
-        arg1: "Pokud"
-        arg2: "Potom"
-        arg3: "Nebo"
-      random: "Náhodně"
-      _random:
-        arg1: "Pravděpodobnost"
-      rannum: "Náhodné číslo"
-      _rannum:
-        arg1: "Minimální hodnota"
-        arg2: "Maximální hodnota"
       _randomPick:
         arg1: "Seznamy"
-      _dailyRandom:
-        arg1: "Pravděpodobnost"
-      _dailyRannum:
-        arg1: "Minimální hodnota"
-        arg2: "Maximální hodnota"
       _dailyRandomPick:
         arg1: "Seznamy"
-      _seedRandom:
-        arg2: "Pravděpodobnost"
-      _seedRannum:
-        arg2: "Minimální hodnota"
-        arg3: "Maximální hodnota"
       _seedRandomPick:
         arg2: "Seznamy"
       _pick:
         arg1: "Seznamy"
       _listLen:
         arg1: "Seznamy"
-      number: "Číselná hodnota"
-      _stringToNumber:
-        arg1: "Text"
-      _numberToString:
-        arg1: "Číselná hodnota"
-      _splitStrByLine:
-        arg1: "Text"
     types:
-      string: "Text"
-      number: "Číselná hodnota"
       array: "Seznamy"
 _notification:
   youWereFollowed: "Máte nového následovníka"
   youWereInvitedToGroup: "Pozvat do skupiny"
   _types:
-    all: "Vše"
     follow: "Sledovaní"
     mention: "Zmínění"
-    reply: "Odpovědi"
     renote: "Přeposlat"
     quote: "Citovat"
     reaction: "Reakce"
diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml
index d77f7e920..168fa9d65 100644
--- a/locales/ko-KR.yml
+++ b/locales/ko-KR.yml
@@ -562,7 +562,6 @@ author: "작성자"
 leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?"
 manage: "관리"
 plugins: "플러그인"
-preferencesBackups: "환경설정 백업"
 deck: "덱"
 undeck: "덱 해제"
 useBlurEffectForModal: "모달에 흐림 효과 사용"
@@ -613,7 +612,7 @@ create: "생성"
 notificationSetting: "알림 설정"
 notificationSettingDesc: "표시할 알림의 종류를 선택해 주세요."
 useGlobalSetting: "글로벌 설정을 사용하기"
-useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용됩니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다."
+useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용되니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다."
 other: "기타"
 regenerateLoginToken: "로그인 토큰을 재생성"
 regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다."
@@ -942,24 +941,6 @@ _plugin:
   install: "플러그인 설치"
   installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다."
   manage: "플러그인 관리"
-_preferencesBackups:
-  list: "생성한 백업"
-  saveNew: "새 백업 만들기"
-  loadFile: "파일 가져오기"
-  apply: "이 기기에 적용"
-  save: "현재 설정으로 덮어쓰기"
-  inputName: "백업 이름을 입력하세요"
-  cannotSave: "저장하지 못했습니다"
-  nameAlreadyExists: "\"{name}\" 백업이 이미 존재합니다. 다른 이름을 설정하여 주십시오."
-  applyConfirm: "\"{name}\" 백업을 현재 기기에 적용하시겠습니까? 현재 설정은 덮어 씌워집니다."
-  saveConfirm: "{name} 을 덮어쓰시겠습니까?"
-  deleteConfirm: "{name} 을(를) 삭제하시겠습니까?"
-  renameConfirm: "\"{old}\" 백업을 \"{new}\"(으)로 바꾸시겠습니까?"
-  noBackups: "저장된 백업이 없습니다. \"새 백업 만들기\"를 눌러 현재 클라이언트 설정을 서버에 백업할 수 있습니다."
-  createdAt: "생성 날짜: {date} {time}"
-  updatedAt: "갱신 날짜: {date} {time}"
-  cannotLoad: "가져오기에 실패했습니다"
-  invalidFile: "파일 형식이 올바르지 않습니다."
 _registry:
   scope: "범위"
   key: "키"
@@ -1277,7 +1258,6 @@ _widgets:
   activity: "활동"
   photos: "사진"
   digitalClock: "디지털 시계"
-  unixClock: "UNIX 시계"
   federation: "연합"
   instanceCloud: "인스턴스 구름"
   postForm: "글 입력란"
diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml
index 933b722c5..f0470395f 100644
--- a/locales/pl-PL.yml
+++ b/locales/pl-PL.yml
@@ -1,5 +1,5 @@
 ---
-_lang_: "Polski"
+_lang_: "język polski"
 headlineMisskey: "Sieć połączona wpisami"
 introMisskey: "Misskey jest serwisem mikroblogowym typu open source.\nMisskey to opensource'owy serwis mikroblogowy, w którym możesz tworzyć \"notatki\", aby dzielić się tym, co się dzieje i opowiadać wszystkim o sobie.\nMożesz również użyć funkcji \"Reakcje\", aby szybko dodać własne reakcje do notatek innych użytkowników👍.\nOdkrywaj nowy świat🚀!"
 monthAndDay: "{month}-{day}"
@@ -88,7 +88,7 @@ enterListName: "Nazwa listy"
 privacy: "Prywatność"
 makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia"
 defaultNoteVisibility: "Domyślna widoczność"
-follow: "Obserwuj"
+follow: "Obserwowani"
 followRequest: "Poproś o możliwość obserwacji"
 followRequests: "Prośby o możliwość obserwacji"
 unfollow: "Przestań obserwować"
@@ -127,7 +127,7 @@ unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
 selectList: "Wybierz listę"
 selectAntenna: "Wybierz Antennę"
 selectWidget: "Wybierz widżet"
-editWidgets: "Edytuj widżety"
+editWidgets: "Edytuj widżet"
 editWidgetsExit: "Gotowe"
 customEmojis: "Niestandardowe emoji"
 emoji: "Emoji"
@@ -142,7 +142,6 @@ flagAsBot: "To konto jest botem"
 flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota."
 flagAsCat: "To konto jest kotem"
 flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot."
-flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
 autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
 addAccount: "Dodaj konto"
 loginFailed: "Nie udało się zalogować"
@@ -202,7 +201,6 @@ done: "Gotowe"
 processing: "Przetwarzanie"
 preview: "Podgląd"
 default: "Domyślne"
-defaultValueIs: "Domyślne: {value}"
 noCustomEmojis: "Brak emoji"
 noJobs: "Brak zadań"
 federating: "Federowanie"
@@ -237,7 +235,6 @@ resetAreYouSure: "Czy na pewno chcesz zresetować?"
 saved: "Zapisano"
 messaging: "Wiadomości"
 upload: "Wyślij"
-keepOriginalUploading: "Zachowaj oryginalny obraz"
 fromDrive: "Z dysku"
 fromUrl: "Z adresu URL"
 uploadFromUrl: "Wyślij z adresu URL"
@@ -380,7 +377,6 @@ administrator: "Admin"
 token: "Token"
 twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe"
 moderator: "Moderator"
-moderation: "Moderacja"
 nUsersMentioned: "{n} wspomnianych użytkowników"
 securityKey: "Klucz bezpieczeństwa"
 securityKeyName: "Nazwa klucza"
@@ -448,13 +444,11 @@ uiLanguage: "Język wyświetlania UI"
 groupInvited: "Zaproszony(-a) do grupy"
 aboutX: "O {x}"
 useOsNativeEmojis: "Używaj natywnych Emoji systemu"
-disableDrawer: "Nie używaj menu w stylu szuflady"
 youHaveNoGroups: "Nie masz żadnych grup"
 joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę."
 noHistory: "Brak historii"
 signinHistory: "Historia logowania"
 disableAnimatedMfm: "Wyłącz MFM z animacją"
-doing: "Przetwarzanie..."
 category: "Kategoria"
 tags: "Tagi"
 docSource: "Źródło tego dokumentu"
@@ -529,9 +523,6 @@ deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
 removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje."
 userSuspended: "To konto zostało zawieszone."
 userSilenced: "Ten użytkownik został wyciszony."
-yourAccountSuspendedTitle: "To konto jest zawieszone"
-yourAccountSuspendedDescription: "To konto zostało zawieszone z powodu złamania regulaminu serwera lub innych podobnych. Skontaktuj się z administratorem, jeśli chciałbyś poznać bardziej szczegółowy powód. Proszę nie zakładać nowego konta."
-menu: "Menu"
 divider: "Rozdzielacz"
 addItem: "Dodaj element"
 relays: "Przekaźniki"
@@ -550,7 +541,7 @@ disablePlayer: "Zamknij odtwarzacz wideo"
 expandTweet: "Rozwiń tweet"
 themeEditor: "Edytor motywu"
 description: "Opis"
-describeFile: "Dodaj podpis"
+describeFile: "dodaj podpis"
 enterFileDescription: "Wprowadź napis"
 author: "Autor"
 leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?"
@@ -587,7 +578,6 @@ emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć w
 smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
 testEmail: "Przetestuj dostarczanie wiadomości e-mail"
 wordMute: "Wyciszenie słowa"
-instanceMute: "Wyciszone instancje"
 userSaysSomething: "{name} powiedział(-a) coś"
 makeActive: "Aktywuj"
 display: "Wyświetlanie"
@@ -617,7 +607,6 @@ fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy
 abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
 reporteeOrigin: "Pochodzenie zgłoszonego"
 reporterOrigin: "Pochodzenie zgłaszającego"
-forwardReport: "Przekaż zgłoszenie do innej instancji"
 send: "Wyślij"
 abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
 openInNewTab: "Otwórz w nowej karcie"
@@ -630,12 +619,8 @@ random: "Losowe"
 system: "System"
 switchUi: "Przełącz interfejs użytkownika"
 desktop: "Pulpit"
-clip: "Klip"
 createNew: "Utwórz nowy"
 optional: "Nieobowiązkowe"
-createNewClip: "Utwórz nowy klip"
-unclip: "Odczep"
-confirmToUnclipAlreadyClippedNote: "Ten wpis jest już częścią klipu \"{name}\". Czy chcesz ją usunąć z tego klipu?"
 public: "Publiczny"
 i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}."
 manageAccessTokens: "Zarządzaj tokenami dostępu"
@@ -669,7 +654,6 @@ pageLikesCount: "Liczba otrzymanych polubień stron"
 pageLikedCount: "Liczba polubionych stron"
 contact: "Kontakt"
 useSystemFont: "Używaj domyślnej czcionki systemu"
-clips: "Klipy"
 experimentalFeatures: "Eksperymentalne funkcje"
 developer: "Programista"
 makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
@@ -741,7 +725,6 @@ notRecommended: "Nie zalecane"
 botProtection: "Zabezpieczenie przed botami"
 instanceBlocking: "Zablokowane instancje"
 selectAccount: "Wybierz konto"
-switchAccount: "Przełącz konto"
 enabled: "Właczono"
 disabled: "Wyłączono"
 quickAction: "Szybkie działania"
@@ -773,103 +756,22 @@ global: "Globalna"
 squareAvatars: "Wyświetlaj kwadratowe awatary"
 sent: "Wyślij"
 received: "Otrzymane"
-searchResult: "Wyniki wyszukiwania"
 hashtags: "Hashtag"
-troubleshooting: "Rozwiązywanie problemów"
-useBlurEffect: "Użyj efektów rozmycia w UI"
-learnMore: "Dowiedz się więcej"
-misskeyUpdated: "Misskey zostało zaktualizowane!"
-whatIsNew: "Pokaż zmiany"
-translate: "Przetłumacz"
-translatedFrom: "Przetłumaczone z {x}"
-accountDeletionInProgress: "Trwa usuwanie konta"
-usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze.  Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane."
-aiChanMode: "Tryb Ai"
-keepCw: "Zostaw ostrzeżenia o zawartości"
 pubSub: "Konta Pub/Sub"
-resolved: "Rozwiązane"
-unresolved: "Nierozwiązane"
-breakFollow: "Usuń obserwującego"
-itsOn: "Włączone"
-itsOff: "Wyłączone"
-unread: "Nieodczytane"
-filter: "Filtr"
-controlPanel: "Panel sterowania"
-manageAccounts: "Zarządzaj kontami"
-makeReactionsPublic: "Ustawić historię reakcji jako publiczną"
-makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotychczasowych reakcji będzie publicznie widoczna."
-classic: "Klasyczny"
-muteThread: "Wycisz wątek"
-unmuteThread: "Wyłącz wyciszenie wątku"
-ffVisibility: "Widoczność obserwowanych/obserwujących"
-ffVisibilityDescription: "Pozwala skonfigurować, kto może zobaczyć, kogo obserwujesz i kto Cię obserwuje."
-continueThread: "Pokaż kontynuację wątku"
-deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
-incorrectPassword: "Nieprawidłowe hasło."
-voteConfirm: "Potwierdzić swój głos na \"{choice}\"?"
 hide: "Ukryj"
-leaveGroup: "Opuść grupę"
-leaveGroupConfirm: "Czy na pewno chcesz opuścić \"{name}\"?"
-useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych"
-welcomeBackWithName: "Witaj z powrotem, {name}"
-clickToFinishEmailVerification: "Kliknij [{ok}], aby zakończyć weryfikację e-mail."
-overridedDeviceKind: "Typ urządzenia"
-smartphone: "Smartfon"
-tablet: "Tablet"
-auto: "Automatycznie"
-size: "Rozmiar"
-numberOfColumn: "Liczba kolumn"
 searchByGoogle: "Szukaj"
 indefinitely: "Nigdy"
 file: "Pliki"
-logoutConfirm: "Czy na pewno chcesz się wylogować?"
-lastActiveDate: "Ostatnio użyte w"
-statusbar: "Pasek stanu"
-pleaseSelect: "Wybierz opcję"
 reverse: "Odwróć"
 colored: "Kolorowe"
 label: "Etykieta"
-type: "Typ"
-speed: "Prędkość"
-localOnly: "Lokalne tylko"
-failedToUpload: "Przesyłanie nie powiodło się"
-cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie."
-cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku."
-beta: "Beta"
-enableAutoSensitive: "Automatyczne oznaczanie NSFW"
-enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji."
-navbar: "Pasek nawigacyjny"
 account: "Konta"
-move: "Przenieś"
-_sensitiveMediaDetection:
-  description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera."
-  setSensitiveFlagAutomatically: "Oznacz jako NSFW"
-_emailUnavailable:
-  used: "Ten adres e-mail jest już używany"
-  format: "Format tego adresu e-mail jest nieprawidłowy"
-  disposable: "Nie można używać jednorazowych adresów e-mail"
-  mx: "Ten serwer e-mail jest nieprawidłowy"
-  smtp: "Ten serwer e-mail nie odpowiada"
 _ffVisibility:
-  public: "Publiczne"
-  followers: "Widoczne tylko dla obserwujących"
-  private: "Prywatne"
-_signup:
-  almostThere: "Prawie na miejscu"
-  emailAddressInfo: "Podaj swój adres e-mail. Nie zostanie on upubliczniony."
-  emailSent: "E-mail z potwierdzeniem został wysłany na Twój adres e-mail ({email}). Kliknij dołączony link, aby dokończyć tworzenie konta."
-_accountDelete:
-  accountDelete: "Usuń konto"
-  mayTakeTime: "Ponieważ usuwanie konta jest procesem wymagającym dużej ilości zasobów, jego ukończenie może zająć trochę czasu, w zależności od ilości utworzonej zawartości i liczby przesłanych plików."
-  sendEmail: "Po zakończeniu usuwania konta na adres e-mail zarejestrowany na tym koncie zostanie wysłana wiadomość e-mail."
-  requestAccountDelete: "Poproś o usunięcie konta"
-  started: "Usuwanie się rozpoczęło."
-  inProgress: "Usuwanie jest obecnie w toku"
+  public: "Publikuj"
 _ad:
   back: "Wróć"
   reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
 _forgotPassword:
-  enterEmail: "Wpisz adres e-mail użyty do rejestracji. Zostanie do niego wysłany link, za pomocą którego możesz zresetować hasło."
   ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się z administratorem zamiast tego."
   contactAdmin: "Jeżeli Twoja instancja nie obsługuje adresów e-mail, skontaktuj się zamiast tego z administratorem, aby zresetować hasło."
 _gallery:
@@ -886,23 +788,6 @@ _plugin:
   install: "Zainstaluj wtyczki"
   installWarn: "Nie instaluj niezaufanych wtyczek."
   manage: "Zarządzanie wtyczkami"
-_preferencesBackups:
-  list: "Utworzone kopie zapasowe"
-  saveNew: "Zapisz nową kopię zapasową"
-  loadFile: "Załaduj z pliku"
-  apply: "Zastosuj do tego urządzenia"
-  save: "Zapisz zmiany"
-  inputName: "Proszę podać nazwę dla tej kopii zapasowej"
-  cannotSave: "Zapisanie nie powiodło się"
-  nameAlreadyExists: "Kopia zapasowa o nazwie \"{name}\" już istnieje. Proszę podać inną nazwę."
-  applyConfirm: "Czy na pewno chcesz zastosować kopię zapasową \"{name}\" na tym urządzeniu? Istniejące ustawienia tego urządzenia zostaną nadpisane."
-  saveConfirm: "Zapisać kopię zapasową jako {name}?"
-  deleteConfirm: "Usunąć kopię zapasową {name}?"
-  renameConfirm: "Zmienić nazwę kopii zapasowej z \"{old}\" na \"{new}\"?"
-  createdAt: "Utworzony w: {date} {time}"
-  updatedAt: "Zaktualizowano w: {date} {time}"
-  cannotLoad: "Ładowanie nie powiodło się"
-  invalidFile: "Nieprawidłowy format pliku"
 _registry:
   scope: "Zakres"
   key: "Klucz"
@@ -937,13 +822,10 @@ _mfm:
   bold: "Pogrubienie"
   boldDescription: "Wyróżnia litery pogrubiając je."
   small: "Małe"
-  smallDescription: "Wyświetla treść jako małą i cienką."
   center: "Wyśrodkowanie"
   centerDescription: "Wyśrodkowuje zawartość."
-  inlineCode: "Kod (w wierszu)"
   blockCode: "Kod (blok)"
   blockCodeDescription: "Wyświetla kod z podświetlaną składnią składający się z wielu linii."
-  blockMath: "Matematyka (Blok)"
   quote: "Cytuj"
   quoteDescription: "Wyświetla treść jako cytat."
   emoji: "Niestandardowe emoji"
@@ -952,20 +834,6 @@ _mfm:
   searchDescription: "Wyświetla pole wyszukiwania z wcześniej wpisanym tekstem."
   flip: "Odwróć"
   flipDescription: "Przerzuca treść poziomo lub pionowo."
-  jelly: "Animacja (Galaretka)"
-  jellyDescription: "Nadaje treści galaretowatą animację."
-  tada: "Animation (Tada)"
-  tadaDescription: "Nadaje treści animację podobną do \"Tada!\"."
-  jump: "Animacja (Skok)"
-  jumpDescription: "Nadaje treści animację skakania."
-  bounce: "Animacja (Odbijanie)"
-  bounceDescription: "Nadaje treści animację odbijania się."
-  shake: "Animacja (Wstrząsanie)"
-  shakeDescription: "Nadaje treści animację wstrząsania."
-  twitch: "Animacja (Drganie)"
-  twitchDescription: "Nadaje treści mocno drgającą animację."
-  spin: "Animacja (Obrót)"
-  spinDescription: "Nadaje treści animację obracania."
   x2: "Duże"
   x2Description: "Czyni treść większą."
   x3: "Bardzo duże"
@@ -973,17 +841,9 @@ _mfm:
   x4: "Ogromne"
   x4Description: "Czyni treść jeszcze większą niż jeszcze większa."
   blur: "Rozmycie"
-  blurDescription: "Rozmywa treść. Zostanie wyraźnie wyświetlona po najechaniu."
   font: "Czcionka"
   fontDescription: "Wybiera czcionkę do wyświetlania treści."
-  rainbow: "Tęcza"
-  rainbowDescription: "Sprawia, że zawartość pojawia się w kolorach tęczy."
-  sparkle: "Blask"
-  sparkleDescription: "Nadaje zawartości efekt lśniącego brokatu."
   rotate: "Obróć"
-  rotateDescription: "Obraca zawartość o określony kąt."
-  plain: "Zwyczajny"
-  plainDescription: "Wyłącza efekty wszystkich MFM zawartych w tym efekcie MFM."
 _instanceTicker:
   none: "Nigdy nie pokazuj"
   remote: "Pokaż dla zdalnych użytkowników"
@@ -1003,7 +863,6 @@ _channel:
   usersCount: "{n} uczestnicy"
   notesCount: "{n} wpisy"
 _menuDisplay:
-  top: "Góra"
   hide: "Ukryj"
 _wordMute:
   muteWords: "Słowo do wyciszenia"
@@ -1011,9 +870,6 @@ _wordMute:
   soft: "Łagodny"
   hard: "Twardy"
   mutedNotes: "Wyciszone wpisy"
-_instanceMute:
-  title: "Ukrywa wpisy z wymienionych instancji."
-  heading: "Lista instancji do wyciszenia"
 _theme:
   explore: "Przeglądaj motywy"
   install: "Zainstaluj motyw"
@@ -1094,7 +950,6 @@ _sfx:
   notification: "Powiadomienia"
   chat: "Wiadomości"
   chatBg: "Rozmowy (tło)"
-  antenna: "Anteny"
   channel: "Powiadomienia kanału"
 _ago:
   future: "W przyszłości"
@@ -1114,30 +969,12 @@ _time:
 _tutorial:
   title: "Jak korzystać z Misskey"
   step1_1: "Witaj!"
-  step1_2: "Ta strona nazywa się „oś czasu”. Pokazuje chronologicznie uporządkowane wpisy osób, które „śledzisz”."
   step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo."
   step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować."
-  step2_2: "Podanie pewnych informacji o tym, kim jesteś, ułatwi innym określenie, czy chcą widzieć Twoje wpisy lub Cię obserwować."
   step3_1: "Zakończyłeś(-aś) konfigurację profilu?"
-  step3_2: "Następnie spróbujmy opublikować wpis. Możesz to zrobić, naciskając przycisk z ikoną ołówka na ekranie."
   step3_3: "Wypełnij pole i kliknij przycisk w prawym górnym rogu by wysłać post."
-  step3_4: "Nie masz nic do powiedzenia? Spróbuj \"ustawiam swój misskey\"!"
-  step4_1: "Zakończyłeś publikowanie pierwszego wpisu?"
-  step4_2: "Hurra! Teraz Twój pierwszy wpis powinien być wyświetlany na Twojej osi czasu."
-  step5_1: "Teraz spróbujmy ożywić Twoją oś czasu, przez zaobserwowanie innych ludzi."
-  step5_2: "{featured} pokaże Ci popularne wpisy na tej instancji. {explore} pozwoli Ci znaleźć popularnych użytkowników. Spróbuj znaleźć tam osoby, które chcesz obserwować!"
-  step5_3: "Aby obserwować innych użytkowników, kliknij ich ikonę i naciśnij przycisk \"Obserwuj\" na ich profilu."
-  step5_4: "Jeśli inny użytkownik ma ikonę kłódki obok swojej nazwy, może minąć trochę czasu, zanim ten użytkownik ręcznie zatwierdzi Twoją prośbę o obserwowanie."
-  step6_1: "Powinieneś teraz widzieć wpisy innych użytkowników na swojej osi czasu."
-  step6_2: "Możesz także umieścić „reakcje” na wpisach innych osób, aby szybko na nie odpowiedzieć."
-  step6_3: "Aby dodać \"reakcję\", naciśnij znak \"+\" na wpisie innego użytkownika i wybierz emotikonę, którą chcesz zareagować."
-  step7_1: "Gratulacje! Ukończyłeś podstawowy samouczek Misskey."
-  step7_2: "Jeśli chcesz dowiedzieć się więcej o Misskey, wypróbuj sekcję {help}."
-  step7_3: "A teraz powodzenia i baw się dobrze z Misskey! 🚀"
 _2fa:
-  alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego."
   registerDevice: "Zarejestruj nowe urządzenie"
-  registerKey: "Zarejestruj klucz bezpieczeństwa"
   step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu."
   step2: "Następnie, zeskanuje kod QR z ekranu."
   step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację."
@@ -1153,7 +990,6 @@ _permissions:
   "write:favorites": "Edycja Twojej listy ulubionych."
   "read:following": "Wyświetlanie informacji o obserwowanych"
   "write:following": "Obserwowanie lub cofanie obserwacji innych kont"
-  "read:messaging": "Zobacz swoje czaty"
   "read:mutes": "Wyświetlanie listy osób, które wyciszyłeś(-aś)"
   "write:mutes": "Edycja listy osób, które wyciszyłeś(-aś)"
   "read:notifications": "Wyświetlanie powiadomień"
@@ -1167,10 +1003,6 @@ _permissions:
   "write:page-likes": "Edycja polubień na stronach"
   "read:user-groups": "Wyświetlanie grup użytkownika"
   "write:user-groups": "Edycja lub usuwanie grup użytkownika"
-  "read:channels": "Zobacz swoje kanały"
-  "write:channels": "Edytuj swoje kanały"
-  "read:gallery": "Zobacz swoją galerię"
-  "write:gallery": "Edytuj swoją galerię"
 _auth:
   shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?"
   permissionAsk: "Ta aplikacja wymaga następujących uprawnień:"
@@ -1189,21 +1021,12 @@ _widgets:
   calendar: "Kalendarz"
   trends: "Na czasie"
   clock: "Zegar"
-  rss: "Czytnik RSS"
   activity: "Aktywność"
   photos: "Zdjęcia"
-  digitalClock: "Zegar cyfrowy"
-  unixClock: "Zegar UNIX"
   federation: "Federacja"
-  instanceCloud: "Chmura instancji"
-  postForm: "Formularz tworzenia wpisu"
-  slideshow: "Pokaz slajdów"
+  postForm: "Utwórz wpis"
   button: "Przycisk"
-  onlineUsers: "Użytkownicy online"
   jobQueue: "Kolejka zadań"
-  serverMetric: "Metryka serwera"
-  aiscript: "Konsola AiScript"
-  aichan: "Ai"
 _cw:
   hide: "Ukryj"
   show: "Załaduj więcej"
@@ -1570,11 +1393,9 @@ _notification:
   youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji"
   yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta"
   youWereInvitedToGroup: "Zaproszony(-a) do grupy"
-  pollEnded: "Wyniki ankiety stały się dostępne"
-  emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane"
   _types:
     all: "Wszystkie"
-    follow: "Nowi obserwujący"
+    follow: "Obserwowani"
     mention: "Wspomnij"
     reply: "Odpowiedzi"
     renote: "Udostępnij"
@@ -1586,14 +1407,12 @@ _notification:
     groupInvited: "Zaproszono do grup"
     app: "Powiadomienia z aplikacji"
   _actions:
-    followBack: "zaobserwował cię z powrotem"
     reply: "Odpowiedz"
     renote: "Udostępnij"
 _deck:
   alwaysShowMainColumn: "Zawsze pokazuj główną kolumnę"
   columnAlign: "Wyrównaj kolumny"
   addColumn: "Dodaj kolumnę"
-  configureColumn: "Ustawienia kolumny"
   swapLeft: "Przesuń w lewo"
   swapRight: "Przesuń w prawo"
   swapUp: "Zamień z powyższym"
@@ -1601,9 +1420,6 @@ _deck:
   stackLeft: "Przypnij do lewej"
   popRight: "Odepnij w prawo"
   profile: "Profil"
-  newProfile: "Nowy profil"
-  deleteProfile: "Usuń profil"
-  widgetsIntroduction: "Wybierz \"Edytuj widżety\" w menu kolumny i dodaj widżet."
   _columns:
     main: "Główna"
     widgets: "Widżety"
diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml
index afce5ec02..2a6988e9b 100644
--- a/locales/ru-RU.yml
+++ b/locales/ru-RU.yml
@@ -562,7 +562,6 @@ author: "Автор"
 leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?"
 manage: "Управление"
 plugins: "Расширения"
-preferencesBackups: "Резервная копия"
 deck: "Пульт"
 undeck: "Покинуть пульт"
 useBlurEffectForModal: "Размывка под формой поверх всего"
diff --git a/locales/th-TH.yml b/locales/th-TH.yml
index 6f794a7c7..6c731ea6e 100644
--- a/locales/th-TH.yml
+++ b/locales/th-TH.yml
@@ -562,7 +562,6 @@ author: "ผู้เขียน"
 leaveConfirm: "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึกนะ นายต้องการทิ้งการเปลี่ยนแปลงเหล่านั้นหรอ?"
 manage: "การจัดการ"
 plugins: "ปลั๊กอิน"
-preferencesBackups: "ตั้งค่าการสำรองข้อมูล"
 deck: "เด็ค"
 undeck: "ออกจากเด็ค"
 useBlurEffectForModal: "ใช้เอฟเฟกต์เบลอสำหรับโมดอล"
@@ -599,7 +598,7 @@ wordMute: "ปิดเสียงคำ"
 regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป"
 regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:"
 instanceMute: "ปิดเสียง อินสแตนซ์"
-userSaysSomething: "{name} พูดอะไรบางอย่าง"
+userSaysSomething: "{ชื่อ} พูดอะไรบางอย่าง"
 makeActive: "เปิดใช้งาน"
 display: "แสดงผล"
 copy: "คัดลอก"
@@ -914,89 +913,13 @@ _ffVisibility:
 _signup:
   almostThere: "เกือบจะมี"
   emailAddressInfo: "โปรดกรอกอีเมลของคุณ มันจะไม่เปิดเผยต่อสาธารณะ"
-  emailSent: "เราได้ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้วนะ ({email}) โปรดคลิกลิงก์ที่รวมไว้เพื่อสร้างบัญชีให้เสร็จสิ้น"
-_accountDelete:
-  accountDelete: "ลบบัญชีผู้ใช้"
-  mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ"
-  sendEmail: "เมื่อการลบบัญชีนี้เสร็จสิ้น เราอาจจะส่งอีเมลไปยังที่อยู่อีเมลของคุณที่เคยลงทะเบียนไว้กับบัญชีนี้นะ"
-  requestAccountDelete: "ร้องขอให้ลบบัญชี"
-  started: "การลบได้เริ่มต้นขึ้น"
-  inProgress: "ปัจจุบันกำลังดำเนินการลบอยู่"
 _ad:
   back: "ย้อนกลับ"
-  reduceFrequencyOfThisAd: "แสดงโฆษณานี้ให้น้อยลง"
-_forgotPassword:
-  enterEmail: "ป้อนที่อยู่อีเมลที่คุณเคยใช้ในการลงทะเบียนไว้ ลิงก์ที่คุณสามารถรีเซ็ตรหัสผ่านได้นั้นจะถูกส่งไปนะ"
-  ifNoEmail: "ถ้าหากคุณไม่ได้ใช้อีเมลระหว่างการลงทะเบียน กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์แทนนะ"
-  contactAdmin: "อินสแตนซ์นี้ไม่รองรับการใช้งานที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์เพื่อรีเซ็ตรหัสผ่านของคุณแทน"
-_gallery:
-  my: "แกลลอรี่ของฉัน"
-  liked: "โพสต์ที่ถูกใจ"
-  like: "ชื่นชอบ"
-  unlike: "ลบไลค์"
 _email:
   _follow:
     title: "ได้ติดตามคุณ"
-  _receiveFollowRequest:
-    title: "คุณได้รับคำขอติดตาม"
-_plugin:
-  install: "ติดตั้งปลั๊กอิน"
-  installWarn: "กรุณาอย่าติดตั้งปลั๊กอินที่ไม่น่าเชื่อถือนะคะ"
-  manage: "จัดการปลั๊กอิน"
-_preferencesBackups:
-  list: "สร้างการสำรองข้อมูล"
-  saveNew: "บันทึกใหม่"
-  loadFile: "โหลดจากไฟล์"
-  apply: "นำไปใช้กับอุปกรณ์นี้"
-  save: "บันทึก"
-  inputName: "กรุณาป้อนชื่อสำหรับข้อมูลสำรองนี้"
-  cannotSave: "การบันทึกล้มเหลว"
-  nameAlreadyExists: "มีข้อมูลสำรองชื่อ \"{name}\" นี้อยู่แล้ว กรุณาป้อนชื่ออื่นนะ"
-  applyConfirm: "คุณต้องการใช้ข้อมูลสำรอง \"{name}\" กับอุปกรณ์นี้อย่างงั้นจริงหรอ การตั้งค่าที่มีอยู่ของอุปกรณ์นี้จะถูกเขียนทับนะ"
-  saveConfirm: "บันทึกข้อมูลสำรองเป็น {name} มั้ย?"
-  deleteConfirm: "ลบข้อมูลสำรอง {name} มั้ย?"
-  renameConfirm: "เปลี่ยนชื่อข้อมูลสำรองนี้จาก \"{old}\" เป็น \"{new}\" หรือป่าว"
-  noBackups: "ไม่มีข้อมูลสำรองนะ คุณสามารถสำรองข้อมูลการตั้งค่าไคลเอนต์ของคุณบนเซิร์ฟเวอร์นี้โดยใช้ \"สร้างการสำรองข้อมูลใหม่\"ได้นะ"
-  createdAt: "สร้างเมื่อ: {date} {time}"
-  updatedAt: "อัปเดตเมื่อ: {date} {time}"
-  cannotLoad: "การโหลดล้มเหลว"
-  invalidFile: "รูปแบบไฟล์ไม่ถูกต้องนะ"
-_registry:
-  scope: "สโคป"
-  key: "คีย์"
-  keys: "คีย์"
-  domain: "โดเมน"
-  createKey: "สร้างคีย์"
-_aboutMisskey:
-  about: "Misskey เป็นซอฟต์แวร์โอเพ่นซอร์สที่ถูกพัฒนาโดย Syuilo ตั้งแต่ปี 2014"
-  contributors: "ผู้สนับสนุนหลัก"
-  allContributors: "ผู้มีส่วนร่วมทั้งหมด"
-  source: "ซอร์สโค้ด"
-  translation: "รับแปลภาษา Misskey"
-  donate: "บริจาคให้กับ Misskey"
-  morePatrons: "เราขอขอบคุณสำหรับความช่วยเหลือจากผู้ช่วยอื่นๆ ที่ไม่ได้ระบุไว้ที่นี่นะ ขอขอบคุณ! 🥰"
-  patrons: "สมาชิกพันธมิตร"
-_nsfw:
-  respect: "ซ่อนสื่อ NSFW"
-  ignore: "อย่าซ่อนสื่อ NSFW"
-  force: "ซ่อนสื่อทั้งหมด"
 _mfm:
-  cheatSheet: "โค้ด MFM Cheat Sheet"
-  intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Misskey ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ"
-  dummy: "Misskey ขยายโลกของ Fediverse"
   mention: "กล่าวถึง"
-  mentionDescription: "คุณสามารถระบุผู้ใช้โดยใช้ At-Symbol และชื่อผู้ใช้ได้นะ"
-  hashtag: "แฮชแท็ก"
-  hashtagDescription: "คุณสามารถระบุชื่อแฮชแท็กได้โดยใช้เครื่องหมายตัวเลขและข้อความได้นะ"
-  url: "URL"
-  urlDescription: "สามารถแสดง URL ได้นะ"
-  link: "ลิงก์"
-  linkDescription: "เจาะจงเฉพาะ ส่วนของข้อความที่สามารถแสดงเป็น URL ได้"
-  bold: "ตัวหนา"
-  boldDescription: "ไฮไลท์ตัวอักษรโดยทำให้หนาขึ้น"
-  small: "ขนาดเล็ก"
-  smallDescription: "แสดงผลเนื้อหาขนาดเล็กและบาง"
-  center: "เซ็นเตอร์"
   centerDescription: "แสดงผลเนื้อหาเป็นศูนย์กลาง"
   inlineCode: "โค้ด (อินไลน์)"
   inlineCodeDescription: "แสดงผลการเน้นไวยากรณ์แบบอินไลน์สำหรับโค้ด (โปรแกรม)"
@@ -1013,117 +936,9 @@ _mfm:
   search: "ค้นหา"
   searchDescription: "แสดงผลกล่องค้นหาพร้อมกับข้อความที่ป้อนไว้ล่วงหน้า"
   flip: "พลิก"
-  flipDescription: "พลิกเนื้อหาในแนวนอนหรือแนวตั้ง"
-  jelly: "แอนิเมชั่น (เยลลี่)"
-  jellyDescription: "ให้เนื้อหาเป็นแอนิเมชั่นเหมือนเยลลี่"
-  tada: "แอนิเมชั่น (ธาดา)"
-  tadaDescription: "ให้เนื้อหาเป็นแอนิเมชั่นเหมือน \"ทาด้า!\""
-  jump: "อนิเมชั่น (กระโดด)"
-  jumpDescription: "ให้เนื้อหามีภาพเคลื่อนไหวแบบกระโดด"
-  bounce: "อนิเมชั่น (เด้ง)"
-  bounceDescription: "ให้เนื้อหามีอนิเมชั่นเด้ง"
-  shake: "อนิเมชั่น (เขย่า)"
-  shakeDescription: "ให้เนื้อหามีภาพเคลื่อนไหวสั่น"
-  twitch: "แอนิเมชั่น (Twitch)"
-  twitchDescription: "ให้เนื้อหามีแอนิเมชั่นกระตุกอย่างแรง"
-  spin: "แอนิเมชั่น (สปิน)"
-  spinDescription: "ให้เนื้อหาเป็นภาพเคลื่อนไหวแบบหมุน"
-  x2: "ขนาดใหญ่"
-  x2Description: "แสดงเนื้อหาที่ใหญ่ขึ้น"
-  x3: "ใหญ่มาก"
-  x3Description: "แสดงเนื้อหาอีเว้นท์ที่ใหญ่ขึ้น"
-  x4: "ใหญ่อย่างไม่น่าเชื่อ"
-  x4Description: "แสดงผลเนื้อหาที่ใหญ่กว่าใหญ่กว่าขนาดใหญ่"
-  blur: "เบลอ"
-  blurDescription: "เบลอเนื้อหา จะแสดงผลอย่างชัดเจนต่อเมื่อวางเมาส์เหนือ"
-  font: "ตัวอักษร"
-  fontDescription: "ตั้งค่าตัวอักษรเพื่อแสดงเนื้อหาใน"
-  rainbow: "สายรุ้ง"
-  rainbowDescription: "ทำให้เนื้อหานั้นปรากฏเป็นสีรุ้ง"
-  sparkle: "กลิตเตอร์"
-  sparkleDescription: "ให้เนื้อหานั้นมีเอฟเฟกต์แบบอนุภาคประกาย"
-  rotate: "หมุนหน้าจอ"
-  rotateDescription: "เปลี่ยนเนื้อหาตามด้วยมุมที่ระบุไว้"
-  plain: "เรียบง่าย"
-  plainDescription: "ปิดการใช้งานเอฟเฟกต์ของ MFM ทั้งหมดที่มีอยู่ในเอฟเฟกต์ MFM นี้"
-_instanceTicker:
-  none: "ไม่ต้องแสดง"
-  remote: "แสดงสำหรับผู้ใช้ระยะไกล"
-  always: "แสดงเสมอ"
-_serverDisconnectedBehavior:
-  reload: "โหลดใหม่โดยอัตโนมัติ"
-  dialog: "แสดงกล่องโต้ตอบคำเตือน"
-  quiet: "แสดงคำเตือนที่ไม่เป็นการรบกวน"
-_channel:
-  create: "สร้างแชนแนลใหม่"
-  edit: "แก้ไขแชนแนล"
-  setBanner: "เซตแบนเนอร์"
-  removeBanner: "ลบแบนเนอร์"
-  featured: "เทรนด์"
-  owned: "เจ้าของ"
-  following: "ติดตามแล้ว"
-  usersCount: "{n} ผู้เข้าร่วม"
-  notesCount: "{n} โน้ต"
-_menuDisplay:
-  sideFull: "ด้านข้าง"
-  sideIcon: "ด้านข้าง (ไอคอน)"
-  top: "ท็อป"
-  hide: "ซ่อน"
-_wordMute:
-  muteWords: "ปิดเสียงคำ"
-  muteWordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ"
-  muteWordsDescription2: "ล้อมรอบคีย์เวิร์ดด้วยเครื่องหมายทับเพื่อใช้นิพจน์ทั่วไป"
-  softDescription: "ซ่อนโน้ตให้ตรงตามเงื่อนไขที่ตั้งไว้จากไทม์ไลน์"
-  hardDescription: "ป้องกันไม่ให้โน้ตย่อที่ตรงตามเงื่อนไขที่ตั้งไว้ไม่ให้ถูกเพิ่มลงในไทม์ไลน์ นอกจากนี้ โน้ตเหล่านี้จะไม่ถูกเพิ่มลงในไทม์ไลน์แม้ว่าจะมีการเปลี่ยนแปลงเงื่อนไขยังไงก็ตาม"
-  soft: "ซอฟ"
-  hard: "ยาก"
-  mutedNotes: "ปิดเสียงโน้ต"
-_instanceMute:
-  instanceMuteDescription: "การดำเนินการนี้จะปิดเสียง\"โน้ต/รีโน้ต\"จากอินสแตนซ์ที่อยู่ในรายการ รวมถึงบันทึกของผู้ใช้ที่ตอบกลับผู้ใช้จากอินสแตนซ์ที่ปิดเสียง"
-  instanceMuteDescription2: "คั่นด้วยการขึ้นบรรทัดใหม่"
-  title: "ซ่อนโน้ตจากอินสแตนซ์ที่มีอยู่ในรายการ"
-  heading: "รายชื่ออินสแตนซ์ที่ถูกปิดเสียง"
 _theme:
-  explore: "สำรวจธีม"
-  install: "ติดตั้งธีม"
-  manage: "จัดการธีม"
-  code: "โค้ดธีม"
   description: "รายละเอียด"
-  installed: "{name} ได้รับการติดตั้ง"
-  installedThemes: "ธีมที่ติดตั้ง"
-  builtinThemes: "ธีมในตัว"
-  alreadyInstalled: "ธีมนี้ได้รับการติดตั้งแล้ว"
-  invalid: "รูปแบบของธีมนี้ไม่ถูกต้องนะ"
-  make: "ทำธีม"
-  base: "ฐาน"
-  addConstant: "เพิ่มค่าคงที่"
-  constant: "ตัวแปร"
-  defaultValue: "ค่าเริ่มต้น"
-  color: "สี"
-  refProp: "อ้างอิงคุณสมบัติ"
-  refConst: "อ้างอิงค่าคงที่"
-  key: "คีย์"
-  func: "ฟังก์ชัน"
-  funcKind: "ประเภทฟังก์ชัน"
-  argument: "อากิวเม้นต์"
-  basedProp: "ทรัพย์สินอ้างอิง"
-  alpha: "ความทึบแสง"
-  darken: "มืดลง"
-  lighten: "สว่าง"
-  inputConstantName: "ป้อนชื่อสำหรับค่าคงที่นี้"
-  importInfo: "ถ้าหากต้องการป้อนโค้ดที่นี่ คุณยังสามารถนำเข้าไปยังโปรแกรมแก้ไขธีมได้"
-  deleteConstantConfirm: "คุณต้องการลบค่าคงที่ {const} หรือป่าว?"
   keys:
-    accent: "เน้น"
-    bg: "ภาพพื้นหลัง"
-    fg: "ข้อความ"
-    focus: "โฟกัส"
-    indicator: "ตัวบ่งชี้"
-    panel: "แผงควบคุม"
-    shadow: "เงา"
-    header: "ส่วนหัว"
-    navBg: "พื้นหลังแถบด้านข้าง"
-    navFg: "ข้อความแถบด้านข้าง"
     mention: "กล่าวถึง"
     renote: "รีโน้ต"
     divider: "ตัวแบ่ง"
diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml
index 1b6f29667..182cebf5a 100644
--- a/locales/zh-CN.yml
+++ b/locales/zh-CN.yml
@@ -141,7 +141,7 @@ cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远
 flagAsBot: "这是一个机器人账号"
 flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。"
 flagAsCat: "将这个账户设定为一只猫"
-flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
+flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。"
 flagShowTimelineReplies: "在时间线上显示帖子的回复"
 flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。"
 autoAcceptFollowed: "自动允许关注者的关注"
@@ -252,7 +252,7 @@ messageRead: "已读"
 noMoreHistory: "没有更多的历史记录"
 startMessaging: "添加聊天"
 nUsersRead: "{n}人已读"
-agreeTo: "勾选则表示已阅读并同意{0}"
+agreeTo: "{0}勾选则表示已阅读并同意"
 tos: "服务条款"
 start: "开始"
 home: "首页"
@@ -668,7 +668,7 @@ yes: "是"
 no: "否"
 driveFilesCount: "网盘的文件数"
 driveUsage: "网盘的空间用量"
-noCrawle: "要求搜索引擎不索引该用户"
+noCrawle: "要求搜索引擎不索引该站点"
 noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。"
 lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。"
 alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
@@ -747,7 +747,7 @@ userInfo: "用户信息"
 unknown: "未知"
 onlineStatus: "在线状态"
 hideOnlineStatus: "隐藏在线状态"
-hideOnlineStatusDescription: "隐藏在线状态后,可能会降低搜索等功能的便利性。"
+hideOnlineStatusDescription: "隐藏在线状态后,可能会降低例如搜索等功能的便利性。"
 online: "在线"
 active: "活动"
 offline: "离线"
diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml
index 3449da99a..c7b4fe77f 100644
--- a/locales/zh-TW.yml
+++ b/locales/zh-TW.yml
@@ -883,8 +883,8 @@ sensitiveMediaDetection: "敏感性媒體的檢測"
 localOnly: "僅限本地"
 remoteOnly: "僅限遠端"
 failedToUpload: "上傳失敗"
-cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。"
-cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。"
+cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上船。"
+cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上船>"
 beta: "Beta"
 enableAutoSensitive: "自動NSFW判定"
 enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。"
@@ -917,7 +917,7 @@ _signup:
   emailSent: "已將確認郵件發送至您輸入的電子郵件地址 ({email})。請開啟電子郵件中的連結以完成帳戶創建。"
 _accountDelete:
   accountDelete: "刪除帳戶"
-  mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上傳的檔案數量較多的話,就需要花费一段時間才能完成。"
+  mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上船的檔案數量較多的話,就需要花费一段時間才能完成。"
   sendEmail: "帳戶删除完成後,將向註冊地電子郵件地址發送通知。"
   requestAccountDelete: "刪除帳戶請求"
   started: "已開始刪除作業。"
diff --git a/package.json b/package.json
index 37f0762f5..27d5fd20a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "misskey",
-	"version": "12.119.0",
+	"version": "12.118.1",
 	"codename": "indigo",
 	"repository": {
 		"type": "git",
@@ -41,10 +41,10 @@
 	"devDependencies": {
 		"@types/gulp": "4.0.9",
 		"@types/gulp-rename": "2.0.1",
-		"@typescript-eslint/parser": "5.36.2",
+		"@typescript-eslint/parser": "5.33.0",
 		"cross-env": "7.0.3",
-		"cypress": "10.7.0",
+		"cypress": "10.4.0",
 		"start-server-and-test": "1.14.0",
-		"typescript": "4.8.3"
+		"typescript": "4.7.4"
 	}
 }
diff --git a/packages/backend/package.json b/packages/backend/package.json
index be8283e4a..5ddcaeb91 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -14,7 +14,7 @@
 		"lodash": "^4.17.21"
 	},
 	"optionalDependencies": {
-		"@tensorflow/tfjs-node": "3.20.0"
+		"@tensorflow/tfjs-node": "3.19.0"
 	},
 	"dependencies": {
 		"@bull-board/koa": "4.2.2",
@@ -30,10 +30,10 @@
 		"archiver": "5.3.1",
 		"autobind-decorator": "2.4.0",
 		"autwh": "0.1.0",
-		"aws-sdk": "2.1213.0",
+		"aws-sdk": "2.1194.0",
 		"bcryptjs": "2.4.3",
 		"blurhash": "1.1.5",
-		"bull": "4.9.0",
+		"bull": "4.8.5",
 		"cacheable-lookup": "6.1.0",
 		"cbor": "8.1.0",
 		"chalk": "5.0.1",
@@ -42,7 +42,7 @@
 		"cli-highlight": "2.1.11",
 		"color-convert": "2.0.1",
 		"content-disposition": "0.5.4",
-		"date-fns": "2.29.2",
+		"date-fns": "2.29.1",
 		"deep-email-validator": "0.1.21",
 		"escape-regexp": "0.0.1",
 		"feed": "4.2.2",
@@ -58,7 +58,7 @@
 		"json5": "2.2.1",
 		"json5-loader": "4.0.1",
 		"jsonld": "6.0.0",
-		"jsrsasign": "10.5.27",
+		"jsrsasign": "10.5.26",
 		"koa": "2.13.4",
 		"koa-bodyparser": "4.3.0",
 		"koa-favicon": "2.1.0",
@@ -77,10 +77,10 @@
 		"nested-property": "4.0.0",
 		"node-fetch": "3.2.10",
 		"nodemailer": "6.7.8",
-		"nsfwjs": "2.4.2",
+		"nsfwjs": "2.4.1",
 		"os-utils": "0.0.14",
-		"parse5": "7.1.1",
-		"pg": "8.8.0",
+		"parse5": "7.0.0",
+		"pg": "8.7.3",
 		"private-ip": "2.3.4",
 		"probe-image-size": "7.2.3",
 		"promise-limit": "2.7.0",
@@ -105,7 +105,7 @@
 		"stringz": "2.1.0",
 		"summaly": "2.7.0",
 		"syslog-pro": "1.0.0",
-		"systeminformation": "5.12.6",
+		"systeminformation": "5.12.5",
 		"tinycolor2": "1.4.2",
 		"tmp": "0.2.1",
 		"ts-loader": "9.3.1",
@@ -113,17 +113,17 @@
 		"tsc-alias": "1.7.0",
 		"tsconfig-paths": "4.1.0",
 		"twemoji-parser": "14.0.0",
-		"typeorm": "0.3.9",
+		"typeorm": "0.3.7",
 		"ulid": "2.3.0",
 		"unzipper": "0.10.11",
-		"uuid": "9.0.0",
+		"uuid": "8.3.2",
 		"web-push": "3.5.0",
 		"websocket": "1.0.34",
 		"ws": "8.8.1",
 		"xev": "3.0.2"
 	},
 	"devDependencies": {
-		"@redocly/openapi-core": "1.0.0-beta.108",
+		"@redocly/openapi-core": "1.0.0-beta.106",
 		"@types/bcryptjs": "2.4.2",
 		"@types/bull": "3.15.9",
 		"@types/cbor": "6.0.0",
@@ -145,13 +145,13 @@
 		"@types/koa__multer": "2.0.4",
 		"@types/koa__router": "8.0.11",
 		"@types/mocha": "9.1.1",
-		"@types/node": "18.7.16",
+		"@types/node": "18.7.2",
 		"@types/node-fetch": "3.0.3",
 		"@types/nodemailer": "6.4.5",
 		"@types/oauth": "0.9.1",
 		"@types/pug": "2.0.6",
 		"@types/punycode": "2.1.0",
-		"@types/qrcode": "1.5.0",
+		"@types/qrcode": "1.4.2",
 		"@types/random-seed": "0.3.3",
 		"@types/ratelimiter": "3.4.3",
 		"@types/redis": "4.0.11",
@@ -167,12 +167,12 @@
 		"@types/web-push": "3.3.2",
 		"@types/websocket": "1.0.5",
 		"@types/ws": "8.5.3",
-		"@typescript-eslint/eslint-plugin": "5.36.2",
-		"@typescript-eslint/parser": "5.36.2",
+		"@typescript-eslint/eslint-plugin": "5.33.0",
+		"@typescript-eslint/parser": "5.33.0",
 		"cross-env": "7.0.3",
-		"eslint": "8.23.0",
+		"eslint": "8.21.0",
 		"eslint-plugin-import": "2.26.0",
 		"execa": "6.1.0",
-		"typescript": "4.8.3"
+		"typescript": "4.7.4"
 	}
 }
diff --git a/packages/backend/src/server/api/common/read-notification.ts b/packages/backend/src/server/api/common/read-notification.ts
index b0d38a9e3..cf993ade3 100644
--- a/packages/backend/src/server/api/common/read-notification.ts
+++ b/packages/backend/src/server/api/common/read-notification.ts
@@ -1,19 +1,18 @@
-import { In } from 'typeorm';
 import { publishMainStream } from '@/services/stream.js';
 import { pushNotification } from '@/services/push-notification.js';
 import { User } from '@/models/entities/user.js';
 import { Notification } from '@/models/entities/notification.js';
 import { Notifications, Users } from '@/models/index.js';
+import { In } from 'typeorm';
 
 export async function readNotification(
 	userId: User['id'],
-	notificationIds: Notification['id'][],
+	notificationIds: Notification['id'][]
 ) {
 	if (notificationIds.length === 0) return;
 
 	// Update documents
 	const result = await Notifications.update({
-		notifieeId: userId,
 		id: In(notificationIds),
 		isRead: false,
 	}, {
@@ -28,7 +27,7 @@ export async function readNotification(
 
 export async function readNotificationByQuery(
 	userId: User['id'],
-	query: Record