@liujitcn/kratos-admin-core 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/package/declarations/src/api/base/language.d.ts +3 -3
  2. package/dist/package/declarations/src/components/Dict/index.vue.d.ts +4 -3
  3. package/dist/package/declarations/src/components/Dict/value.d.ts +11 -0
  4. package/dist/package/declarations/src/locales/generated.d.ts +3382 -0
  5. package/dist/package/declarations/src/locales/index.d.ts +11 -21
  6. package/dist/package/declarations/src/rpc/base/v1/config.d.ts +11 -1
  7. package/dist/package/declarations/src/rpc/base/v1/language.d.ts +7 -13
  8. package/dist/package/declarations/src/rpc/base/v1/login.d.ts +13 -1
  9. package/dist/package/declarations/src/rpc/system/admin/v1/auth.d.ts +1 -1
  10. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +7 -77
  11. package/dist/package/declarations/src/rpc/system/admin/v1/base_translation.d.ts +54 -81
  12. package/dist/package/declarations/src/rpc/system/admin/v1/common.d.ts +13 -0
  13. package/dist/package/declarations/src/stores/modules/auth.d.ts +6 -6
  14. package/dist/package/declarations/src/utils/passwordCrypto.d.ts +1 -1
  15. package/dist/package/src/App.vue +2 -8
  16. package/dist/package/src/api/base/language.ts +4 -4
  17. package/dist/package/src/bootstrap.ts +1 -1
  18. package/dist/package/src/components/CronExpression/index.vue +19 -19
  19. package/dist/package/src/components/Dialog/FormDialog.vue +1 -1
  20. package/dist/package/src/components/Dict/index.vue +21 -7
  21. package/dist/package/src/components/Dict/value.ts +18 -0
  22. package/dist/package/src/components/ImportExcel/index.vue +10 -10
  23. package/dist/package/src/components/LocaleSwitch/index.vue +1 -1
  24. package/dist/package/src/components/ProForm/components/DynamicList.vue +1 -1
  25. package/dist/package/src/components/ProForm/components/KvList.vue +2 -2
  26. package/dist/package/src/components/ProForm/index.vue +2 -2
  27. package/dist/package/src/components/ProTable/components/ColSetting.vue +3 -3
  28. package/dist/package/src/components/ProTable/components/TableColumn.vue +1 -1
  29. package/dist/package/src/components/ProTable/index.vue +4 -4
  30. package/dist/package/src/components/SearchForm/components/SearchFormItem.vue +2 -2
  31. package/dist/package/src/components/SelectFilter/index.vue +1 -1
  32. package/dist/package/src/components/TreeFilter/index.vue +4 -4
  33. package/dist/package/src/components/Upload/File.vue +6 -6
  34. package/dist/package/src/components/Upload/Files.vue +7 -7
  35. package/dist/package/src/components/Upload/Img.vue +4 -4
  36. package/dist/package/src/components/Upload/Imgs.vue +5 -5
  37. package/dist/package/src/components/WangEditor/index.vue +1 -1
  38. package/dist/package/src/hooks/useDownload.ts +1 -1
  39. package/dist/package/src/hooks/useHandleData.ts +2 -2
  40. package/dist/package/src/hooks/useTheme.ts +1 -1
  41. package/dist/package/src/layouts/components/Header/components/AssemblySize.vue +1 -1
  42. package/dist/package/src/layouts/components/Header/components/Avatar.vue +5 -5
  43. package/dist/package/src/layouts/components/Header/components/Breadcrumb.vue +2 -2
  44. package/dist/package/src/layouts/components/Header/components/Fullscreen.vue +2 -2
  45. package/dist/package/src/layouts/components/Header/components/PasswordDialog.vue +1 -1
  46. package/dist/package/src/layouts/components/Header/components/SearchMenu.vue +3 -3
  47. package/dist/package/src/layouts/components/Main/index.vue +1 -0
  48. package/dist/package/src/layouts/components/Tabs/components/MoreButton.vue +5 -5
  49. package/dist/package/src/layouts/components/Tabs/index.vue +15 -1
  50. package/dist/package/src/layouts/components/ThemeDrawer/index.vue +7 -7
  51. package/dist/package/src/locales/README.md +2 -2
  52. package/dist/package/src/locales/en-US.json +142 -117
  53. package/dist/package/src/locales/es-ES.json +226 -201
  54. package/dist/package/src/locales/fr-FR.json +226 -201
  55. package/dist/package/src/locales/generated.ts +57 -0
  56. package/dist/package/src/locales/index.ts +54 -55
  57. package/dist/package/src/locales/ja-JP.json +177 -152
  58. package/dist/package/src/locales/ko-KR.json +221 -196
  59. package/dist/package/src/locales/zh-CN.json +142 -117
  60. package/dist/package/src/locales/zh-TW.json +147 -122
  61. package/dist/package/src/modules/kratosAdmin.ts +3 -17
  62. package/dist/package/src/routers/modules/dynamicRouter.ts +4 -4
  63. package/dist/package/src/routers/modules/staticRouter.ts +2 -2
  64. package/dist/package/src/rpc/base/v1/config.ts +12 -1
  65. package/dist/package/src/rpc/base/v1/language.ts +7 -13
  66. package/dist/package/src/rpc/base/v1/login.ts +14 -1
  67. package/dist/package/src/rpc/system/admin/v1/auth.ts +1 -1
  68. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +7 -79
  69. package/dist/package/src/rpc/system/admin/v1/base_translation.ts +54 -81
  70. package/dist/package/src/rpc/system/admin/v1/common.ts +21 -0
  71. package/dist/package/src/stores/modules/config.ts +2 -2
  72. package/dist/package/src/stores/modules/user.ts +1 -1
  73. package/dist/package/src/styles/element.scss +2 -0
  74. package/dist/package/src/utils/color.ts +4 -4
  75. package/dist/package/src/utils/eleValidate.ts +2 -2
  76. package/dist/package/src/utils/index.ts +3 -3
  77. package/dist/package/src/utils/passwordCrypto.ts +2 -2
  78. package/dist/package/src/utils/request.ts +6 -6
  79. package/dist/package/src/views/login/components/LoginForm.vue +15 -12
  80. package/package.json +2 -2
  81. package/vite.config.ts +12 -8
  82. package/dist/package/declarations/src/rpc/base/v1/enum.d.ts +0 -43
  83. package/dist/package/declarations/src/rpc/system/common/v1/enum.d.ts +0 -67
  84. package/dist/package/src/rpc/base/v1/enum.ts +0 -54
  85. package/dist/package/src/rpc/system/common/v1/enum.ts +0 -80
