From 1dac9617846be0072b1d872f8701bd3a77249e56 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Fri, 21 Apr 2023 09:17:44 +0900
Subject: [PATCH] =?UTF-8?q?enhance(frontend):=20INVALID=5FPARAM=E3=81=8A?=
 =?UTF-8?q?=E3=82=88=E3=81=B3ROLE=5FPERMISSION=5FDENIED=E3=82=A8=E3=83=A9?=
 =?UTF-8?q?=E3=83=BC=E3=82=92=E5=88=86=E3=81=8B=E3=82=8A=E3=82=84=E3=81=99?=
 =?UTF-8?q?=E3=81=8F=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?=
 =?UTF-8?q?=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 locales/ja-JP.yml           | 4 ++++
 packages/frontend/src/os.ts | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 69fca92f6f..2ff2700c28 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -951,6 +951,10 @@ manageCustomEmojis: "カスタム絵文字の管理"
 youCannotCreateAnymore: "これ以上作成することはできません。"
 cannotPerformTemporary: "一時的に利用できません"
 cannotPerformTemporaryDescription: "操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。"
+invalidParamError: "パラメータエラー"
+invalidParamErrorDescription: "リクエストパラメータに問題があります。通常これはバグですが、入力した文字数が多すぎる等の可能性もあります。"
+permissionDeniedError: "操作が拒否されました"
+permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
 preset: "プリセット"
 selectFromPresets: "プリセットから選択"
 achievements: "実績"
diff --git a/packages/frontend/src/os.ts b/packages/frontend/src/os.ts
index 962f9cdd98..157aa79064 100644
--- a/packages/frontend/src/os.ts
+++ b/packages/frontend/src/os.ts
@@ -55,6 +55,12 @@ export const apiWithDialog = ((
 		} else if (err.code === 'RATE_LIMIT_EXCEEDED') {
 			title = i18n.ts.cannotPerformTemporary;
 			text = i18n.ts.cannotPerformTemporaryDescription;
+		} else if (err.code === 'INVALID_PARAM') {
+			title = i18n.ts.invalidParamError;
+			text = i18n.ts.invalidParamErrorDescription;
+		} else if (err.code === 'ROLE_PERMISSION_DENIED') {
+			title = i18n.ts.permissionDeniedError;
+			text = i18n.ts.permissionDeniedErrorDescription;
 		} else if (err.code.startsWith('TOO_MANY')) {
 			title = i18n.ts.youCannotCreateAnymore;
 			text = `${i18n.ts.error}: ${err.id}`;