diff --git a/adminfront/src/components/layout/RoleSwitcher.tsx b/adminfront/src/components/layout/RoleSwitcher.tsx
index 040d623a..0530f9e8 100644
--- a/adminfront/src/components/layout/RoleSwitcher.tsx
+++ b/adminfront/src/components/layout/RoleSwitcher.tsx
@@ -105,40 +105,35 @@ const RoleSwitcher: FC = () => {
marginTop: "4px",
}}
>
- {(
- [
- "super_admin",
- "tenant_admin",
- "rp_admin",
- "user",
- ] as const
- ).map((role) => (
-
- ))}
+ {(["super_admin", "tenant_admin", "rp_admin", "user"] as const).map(
+ (role) => (
+
+ ),
+ )}
)}
diff --git a/adminfront/src/locales/en.toml b/adminfront/src/locales/en.toml
index 6b2ec8ff..92c43ae3 100644
--- a/adminfront/src/locales/en.toml
+++ b/adminfront/src/locales/en.toml
@@ -130,6 +130,44 @@ not_found = "Tenant not found."
remove_sub_confirm = 'Remove tenant "{{name}}" from sub-tenants?'
subtitle = "Subtitle"
+[msg.admin.tenants.admins]
+add_success = "Admin added successfully."
+empty = "No admins registered."
+remove_confirm = "Are you sure you want to remove admin permission for {{name}}?"
+remove_success = "Admin permission revoked."
+subtitle = "Users with permissions to manage this tenant's resources."
+title = "Tenant Admin Settings"
+
+[msg.admin.tenants.owners]
+add_success = "Owner added successfully."
+empty = "No owners registered."
+remove_confirm = "Are you sure you want to remove owner permission for {{name}}?"
+remove_success = "Owner permission revoked."
+subtitle = "List of owners with top-level permissions for this tenant."
+
+[ui.admin.tenants.admins]
+add_button = "Add Admin"
+already_admin = "Already Admin"
+dialog_description = "Search users by name or email to grant admin permissions."
+dialog_no_results = "No results found."
+dialog_search_hint = "Please enter a search term."
+dialog_search_placeholder = "Search users (min 2 chars)..."
+dialog_title = "Add New Admin"
+remove_title = "Revoke Admin Permission"
+table_actions = "Actions"
+table_email = "Email"
+table_name = "Name"
+title = "Tenant Admins"
+
+[ui.admin.tenants.owners]
+add_button = "Add Owner"
+dialog_description = "Search users by name or email to grant owner permissions."
+dialog_title = "Add New Owner"
+table_actions = "Actions"
+table_email = "Email"
+table_name = "Name"
+title = "Tenant Owners"
+
[msg.admin.tenants.create]
subtitle = "Subtitle"
diff --git a/adminfront/src/locales/ko.toml b/adminfront/src/locales/ko.toml
index d82a208a..81bf79c1 100644
--- a/adminfront/src/locales/ko.toml
+++ b/adminfront/src/locales/ko.toml
@@ -161,6 +161,13 @@ remove_success = "관리자 권한이 회수되었습니다."
subtitle = "이 테넌트의 자원을 관리할 수 있는 권한을 가진 사용자들입니다."
title = "테넌트 관리자 설정"
+[msg.admin.tenants.owners]
+add_success = "소유자가 성공적으로 추가되었습니다."
+empty = "등록된 소유자가 없습니다."
+remove_confirm = "{{name}} 사용자의 소유자 권한을 회수할까요?"
+remove_success = "소유자 권한이 회수되었습니다."
+subtitle = "이 테넌트의 최상위 권한을 가진 소유자(조직장) 목록입니다."
+
[ui.admin.tenants.admins]
add_button = "관리자 추가"
already_admin = "이미 관리자"
@@ -175,6 +182,15 @@ table_email = "이메일"
table_name = "이름"
title = "테넌트 관리자"
+[ui.admin.tenants.owners]
+add_button = "소유자 추가"
+dialog_description = "이름 또는 이메일로 사용자를 검색하여 소유자 권한을 부여하세요."
+dialog_title = "새 소유자 추가"
+table_actions = "액션"
+table_email = "이메일"
+table_name = "이름"
+title = "테넌트 소유자"
+
[msg.admin.tenants.create]
subtitle = "글로벌 운영 기준의 신규 테넌트를 등록합니다."
diff --git a/locales/en.toml b/locales/en.toml
index ce690bf7..43a5132e 100644
--- a/locales/en.toml
+++ b/locales/en.toml
@@ -182,6 +182,13 @@ remove_confirm = "Remove Confirm"
remove_success = "Remove Success"
subtitle = "Subtitle"
+[msg.admin.tenants.owners]
+add_success = "Owner added successfully."
+empty = "No owners registered."
+remove_confirm = "Are you sure you want to remove this owner?"
+remove_success = "Owner permission revoked."
+subtitle = "List of owners with top-level permissions for this tenant."
+
[msg.admin.tenants.create]
subtitle = "Subtitle"
@@ -803,7 +810,7 @@ view_audit_logs = "View Audit Logs"
rp_admin = "RP ADMIN"
super_admin = "SUPER ADMIN"
tenant_admin = "TENANT ADMIN"
-tenant_member = "TENANT MEMBER"
+user = "TENANT MEMBER"
[ui.admin.tenants]
add = "Add Tenant"
@@ -823,6 +830,17 @@ table_email = "Email"
table_name = "Name"
title = "Title"
+[ui.admin.tenants.owners]
+add_button = "Add Owner"
+already_owner = "Already Owner"
+dialog_description = "Search users by name or email."
+dialog_title = "Add New Owner"
+remove_title = "Revoke Owner Permission"
+table_actions = "Actions"
+table_email = "Email"
+table_name = "Name"
+title = "Tenant Owners"
+
[ui.admin.tenants.breadcrumb]
list = "List"
section = "Tenants"
@@ -855,9 +873,9 @@ title = "Tenant Profile"
breadcrumb_list = "Tenant List"
header_subtitle = "Header Subtitle"
loading = "Loading"
-tab_admins = "Tab Admins"
tab_federation = "Tab Federation"
tab_organization = "Organization Manage"
+tab_permissions = "Permissions"
tab_profile = "Profile"
tab_schema = "Tab Schema"
title = "Details"
diff --git a/locales/ko.toml b/locales/ko.toml
index 5bb3325a..ed63642b 100644
--- a/locales/ko.toml
+++ b/locales/ko.toml
@@ -182,6 +182,13 @@ remove_confirm = "관리자를 삭제하시겠습니까?"
remove_success = "권한이 회수되었습니다."
subtitle = "이 테넌트의 자원을 관리할 수 있는 사용자 목록입니다."
+[msg.admin.tenants.owners]
+add_success = "소유자가 추가되었습니다."
+empty = "등록된 소유자가 없습니다."
+remove_confirm = "소유자를 삭제하시겠습니까?"
+remove_success = "소유자 권한이 회수되었습니다."
+subtitle = "이 테넌트의 최상위 권한을 가진 소유자(조직장) 목록입니다."
+
[msg.admin.tenants.create]
subtitle = "글로벌 운영 기준의 신규 테넌트를 등록합니다."
@@ -803,7 +810,7 @@ view_audit_logs = "감사 로그 보기"
rp_admin = "RP ADMIN"
super_admin = "SUPER ADMIN"
tenant_admin = "TENANT ADMIN"
-tenant_member = "TENANT MEMBER"
+user = "TENANT MEMBER"
[ui.admin.tenants]
add = "테넌트 추가"
@@ -823,6 +830,17 @@ table_email = "이메일"
table_name = "이름"
title = "테넌트 관리자"
+[ui.admin.tenants.owners]
+add_button = "소유자 추가"
+already_owner = "이미 소유자"
+dialog_description = "이름 또는 이메일로 사용자를 검색하세요."
+dialog_title = "새 소유자 추가"
+remove_title = "소유자 권한 회수"
+table_actions = "액션"
+table_email = "이메일"
+table_name = "이름"
+title = "테넌트 소유자"
+
[ui.admin.tenants.breadcrumb]
list = "List"
section = "Tenants"
@@ -855,9 +873,9 @@ title = "Tenant Profile"
breadcrumb_list = "테넌트 목록"
header_subtitle = "테넌트 정보를 수정하거나 연동 설정을 관리합니다."
loading = "불러오는 중..."
-tab_admins = "관리자 설정"
tab_federation = "외부 연동"
tab_organization = "조직 관리"
+tab_permissions = "권한"
tab_profile = "프로필"
tab_schema = "사용자 스키마"
title = "상세"
diff --git a/locales/template.toml b/locales/template.toml
index 65961d15..663bc1b5 100644
--- a/locales/template.toml
+++ b/locales/template.toml
@@ -726,7 +726,7 @@ view_audit_logs = ""
rp_admin = ""
super_admin = ""
tenant_admin = ""
-tenant_member = ""
+user = ""
[ui.admin.tenants]
add = ""
@@ -1451,6 +1451,13 @@ remove_confirm = ""
remove_success = ""
subtitle = ""
+[msg.admin.tenants.owners]
+add_success = ""
+empty = ""
+remove_confirm = ""
+remove_success = ""
+subtitle = ""
+
[msg.admin.tenants]
approve_confirm = ""
approve_success = ""
@@ -1496,6 +1503,17 @@ table_email = ""
table_name = ""
title = ""
+[ui.admin.tenants.owners]
+add_button = ""
+already_owner = ""
+dialog_description = ""
+dialog_title = ""
+remove_title = ""
+table_actions = ""
+table_email = ""
+table_name = ""
+title = ""
+
[ui.admin.tenants.create.form]
parent = ""
type = ""
@@ -1504,9 +1522,9 @@ type = ""
breadcrumb_list = ""
header_subtitle = ""
loading = ""
-tab_admins = ""
tab_federation = ""
tab_organization = ""
+tab_permissions = ""
tab_profile = ""
tab_schema = ""
title = ""