@@ -12,18 +12,16 @@
12
12
  "common.action.login": "Log in",
13
13
  "common.action.logout": "Log out",
14
14
  "common.action.reset": "Reset",
15
- "common.action.retry": "Retry",
16
15
  "common.action.save": "Save",
17
16
  "common.action.search": "Search",
18
- "common.action.upload": "Upload",
19
17
  "common.action.view": "View",
20
- "common.field.endTime": "End time",
18
+ "common.field.end_time": "End time",
21
19
  "common.field.language": "Language",
22
20
  "common.field.operation": "Actions",
23
- "common.field.parameterName": "Parameter name",
24
- "common.field.parameterValue": "Parameter value",
21
+ "common.field.parameter_name": "Parameter name",
22
+ "common.field.parameter_value": "Parameter value",
25
23
  "common.field.phone": "Phone number",
26
- "common.field.startTime": "Start time",
24
+ "common.field.start_time": "Start time",
27
25
  "common.language.en-US": "English",
28
26
  "common.language.ja-JP": "日本語",
29
27
  "common.language.zh-CN": "简体中文",
@@ -31,61 +29,59 @@
31
29
  "common.language.ko-KR": "Korean",
32
30
  "common.language.fr-FR": "French",
33
31
  "common.language.es-ES": "Spanish",
34
- "common.message.loading": "Loading",
35
- "common.message.noData": "No data",
36
- "common.message.operationSuccess": "Operation completed",
37
- "common.message.systemError": "System error",
38
- "common.message.unknown": "Unable to process this request. Try again later.",
39
- "common.validation.phoneInvalid": "Enter a valid phone number",
40
- "common.validation.phoneRequired": "Enter a phone number",
32
+ "common.message.no_data": "No data",
33
+ "common.message.operation_success": "Operation completed",
34
+ "common.message.system_error": "System error",
35
+ "common.validation.phone_invalid": "Enter a valid phone number",
36
+ "common.validation.phone_required": "Enter a phone number",
41
37
  "common.title.notice": "Notice",
