diff --git a/devfront/src/features/clients/ClientGeneralPage.tsx b/devfront/src/features/clients/ClientGeneralPage.tsx
index abb9610e..b6bfce9a 100644
--- a/devfront/src/features/clients/ClientGeneralPage.tsx
+++ b/devfront/src/features/clients/ClientGeneralPage.tsx
@@ -1776,7 +1776,7 @@ function ClientGeneralPage() {
{t(
"ui.dev.clients.general.id_token_claims.title",
- "ID Token Claims",
+ "Custom Claims",
)}
diff --git a/devfront/src/locales/en.toml b/devfront/src/locales/en.toml
index edfdf75a..168a1d53 100644
--- a/devfront/src/locales/en.toml
+++ b/devfront/src/locales/en.toml
@@ -324,6 +324,19 @@ loaded_count = "Loaded {{count}} rows"
loading = "Loading audit logs..."
subtitle = "Shows DevFront activity history within current tenant/app scope."
+[msg.dev.request]
+admin_desc = "Manage developer access requests submitted by users."
+approved = "Approved."
+cancelled = "Approval has been cancelled."
+empty = "No requests found."
+need_cancel_notes = "Please enter a reason for cancelling approval."
+need_notes = "Please enter a rejection reason."
+rejected = "Rejected."
+user_desc = "Review your request history and submit a new access request."
+
+[msg.dev.request.modal]
+desc = "Please enter the reason for your request. It will be approved after administrator review."
+
[msg.dev.clients]
load_error = "Error loading clients: {{error}}"
loading = "Loading apps..."
@@ -1298,12 +1311,45 @@ scope_badge = "Scoped to /dev"
[ui.dev.nav]
audit_logs = "Audit Logs"
clients = "Connected Application"
+developer_request = "Developer Access Request"
logout = "Logout"
[ui.dev.audit]
load_more = "Load more"
title = "Audit Logs"
+[ui.dev.request]
+admin_notes_placeholder = "Enter note (optional)..."
+cancel_approval = "Cancel Approval"
+cancel_notes_placeholder = "Enter reason for approval cancellation..."
+
+[ui.dev.request.list]
+title = "Request History"
+
+[ui.dev.request.modal]
+email = "Email"
+name = "Name"
+org = "Organization"
+phone = "Phone Number"
+reason = "Reason"
+reason_placeholder = "e.g. I need to create an OIDC client for internal service integration and testing."
+role = "Role"
+title = "Developer Access Request"
+
+[ui.dev.request.status]
+approved = "Approved"
+cancelled = "Approval Cancelled"
+pending = "Pending"
+rejected = "Rejected"
+
+[ui.dev.request.table]
+actions = "Actions"
+date = "Requested At"
+org = "Organization"
+reason = "Reason"
+status = "Status"
+user = "User"
+
[ui.dev.audit.registry]
title = "Audit registry"
@@ -1463,7 +1509,7 @@ autocomplete_hint = "Type a tenant name to see autocomplete suggestions. Click o
validation_required = "Select at least one allowed tenant when tenant access restriction is enabled."
[ui.dev.clients.general.id_token_claims]
-title = "ID Token Claims"
+title = "Custom Claims"
add = "Add Claim"
preview_title = "Saved JSON Preview"
namespace_label = "Claim namespace"
diff --git a/devfront/src/locales/ko.toml b/devfront/src/locales/ko.toml
index fa373fed..b34eb75a 100644
--- a/devfront/src/locales/ko.toml
+++ b/devfront/src/locales/ko.toml
@@ -324,6 +324,19 @@ loaded_count = "로드된 로그 {{count}}건"
loading = "감사 로그를 불러오는 중..."
subtitle = "현재 테넌트/앱 범위의 DevFront 작업 이력을 조회합니다."
+[msg.dev.request]
+admin_desc = "사용자들의 개발자 권한 신청 내역을 관리합니다."
+approved = "승인되었습니다."
+cancelled = "승인이 취소되었습니다."
+empty = "신청 내역이 없습니다."
+need_cancel_notes = "승인 취소 사유를 입력해주세요."
+need_notes = "반려 사유를 입력해주세요."
+rejected = "반려되었습니다."
+user_desc = "내 신청 내역을 확인하고 새로운 권한을 신청할 수 있습니다."
+
+[msg.dev.request.modal]
+desc = "신청 사유를 입력해 주세요. 관리자 확인 후 승인됩니다."
+
[msg.dev.clients]
deleted = "앱이 삭제되었습니다."
delete_confirm = "정말로 이 앱을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
@@ -1298,12 +1311,45 @@ scope_badge = "Scoped to /dev"
[ui.dev.nav]
audit_logs = "감사 로그"
clients = "연동 앱"
+developer_request = "개발자 권한 신청"
logout = "로그아웃"
[ui.dev.audit]
load_more = "더 보기"
title = "감사 로그"
+[ui.dev.request]
+admin_notes_placeholder = "메모 입력 (선택)..."
+cancel_approval = "승인 취소"
+cancel_notes_placeholder = "승인 취소 사유 입력..."
+
+[ui.dev.request.list]
+title = "신청 내역"
+
+[ui.dev.request.modal]
+email = "이메일"
+name = "성함"
+org = "소속"
+phone = "전화번호"
+reason = "신청 사유"
+reason_placeholder = "예: 자체 서비스 연동 및 테스트용 OIDC 클라이언트 생성이 필요합니다."
+role = "역할"
+title = "개발자 등록 신청"
+
+[ui.dev.request.status]
+approved = "승인됨"
+cancelled = "승인 취소됨"
+pending = "대기 중"
+rejected = "반려됨"
+
+[ui.dev.request.table]
+actions = "관리"
+date = "신청일"
+org = "소속"
+reason = "신청 사유"
+status = "상태"
+user = "사용자"
+
[ui.dev.audit.registry]
title = "Audit registry"
@@ -1462,7 +1508,7 @@ autocomplete_hint = "테넌트 이름을 입력하면 자동 완성 후보가
validation_required = "테넌트 접근 제한을 사용할 경우 허용 테넌트를 하나 이상 선택해야 합니다."
[ui.dev.clients.general.id_token_claims]
-title = "ID Token Claims"
+title = "커스텀 클레임"
add = "Claim 추가"
preview_title = "저장 JSON 미리보기"
namespace_label = "Claim 네임스페이스"
diff --git a/devfront/src/locales/template.toml b/devfront/src/locales/template.toml
index c8eaae93..989bfdec 100644
--- a/devfront/src/locales/template.toml
+++ b/devfront/src/locales/template.toml
@@ -337,14 +337,6 @@ user_desc = ""
[msg.dev.request.modal]
desc = ""
-email = ""
-name = ""
-org = ""
-phone = ""
-reason = ""
-reason_placeholder = ""
-role = ""
-title = ""
[msg.dev.request.status]
approved = ""