|
@@ -1,343 +1,440 @@
|
|
|
#test
|
|
#test
|
|
|
-no.exit.key=The key information does not exist
|
|
|
|
|
|
|
+no.exit.key=Key information not found
|
|
|
|
|
|
|
|
#\u9519\u8BEF\u6D88\u606F
|
|
#\u9519\u8BEF\u6D88\u606F
|
|
|
not.null=* Required
|
|
not.null=* Required
|
|
|
-user.jcaptcha.error=Verification code error
|
|
|
|
|
-user.jcaptcha.expire=Verification code has expired
|
|
|
|
|
-user.not.exists=User does not exist/Incorrect password
|
|
|
|
|
-user.password.not.match=User does not exist/Incorrect password
|
|
|
|
|
|
|
+user.jcaptcha.error=Invalid verification code
|
|
|
|
|
+user.jcaptcha.expire=Verification code expired
|
|
|
|
|
+user.not.exists=User not found/Password incorrect
|
|
|
|
|
+user.password.not.match=User not found/Password incorrect
|
|
|
user.password.retry.limit.count=Incorrect password entered {0} times
|
|
user.password.retry.limit.count=Incorrect password entered {0} times
|
|
|
-user.password.retry.limit.exceed=Incorrect password entered {0} times, account locked for 10 minutes
|
|
|
|
|
-user.password.delete=Sorry, your account has been deleted
|
|
|
|
|
-user.blocked=User has been blocked, please contact the administrator
|
|
|
|
|
-role.blocked=Role has been blocked, please contact the administrator
|
|
|
|
|
|
|
+user.password.retry.limit.exceed=Account locked for 10 minutes after {0} failed attempts
|
|
|
|
|
+user.password.delete=Your account has been deleted
|
|
|
|
|
+user.blocked=Contact administrator: Account blocked
|
|
|
|
|
+role.blocked=Contact administrator: Role blocked
|
|
|
user.logout.success=Logout successful
|
|
user.logout.success=Logout successful
|
|
|
-
|
|
|
|
|
-length.not.valid=Length must be between {min} and {max} characters
|
|
|
|
|
-
|
|
|
|
|
-user.username.not.valid=* Composed of 2-20 Chinese characters, letters, numbers or underscores, and must start with a non-digit
|
|
|
|
|
|
|
+length.not.valid=Length between {min} and {max} characters
|
|
|
|
|
+user.username.not.valid=* 2-20 alphanumeric/underscore (non-numeric start)
|
|
|
user.password.not.valid=* 5-50 characters
|
|
user.password.not.valid=* 5-50 characters
|
|
|
-
|
|
|
|
|
user.email.not.valid=Invalid email format
|
|
user.email.not.valid=Invalid email format
|
|
|
-user.mobile.phone.number.not.valid=Invalid mobile phone number format
|
|
|
|
|
|
|
+user.mobile.phone.number.not.valid=Invalid phone number format
|
|
|
user.login.success=Login successful
|
|
user.login.success=Login successful
|
|
|
user.register.success=Registration successful
|
|
user.register.success=Registration successful
|
|
|
-user.notfound=Please log in again
|
|
|
|
|
-user.forcelogout=Forced logout by administrator, please log in again
|
|
|
|
|
-user.unknown.error=Unknown error, please log in again
|
|
|
|
|
|
|
+user.notfound=Session expired. Please login again
|
|
|
|
|
+user.forcelogout=Admin forced logout. Re-login required
|
|
|
|
|
+user.unknown.error=System error. Please re-login
|
|
|
|
|
|
|
|
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
|
|
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
|
|
|
-upload.exceed.maxSize=The size of the uploaded file exceeds the limit!<br/>The maximum allowed file size is: {0}MB!
|
|
|
|
|
-upload.filename.exceed.length=The maximum length of the uploaded file name is {0} characters
|
|
|
|
|
|
|
+upload.exceed.maxSize=File size exceeds limit!<br/>Max: {0}MB
|
|
|
|
|
+upload.filename.exceed.length=Filename max {0} characters
|
|
|
|
|
|
|
|
##\u6743\u9650
|
|
##\u6743\u9650
|
|
|
-no.permission=You do not have permission to access the data, please contact the administrator to add permission [{0}]
|
|
|
|
|
-no.create.permission=You do not have permission to create data, please contact the administrator to add permission [{0}]
|
|
|
|
|
-no.update.permission=You do not have permission to modify data, please contact the administrator to add permission [{0}]
|
|
|
|
|
-no.delete.permission=You do not have permission to delete data, please contact the administrator to add permission [{0}]
|
|
|
|
|
-no.export.permission=You do not have permission to export data, please contact the administrator to add permission [{0}]
|
|
|
|
|
-no.view.permission=You do not have permission to view data, please contact the administrator to add permission [{0}]
|
|
|
|
|
|
|
+no.permission=No data permission. Contact admin: [{0}]
|
|
|
|
|
+no.create.permission=No create permission. Contact admin: [{0}]
|
|
|
|
|
+no.update.permission=No update permission. Contact admin: [{0}]
|
|
|
|
|
+no.delete.permission=No delete permission. Contact admin: [{0}]
|
|
|
|
|
+no.export.permission=No export permission. Contact admin: [{0}]
|
|
|
|
|
+no.view.permission=No view permission. Contact admin: [{0}]
|
|
|
|
|
|
|
|
|
|
|
|
|
##\u56DB\u3001\u5168\u5C40\u5F02\u5E38\u5904\u7406\u5668
|
|
##\u56DB\u3001\u5168\u5C40\u5F02\u5E38\u5904\u7406\u5668
|
|
|
-exception.auth.no.permission=No permission, please contact the administrator for authorization
|
|
|
|
|
-exception.demo.mode.not.allow=Demo mode, operation not allowed
|
|
|
|
|
|
|
+exception.auth.no.permission=Access denied. Contact administrator
|
|
|
|
|
+exception.demo.mode.not.allow=Demo mode: Operation disabled
|
|
|
|
|
|
|
|
##\u4E94\u3001AjaxResult \u9ED8\u8BA4\u6D88\u606F
|
|
##\u4E94\u3001AjaxResult \u9ED8\u8BA4\u6D88\u606F
|
|
|
ajax.result.success=Operation successful
|
|
ajax.result.success=Operation successful
|
|
|
ajax.result.error=Operation failed
|
|
ajax.result.error=Operation failed
|
|
|
|
|
|
|
|
##\u516D\u3001Controller \u7528\u6237\u7BA1\u7406\u76F8\u5173\u63D0\u793A
|
|
##\u516D\u3001Controller \u7528\u6237\u7BA1\u7406\u76F8\u5173\u63D0\u793A
|
|
|
-user.add.fail.login.account.exist=Failed to add user '{0}', login account already exists
|
|
|
|
|
-user.add.fail.phone.exist=Failed to add user '{0}', mobile phone number already exists
|
|
|
|
|
-user.add.fail.email.exist=Failed to add user '{0}', email account already exists
|
|
|
|
|
-user.update.fail.phone.exist=Failed to update user '{0}', mobile phone number already exists
|
|
|
|
|
-user.update.fail.email.exist=Failed to update user '{0}', email account already exists
|
|
|
|
|
-user.update.user.detail.exception=Error updating personal information. Please contact the administrator.
|
|
|
|
|
|
|
+user.add.fail.login.account.exist=Username '{0}' already exists
|
|
|
|
|
+user.add.fail.phone.exist=Phone '{0}' already registered
|
|
|
|
|
+user.add.fail.email.exist=Email '{0}' already registered
|
|
|
|
|
+user.update.fail.phone.exist=Phone conflict: '{0}' in use
|
|
|
|
|
+user.update.fail.email.exist=Email conflict: '{0}' in use
|
|
|
|
|
+user.update.user.detail.exception=Profile update failed. Contact admin
|
|
|
|
|
|
|
|
|
|
|
|
|
##\u4E03\u3001Service \u5F02\u5E38\u63D0\u793A
|
|
##\u4E03\u3001Service \u5F02\u5E38\u63D0\u793A
|
|
|
##\u7528\u6237\u670D\u52A1
|
|
##\u7528\u6237\u670D\u52A1
|
|
|
-user.service.import.data.not.null=Imported user data cannot be empty!
|
|
|
|
|
-user.service.operate.super.admin.not.allow=Operation on super administrator user is not allowed
|
|
|
|
|
-user.service.access.data.no.permission=No permission to access user data!
|
|
|
|
|
|
|
+user.service.import.data.not.null=Import data cannot be empty!
|
|
|
|
|
+user.service.operate.super.admin.not.allow=Super admin operation prohibited
|
|
|
|
|
+user.service.access.data.no.permission=Unauthorized user data access
|
|
|
##\u5C97\u4F4D\u670D\u52A1
|
|
##\u5C97\u4F4D\u670D\u52A1
|
|
|
-post.service.delete.assigned.not.allow={0} has been assigned and cannot be deleted
|
|
|
|
|
|
|
+post.service.delete.assigned.not.allow={0} assigned. Deletion blocked
|
|
|
##\u89D2\u8272\u670D\u52A1
|
|
##\u89D2\u8272\u670D\u52A1
|
|
|
-role.service.operate.super.admin.not.allow=Operation on super administrator role is not allowed
|
|
|
|
|
-role.service.access.data.no.permission=No permission to access role data!
|
|
|
|
|
-role.service.delete.assigned.not.allow={0} has been assigned and cannot be deleted
|
|
|
|
|
|
|
+role.service.operate.super.admin.not.allow=Super role modification prohibited
|
|
|
|
|
+role.service.access.data.no.permission=Unauthorized role access
|
|
|
|
|
+role.service.delete.assigned.not.allow={0} assignment exists. Deletion blocked
|
|
|
##\u914D\u7F6E\u670D\u52A1
|
|
##\u914D\u7F6E\u670D\u52A1
|
|
|
-config.service.built.in.param.delete.not.allow=Built-in parameter [{0}] cannot be deleted
|
|
|
|
|
|
|
+config.service.built.in.param.delete.not.allow=Built-in parameter [{0}] protected
|
|
|
##\u5B57\u5178\u7C7B\u578B\u670D\u52A1
|
|
##\u5B57\u5178\u7C7B\u578B\u670D\u52A1
|
|
|
-dict.type.service.delete.assigned.not.allow={0} has been assigned and cannot be deleted
|
|
|
|
|
|
|
+dict.type.service.delete.assigned.not.allow={0} referenced. Deletion blocked
|
|
|
##\u90E8\u95E8\u670D\u52A1
|
|
##\u90E8\u95E8\u670D\u52A1
|
|
|
-dept.service.access.data.no.permission=No permission to access department data!
|
|
|
|
|
-dept.service.add.disabled.not.allow=Department is disabled, new additions are not allowed
|
|
|
|
|
|
|
+dept.service.access.data.no.permission=Department access denied
|
|
|
|
|
+dept.service.add.disabled.not.allow=Department inactive: Add prohibited
|
|
|
##\u4EE3\u7801\u751F\u6210\u670D\u52A1
|
|
##\u4EE3\u7801\u751F\u6210\u670D\u52A1
|
|
|
code.gen.service.import.fail=Import failed: {0}
|
|
code.gen.service.import.fail=Import failed: {0}
|
|
|
-code.gen.service.render.template.fail=Template rendering failed, table name: {0}
|
|
|
|
|
-code.gen.service.sync.data.fail.table.not.exist=Data synchronization failed, original table structure does not exist
|
|
|
|
|
-code.gen.service.tree.code.field.not.null=Tree code field cannot be empty
|
|
|
|
|
-code.gen.service.tree.parent.code.field.not.null=Tree parent code field cannot be empty
|
|
|
|
|
-code.gen.service.tree.name.field.not.null=Tree name field cannot be empty
|
|
|
|
|
-code.gen.service.sub.table.name.not.null=The table name of the associated sub-table cannot be empty
|
|
|
|
|
-code.gen.service.sub.table.fk.name.not.null=The foreign key name associated with the sub-table cannot be empty
|
|
|
|
|
|
|
+code.gen.service.render.template.fail=Template render failed: Table {0}
|
|
|
|
|
+code.gen.service.sync.data.fail.table.not.exist=Sync failed: Table missing
|
|
|
|
|
+code.gen.service.tree.code.field.not.null=Tree code field required
|
|
|
|
|
+code.gen.service.tree.parent.code.field.not.null=Parent tree code required
|
|
|
|
|
+code.gen.service.tree.name.field.not.null=Tree name field required
|
|
|
|
|
+code.gen.service.sub.table.name.not.null=Child table name required
|
|
|
|
|
+code.gen.service.sub.table.fk.name.not.null=Foreign key required for child table
|
|
|
##\u7528\u6237\u8BE6\u60C5\u670D\u52A1
|
|
##\u7528\u6237\u8BE6\u60C5\u670D\u52A1
|
|
|
-user.detail.service.login.user.not.exist=Logged-in user: {0} does not exist
|
|
|
|
|
-user.detail.service.account.deleted=Sorry, your account: {0} has been deleted
|
|
|
|
|
-user.detail.service.account.disabled=Sorry, your account: {0} has been disabled
|
|
|
|
|
-user.detail.service.account.blacklisted=Sorry, your account: {0} has been added to the blacklist of the {1} module and cannot log in temporarily!
|
|
|
|
|
-user.detail.service.account.lack.role.permission=Sorry, your account: {0} lacks role permissions and cannot log in temporarily. Please go to role or basic data configuration!
|
|
|
|
|
|
|
+user.detail.service.login.user.not.exist=User {0} not found
|
|
|
|
|
+user.detail.service.account.deleted=Account {0} deleted
|
|
|
|
|
+user.detail.service.account.disabled=Account {0} suspended
|
|
|
|
|
+user.detail.service.account.blacklisted=Blocked from {1} module: Account {0}
|
|
|
|
|
+user.detail.service.account.lack.role.permission=Missing role permissions: Account {0}
|
|
|
##\u79FB\u52A8\u7AEF\u767B\u5F55\u670D\u52A1
|
|
##\u79FB\u52A8\u7AEF\u767B\u5F55\u670D\u52A1
|
|
|
-mobile.login.service.sys.config.register.role.code.not.config=Please maintain the registered user role code [register_role_code] in the data dictionary [sys_config]
|
|
|
|
|
-mobile.login.service.sys.config.register.dept.code.not.config=Please maintain the registered user department code [register_dept_code] in the data dictionary [sys_config]
|
|
|
|
|
-mobile.login.service.sys.config.register.post.code.not.config=Please maintain the registered user post code [register_post_code] in the data dictionary [sys_config]
|
|
|
|
|
|
|
+mobile.login.service.sys.config.register.role.code.not.config=Configure register_role_code in sys_config
|
|
|
|
|
+mobile.login.service.sys.config.register.dept.code.not.config=Configure register_dept_code in sys_config
|
|
|
|
|
+mobile.login.service.sys.config.register.post.code.not.config=Configure register_post_code in sys_config
|
|
|
##\u9650\u6D41\u670D\u52A1
|
|
##\u9650\u6D41\u670D\u52A1
|
|
|
-limit.service.access.too.frequent=Access is too frequent, please try again later
|
|
|
|
|
|
|
+limit.service.access.too.frequent=Request throttled. Try later
|
|
|
##\u5B89\u5168\u5DE5\u5177
|
|
##\u5B89\u5168\u5DE5\u5177
|
|
|
-security.util.get.user.id.error=Exception when obtaining user ID
|
|
|
|
|
-security.util.get.dept.id.error=Exception when obtaining department ID
|
|
|
|
|
-security.util.get.user.account.error=Exception when obtaining user account
|
|
|
|
|
-security.util.get.user.info.error=Exception when obtaining user information
|
|
|
|
|
|
|
+security.util.get.user.id.error=User ID retrieval failed
|
|
|
|
|
+security.util.get.dept.id.error=Department ID retrieval failed
|
|
|
|
|
+security.util.get.user.account.error=Account retrieval failed
|
|
|
|
|
+security.util.get.user.info.error=User info retrieval failed
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
##\u516B\u3001CommonResult \u6210\u529F\u6D88\u606F
|
|
##\u516B\u3001CommonResult \u6210\u529F\u6D88\u606F
|
|
|
-common.result.success.device.info=Device information: {0}
|
|
|
|
|
-common.result.success.import.data=Import successful, a total of {0} data records imported
|
|
|
|
|
|
|
+common.result.success.device.info= Device:{0}
|
|
|
|
|
+common.result.success.import.data=Imported {0} records
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
##\u4E5D\u3001Assert \u53C2\u6570\u6821\u9A8C\u63D0\u793A
|
|
##\u4E5D\u3001Assert \u53C2\u6570\u6821\u9A8C\u63D0\u793A
|
|
|
##\u901A\u7528\u63D0\u793A
|
|
##\u901A\u7528\u63D0\u793A
|
|
|
-assert.common.delete.select.data=Please select the data to be deleted!
|
|
|
|
|
-assert.common.param.id.not.null=ID cannot be empty!
|
|
|
|
|
-assert.common.param.primary.key.id.not.null=Primary key ID cannot be empty!
|
|
|
|
|
-assert.common.param.invalid=Invalid parameter!
|
|
|
|
|
|
|
+assert.common.delete.select.data=Select records to delete!
|
|
|
|
|
+assert.common.param.id.not.null=ID required!
|
|
|
|
|
+assert.common.param.primary.key.id.not.null=Primary key required!
|
|
|
|
|
+assert.common.param.invalid=Invalid parameters!
|
|
|
##\u4F5C\u4E1A\u7968\u76F8\u5173
|
|
##\u4F5C\u4E1A\u7968\u76F8\u5173
|
|
|
-assert.work.order.info.not.exist=Work order information does not exist!
|
|
|
|
|
-assert.work.order.data.lost=Work order data is lost!
|
|
|
|
|
-assert.work.order.id.not.null=Work order ID cannot be empty!
|
|
|
|
|
-assert.work.order.current.id.not.null=Current work order ID cannot be empty!
|
|
|
|
|
-assert.work.order.step.six.cannot.cancel=This work order has been executed to the sixth step and cannot be canceled!
|
|
|
|
|
-assert.work.order.wait.lock.complete=Please wait for the locking of work order [{0}] to complete!
|
|
|
|
|
-assert.work.order.specify=Please specify which work order!
|
|
|
|
|
-assert.work.order.job.id.not.null=Job ID cannot be empty!
|
|
|
|
|
-assert.work.order.device.taken.cannot.operate=The equipment for the work order has been taken, operation not allowed!
|
|
|
|
|
-assert.work.order.not.started.cannot.co.lock=This work order has not started, do not co-lock!
|
|
|
|
|
-assert.work.order.already.co.locked.cannot.repeat=You have already co-locked, do not repeat co-locking!
|
|
|
|
|
-assert.work.order.not.co.locked.cannot.unlock=You have not co-locked yet, do not unlock!
|
|
|
|
|
-assert.work.order.already.unlocked.cannot.repeat=You have already unlocked, do not repeat unlocking!
|
|
|
|
|
-assert.work.order.code.not.null=Work order number cannot be empty!
|
|
|
|
|
-assert.work.order.name.not.null=Work order name cannot be empty!
|
|
|
|
|
-assert.work.order.select.isolation.point=Please select an isolation point!
|
|
|
|
|
-assert.work.order.person.info.not.null=Personnel information cannot be empty!
|
|
|
|
|
-assert.work.order.point.info.not.null=Point information cannot be empty!
|
|
|
|
|
|
|
+assert.work.order.info.not.exist=Work order not found!
|
|
|
|
|
+assert.work.order.data.lost=Work order data corrupt!
|
|
|
|
|
+assert.work.order.id.not.null=Work order ID required!
|
|
|
|
|
+assert.work.order.current.id.not.null=Current work order ID required!
|
|
|
|
|
+assert.work.order.step.six.cannot.cancel=Step 6: Cancellation prohibited
|
|
|
|
|
+assert.work.order.wait.lock.complete=Wait for lock completion: [{0}]
|
|
|
|
|
+assert.work.order.specify=Specify work order!
|
|
|
|
|
+assert.work.order.job.id.not.null=Job ID required!
|
|
|
|
|
+assert.work.order.device.taken.cannot.operate=Device allocated: Operation blocked
|
|
|
|
|
+assert.work.order.not.started.cannot.co.lock=Work order not started: Group lock invalid
|
|
|
|
|
+assert.work.order.already.co.locked.cannot.repeat=Group lock active: Duplication prevented
|
|
|
|
|
+assert.work.order.not.co.locked.cannot.unlock=No group lock: Unlock aborted
|
|
|
|
|
+assert.work.order.already.unlocked.cannot.repeat=Already unlocked: Operation ignored
|
|
|
|
|
+assert.work.order.code.not.null=Work order code required!
|
|
|
|
|
+assert.work.order.name.not.null=Work order name required!
|
|
|
|
|
+assert.work.order.select.isolation.point=Select isolation points!
|
|
|
|
|
+assert.work.order.person.info.not.null=Personnel info required!
|
|
|
|
|
+assert.work.order.point.info.not.null=Point information missing!
|
|
|
##\u94A5\u5319\u76F8\u5173
|
|
##\u94A5\u5319\u76F8\u5173
|
|
|
-assert.key.data.lost=Key data is lost!
|
|
|
|
|
-assert.key.nfc.no.corresponding.info=This NFC has no corresponding key information
|
|
|
|
|
-assert.key.specify.nfc=Please specify the NFC of the key!
|
|
|
|
|
-assert.key.nfc.not.null=Key NFC cannot be empty!
|
|
|
|
|
-assert.key.nfc.corresponding.info.not.exist={0} corresponding key information does not exist!
|
|
|
|
|
|
|
+assert.key.data.lost=Key data corruption!
|
|
|
|
|
+assert.key.nfc.no.corresponding.info=NFC tag unrecognized
|
|
|
|
|
+assert.key.specify.nfc=Specify key NFC!
|
|
|
|
|
+assert.key.nfc.not.null=Key NFC required!
|
|
|
|
|
+assert.key.nfc.corresponding.info.not.exist=Key not found: {0}
|
|
|
##\u6302\u9501\u76F8\u5173
|
|
##\u6302\u9501\u76F8\u5173
|
|
|
-assert.lock.data.lost=Padlock data is lost!
|
|
|
|
|
-assert.lock.nfc.no.corresponding.info=This NFC has no corresponding padlock information!
|
|
|
|
|
-assert.lock.nfc.not.null=The padlock's NFC cannot be empty!
|
|
|
|
|
-assert.lock.nfc.corresponding.data.not.exist={0} corresponding padlock data does not exist!
|
|
|
|
|
-assert.lock.nfc.missing=Padlock NFC is missing!
|
|
|
|
|
-assert.lock.specify.nfc=Please specify the NFC of the padlock!
|
|
|
|
|
-assert.lock.name.already.taken={0} has been taken out!
|
|
|
|
|
-assert.lock.point.error.duplicate=Point padlock error, duplicate point [{0}]. Please use multiple locks to complete the locking of duplicate points!
|
|
|
|
|
-assert.lock.take.at.least.one=Please take out at least one padlock!
|
|
|
|
|
|
|
+assert.lock.data.lost=Lock data corrupt!
|
|
|
|
|
+assert.lock.nfc.no.corresponding.info=NFC tag unrecognized
|
|
|
|
|
+assert.lock.nfc.not.null=Lock NFC required!
|
|
|
|
|
+assert.lock.nfc.corresponding.data.not.exist=Lock not found: {0}
|
|
|
|
|
+assert.lock.nfc.missing=Lock NFC missing!
|
|
|
|
|
+assert.lock.specify.nfc=Specify lock NFC!
|
|
|
|
|
+assert.lock.name.already.taken={0} currently in use!
|
|
|
|
|
+assert.lock.point.error.duplicate=Duplicate lock point [{0}]. Complete multi-lock first!
|
|
|
|
|
+assert.lock.take.at.least.one=Remove minimum one lock!
|
|
|
##\u786C\u4EF6\u76F8\u5173
|
|
##\u786C\u4EF6\u76F8\u5173
|
|
|
-assert.hardware.serial.no.corresponding.info=This serial number has no corresponding hardware information!
|
|
|
|
|
-assert.hardware.lock.no.init.data.for.update=No initialization data available for updating this padlock
|
|
|
|
|
-assert.hardware.accessory.no.init.data.for.update=No initialization data available for updating this accessory
|
|
|
|
|
-assert.hardware.code.not.null=Hardware code cannot be empty!
|
|
|
|
|
-assert.hardware.name.not.null=Hardware name cannot be empty!
|
|
|
|
|
-assert.hardware.code.already.used={0} is already in use!
|
|
|
|
|
-assert.hardware.specify.return.location=Please specify where to return it!
|
|
|
|
|
-assert.hardware.specify.return.cabinet=Please specify which cabinet to return it to!
|
|
|
|
|
|
|
+assert.hardware.serial.no.corresponding.info=Serial number unrecognized
|
|
|
|
|
+assert.hardware.lock.no.init.data.for.update=Lock initialization missing
|
|
|
|
|
+assert.hardware.accessory.no.init.data.for.update=Accessory initialization missing
|
|
|
|
|
+assert.hardware.code.not.null=Hardware code required!
|
|
|
|
|
+assert.hardware.name.not.null=Hardware name required!
|
|
|
|
|
+assert.hardware.code.already.used={0} already in use!
|
|
|
|
|
+assert.hardware.specify.return.location=Specify return location!
|
|
|
|
|
+assert.hardware.specify.return.cabinet=Specify storage cabinet!
|
|
|
##\u9694\u79BB\u70B9\u76F8\u5173
|
|
##\u9694\u79BB\u70B9\u76F8\u5173
|
|
|
-assert.isolation.point.nfc.no.corresponding.info=This NFC has no corresponding isolation point information
|
|
|
|
|
-assert.isolation.point.name.used.by.sop.cannot.delete=Point {0} is being used by SOP and cannot be deleted!
|
|
|
|
|
-assert.isolation.point.used.by.loto.cannot.delete={0} is being used by the {1} lockout station. Please unbind it from the lockout station first!
|
|
|
|
|
-assert.isolation.point.name.not.null=Isolation point name cannot be empty!
|
|
|
|
|
-assert.isolation.point.code.name.not.null=Isolation point code name cannot be empty!
|
|
|
|
|
-assert.isolation.point.id.not.null=Isolation point ID cannot be empty!
|
|
|
|
|
-assert.isolation.point.name.already.used=This isolation point name is already in use!
|
|
|
|
|
-assert.isolation.point.nfc.already.used=This NFC is already in use!
|
|
|
|
|
-assert.isolation.point.code.already.used=This code is already in use!
|
|
|
|
|
-assert.isolation.point.serial.no.already.used=This serial number is already in use!
|
|
|
|
|
-assert.isolation.point.query.error=Error querying isolation point information!
|
|
|
|
|
|
|
+assert.isolation.point.nfc.no.corresponding.info=NFC tag unrecognized
|
|
|
|
|
+assert.isolation.point.name.used.by.sop.cannot.delete={0} linked to SOP: Deletion blocked
|
|
|
|
|
+assert.isolation.point.used.by.loto.cannot.delete={0} used by {1} station: Unbind first
|
|
|
|
|
+assert.isolation.point.name.not.null=Isolation point name required!
|
|
|
|
|
+assert.isolation.point.code.name.not.null=Code/Name required!
|
|
|
|
|
+assert.isolation.point.id.not.null=Isolation point ID required!
|
|
|
|
|
+assert.isolation.point.name.already.used=Name already exists!
|
|
|
|
|
+assert.isolation.point.nfc.already.used=NFC already assigned!
|
|
|
|
|
+assert.isolation.point.code.already.used=Code already in use!
|
|
|
|
|
+assert.isolation.point.serial.no.already.used=Serial number duplicate!
|
|
|
|
|
+assert.isolation.point.query.error=Query failed!
|
|
|
##\u8F85\u4EF6\u76F8\u5173
|
|
##\u8F85\u4EF6\u76F8\u5173
|
|
|
-assert.accessory.nfc.no.corresponding.info=This NFC has no corresponding accessory information
|
|
|
|
|
-assert.accessory.nfc.missing=Accessory NFC is missing!
|
|
|
|
|
-assert.accessory.take.at.least.one=Please take out at least one accessory!
|
|
|
|
|
|
|
+assert.accessory.nfc.no.corresponding.info=NFC tag unrecognized
|
|
|
|
|
+assert.accessory.nfc.missing=Accessory NFC missing!
|
|
|
|
|
+assert.accessory.take.at.least.one=Remove minimum one accessory!
|
|
|
##\u5C97\u4F4D\u76F8\u5173
|
|
##\u5C97\u4F4D\u76F8\u5173
|
|
|
-assert.post.info.not.exist=Post information does not exist!
|
|
|
|
|
-assert.post.name.not.null=Post name cannot be empty!
|
|
|
|
|
-assert.post.name.already.used=This post name is already in use!
|
|
|
|
|
-assert.post.id.not.null=Post ID cannot be empty!
|
|
|
|
|
-assert.post.not.null=Post cannot be empty!
|
|
|
|
|
-assert.post.used.by.user.cannot.delete=The post is being used by users and cannot be deleted!
|
|
|
|
|
-assert.post.has.children.cannot.delete=The post has sub-posts and cannot be deleted!
|
|
|
|
|
|
|
+assert.post.info.not.exist=Position not found!
|
|
|
|
|
+assert.post.name.not.null=Position name required!
|
|
|
|
|
+assert.post.name.already.used=Name already exists!
|
|
|
|
|
+assert.post.id.not.null=Position ID required!
|
|
|
|
|
+assert.post.not.null=Position required!
|
|
|
|
|
+assert.post.used.by.user.cannot.delete=Assigned to users: Deletion blocked
|
|
|
|
|
+assert.post.has.children.cannot.delete=Sub positions exist: Deletion blocked
|
|
|
##SOP \u76F8\u5173
|
|
##SOP \u76F8\u5173
|
|
|
-assert.sop.data.not.exist=SOP data does not exist!
|
|
|
|
|
-assert.sop.id.not.null=sopId cannot be empty!
|
|
|
|
|
-assert.sop.name.not.null=SOP name cannot be empty!
|
|
|
|
|
-assert.sop.code.name.not.null=SOP code name cannot be empty!
|
|
|
|
|
-assert.sop.code.already.used=This SOP code is already in use!
|
|
|
|
|
-assert.sop.sort.data.not.null=Sorting data cannot be empty!
|
|
|
|
|
|
|
+assert.sop.data.not.exist=SOP not found!
|
|
|
|
|
+assert.sop.id.not.null=SOP ID required!
|
|
|
|
|
+assert.sop.name.not.null=SOP name required!
|
|
|
|
|
+assert.sop.code.name.not.null=Code/Name required!
|
|
|
|
|
+assert.sop.code.already.used=Code already exists!
|
|
|
|
|
+assert.sop.sort.data.not.null=Sort order required!
|
|
|
##\u8BBE\u5907\u5DE5\u827A\u76F8\u5173
|
|
##\u8BBE\u5907\u5DE5\u827A\u76F8\u5173
|
|
|
-assert.machinery.process.info.not.exist=Equipment process information does not exist!
|
|
|
|
|
-assert.machinery.process.name.not.null=Name cannot be empty!
|
|
|
|
|
-assert.machinery.process.parent.id.not.null=Parent ID cannot be empty!
|
|
|
|
|
-assert.machinery.process.name.already.used=[{0}] name is already used by a process/equipment, please re-enter!
|
|
|
|
|
-assert.machinery.process.select.isolation.point=Please select an isolation point!
|
|
|
|
|
|
|
+assert.machinery.process.info.not.exist=Process not found!
|
|
|
|
|
+assert.machinery.process.name.not.null=Name required!
|
|
|
|
|
+assert.machinery.process.parent.id.not.null=Parent ID required!
|
|
|
|
|
+assert.machinery.process.name.already.used=[{0}] exists in processes/equipment!
|
|
|
|
|
+assert.machinery.process.select.isolation.point=Select isolation points!
|
|
|
##\u5DE5\u4F5C\u533A\u57DF\u76F8\u5173
|
|
##\u5DE5\u4F5C\u533A\u57DF\u76F8\u5173
|
|
|
-assert.work.area.name.not.null=Work area name cannot be empty!
|
|
|
|
|
-assert.work.area.code.name.not.null=Work area code name cannot be empty!
|
|
|
|
|
-assert.work.area.id.not.null=Work area ID cannot be empty!
|
|
|
|
|
-assert.work.area.code.already.used=This work area code is already in use!
|
|
|
|
|
-assert.work.area.has.isolation.point.cannot.delete={0} has isolation points and cannot be deleted temporarily!
|
|
|
|
|
-assert.work.area.pass.id=Please pass the work area ID
|
|
|
|
|
|
|
+assert.work.area.name.not.null=Area name required!
|
|
|
|
|
+assert.work.area.code.name.not.null=Code/Name required!
|
|
|
|
|
+assert.work.area.id.not.null=Area ID required!
|
|
|
|
|
+assert.work.area.code.already.used=Code already exists!
|
|
|
|
|
+assert.work.area.has.isolation.point.cannot.delete={0} contains points: Deletion blocked
|
|
|
|
|
+assert.work.area.pass.id=Pass area ID!
|
|
|
##\u9501\u63A7\u67DC / \u7269\u8D44\u67DC\u76F8\u5173
|
|
##\u9501\u63A7\u67DC / \u7269\u8D44\u67DC\u76F8\u5173
|
|
|
-assert.cabinet.lock.id.not.null=Lock cabinet ID cannot be empty!
|
|
|
|
|
-assert.cabinet.material.code.not.null=Material cabinet code cannot be empty!
|
|
|
|
|
-assert.cabinet.material.info.not.exist=Material cabinet information does not exist!
|
|
|
|
|
-assert.cabinet.material.code.identity.unrecognized=Unable to recognize the identity of the {0} material cabinet!
|
|
|
|
|
-assert.cabinet.not.exist=Cabinet does not exist!
|
|
|
|
|
-assert.cabinet.material.specify=Please specify which material cabinet this is!
|
|
|
|
|
-assert.cabinet.code.not.null=cabinetCode cannot be empty!
|
|
|
|
|
-assert.cabinet.material.no.inspection.plan=There is currently no inspection plan for you for this material cabinet!
|
|
|
|
|
-assert.cabinet.material.no.executable.inspection.plan=There is no inspection plan for you to execute for the current material cabinet!
|
|
|
|
|
-assert.cabinet.clear.position.info.first=Please clear the position information under the cabinet first!
|
|
|
|
|
-assert.cabinet.code.already.used=This code is already in use, please replace it!
|
|
|
|
|
-assert.cabinet.name.already.used=This name is already in use, please replace it!
|
|
|
|
|
-assert.cabinet.electric.id.not.null=Electrical cabinet ID cannot be empty!
|
|
|
|
|
-assert.cabinet.electric.pass.id=Please pass the electrical cabinet ID
|
|
|
|
|
-assert.cabinet.name.not.null=Name cannot be empty!
|
|
|
|
|
-assert.cabinet.name.already.used.retry=This name is already in use, please re-enter!
|
|
|
|
|
|
|
+assert.cabinet.lock.id.not.null=Cabinet lock ID required!
|
|
|
|
|
+assert.cabinet.material.code.not.null=Material cabinet code required!
|
|
|
|
|
+assert.cabinet.material.info.not.exist=Cabinet not found!
|
|
|
|
|
+assert.cabinet.material.code.identity.unrecognized=Unknown cabinet: {0}!
|
|
|
|
|
+assert.cabinet.not.exist=Cabinet missing!
|
|
|
|
|
+assert.cabinet.material.specify=Specify material cabinet!
|
|
|
|
|
+assert.cabinet.code.not.null=Cabinet code required!
|
|
|
|
|
+assert.cabinet.material.no.inspection.plan=No inspection plans assigned!
|
|
|
|
|
+assert.cabinet.material.no.executable.inspection.plan=No active inspection plans!
|
|
|
|
|
+assert.cabinet.clear.position.info.first=Clear compartments first!
|
|
|
|
|
+assert.cabinet.code.already.used=Code already exists!
|
|
|
|
|
+assert.cabinet.name.already.used=Name already exists!
|
|
|
|
|
+assert.cabinet.electric.id.not.null=Electrical cabinet ID required!
|
|
|
|
|
+assert.cabinet.electric.pass.id=Pass electrical cabinet ID!
|
|
|
|
|
+assert.cabinet.name.not.null=Name required!
|
|
|
|
|
+assert.cabinet.name.already.used.retry=Name exists. Try different!
|
|
|
##\u7269\u8D44\u76F8\u5173
|
|
##\u7269\u8D44\u76F8\u5173
|
|
|
-assert.material.rfid.not.null=Material RFID cannot be empty!
|
|
|
|
|
-assert.material.rfid.not.found=No material found via RFID: {0}!
|
|
|
|
|
-assert.material.cabinet.code.not.found=No material cabinet information found via material cabinet code: {0}!
|
|
|
|
|
-assert.material.put.new.in.cabinet=Please put new materials in this cabinet!
|
|
|
|
|
-assert.material.original.not.exist=Original material does not exist
|
|
|
|
|
-assert.material.new.not.exist=New material does not exist
|
|
|
|
|
-assert.material.code.already.used=This material code is already in use!
|
|
|
|
|
-assert.material.rfid.already.used=This RFID is already in use!
|
|
|
|
|
-assert.material.not.exist=This material does not exist!
|
|
|
|
|
-assert.material.specify.rfid=Please specify the material's RFID!
|
|
|
|
|
-assert.material.specify.borrow.or.return=Please specify whether to borrow or return!
|
|
|
|
|
-assert.material.rfid.already.borrowed={0} material is already in borrowed status and cannot be borrowed again!
|
|
|
|
|
-assert.material.rfid.already.in.cabinet={0} material is already in the cabinet and cannot be put in again!
|
|
|
|
|
-assert.material.cabinet.info.not.null=Material cabinet information cannot be empty!
|
|
|
|
|
-assert.material.select=Please select materials
|
|
|
|
|
-assert.material.old.id.not.null=Old material ID cannot be empty!
|
|
|
|
|
-assert.material.new.rfid.not.null=New material RFID cannot be empty!
|
|
|
|
|
-assert.material.to.replace.not.taken=The material to be replaced has not been taken out!
|
|
|
|
|
-assert.material.has.cabinet.cannot.replace=This material has an associated cabinet and cannot be replaced!
|
|
|
|
|
-assert.material.replace.abnormal=The material to be replaced is abnormal and cannot be replaced!
|
|
|
|
|
-assert.material.no.maintain.or.replace=No materials to be maintained or replaced have been confirmed!
|
|
|
|
|
-assert.material.import.data.not.null=Imported material data cannot be empty!
|
|
|
|
|
|
|
+assert.material.rfid.not.null=Material RFID required!
|
|
|
|
|
+assert.material.rfid.not.found=Material not found: RFID {0}!
|
|
|
|
|
+assert.material.cabinet.code.not.found=Cabinet not found: Code {0}!
|
|
|
|
|
+assert.material.put.new.in.cabinet=Add new materials to cabinet!
|
|
|
|
|
+assert.material.original.not.exist=Original material missing!
|
|
|
|
|
+assert.material.new.not.exist=New material missing!
|
|
|
|
|
+assert.material.code.already.used=Code already exists!
|
|
|
|
|
+assert.material.rfid.already.used=RFID already assigned!
|
|
|
|
|
+assert.material.not.exist=Material not found!
|
|
|
|
|
+assert.material.specify.rfid=Specify material RFID!
|
|
|
|
|
+assert.material.specify.borrow.or.return=Specify borrow/return action!
|
|
|
|
|
+assert.material.rfid.already.borrowed={0} already borrowed!
|
|
|
|
|
+assert.material.rfid.already.in.cabinet={0} already stored!
|
|
|
|
|
+assert.material.cabinet.info.not.null=Cabinet info required!
|
|
|
|
|
+assert.material.select=Select materials!
|
|
|
|
|
+assert.material.old.id.not.null=Old material ID required!
|
|
|
|
|
+assert.material.new.rfid.not.null=New material RFID required!
|
|
|
|
|
+assert.material.to.replace.not.taken=Original material not removed!
|
|
|
|
|
+assert.material.has.cabinet.cannot.replace=Still stored: Replacement blocked!
|
|
|
|
|
+assert.material.replace.abnormal=Replacement failed!
|
|
|
|
|
+assert.material.no.maintain.or.replace=No repair/replacement specified!
|
|
|
|
|
+assert.material.import.data.not.null=Import data required!
|
|
|
##\u7269\u8D44\u5206\u7C7B\u76F8\u5173
|
|
##\u7269\u8D44\u5206\u7C7B\u76F8\u5173
|
|
|
-assert.material.category.has.materials.cannot.delete={0} category has materials and cannot be deleted!
|
|
|
|
|
-assert.material.category.has.children.cannot.delete={0} category has subcategories and cannot be deleted!
|
|
|
|
|
-assert.material.category.code.already.used=This material category code is already in use!
|
|
|
|
|
-assert.material.category.borrow.duration.gte.reminder=The borrowing duration must be greater than or equal to the reminder duration!
|
|
|
|
|
|
|
+assert.material.category.has.materials.cannot.delete={0} contains items: Deletion blocked!
|
|
|
|
|
+assert.material.category.has.children.cannot.delete={0} has subcategories: Deletion blocked!
|
|
|
|
|
+assert.material.category.code.already.used=Category code exists!
|
|
|
|
|
+assert.material.category.borrow.duration.gte.reminder=Borrow duration >= reminder period!
|
|
|
##\u7535\u673A\u76F8\u5173
|
|
##\u7535\u673A\u76F8\u5173
|
|
|
-assert.motor.data.not.exist=This motor data does not exist!
|
|
|
|
|
-assert.motor.map.primary.key.not.null=Map primary key cannot be empty
|
|
|
|
|
|
|
+assert.motor.data.not.exist=Motor data missing!
|
|
|
|
|
+assert.motor.map.primary.key.not.null=Map primary key required!
|
|
|
##\u5730\u56FE\u76F8\u5173
|
|
##\u5730\u56FE\u76F8\u5173
|
|
|
-assert.map.data.parse.fail=Map data parsing failed!
|
|
|
|
|
-assert.map.provide.loto.cabinet.serial.no=Please provide the LOTO cabinet serial number!
|
|
|
|
|
|
|
+assert.map.data.parse.fail=Map parsing failed!
|
|
|
|
|
+assert.map.provide.loto.cabinet.serial.no=Provide LOTO cabinet serial!
|
|
|
##\u68C0\u67E5\u8BA1\u5212\u76F8\u5173
|
|
##\u68C0\u67E5\u8BA1\u5212\u76F8\u5173
|
|
|
-assert.inspection.plan.configure.template=Please configure the material inspection plan template in the basic data!
|
|
|
|
|
-assert.inspection.plan.id.not.null=Inspection plan planId cannot be empty!
|
|
|
|
|
|
|
+assert.inspection.plan.configure.template=Configure inspection template in base data!
|
|
|
|
|
+assert.inspection.plan.id.not.null=Plan ID required!
|
|
|
##\u6307\u7EB9\u76F8\u5173
|
|
##\u6307\u7EB9\u76F8\u5173
|
|
|
-assert.fingerprint.specify.user=Please specify which user's fingerprint this is!
|
|
|
|
|
-assert.fingerprint.group.not.null=Fingerprint group cannot be empty!
|
|
|
|
|
-assert.fingerprint.entry.limit.reached=The fingerprint entry limit for this person has been reached, maximum {0} entries!
|
|
|
|
|
-assert.fingerprint.unrecognizable.retry=This file fingerprint is unrecognizable, please re-enter!
|
|
|
|
|
-assert.fingerprint.similarity.low.retry=The fingerprint similarity is too low, please re-enter!
|
|
|
|
|
-assert.fingerprint.info.not.null=Fingerprint information cannot be empty!
|
|
|
|
|
|
|
+assert.fingerprint.specify.user=Link fingerprint to user!
|
|
|
|
|
+assert.fingerprint.group.not.null=Fingerprint group required!
|
|
|
|
|
+assert.fingerprint.entry.limit.reached=Max {0} prints reached!
|
|
|
|
|
+assert.fingerprint.unrecognizable.retry=Unreadable print: Re-scan!
|
|
|
|
|
+assert.fingerprint.similarity.low.retry=Low similarity: Re-enroll!
|
|
|
|
|
+assert.fingerprint.info.not.null=Print data required!
|
|
|
##\u4EBA\u8138\u76F8\u5173
|
|
##\u4EBA\u8138\u76F8\u5173
|
|
|
-assert.face.specify.user=Please specify which user's face this is!
|
|
|
|
|
-assert.face.entry.limit.reached=The face entry limit for this person has been reached, maximum {0} entries!
|
|
|
|
|
-assert.face.file.parse.fail=Face file parsing failed!
|
|
|
|
|
-assert.face.upload.file=Please upload a face file!
|
|
|
|
|
-assert.face.get.fail=Failed to obtain face!
|
|
|
|
|
-assert.face.get.feature.fail=Failed to obtain face feature value!
|
|
|
|
|
-assert.face.not.recognized=No face recognized!
|
|
|
|
|
-assert.face.comparison.error=Face comparison error {0}!
|
|
|
|
|
-assert.face.info.not.null=Face information cannot be empty!
|
|
|
|
|
|
|
+assert.face.specify.user=Link face to user!
|
|
|
|
|
+assert.face.entry.limit.reached=Max {0} faces stored!
|
|
|
|
|
+assert.face.file.parse.fail=Face file corrupt!
|
|
|
|
|
+assert.face.upload.file=Upload face image!
|
|
|
|
|
+assert.face.get.fail=Face retrieval failed!
|
|
|
|
|
+assert.face.get.feature.fail=Feature extraction failed!
|
|
|
|
|
+assert.face.not.recognized=Face not recognized!
|
|
|
|
|
+assert.face.comparison.error=Comparison error: {0}!
|
|
|
|
|
+assert.face.info.not.null=Face data required!
|
|
|
|
|
+assert.face.data.not.exist=No Face Data Found!
|
|
|
##\u767B\u5F55\u76F8\u5173
|
|
##\u767B\u5F55\u76F8\u5173
|
|
|
-assert.login.fingerprint.identity.unknown=Unable to confirm your identity via fingerprint, please log in through other methods!
|
|
|
|
|
-assert.login.face.identity.unknown=Unable to confirm your identity via face recognition, please log in through other methods!
|
|
|
|
|
|
|
+assert.login.fingerprint.identity.unknown=Fingerprint unrecognized: Alternative login!
|
|
|
|
|
+assert.login.face.identity.unknown=Face unrecognized: Alternative login!
|
|
|
##\u7F16\u7801\u89C4\u5219\u76F8\u5173
|
|
##\u7F16\u7801\u89C4\u5219\u76F8\u5173
|
|
|
-assert.code.rule.input.char.not.null=The input character for the coding rule cannot be empty!
|
|
|
|
|
-assert.code.rule.type.not.found=Business coding generation rule for the specified type: [{0}] not found
|
|
|
|
|
-assert.code.rule.result.record.not.found=Result record corresponding to rule {[]} not found
|
|
|
|
|
-assert.code.rule.input.char.length.error=Incorrect length of input character!
|
|
|
|
|
-assert.code.rule.serial.number.component.unique=There can only be one serial number component in the coding rule [{0}]
|
|
|
|
|
-assert.code.rule.generated.code.empty=The code generated by rule: [{0}] is empty!
|
|
|
|
|
-assert.code.rule.generated.code.exceed.max.length=The generated code [{0}] exceeds the maximum length configured in the rule: [{1}]
|
|
|
|
|
|
|
+assert.code.rule.input.char.not.null=Rule input required!
|
|
|
|
|
+assert.code.rule.type.not.found=Rule type [{0}] missing!
|
|
|
|
|
+assert.code.rule.result.record.not.found=Result record missing: {[]}!
|
|
|
|
|
+assert.code.rule.input.char.length.error=Input length mismatch!
|
|
|
|
|
+assert.code.rule.serial.number.component.unique=Single component rule: {0}!
|
|
|
|
|
+assert.code.rule.generated.code.empty=Empty generated code: [{0}]!
|
|
|
|
|
+assert.code.rule.generated.code.exceed.max.length=Code [{0}] too long: Max {1} chars!
|
|
|
##\u4E1A\u52A1\u7F16\u7801\u76F8\u5173
|
|
##\u4E1A\u52A1\u7F16\u7801\u76F8\u5173
|
|
|
-assert.business.code.max.length.less.than.sum=The maximum length {0} is less than the sum of segment lengths {1}, please expand the maximum length!
|
|
|
|
|
|
|
+assert.business.code.max.length.less.than.sum=Max length {0} < segment sum {1}!
|
|
|
##\u6587\u4EF6\u4E0A\u4F20\u76F8\u5173
|
|
##\u6587\u4EF6\u4E0A\u4F20\u76F8\u5173
|
|
|
-assert.file.upload.param.invalid=Invalid parameter!
|
|
|
|
|
|
|
+assert.file.upload.param.invalid=Invalid upload parameters!
|
|
|
##\u7EDF\u8BA1\u76F8\u5173
|
|
##\u7EDF\u8BA1\u76F8\u5173
|
|
|
-assert.statistics.type.not.null=Type cannot be empty!
|
|
|
|
|
|
|
+assert.statistics.type.not.null=Statistic type required!
|
|
|
##\u7528\u6237\u76F8\u5173
|
|
##\u7528\u6237\u76F8\u5173
|
|
|
-assert.user.data.duplicate.name.modify=Duplicate user names exist in the user data, please modify!
|
|
|
|
|
-assert.user.not.exist.in.system=This user does not exist in the system!
|
|
|
|
|
-assert.user.work.card.not.bound=This work card is not bound to a user!
|
|
|
|
|
-assert.user.employee.card.no.work.task=The employee bound to this employee card has no work tasks temporarily!
|
|
|
|
|
-assert.user.operate.co.lock.status.not.null=The co-lock/unlock status of the operation cannot be empty!
|
|
|
|
|
-assert.user.work.card.nfc.not.null=Work card NFC cannot be empty!
|
|
|
|
|
|
|
+assert.user.data.duplicate.name.modify=Duplicate names detected: Modify!
|
|
|
|
|
+assert.user.not.exist.in.system=User not in system!
|
|
|
|
|
+assert.user.work.card.not.bound=Card not linked to user!
|
|
|
|
|
+assert.user.employee.card.no.work.task=No tasks assigned!
|
|
|
|
|
+assert.user.operate.co.lock.status.not.null=Lock status required!
|
|
|
|
|
+assert.user.work.card.nfc.not.null=Card NFC required!
|
|
|
##\u5B57\u5178\u6570\u636E\u76F8\u5173
|
|
##\u5B57\u5178\u6570\u636E\u76F8\u5173
|
|
|
-assert.dict.data.key.value.exist=The key value: {0} already exists under this dictionary type, please re-enter!
|
|
|
|
|
|
|
+assert.dict.data.key.value.exist=Value exists: {0}!
|
|
|
##\u5176\u4ED6\u4E1A\u52A1\u903B\u8F91
|
|
##\u5176\u4ED6\u4E1A\u52A1\u903B\u8F91
|
|
|
assert.business.no.data.received=No data received!
|
|
assert.business.no.data.received=No data received!
|
|
|
-assert.business.specify.isolation.point.info=Please provide isolation point information!
|
|
|
|
|
-assert.business.specify.lock.or.unlock=Please specify whether to lock or unlock!
|
|
|
|
|
-assert.business.specify.task.status=Please specify the current status of the task!
|
|
|
|
|
-assert.business.point.switch.data.not.null=Point switch data cannot be empty!
|
|
|
|
|
-assert.business.loto.serial.no.not.null=Lockout station serial number cannot be empty!
|
|
|
|
|
-assert.business.point.serial.no.not.null=Point serial number cannot be empty!
|
|
|
|
|
-assert.business.nfc.no.lock.info.found=No relevant padlock information found via NFC!
|
|
|
|
|
-assert.business.multiple.faces.recognized.adjust=Multiple faces recognized, please readjust the position!
|
|
|
|
|
|
|
+assert.business.specify.isolation.point.info=Specify isolation points!
|
|
|
|
|
+assert.business.specify.lock.or.unlock=Specify lock/unlock action!
|
|
|
|
|
+assert.business.specify.task.status=Specify task status!
|
|
|
|
|
+assert.business.point.switch.data.not.null=Switch data required!
|
|
|
|
|
+assert.business.loto.serial.no.not.null=LOTO serial required!
|
|
|
|
|
+assert.business.point.serial.no.not.null=Point serial required!
|
|
|
|
|
+assert.business.nfc.no.lock.info.found=No lock found via NFC!
|
|
|
|
|
+assert.business.multiple.faces.recognized.adjust=Multiple faces detected: Re-position!
|
|
|
|
|
+assert.business.task.name.not.null=Task name required!
|
|
|
|
|
+assert.business.key.required=Specify KEY!
|
|
|
|
|
+assert.business.config.param.not.exist=Config parameter missing!
|
|
|
|
|
+assert.business.email.param.missing.check=Email params missing!
|
|
|
|
|
+assert.business.step4.executed.cannot.change.locker=Step 4 completed: Locker change blocked!
|
|
|
|
|
+assert.business.card.no.required=Enter card number!
|
|
|
|
|
+assert.business.card.not.exist=Card not found!
|
|
|
|
|
+assert.business.no.associated.user=No linked user!
|
|
|
|
|
+assert.business.please.login.first=Login required!
|
|
|
|
|
+assert.business.user.not.exist=User not found!
|
|
|
|
|
+assert.business.user.not.bound.card=User-card link missing!
|
|
|
|
|
+assert.business.card.invalid=Invalid card!
|
|
|
|
|
+assert.business.current.user.info.not.exist=User profile missing!
|
|
|
|
|
+assert.business.data.not.exist=Data not found!
|
|
|
|
|
+assert.business.current.task.param.missing=Task parameters missing!
|
|
|
|
|
+assert.business.task.not.exist=Task not found!
|
|
|
|
|
+assert.business.template.code.not.null=Template code required!
|
|
|
|
|
+assert.business.type.not.null=Type required!
|
|
|
|
|
+assert.business.cabinet.code.not.exist=Cabinet code invalid!
|
|
|
|
|
+assert.business.recipient.not.exist=Recipient missing!
|
|
|
|
|
+assert.business.key.info.not.null=Key info required!
|
|
|
|
|
+assert.business.no.corresponding.accessory.info=Accessory not found!
|
|
|
|
|
+assert.business.please.select.personnel.info=Select personnel!
|
|
|
|
|
+assert.business.please.configure.person.post.first=Assign position first!
|
|
|
|
|
+assert.business.step.id.not.null=Step ID required!
|
|
|
|
|
+assert.business.status.not.null=Status required!
|
|
|
|
|
+assert.business.please.execute.previous.step.first=Complete previous step!
|
|
|
|
|
+assert.business.please.set.locker.first=Designate locker!
|
|
|
|
|
+assert.business.at.least.one.co.locker.required=Minimum one co-locker!
|
|
|
|
|
+assert.business.work.permit.step.lost.check.data=Step loss detected: Review data!
|
|
|
|
|
+assert.business.input.fingerprint.not.null=Fingerprint required!
|
|
|
|
|
+assert.business.no.fingerprint.in.database=No prints enrolled!
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# \u90AE\u4EF6\u4EFB\u52A1\u76F8\u5173
|
|
|
|
|
+assert.mail.task.receive.user.not.null=Recipient required!
|
|
|
|
|
+assert.mail.task.template.not.null=Email template required!
|
|
|
|
|
+assert.mail.task.scheduled.send.time.not.null=Scheduled send time required!
|
|
|
|
|
+
|
|
|
|
|
+# \u4F5C\u4E1A\u7968\u76F8\u5173
|
|
|
|
|
+assert.job.ticket.step6.executed.cannot.change.user=User cannot be changed after step 6 execution!
|
|
|
|
|
+assert.job.ticket.process.not.null=Process required!
|
|
|
|
|
+assert.job.ticket.unfinished.step.cannot.complete=Completion blocked by unfinished steps!
|
|
|
|
|
+
|
|
|
|
|
+# \u7269\u8D44\u67DC\u76F8\u5173
|
|
|
|
|
+assert.material.cabinet.identity.required=Cabinet ID or code required!
|
|
|
|
|
+assert.material.cabinet.code.not.blank=Cabinet code required!
|
|
|
|
|
+assert.material.cabinet.no.materials=No materials in cabinet!
|
|
|
|
|
+assert.material.cabinet.not.null=Cabinet required!
|
|
|
|
|
+assert.material.cabinet.code.required=Code required!
|
|
|
|
|
+assert.material.cabinet.code.already.used=Code already in use!
|
|
|
|
|
+assert.material.cabinet.name.already.used=Cabinet name already exists!
|
|
|
|
|
+assert.material.cabinet.has.materials.cannot.delete=Cannot delete cabinet with materials present!
|
|
|
|
|
+
|
|
|
|
|
+# \u68C0\u67E5\u8BA1\u5212\u76F8\u5173
|
|
|
|
|
+assert.material.check.plan.date.not.null=Inspection date required!
|
|
|
|
|
+assert.material.check.plan.inspector.not.null=Inspector required!
|
|
|
|
|
+assert.material.check.plan.select.cabinet.required=Cabinet selection required!
|
|
|
|
|
+assert.material.check.plan.name.already.used=Name already exists!
|
|
|
|
|
+assert.material.check.plan.id.not.null=Check plan ID required!
|
|
|
|
|
+assert.material.check.plan.duplicate.record=Duplicate record detected!
|
|
|
|
|
+assert.material.check.record.id.not.null=Record ID required!
|
|
|
|
|
+assert.material.check.plan.plan.id.not.null=Plan ID required!
|
|
|
|
|
+assert.material.check.plan.no.data.to.submit=No data to submit!
|
|
|
|
|
+assert.material.check.plan.unchecked.materials=Uninspected materials found!
|
|
|
|
|
+
|
|
|
|
|
+# \u7269\u8D44\u76F8\u5173
|
|
|
|
|
+assert.material.id.not.null=Material ID required!
|
|
|
|
|
+assert.material.loan.restitution.user.id.not.null=Return user ID required!
|
|
|
|
|
+assert.material.loan.restitution.cabinet.id.not.null=Return cabinet ID required!
|
|
|
|
|
+assert.material.change.old.id.not.null=Original material ID required!
|
|
|
|
|
+assert.material.change.new.id.not.null=New material ID required for replacement!
|
|
|
|
|
+assert.material.change.new.not.in.current.cabinet=New material not in current cabinet!
|
|
|
|
|
+assert.material.change.abnormal.replacement=Abnormal replacement detected!
|
|
|
|
|
+
|
|
|
|
|
+# SOP\u76F8\u5173
|
|
|
|
|
+assert.sop.machinery.process.id.not.null=Machinery process ID required!
|
|
|
|
|
+assert.sop.already.exists=SOP already exists!
|
|
|
|
|
+assert.sop.import.material.data.not.null=Import data required!
|
|
|
|
|
+
|
|
|
|
|
+# \u94A5\u5319\u76F8\u5173
|
|
|
|
|
+assert.key.name.not.blank=Key name required!
|
|
|
|
|
+assert.key.name.already.used=Key name already in use!
|
|
|
|
|
+assert.key.code.already.used=Key code already in use!
|
|
|
|
|
+assert.key.mac.already.used=MAC address already in use!
|
|
|
|
|
+assert.key.nfc.required=NFC required for key!
|
|
|
|
|
+assert.key.mac.address.required=MAC address required for key!
|
|
|
|
|
+assert.key.nfc.already.exists=Key with NFC already exists!
|
|
|
|
|
+assert.key.mac.already.exists=Key with MAC already exists!
|
|
|
|
|
+
|
|
|
|
|
+# \u5DE5\u5361\u76F8\u5173
|
|
|
|
|
+assert.job.card.nfc.required=NFC required for job card!
|
|
|
|
|
+assert.job.card.nfc.already.exists=Job card with NFC already exists!
|
|
|
|
|
+
|
|
|
|
|
+# \u6302\u9501\u76F8\u5173
|
|
|
|
|
+assert.lock.name.already.used=Padlock name already in use!
|
|
|
|
|
+assert.lock.code.already.used=Padlock code already in use!
|
|
|
|
|
+assert.lock.nfc.required=NFC required for padlock!
|
|
|
|
|
+assert.lock.nfc.already.exists=Padlock with NFC already exists!
|
|
|
|
|
+
|
|
|
|
|
+# \u6302\u9501\u7C7B\u578B\u76F8\u5173
|
|
|
|
|
+assert.lock.type.name.already.used=Padlock type name already exists!
|
|
|
|
|
+assert.lock.type.code.already.used=Padlock type code already in use!
|
|
|
|
|
+assert.lock.type.has.subtype.cannot.delete=Cannot delete type with subtypes!
|
|
|
|
|
+assert.lock.type.in.use.by.isolation.point.cannot.delete=Type in use by isolation points!
|
|
|
|
|
+
|
|
|
|
|
+# \u9501\u5177\u7C7B\u578B\u76F8\u5173
|
|
|
|
|
+assert.lockset.type.name.already.used=Lockset type name already exists!
|
|
|
|
|
+assert.lockset.type.code.already.used=Lockset type code already in use!
|
|
|
|
|
+assert.lockset.type.remove.subset.first=Remove subset first!
|
|
|
|
|
+
|
|
|
|
|
+# RFID\u76F8\u5173
|
|
|
|
|
+assert.rfid.token.already.exists=RFID token already exists!
|
|
|
|
|
+assert.rfid.token.in.use.by.isolation.point.cannot.delete=Token in use by isolation points!
|
|
|
|
|
+assert.rfid.token.required=RFID token required!
|
|
|
|
|
|
|
|
|
|
+# \u90AE\u4EF6\u6A21\u677F\u76F8\u5173
|
|
|
|
|
+assert.mail.template.code.not.blank=Template code required!
|
|
|
|
|
+assert.mail.template.code.already.used=Template code already exists!
|
|
|
|
|
+assert.mail.template.id.not.null=Template ID required!
|
|
|
|
|
|
|
|
-assert.business.task.name.not.null=Task name cannot be empty!
|
|
|
|
|
-assert.business.key.required=Please pass the key
|
|
|
|
|
-assert.business.config.param.not.exist=This configuration parameter does not exist!
|
|
|
|
|
-assert.business.email.param.missing.check=Email parameter is missing, please check!
|
|
|
|
|
-assert.business.step4.executed.cannot.change.locker=You have completed Step 4 and cannot change the locker!
|
|
|
|
|
-assert.business.card.no.required=Please enter the card number!
|
|
|
|
|
-assert.business.card.not.exist=The card does not exist!
|
|
|
|
|
-assert.business.no.associated.user=No associated user!
|
|
|
|
|
-assert.business.please.login.first=Please log in first!
|
|
|
|
|
-assert.business.user.not.exist=The user does not exist!
|
|
|
|
|
-assert.business.user.not.bound.card=The user has not bound a card!
|
|
|
|
|
-assert.business.card.invalid=This card is invalid!
|
|
|
|
|
-assert.business.current.user.info.not.exist=Current user information does not exist!
|
|
|
|
|
-assert.business.data.not.exist=The data does not exist!
|
|
|
|
|
-assert.business.current.task.param.missing=Current task is missing parameters
|
|
|
|
|
-assert.business.task.not.exist=This task does not exist
|
|
|
|
|
-assert.business.template.code.not.null=templateCode cannot be empty!
|
|
|
|
|
-assert.business.type.not.null=type cannot be empty!
|
|
|
|
|
-assert.business.cabinet.code.not.exist=Material cabinet code does not exist
|
|
|
|
|
-assert.business.recipient.not.exist=The recipient does not exist!
|
|
|
|
|
-assert.business.key.info.not.null=Key information cannot be empty!
|
|
|
|
|
-assert.business.no.corresponding.accessory.info=No corresponding accessory information!
|
|
|
|
|
|
|
+# \u7CFB\u7EDF\u5C5E\u6027\u76F8\u5173
|
|
|
|
|
+assert.system.attribute.value.not.blank=Attribute value required!
|
|
|
|
|
+assert.system.attribute.key.already.used=Attribute key already exists!
|
|
|
|
|
+assert.system.attribute.key.not.blank=Attribute key required!
|
|
|
|
|
|
|
|
|
|
+# \u5F00\u5173\u5E03\u5C40\u76F8\u5173
|
|
|
|
|
+assert.loto.switch.map.id.not.null=Switch map ID required!
|
|
|
|
|
|
|
|
-assert.business.please.select.personnel.info=Please select personnel information!
|
|
|
|
|
-assert.business.please.configure.person.post.first=Please configure post information for this personnel first!
|
|
|
|
|
-assert.business.step.id.not.null=Step ID cannot be empty!
|
|
|
|
|
-assert.business.status.not.null=Status cannot be empty!
|
|
|
|
|
-assert.business.please.execute.previous.step.first=Please execute the previous step first!
|
|
|
|
|
-assert.business.please.set.locker.first=Please set the locker first!
|
|
|
|
|
-assert.business.at.least.one.co.locker.required=Please set at least one co-locker!
|
|
|
|
|
-assert.business.work.permit.step.lost.check.data=This work permit step has been lost, please check the data!
|
|
|
|
|
-assert.business.input.fingerprint.not.null=The input fingerprint cannot be empty!
|
|
|
|
|
-assert.business.no.fingerprint.in.database=There is no your fingerprint information in the fingerprint database!
|
|
|
|
|
|
|
+# \u5176\u4ED6
|
|
|
|
|
+assert.res.api.check.id.not.null=Check ID required!
|