42
38
  "common.title.warning": "Confirmation",
43
39
  "common.placeholder.input": "Enter a value",
44
- "common.placeholder.inputContent": "Enter content",
40
+ "common.placeholder.input_content": "Enter content",
45
41
  "common.placeholder.select": "Select a value",
46
42
  "common.status.disabled": "Disabled",
47
43
  "common.status.enabled": "Enabled",
48
44
  "common.value.female": "Female",
49
45
  "common.value.male": "Male",
50
46
  "common.value.all": "All",
51
- "core.auth.loginAgain": "Log in again",
52
- "core.auth.refreshTokenMissing": "Refresh token is missing",
53
- "core.auth.sessionExpired": "Your session has expired. Please log in again.",
54
- "core.auth.noMenuPermission": "This account has no menu permissions. Contact an administrator.",
55
- "core.auth.noPermission": "Access denied",
47
+ "core.auth.login_again": "Log in again",
48
+ "core.auth.refresh_token_missing": "Refresh token is missing",
49
+ "core.auth.session_expired": "Your session has expired. Please log in again.",
50
+ "core.auth.no_menu_permission": "This account has no menu permissions. Contact an administrator.",
51
+ "core.auth.no_permission": "Access denied",
56
52
  "core.clipboard.success": "Copied",
57
- "core.cron.cycleUnit.day": "days",
58
- "core.cron.cycleUnit.hour": "hours",
59
- "core.cron.cycleUnit.minute": "minutes",
60
- "core.cron.cycleUnit.month": "months",
61
- "core.cron.cycleUnit.second": "seconds",
62
- "core.cron.cycleUnit.year": "years",
53
+ "core.cron.cycle_unit.day": "days",
54
+ "core.cron.cycle_unit.hour": "hours",
55
+ "core.cron.cycle_unit.minute": "minutes",
56
+ "core.cron.cycle_unit.month": "months",
57
+ "core.cron.cycle_unit.second": "seconds",
58
+ "core.cron.cycle_unit.year": "years",
63
59
  "core.cron.description.every": "Every {unit}",
64
60
  "core.cron.description.range": "{segment} from {start} to {end}",
65
61
  "core.cron.description.specific": "{segment}: {values}",
66
62
  "core.cron.description.step": "Starting at {start} {unit}, run every {step} {cycleUnit}",
67
63
  "core.cron.description.unspecified": "{segment} not specified",
68
64
  "core.cron.description.weekday": "Nearest weekday to day {day} of this month",
69
- "core.cron.descriptionSeparator": "; ",
65
+ "core.cron.description_separator": "; ",
70
66
  "core.cron.edit": "Edit expression",
71
- "core.cron.everyUnit": "Every {unit}",
67
+ "core.cron.every_unit": "Every {unit}",
72
68
  "core.cron.expression": "Cron expression",
73
69
  "core.cron.from": "from",
74
- "core.cron.lastDay": "Last day of this month",
75
- "core.cron.nearestWorkday": "nearest weekday",
76
- "core.cron.notConfigured": "No schedule configured",
70
+ "core.cron.last_day": "Last day of this month",
71
+ "core.cron.nearest_workday": "nearest weekday",
72
+ "core.cron.not_configured": "No schedule configured",
77
73
  "core.cron.placeholder": "Enter a Cron expression",
78
- "core.cron.preset.dailyEight": "Daily at 8:00 AM",
79
- "core.cron.preset.dailyMidnight": "Daily at midnight",
80
- "core.cron.preset.everyFiveMinutes": "Every 5 minutes",
81
- "core.cron.preset.everyHour": "Every hour",
82
- "core.cron.preset.everyMinute": "Every minute",
83
- "core.cron.preset.monthlyFirst": "Monthly on day 1 at midnight",
84
- "core.cron.preset.nextYearDaily": "Daily next year at midnight",
74
+ "core.cron.preset.daily_eight": "Daily at 8:00 AM",
75
+ "core.cron.preset.daily_midnight": "Daily at midnight",
76
+ "core.cron.preset.every_five_minutes": "Every 5 minutes",
77
+ "core.cron.preset.every_hour": "Every hour",
78
+ "core.cron.preset.every_minute": "Every minute",
79
+ "core.cron.preset.monthly_first": "Monthly on day 1 at midnight",
80
+ "core.cron.preset.next_year_daily": "Daily next year at midnight",
85
81
  "core.cron.presets": "Common expressions",
