iguazio.dashboard-controls 1.0.15-3.6.2 → 1.0.16-1.13.x
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.
- package/dist/i18n/en/common.json +82 -82
- package/dist/i18n/en/functions.json +112 -110
- package/dist/js/iguazio.dashboard-controls.js +6813 -6831
- package/dist/less/iguazio.dashboard-controls.less +1265 -1261
- package/package.json +4 -4
- package/src/i18n/en/common.json +82 -82
- package/src/i18n/en/functions.json +112 -110
- package/src/igz_controls/services/validation.service.js +29 -26
- package/src/nuclio/common/screens/create-function/function-from-scratch/function-from-scratch.component.js +0 -14
- package/src/nuclio/common/screens/create-function/function-from-template/function-from-template.component.js +0 -14
- package/src/nuclio/functions/version/version-configuration/tabs/version-configuration-annotations/version-configuration-annotations.component.js +1 -1
- package/src/nuclio/functions/version/version-configuration/tabs/version-configuration-environment-variables/version-configuration-environment-variables.component.js +3 -3
- package/src/nuclio/functions/version/version-configuration/tabs/version-configuration-labels/version-configuration-labels.component.js +1 -1
- package/src/nuclio/functions/version/version-configuration/tabs/version-configuration-resources/version-configuration-resources.component.js +18 -22
- package/src/nuclio/functions/version/version-configuration/tabs/version-configuration-volumes/version-configuration-volumes.component.js +1 -1
- package/src/nuclio/functions/version/version-monitoring/version-monitoring.component.js +11 -0
- package/src/nuclio/functions/version/version-triggers/version-triggers.component.js +11 -1
- package/src/nuclio/functions/version/version-triggers/version-triggers.less +4 -0
- package/src/nuclio/functions/version/version-triggers/version-triggers.tpl.html +16 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"ACCESS_KEY": "Access key",
|
|
3
3
|
"ACCESS_KEY_DESCRIPTION": "A platform data-access key",
|
|
4
4
|
"ACCESS_KEY_ID": "Access key ID",
|
|
5
|
-
"ACCESS_KEY_V3IO_ONLY": "Access key (required for an Iguazio
|
|
5
|
+
"ACCESS_KEY_V3IO_ONLY": "Access key (required for an Iguazio Data Science Platform download)",
|
|
6
6
|
"ADD_BROKER": "Add broker",
|
|
7
7
|
"ADD_ANNOTATION": "Add an annotation",
|
|
8
8
|
"ADD_EVENT_HEADER": "Add an event header",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"ADD_SUBSCRIPTION": "Add a subscription",
|
|
11
11
|
"ADD_TRIGGER": "Add a trigger",
|
|
12
12
|
"ADD_VOLUME": "Add a volume",
|
|
13
|
-
"ADD_TOPIC": "Add
|
|
14
|
-
"ALWAYS_WAIT_FOR_READINESS_TIMEOUT_EXPIRATION": "Always wait for
|
|
13
|
+
"ADD_TOPIC": "Add topic",
|
|
14
|
+
"ALWAYS_WAIT_FOR_READINESS_TIMEOUT_EXPIRATION": "Always wait for readiness-timeout expiration",
|
|
15
15
|
"ANNOTATIONS": "Annotations",
|
|
16
16
|
"API_GATEWAY_IN_TRANSIENT_STATE": "API gateway update is in progress",
|
|
17
17
|
"API_GATEWAYS": "API Gateways",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"BUILD_LOG": "Build log",
|
|
34
34
|
"BYTES_TO_FETCH_DEFAULT": "Bytes to fetch (default)",
|
|
35
35
|
"CANARY": "Canary",
|
|
36
|
-
"CANNOT_CREATE_TRIGGER": "
|
|
36
|
+
"CANNOT_CREATE_TRIGGER": "cannot create more than one trigger of this kind",
|
|
37
37
|
"CHOOSE_TEMPLATE": "Choose a template",
|
|
38
38
|
"CLICK_TO_DISABLE": "Click to disable",
|
|
39
39
|
"CLICK_TO_ENABLE": "Click to enable",
|
|
@@ -54,31 +54,31 @@
|
|
|
54
54
|
"CONTAINER_NAME_DESCRIPTION": "The name of the data container that contains the data",
|
|
55
55
|
"CONTENT_TYPE": "Content type",
|
|
56
56
|
"CREATE_CANARY_FUNCTION": "Create a canary function",
|
|
57
|
-
"CREATE_FUNCTION_DESCRIPTION": "Choose a preconfigured template as
|
|
58
|
-
"CREATE_FUNCTION_EVENT": "Create
|
|
59
|
-
"CREATE_NEW_API_GATEWAY": "Create
|
|
60
|
-
"CREATE_NEW_BINDING": "Create a binding",
|
|
61
|
-
"CREATE_NEW_HEADER": "Create a header",
|
|
62
|
-
"CREATE_NEW_HOST": "Create a host",
|
|
63
|
-
"CREATE_NEW_RUNTIME_ATTRIBUTE": "Create a runtime attribute",
|
|
57
|
+
"CREATE_FUNCTION_DESCRIPTION": "Choose a preconfigured template as starting point for your nuclio function",
|
|
58
|
+
"CREATE_FUNCTION_EVENT": "Create function event",
|
|
59
|
+
"CREATE_NEW_API_GATEWAY": "Create a new API Gateway",
|
|
60
|
+
"CREATE_NEW_BINDING": "Create a new binding",
|
|
61
|
+
"CREATE_NEW_HEADER": "Create a new header",
|
|
62
|
+
"CREATE_NEW_HOST": "Create a new host",
|
|
63
|
+
"CREATE_NEW_RUNTIME_ATTRIBUTE": "Create a new runtime attribute",
|
|
64
64
|
"CREATED_DATE": "Created date",
|
|
65
65
|
"DATA_BINDINGS": "Data Bindings",
|
|
66
|
-
"DELETE_API_GATEWAY_CONFIRM": "Are you sure you want to delete
|
|
67
|
-
"DELETE_API_GATEWAYS_CONFIRM": "Are you sure you want to delete
|
|
68
|
-
"DELETE_DESCRIPTION": "
|
|
66
|
+
"DELETE_API_GATEWAY_CONFIRM": "Are you sure you want to delete selected API Gateway?",
|
|
67
|
+
"DELETE_API_GATEWAYS_CONFIRM": "Are you sure you want to delete selected API Gateways?",
|
|
68
|
+
"DELETE_DESCRIPTION": "Deleted item cannot be restored.",
|
|
69
69
|
"DELETE_EVENT": "Delete event",
|
|
70
|
-
"DELETE_EVENT_DESCRIPTION": "Deleted
|
|
70
|
+
"DELETE_EVENT_DESCRIPTION": "Deleted event cannot be restored.",
|
|
71
71
|
"DELETE_FUNCTION": "Delete function",
|
|
72
72
|
"DELETE_FUNCTION_FORCIBLY_CONFIRM": "The function is in the middle of being deployed. Delete anyway?",
|
|
73
|
-
"DELETE_FUNCTION_DESCRIPTION": "
|
|
74
|
-
"DELETE_FUNCTIONS_CONFIRM": "Are you sure you want to delete
|
|
73
|
+
"DELETE_FUNCTION_DESCRIPTION": "Deleted function cannot be restored.",
|
|
74
|
+
"DELETE_FUNCTIONS_CONFIRM": "Are you sure you want to delete selected functions?",
|
|
75
75
|
"DELETE_ITEM": "Delete item?",
|
|
76
76
|
"DELETE_OLDER_FUNCTION_CONFIRM": "The deployed version of this function is newer than the deleted version. To see the latest version before deleting the function, cancel the delete operation and refresh the UI.",
|
|
77
77
|
"DELETE_PROJECT": "Delete project",
|
|
78
|
-
"DELETE_PROJECT_DESCRIPTION": "Deleted
|
|
78
|
+
"DELETE_PROJECT_DESCRIPTION": "Deleted project cannot be restored.",
|
|
79
79
|
"DELETE_PROJECTS_CONFIRM": "Delete selected projects?",
|
|
80
80
|
"DELETE_VERSION": "Delete version",
|
|
81
|
-
"DELETE_VERSIONS_CONFIRM": "Are you sure you want to delete
|
|
81
|
+
"DELETE_VERSIONS_CONFIRM": "Are you sure you want to delete selected versions?",
|
|
82
82
|
"DELETED_FUNCTION_WHILE_DEPLOYING_MSG": "The function was deleted by someone else before it completed its deployment. You can deploy it again to recreate it, or go to the functions list.",
|
|
83
83
|
"DEPENDENCIES": "Dependencies",
|
|
84
84
|
"DEPRECATED_SOON_LABEL": "- deprecated soon",
|
|
@@ -89,58 +89,58 @@
|
|
|
89
89
|
"DROP_FILE_HERE_OR": "Drop a file here or ",
|
|
90
90
|
"DUPLICATE_FUNCTION": "Duplicate function",
|
|
91
91
|
"DUPLICATE_FUNCTION_SUBTITLE": "Specify the following missing data for the function configuration.",
|
|
92
|
-
"EDIT_API_GATEWAY": "Edit
|
|
93
|
-
"EDIT_FUNCTION_EVENT": "Edit
|
|
94
|
-
"EDIT_PROJECT": "Edit
|
|
92
|
+
"EDIT_API_GATEWAY": "Edit API Gateway",
|
|
93
|
+
"EDIT_FUNCTION_EVENT": "Edit function event",
|
|
94
|
+
"EDIT_PROJECT": "Edit Project",
|
|
95
95
|
"ENDPOINT": "Endpoint",
|
|
96
96
|
"ENTER_HOST_TO_SEE_ENDPOINT": "Enter host to see endpoint",
|
|
97
97
|
"ERROR_MSG": {
|
|
98
|
-
"COULD_NOT_READ_FILE": "Could not read file",
|
|
99
|
-
"CREATE_FUNCTION_EVENT": "
|
|
100
|
-
"CREATE_UPDATE_FUNCTION_EVENT": "
|
|
98
|
+
"COULD_NOT_READ_FILE": "Could not read file...",
|
|
99
|
+
"CREATE_FUNCTION_EVENT": "Error occurred while creating the new function event.",
|
|
100
|
+
"CREATE_UPDATE_FUNCTION_EVENT": "Error occurred while creating/updating the new function event.",
|
|
101
101
|
"DELETE_API_GW_FUNCTION": "Cannot delete the function while it is being used by an API gateway (\"{{apiGatewayName}}\").",
|
|
102
102
|
"DELETE_API_GW_FUNCTIONS": "Cannot delete the functions because some of them are being used by an API gateway.",
|
|
103
|
-
"DELETE_EVENTS": "
|
|
104
|
-
"DELETE_FUNCTION": "
|
|
103
|
+
"DELETE_EVENTS": "Oops: Unknown error occurred while deleting events",
|
|
104
|
+
"DELETE_FUNCTION": "Unknown error occurred while deleting the function.",
|
|
105
105
|
"DELETE_NOT_EMPTY_PROJECT": "The project is not empty. Deleting it will also delete all of its resources, such as functions and API gateways.",
|
|
106
|
-
"DELETE_PROJECT": "
|
|
107
|
-
"DELETE_API_GATEWAYS": "
|
|
106
|
+
"DELETE_PROJECT": "Unknown error occurred while deleting the project (try deleting its functions first).",
|
|
107
|
+
"DELETE_API_GATEWAYS": "Oops: Unknown error occurred while deleting API Gateways",
|
|
108
108
|
"DISABLE_API_GW_FUNCTION": "Cannot disable the function while it is being used by an API gateway (\"{{apiGatewayName}}\").",
|
|
109
|
-
"EXPORT_PROJECT": "
|
|
110
|
-
"EXPORT_PROJECTS": "
|
|
111
|
-
"FETCH_FUNCTION_LIST": "Couldn't fetch
|
|
112
|
-
"FUNCTION_DEPLOYMENT_FAILURE": "Failed to deploy
|
|
113
|
-
"FUNCTION_NAME_ALREADY_IN_USE": "Function name
|
|
109
|
+
"EXPORT_PROJECT": "Oops: Unknown error occurred while exporting the project",
|
|
110
|
+
"EXPORT_PROJECTS": "Oops: Unknown error occurred while exporting projects",
|
|
111
|
+
"FETCH_FUNCTION_LIST": "Couldn't fetch project's function list. Auto-complete suggestions will not be available. Any function name will be accepted, but the API gateway might not work properly in case such function does not exist or is not in an appropriate status.",
|
|
112
|
+
"FUNCTION_DEPLOYMENT_FAILURE": "Failed to deploy function. Status: {{status}}",
|
|
113
|
+
"FUNCTION_NAME_ALREADY_IN_USE": "Function name already in use. Rename and try again.",
|
|
114
114
|
"FUNCTIONALITY_IS_NOT_IMPLEMENTED": "This functionality is not implemented yet.",
|
|
115
|
-
"GET_API_GATEWAYS": "
|
|
116
|
-
"GET_EVENTS": "
|
|
117
|
-
"GET_FUNCTION": "
|
|
118
|
-
"GET_FUNCTIONS": "
|
|
119
|
-
"GET_FUNCTIONS_TEMPLATE": "
|
|
120
|
-
"GET_NAMESPACES": "
|
|
121
|
-
"GET_PROJECT": "
|
|
122
|
-
"GET_PROJECTS": "
|
|
115
|
+
"GET_API_GATEWAYS": "Oops: Unknown error occurred while retrieving API Gateways",
|
|
116
|
+
"GET_EVENTS": "Oops: Unknown error occurred while retrieving events",
|
|
117
|
+
"GET_FUNCTION": "Unknown error occurred while retrieving the function.",
|
|
118
|
+
"GET_FUNCTIONS": "Oops: Unknown error occurred while retrieving functions",
|
|
119
|
+
"GET_FUNCTIONS_TEMPLATE": "Oops: Unknown error occurred while getting function's templates",
|
|
120
|
+
"GET_NAMESPACES": "Oops: Unknown error occurred while retrieving namespaces",
|
|
121
|
+
"GET_PROJECT": "Oops: Unknown error occurred while retrieving the project",
|
|
122
|
+
"GET_PROJECTS": "Oops: Unknown error occurred while retrieving projects",
|
|
123
123
|
"INVALID_FILE_TYPE_EXTENSION": "Invalid file type/extension",
|
|
124
|
-
"INVOKE_FUNCTION": "
|
|
125
|
-
"UNKNOWN_ERROR_WITH_STATUS": "
|
|
126
|
-
"UPDATE_FUNCTION": "
|
|
127
|
-
"UPDATE_FUNCTION_EVENT": "
|
|
128
|
-
"UPDATE_PROJECT": "
|
|
124
|
+
"INVOKE_FUNCTION": "Oops: Error occurred while invoking. Status: ",
|
|
125
|
+
"UNKNOWN_ERROR_WITH_STATUS": "Unknown error occurred. Status: {{status}}",
|
|
126
|
+
"UPDATE_FUNCTION": "Unknown error occurred while updating the function.",
|
|
127
|
+
"UPDATE_FUNCTION_EVENT": "Error occurred while updating the function event.",
|
|
128
|
+
"UPDATE_PROJECT": "Unknown error occurred while updating the project",
|
|
129
129
|
"UPLOAD_FILE": {
|
|
130
|
-
"DEFAULT": "
|
|
131
|
-
"UNKNOWN": "
|
|
130
|
+
"DEFAULT": "Oops: Error occurred while uploading a file. ",
|
|
131
|
+
"UNKNOWN": "Oops: Unknown error occurred while uploading a file"
|
|
132
132
|
}
|
|
133
133
|
},
|
|
134
134
|
"EVENT_BODY": "Event Body",
|
|
135
135
|
"EVENT_HEADERS": "Event headers",
|
|
136
|
-
"EVENT_RESPONSE_MSG": "Response will be shown here
|
|
136
|
+
"EVENT_RESPONSE_MSG": "Response will be shown here once test button was clicked.",
|
|
137
137
|
"EXPAND_ALL": "Expand all",
|
|
138
138
|
"EXPORT_ALL_PROJECTS": "Export all projects",
|
|
139
139
|
"EXPORT_FUNCTION": "Export function",
|
|
140
140
|
"EXTERNAL_INVOCATION_URLS": "External invocation URLs",
|
|
141
141
|
"FAILED_TO_DEPLOY": "Failed to deploy",
|
|
142
142
|
"FUNCTION_NAME_IS_USED_WARNING": "The specified function name is already used by a function in another project. To use it for a new function you must first delete the existing function.",
|
|
143
|
-
"FUNCTIONS_NOT_FOUND": "There are currently no functions, you can create a function by
|
|
143
|
+
"FUNCTIONS_NOT_FOUND": "There are currently no functions, you can create a function by clicking the ‘New Function’ button",
|
|
144
144
|
"GET_STARTED_WITH_YOUR_PROJECT": "Get started with your project.",
|
|
145
145
|
"GO_TO_EXISTING_FUNCTION": "Go to existing function",
|
|
146
146
|
"GO_TO_FUNCTIONS": "Go to functions",
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
"IMAGE_NAME": "Image name",
|
|
155
155
|
"IMAGE_NAME_DESCRIPTION": "The name of the built container image (default for this function: <b>{{defaultImageName}}</b>)",
|
|
156
156
|
"IMPORT": "Import",
|
|
157
|
-
"IMPORT_FUNCTION_DESCRIPTION": "Upload a YAML file as a starting point for your
|
|
157
|
+
"IMPORT_FUNCTION_DESCRIPTION": "Upload a YAML file as a starting point for your nuclio function",
|
|
158
158
|
"IMPORT_PROJECTS": "Import project(s)",
|
|
159
159
|
"INITIAL_OFFSET": "Initial offset",
|
|
160
160
|
"INGRESSES_HOSTS": "Ingress hosts",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"NO_INTERNET_ACCESS": "No internet access",
|
|
186
186
|
"NO_LOGS_HAVE_BEEN_FOUND": "No logs have been found...",
|
|
187
187
|
"NODE_SELECTORS": "Node selector",
|
|
188
|
-
"NODE_SELECTORS_MORE_INFO": "
|
|
188
|
+
"NODE_SELECTORS_MORE_INFO": "Node-selector values set in the global settings or project settings are not shown. Keep the “Key” and delete the “Value” to remove the global or project setting.",
|
|
189
189
|
"NORMAL": "Normal",
|
|
190
190
|
"NOT_START_WITH_FORBIDDEN_WORDS_LABEL": "Must not start with 'kubernetes.io', 'k8s.io' or 'nuclio.io'",
|
|
191
191
|
"NOT_YET_DEPLOYED": "Not yet deployed",
|
|
@@ -200,54 +200,54 @@
|
|
|
200
200
|
"PLACEHOLDER": {
|
|
201
201
|
"ACTIONS": "ACTIONS",
|
|
202
202
|
"DEFAULT_PROVIDED_WHEN_EMPTY": "If empty, a default one will be provided",
|
|
203
|
-
"DESCRIPTION": "Description",
|
|
204
|
-
"ENTER_ACCESS_KEY": "Enter access key",
|
|
205
|
-
"ENTER_ACCESS_KEY_ID": "Enter access key ID",
|
|
203
|
+
"DESCRIPTION": "Description...",
|
|
204
|
+
"ENTER_ACCESS_KEY": "Enter access key...",
|
|
205
|
+
"ENTER_ACCESS_KEY_ID": "Enter access key ID...",
|
|
206
206
|
"ENTER_API_GATEWAY_NAME": "Enter API Gateway name",
|
|
207
|
-
"ENTER_ARGUMENTS": "Enter arguments",
|
|
208
|
-
"ENTER_BASE_IMAGE": "Enter base image",
|
|
209
|
-
"ENTER_BODY_OF_EVENT": "Enter body of event",
|
|
207
|
+
"ENTER_ARGUMENTS": "Enter arguments...",
|
|
208
|
+
"ENTER_BASE_IMAGE": "Enter base image...",
|
|
209
|
+
"ENTER_BODY_OF_EVENT": "Enter body of event...",
|
|
210
210
|
"ENTER_CANARY_FUNCTION_NAME": "Enter canary function name",
|
|
211
|
-
"ENTER_COMMAND_ON_EACH_LINE": "Enter a command on each line",
|
|
212
|
-
"ENTER_CONFIG_MAP_NAME": "Enter config map name",
|
|
213
|
-
"ENTER_CONSUMER_GROUP_NAME": "Enter consumer group name",
|
|
214
|
-
"ENTER_CONTAINER_NAME": "Enter container name",
|
|
215
|
-
"ENTER_DEPENDENCY_ON_EACH_LINE": "Enter a dependency on each line",
|
|
216
|
-
"ENTER_DESCRIPTION": "Enter description",
|
|
217
|
-
"ENTER_DESTINATION": "Enter destination",
|
|
211
|
+
"ENTER_COMMAND_ON_EACH_LINE": "Enter a command on each line...",
|
|
212
|
+
"ENTER_CONFIG_MAP_NAME": "Enter config map name...",
|
|
213
|
+
"ENTER_CONSUMER_GROUP_NAME": "Enter consumer group name...",
|
|
214
|
+
"ENTER_CONTAINER_NAME": "Enter container name...",
|
|
215
|
+
"ENTER_DEPENDENCY_ON_EACH_LINE": "Enter a dependency on each line...",
|
|
216
|
+
"ENTER_DESCRIPTION": "Enter description...",
|
|
217
|
+
"ENTER_DESTINATION": "Enter destination...",
|
|
218
218
|
"ENTER_DURATION": "E.g. 1h, 30m, 10s",
|
|
219
219
|
"ENTER_ENDPOINT": "Enter endpoint",
|
|
220
|
-
"ENTER_EVENT_BODY": "Enter event body",
|
|
221
|
-
"ENTER_FUNCTION_NAME": "Enter function name",
|
|
222
|
-
"ENTER_IMAGE": "Enter image",
|
|
223
|
-
"ENTER_IMAGE_NAME": "Enter image name",
|
|
224
|
-
"ENTER_KEY": "Enter key",
|
|
225
|
-
"ENTER_MOUNT_PATH": "Enter mount path",
|
|
226
|
-
"ENTER_NAME": "Enter name",
|
|
227
|
-
"ENTER_NAME_OF_EVENT": "Enter name of event",
|
|
228
|
-
"ENTER_ONBUILD_IMAGE": "Enter onbuild image",
|
|
229
|
-
"ENTER_OPTION_ON_EACH_LINE": "Enter an option on each line",
|
|
230
|
-
"ENTER_PATH_IN_CONTAINER": "Enter path in container",
|
|
231
|
-
"ENTER_PERSISTENT_VOLUME_CLAIM_NAME": "Enter persistent volume claim name",
|
|
220
|
+
"ENTER_EVENT_BODY": "Enter event body...",
|
|
221
|
+
"ENTER_FUNCTION_NAME": "Enter function name...",
|
|
222
|
+
"ENTER_IMAGE": "Enter image...",
|
|
223
|
+
"ENTER_IMAGE_NAME": "Enter image name...",
|
|
224
|
+
"ENTER_KEY": "Enter key...",
|
|
225
|
+
"ENTER_MOUNT_PATH": "Enter mount path...",
|
|
226
|
+
"ENTER_NAME": "Enter name...",
|
|
227
|
+
"ENTER_NAME_OF_EVENT": "Enter name of event...",
|
|
228
|
+
"ENTER_ONBUILD_IMAGE": "Enter onbuild image...",
|
|
229
|
+
"ENTER_OPTION_ON_EACH_LINE": "Enter an option on each line...",
|
|
230
|
+
"ENTER_PATH_IN_CONTAINER": "Enter path in container...",
|
|
231
|
+
"ENTER_PERSISTENT_VOLUME_CLAIM_NAME": "Enter persistent volume claim name...",
|
|
232
232
|
"ENTER_PRIMARY_FUNCTION_NAME": "Enter primary function name",
|
|
233
|
-
"ENTER_REFERENCE": "Enter reference",
|
|
234
|
-
"ENTER_REPOSITORY_ON_EACH_LINE": "Enter a repository on each line",
|
|
235
|
-
"ENTER_SASL_PASSWORD": "Enter SASL password",
|
|
236
|
-
"ENTER_SASL_USERNAME": "Enter SASL username",
|
|
237
|
-
"ENTER_SECRET_ACCESS_KEY": "Enter secret access key",
|
|
238
|
-
"ENTER_SECRET_NAME": "Enter secret name",
|
|
239
|
-
"ENTER_SESSION_TOKEN": "Enter session token",
|
|
240
|
-
"ENTER_TAG": "Enter tag",
|
|
241
|
-
"ENTER_TOKEN": "Enter token",
|
|
242
|
-
"ENTER_VALUE": "Enter value",
|
|
243
|
-
"EVENT_NAME": "Event name",
|
|
233
|
+
"ENTER_REFERENCE": "Enter reference...",
|
|
234
|
+
"ENTER_REPOSITORY_ON_EACH_LINE": "Enter a repository on each line...",
|
|
235
|
+
"ENTER_SASL_PASSWORD": "Enter SASL password...",
|
|
236
|
+
"ENTER_SASL_USERNAME": "Enter SASL username...",
|
|
237
|
+
"ENTER_SECRET_ACCESS_KEY": "Enter secret access key...",
|
|
238
|
+
"ENTER_SECRET_NAME": "Enter secret name...",
|
|
239
|
+
"ENTER_SESSION_TOKEN": "Enter session token...",
|
|
240
|
+
"ENTER_TAG": "Enter tag...",
|
|
241
|
+
"ENTER_TOKEN": "Enter token...",
|
|
242
|
+
"ENTER_VALUE": "Enter value...",
|
|
243
|
+
"EVENT_NAME": "Event name...",
|
|
244
244
|
"MAX_REQUIRED": "Required when min=0",
|
|
245
245
|
"MY_SERVICE_ACCOUNT": "myserviceaccount",
|
|
246
246
|
"REQUIRED_IF_QUEUE_NAME_IS_EMPTY": "Required if Queue Name is empty",
|
|
247
|
-
"SEARCH_FUNCTIONS": "Search functions",
|
|
248
|
-
"SEARCH_PROJECTS": "Search projects",
|
|
249
|
-
"SEARCH_TEMPLATE": "Search by text, tags and keywords",
|
|
250
|
-
"SEC": "Sec",
|
|
247
|
+
"SEARCH_FUNCTIONS": "Search functions...",
|
|
248
|
+
"SEARCH_PROJECTS": "Search projects...",
|
|
249
|
+
"SEARCH_TEMPLATE": "Search by text, tags and keywords...",
|
|
250
|
+
"SEC": "Sec...",
|
|
251
251
|
"SELECT_CLASS": "Select class",
|
|
252
252
|
"SELECT_TYPE": "Select type"
|
|
253
253
|
},
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
"POLLING_INTERVAL": "Polling interval",
|
|
256
256
|
"PREFIX": "Prefix",
|
|
257
257
|
"PROJECT": "Project",
|
|
258
|
-
"PROJECTS_NOT_FOUND": "There are currently no projects
|
|
258
|
+
"PROJECTS_NOT_FOUND": "There are currently no projects, you can create a project by clicking the ‘Create Project’ button",
|
|
259
259
|
"PROMOTE": "Promote",
|
|
260
260
|
"PROMOTE_CANARY_CONFIRM": "Are you sure you want to promote canary to primary?",
|
|
261
261
|
"PVC": "PVC",
|
|
@@ -273,11 +273,11 @@
|
|
|
273
273
|
"RESPONSE": "Response",
|
|
274
274
|
"RESPONSE_HEADERS": "Response headers",
|
|
275
275
|
"RESPONSE_IMAGE": "Response image",
|
|
276
|
-
"REVERT_NODE_SELECTORS_TO_DEFAULTS_CONFIRM": "Are you sure you want
|
|
276
|
+
"REVERT_NODE_SELECTORS_TO_DEFAULTS_CONFIRM": "Are you sure you want revert the node selectors to its defaults?",
|
|
277
277
|
"REVERT_TO_DEFAULTS": "Revert to defaults",
|
|
278
278
|
"RUN_ON_SPOT_NODES": "Run on Spot nodes",
|
|
279
279
|
"RUNTIME": "Runtime",
|
|
280
|
-
"RUNTIME_ATTRIBUTES": "Runtime
|
|
280
|
+
"RUNTIME_ATTRIBUTES": "Runtime Attributes",
|
|
281
281
|
"SASL_PASSWORD": "SASL password",
|
|
282
282
|
"SASL_USERNAME": "SASL username",
|
|
283
283
|
"SAVED": "Saved",
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
"SECRET_ACCESS_KEY": "Secret access key",
|
|
288
288
|
"SECRET_KEY": "Secret key",
|
|
289
289
|
"SECRET_NAME": "Secret name",
|
|
290
|
-
"SELECT_FUNCTION_CONFIRM": "The function you selected is currently not running
|
|
290
|
+
"SELECT_FUNCTION_CONFIRM": "The function you selected is currently not running, are you sure you want to use it?",
|
|
291
291
|
"SERVICE_ACCOUNT": "Service Account",
|
|
292
292
|
"SESSION_TOKEN": "Session token",
|
|
293
293
|
"SKIP": "Skip",
|
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
"TIMEOUT": "Timeout",
|
|
309
309
|
"TOKEN": "Token",
|
|
310
310
|
"TOOLTIP": {
|
|
311
|
-
"ADD_LABELS": "Labels
|
|
311
|
+
"ADD_LABELS": "Labels could be set on function creation only.",
|
|
312
312
|
"ANNOTATION": "Annotation",
|
|
313
313
|
"ANNOTATIONS": {
|
|
314
314
|
"HEAD": "Kubernetes annotations",
|
|
@@ -320,15 +320,16 @@
|
|
|
320
320
|
"HEAD": "Kubernetes ConfigMap",
|
|
321
321
|
"REST": "for storing configuration artifacts separately from the container image content"
|
|
322
322
|
},
|
|
323
|
-
"DEPLOY_INVALID_CONFIG": "Invalid config, cannot deploy (review the tabs and fix invalid fields)
|
|
324
|
-
"DEPLOY_IN_PROGRESS": "Deploy is already in-progress
|
|
325
|
-
"DISABLE_CACHE": "Build the function's Docker image from scratch without reusing any previously built Docker image layers
|
|
326
|
-
"DISABLED_FUNCTION": "Only running and scaled-to-zero functions can be tested
|
|
323
|
+
"DEPLOY_INVALID_CONFIG": "Invalid config, cannot deploy (review the tabs and fix invalid fields)",
|
|
324
|
+
"DEPLOY_IN_PROGRESS": "Deploy is already in-progress",
|
|
325
|
+
"DISABLE_CACHE": "Build the function's Docker image from scratch without reusing any previously built Docker image layers",
|
|
326
|
+
"DISABLED_FUNCTION": "Only running and scaled-to-zero functions can be tested",
|
|
327
|
+
"DO_NOT_CREATE_HTTP_TRIGGER_BY_DEFAULT": "When not checked, an http trigger will be created for the function by default",
|
|
327
328
|
"GIT": {
|
|
328
|
-
"BRANCH": "The Git repository branch from which to download the function code
|
|
329
|
+
"BRANCH": "The Git repository branch from which to download the function code",
|
|
329
330
|
"BRANCH_TAG_REFERENCE_DISABLED": "Exactly one of Branch, Tag, and Reference fields must be filled. When one is filled, the others are disabled.",
|
|
330
|
-
"URL": "The URL of the Git repository that contains the function code
|
|
331
|
-
"USERNAME": "Not required if you enter a PAT (Personal Access Token) in the Password field
|
|
331
|
+
"URL": "The URL of the Git repository that contains the function code",
|
|
332
|
+
"USERNAME": "Not required if you enter a PAT (Personal Access Token) in the Password field"
|
|
332
333
|
},
|
|
333
334
|
"GITHUB": {
|
|
334
335
|
"BRANCH": "The GitHub repository branch from which to download the function code",
|
|
@@ -348,7 +349,7 @@
|
|
|
348
349
|
"NO_INTERNET_ACCESS": "Use local Docker images rather than pulling from remote",
|
|
349
350
|
"ENRICHED_NODE_SELECTOR": "The node selector of the function, enriched with the project’s and the service’s default node selectors",
|
|
350
351
|
"POD_TOLERATIONS": {
|
|
351
|
-
"ALLOW": "Allow function pods to run on spot nodes. Spot nodes might be tainted, using this option will make sure function pods
|
|
352
|
+
"ALLOW": "Allow function pods to run on spot nodes. Spot nodes might be tainted, using this option will make sure function pods tolerates those taints.",
|
|
352
353
|
"CONSTRAIN": "Constrain function pods to spot nodes using label selectors.",
|
|
353
354
|
"PREVENT": "Disallow function pods from running on Spot nodes"
|
|
354
355
|
},
|
|
@@ -373,8 +374,8 @@
|
|
|
373
374
|
"TO_MAKE_FUNCTION_ACCESSIBLE": "To make the function accessible outside of the cluster, go to the <a class=\"link\" data-ui-sref=\"app.project.function.edit.triggers({functionId:'{{functionId}}'})\">Triggers</a> tab and configure an HTTP trigger with an ingress",
|
|
374
375
|
"URL": "A URL for downloading the archive file",
|
|
375
376
|
"USED_BY_API_GATEWAY": "Used by API gateway: \"{{apiGatewayName}}\"",
|
|
376
|
-
"V3IO": "A directory in an Iguazio
|
|
377
|
-
"V3IO_ACCESS_KEY": "An Iguazio
|
|
377
|
+
"V3IO": "A directory in an Iguazio Data Science Platform data container",
|
|
378
|
+
"V3IO_ACCESS_KEY": "An Iguazio Data Science Platform access key",
|
|
378
379
|
"V3IO_STREAM_CONTAINER": "Select a container name of the local platform from the dropdown menu, and the URL will be auto-filled for you.<br><b>Advanced:</b> you can manually enter a container name and a URL for remote configuration.",
|
|
379
380
|
"V3IO_STREAM_URL": "In case you selected a container name of the local platform from the dropdown menu — do not edit this field.<br><b>Advanced:</b> you can manually enter a container name and a URL for remote configuration.",
|
|
380
381
|
"VOLUMES": "Volumes that define data paths and the required information for accessing the data from the function",
|
|
@@ -387,7 +388,8 @@
|
|
|
387
388
|
"TRIGGER_ACCESS_KEY_ID": "\"{{triggerName}}\" trigger access key ID",
|
|
388
389
|
"TRIGGER_CRON_INTERVAL_NO_SCHEDULE": "Applicable only when \"Schedule\" is empty",
|
|
389
390
|
"TRIGGER_SECRET_ACCESS_KEY": "\"{{triggerName}}\" trigger secret access key",
|
|
390
|
-
"TRIGGERS_NOT_FOUND": "There are currently no triggers, you can create a trigger by
|
|
391
|
+
"TRIGGERS_NOT_FOUND": "There are currently no triggers, you can create a trigger by clicking the ‘Create a new trigger’ button",
|
|
392
|
+
"UNIQUENESS": "Uniqueness",
|
|
391
393
|
"UNSPECIFIED_FIELD_NAME": "Unspecified field name",
|
|
392
394
|
"URL_NOT_EXPOSED": "URL not exposed",
|
|
393
395
|
"V3IO": "V3IO",
|
|
@@ -395,7 +397,7 @@
|
|
|
395
397
|
"VIEW_YAML": "View YAML",
|
|
396
398
|
"VOLUME_ACCESS_KEY": "\"{{volumeName}}\" volume access key",
|
|
397
399
|
"VOLUMES": "Volumes",
|
|
398
|
-
"WELCOME_DESCRIPTION": "Write from scratch or use an example repository to build an event
|
|
400
|
+
"WELCOME_DESCRIPTION": "Write from scratch or use an example repository to build an event driven application project.",
|
|
399
401
|
"WORK_DIRECTORY": "Work directory",
|
|
400
402
|
"WORKER_ALLOCATOR_NAME": "Worker allocator name",
|
|
401
403
|
"WORKER_AVAILABILITY_TIMEOUT": "Worker availability timeout",
|
|
@@ -32,7 +32,6 @@ such restriction.
|
|
|
32
32
|
dns1123Subdomain: 253,
|
|
33
33
|
prefixedQualifiedName: 253,
|
|
34
34
|
qualifiedName: 63,
|
|
35
|
-
qualifiedValue: 63,
|
|
36
35
|
secretName: 253,
|
|
37
36
|
wildcardDns1123Subdomain: 253
|
|
38
37
|
},
|
|
@@ -152,12 +151,12 @@ such restriction.
|
|
|
152
151
|
pattern: new RegExp('[^' + convertToPattern(chars) + ']$')
|
|
153
152
|
};
|
|
154
153
|
},
|
|
155
|
-
beginEndWith: function (chars
|
|
154
|
+
beginEndWith: function (chars) {
|
|
156
155
|
var convertedPattern = convertToPattern(chars);
|
|
157
156
|
|
|
158
157
|
return {
|
|
159
158
|
name: 'beginEnd',
|
|
160
|
-
label:
|
|
159
|
+
label: $i18next.t('common:BEGIN_END_WITH', { lng: lng }) + ': ' + convertToLabel(chars),
|
|
161
160
|
pattern: new RegExp('^([' + convertedPattern + '].*)?[' + convertedPattern + ']$')
|
|
162
161
|
};
|
|
163
162
|
},
|
|
@@ -179,10 +178,10 @@ such restriction.
|
|
|
179
178
|
pattern: new RegExp('^([' + convertedPattern + '])?[^' + convertedPattern + ']+$')
|
|
180
179
|
};
|
|
181
180
|
},
|
|
182
|
-
validCharacters: function (chars
|
|
181
|
+
validCharacters: function (chars) {
|
|
183
182
|
return {
|
|
184
183
|
name: 'validCharacters',
|
|
185
|
-
label:
|
|
184
|
+
label: $i18next.t('common:VALID_CHARACTERS', { lng: lng }) + ': ' + convertToLabel(chars),
|
|
186
185
|
pattern: new RegExp('^[' + convertToPattern(chars) + ']+$')
|
|
187
186
|
};
|
|
188
187
|
},
|
|
@@ -239,12 +238,12 @@ such restriction.
|
|
|
239
238
|
}
|
|
240
239
|
};
|
|
241
240
|
},
|
|
242
|
-
length: function (options
|
|
241
|
+
length: function (options) {
|
|
243
242
|
var min = Number.isSafeInteger(options.min) ? options.min : 0;
|
|
244
243
|
var max = Number.isSafeInteger(options.max) ? options.max : '';
|
|
245
244
|
|
|
246
245
|
if (min || max) {
|
|
247
|
-
var label =
|
|
246
|
+
var label = $i18next.t('common:LENGTH', { lng: lng }) + ' – ' +
|
|
248
247
|
(min ? 'min: ' + options.min + '\xa0\xa0' : '') + (max ? 'max: ' + options.max : '');
|
|
249
248
|
|
|
250
249
|
return {
|
|
@@ -295,17 +294,6 @@ such restriction.
|
|
|
295
294
|
generateRule.validCharacters('a-z 0-9 -'),
|
|
296
295
|
generateRule.beginEndWith('a-z 0-9')
|
|
297
296
|
],
|
|
298
|
-
k8s: {
|
|
299
|
-
getValue: function (withPrefix = false) {
|
|
300
|
-
var labelPrefix = withPrefix ? '[' + $i18next.t('common:VALUE', { lng: lng }) + '] ' : '';
|
|
301
|
-
|
|
302
|
-
return [
|
|
303
|
-
generateRule.beginEndWith('a-z A-Z 0-9', labelPrefix),
|
|
304
|
-
generateRule.length({ max: lengths.k8s.qualifiedValue }, labelPrefix),
|
|
305
|
-
generateRule.validCharacters('a-z A-Z 0-9 - _ .', labelPrefix)
|
|
306
|
-
]
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
297
|
prefixedQualifiedName: [
|
|
310
298
|
{
|
|
311
299
|
name: 'nameValidCharacters',
|
|
@@ -502,7 +490,26 @@ such restriction.
|
|
|
502
490
|
$i18next.t('common:NOT_START_WITH_FORBIDDEN_WORDS_K8S', { lng: lng }),
|
|
503
491
|
pattern: /^(?!kubernetes\.io\/)(?!k8s\.io\/)/
|
|
504
492
|
}),
|
|
505
|
-
value:
|
|
493
|
+
value: [
|
|
494
|
+
{
|
|
495
|
+
name: 'valueBeginEnd',
|
|
496
|
+
label: '[' + $i18next.t('common:VALUE', { lng: lng }) + '] ' +
|
|
497
|
+
$i18next.t('common:BEGIN_END_WITH', { lng: lng }) + ': a–z, A–Z, 0–9',
|
|
498
|
+
pattern: /^([^/]+\/)?([A-Za-z0-9][^/]*)?[A-Za-z0-9]$/
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
name: 'valueMaxLength',
|
|
502
|
+
label: '[' + $i18next.t('common:VALUE', { lng: lng }) + '] ' +
|
|
503
|
+
$i18next.t('common:MAX_LENGTH_CHARACTERS', { lng: lng, count: 63 }),
|
|
504
|
+
pattern: /^([^/]+\/)?[^/]{1,63}$/
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
name: 'valueValidCharacters',
|
|
508
|
+
label: '[' + $i18next.t('common:VALUE', { lng: lng }) + '] ' +
|
|
509
|
+
$i18next.t('common:VALID_CHARACTERS', { lng: lng }) + ': a–z, A–Z, 0–9, –, _, .',
|
|
510
|
+
pattern: /^[a-zA-Z0-9\-_.]+$/
|
|
511
|
+
}
|
|
512
|
+
]
|
|
506
513
|
},
|
|
507
514
|
supportLogs: {
|
|
508
515
|
contextId: [
|
|
@@ -599,8 +606,8 @@ such restriction.
|
|
|
599
606
|
address: [
|
|
600
607
|
{
|
|
601
608
|
name: 'begin',
|
|
602
|
-
label: $i18next.t('common:BEGIN_WITH', { lng: lng }) + ': ldap://',
|
|
603
|
-
pattern: /^
|
|
609
|
+
label: $i18next.t('common:BEGIN_WITH', { lng: lng }) + ': ldaps://, ldap://',
|
|
610
|
+
pattern: /^ldaps?:\/\//
|
|
604
611
|
}
|
|
605
612
|
]
|
|
606
613
|
},
|
|
@@ -670,11 +677,7 @@ such restriction.
|
|
|
670
677
|
generateRule.beginWith('0-9 +'),
|
|
671
678
|
generateRule.endWith('0-9'),
|
|
672
679
|
generateRule.length({ min: 4, max: lengths.phone })
|
|
673
|
-
]
|
|
674
|
-
nodeSelectors: {
|
|
675
|
-
key: commonRules.prefixedQualifiedName,
|
|
676
|
-
value: commonRules.k8s.getValue(false)
|
|
677
|
-
}
|
|
680
|
+
]
|
|
678
681
|
};
|
|
679
682
|
|
|
680
683
|
return {
|
|
@@ -218,20 +218,6 @@ such restriction.
|
|
|
218
218
|
'0sIGVycm9yKSB7DQogICAgcmV0dXJuIG5pbCwgbmlsDQp9', // source code in base64
|
|
219
219
|
visible: true
|
|
220
220
|
},
|
|
221
|
-
{
|
|
222
|
-
id: 'python:3.7',
|
|
223
|
-
name: 'Python 3.7 ' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}),
|
|
224
|
-
sourceCode: 'ZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOg0KICAgIHJldHVybiAiIg==', // source code in base64
|
|
225
|
-
nameTemplate: 'Python 3.7 ' + '<b>' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}) + '</b>',
|
|
226
|
-
visible: true
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
id: 'python:3.8',
|
|
230
|
-
name: 'Python 3.8 ' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}),
|
|
231
|
-
sourceCode: 'ZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOg0KICAgIHJldHVybiAiIg==', // source code in base64
|
|
232
|
-
nameTemplate: 'Python 3.8 ' + '<b>' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}) + '</b>',
|
|
233
|
-
visible: true
|
|
234
|
-
},
|
|
235
221
|
{
|
|
236
222
|
id: 'python:3.9',
|
|
237
223
|
name: 'Python 3.9',
|
|
@@ -385,20 +385,6 @@ such restriction.
|
|
|
385
385
|
name: 'Go',
|
|
386
386
|
visible: true
|
|
387
387
|
},
|
|
388
|
-
{
|
|
389
|
-
id: 'python:3.7',
|
|
390
|
-
name: 'Python 3.7 ' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}),
|
|
391
|
-
sourceCode: 'ZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOg0KICAgIHJldHVybiAiIg==', // source code in base64
|
|
392
|
-
nameTemplate: 'Python 3.7 ' + '<b>' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}) + '</b>',
|
|
393
|
-
visible: true
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
id: 'python:3.8',
|
|
397
|
-
name: 'Python 3.8 ' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}),
|
|
398
|
-
sourceCode: 'ZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOg0KICAgIHJldHVybiAiIg==', // source code in base64
|
|
399
|
-
nameTemplate: 'Python 3.8 ' + '<b>' + $i18next.t('functions:DEPRECATED_SOON_LABEL', {lng: lng}) + '</b>',
|
|
400
|
-
visible: true
|
|
401
|
-
},
|
|
402
388
|
{
|
|
403
389
|
id: 'python:3.9',
|
|
404
390
|
name: 'Python 3.9',
|
|
@@ -58,7 +58,7 @@ such restriction.
|
|
|
58
58
|
key: ValidationService.getValidationRules('function.annotation.key', [
|
|
59
59
|
{
|
|
60
60
|
name: 'uniqueness',
|
|
61
|
-
label: $i18next.t('
|
|
61
|
+
label: $i18next.t('functions:UNIQUENESS', { lng: lng }),
|
|
62
62
|
pattern: validateUniqueness
|
|
63
63
|
}
|
|
64
64
|
])
|
|
@@ -38,19 +38,19 @@ such restriction.
|
|
|
38
38
|
var envVariableFromValidationRules = ValidationService.getValidationRules('k8s.configMapKey', [
|
|
39
39
|
{
|
|
40
40
|
name: 'uniqueness',
|
|
41
|
-
label: $i18next.t('
|
|
41
|
+
label: $i18next.t('functions:UNIQUENESS', {lng: lng}),
|
|
42
42
|
pattern: validateUniqueness.bind(null, ['configMapRef.name', 'secretRef.name'])
|
|
43
43
|
}
|
|
44
44
|
]);
|
|
45
45
|
var envVariableKeyValidationRule = ValidationService.getValidationRules('k8s.envVarName', [{
|
|
46
46
|
name: 'uniqueness',
|
|
47
|
-
label: $i18next.t('
|
|
47
|
+
label: $i18next.t('functions:UNIQUENESS', {lng: lng}),
|
|
48
48
|
pattern: validateUniqueness.bind(null, ['name'])
|
|
49
49
|
}]);
|
|
50
50
|
var envVariableConfigmapKeyValidationRule = ValidationService.getValidationRules('k8s.configMapKey', [
|
|
51
51
|
{
|
|
52
52
|
name: 'uniqueness',
|
|
53
|
-
label: $i18next.t('
|
|
53
|
+
label: $i18next.t('functions:UNIQUENESS', {lng: lng}),
|
|
54
54
|
pattern: validateUniqueness.bind(null, ['valueFrom.configMapKeyRef.key'])
|
|
55
55
|
}
|
|
56
56
|
]);
|
|
@@ -60,7 +60,7 @@ such restriction.
|
|
|
60
60
|
key: ValidationService.getValidationRules('function.label.key', [
|
|
61
61
|
{
|
|
62
62
|
name: 'uniqueness',
|
|
63
|
-
label: $i18next.t('
|
|
63
|
+
label: $i18next.t('functions:UNIQUENESS', { lng: lng }),
|
|
64
64
|
pattern: validateUniqueness
|
|
65
65
|
}
|
|
66
66
|
]),
|