feat(国际化): 新增国际化

This commit is contained in:
gx_ma
2026-03-24 11:41:41 +08:00
parent abe46baf18
commit e70c198071
97 changed files with 10802 additions and 5302 deletions

View File

@@ -0,0 +1,429 @@
#\u9519\u8BEF\u6D88\u606F
not.null=Required
user.jcaptcha.error=The verification code is incorrect
user.jcaptcha.expire=The verification code has expired
user.not.exists=User does not exist/password is incorrect
user.password.not.match=User does not exist/password is incorrect
user.password.retry.limit.count=The password was entered incorrectly {0} times
user.password.retry.limit.exceed=The password was entered incorrectly {0} times and the account was locked for {1} minutes
user.password.delete=Sorry, your account has been deleted
user.blocked=The user has been blocked, please contact the administrator
role.blocked=The role has been banned, contact the administrator
user.logout.success=The exit was successful
length.not.valid=The length must be between {min} and {max} characters
user.username.not.valid=Consists of 2 to 20 characters, letters, numbers, or underscores and must start with a non-number
user.password.not.valid=5-50 characters
user.email.not.valid=The mailbox is malformed
user.mobile.phone.number.not.valid=The phone number is in the wrong format
user.login.success=Login successful
user.register.success=Registration is successful
user.notfound=Please log in again
user.forcelogout=The administrator forcibly logs out, please log back in
user.unknown.error=Unknown error, please log back in
##\u6743\u9650
no.permission=You don't have permissions for data, contact your administrator to add permissions [{0}]
no.create.permission=You do not have permission to create data, please contact your administrator to add permission [{0}]
no.update.permission=You do not have permission to modify the data, please contact the administrator to add permission [{0}]
no.delete.permission=You do not have permission to delete data, please contact your administrator to add permission [{0}]
no.export.permission=You do not have permission to export data, please contact your administrator to add permission [{0}]
no.view.permission=You do not have permission to view the data, please contact your administrator to add permission [{0}]
no.operate.permission=You do not have the permission to perform this operation!
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=The uploaded file size exceeds the limit file size! <br/>The maximum file size allowed is: {0}MB!
upload.filename.exceed.length=The uploaded file name can be up to {0} characters
upload.success=The upload is successful
##\u6587\u4EF6\u4E0B\u8F7D\u6D88\u606F
download.filename.not.valid=The file name [{}] is illegal and is not allowed to be downloaded
download.file.failed=Failed to download the file
download.resource.not.valid=The resource file [{}] is illegal and is not allowed to be downloaded
##Dept
dept.add.failed.name.exists=Failed to add organization [{}], and the organization name already exists
dept.update.failed.name.exists=Failed to modify organization [{}], and the organization name already exists
dept.update.failed.parent.not.valid=If the modification of the organization [{}] fails, the parent organization cannot be itself
dept.update.failed.child.not.valid=The agency contains sub-institutions that are not deactivated!
dept.delete.failed.child.exists=There are subordinate organizations and deletion is not allowed
dept.delete.failed.user.exists=If there are users in the organization, you cannot delete them
dept.invitationCode.is.exists=The invitation code already exists, please re-enter it
##Dict
dict.add.failed.type.exists=Failed to add dictionary [{}], the dictionary type already exists
dict.update.failed.type.exists=Failed to modify dictionary [{}], the dictionary type already exists
##Index
index.welcome.message=Welcome to the {} backend management framework, the current version: v{}, please access it through the front-end address.
##Menu
menu.add.failed.name.exists=Failed to add a new menu [{}], the menu name already exists
menu.add.failed.path.not.valid=Failed to add a new menu [{}] with an address starting with http(s)://
menu.update.failed.name.exists=Failed to modify menu [{}], menu name already exists
menu.update.failed.path.not.valid=Failed to modify menu [{}] with address starting with http(s)://
menu.update.failed.parent.not.valid=Failed to modify the menu [{}], the parent menu cannot select itself
menu.delete.failed.child.exists=A submenu exists and cannot be deleted
menu.delete.failed.role.exists=Menu is assigned and is not allowed to be deleted
##Post
post.add.failed.name.exists=Failed to add a new post [{}], and the job name already exists
post.add.failed.code.exists=Failed to add a new post [{}], and the post code already exists
post.update.failed.name.exists=Failed to modify the post [{}], the post name already exists
post.update.failed.code.exists=Failed to modify post [{}], the post code already exists
##User
user.username.exists=The system account name already exists, please modify it and try again
user.password.differ=The password is inconsistent twice, please re-enter it
user.add.failed.name.exists=The new user [{}] failed, and the login account already exists
user.add.failed.phone.exists=Failed to add user [{}], and the mobile phone number already exists
user.add.failed.email.exists=Failed to add user [{}], the email account already exists
user.update.failed.password.wrong=Failed to change the password, the old password is incorrect
user.update.failed.password.repeat=The new password cannot be the same as the old password
user.update.password.failed=If the password is abnormal, contact the administrator
user.update.failed.name.exists=The new user [{}] failed, and the login account already exists
user.update.failed.phone.exists=Failed to modify user [{}], mobile phone number already exists
user.update.failed.email.exists=Failed to modify user [{}], and the email account already exists
user.update.failed=If the personal information is abnormal, contact the administrator
user.delete.failed=The current user cannot be deleted
user.upload.avatar.failed=If the uploaded image is abnormal, contact the administrator
user.not.login=Please log in and try again
user.access.denied=Access denied by the user
##Role
role.add.manager.failed=Administrator role identity is not allowed
role.add.failed.name.exists=Failed to add a role [{}], the name of the role already exists
role.add.failed.key.exists=Failed to add a role [{}], and the role permissions already exist
role.update.failed.name.exists=Failed to modify the role [{}], the role name already exists
role.update.failed.key.exists=Failed to modify the role [{}], and the role permissions already exist
role.update.failed=Failed to modify the role [{}], contact the administrator
##Import
import.failed.file.null=Failed to import, please upload the file first!
import.failed.data.null=Failed to import, imported data is empty!
import.failed.device.name.null=Failed to import, the device name in the template cannot be empty!
import.success=The import is successful
import.fail=The import failed
##General
success=success
fail=failed
query.success=The query succeeds
operate.success=The operation succeeded
operate.fail=The operation failed
create.success=The creation is successful
create.failed=Failed to create
save.success=Save successfully
save.failed=Failed to save
authorization.success=Authorization succeeded
delete.success=Delete successfully
delete.fail=Delete failed
bind.success=Binding successful
bind.fail=Binding failed
unbind.success=Unbind successfully
unbind.fail=Unbinding failed
captcha.fail=Verification code error
import.fail.[{}]=Import failed: [{}]
only.allow.tenant.config=Only allow tenant configuration
password.fail=Password error
login.success=Login succeeded
##Email
email.format.error=The email address is malformed
email.verification.code.send=Email verification code sent
##Firmware
firmware.task.upgrade.failed.time.not.valid=The scheduled upgrade time should be greater than the current time
##Media
media.record.query.failed=The connection timed out or an error occurred and no data was obtained
##Modbus
modbus.type.null=type is empty
modbus.crc.check.abnormal=CRC check abnormal
##Netty
netty.client.not.exists=The client does not exist
##Runtime
runtime.message.id.null=The message id is empty
##Wechat
wechat.verify.type.null=Please specify the verification method
wechat.bind.message.id.null=Please pass in the binding information ID
wechat.please.config.open.platform=Please configure WeChat Open Platform mobile application information first
wechat.user.certificate.gain.fail=Failed to obtain user credentials, please log in again!
wechat.please.config.open.platform.mini=Please configure WeChat public platform mini program information first!
wechat.user.phone.certificate.gain.fail=Failed to obtain user's mobile phone number credentials, please log in again!
wechat.gain.user.call.certificate.fail=Failed to obtain user call credentials, please log in again!
wechat.gain.user.phone.fail=Failed to obtain user phone number, please log in again!
wechat.please.login=Please log in first and try again
wechat.please.enter.user.password=Please enter the user password
wechat.cancelBind.password.fail=Password error, please re-enter
wechat.please.enter.wechat.user.info=Please provide WeChat user information
wechat.please.enter.user.certificate=Please provide user credentials
wechat.gain.wechat.info.fail=Failed to obtain WeChat information, please try again!
wechat.your.wechat.already.bind.other.account=Your WeChat account has already been linked to another account. Please log in and unbind it using WeChat first, and then try again
wechat.this.wechat.already.bind.other.account=This WeChat account has already been linked to another account. Please log in and unbind it using WeChat first, and then try again!
wechat.please.config.open.platform.web.application.personal.bind.info=Please first configure the WeChat Open Platform website application personal center binding information
wechat.you.cancel.or.not.gain.authorization.info=You have cancelled authorization or have not obtained authorization information
wechat.the.qr.code.has.expired=The QR code has expired, please click bind again
wechat.your.account.already.bind.wechat=Your account has been linked to WeChat, please unbind it first
##AuthResource
auth.resource.product.query.success=The product list was queried
##Device
device.user.id.null=User ID cannot be empty
device.product.id.null=Device number and product ID cannot be empty
device.dept.id.null=Select Allocation Authority
device.id.null=Select a device
device.not.select=Please select a device
device.serialNumber.not.empty=The device number cannot be empty
device.delete.fail.please.delete.device.scene=If the device ID [{}] fails, delete the scene linkage under the corresponding device
delete.fail.please.delete.scene.model=If the device ID [{}] fails, delete the sceneModel linkage under the corresponding device
device.tenant.can.not.bind.exist.device=Tenants are not allowed to bind existing devices, device number: [{}]
now.user.belong.device.can.not.repeat.share=The current user already owns the device and cannot be reassigned. Device ID: [{}]
device.share.other.user.can.not.share=This device has already been assigned to another user and cannot be duplicated. Device ID: [{}]
device.not.exist.add.fail.please.check.product.id.is.correct=The device does not exist, automatic device addition failed, please check if the product number is correct
device.add.success=Device added successfully
device.assignment.fail.dept.not.exist=The institution does not exist or is not bound to an administrator. Please adjust and try again!
device.assignment.fail.dept.admin.not.exist=Institution administrator does not exist
device.assignment.success=Equipment allocation successful
device.assignment.fail=Equipment allocation failed
device.recovery.fail.dept.not.exist=The institution does not exist or is not bound to an administrator. Please adjust and try again!
device.recovery.fail.dept.admin.not.exist=Institution administrator does not exist
device.recovery.success=Successful recycling of equipment
device.recovery.fail=Recycling device failed
device.not.exist=The device does not exist
device.serialNumber.allow.generate.max.number=Only up to 200 can be generated!
device.insert.fail.device.number.already.exist=Device number: [{}] already exists, adding failed
device.insert.fail.device.ip.already.exist=The host IP and port already exist, and the device number is: [{}]
device.get.mqtt.connection.param.fail=Failed to retrieve device MQTT connection parameters
device.get.authorization.fail.please.config=The product has enabled authorization, but obtaining the device authorization code has failed. Please configure the authorization code first
device.unsupported.authentication.method=Device authentication method not supported
device.not.found.by.serial.number=Device not found
device.duplicate.by.serial.number=Device already exists
device.restore.success=Device restored successfully
device.restore.fail=Device restoration failed
product.not.found.by.product.id=Product not found
device.import.assignment.fail.product.information.is.empty=Import failed, product information is empty
device.import.assignment.fail.serialNumber.already.exists=The following device number [{}] already exists. Please modify it and try again
device.import.assignment.fail.dept.not.exists=The institution does not exist. Please select another institution!
device.import.assignment.fail.dept.admin.not.exists=The institution administrator information does not exist. Please select an institution again!
device.import.serialNumber.not.comply.national.standard.protocol=The device number [{}] does not comply with the format requirements of the national standard protocol
##DeviceJob
job.add.failed.cron.not.valid=Failed to add task [{}] with incorrect Cron expression
job.add.failed.rmi.not.valid=The new task [{}] failed, and 'rmi' is not allowed to be called on the target string
job.add.failed.ldap.not.valid=The new task [{}] failed, and 'ldap(s)' cannot be called as the target string
job.add.failed.http.not.valid=The new task [{}] failed, and the target string does not allow 'http(s)' to be called
job.add.failed.string.error=The new task [{}] has failed, and the target string has been violated
job.add.failed.string.not.valid=The new task [{}] failed, and the destination string is not in the whitelist
job.add.failed.product.not.modbus.config=Failed to add task [{}], please go to the product to configure modbus first
job.update.failed.cron.not.valid=Task [{}] failed to be modified, and the Cron expression is incorrect
job.update.failed.rmi.not.valid=Task [{}] failed, and 'rmi' is not allowed to be called by the target string
job.update.failed.ldap.not.valid=Modify task [{}] failed, and 'ldap(s)' is not allowed to be called as the target string
job.update.failed.http.not.valid=Modify task [{}] failed, and 'http(s)' is not allowed to be called to the target string
job.update.failed.string.error=Task [{}] has failed to be modified, and the target string has been violated
job.update.failed.string.not.valid=Task [{}] has failed to be modified, and the destination string is not in the whitelist
job.update.failed.product.not.modbus.config=Update task [{}] failed, please go to the product to configure modbus
job.not.exists=The task does not exist or has expired
##DeviceUser
device.user.delete.failed.user.not.valid=Device owner cannot be deleted
##GoviewProject
goview.project.data.save.failed.id.null=There is no project ID
goview.project.data.execute.sql.failed=Write an SQL statement
##ThingsModel
things.model.identifier.repeat=The identifier under the product cannot be repeated
things.model.import.failed.identifier.repeat=[{}] data is not imported, and the identifier is duplicated
things.model.update.fail.quote.the.scene.variable.formula.please.delete=The current object model is referenced to the calculation formula of the scene operation variable and cannot be modified. Please delete the reference relationship before performing the modification operation!
things.model.delete.fail.quote.the.scene.variable.formula.please.delete=The current object model is referenced to the calculation formula of the scene operation variable and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
things.model.import.data.exception=Import data exception
things.model.register.address.repeat=Under the same collection point template, there are duplicate register addresses. Please check the imported variable register addresses
##MQTT
mqtt.unauthorized=mqtt account and password do not match the configuration of the authentication server
##Oauth
oauth.response.type.not.valid=response_type parameter values allow only code and token
oauth.grant.type.null=Unknown grant type
The oauth.grant.type.implicit.not.support=Token operation does not support implicit authorization mode
oauth.access.token.null=Access token cannot be empty
obtain.basic.authorization.failed=client_id or client_secret is not delivered correctly
##Record
record.app.null=app cannot be empty
record.stream.null=stream cannot be empty
record.time.not.valid=Wrong start time or end time
record.file.null=No video file found
##ErrorCodeConstants
app.not.found=App does not exist
app.is.disable=App has been disabled
app.exist.order.cant.delete=A payment order exists in the payment application and cannot be deleted
app.exist.refund.cant.delete=A refund order exists in the payment app and cannot be deleted
channel.not.found=The configuration of the payment channel does not exist
channel.is.disable=Payment channel is disabled
channel.exists.same.channel.error=The same channel already exists
order.not.found=The payment order does not exist
order.status.is.not.waiting=The paid order is not pending payment
order.status.is.success=Order has been paid, please refresh the page
order.is.expired=The payment order has expired
order.submit.channel.error=Error message is reported for initiating payment, error code: {}, error message: {}
order.refund.fail.status.error=Failed to refund the paid order due to the fact that the status is not Paid or Refunded
order.extension.not.found=The payment transaction extension does not exist
order.extension.status.is.not.waiting=The payment transaction extension order is not pending payment
order.extension.is.paid=The order has been paid, please wait for the payment result
refund.price.exceed=The amount refunded exceeds the amount of the order that can be refunded
refund.has.refunding=A refund is already being processed
refund.exists=A refund ticket already exists
refund.not.found=Payment Refund Form Does Not Exist
refund.statue.is.not.waiting=Payment of a refund receipt is not pending refund
demo.order.not.found=The sample order does not exist
demo.order.update.paid.status.not.unpaid=Example: Failed to update payment status of order, order is not in unpaid status
demo.order.update.paid.fail.pay.order.id.error=Failed to update the payment status of the sample order, and the payment slip number does not match
demo.order.update.paid.fail.pay.order.status.not.success=Example: Failed to update the payment status of the order, and the status of the payment slip is not [Payment Successful].
demo.order.update.paid.fail.pay.price.not.match=Failed to update the payment status of the sample order, and the payment order amount does not match
demo.order.refund.fail.not.paid=Failed to initiate a refund, but the sample order has not been paid
demo.order.refund.fail.refunded=Failed to initiate a refund, the sample order has been refunded
demo.order.refund.fail.refund.not.found=Failed to initiate a refund, but the refund order does not exist
demo.order.refund.fail.refund.not.success=Failed to initiate a refund, but the order was not refunded
demo.order.refund.fail.refund.order.id.error=Failed to initiate a refund, and the refund order number does not match
demo.order.refund.fail.refund.price.not.match=Failed to initiate a refund, and the amount of the refund order does not match
device.order.control.no.permission=There is no permission to operate, please contact the administrator to assign command permissions!
##sysConfig
sysConfig.add.param.fail.name.exist=Failed to add parameter [{}], the parameter key name already exists
sysConfig.update.param.fail.name.exist=Parameter [{}] failed, and the parameter key name already exists
##sysRegister
sysRegister.fail.not.enable.register=The current system does not have the registration function enabled!
##ossDetail
ossDetail.fail.file.not.empty=The uploaded file cannot be empty
##notify
sms.send.fail.contact.admin=SMS sending failed, please contact the administrator!
captcha.has.sent.please.try.again.later=The verification code has been sent, please try again later!
not.find.enable.notify.template=Unable to find enabled notification templates
not.find.notify.channel=Unable to find notification channel
only.can.config.alert.and.not.wechat.mini.notify=Non-administrators are only allowed to add device alarm services and templates that are not WeChat Mini Programs!
notify.can.not.not.alert.and.wechat.mini.status=Non-administrators can only change the template status of the device alarm service and non-WeChat Mini Program!
##dataCenter
please.select.device=Please select a device
please.incoming.serialNumber=Please pass in the device number
##license
certificate.install.success=The certificate is successfully installed
certificate.install.fail=Certificate installation failed:[{}]
certificate.incoming.success=The certificate is successfully uploaded
certificate.incoming.fail=The certificate upload failed
certificate.upload.success=The certificate is successfully uploaded
certificate.upload.fail=Certificate upload failed:[{}]
##sceneModel
please.incoming.scene.id=Please pass in the scene ID
please.incoming.device.config.number=Enter the serial number of the associated device configuration
sceneModel.please.introduced.id=Please enter the scene management ID
sceneModel.current.variable.quote.operate.variable.formula.please.delete=The current variable is referenced to the calculation formula of the scene operation variable and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
sceneModel.scene.already.bind.device=The scene has already been bound to this device, please select again!
sceneModel.update.fail.device.variable.has.quote.scene.variable.please.delete=There are variables in the current device that are referenced to the calculation formula of operational variables and cannot be modified. Please delete the reference relationship before performing the modification operation!
sceneModel.delete.fail.device.variable.has.quote.scene.variable.please.delete=There are variables under the current device that are referenced to the calculation formula of operational variables and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
sceneModel.formula.cannot.empty=The calculation formula cannot be empty!
sceneModel.variable.cannot.empty=The variable cannot be empty!
sceneModel.formula.and.variable.number.inconsistent=The calculation formula and the number of variables are inconsistent. Please check and try again
sceneModel.update.fail.variable.name.exist=The variable name already exists, please modify it and try again!
sceneModel.device.not.belong.current.tenant=Please allocate all devices configured in the device configuration to the organization specified in the current scene configuration before proceeding with the operation!
##oauthClientDetail
add.fail.same.client.can.config.one=Only one piece of information can be configured on the same authorization platform, please do not configure it again
client.id.is.exist=Client ID: [{}] Already exists or is already in use by another tenant
oauthClientDetail.client.not.exist=OAuth2 client does not exist
oauthClientDetail.client.disabled=OAuth2 client disabled
oauthClientDetail.invalid.client.set=Invalid client set
oauthClientDetail.invalid.redirects=Invalid redirects: [{}]
##category
delete.fail.please.delete.category.product=Delete failed, please delete the products under the corresponding category first
##goviewProjectData
only.allow.select.operate=Only allow select operation, prohibit update, delete, insert operation
##newsCategory
newsCategory.delete.fail.please.delete.category.info=Delete failed, please delete the news information under the corresponding category first
##product
delete.fail.please.delete.firmware=Delete failed, please delete the firmware under the corresponding product first
delete.fail.please.delete.product.device=Delete failed, please delete the device under the corresponding product first
delete.fail.please.delete.product.scene=Delete failed, please modify or delete the scene linkage under the corresponding product first: [{}]
product.status.update.fail.value.fail=Status update failed, incorrect status value
product.status.update.fail=Status update failed
restore.product.fail=Product restore failed not exist
product.name.is.not.empty=Please enter a product name
product.import.categoryId.is.fail=Please enter the correct product classification number categoryId
##socialLogin
bind.account.not.exist=The bound account does not exist
socialLogin.verify.has.expired=The verification code has expired, please obtain it again
socialLogin.platform.type.fail=Wrong platform type
user.account.and.bind.account.not.match=User account and bound account do not match
socialLogin.user.not.exist=user does not exist
socialLogin.bind.end.user.cannot.login.web=Do not bind end users, after binding end users, you cannot log in to the web end
socialLogin.account.already.bind.other.wechat.please.unbind=This account has already been linked to another WeChat account. Please unbind it first and try again!
socialLogin.register.fail.please.check.role.exist=Registration failed, please contact the management personnel to check if the institutional role exists
socialLogin.web.not.allow.end.user.login=The web end does not allow end users to log in
socialLogin.register.fail.please.check.invitationCode.exist=If the invitation code is incorrect, contact your organization administrator to check it
The.organization.to.which.your.account.belongs.has.been.suspended.Please.contact.the.administrator=The organization to which your account belongs has been suspended. Please contact the administrator!
default.institution.has.been.deactivated.contact.administrator=The default institution has been deactivated. Please contact the administrator!
##alert
alert.push.fail.device.not.exist=Alarm push, device does not exist: [{}]
##modbus
not.modbus.protocol.please.config.collect.protocol=Please configure the active collection protocol first for non Modbus protocols
modbus.point.not.config=Modbus point not configured
##ota
firmwareTask.add.fail.FirmwareTask.exist=Task: [{}] already exists
firmware.version.not.exist=The firmware version does not exist!
##mqttMessage
mqtt.service.send.device.not.exist=The device issued by the service: [{}] does not exist
mqtt.disconnect.occur.fail=Error occurred while disconnecting MQTT connection: [{}]
##genTable
genTable.template.rendering.fail=Template rendering failed, table name: [{}]
genTable.data.sync.fail.original.table.not.exist=Data synchronization failed, original table structure does not exist
genTable.tree.code.field.cannot.empty=The tree code field cannot be empty
genTable.tree.parent.code.field.cannot.empty=The tree parent code field cannot be empty
genTable.tree.name.field.cannot.empty=The tree name field cannot be empty
genTable.relate.child.table.name.cannot.empty=The table name of the associated sub table cannot be empty
genTable.child.table.relate.foreign.key.name.cannot.empty=The foreign key name associated with a sub table cannot be empty
##oauthCode
oauthCode.code.not.exist=Code does not exist
##protocol
protocol.input.content.is.empty=The input content is empty
protocol.data.parse.error=Data parsing error [{}]
protocol.data.parse.exception=Data parsing exception [{}]
protocol.instruction.number.exception=Instruction number exception: [{}]
##modbusJob
modbusJob.add.fail.please.bind.gateway=Please bind the gateway first
thingsModel.array.or.object.no.need.update=There are no arrays or objects that need to be updated
sync.fail.please.try.again=Sync failed, please try again!
sync.success=Synchronization succeeded
## scada
scada.product.id.is.null=The product ID is empty
scada.scene.id.is.null=The scene ID is empty
scada.guid.cannot.empty=The guid cannot be empty
scada.base64.change.image.exception=Configuration base64 to image abnormal:[{}]
scada.please.select.device=Please select a device
scada.please.enter.password=Please enter your password!
scada.please.login=If you are not logged in, please log in and try again
scada.password.fail.please.reload.enter=The password is incorrect, please re-enter it!
scada.product.has.relate.please.select.again=The product has been associated with the configuration, please select it again!
scada.scene.has.relate.please.select.again=This scene has been associated with the configuration, please select it again!
scada.not.allow.view.other.tenant.config=It is not allowed to view the configuration of other tenants!
scada.upload.gallery.file.fail=The upload of the gallery file is abnormal,[{}]
scada.upload.fail=Upload failed, please try again!
scada.invalid.profile=Invalid profile
scada.import.success.need.replace.variable=The import is successful, and the current page needs to replace the variables of the bound component again!
## speaker
speaker.product.has.relate=The product is already linked, please do not associate it repeatedly
speaker.product.relate.add.fail=Failed to add a new feature
speaker.not.found.product.relate=No product related information was found
##file
file.content.is.empty=The file content is empty
file.is.invalid=Invalid file
## workOrder
workOrder.please.select.user=Please specify the contact person
workOrder.please.fill.result.info=Please fill in the statement information
## subGateway
subGateway.subDeviceAddress.is.repeat=There is a duplicate sub-device address. Please modify it and try again!