86
82
  "core.cron.range": "Range",
87
83
  "core.cron.repeat": "Repeat",
88
- "core.cron.runOnce": "{unit}",
84
+ "core.cron.run_once": "{unit}",
89
85
  "core.cron.segment.day": "Day",
90
86
  "core.cron.segment.hour": "Hour",
91
87
  "core.cron.segment.minute": "Minute",
@@ -93,8 +89,8 @@
93
89
  "core.cron.segment.second": "Second",
94
90
  "core.cron.segment.year": "Year",
95
91
  "core.cron.specific": "Specific",
96
- "core.cron.startEvery": "{unit}, every",
97
- "core.cron.thisMonth": "This month, day",
92
+ "core.cron.start_every": "{unit}, every",
93
+ "core.cron.this_month": "This month, day",
98
94
  "core.cron.title": "Edit schedule expression",
99
95
  "core.cron.to": "to",
100
96
  "core.cron.unit.day": "day",
@@ -104,20 +100,16 @@
104
100
  "core.cron.unit.second": "second",
105
101
  "core.cron.unit.year": "year",
106
102
  "core.cron.unspecified": "Not specified",
107
- "core.cron.valueSeparator": ", ",
108
- "core.cron.valueWithUnit": "{value} {unit}",
103
+ "core.cron.value_separator": ", ",
104
+ "core.cron.value_with_unit": "{value} {unit}",
109
105
  "core.cron.workday": "Weekday",
110
- "core.data.confirmAction": "Are you sure you want to {action}?",
111
- "core.data.operationSuccess": "{action} completed",
112
- "core.download.largeFileNotice": "Large datasets may take longer to download. Please wait.",
106
+ "core.data.confirm_action": "Are you sure you want to {action}?",
107
+ "core.data.operation_success": "{action} completed",
108
+ "core.download.large_file_notice": "Large datasets may take longer to download. Please wait.",
113
109
  "core.error.403.detail": "You do not have permission to access this page.",
114
- "core.error.403.title": "Access denied",
115
110
  "core.error.404.detail": "The page you requested does not exist.",
116
- "core.error.404.title": "Page not found",
117
111
  "core.error.500.detail": "The server encountered an error.",
118
- "core.error.500.title": "Server error",
119
112
  "core.error.pending.detail": "This feature is under construction.",
120
- "core.error.pending.title": "Coming soon",
121
113
  "core.error.javascript.eval": "Invalid use of Eval",
122
114
  "core.error.javascript.internal": "Internal JavaScript engine error",
123
115
  "core.error.javascript.range": "Parameter is out of range",
@@ -127,45 +119,44 @@
127
119
  "core.error.javascript.unknown": "Unknown error",
128
120
  "core.error.javascript.uri": "URI error",
129
121
  "core.header.fullscreen": "Full screen",
130
- "core.header.fullscreenExit": "Exit full screen",
131
- "core.header.fullscreenUnsupported": "Full screen is not supported by this browser",
122
+ "core.header.fullscreen_exit": "Exit full screen",
123
+ "core.header.fullscreen_unsupported": "Full screen is not supported by this browser",
132
124
  "core.header.language": "Change language",
133
- "core.header.menuSearch": "Search menus",
134
- "core.header.menuSearchEmpty": "No menus found",
135
- "core.header.menuSearchPlaceholder": "Search by menu name or path",
125
+ "core.header.menu_search": "Search menus",
126
+ "core.header.menu_search_empty": "No menus found",
127
+ "core.header.menu_search_placeholder": "Search by menu name or path",
136
128
  "core.header.size.default": "Default",
137
129
  "core.header.size.large": "Large",
138
130
  "core.header.size.small": "Small",
139
- "core.header.sizeSelect": "Component size",
131
+ "core.header.size_select": "Component size",
140
132
  "core.header.theme": "Theme settings",
141
133
  "core.icon.empty": "No matching icons found",
142
134
  "core.icon.placeholder": "Select an icon",
143
135
  "core.icon.search": "Search icons",
144
- "core.layout.departmentUnassigned": "No department assigned",
136
+ "core.layout.department_unassigned": "No department assigned",
145
137
  "core.layout.home": "Home",
146
138
  "core.layout.info": "Personal information",
147
- "core.layout.passwordChange": "Change password",
148
- "core.layout.unnamedMenu": "Unnamed menu",
149
- "core.layout.logoutConfirm": "Are you sure you want to log out?",
150
- "core.layout.logoutSuccess": "Logged out",
151
- "core.layout.notSet": "Not set",
152
- "core.layout.profile": "Profile",
153
- "core.layout.roleUnassigned": "No role assigned",
154
- "core.login.behaviorClick": "Click the characters in order",
155
- "core.login.behaviorConfirm": "Confirm",
156
- "core.login.behaviorPuzzle": "Drag the slider to complete the puzzle",
157
- "core.login.behaviorRotate": "Drag the slider to rotate the inner image upright",
139
+ "core.layout.password_change": "Change password",
140
+ "core.layout.unnamed_menu": "Unnamed menu",
141
+ "core.layout.logout_confirm": "Are you sure you want to log out?",
142
+ "core.layout.logout_success": "Logged out",
143
+ "core.layout.not_set": "Not set",
144
+ "core.layout.role_unassigned": "No role assigned",
145
+ "core.login.behavior_click": "Click the characters in order",
146
+ "core.login.behavior_confirm": "Confirm",
147
+ "core.login.behavior_puzzle": "Drag the slider to complete the puzzle",
148
+ "core.login.behavior_rotate": "Drag the slider to rotate the inner image upright",
158
149
  "core.login.captcha": "Enter verification code",
159
- "core.login.captchaAlt": "Verification code",
150
+ "core.login.captcha_alt": "Verification code",
160
151
  "core.login.greeting.afternoon": "Good afternoon",
161
152
  "core.login.greeting.evening": "Good evening",
162
153
  "core.login.greeting.morning": "Good morning",
163
154
  "core.login.greeting.night": "Hello",
164
155
  "core.login.greeting.noon": "Good afternoon",
165
- "core.login.otherMethods": "Other sign-in methods",
156
+ "core.login.other_methods": "Other sign-in methods",
166
157
  "core.login.password": "Enter password",
167
- "core.login.tenantCode": "Enter tenant code",
168
- "core.login.userName": "Enter username",
158
+ "core.login.tenant_code": "Enter tenant code",
159
+ "core.login.user_name": "Enter username",
169
160
  "core.login.welcome": "Welcome to the admin console",
170
161
  "core.oauth.dingtalk": "DingTalk",
171
162
  "core.oauth.feishu": "Feishu",
@@ -174,7 +165,7 @@
174
165
  "core.oauth.wechatwork": "WeCom",
175
166
  "core.oauth.unknown": "Unknown provider",
176
167
  "core.password.error": "Password must contain uppercase and lowercase letters, a number, and a special character, and be at least 8 characters long",
177
- "core.password.cryptoUnsupported": "Password encryption is not supported in this environment",
168
+ "core.password.crypto_unsupported": "Password encryption is not supported in this environment",
178
169
  "core.password.required": "Password is required",
179
170
  "core.password.strength": "Password strength",
180
171
  "core.password.strength.empty": "Not entered",
@@ -183,76 +174,110 @@
183
174
  "core.password.strength.medium": "Medium",
184
175
  "core.password.tip": "Use at least 8 characters with uppercase and lowercase letters, a number, and a special character. The password must reach high strength before submission.",
185
176
  "core.theme.accordion": "Accordion menu",
186
- "core.theme.asideInverted": "Dark sidebar",
187
- "core.theme.asideInvertedTip": "Use dark colors for the sidebar",
177
+ "core.theme.aside_inverted": "Dark sidebar",
178
+ "core.theme.aside_inverted_tip": "Use dark colors for the sidebar",
188
179
  "core.theme.breadcrumb": "Breadcrumbs",
189
- "core.theme.breadcrumbIcon": "Breadcrumb icons",
180
+ "core.theme.breadcrumb_icon": "Breadcrumb icons",
190
181
  "core.theme.color": "Theme color",
191
182
  "core.theme.dark": "Dark mode",
192
183
  "core.theme.footer": "Footer",
193
184
  "core.theme.global": "Global theme",
194
185
  "core.theme.grey": "Grayscale mode",
195
- "core.theme.headerInverted": "Dark header",
196
- "core.theme.headerInvertedTip": "Use dark colors for the header",
186
+ "core.theme.header_inverted": "Dark header",
187
+ "core.theme.header_inverted_tip": "Use dark colors for the header",
197
188
  "core.theme.interface": "Interface settings",
198
189
  "core.theme.layout": "Layout",
199
190
  "core.theme.layout.classic": "Classic",
200
191
  "core.theme.layout.columns": "Columns",
201
192
  "core.theme.layout.transverse": "Horizontal",
202
193
  "core.theme.layout.vertical": "Vertical",
203
- "core.theme.menuCollapse": "Collapse menu",
204
- "core.theme.primaryReset": "Theme color reset to {color}",
194
+ "core.theme.menu_collapse": "Collapse menu",
195
+ "core.theme.primary_reset": "Theme color reset to {color}",
205
196
  "core.theme.settings": "Layout settings",
206
197
  "core.theme.tabs": "Tabs",
207
- "core.theme.tabsIcon": "Tab icons",
198
+ "core.theme.tabs_icon": "Tab icons",
208
199
  "core.theme.watermark": "Watermark",
209
200
  "core.theme.weak": "Color vision mode",
210
- "core.theme.colorHexInvalid": "Enter a valid hexadecimal color",
211
- "core.theme.colorRgbInvalid": "Enter a valid RGB color",
201
+ "core.theme.color_hex_invalid": "Enter a valid hexadecimal color",
202
+ "core.theme.color_rgb_invalid": "Enter a valid RGB color",
212
203
  "core.route.forbidden": "403 page",
213
204
  "core.route.login": "Log in",
214
- "core.route.notFound": "404 page",
215
- "core.route.serverError": "500 page",
216
- "core.tabs.closeAll": "Close all",
217
- "core.tabs.closeCurrent": "Close current",
218
- "core.tabs.closeLeft": "Close tabs to the left",
219
- "core.tabs.closeOther": "Close other tabs",
220
- "core.tabs.closeRight": "Close tabs to the right",
205
+ "core.route.not_found": "404 page",
206
+ "core.route.server_error": "500 page",
207
+ "core.tabs.close_all": "Close all",
208
+ "core.tabs.close_current": "Close current",
209
+ "core.tabs.close_left": "Close tabs to the left",
210
+ "core.tabs.close_other": "Close other tabs",
211
+ "core.tabs.close_right": "Close tabs to the right",
221
212
  "core.tabs.maximize": "Maximize",
222
213
  "core.tabs.refresh": "Refresh current",
223
- "core.table.collapseAll": "Collapse all",
224
- "core.table.columnName": "Column",
225
- "core.table.columnSetting": "Column settings",
226
- "core.table.expandAll": "Expand all",
227
- "core.table.hideSearch": "Hide search",
228
- "core.table.noConfigurableColumns": "No configurable columns",
214
+ "core.table.collapse_all": "Collapse all",
215
+ "core.table.column_name": "Column",
216
+ "core.table.column_setting": "Column settings",
217
+ "core.table.expand_all": "Expand all",
218
+ "core.table.hide_search": "Hide search",
219
+ "core.table.no_configurable_columns": "No configurable columns",
229
220
  "core.table.refresh": "Refresh data",
230
221
  "core.table.show": "Visible",
231
- "core.table.showSearch": "Show search",
222
+ "core.table.show_search": "Show search",
232
223
  "core.table.sort": "Sortable",
233
- "core.tree.filterPlaceholder": "Enter keywords to filter",
234
- "core.tree.resetSelection": "Reset selection",
224
+ "core.tree.filter_placeholder": "Enter keywords to filter",
225
+ "core.tree.reset_selection": "Reset selection",
235
226
  "core.upload.action": "Upload file",
236
- "core.upload.batchAdd": "Batch add {resource}",
237
- "core.upload.batchFailed": "Failed to batch add {resource}. Upload the file again.",
238
- "core.upload.batchSuccess": "{resource} added successfully",
227
+ "core.upload.batch_add": "Batch add {resource}",
228
+ "core.upload.batch_failed": "Failed to batch add {resource}. Upload the file again.",
229
+ "core.upload.batch_success": "{resource} added successfully",
239
230
  "core.upload.click": "click to upload",
240
- "core.upload.dataCover": "Overwrite data",
241
- "core.upload.dragOrClick": "Drop a file here, or ",
242
- "core.upload.excelFormat": "Upload a standard .xls or .xlsx file up to {size} MB",
231
+ "core.upload.data_cover": "Overwrite data",
232
+ "core.upload.drag_or_click": "Drop a file here, or ",
233
+ "core.upload.excel_format": "Upload a standard .xls or .xlsx file up to {size} MB",
243
234
  "core.upload.file": "File upload",
244
- "core.upload.fileFailed": "File upload failed. Try again.",
245
- "core.upload.fileFormatInvalid": "The file format is not supported",
246
- "core.upload.fileSizeExceeded": "The file must not exceed {size} MB",
247
- "core.upload.fileSuccess": "File uploaded",
248
- "core.upload.imageFailed": "Image upload failed. Try again.",
249
- "core.upload.imageFormatInvalid": "The image format is not supported",
250
- "core.upload.imageLimitExceeded": "You can upload up to {limit} images. Remove an image before uploading another.",
251
- "core.upload.imageSizeExceeded": "The image must not exceed {size} MB",
252
- "core.upload.imageSuccess": "Image uploaded",
253
- "core.upload.limitExceeded": "You can upload up to {limit} files. Remove a file before uploading another.",
254
- "core.upload.singleFileOnly": "Only one file can be uploaded",
235
+ "core.upload.file_failed": "File upload failed. Try again.",
236
+ "core.upload.file_format_invalid": "The file format is not supported",
237
+ "core.upload.file_size_exceeded": "The file must not exceed {size} MB",
238
+ "core.upload.file_success": "File uploaded",
239
+ "core.upload.image_failed": "Image upload failed. Try again.",
240
+ "core.upload.image_format_invalid": "The image format is not supported",
241
+ "core.upload.image_limit_exceeded": "You can upload up to {limit} images. Remove an image before uploading another.",
242
+ "core.upload.image_size_exceeded": "The image must not exceed {size} MB",
243
+ "core.upload.image_success": "Image uploaded",
244
+ "core.upload.limit_exceeded": "You can upload up to {limit} files. Remove a file before uploading another.",
245
+ "core.upload.single_file_only": "Only one file can be uploaded",
255
246
  "core.upload.template": "{resource} template",
256
- "core.upload.templateDownload": "Download template",
257
- "core.upload.unnamedFile": "Unnamed file"
247
+ "core.upload.template_download": "Download template",
248
+ "core.upload.unnamed_file": "Unnamed file",
249
+ "common.action.create_resource": "Create {resource}",
250
+ "common.action.edit_resource": "Edit {resource}",
251
+ "common.action.refresh_cache": "Refresh cache",
252
+ "common.dialog.cancel_delete": "{resource} deletion cancelled",
253
+ "common.dialog.delete_batch": "Delete the selected {count} {resource} {unit}?",
254
+ "common.dialog.delete_selected": "Delete the selected {resource}?",
255
+ "common.dialog.delete_single": "Delete this {resource}?",
256
+ "common.dialog.resource_field": "{field}: {value}",
257
+ "common.dialog.status_change": "{action} this {resource}?\n{field}: {value}",
258
+ "common.field.created_at": "Created at",
259
+ "common.field.remark": "Remarks",
260
+ "common.field.sort": "Sort order",
261
+ "common.field.status": "Status",
262
+ "common.field.tenant": "Tenant",
263
+ "common.field.updated_at": "Updated at",
264
+ "common.message.create_success": "{resource} created",
265
+ "common.message.delete_success": "{resource} deleted",
266
+ "common.message.load_children_failed": "Failed to load child {resource}",
267
+ "common.message.refresh_success": "Refreshed",
268
+ "common.message.select_delete_item": "Select items to delete",
269
+ "common.message.status_success": "{action} completed",
270
+ "common.message.update_success": "{resource} updated",
271
+ "common.placeholder.remark": "Enter remarks",
272
+ "common.validation.max_length": "{field} must not exceed {max} characters",
273
+ "common.validation.required_input": "Enter {field}",
274
+ "common.validation.required_select": "Select {field}",
275
+ "common.validation.sort_positive": "Sort order must be greater than 0",
276
+ "common.field.action": "Actions",
277
+ "common.placeholder.start_date": "Start date",
278
+ "common.placeholder.end_date": "End date",
279
+ "common.value.yes": "Yes",
280
+ "common.value.no": "No",
281
+ "common.value.unknown": "Unknown",
282
+ "common.value.none": "None"
258
283
  }