From c06c68d5dac537e80375b2a1ecbf7cd6f704bef7 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 11 Jan 2024 14:40:44 +0800 Subject: [PATCH 001/343] =?UTF-8?q?perf:=20=E7=BB=9F=E4=B8=80=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jumpserver/settings/base.py | 3 +- .../{ => core}/ja/LC_MESSAGES/django.mo | 0 .../{ => core}/ja/LC_MESSAGES/django.po | 0 .../{ => core}/ja/LC_MESSAGES/djangojs.mo | 0 .../{ => core}/ja/LC_MESSAGES/djangojs.po | 0 .../{ => core}/zh/LC_MESSAGES/django.mo | 0 .../{ => core}/zh/LC_MESSAGES/django.po | 0 .../{ => core}/zh/LC_MESSAGES/djangojs.mo | 0 .../{ => core}/zh/LC_MESSAGES/djangojs.po | 0 apps/locale/lina/en.json | 1874 +++++++++++++++++ apps/locale/lina/zh.json | 1842 ++++++++++++++++ apps/settings/api/__init__.py | 1 + apps/settings/api/i18n.py | 35 + apps/settings/urls/api_urls.py | 1 + 14 files changed, 3754 insertions(+), 2 deletions(-) rename apps/locale/{ => core}/ja/LC_MESSAGES/django.mo (100%) rename apps/locale/{ => core}/ja/LC_MESSAGES/django.po (100%) rename apps/locale/{ => core}/ja/LC_MESSAGES/djangojs.mo (100%) rename apps/locale/{ => core}/ja/LC_MESSAGES/djangojs.po (100%) rename apps/locale/{ => core}/zh/LC_MESSAGES/django.mo (100%) rename apps/locale/{ => core}/zh/LC_MESSAGES/django.po (100%) rename apps/locale/{ => core}/zh/LC_MESSAGES/djangojs.mo (100%) rename apps/locale/{ => core}/zh/LC_MESSAGES/djangojs.po (100%) create mode 100644 apps/locale/lina/en.json create mode 100644 apps/locale/lina/zh.json create mode 100644 apps/settings/api/i18n.py diff --git a/apps/jumpserver/settings/base.py b/apps/jumpserver/settings/base.py index 4fdba8b97..f6e618693 100644 --- a/apps/jumpserver/settings/base.py +++ b/apps/jumpserver/settings/base.py @@ -298,7 +298,7 @@ USE_TZ = True # I18N translation LOCALE_PATHS = [ - os.path.join(BASE_DIR, 'locale'), + os.path.join(BASE_DIR, 'locale', 'core'), ] # Static files (CSS, JavaScript, Images) @@ -323,7 +323,6 @@ PRIVATE_STORAGE_SERVER = 'nginx' if DEBUG_DEV: PRIVATE_STORAGE_SERVER = 'django' - # Use django-bootstrap-form to format template, input max width arg # BOOTSTRAP_COLUMN_COUNT = 11 diff --git a/apps/locale/ja/LC_MESSAGES/django.mo b/apps/locale/core/ja/LC_MESSAGES/django.mo similarity index 100% rename from apps/locale/ja/LC_MESSAGES/django.mo rename to apps/locale/core/ja/LC_MESSAGES/django.mo diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/core/ja/LC_MESSAGES/django.po similarity index 100% rename from apps/locale/ja/LC_MESSAGES/django.po rename to apps/locale/core/ja/LC_MESSAGES/django.po diff --git a/apps/locale/ja/LC_MESSAGES/djangojs.mo b/apps/locale/core/ja/LC_MESSAGES/djangojs.mo similarity index 100% rename from apps/locale/ja/LC_MESSAGES/djangojs.mo rename to apps/locale/core/ja/LC_MESSAGES/djangojs.mo diff --git a/apps/locale/ja/LC_MESSAGES/djangojs.po b/apps/locale/core/ja/LC_MESSAGES/djangojs.po similarity index 100% rename from apps/locale/ja/LC_MESSAGES/djangojs.po rename to apps/locale/core/ja/LC_MESSAGES/djangojs.po diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/core/zh/LC_MESSAGES/django.mo similarity index 100% rename from apps/locale/zh/LC_MESSAGES/django.mo rename to apps/locale/core/zh/LC_MESSAGES/django.mo diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/core/zh/LC_MESSAGES/django.po similarity index 100% rename from apps/locale/zh/LC_MESSAGES/django.po rename to apps/locale/core/zh/LC_MESSAGES/django.po diff --git a/apps/locale/zh/LC_MESSAGES/djangojs.mo b/apps/locale/core/zh/LC_MESSAGES/djangojs.mo similarity index 100% rename from apps/locale/zh/LC_MESSAGES/djangojs.mo rename to apps/locale/core/zh/LC_MESSAGES/djangojs.mo diff --git a/apps/locale/zh/LC_MESSAGES/djangojs.po b/apps/locale/core/zh/LC_MESSAGES/djangojs.po similarity index 100% rename from apps/locale/zh/LC_MESSAGES/djangojs.po rename to apps/locale/core/zh/LC_MESSAGES/djangojs.po diff --git a/apps/locale/lina/en.json b/apps/locale/lina/en.json new file mode 100644 index 000000000..cb1c2b988 --- /dev/null +++ b/apps/locale/lina/en.json @@ -0,0 +1,1874 @@ +{ + "": "", + "APIKey": "API Key", + "AWSChina": "AWS(China)", + "AWSInt": "AWS(International)", + "About": "About", + "Accept": "Accept", + "AccessIP": "Access IP", + "AccessKey": "Access Key", + "Account": "Account", + "AccountBackup": "Account backup", + "AccountBackupCreate": "Create account backup", + "AccountBackupPlan": "Account Backup Plan", + "AccountBackupPlanCreate": "Account backup plan create", + "AccountBackupPlanUpdate": "Account backup plan update", + "AccountBackupUpdate": "Update account backup", + "AccountChangeSecret": "Account change", + "AccountCreate": "Create account", + "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", + "AccountDetail": "Account detail", + "AccountEnabled": "Enable account switching", + "AccountExportTips": "The exported information contains account secret, which involves sensitive information. The exported format is an encrypted zip file (if no encryption password is set, please go to personal information to set the file encryption password).", + "AccountGather": "Account gather", + "AccountGatherList": "Gather task", + "AccountGatherTaskCreate": "Create task", + "AccountGatherTaskExecutionList": "Task execution list", + "AccountGatherTaskList": "Account gather", + "AccountGatherTaskUpdate": "Update task", + "AccountHelpText": "A cloud account is used to connect to a cloud service provider and access the provider's resource information.", + "AccountHistoryHelpMessage": "Record the historical version of the current account", + "AccountKey": "Account key", + "AccountList": "Account list", + "AccountName": "Account name", + "AccountPolicy": "Account policy", + "AccountPushCreate": "Account push create", + "AccountPushExecutionList": "Execution list", + "AccountPushList": "Account push", + "AccountPushUpdate": "Account push update", + "AccountStorage": "Account Storage", + "AccountTemplate": "Account template", + "AccountTemplateUpdateSecretHelpText": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.", + "AccountUpdate": "Update account", + "AccountUsername": "Account (Username)", + "Accounts": "Accounts", + "AccountsHelp": "All accounts: accounts exists on the asset; Specify accounts: specify the user name of the account under the asset;Manual input: username/password; Same account: The account username name same with login user", + "Acl": "Access Control", + "Acls": "Acls", + "Action": "Action", + "ActionCount": "Number of actions", + "ActionSetting": "Action setting", + "Actions": "Actions", + "ActionsTips": "The effects of each permission vary, click the icon next to the permission to view.", + "Activate": "Activate", + "ActivateSuccessMsg": "Active success", + "Active": "active", + "ActiveAsset": "Asset active", + "ActiveAssetRanking": "Login asset ranking", + "ActiveSelected": "Active selected", + "ActiveUser": "User active", + "ActiveUserAssetsRatioTitle": "User, Asset active ratio", + "Activity": "Activity", + "AdDomain": "AD Domain", + "AdDomainHelpText": "AD domain provided to domain users for login", + "Add": "Add", + "AddAccount": "Add account", + "AddAccountResult": "Add account result", + "AddAllMembersWarningMsg": "Are you sure you want to add all members?", + "AddApplicationToThisPermission": "Add Application to this permission", + "AddAsset": "Add asset", + "AddAssetToNode": "Add asset to node", + "AddAssetToThisPermission": "Add asset to this permission", + "AddDatabaseAppToThisPermission": "Add DatabaseApp to this permission", + "AddFailMsg": "Add fail", + "AddK8sAppToThisPermission": "Add KubernetesApp to this permission", + "AddNode": "Add node", + "AddNodeToThisPermission": "Add node to this permission", + "AddOrgMembers": "Add organization members", + "AddPassKey": "AddPassKey", + "AddRemoteAppToThisPermission": "Add RemoteApp to this permission", + "AddRolePermissions": "After add or update success, set permissions in detail page", + "AddSuccessMsg": "Add success", + "AddSystemUser": "Add systemuser", + "AddSystemUserToThisPermission": "System user", + "AddUserGroupToThisPermission": "Add user group to this permission", + "AddUserToThisPermission": "Add user to this permission", + "Address": "Address", + "Addressee": "Addressee", + "AdhocDetail": "Adhoc detail", + "AdhocManage": "Adhoc manage", + "AdhocUpdate": "Update Adhoc", + "Admin": "Admin", + "AdminUser": "Admin user", + "AdminUserCreate": "Admin user create", + "AdminUserDetail": "Admin user detail", + "AdminUserList": "Admin Users", + "AdminUserListHelpMessage": "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL sudo permissions users, JumpServer users of the system using the user to `push system user`, `get assets hardware information`, etc.\n", + "AdminUserUpdate": "Admin user update", + "AdminUsersAmount": "Admin users amount", + "Advanced": "Advanced", + "AfterChange": "After the change", + "AjaxError404": "404 ajax error", + "AlibabaCloud": "Alibaba cloud", + "Alive": "alive", + "Aliyun": "Ali Cloud", + "All": "All", + "AllAccountTip": "All accounts of the asset exists", + "AllAccounts": "All accounts", + "AllClickRead": "All read", + "AllMembers": "All members", + "AllOrganization": "All organization", + "AllowInvalidCert": "Ignore certificate check", + "Announcement": "Announcement", + "AnonymousAccount": "Anonymous Account", + "AnonymousAccountTip": "Connect asset without using a username and password, and it only supports web-based and custom-type assets.", + "ApiKey": "API Key", + "ApiKeyList": "The API key is used to sign the request header. The header of each request is different. Please refer to the usage documentation", + "ApiKeyWarning": "To reduce the risk of AccessKey exposure, Secret is provided only during creation and cannot be queried again later. Please keep it safe.", + "App": "Application", + "AppAmount": "Application amount", + "AppAuth": "App auth", + "AppChangeAuthPlan": "App Change Auth Plan", + "AppChangeAuthPlanCreate": "Create App change auth plan", + "AppChangeAuthPlanUpdate": "Update App change auth plan", + "AppEndpoint": "Application access address", + "AppList": "Application list", + "AppName": "App name", + "AppOps": "Task center", + "AppPath": "App path", + "AppPermsAmount": "App perms amount", + "AppProvider": "App provider", + "AppProviderDetail": "Provider Detail", + "AppType": "App type", + "AppletCreate": "Create a remote application", + "AppletDetail": "Remote apps", + "AppletHelpText": "During the upload process, if the application does not exist, the application is created; if it already exists, the application is updated.", + "AppletHostCreate": "Add a remote application publisher", + "AppletHostDetail": "Remote Application Publisher Details", + "AppletHostDomainHelpText": "These domains are in System Organization", + "AppletHostSelectHelpMessage": "When connecting assets, the selection of the applet host is random. If you want to assign a specific one, you can specify the label AppletHost:AppletHostName in the asset label", + "AppletHostUpdate": "Updating the Remote Application Publisher", + "AppletHosts": "Remote hosts", + "Applets": "Applets", + "Applicant": "Applicant", + "Application": "Enter the application group, separated by commas", + "ApplicationAccount": "Application account", + "ApplicationDetail": "Application detail", + "ApplicationPermission": "Application Permissions", + "ApplicationPermissionCreate": "Application permission create", + "ApplicationPermissionDetail": "Application permission detail", + "ApplicationPermissionRules": "Application permission rules", + "ApplicationPermissionUpdate": "Application permission update", + "Applications": "Applications", + "ApplicationsAmount": "Applications amount", + "ApplyAsset": "Apply asset", + "ApplyFromCMDFilterRule": "Command filter rule", + "ApplyFromSession": "Session", + "ApplyInfo": "Apply info", + "ApplyLoginAccount": "Apply login account", + "ApplyLoginAsset": "Apply login asset", + "ApplyLoginSystemUser": "Apply login system user", + "ApplyLoginUser": "Apply login user", + "ApplyRunAsset": "Apply run asset", + "ApplyRunCommand": "Apply run command", + "ApplyRunSystemUser": "Apply run system user", + "ApplyRunUser": "Apply run user", + "Appoint": "appoint", + "ApprovaLevel": "Approval information", + "ApprovalLevel": "Approval level", + "ApprovalProcess": "Approval process", + "Approved": "Approved", + "ApproverNumbers": "Approver numbers", + "AppsCount": "App count", + "AppsList": "App list", + "ApsaraStack": "Apsara Stack", + "Asset": "Asset", + "AssetAccount": "Asset account", + "AssetAccountDetail": "Asset account detail", + "AssetAclCreate": "Asset acl create", + "AssetAclDetail": "Asset acl detail", + "AssetAclList": "Asset connect acl", + "AssetAclUpdate": "Asset acl update", + "AssetAddress": "IP/Host", + "AssetAmount": "Asset", + "AssetAndNode": "Assets and node", + "AssetBulkUpdateTips": "device、cloud、web,Batch update of domain is not supported", + "AssetChangeAuthPlan": "Asset Change Auth Plan", + "AssetChangeAuthPlanCreate": "Create Asset change auth plan", + "AssetChangeAuthPlanUpdate": "Update Asset change auth plan", + "AssetChangeSecretCreate": "Create account change secret", + "AssetChangeSecretUpdate": "Update account change secret", + "AssetCount": "Asset count", + "AssetCreate": "Asset create", + "AssetData": "Asset data", + "AssetDetail": "Asset detail", + "AssetHistoryAccount": "Asset history account", + "AssetIpGroup": "Asset ip group", + "AssetList": "Assets", + "AssetListHelpMessage": "The left side is the asset tree, right click to create, delete, and change the tree node, authorization asset is also organized as a node, and the right side is the asset under that node\n", + "AssetLoginACLHelpMsg": "It can determine whether the user can access the asset based on the user's login IP and time period.", + "AssetName": "Asset name", + "AssetNumber": "Asset number", + "AssetPermission": "Asset permissions", + "AssetPermissionCreate": "Asset permissions create", + "AssetPermissionDetail": "Asset permissions detail", + "AssetPermissionHelpMsg": "Asset permission allows you to authorize the assets to the users. Additionally, you can set some specific action permission.", + "AssetPermissionList": "Asset permission list", + "AssetPermissionRules": "Asset permission rules", + "AssetPermissionUpdate": "Asset permissions update", + "AssetPermsAmount": "Asset perms amount", + "AssetProtocolHelpText": "Asset support protocol is limited by platform, click the Settings button to view the protocol settings. If you need to update, please update the platform", + "AssetRatio": "Asset radio", + "AssetResultDetail": "Asset result", + "AssetTree": "Asset tree", + "AssetUpdate": "Asset update", + "AssetUserList": "Asset user", + "Assets": "Assets", + "AssetsAmount": "Assets amount", + "AssetsTotal": "Asset total", + "AssignedInfo": "Assigned Info", + "AssignedMe": "Assigned me", + "AssignedTicketList": "Todo approval", + "Assignee": "Assignee", + "Assignees": "Assignees", + "AssociateApplication": "Associate application", + "AssociateAssets": "Associate assets", + "AssociateNodes": "Associate nodes", + "AssociateSystemUsers": "Associate system users", + "AttrName": "Attribute Name", + "AttrValue": "Attribute Value", + "Auditor": "Auditor", + "Audits": "Audit", + "Auth": "Auth", + "AuthCASAttrMap": "User Attribute Mapping", + "AuthLdap": "Enable LDAP auth", + "AuthLdapBindDn": "Bind DN", + "AuthLdapBindPassword": "Password", + "AuthLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", + "AuthLdapSearchOu": "Use | split User OUs", + "AuthLdapServerUri": "LDAP server", + "AuthLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username, name, email is jumpserver attr", + "AuthLimit": "Auth limit", + "AuthMethod": "Auth methods", + "AuthSAML2AdvancedSettings": "Advanced Settings", + "AuthSAML2MetadataUrl": "IDP metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "After upload cert and private key, View SP Metadata", + "AuthSAMLKeyHelpText": "SP cert and private key, using communicate with IDP", + "AuthSaml2UserAttrMapHelpText": "Mapping relationship { saml2Key: spKey}", + "AuthSecurity": "Auth security", + "AuthSetting": "Auth setting", + "AuthSettings": "Auth settings", + "AuthUserAttrMap": "User attr map", + "AuthUserAttrMapHelpText": "Mapping relationship { idpKey: spKey}", + "AuthUsername": "Auth using username", + "Authentication": "Account", + "Author": "Author", + "Auto": "Auto", + "AutoCreate": "Auto create", + "AutoEnabled": "Enable Automation", + "AutoGenerateKey": "Auto generate ssh key", + "AutoPush": "Auto push", + "Automations": "Automation", + "AverageTimeCost": "Average time spent", + "Azure": "Azure(China)", + "AzureInt": "Azure(International)", + "Backup": "Backup", + "BadConflictErrorMsg": "Refreshing, please try again later", + "BadRequestErrorMsg": "Bad request, please check again", + "BadRoleErrorMsg": "Bad request, no permission for this operation", + "BaiduCloud": "Baidu Cloud", + "BasePlatform": "Base platform", + "BasePort": "listening port", + "Basic": "Basic", + "BasicInfo": "Basic info", + "BasicSetting": "Basic setting", + "BasicTools": "Basic tool", + "BatchActivate": "Batch activate", + "BatchApproval": "Batch approval", + "BatchCommand": "Batch Command", + "BatchCommandNotExecuted": "Batch command not executed", + "BatchConsent": "Batch consent", + "BatchDelete": "Batch delete", + "BatchDisable": "Batch disable", + "BatchProcessing": "Batch processing(select {Number} items)", + "BatchReject": "Batch reject", + "BatchRemoval": "Batch removal", + "BatchScript": "Batch Script", + "BatchUpdate": "Batch update", + "Become": "Become", + "BeforeChange": "Before change", + "Beian": "Registration", + "BelongAll": "Contains all", + "BelongTo": "Contains any", + "Bind": "Bind", + "BindLabel": "Bind label", + "BindResource": "Bind resource", + "BindSuccess": "Bind success", + "BlockedIPS": "Blocked IPS", + "Bucket": "Bucket", + "Builtin": "Builtin", + "BuiltinTree": "Type tree", + "BuiltinVariable": "Builtin variable", + "BulkClearErrorMsg": "Bulk clear error:", + "BulkCreateStrategy": "When creating accounts that do not meet the requirements, such as key type non-compliance and unique key constraints, the above policies can be selected.", + "BulkDeleteErrorMsg": "Bulk delete failed: ", + "BulkDeleteSuccessMsg": "Bulk delete success", + "BulkDeploy": "Bulk deploy", + "BulkOffline": "Bulk offline", + "BulkRemoveErrorMsg": "Bulk remove failed: ", + "BulkRemoveSuccessMsg": "Bulk remove success", + "BulkSyncDelete": "Bulk sync delete", + "BulkSyncErrorMsg": "Bulk sync success:", + "BulkTransfer": "Bulk transfer", + "BulkUnblock": "BulkUnblock", + "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset is the same as the selected platform type will it be updated, if the platform type before and after the update is different, it will not be updated.", + "CACertificate": "CA Certificate", + "CAS": "CAS", + "CASSetting": "CAS setting", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "CTYun Private", + "CalculationResults": "calculationResults...", + "CanDragSelect": "Can drag the mouse to select a time period", + "Cancel": "Cancel", + "CancelCollection": "Cancel collection", + "CannotAccess": "Unable to access the current page", + "Cas": "CAS", + "Category": "Category", + "CeleryTaskLog": "Celery task log", + "Certificate": "Certificate", + "CertificateKey": "Certificate Key", + "ChangeAuthPlan": "Change Auth Plan", + "ChangeField": "Change field", + "ChangePassword": "Change password", + "ChangeReceiver": "Change Receivers", + "ChangeSecretParams": "Change secret params", + "ChangeViewHelpText": "Click to change view", + "Charset": "Charset", + "Chat": "Chat", + "ChatAI": "Chat ai", + "ChatHello": "Hello! What help can I offer you?", + "ChdirHelpText": "The default execution directory is the home directory of the executing user", + "CheckAssetsAmount": "Check assets amount", + "CheckViewAcceptor": "View more acceptor", + "ChinaRed": "China red", + "Chrome": "Chrome", + "ChromePassword": "Password", + "ChromeTarget": "target URL", + "ChromeUsername": "Account", + "ClassicGreen": "Classic green", + "CleanHelpText": "Regular cleanup tasks will be executed at 2 o'clock in the morning every day, and the cleaned data cannot be recovered", + "Cleaning": "Period clean", + "Clear": "Clear", + "ClearScreen": "Clear screen", + "ClearSecret": "Clear secret", + "ClearSelection": "Clear selection", + "ClearSuccessMsg": "Clear success", + "ClickCopy": "Click copy", + "Clickhouse": "ClickHouse", + "ClientCertificate": "Client certificate", + "ClipBoard": "ClipBoard", + "ClipboardCopy": "Clipboard copy", + "ClipboardCopyPaste": "Copy Paste", + "ClipboardPaste": "Clipboard paste", + "Clone": "Duplicate", + "CloneFrom": "Duplicate from ", + "Close": "Close", + "CloseConfirm": "Confirm close", + "CloseConfirmMessage": "The file has changed, do you want to save it?", + "CloseStatus": "Close", + "Closed": "Closed", + "Cloud": "Cloud app", + "CloudCenter": "Cloud Center", + "CloudCreate": "Create Asset - Cloud Platform", + "CloudPlatform": "Cloud platform", + "CloudSource": "Cloud source", + "CloudSync": "Cloud sync", + "CloudUpdate": "Update Asset - Cloud Platform", + "Clouds": "Cloud", + "Cluster": "Cluster", + "ClusterHelpTextMessage": "Tips: https://172.16.8.8:8443", + "CmdFilter": "CmdFilter", + "CollapseSidebar": "Collapse the sidebar", + "CollectHardwareInfo": "Enable collection of hardware information", + "CollectionSucceed": "Collection succeed", + "Command": "Command", + "Command filter": "Command filter", + "CommandConfirm": "Command confirm", + "CommandExecutions": "CommandExecutions ", + "CommandFilterACL": "Command filter", + "CommandFilterACLHelpMsg": "You can control whether commands can be executed on assets. Based on the rules, certain commands can be allowed while others are prohibited.", + "CommandFilterAclCreate": "Command acl create", + "CommandFilterAclDetail": "Command acl detail", + "CommandFilterAclList": "Command acl", + "CommandFilterAclUpdate": "command acl update", + "CommandFilterCreate": "Command filter create", + "CommandFilterDetail": "Command filter detail", + "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; multiple rules can be configured in the filter. When the system user is used to connect to the asset, the input command takes effect according to the priority of the rules configured in the filter.
Example: The first matched rule is \"Allow\", the command is executed, the first matched rule is \"Forbidden\", the command execution is prohibited; if the last rule is not matched, it is allowed to be executed.", + "CommandFilterList": "Command filter list", + "CommandFilterRuleContentHelpText": "One line one command", + "CommandFilterRulePriorityHelpText": "1-100, the higher will be match first", + "CommandFilterRules": "Command filter rules", + "CommandFilterRulesCreate": "Command filter rules create", + "CommandFilterRulesUpdate": "Command filter rules update", + "CommandFilterUpdate": "Command filter update", + "CommandGroup": "Command group", + "CommandGroupCreate": "Command group create", + "CommandGroupDetail": "Command group detail", + "CommandGroupList": "Command group", + "CommandGroupUpdate": "Command group update", + "CommandStorage": "Command storage", + "CommandStorageUpdate": "Command storage update", + "Commands": "Commands", + "Comment": "Comment", + "CommentHelpText": "Note: Note information will be hovered and displayed in the user authorization asset tree of Luna page, which can be viewed by ordinary users. Please do not fill in sensitive information.", + "Common": "common", + "CommonUser": "Common user", + "CommunityEdition": "Community edition", + "Component": "component", + "ComponentMonitor": "System Monitor", + "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Do not respond with anything except the output of the code. ", + "ConceptTitle": "🤔 Python interpreter", + "Config": "Config", + "Confirm": "Confirm", + "ConfirmPassword": "Confirm password", + "Connect": "Connect", + "ConnectMethod": "Connect method", + "ConnectMethodACLHelpMsg": "You can control whether users can use a certain connection method to log in to the asset. Based on the rules you set, certain connection methods can be allowed while others are prohibited(global effective).", + "ConnectMethodAclCreate": "Create connect method acl", + "ConnectMethodAclDetail": "Connect method acl detail", + "ConnectMethodAclList": "Connect method acl", + "ConnectMethodAclUpdate": "Update connect method acl", + "ConnectUsers": "Connect accounts", + "ConnectWebSocketError": "Connect Websocket failed", + "ConnectionDropped": "Connection dropped", + "ConnectionToken": "Connection token", + "ConnectionTokenList": "The connection token is a kind of authentication information that combines authentication and connection assets. It allows users to log in to assets with one click. Currently supported components include: KoKo, Lion, Magnus, Razor, etc.", + "Connectivity": "Reachable", + "Console": "Console", + "Consult": "Consult", + "ContainAttachment": "Contain attachment", + "ContainerName": "Container name", + "Containers": "Containers", + "Contains": "Contains", + "Content": "Content", + "Contents": "Contents", + "Continue": "Continue", + "ContinueImport": "ContinueImport", + "ConvenientOperate": "Convenient operate", + "Copy": "Copy", + "CopySuccess": "Copy success", + "Corporation": "Corporation", + "Correlation": "Correlation", + "Cpu": "Cpu", + "Create": "Create", + "CreateAccessKey": "Create Access key", + "CreateAccountTemplate": "Create account template", + "CreateAdhoc": "Create Adhoc", + "CreateBy": "Create by", + "CreateCommandStorage": "Create command storage", + "CreateEndpoint": "Create endpoint", + "CreateEndpointRule": "Create endpoint rule", + "CreateErrorMsg": "Create error", + "CreateNode": "Create node", + "CreateOrgMsg": "Please go to Organization Details to add users", + "CreatePlaybook": "Create Playbook", + "CreateRemoteApp": "Create asset - Remote app", + "CreateReplayStorage": "Create object storage", + "CreateSuccessMsg": "Create success", + "CreateUserSetting": "Create User setting", + "Created": "Created", + "CreatedBy": "Created by", + "CriticalLoad": "Critical", + "CronExpression": "cron expression", + "CrontabHelpTips": "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips:Using 5 digits linux crontab expressions (Online tools)
Note:If both Regularly perform and Cycle perform are set, give priority to Regularly perform", + "CrontabOfCreateUpdatePage": "For example: every Sunday at 03:05 execute <5 3 * * 0>
Using the 5-bit Linux crontab expression ( Online tool )
If both regularly perform and cycle perform execution are set, use regularly perform first", + "CurrentConnections": "Current connections", + "CurrentUserVerify": "Verify Current User", + "Custom": "Custom", + "CustomCmdline": "Cmdline", + "CustomCol": "Custom table display", + "CustomCreate": "Create Asset - Custom", + "CustomFields": "Custom Fields", + "CustomFile": "Save the customized file to the specified directory (data/sms/main.py) and enable the configuration item SMSCUSTOMFILEMD5= in config.txt", + "CustomHelpMessage": "The assets of custom types require applet support. Please ensure that the corresponding applet is installed.", + "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the JumpServer parameters to be formatted, as follows::
{\"phoneNumbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", + "CustomPassword": "Password", + "CustomTarget": "target URL", + "CustomTree": "Custom tree", + "CustomType": "Custom Type", + "CustomUpdate": "Update Asset - Custom", + "CustomUser": "Custom user", + "CustomUsername": "Account", + "Cycle": "Cycle", + "CycleFromWeek": "cycle from week", + "CyclePerform": "Cycle perform", + "DBInfo": "Database Info", + "DangerCommand": "Danger command", + "DangerousCommandNum": "Dangerous command num", + "Dashboard": "Dashboard", + "Database": "Database", + "DatabaseApp": "DatabaseApp", + "DatabaseAppCount": "DatabaseApp count", + "DatabaseAppCreate": "Database app create", + "DatabaseAppDetail": "Database app detail", + "DatabaseAppPermission": "Databases permissions", + "DatabaseAppPermissionCreate": "Databases permissions create", + "DatabaseAppPermissionDetail": "Databases permissions detail", + "DatabaseAppPermissionUpdate": "Databases permissions update", + "DatabaseAppUpdate": "Database app update", + "DatabaseCreate": "Create Asset - Database", + "DatabaseId": "Database Id", + "DatabasePermissionRules": "Database Permission rules", + "DatabasePort": "Database protocol port", + "DatabaseProtocol": "Database Protocol", + "DatabaseUpdate": "Update Asset - Database", + "Date": "Date", + "DateCreated": "Date created", + "DateEnd": "Date end", + "DateExpired": "Date expired", + "DateFinished": "Date finished", + "DateJoined": "Date joined", + "DateLast24Hours": "Last 24 hours", + "DateLast3Months": "Last 3 months", + "DateLastHarfYear": "Last half year", + "DateLastLogin": "Date last login", + "DateLastMonth": "Last month", + "DateLastRun": "last run date", + "DateLastSync": "Date last sync", + "DateLastWeek": "Last week", + "DateLastYear": "Last year", + "DatePasswordLastUpdated": "Date password last updated", + "DatePasswordUpdated": "Date password updated", + "DateStart": "Date start", + "DateSync": "Date sync", + "DateUpdated": "Date updated", + "Datetime": "Datetime", + "Day": "day", + "Db": "Database app", + "DeactiveSelected": "Deactive selected", + "DeclassificationLogNum": "Declassification log num", + "Default": "Default", + "DefaultDatabase": "Default database", + "DefaultPort": "Default port", + "DefaultProtocol": "Default agreement, which will be selected by default when adding assets", + "Defaults": "Default", + "Delete": "Delete", + "DeleteConfirmMessage": "It cannot be restored after deletion, continue?", + "DeleteErrorMsg": "Delete failed", + "DeleteFailedMsg": "Delete failed", + "DeleteFile": "Delete file", + "DeleteNode": "Delete node", + "DeleteOrgMsg": "User list、User group、Asset list、Domain list、Admin user、System user、Labels、Asset permission", + "DeleteOrgTitle": "Please ensure that the following information in the organization has been deleted", + "DeleteReleasedAssets": "Delete released assets", + "DeleteSuccess": "Successfully deleted", + "DeleteSuccessMsg": "Delete success", + "DeleteWarningMsg": "Are you sure to delete ", + "DeliveryTime": "Delivery time", + "Deploy": "Deploy", + "DescribeOfGuide": "Welcome to JumpServer. Click here for more information", + "Description": "Description", + "DestinationIP": "Destination address", + "DestinationPort": "Destination port", + "Detail": "Detail", + "Device": "Device", + "DeviceCreate": "Create Asset - Network Device", + "DeviceUpdate": "Update Asset - Network Device", + "Digit": "Digit", + "DingTalk": "DingTalk", + "DingTalkTest": "Test", + "Disable": "Disable", + "DisableSuccessMsg": "Disable success", + "DisabledAsset": "Asset disabled", + "DisabledUser": "User disabled", + "Disk": "Disk", + "DisplayName": "Display name", + "DocType": "Doc type", + "Docs": "Docs", + "Domain": "Domain", + "DomainCreate": "Domain create", + "DomainDetail": "Domain detail", + "DomainEnabled": "Enable domain", + "DomainHelpMessage": "The domain function is added to address the fact that some environments (such as the hybrid cloud) cannot be connected directly by jumping on the gateway server.\nJMS => Domain gateway => Target assets", + "DomainList": "Domains", + "DomainUpdate": "Domain update", + "Download": "download", + "DownloadCenter": "Download center", + "DownloadFTPFileTip": "The current action is not recorded in the file, or the file size exceeds the threshold (100 MB by default), or is not saved to the corresponding storage", + "DownloadFile": "Download file", + "DownloadImportTemplateMsg": "Download import template", + "DownloadReplay": "Download replay", + "DownloadUpdateTemplateMsg": "Download update template", + "DragUploadFileInfo": "Drag file here or click here to upload", + "DropConfirmMsg": "Are you sure mv {src} to {dst} ?", + "DryRun": "Dry run", + "DuplicateFileExists": "Uploading files with the same name is not allowed. Please delete the existing file with the same name.", + "Duration": "Duration", + "DynamicUsername": "Dynamic username", + "Edit": "Edit", + "Edition": "Edition", + "Email": "Email", + "EmailContent": "Email content setting", + "EmailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", + "EmailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", + "EmailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", + "EmailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", + "EmailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", + "EmailHost": "SMTP host", + "EmailHostPassword": "Tips: Some provider use token except password", + "EmailHostUser": "SMTP user", + "EmailPort": "SMTP port", + "EmailRecipient": "Tips: Used only as a test mail recipient", + "EmailSubjectPrefix": "Tips: Some word will be intercept by mail provider", + "EmailTest": "Test connection", + "EmailUserSSL": "If SMTP port is 465, may be select", + "EmailUserTLS": "If SMTP port is 587, may be select", + "Empty": "Empty", + "Enable": "Enable", + "EnableKoKoSSHHelpText": "Enabled, connect assets to display SSH Client pull-up method", + "EnableOAuth2Auth": "Enable OAuth2 authentication", + "EnableSAML2Auth": "Enable SAML2 Auth", + "EnableVaultStorage": "Opening Vault Storage", + "EndPoint": "Endpoint", + "Endpoint": "Endpoint", + "EndpointListHelpMessage": "The service endpoint is the address (port) for the user to access the service. When the user connects to the asset, the service endpoint will be selected according to the endpoint rules and asset tags, and the connection will be established as the access entry to realize the distributed connection of assets.", + "EndpointRule": "Endpoint rule", + "EndpointRuleListHelpMessage": "For the service endpoint selection strategy, two types are currently supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through the asset tag. The tag name is fixed to endpoint, and the value is the name of the `endpoint`.
Two methods preferentially use label matching, because the IP segment may conflict, and the label method exists as a supplement to the rules.", + "EndpointSuffix": "Endpoint suffix", + "Endswith": "Ends With", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Ensure this value is greater than or equal to 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "Ensure this value is greater than or equal to 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "Ensure this value is greater than or equal to 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure this value is greater than or equal to 6", + "EnterForSearch": "Press enter to search", + "EnterMessage": "Please enter a question, press Enter to send", + "EnterRunUser": "Enter run user", + "EnterRunningPath": "Enter running path", + "EnterToContinue": "Press Enter to continue", + "EnterUploadPath": "Enter the upload path", + "Enterprise": "Enterprise", + "EnterpriseEdition": "Enterprise edition", + "Equal": "Equal", + "Error": "Error", + "ErrorMsg": "Error", + "EsDisabled": "Node is unavailable, please contact administrator", + "EsDocType": "Es provides the default document type: command", + "EsIndex": "Es provides the default index: jumpserver. If you choose to build an index by date, this blank is the index prefix", + "EsUrl": "Cannot contain special characters `#`; eg: http://esUser:esPassword@esHost:esPort", + "Every": "every", + "EveryMonth": "every month", + "Exclude": "Exclude", + "ExcludeAsset": "Skipped assets", + "ExcludeSymbol": "Exclude symbol", + "Execute": "Execute", + "ExecuteCycle": "Execute cycle", + "ExecuteFailedCommand": "Execute failed command", + "ExecuteOnce": " execute once", + "Execution": "Execution", + "ExecutionDetail": "Execution detail", + "ExecutionList": "Execution list", + "ExecutionTimes": "Execution times", + "ExistError": "This element already exists", + "Existing": "Existing", + "ExpectedNextExecuteTime": "Expected next execute time", + "ExpirationTimeout": "Expiration timeout (second)", + "Expire": "Expire", + "Expired": "Expired", + "Export": "Export", + "ExportAll": "Export all", + "ExportOnlyFiltered": "Export only filtered", + "ExportOnlySelectedItems": "Export only selected items", + "ExportRange": "Export range", + "FAILURE": "Failure", + "FC": "Fusion Compute", + "Failed": "Failed", + "FailedAsset": "Failed asset", + "FailedConditions": "cron expression error", + "False": "False", + "Favicon": "Website icon", + "FaviconTip": "Tips: website icon. (suggest image size: 16px*16px)", + "Feature": "Feature", + "Features": "Features", + "FeiShu": "FeiShu", + "FeiShuTest": "Test", + "FieldRequiredError": "This field is required", + "FileEncryptionPassword": "File encryption password", + "FileManager": "File manager", + "FileNameTooLong": "File name too long", + "FileSizeExceedsLimit": "File size exceeds limit", + "FileTransfer": "File transfer", + "FileTransferNum": "File transfer num", + "FileType": "File type", + "Filename": "Filename", + "FingerPrint": "Fingerprint", + "Finished": "Finished", + "FinishedTicket": "Finished Ticket", + "FirstLogin": "First login", + "FlowDetail": "Flow detail", + "FlowSetUp": "Flow set up", + "FormatError": "Format error", + "Friday": "Friday", + "From": "from", + "FromTicket": "From ticket", + "FtpLog": "FTP Logs", + "FullName": "Full name", + "FullySynchronous": "Assets fully synchronized", + "FullySynchronousHelpTips": "Whether to continue synchronizing assets when the asset conditions do not meet the matching policy rules", + "FuzzySearch": "Support for fuzzy search", + "GCP": "Google Cloud Platform", + "GPTCreate": "Create Asset - GPT", + "GPTUpdate": "Update Asset - GPT", + "Gateway": "Gateway", + "GatewayCreate": "Gateway create", + "GatewayList": "Gateway", + "GatewayProtocolHelpText": "SSH protocol gateway, support proxy SSH, RDP, VNC", + "GatewayUpdate": "Gateway update", + "GatherUser": "Gather User", + "GatherUserList": "Gather user", + "GatherUserTaskCreate": "Create gather user task", + "GatherUserTaskDetail": "Gather user detail", + "GatherUserTaskExecutionList": "Gather user task execution list", + "GatherUserTaskList": "Gather user task list", + "GatherUserTaskUpdate": "Update gather user task", + "GeneralAccounts": "General Accounts", + "Generate": "Generate", + "GenerateAccounts": "Regenerate accounts", + "GenerateSuccessMsg": "Accounts generated successfully", + "GetErrorMsg": "Get failed", + "Go": "Go", + "GoHomePage": "Go home page", + "Goto": "Goto", + "GrantedAccounts": "Granted accounts", + "GrantedApplications": "Granted applications", + "GrantedAssets": "Granted assets", + "GrantedDatabases": "Granted databases", + "GrantedK8Ss": "Granted K8Ss", + "GrantedRemoteApps": "Granted remote apps", + "GreatEqualThan": "Greater than or equal to", + "GroupsAmount": "Groups amount", + "GroupsHelpMessage": "Please fill in user groups, separated by commas if there are multiple user groups(Please fill in the existing user groups)", + "Guide": "Guide", + "HandleTicket": "Handle Ticket", + "Hardware": "Hardware", + "HardwareInfo": "Hardware info", + "HasImportErrorItemMsg": "There is an error item, click the x icon to view the details, and continue to import after editing", + "HasRead": "Has read", + "Help": "Help", + "HelpDocument": "Docs link", + "HelpDocumentTip": "You can change the URL of the site navigation bar help -> Docs", + "HelpSupport": "Support link", + "HelpSupportTip": "You can change the URL of the site navigation bar help -> Support", + "HighLoad": "High", + "HistoricalSessionNum": "Historical session num", + "History": "History record", + "HistoryDate": "History date", + "HistoryPassword": "History password", + "Home": "Home", + "HomeHelpMessage": "Default home directory: /home/system username", + "HomePage": "Home page", + "Host": "Asset", + "HostCreate": "Create Asset - Host", + "HostDeployment": "Remote host deployment", + "HostList": "Host list", + "HostName": "Hostname", + "HostProtocol": "Host Protocol", + "HostUpdate": "Update Asset - Host", + "Hostname": "Hostname", + "HostnameGroup": "Hostname group", + "HostnameStrategy": "Used to produce the asset hostname. For example, 1. Instance name (instanceDemo);2. Instance name and Partial IP (instanceDemo-250.1)", + "Hosts": "Hosts", + "Hour": "hour", + "HttpPort": "Http port", + "HuaweiCloud": "Huawei Cloud", + "HuaweiPrivatecloud": "Huawei Private Cloud", + "IAgree": "I agree", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/Host", + "IPGroup": "IP group", + "IPLoginLimit": "IP login limit", + "IPMatch": "IP Match", + "IPNetworkSegment": "Ip Network Segment", + "Icon": "Icon", + "Id": "ID", + "IdeaContent": "I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. .", + "IdeaTitle": "🌱 Linux Terminal", + "IdpMetadataHelpText": "Choose one of IDP metadata URL and IDP metadata XML parameters. IDP metadata URL has high priority", + "IdpMetadataUrlHelpText": "Load IDP Metadata from remote url", + "IgnoreCase": "Ignore case", + "ImageName": "Image name", + "Images": "Images", + "Import": "Import", + "ImportAll": "Import All", + "ImportFail": "Import failed", + "ImportLdapUserTip": "Please submit the LDAP configuration before import", + "ImportLdapUserTitle": "LDAP user list", + "ImportLicense": "Import license", + "ImportLicenseTip": "Please Import License", + "ImportMessage": "Please go to the page of mapping type to import data", + "ImportOrg": "Import organization", + "ImprovePersonalInformation": "Improve personal information", + "InActiveAsset": "Asset not visited", + "InActiveUser": "User not visit", + "InAssetDetail": "Update account information in asset details", + "InTotal": "In total", + "Inactive": "Disabled", + "Include": "Include", + "Index": "Index", + "Info": "info", + "Inherit": "Inherit", + "InheritPlatformConfig": "Inherited from the platform configuration. If you need to change, please change the configuration in the platform.", + "InitialDeploy": "Initial deploy", + "Input": "Input", + "InputEmailAddress": "Please enter your email address", + "InputMessage": "Input message...", + "InputNumber": "Please enter the number type", + "InputPhone": "Please enter your mobile phone number", + "InsecureCommandAlert": "Insecure command alert", + "InsecureCommandEmailUpdate": "Setting", + "InsecureCommandNotifyToSubscription": "Insecure command notification setting, change to system message subscription, support more notify method", + "InstanceAddress": "Instance address", + "InstanceName": "Instance name", + "InstancePlatformName": "Instance platform name", + "InstantAdhoc": "Instant command", + "Interface": "Interface", + "InterfaceSettings": "Interface", + "IntervalOfCreateUpdatePage": "Unit: hour", + "Invalid": "Invalid", + "InvalidJson": "Not a valid json format", + "Invalidity": "Invalidity", + "Invite": "Invite", + "InviteSuccess": "Invite success", + "InviteUser": "Invite user", + "InviteUserInOrg": "Invite user in this org", + "Ip": "IP", + "IpDomain": "IP(Host)", + "IpGroup": "IP group", + "IpGroupHelpText": "* means match all. Example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "Enter the IP address group, separated by commas", + "IsActive": "Is active", + "IsAlwaysUpdate": "Keep assets up to date", + "IsAlwaysUpdateHelpTips": "Whether to synchronize asset information, including host name, IP address, system platform, network domain, and node information, each time a synchronization task is executed", + "IsEffective": "Effective", + "IsFinished": "Is finished", + "IsLocked": "Is Locked", + "IsSuccess": "Is success", + "IsSyncAccountHelpText": "After the collection is completed, the collected account will be synchronized to the asset", + "IsSyncAccountLabel": "Synchronize to Asset", + "IsValid": "Validity", + "JDCloud": "JD Cloud", + "JMSSSO": "SSO Token Login", + "Job": "Job", + "JobCenter": "Job", + "JobCreate": "Create job", + "JobDetail": "Job detail", + "JobExecutionLog": "Job execution log", + "JobList": "Job list", + "JobName": "Job name", + "JobType": "Job type", + "JobUpdate": "Update job", + "Join": "join", + "K8s": "kubernetes", + "K8sPermissionRules": "Kubernetes Permission rules", + "Key": "Key", + "KingSoftCloud": "KingSoft Cloud", + "KokoSettingUpdate": "Koko setting", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes apps", + "KubernetesAppCount": "KubernetesApp count", + "KubernetesAppCreate": "Kubernetes app create", + "KubernetesAppDetail": "Kubernetes app detail", + "KubernetesAppPermission": "Kubernetes permissions", + "KubernetesAppPermissionCreate": "Kubernetes permissions create", + "KubernetesAppPermissionDetail": "Kubernetes permissions detail", + "KubernetesAppPermissionUpdate": "Kubernetes permissions update", + "KubernetesAppUpdate": "Kubernetes app update", + "LAN": "LAN", + "LDAPServerInfo": "LDAP Server", + "LDAPUser": "LDAP User", + "LOWERCASEREQUIRED": "Lower case required", + "Label": "Label", + "LabelCreate": "Label create", + "LabelInputFormatValidation": "Format error, correct format is:name:value", + "LabelList": "Label list", + "LabelUpdate": "Label update", + "Language": "Language", + "Last30": "Last 30 times", + "Last30Days": "Last30 days", + "Last7Days": "Last 7 days", + "LastCannotBeDeleteMsg": "The last one can't be delete", + "LastDay": "last day of the month", + "LastExecutionOutput": "Lask execution output", + "LastPublishedTime": "Last published", + "LastRun": "Last run", + "LastRunFailedHosts": " Last run failed hosts", + "LastRunSuccessHosts": " Last run success hosts", + "LastWeek": "last week of the month", + "LastWorking": "the last working day", + "LatestSessions": "Latest sessions", + "LatestSessions10": "Latest sessions top 10", + "LatestTop10": "TOP 10", + "LatestVersion": "Latest version", + "Ldap": "LDAP", + "LdapBulkImport": "Bulk import", + "LdapConnectTest": "Test connection", + "LdapLoginTest": "Test login", + "Length": "Length", + "LessEqualThan": "Less than or equal to", + "LevelApproval": "Level approval", + "License": "License", + "LicenseDetail": "License detail", + "LicenseExpired": "License expired", + "LicenseFile": "License file", + "LicenseForTest": "Testing license, This license is only for testing", + "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", + "LicenseWillBe": "License will expire at ", + "LinuxAdminUser": "Linux Admin user", + "LinuxUserAffiliateGroup": "Linux user affiliate group", + "LoadStatus": "Load status", + "Loading": "Loading", + "LockedIP": "Locked IPs {count}", + "Log": "Log", + "LogData": "Log data", + "LogOfLoginSuccessNum": "Log of login success num", + "Logging": "Logging", + "Login": "Users login", + "LoginAssetConfirm": "Asset login confirm", + "LoginAssetToday": "Active assets today", + "LoginAssets": "Active assets", + "LoginCity": "Login city", + "LoginConfig": "Login config", + "LoginConfirm": "Login confirm", + "LoginConfirmUser": "Log in as the review assignee", + "LoginCount": "Login count", + "LoginDate": "Login date", + "LoginFailed": "Login failed", + "LoginFrom": "Login from", + "LoginIP": "Login IP", + "LoginImage": "Image of login page", + "LoginImageTip": "Tips: It will be displayed on the enterprise version user login page (recommended image size: 492*472px)", + "LoginLog": "Login logs", + "LoginModeHelpMessage": "If you choose manual login mode, you do not need to fill in the username and password.", + "LoginModel": "Login model", + "LoginNum": "Login num", + "LoginOption": "Login option", + "LoginOverview": "Sessions overview", + "LoginPasswordSetting": "Login password setting", + "LoginRequiredMsg": "You account has logout, Please login again", + "LoginSucceeded": "Login succeeded", + "LoginTitle": "Title of login page", + "LoginTitleTip": "Tips: This will be displayed on the enterprise user login page. (eg: Welcome to the JumpServer open source fortress)", + "LoginTo": "Login to", + "LoginUserRanking": "Login account ranking", + "LoginUserToday": "Login account today", + "LoginUsers": "Active accounts", + "LogoIndex": "Logo (It contains text)", + "LogoIndexTip": "Tips: This will appear at the top left of the administration page. (suggest image size: 185px*55px)", + "LogoLogout": "Logo (It contains no text)", + "LogoLogoutTip": "Tips: It will be displayed on the web terminal page of enterprise users (recommended image size: 82px*82px)", + "Logout": "Logout", + "LogsAudit": "Log audit", + "Lowercase": "Lowercase", + "LunaSettingUpdate": "Luna setting", + "MFA": "MFA", + "MFAConfirm": "MFA Confirm", + "MFAErrorMsg": "MFA Error, please check", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make the account more secure
After is enabled, you will enter the multi-factor authentication binding process on your next login
You can also bind directly in (personal information -> fast modifier -> modifier multiple factor Settings)", + "MFAOfUserFirstLoginUserGuidePage": "To protect the security of you and the company
please properly keep your account, password, key and other important and sensitive information
(e.g., set a complex password and enable multi-factor authentication)
Personal information such as email, phone number, WeChat, etc. is only used for user authentication and platform internal message notifications.", + "MFARequireForSecurity": "MFA required for security", + "MFAVerify": "Verify MFA", + "MINLENGTHERROR": "Password minimum length {}", + "MailRecipient": "Mail recipient", + "MailSend": "Mail send", + "ManualAccount": "Manual account", + "ManualAccountTip": "Non-asset account, Input username/password on connect", + "ManualExecutePlan": "Manual execute plan", + "ManualInput": "Manual input", + "ManyChoose": "many choose", + "Mariadb": "MariaDB", + "MarkAsRead": "Mark as read", + "Marketplace": "Marketplace", + "Match": "Match", + "MatchIn": "In ...", + "MatchResult": "Match results", + "MatchedCount": "Match count", + "Material": "Material", + "Members": "Members", + "Memory": "Memory", + "Message": "Message", + "MessageSub": "Message", + "MessageSubscription": "Message Subscription", + "MessageType": "Message Type", + "Meta": "Meta", + "MfaLevel": "MFA level", + "Min": "minute", + "Model": "Model", + "Modify": "Modify", + "ModifySSHKey": "Modify SSH Key", + "ModifyTheme": "Modify theme", + "Module": "Module", + "Monday": "Monday", + "Mongodb": "MongoDB", + "Monitor": "Monitor", + "Month": "month", + "Monthly": "Monthly", + "More": "More...", + "MoreActions": "Actions", + "MoveAssetToNode": "move asset to node", + "MsgSubscribe": "Message subscribe", + "MyApps": "My Apps", + "MyAssets": "My assets", + "MyTickets": "My tickets", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "MysqlWorkbenchIp": "DB IP", + "MysqlWorkbenchName": "DB Name", + "MysqlWorkbenchPassword": "DB Password", + "MysqlWorkbenchPort": "DB Port", + "MysqlWorkbenchUsername": "DB Account", + "NUMBERREQUIRED": "Number required", + "Name": "Name", + "NavHelp": "Navigation Link", + "Navigation": "Navigation", + "NeedAddAppsOrSystemUserErrMsg": "Please add apps or system user", + "NeedReLogin": "Need Re-Login", + "NeedSpecifiedFile": "Required to upload the specified format file", + "NeedUpdatePasswordNextLogin": "Update password next login", + "Network": "Network", + "New": "New", + "NewChat": "New Chat", + "NewCount": "New count", + "NewCron": "new cron", + "NewDirectory": "New directory", + "NewFile": "New file", + "NewPassword": "New password", + "NewSyncCount": "New synced count", + "No": "No", + "NoAlive": "no alive", + "NoAnnouncement": "No announcement", + "NoContent": "No content", + "NoData": "No data", + "NoFiles": "No Files", + "NoInputCommand": "No input command", + "NoLicense": "No License", + "NoPermission": "No permission", + "NoPermission403": "403 No permission", + "NoPermissionVew": "No permission view current page", + "NoPublished": "Unpublished", + "NoSQLProtocol": "NoSQL Protocol", + "NoSystemUserWasSelected": "No system user was selected", + "NoUnreadMsg": "No unread messages", + "Node": "Node", + "NodeAmount": "Node", + "NodeCount": "Node count", + "NodeInformation": "Node information", + "NodeSearchStrategy": "Node search Strategy", + "NormalLoad": "Normal", + "NotAlphanumericUnderscore": "Only numbers, letters and underscores can be entered", + "NotEqual": "Not Equal", + "NotParenthesis": "Not contain ( )", + "NotSet": "Not set", + "NotSpecialEmoji": "No special emoji allowed", + "Nothing": "Nothing", + "Notifications": "Notifications", + "Now": "Now", + "Num": "number ", + "Number": "Number", + "NumberOfVisits": "Number of visits", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "Tip: Authentication service provider (recommended image size: 64px*64px)", + "OIDC": "OIDC", + "OTP": "OTP(MFA)", + "ObjectNotFoundOrDeletedMsg": "Resource lost or deleted", + "OfficialWebsite": "Official website link", + "OfficialWebsiteTip": "You can change the URL of the site navigation bar help -> Website", + "Offline": "Offline", + "OfflineSuccessMsg": "Offline success", + "OfflineUpload": "Upload offline", + "OldPassword": "Old password", + "OldSSHKey": "Old SSH key", + "On/Off": "On/Off", + "OneAssignee": "First-level Assignee", + "OneAssigneeType": "Type of primary assignee", + "OneClickRead": "Currently read", + "OneClickReadMsg": "Are you sure you want to mark the current information as read?", + "OnlineSession": "Online session", + "OnlineSessionHelpMsg": "The current session cannot be offline because it is an online session of the current user. Currently, only users who have logged in through web mode are recorded.", + "OnlineSessions": "Online sessions", + "OnlineUserDevices": "OnlineUserDevices", + "OnlineUsers": "Online accounts", + "OnlyCSVFilesTips": "Only csv supported", + "OnlyLatestVersion": "Only latest version", + "OnlyMailSend": "Currently only mail sending is supported", + "OnlySearchCurrentNodePerm": "Search only for the perms of the current node perms", + "Open": "Open", + "OpenCommand": "Open command", + "OpenId": "OpenID", + "OpenStack": "OpenStack", + "OpenStatus": "Open", + "OpenTicket": "Open Ticket", + "OperateLog": "Operation logs", + "OperateRecord": "Operating record", + "OperationLogNum": "Operation log num", + "Ops": "Task", + "Options": "Options", + "Oracle": "Oracle", + "OrgAdmin": "Org Admin", + "OrgAuditor": "Org Auditor", + "OrgName": "Org name", + "OrgRole": "Org role", + "OrgRoleHelpText": "Organizational roles are the user's role in the current organization", + "OrgRoles": "Org roles", + "OrgUser": "Org User", + "OrganizationAsset": "Organization asset", + "OrganizationCreate": "Create organization", + "OrganizationDetail": "Org detail", + "OrganizationList": "Organizations", + "OrganizationLists": "Organization lists", + "OrganizationMembership": "Organization membership", + "OrganizationUpdate": "Update org", + "Os": "Os", + "Other": "Other setting", + "OtherAuth": "Other Auth", + "OtherProtocol": "Other Protocol", + "OtherRules": "Other rules", + "Others": "Others", + "Output": "Output", + "Overview": "Overview", + "PENDING": "Pending", + "PageNext": "Next", + "PagePrev": "Previous", + "Parameter": "Parameter", + "Params": "Params", + "ParamsHelpText": "The push parameter settings are currently only effective for assets with a platform type of host.", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "Your authentication source is {source}, and Passkey addition is not supported.", + "Passphrase": "Passphrase", + "Password": "Password", + "PasswordAccount": "Password account", + "PasswordChangeLog": "Password change logs", + "PasswordCheckRule": "Password check rule", + "PasswordConfirm": "Password Confirm", + "PasswordExpired": "Password expired", + "PasswordHelpMessage": "Password or private key password", + "PasswordLength": "Password length", + "PasswordOrPassphrase": "Password or Passphrase", + "PasswordOrToken": "Password / Token", + "PasswordPlaceholder": "Please input password", + "PasswordRecord": "Password record", + "PasswordRequireForSecurity": "Password required for security", + "PasswordRule": "Password rule", + "PasswordSecurity": "Password security", + "PasswordSelector": "Password Input Box Selector", + "PasswordStrategy": "Password strategy", + "PasswordWillExpiredPrefixMsg": "The password will expire in ", + "PasswordWillExpiredSuffixMsg": " days.Please change your password as soon as possible.", + "PasswordWithoutSpecialCharHelpText": "Password can't has special chars ", + "Paste": "Paste", + "Pattern": "Pattern", + "Pause": "Pause", + "PauseTaskSendSuccessMsg": "Pause task has been send, Please check later", + "Pending": "Open", + "Periodic": "Periodic", + "PeriodicPerform": "Periodic perform", + "Perm": "Permission", + "PermAccount": "Accounts", + "PermName": "Perm name", + "PermUserList": "Authorized user", + "Permission": "Permissions", + "PermissionCompany": "Permission company", + "PermissionName": "Permission name", + "Permissions": "Permissions", + "Perms": "Perms", + "PersonalAsset": "Personal asset", + "PersonalInformationImprovement": "Personal Information Improvement", + "Phone": "Phone", + "Plan": "Plan", + "Platform": "Platform", + "PlatformCreate": "Platform create", + "PlatformDetail": "Platform detail", + "PlatformList": "Platforms", + "PlatformProtocolConfig": "Platform protocol config", + "PlatformSimple": "Platform", + "PlatformUpdate": "Platform update", + "PlaybookDetail": "Playbook detail", + "PlaybookManage": "Playbook manage", + "PlaybookUpdate": "Update Playbook", + "PleaseAgreeToTheTerms": "Please agree to the terms", + "PleaseClickLeftApplicationToViewApplicationAccount": "Application account list, please click on the application on the left to view", + "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, please click on the assets on the left to view", + "PleaseClickLeftAssetToViewGatheredUser": "Gathered user list, please click on the assets on the left to view", + "PleaseSelect": "Please select", + "PolicyName": "Policy name", + "Port": "Port", + "Ports": "Ports", + "Postgresql": "PostgreSQL", + "Primary": "primary", + "PrimaryOnly": "There can only be one main agreement", + "PrimaryProtocol": "The primary protocol, the most basic and commonly used protocol for assets, can only and must be set up with one.", + "Priority": "Priority", + "PriorityHelpMessage": "1-100, High level will be using login asset as default, if user was granted more than 2 system user", + "PrivateCloud": "Private cloud", + "PrivateKey": "Private key", + "PrivilegeFirst": "Prefer privileged accounts", + "PrivilegeOnly": "Select only privileged accounts", + "Privileged": "Privileged", + "PrivilegedFirst": "Prefer privileged accounts", + "PrivilegedOnly": "Privileged accounts only", + "PrivilegedTemplate": "Privileged", + "Product": "Product", + "Profile": "Profile", + "ProfileSetting": "Profile setting", + "Project": "Project name", + "Prompt": "Prompt", + "Proportion": "Proportion", + "ProportionOfAssetTypes": "Proportion of asset types", + "Protocol": "Protocol", + "Protocols": "Protocols", + "ProtocolsEnabled": "Enable protocol", + "ProtocolsGroup": "Protocols group", + "Provider": "Provider", + "Proxy": "Proxy", + "Public": "Public", + "PublicCloud": "Public cloud", + "PublicIp": "Public ip", + "PublicKey": "Public key", + "PublicProtocol": "If it is a public protocol, it will be displayed when connecting assets", + "Publish": "Publish", + "PublishAllApplets": "Publish all applets", + "PublishStatus": "Publish status", + "Push": "Push", + "PushAccount": "Push account", + "PushAllSystemUsersToAsset": "Push all system users to asset", + "PushParams": "Push params", + "PushSelected": "Push selected", + "PushSelectedSystemUsersToAsset": "Push selected system users to asset", + "PushSystemUserNow": "Push system user now", + "Qcloud": "Tencent Cloud", + "QcloudLighthouse": "Tencent Cloud (lightweight application server)", + "QingyunPrivatecloud": "Qingyun Private Cloud", + "Queue": "Queue", + "QuickAccess": "Quick access", + "QuickAdd": "Quick add", + "QuickJob": "Shortcut command", + "QuickSelect": "Quick select", + "QuickUpdate": "Quick update", + "RDBProtocol": "RDS Protocol", + "RUNNING": "Running", + "Radius": "Radius", + "Ranking": "Ranking", + "Ratio": "Ratio", + "RazorNotSupport": "RDP Client session not support now", + "ReLogin": "Re-Login", + "ReLoginErr": "Login time has exceeded 5 minutes, please login again", + "ReLoginTitle": "The current three-party login user (cas/saml) is not bound to MFA and does not support password verification. Please login again", + "RealTimeData": "Real-time data", + "Reason": "Reason", + "Receivers": "Receivers", + "RecentLogin": "Recent login", + "RecentSession": "Recent session", + "RecentlyUsed": "Recently used", + "RecipientHelpText": "If both recipients A and B are set, the account key will be split into two parts: front and back", + "RecipientServer": "Receiving server", + "Reconnect": "Reconnect", + "Redis": "Redis", + "Refresh": "Refresh", + "RefreshFail": "Refresh fail", + "RefreshHardware": "Refresh hardware", + "RefreshLdapCache": "Refreshing Ldap cache ", + "RefreshLdapUser": "Refresh cache", + "RefreshPermissionCache": "Refresh permission cache", + "RefreshSuccess": "Refresh success", + "Regex": "Regex", + "Region": "Region", + "RegularlyPerform": "Regularly perform", + "Reject": "Reject", + "Rejected": "Rejected", + "RelAnd": "And", + "RelNot": "Not", + "RelOr": "Or", + "Relation": "Relation", + "ReleasedCount": "Released count", + "RelevantApp": "Application", + "RelevantAsset": "Asset", + "RelevantAssignees": "Relevant assignees", + "RelevantCommand": "Command", + "RelevantSystemUser": "System user", + "RemoteAddr": "Remote addr", + "RemoteApp": "Remote app", + "RemoteAppCount": "RemoteApp count", + "RemoteAppDetail": "Remote app detail", + "RemoteAppListHelpMessage": "Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download application loader", + "RemoteAppPermission": "Remote apps permissions", + "RemoteAppPermissionCreate": "Remote apps permission create", + "RemoteAppPermissionDetail": "Remote apps permissions detail", + "RemoteAppPermissionRules": "Remote app permission rules", + "RemoteAppPermissionUpdate": "Remote app permission update", + "RemoteAppUpdate": "Remote app update", + "RemoteApps": "Remote application", + "RemoteType": "Remote type", + "Remove": "Remove", + "RemoveAssetFromNode": "Remove asset from node", + "RemoveErrorMsg": "Remove failed: ", + "RemoveFromCurrentNode": "Remove from node", + "RemoveFromOrgWarningMsg": "Are you sure remove ", + "RemoveSuccessMsg": "Remove success", + "RemoveWarningMsg": "Are you sure to remove ", + "Rename": "Rename", + "RenameNode": "Rename node", + "ReplaceNodeAssetsAdminUser": "Replace node assets admin user with this", + "ReplaceNodeAssetsAdminUserWithThis": "Replace node assets admin user with this", + "Replay": "replay", + "ReplaySession": "Replay session", + "ReplayStorage": "Object storage", + "ReplayStorageCreateUpdateHelpMessage": "Note: Currently, SFTP storage only supports account backup and does not support video storage.", + "ReplayStorageUpdate": "Replay object update", + "Reply": "Reply", + "RequestApplicationPerm": "Request application perm", + "RequestAssetPerm": "Request asset perm", + "RequestPerm": "Request Perm", + "RequestTickets": "Request tickets", + "Required": "Required", + "RequiredAssetOrNode": "Please select at least one asset or node", + "RequiredContent": "Please input the command", + "RequiredEntryFile": "This file is used as the entry file for running and must exist", + "RequiredHasUserNameMapped": "Must contain a mapping for the username field, such as { 'uid': 'username' }", + "RequiredProtocol": "Required agreement, which must be selected when adding assets", + "RequiredRunas": "Please input the run user", + "RequiredSystemUserErrMsg": "Required account", + "RequiredUploadFile": "Please upload files!", + "Reset": "Reset", + "ResetAndDownloadSSHKey": "Reset and download SSH Key", + "ResetDingTalk": "Untie DingTalk", + "ResetDingTalkLoginSuccessMsg": "The reset is successful, and the user can re-bind DingTalk", + "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", + "ResetMFA": "Reset MFA", + "ResetMFAWarningMsg": "This will reset the user MFA setting, user can reset it", + "ResetMFAdSuccessMsg": "Reset MFA success", + "ResetPassword": "Reset password", + "ResetPasswordSuccessMsg": "A password reset message has been sent to the user", + "ResetPasswordWarningMsg": "This will reset the user password and send a reset mail", + "ResetPublicKeyAndDownload": "Reset public key and download", + "ResetSSHKey": "Reset SSH key", + "ResetSSHKeySuccessMsg": "An e-mail has been sent to the user`s mailbox", + "ResetSSHKeyWarningMsg": "This will reset the user public key and send a reset mail", + "ResetWechat": "Reset Wechat", + "ResetWechatLoginSuccessMsg": "Reset Wechat success", + "ResetWechatLoginWarningMsg": "This will reset the user Wechat setting, user can reset it", + "Resource": "Resource", + "ResourceType": "Resource type", + "Resources": "Resources", + "RestoreButton": "Restore Default", + "RestoreDefault": "Restore default", + "RestoreDialogMessage": "This will restore default Settings of the interface !!!", + "RestoreDialogTitle": "Are you sure?", + "Result": "Result", + "Resume": "Resume", + "ResumeTaskSendSuccessMsg": "Resume task has been send, Please check later", + "Retry": "Retry", + "Reviewer": "Reviewer", + "Revise": "Revise", + "RiskLevel": "Risk level", + "Role": "Role", + "RoleCreate": "Role create", + "RoleDetail": "Role detail", + "RoleInfo": "Role info", + "RoleList": "Roles", + "RolePerms": "Role perms", + "RoleUpdate": "Role update", + "RoleUsers": "Role users", + "Rows": "rows", + "Rule": "Rule", + "RuleCount": "Number of conditions", + "RuleDetail": "Rule detail", + "RuleRelation": "Rule relation", + "RuleRelationHelpTips": "And: The action is performed only when all conditions are met; Or: If a condition is met, the action will be performed", + "RuleSetting": "Rule setting", + "Rules": "Rules", + "Run": "Run", + "RunAgain": "Run again", + "RunAs": "Run as", + "RunCommand": "Run command", + "RunJob": "Run job", + "RunSucceed": "Task executed successfully", + "RunTaskManually": "Run task manually", + "RunTimes": "Run times", + "RunUser": "Run user", + "RunasHelpText": "Fill in the user name to run the script", + "RunasPolicy": "Account policy", + "RunasPolicyHelpText": "Indicates the account selection strategy when there is no running user on the current asset", + "Running": "Runing", + "RunningPath": "Running path", + "RunningPathHelpText": "Fill in the running path of the script. This setting only takes effect for shell scripts.", + "RunningTimes": "last 5 running times", + "SAML2": "SAML2", + "SAML2Auth": "SAML2 Auth", + "SCP": "SCP", + "SFTPHelpMessage": "SFTP root dir, default is /tmp, Set to HOME to use user home dir.
Support some vars: ${ACCOUNT} the account username connected, ${USER} the staff username", + "SMS": "SMS", + "SMSProvider": "SMS provider", + "SMTP": "SMTP server", + "SPECIALCHARREQUIRED": "Special char required", + "SSHKey": "SSH Key", + "SSHKeyOfProfileSSHUpdatePage": "Copy your public key here", + "SSHKeySetting": "SSH Key setting", + "SSHPort": "SSH Port", + "SSHSecretKey": "SSh key", + "SSO": "SSO", + "SUCCESS": "Success", + "SafeCommand": "Safe command", + "SameAccount": "Same account", + "SameAccountTip": "The same username account with current login user", + "SameTypeAccountTip": "An account with the same user name and key type already exists", + "Saturday": "Saturday", + "Save": "Save", + "SaveAdhoc": "Save Adhoc", + "SaveAndAddAnother": "Save and add another", + "SaveCommand": "Save command", + "SaveCommandSuccess": "Save command succeeded", + "SaveSetting": "Save setting", + "SaveSuccess": "Saved successfully", + "SaveSuccessContinueMsg": "Create success, you may add another", + "Scope": "Type", + "Script": "Script list", + "ScriptDetail": "Script detail", + "ScrollToBottom": "Roll to the bottom", + "ScrollToTop": "Scroll to top", + "Search": "Search", + "SearchAncestorNodePerm": "Search perms for both current node and ancestor nodes", + "Secret": "Secret", + "SecretKey": "Secret Key", + "SecretKeyStrategy": "Secret key strategy", + "SecretType": "Secret type", + "Secure": "Secure", + "Security": "Security", + "SecurityCommandExecution": "Batch execute commands", + "SecurityInsecureCommand": "After it is enabled, when a dangerous command is executed on the asset, an email alarm notification will be sent", + "SecurityInsecureCommandEmailReceiver": "Alert receive email", + "SecurityLoginLimitCount": "Limit the number of login failures", + "SecurityLoginLimitTime": "No logon interval", + "SecurityMaxIdleTime": "Connection max idle time", + "SecurityMfaAuth": "MFA", + "SecurityPasswordExpirationTime": "Password expiration time", + "SecurityPasswordLowerCase": "Must contain lowercase letters", + "SecurityPasswordMinLength": "Password minimum length", + "SecurityPasswordNumber": "Must contain numeric characters", + "SecurityPasswordSpecialChar": "Must contain special characters", + "SecurityPasswordUpperCase": "Must contain capital letters", + "SecurityServiceAccountRegistration": "Service account registration", + "SecuritySetting": "Security", + "Select": "Select", + "SelectAccount": "Select account", + "SelectAdhoc": "Select Adhoc", + "SelectAll": "Select all", + "SelectAssetsMessage": "Select the left asset, select the running system user, execute command in batch", + "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", + "SelectAttrs": "Select attrs", + "SelectByAttr": "Select By Attribute", + "SelectCreateMethod": "Choose how to create", + "SelectFile": "Select file", + "SelectKeyOrCreateNew": "Select label key or create new", + "SelectLabelFilter": "Select label to filter", + "SelectPlatforms": "Select platforms", + "SelectProperties": "Select properties", + "SelectResource": "Select resource", + "SelectTemplate": "Select template", + "SelectValueOrCreateNew": "Select label value or create new", + "Selected": "Selected", + "SelectedAssets": "Selected assets:", + "Selection": "Selection", + "Selector": "Selector", + "Send": "Send", + "SendVerificationCode": "Send verification code", + "Sender": "Sender", + "Senior": "Senior", + "SerialNumber": "Serial number", + "ServerAccountKey": "Server Account Key", + "ServerError": "Server Error", + "ServerTime": "Server time", + "ServiceRatio": "Service ratio", + "Session": "Session", + "SessionActiveCount": "session active count", + "SessionData": "Session data", + "SessionDetail": "Session detail", + "SessionID": "Session ID", + "SessionList": "Session list", + "SessionMonitor": "Session Monitor", + "SessionOffline": "Sessions offline", + "SessionOnline": "Sessions online", + "SessionSecurity": "Session security", + "SessionState": "Session state", + "SessionTerminate": "Session Terminate", + "SessionTrend": "Session trend", + "Sessions": "Sessions", + "SessionsAudit": "Session audit", + "SessionsNum": "Sessions num", + "Set": "Set", + "SetAdDomainNoDisabled": "If AD domain is set, it cannot be modified", + "SetDingTalk": "Set dingtalk login", + "SetFailed": "Set failed", + "SetFeiShu": "Set feishu login", + "SetMFA": "Set MFA", + "SetPublicKey": "Set public key", + "SetSlack": "Set Slack login", + "SetStatus": "Set status", + "SetSuccess": "Set success", + "SetToDefault": "Set to default", + "SetToDefaultStorage": "Set to default storage", + "SetWeCom": "Set wecom login", + "Setting": "Setting", + "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Terminal Settings / Service Endpoints", + "Settings": "Settings", + "Show": "Show", + "ShowAssetAllChildrenNode": "Show asset all children node", + "ShowAssetOnlyCurrentNode": "Show asset only current node", + "ShowNodeInfo": "Show node information", + "SignChannelNum": "Signature channel number", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "Site messages", + "SiteMessageList": "Site message", + "SiteUrl": "Current SITE URL", + "Skip": "Ignore current asset", + "Skipped": "Skipped", + "Slack": "Slack", + "Source": "Source", + "SourceIP": "Source address", + "SourcePort": "Source port", + "Spec": "Specific", + "SpecAccount": "Specify account", + "SpecAccountTip": "Specify accounts by username", + "SpecialSymbol": "Special symbol", + "SpecificInfo": "Specific", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH fingerprint", + "SshPort": "SSH port", + "Sshkey": "sshkey", + "SshkeyAccount": "ssh key account", + "StartEvery": " start, every", + "Startswith": "Starts With", + "Stat": "F/S/T", + "State": "State", + "StateClosed": "closed", + "Status": "Status", + "StatusGreen": "Recently in good condition", + "StatusRed": "The last task execution failed", + "StatusYellow": "Recent Execution Failures", + "Stop": "Stop", + "Storage": "Storage", + "StorageConfiguration": "Storage configuration", + "Strategy": "Strategy", + "StrategyCreate": "Create strategy", + "StrategyDetail": "Strategy detail", + "StrategyHelpTips": "A unique asset attribute (such as platform) is determined based on the policy priority. If multiple asset attributes (such as nodes) can be configured, all policy actions are executed", + "StrategyList": "Strategy list", + "StrategyUpdate": "Update strategy", + "SuFrom": "Su from", + "Subject": "Subject", + "Submit": "Submit", + "SubmitSelector": "Submit Button Selector", + "Subscription": "Subscription", + "SubscriptionID": "Subscription ID", + "Success": "Success", + "SuccessAsset": "Successful assets", + "SuccessfulOperation": "Successful operation", + "SudoHelpMessage": "Use comma split multi command, ex: /bin/whoami, /bin/ifconfig", + "Summary(success/total)": "Overview (Success/Total)", + "Sunday": "Sunday", + "SuperAdmin": "Super administrator", + "SuperOrgAdmin": "Super administrator + organization administrator", + "Support": "Support", + "SupportedProtocol": "Supported protocol", + "SupportedProtocolHelpText": "Set the protocol supported by the asset. Click the Settings button to modify the custom configuration for the protocol, such as the SFTP directory, RDP AD domain, etc.", + "SwitchPage": "Switch page", + "SwitchToUser": "Switch to user", + "SwitchToUserListTips": "When the following users are used to connect to assets, the current system user is used to log in and then switch.", + "SymbolSet": "Special symbol set", + "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If there are special characters in the generated random password that are not supported by this type of database, the password change plan will fail", + "Sync": "Sync", + "SyncDelete": "Sync delete", + "SyncInstanceTaskCreate": "Create sync task", + "SyncInstanceTaskDetail": "Sync task detail", + "SyncInstanceTaskHistoryAssetList": "Sync instance list", + "SyncInstanceTaskHistoryList": "Sync task history", + "SyncInstanceTaskList": "Sync task list", + "SyncInstanceTaskUpdate": "Update sync task", + "SyncProtocolToAsset": "Sync protocol to asset", + "SyncSelected": "Sync selected", + "SyncSetting": "Sync setting", + "SyncStrategy": "Synchronisation strategy", + "SyncSuccessMsg": "Sync success", + "SyncTask": "Synchronization task", + "SyncUpdateAccountInfo": "Sync update account info", + "SyncUser": "Sync User", + "SyncedCount": "Synced count", + "SystemCpuLoad": "cpu load", + "SystemDiskUsedPercent": "disk used percent", + "SystemError": "System Error", + "SystemMemoryUsedPercent": "memory used percent", + "SystemMessageSubscription": "System messages", + "SystemRole": "System roles", + "SystemRoles": "System roles", + "SystemSetting": "System setting", + "SystemTools": "Tools", + "SystemUser": "System user", + "SystemUserAmount": "SystemUser amount", + "SystemUserCount": "System user count", + "SystemUserCreate": "System user create", + "SystemUserDetail": "System user detail", + "SystemUserId": "SystemUser Id", + "SystemUserList": "System Users", + "SystemUserListHelpMessage": "System user is the account JumpServer used to log into the asset, such as using root `ssh root@host`, rather than the current user username(ssh admin@host)`;
Admin user is the account that already exists on an asset, and have privileged permissions, JumpServer using this create common system user, and gather hardware Etc;
Common user can pre-exist assets or created automatically by the admin user.", + "SystemUserName": "System username", + "SystemUserUpdate": "System user update", + "SystemUsers": "System users", + "SystemUsersAmount": "System users amount", + "SystemUsersNameGroup": "Systemuser name", + "SystemUsersProtocolGroup": "Systemuser protocol", + "SystemUsersUsernameGroup": "systemuser username", + "TableColSettingInfo": "Please select the list details you want to display", + "Target": "Target", + "TargetResources": "Target resources", + "Task": "Task", + "TaskCenter": "Task", + "TaskDetail": "Task detail", + "TaskDispatch": "The task was sent successfully", + "TaskDone": "Task done", + "TaskID": "Task ID", + "TaskList": "Task list", + "TaskMonitor": "Task Monitor", + "TaskName": "Task name", + "TaskVersions": "Task versions", + "Tasks": "Tasks", + "TasksLog": "Batch Command Logs", + "TechnologyConsult": "Technology Consult", + "TempPassword": "For a while, there is a period of 300 seconds, failure immediately after use", + "Template": "Template", + "TemplateAdd": "Template add", + "TemplateCreate": "Create template", + "TemplateDetail": "Template detail", + "TemplateHelpText": "When selecting a template to add, it will automatically create an account that does not exist under the asset and push it", + "TemplateUpdate": "Update template", + "Templates": "模版管理", + "TencentCloud": "Tencent cloud", + "Terminal": "Terminal", + "TerminalAssetListPageSize": "List page size", + "TerminalAssetListSortBy": "List sort by", + "TerminalDetail": "Terminal detail", + "TerminalHeartbeatInterval": "Heartbeat interval", + "TerminalPasswordAuth": "Password auth", + "TerminalPublicKeyAuth": "Public key auth", + "TerminalSessionKeepDuration": "Session keep duration", + "TerminalStat": "CPU/MEM/DISK", + "TerminalTelnetRegex": "Telnet login regex", + "TerminalUpdate": "Update terminal", + "TerminalUpdateStorage": "Update terminal storage", + "Terminate": "Terminate", + "TerminateTaskSendSuccessMsg": "Terminate task has been send, Please check later", + "TermsAndConditions": "Terms and conditions", + "Test": "Test", + "TestAccountConnective": "Test account connective", + "TestAllSystemUsersConnective": "Test all system users connective", + "TestAssetsConnective": "Test assets connective", + "TestConnection": "Test connection", + "TestGatewayHelpMessage": "If use nat, set the ssh real port", + "TestGatewayTestConnection": "Test gateway test connection", + "TestHelpText": "Please enter the destination address for testing", + "TestLdapLoginSubtitle": "Save the configuration before testing the login", + "TestLdapLoginTitle": "Test LDAP user login", + "TestMultiPort": "Multiple ports are separated by commas (,)", + "TestNodeAssetConnectivity": "Test node asset connectivity", + "TestParam": "Param", + "TestPortErrorMsg": "Port Error, please check", + "TestSelected": "Test selected", + "TestSelectedSystemUsersConnective": "Test selected system users connective", + "TestSuccessMsg": "Test Success", + "The": "the", + "ThisPeriodic": "This is a periodic job", + "Thursday": "Thursday", + "Ticket": "Ticket", + "TicketCreate": "Ticket create", + "TicketDetail": "Ticket detail", + "TicketFlow": "Ticket flow", + "TicketFlowCreate": "Create Ticket flow", + "TicketFlowUpdate": "Update approval flow", + "Tickets": "Tickets", + "TicketsDone": "Ticket Done", + "TicketsNew": "Submit ticket", + "TicketsTodo": "Todo ticket", + "Time": "Time", + "TimeDelta": "Time delta", + "TimeExpression": "time expression", + "TimePeriod": "Time period", + "Timeout": "Timeout", + "TimeoutHelpText": "When this value is -1, no timeout is specified", + "Timer": "Timer", + "TimerPeriod": "Timer period", + "TimesWeekUnit": "times/week", + "Title": "Title", + "To": "To", + "Today": "Today", + "TodayFailedConnections": "Connections failed today", + "Token": "Token", + "TokenHTTPMethod": "Token Obtain method", + "TopAssetsOfWeek": "Top assets of week", + "TopUsersOfWeek": "Top user of week", + "Total": "Total", + "TotalJobFailed": "Total job failed", + "TotalJobLog": "Total job log", + "TotalJobRunning": "Total job running", + "TotalVersions": "Total versions", + "Transfer": "Transfer", + "True": "True", + "Tuesday": "Tuesday", + "TwoAssignee": "Secondary Recipient", + "TwoAssigneeType": "Type of secondary assignee", + "Type": "Type", + "Types": "Types", + "UCloud": "UCloud Platform", + "UPPERCASEREQUIRED": "Upper case required", + "UnSyncCount": "Unsync count", + "Unbind": "Unbind", + "UnbindHelpText": "Local users cannot be unbound because they are authenticated as source users", + "Unblock": "Unblock", + "UnblockSuccessMsg": "Account has unblocked", + "UnblockUser": "Unblock login", + "UniqueError": "Only one of the following properties can be set", + "Unknown": "Unknown", + "UnlockSuccessMsg": "Unlock success", + "Unreachable": "Unreachable", + "UnselectedAssets": "No asset selected or the selected asset does not support SSH protocol connection", + "UnselectedNodes": "Unselected nodes", + "UnselectedOrg": "Unselected org", + "UnselectedUser": "Unselected user", + "UpDownload": "Upload download", + "Update": "Update", + "UpdateAccount": "Update account", + "UpdateAccountMsg": "Please update system user account info", + "UpdateAccountTemplate": "Update account template", + "UpdateAssetDetail": "Update more detail", + "UpdateAssetUserToken": "Update asset user auth", + "UpdateEndpoint": "Update endpoint", + "UpdateEndpointRule": "Update endpoint rule", + "UpdateErrorMsg": "Update failed", + "UpdateMFA": "Update MFA", + "UpdateNodeAssetHardwareInfo": "Update node asset hardware information", + "UpdatePassword": "Update password", + "UpdatePublicKey": "", + "UpdateSSHKey": "Update SSH Key", + "UpdateSecret": "Update secret", + "UpdateSelected": "Update selected", + "UpdateSuccessMsg": "Update success", + "Updated": "Updated", + "UpdatedBy": "Update by", + "Upload": "Upload", + "UploadCsvLth10MHelpText": "csv/xlsx files with a size less than 10M", + "UploadDir": "Upload Directory", + "UploadFailed": "Upload failed", + "UploadFile": "Upload file", + "UploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded", + "UploadPlaybook": "Upload Playbook", + "UploadSucceed": "Upload succeed", + "UploadZipTips": "Please upload zip file", + "Uploading": "File uploading", + "Uppercase": "Uppercase", + "UseParameterDefine": "Define parameters", + "UseProtocol": "Use protocol", + "UseSSL": "Use SSL/TLS", + "User": "User", + "UserAclCreate": "User acl create", + "UserAclDetail": "User acl detail", + "UserAclList": "User acl list", + "UserAclLists": "User acl lists", + "UserAclUpdate": "User acl update", + "UserAssetActivity": "Account/Asset activity", + "UserCount": "User count", + "UserCreate": "User create", + "UserData": "Account data", + "UserDetail": "User detail", + "UserFirstLogin": "UserFirstLogin", + "UserGroupCount": "User group count", + "UserGroupCreate": "User group create", + "UserGroupDetail": "User group detail", + "UserGroupList": "Groups", + "UserGroupUpdate": "User group update", + "UserGroups": "User groups", + "UserGuide": "UserGuide", + "UserGuideUrl": "User Guide URL", + "UserIP": "Login IP", + "UserInformation": "User information", + "UserList": "Users", + "UserLoginACL": "User Login ACL", + "UserLoginACLCreate": "Create User Login ACL", + "UserLoginACLDetail": "User Login ACL", + "UserLoginACLHelpMsg": "It can determines whether the user can access the system based on the user's login IP and time period(global effective).", + "UserLoginACLUpdate": "Update User Login ACL", + "UserLoginAclCreate": "Create user login acl", + "UserLoginAclDetail": "User login acl detail", + "UserLoginAclList": "User login acl", + "UserLoginAclUpdate": "Update user login acl", + "UserLoginLimit": "User login limit", + "UserLoginTrend": "Account login trend", + "UserName": "Name", + "UserNameSelector": "User name input box selector", + "UserPage": "User page", + "UserProfile": "User profile", + "UserRatio": "User Ratio", + "UserSession": "User Session", + "UserSetting": "User setting", + "UserSwitch": "User switch", + "UserSwitchFrom": "User switch from", + "UserUpdate": "User update", + "UserUsername": "User (Username)", + "Username": "Username", + "UsernameGroup": "Username group", + "UsernameHelpMessage": "Username is dynamic, When connect asset, using current user's username", + "UsernameOfCreateUpdatePage": "The username of the user on the target host; If already existed, modify user password; If it doesn't exist, add the user and set the password.", + "UsernamePlaceholder": "Please input username", + "Users": "User", + "UsersAmount": "Users amount", + "UsersAndUserGroups": "Users and user groups", + "UsersTotal": "Accounts total", + "Valid": "Valid", + "Validity": "Validity", + "Value": "Value", + "Variable": "Variable", + "VariableHelpText": "You can read built-in variables using {{ key }} in your command", + "Vault": "Vault", + "VaultHelpText": "1. Please go to the configuration file to open Vault storage< After opening, fill in other configurations ->click on Test< Br>3. Perform data synchronization (synchronization is one-way and only synchronizes data from the database to the vault. Please backup the data properly)< After modifying the vault configuration twice, the service needs to be restarted.", + "Vendor": "Vendor", + "VerificationCodeSent": "The verification code has been sent", + "VerifySignTmpl": "Verification code template", + "Version": "Version", + "VersionDetail": "Version detail", + "VersionRunExecution": "Version run execution", + "View": "View", + "ViewBlockedIPSHelpText": "View the list of locked IPs", + "ViewMore": "View more", + "ViewPerm": "View permission", + "ViewSecret": "View secret", + "VirtualAccountDetail": "Virtual Account Details", + "VirtualAccountUpdate": "Virtual Account Update", + "VirtualAccounts": "Virtual Accounts", + "VirtualApp": "Virtual App", + "VirtualAppDetail": "Virtual app detail", + "VirtualApps": "Virtual apps", + "VmwareClient": "vSphere Client", + "VmwarePassword": "Password", + "VmwareTarget": "target URL", + "VmwareUsername": "Account", + "WeCom": "WeCom", + "WeComTest": "Test", + "WebCreate": "Create Asset - Web", + "WebFTP": "WebFTP", + "WebHelpMessage": "Web type assets depend on remote applications. Please go to System Settings to configure the publisher in the remote application.", + "WebSocketDisconnect": "Websocket disconnection", + "WebTerminal": "Web terminal", + "WebUpdate": "Update Asset - Web", + "Wednesday": "Wednesday", + "Week": "week", + "WeekAdd": "New this week", + "WeekOf": "week of week", + "WeekOrTime": "Week/Time", + "Weekly": "Weekly", + "WildcardsAllowed": "wildcards allowed", + "WindowsAdminUser": "Windows Admin user", + "WindowsPushHelpText": "Windows assets do not support pushing keys", + "WordSep": " ", + "WorkBench": "Workbench", + "Workbench": "Workbench", + "Workspace": "Workspace", + "Yes": "Yes", + "ZStack": "ZStack" +} diff --git a/apps/locale/lina/zh.json b/apps/locale/lina/zh.json new file mode 100644 index 000000000..ab1287ec3 --- /dev/null +++ b/apps/locale/lina/zh.json @@ -0,0 +1,1842 @@ +{ + "": "", + "APIKey": "API Key", + "AWSChina": "AWS(中国)", + "AWSInt": "AWS(国际)", + "About": "关于", + "Accept": "同意", + "AccessIP": "IP 白名单", + "AccessKey": "访问密钥", + "Account": "账号信息", + "AccountBackup": "账号备份", + "AccountBackupCreate": "创建账号备份", + "AccountBackupUpdate": "更新账号备份", + "AccountChangeSecret": "账号改密", + "AccountCreate": "创建账户", + "AccountDeleteConfirmMsg": "删除账号,是否继续?", + "AccountDetail": "账户详情", + "AccountEnabled": "启用切换账号", + "AccountExportTips": "导出信息中包含账号密文涉及敏感信息,导出的格式为一个加密的zip文件(若没有设置加密密码,请前往个人信息中设置文件加密密码)。", + "AccountGather": "账号收集", + "AccountGatherList": "收集任务", + "AccountGatherTaskCreate": "创建任务", + "AccountGatherTaskExecutionList": "任务执行列表", + "AccountGatherTaskList": "账号收集", + "AccountGatherTaskUpdate": "更新任务", + "AccountHelpText": "云账号是用来连接云服务商的账号,用于获取云服务商的资源信息", + "AccountHistoryHelpMessage": "记录当前账号的历史版本", + "AccountKey": "账户密钥", + "AccountList": "云账号", + "AccountName": "账户名称", + "AccountPolicy": "账号策略", + "AccountPushCreate": "账号推送创建", + "AccountPushExecutionList": "执行列表", + "AccountPushList": "账号推送", + "AccountPushUpdate": "账号推送更新", + "AccountStorage": "账号存储", + "AccountTemplate": "账号模版", + "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", + "AccountUpdate": "更新账户", + "AccountUsername": "账号(用户名)", + "Accounts": "账号管理", + "AccountsHelp": "所有账号: 资产上已添加的所有账号;
指定账号:指定资产下账号的用户名;
手动账号: 用户名/密码 登录时手动输入;
同名账号: 与被授权人用户名相同的账号;", + "Acl": "访问控制", + "Acls": "访问控制", + "Action": "动作", + "ActionCount": "动作数量", + "ActionSetting": "动作设置", + "Actions": "权限", + "ActionsTips": "各个权限作用协议不尽相同,点击权限后面的图标查看", + "Activate": "激活", + "ActivateSuccessMsg": "激活成功", + "Active": "激活中", + "ActiveAsset": "近期被登录过", + "ActiveAssetRanking": "登录资产排名", + "ActiveSelected": "激活所选", + "ActiveUser": "近期登录过", + "ActiveUserAssetsRatioTitle": "占比统计", + "Activity": "活动", + "AdDomain": "AD域名", + "AdDomainHelpText": "提供给域用户登录的AD域名", + "Add": "新增", + "AddAccount": "添加账号", + "AddAccountResult": "账号批量添加结果", + "AddAllMembersWarningMsg": "你确定要添加全部成员?", + "AddAsset": "添加资产", + "AddAssetToNode": "添加资产到节点", + "AddAssetToThisPermission": "添加资产", + "AddDatabaseAppToThisPermission": "添加数据库应用", + "AddFailMsg": "添加失败", + "AddK8sAppToThisPermission": "添加Kubernetes应用", + "AddNode": "添加节点", + "AddNodeToThisPermission": "添加节点", + "AddOrgMembers": "添加组织成员", + "AddPassKey": "添加 Passkey(通行密钥)", + "AddRemoteAppToThisPermission": "添加远程应用", + "AddRolePermissions": "创建/更新成功后,详情中添加权限", + "AddSuccessMsg": "添加成功", + "AddSystemUser": "添加系统用户", + "AddSystemUserToThisPermission": "添加系统用户", + "AddUserGroupToThisPermission": "添加用户组", + "AddUserToThisPermission": "添加用户", + "Address": "地址", + "Addressee": "收件人", + "AdhocDetail": "命令详情", + "AdhocManage": "命令管理", + "AdhocUpdate": "更新命令", + "Admin": "管理员", + "AdminUser": "特权用户", + "AdminUserCreate": "创建管理用户", + "AdminUserDetail": "管理用户详情", + "AdminUserList": "管理用户", + "AdminUserListHelpMessage": "特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。", + "AdminUserUpdate": "更新管理用户", + "Admin_usersAmount": "特权用户", + "Advanced": "高级设置", + "AfterChange": "变更后", + "AjaxError404": "404 请求错误", + "AlibabaCloud": "阿里云", + "Alive": "在线", + "Aliyun": "阿里云", + "All": "全部", + "AllAccountTip": "资产上已添加的所有账号", + "AllAccounts": "所有账号", + "AllClickRead": "全部已读", + "AllMembers": "全部成员", + "AllOrganization": "组织列表", + "AllowInvalidCert": "忽略证书检查", + "Announcement": "公告", + "AnonymousAccount": "匿名账号", + "AnonymousAccountTip": "连接资产时不使用用户名和密码,仅支持 web类型 和 自定义类型 的资产", + "ApiKey": "API Key", + "ApiKeyList": "使用 Api key 签名请求头进行认证,每个请求的头部是不一样的, 相对于 Token 方式,更加安全,请查阅文档使用;
为降低泄露风险,Secret 仅在生成时可以查看, 每个用户最多支持创建 10 个", + "ApiKeyWarning": "为降低 AccessKey 泄露的风险,只在创建时提供 Secret,后续不可再进行查询,请妥善保存。", + "App": "应用", + "AppAmount": "应用数量", + "AppAuth": "App认证", + "AppEndpoint": "应用接入地址", + "AppList": "应用列表", + "AppName": "应用名称", + "AppOps": "任务中心", + "AppPath": "应用路径", + "AppProvider": "应用提供者", + "AppProviderDetail": "应用提供者详情", + "AppType": "应用类型", + "App_permsAmount": "应用授权", + "AppletCreate": "创建远程应用", + "AppletDetail": "远程应用", + "AppletHelpText": "在上传过程中,如果应用不存在,则创建该应用;如果已存在,则进行应用更新。", + "AppletHostCreate": "添加远程应用发布机", + "AppletHostDetail": "远程应用发布机详情", + "AppletHostDomainHelpText": "这里的网域属于 System 组织", + "AppletHostSelectHelpMessage": "连接资产时,应用发布机选择是随机的(但优先选择上次使用的),如果想为某个资产固定发布机,可以指定标签 <发布机:发布机名称> 或 ;
连接该发布机选择账号时,以下情况会选择用户的 同名账号 或 专有账号(js开头),否则使用公用账号(jms开头):
  1. 发布机和应用都支持并发;
  2. 发布机支持并发,应用不支持并发,当前应用没有使用专有账号;
  3. 发布机不支持并发,应用支持并发或不支持,没有任一应用使用专有账号;
注意: 应用支不支持并发是开发者决定,主机支不支持是发布机配置中的 单用户单会话决定", + "AppletHostUpdate": "更新远程应用发布机", + "AppletHosts": "应用发布机", + "Applets": "远程应用", + "Applicant": "申请人", + "Application": "请输入逗号分割的应用名称组", + "ApplicationAccount": "应用账号", + "ApplicationDetail": "应用详情", + "ApplicationPermission": "应用授权", + "ApplicationPermissionCreate": "创建应用授权规则", + "ApplicationPermissionDetail": "应用授权详情", + "ApplicationPermissionRules": "应用授权规则", + "ApplicationPermissionUpdate": "更新应用授权规则", + "Applications": "应用管理", + "ApplicationsAmount": "应用", + "ApplyAsset": "申请资产", + "ApplyFromCMDFilterRule": "命令过滤规则", + "ApplyFromSession": "会话", + "ApplyInfo": "申请信息", + "ApplyRunAsset": "申请运行的资产", + "ApplyRunCommand": "申请运行的命令", + "ApplyRunSystemUser": "申请运行的系统用户", + "ApplyRunUser": "申请运行的用户", + "Apply_loginAccount": "申请登录账号", + "Apply_loginAsset": "申请登录资产", + "Apply_loginUser": "申请登录用户", + "Apply_login_systemUser": "申请登录系统用户", + "Appoint": "指定", + "ApprovaLevel": "审批信息", + "ApprovalLevel": "审批级别", + "ApprovalProcess": "审批流程", + "Approved": "已同意", + "ApproverNumbers": "审批人数量", + "AppsCount": "应用数量", + "AppsList": "应用列表", + "ApsaraStack": "阿里云专有云", + "Asset": "资产", + "AssetAccount": "账号列表", + "AssetAccountDetail": "账号详情", + "AssetAclCreate": "创建资产登录规则", + "AssetAclDetail": "资产登录规则详情", + "AssetAclList": "资产登录", + "AssetAclUpdate": "更新资产登录规则", + "AssetAddress": "资产(IP/主机名)", + "AssetAmount": "资产数量", + "AssetAndNode": "资产/节点", + "AssetBulkUpdateTips": "网络设备、云服务、web,不支持批量更新网域", + "AssetChangeSecretCreate": "创建账号改密", + "AssetChangeSecretUpdate": "更新账号改密", + "AssetCount": "资产数量", + "AssetCreate": "创建资产", + "AssetData": "资产数据", + "AssetDetail": "资产详情", + "AssetHistoryAccount": "资产历史账号", + "AssetList": "资产列表", + "AssetListHelpMessage": "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产\n", + "AssetLoginACLHelpMsg": "登录资产时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录资产", + "AssetName": "资产名称", + "AssetNumber": "资产编号", + "AssetPermission": "资产授权", + "AssetPermissionCreate": "创建资产授权规则", + "AssetPermissionDetail": "资产授权详情", + "AssetPermissionHelpMsg": "资产授权允许您选择用户和资产,将资产授权给用户以便访问。一旦授权完成,用户便可便捷地浏览这些资产。此外,您还可以设置特定的权限位,以进一步定义用户对资产的权限范围。", + "AssetPermissionList": "资产授权列表", + "AssetPermissionRules": "资产授权规则", + "AssetPermissionUpdate": "更新资产授权规则", + "AssetProtocolHelpText": "资产支持的协议受平台限制,点击设置按钮可以查看协议的设置。 如果需要更新,请更新平台", + "AssetRatio": "资产占比统计", + "AssetResultDetail": "资产结果", + "AssetTree": "资产树", + "AssetUpdate": "更新资产", + "AssetUserList": "资产用户", + "Asset_ipGroup": "资产IP", + "Asset_permsAmount": "资产授权", + "Assets": "资产管理", + "AssetsAmount": "资产", + "AssetsTotal": "资产总数", + "AssignedInfo": "审批信息", + "AssignedMe": "待我审批", + "AssignedTicketList": "待我审批", + "Assignee": "处理人", + "Assignees": "待处理人", + "AssociateApplication": "关联应用", + "AssociateAssets": "关联资产", + "AssociateNodes": "关联节点", + "AssociateSystemUsers": "关联系统用户", + "AttrName": "属性名", + "AttrValue": "属性值", + "Auditor": "审计员", + "Audits": "审计台", + "Auth": "认证设置", + "AuthCASAttrMap": "用户属性映射", + "AuthLdap": "启用LDAP认证", + "AuthLdapBindDn": "绑定DN", + "AuthLdapBindPassword": "密码", + "AuthLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", + "AuthLdapSearchOu": "使用|分隔各OU", + "AuthLdapServerUri": "LDAP地址", + "AuthLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", + "AuthLimit": "登录限制", + "AuthMethod": "认证方式", + "AuthSAML2AdvancedSettings": "高级配置", + "AuthSAML2MetadataUrl": "IDP metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "上传证书密钥后保存, 然后查看 SP Metadata", + "AuthSAMLKeyHelpText": "SP 证书和密钥 是用来和 IDP 加密通信的", + "AuthSaml2UserAttrMapHelpText": "左侧的键为 SAML2 用户属性,右侧的值为认证平台用户属性", + "AuthSecurity": "认证安全", + "AuthSetting": "认证设置", + "AuthSettings": "认证配置", + "AuthUserAttrMap": "用户属性映射", + "AuthUserAttrMapHelpText": "左侧的键为 JumpServer 用户属性,右侧的值为认证平台用户属性", + "AuthUsername": "使用用户名认证", + "Authentication": "认证", + "Author": "作者", + "Auto": "自动", + "AutoCreate": "自动创建", + "AutoEnabled": "启用自动化", + "AutoGenerateKey": "随机生成密码", + "AutoPush": "自动推送", + "Automations": "自动化", + "AverageTimeCost": "平均花费时间", + "Azure": "Azure(中国)", + "AzureInt": "Azure(国际)", + "Backup": "备份", + "BadConflictErrorMsg": "正在刷新中,请稍后再试", + "BadRequestErrorMsg": "请求错误,请检查填写内容", + "BadRoleErrorMsg": "请求错误,无该操作权限", + "BaiduCloud": "百度云", + "BasePlatform": "基础平台", + "BasePort": "监听端口", + "Basic": "基本设置", + "BasicInfo": "基本信息", + "BasicSetting": "基本设置", + "BasicTools": "基本工具", + "BatchActivate": "批量激活", + "BatchApproval": "批量审批", + "BatchCommand": "批量命令", + "BatchCommandNotExecuted": "未执行批量命令", + "BatchConsent": "批量同意", + "BatchDelete": "批量删除", + "BatchDisable": "批量禁用", + "BatchProcessing": "批量处理(选中 {Number} 项)", + "BatchReject": "批量拒绝", + "BatchRemoval": "批量移除", + "BatchScript": "批量脚本", + "BatchUpdate": "批量更新", + "Become": "Become", + "BeforeChange": "变更前", + "Beian": "备案", + "BelongAll": "同时包含", + "BelongTo": "任意包含", + "Bind": "绑定", + "BindLabel": "关联标签", + "BindResource": "关联资源", + "BindSuccess": "绑定成功", + "BlockedIPS": "已锁定的 IP", + "Bucket": "桶名称", + "Builtin": "内置", + "BuiltinTree": "类型树", + "BuiltinVariable": "内置变量", + "BulkClearErrorMsg": "批量清除失败:", + "BulkCreateStrategy": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", + "BulkDeleteErrorMsg": "批量删除失败: ", + "BulkDeleteSuccessMsg": "批量删除成功", + "BulkDeploy": "批量部署", + "BulkOffline": "批量下线", + "BulkRemoveErrorMsg": "批量移除失败: ", + "BulkRemoveSuccessMsg": "批量移除成功", + "BulkSyncDelete": "批量同步删除", + "BulkSyncErrorMsg": "批量同步失败: ", + "BulkTransfer": "批量传输", + "BulkUnblock": "批量解锁", + "BulkUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", + "CACertificate": "CA 证书", + "CAS": "CAS", + "CASSetting": "CAS 配置", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "天翼私有云", + "CalculationResults": "cron 表达式错误", + "CanDragSelect": "可拖动鼠标选择时间段", + "Cancel": "取消", + "CancelCollection": "取消收藏", + "CannotAccess": "无法访问当前页面", + "Cas": "CAS设置", + "Category": "类别", + "CeleryTaskLog": "Celery任务日志", + "Certificate": "证书", + "CertificateKey": "客户端密钥", + "ChangeField": "变更字段", + "ChangePassword": "更改密码", + "ChangeReceiver": "修改消息接收人", + "ChangeSecretParams": "改密参数", + "ChangeViewHelpText": "点击切换不同视图", + "Charset": "字符集", + "Chat": "聊天", + "ChatAI": "智能问答", + "ChatHello": "你好!我能为你提供什么帮助?", + "ChdirHelpText": "默认执行目录为执行用户的 home 目录", + "CheckAssetsAmount": "校对资产数量", + "CheckViewAcceptor": "点击查看受理人", + "ChinaRed": "中国红", + "Chrome": "Chrome", + "ChromePassword": "登录密码", + "ChromeTarget": "目标URL", + "ChromeUsername": "登录账号", + "ClassicGreen": "经典绿", + "CleanHelpText": "定期清理任务会在 每天凌晨 2 点执行, 清理后的数据将无法恢复", + "Cleaning": "定期清理", + "Clear": "清除", + "ClearScreen": "清屏", + "ClearSecret": "清除密文", + "ClearSelection": "清空选择", + "ClearSuccessMsg": "清除成功", + "ClickCopy": "点击复制", + "Clickhouse": "ClickHouse", + "ClientCertificate": "客户端证书", + "ClipBoard": "剪切板", + "ClipboardCopy": "剪切板复制", + "ClipboardCopyPaste": "剪贴板复制粘贴", + "ClipboardPaste": "剪切板粘贴", + "Clone": "克隆", + "CloneFrom": "副本", + "Close": "关闭", + "CloseConfirm": "确认关闭", + "CloseConfirmMessage": "文件发生变化,是否保存?", + "CloseStatus": "已完成", + "Closed": "已完成", + "Cloud": "云应用", + "CloudCenter": "云管中心", + "CloudCreate": "创建资产-云平台", + "CloudPlatform": "云平台", + "CloudSource": "同步源", + "CloudSync": "云同步", + "CloudUpdate": "更新资产-云平台", + "Clouds": "云平台", + "Cluster": "集群", + "ClusterHelpTextMessage": "例如:https://172.16.8.8:8443", + "CmdFilter": "命令过滤器", + "CollapseSidebar": "收起侧边栏", + "CollectHardwareInfo": "启用收集硬件信息", + "CollectionSucceed": "收藏成功", + "Command": "命令", + "Command filter": "命令过滤器", + "CommandConfirm": "命令复核", + "CommandExecutions": "命令执行", + "CommandFilterACL": "命令过滤", + "CommandFilterACLHelpMsg": "通过命令过滤,您可以控制命令是否可以发送到资产上。根据您设定的规则,某些命令可以被放行,而另一些命令则被禁止。", + "CommandFilterAclCreate": "创建命令过滤规则", + "CommandFilterAclDetail": "命令过滤规则详情", + "CommandFilterAclList": "命令过滤", + "CommandFilterAclUpdate": "更新命令过滤规则", + "CommandFilterCreate": "创建命令过滤器", + "CommandFilterDetail": "命令过滤器详情", + "CommandFilterHelpMessage": "系统用户支持绑定多个命令过滤器实现禁止输入某些命令的效果;过滤器中可配置多个规则,在使用该系统用户连接资产时,输入的命令按照过滤器中配置的规则优先级生效。
例:首先匹配到的规则是“允许”,则该命令执行,首先匹配到的规则为“禁止”,则禁止该命令执行;如果最后未匹配到规则,则允许执行。", + "CommandFilterList": "命令过滤规则", + "CommandFilterRuleContentHelpText": "每行一个命令", + "CommandFilterRulePriorityHelpText": "优先级可选范围为1-100,1最低优先级,100最高优先级", + "CommandFilterRules": "命令过滤器规则", + "CommandFilterRulesCreate": "创建命令过滤器规则", + "CommandFilterRulesUpdate": "更新命令过滤器规则", + "CommandFilterUpdate": "更新命令过滤器", + "CommandGroup": "命令组", + "CommandGroupCreate": "创建命令组", + "CommandGroupDetail": "命令组详情", + "CommandGroupList": "命令组", + "CommandGroupUpdate": "更新命令组", + "CommandStorage": "命令存储", + "CommandStorageUpdate": "更新命令存储", + "Command_filterList": "命令过滤器列表", + "Commands": "命令记录", + "Comment": "备注", + "CommentHelpText": "注意:备注信息会在 Luna 页面的用户授权资产树中进行悬停显示,普通用户可以查看,请不要填写敏感信息。", + "Common": "普通", + "CommonUser": "普通用户", + "CommunityEdition": "社区版", + "Component": "组件", + "ComponentMonitor": "组件监控", + "ConceptContent": "我想让你像一个 Python 解释器一样行事。我将给你 Python 代码,你将执行它。不要提供任何解释。除了代码的输出,不要用任何东西来回应。", + "ConceptTitle": "🤔 Python 解释器 ", + "Config": "配置", + "Confirm": "确认", + "ConfirmPassword": "确认密码", + "Connect": "连接", + "ConnectMethod": "连接方式", + "ConnectMethodACLHelpMsg": "通过连接方式过滤,您可以控制用户是否可以使用某种连接方式登录到资产上。根据您设定的规则,某些连接方式可以被放行,而另一些连接方式则被禁止(全局生效)。", + "ConnectMethodAclCreate": "创建连接方式控制", + "ConnectMethodAclDetail": "连接方式控制详情", + "ConnectMethodAclList": "连接方式", + "ConnectMethodAclUpdate": "更新连接方式控制", + "ConnectUsers": "连接账号", + "ConnectWebSocketError": "连接 WebSocket 失败", + "ConnectionDropped": "连接已断开", + "ConnectionToken": "连接令牌", + "ConnectionTokenList": "连接令牌是将身份验证和连接资产结合起来使用的一种认证信息,支持用户一键登录到资产,目前支持的组件包括:KoKo、Lion、Magnus、Razor 等", + "Connectivity": "可连接", + "Console": "控制台", + "Consult": "咨询", + "ContainAttachment": "含附件", + "ContainerName": "容器名称", + "Containers": "容器", + "Contains": "包含", + "Content": "内容", + "Contents": "内容", + "Continue": "继续", + "ContinueImport": "继续导入", + "ConvenientOperate": "便捷操作", + "Copy": "复制", + "CopySuccess": "复制成功", + "Corporation": "公司", + "Correlation": "关联", + "Cpu": "CPU", + "Create": "创建", + "CreateAccessKey": "创建访问密钥", + "CreateAccountTemplate": "创建账号模版", + "CreateAdhoc": "创建命令", + "CreateBy": "创建者", + "CreateCommandStorage": "创建命令存储", + "CreateEndpoint": "创建端点", + "CreateEndpointRule": "创建端点规则", + "CreateErrorMsg": "创建失败", + "CreateNode": "创建节点", + "CreateOrgMsg": "请去组织详情内添加用户", + "CreatePlaybook": "创建 Playbook", + "CreateReplayStorage": "创建对象存储", + "CreateSuccessMsg": "导入创建成功,总共:{count}", + "CreateUserSetting": "创建用户内容", + "Created": "已创建", + "CreatedBy": "创建者", + "CriticalLoad": "严重", + "CronExpression": "crontab完整表达式", + "CrontabHelpTips": "eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行", + "CrontabOfCreateUpdatePage": "例如:每周日 03:05 执行 <5 3 * * 0>
使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
如果同时设置了定期执行和周期执行,优先使用定期执行", + "CurrentConnections": "当前连接数", + "CurrentUserVerify": "验证当前用户", + "Custom": "自定义", + "CustomCmdline": "运行参数", + "CustomCol": "自定义列表字段", + "CustomCreate": "创建资产-自定义", + "CustomFields": "自定义属性", + "CustomFile": "请将自定义的文件放到指定目录下(data/sms/main.py),并在 config.txt 中启用配置项 SMS_CUSTOM_FILE_MD5=<文件md5值>", + "CustomHelpMessage": "自定义类型资产,依赖于远程应用,请前往系统设置在远程应用中配置", + "CustomParams": "左侧为短信平台接收的参数,右侧为JumpServer待格式化参数,最终如下:
{\"phone_numbers\": \"123,134\", \"content\": \"验证码为: 666666\"}", + "CustomPassword": "登录密码", + "CustomTarget": "目标地址", + "CustomTree": "自定义树", + "CustomType": "自定义类型", + "CustomUpdate": "更新资产-自定义", + "CustomUser": "自定义用户", + "CustomUsername": "登录账号", + "CycleFromWeek": "周期从星期", + "CyclePerform": "周期执行", + "DBInfo": "数据库信息", + "DangerCommand": "危险命令", + "DangerousCommandNum": "危险命令数", + "Dashboard": "仪表盘", + "Database": "数据库", + "DatabaseApp": "数据库应用", + "DatabaseAppCount": "数据库应用数量", + "DatabaseAppCreate": "创建数据库应用", + "DatabaseAppDetail": "数据库详情", + "DatabaseAppPermission": "数据库授权", + "DatabaseAppPermissionCreate": "创建数据库授权规则", + "DatabaseAppPermissionDetail": "数据库授权详情", + "DatabaseAppPermissionUpdate": "更新数据库授权规则", + "DatabaseAppUpdate": "数据库应用更新", + "DatabaseCreate": "创建资产-数据库", + "DatabaseId": "数据库Id", + "DatabasePermissionRules": "数据库授权规则", + "DatabasePort": "数据库协议端口", + "DatabaseProtocol": "数据库协议", + "DatabaseUpdate": "更新资产-数据库", + "Date": "日期", + "DateCreated": "创建时间", + "DateEnd": "结束日期", + "DateExpired": "失效日期", + "DateFinished": "完成日期", + "DateJoined": "创建日期", + "DateLast24Hours": "最近一天", + "DateLast3Months": "最近三月", + "DateLastHarfYear": "最近半年", + "DateLastLogin": "最后登录日期", + "DateLastMonth": "最近一月", + "DateLastRun": "上次运行日期", + "DateLastSync": "最后同步日期", + "DateLastWeek": "最近一周", + "DateLastYear": "最近一年", + "DatePasswordLastUpdated": "最后更新密码日期", + "DatePasswordUpdated": "密码更新日期", + "DateStart": "开始日期", + "DateSync": "同步日期", + "DateUpdated": "更新日期", + "Datetime": "日期", + "Day": "日", + "Db": "数据库应用", + "DeactiveSelected": "禁用所选", + "DeclassificationLogNum": "改密日志数", + "Default": "默认的", + "DefaultDatabase": "默认数据库", + "DefaultPort": "默认端口", + "DefaultProtocol": "默认协议, 添加资产时默认会选择", + "Defaults": "默认值", + "Delete": "删除", + "DeleteConfirmMessage": "删除后无法恢复,是否继续?", + "DeleteErrorMsg": "删除失败", + "DeleteFailedMsg": "删除失败", + "DeleteFile": "删除文件", + "DeleteNode": "删除节点", + "DeleteOrgMsg": "用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权规则", + "DeleteOrgTitle": "请确保组织内的以下信息已删除", + "DeleteReleasedAssets": "删除已释放资产", + "DeleteSuccess": "删除成功", + "DeleteSuccessMsg": "删除成功", + "DeleteWarningMsg": "你确定要删除", + "DeliveryTime": "发送时间", + "Deploy": "部署", + "DescribeOfGuide": "欢迎使用JumpServer堡垒机系统,获取更多信息请点击", + "Description": "描述", + "DestinationIP": "目的地址", + "DestinationPort": "目的端口", + "Detail": "详情", + "Device": "网络设备", + "DeviceCreate": "创建资产-网络设备", + "DeviceUpdate": "更新资产-网络设备", + "Digit": "数字", + "DingTalk": "钉钉", + "DingTalkTest": "测试", + "Disable": "禁用", + "DisableSuccessMsg": "禁用成功", + "DisabledAsset": "禁用的", + "DisabledUser": "禁用的", + "Disk": "硬盘", + "DisplayName": "名称", + "DocType": "文档类型", + "Docs": "文档", + "Domain": "网域", + "DomainCreate": "创建网域", + "DomainDetail": "网域详情", + "DomainEnabled": "启用网域", + "DomainHelpMessage": "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。JMS => 网域网关 => 目标资产", + "DomainList": "网域列表", + "DomainUpdate": "更新网域", + "Download": "下载", + "DownloadCenter": "下载中心", + "DownloadFTPFileTip": "当前动作不记录文件,或者文件大小超过阈值(默认100M),或者还未保存到对应存储中", + "DownloadFile": "下载文件", + "DownloadImportTemplateMsg": "下载创建模板", + "DownloadReplay": "下载录像", + "DownloadUpdateTemplateMsg": "下载更新模板", + "DragUploadFileInfo": "将文件拖到此处,或点击此处上传", + "DryRun": "测试运行", + "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", + "Duration": "时长", + "DynamicUsername": "动态用户名", + "Edit": "编辑", + "Edition": "版本", + "Email": "邮箱", + "EmailContent": "邮件内容定制", + "EmailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", + "EmailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", + "EmailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", + "EmailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", + "EmailEmailFrom": "", + "EmailHost": "SMTP主机", + "EmailHostPassword": "提示:一些邮件提供商需要输入的是Token", + "EmailHostUser": "SMTP账号", + "EmailPort": "SMTP端口", + "EmailRecipient": "提示:仅用来作为测试邮件收件人", + "EmailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", + "EmailTest": "测试连接", + "EmailUserSSL": "如果SMTP端口是465,通常需要启用SSL", + "EmailUserTLS": "如果SMTP端口是587,通常需要启用TLS", + "Empty": "空", + "Enable": "启用", + "EnableKoKoSSHHelpText": "开启时连接资产会显示 SSH Client 拉起方式", + "EnableOAuth2Auth": "开启 OAuth2 认证", + "EnableVaultStorage": "开启 Vault 存储", + "EndPoint": "端点", + "Endpoint": "服务端点", + "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", + "EndpointRule": "端点规则", + "EndpointRuleListHelpMessage": "对于服务端点选择策略,目前支持两种:
1、根据端点规则指定端点(当前页面);
2、通过资产标签选择端点,标签名固定是 endpoint,值是端点的名称。
两种方式优先使用标签匹配,因为 IP 段可能冲突,标签方式是作为规则的补充存在的。", + "EndpointSuffix": "端点后缀", + "Endswith": "以...结尾", + "EnsureThisValueIsGreaterThanOrEqualTo1": "请确保该值大于或者等于 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "请确保该值大于或者等于 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "请确保该值大于或者等于 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "请确保该值大于或者等于 6", + "EnterForSearch": "按下 Enter 进行搜索", + "EnterMessage": "请输入问题, Enter 发送", + "EnterRunUser": "输入运行用户", + "EnterRunningPath": "输入运行路径", + "EnterToContinue": "按下 Enter 继续输入", + "EnterUploadPath": "输入上传路径", + "Enterprise": "企业版", + "EnterpriseEdition": "企业版", + "Equal": "等于", + "Error": "错误", + "ErrorMsg": "错误", + "EsDisabled": "节点不可用, 请联系管理员", + "EsDocType": "es 默认文档类型:command", + "EsIndex": "es 提供默认 index:jumpserver。如果开启按日期建立索引,那么输入的值会作为索引前缀", + "EsUrl": "不能包含特殊字符 `#`;eg: http://es_user:es_password@es_host:es_port", + "Every": "每", + "EveryMonth": "每月", + "Exclude": "不包含", + "ExcludeAsset": "跳过的资产", + "ExcludeSymbol": "排除字符", + "Execute": "执行", + "ExecuteCycle": "执行周期", + "ExecuteFailedCommand": "执行失败命令", + "ExecuteOnce": "执行一次", + "Execution": "执行历史", + "ExecutionDetail": "执行历史详情", + "ExecutionList": "执行列表", + "ExecutionTimes": "执行次数", + "ExistError": "这个元素已经存在", + "Existing": "已存在", + "ExpectedNextExecuteTime": "预计下次执行时间", + "ExpirationTimeout": "过期超时时间(秒)", + "Expire": " 过期", + "Expired": "过期时间", + "Export": "导出", + "ExportAll": "导出所有", + "ExportOnlyFiltered": "仅导出搜索结果", + "ExportOnlySelectedItems": "仅导出选择项", + "ExportRange": "导出范围", + "FAILURE": "失败", + "FC": "Fusion Compute", + "Failed": "失败", + "FailedAsset": "失败的资产", + "FailedConditions": "没有达到条件的结果!", + "False": "否", + "Favicon": "网站图标", + "FaviconTip": "提示:网站图标(建议图片大小为: 16px*16px)", + "Feature": "功能", + "Features": "功能设置", + "FeiShu": "飞书", + "FeiShuTest": "测试", + "FieldRequiredError": "这个字段是必填项", + "FileEncryptionPassword": "文件加密密码", + "FileManager": "文件管理", + "FileNameTooLong": "文件名太长", + "FileSizeExceedsLimit": "文件大小超出限制", + "FileTransfer": "文件传输", + "FileTransferNum": "文件传输数", + "FileType": "文件类型", + "Filename": "文件名", + "FingerPrint": "指纹", + "Finished": "完成", + "FinishedTicket": "完成工单", + "FirstLogin": "首次登录", + "FlowDetail": "流程详情", + "FlowSetUp": "流程设置", + "FormatError": "格式错误", + "Friday": "周五", + "From": "从", + "FromTicket": "来自工单", + "FtpLog": "FTP日志", + "FullName": "全称", + "FullySynchronous": "资产完全同步", + "FullySynchronousHelpTips": "当资产条件不满足匹配策略规则时,是否继续同步此类资产", + "FuzzySearch": "支持模糊搜索", + "GCP": "谷歌云", + "GPTCreate": "创建资产-GPT", + "GPTUpdate": "更新资产-GPT", + "Gateway": "网关", + "GatewayCreate": "创建网关", + "GatewayList": "网关列表", + "GatewayProtocolHelpText": "SSH网关,支持代理SSH,RDP和VNC", + "GatewayUpdate": "更新网关", + "GeneralAccounts": "普通账号", + "Generate": "生成", + "GenerateAccounts": "重新生成账号", + "GenerateSuccessMsg": "账号生成成功", + "GetErrorMsg": "获取失败", + "Go": "执行", + "GoHomePage": "去往首页", + "Goto": "转到", + "GrantedAccounts": "授权的账号", + "GrantedApplications": "授权的应用", + "GrantedAssets": "授权的资产", + "GrantedDatabases": "授权的数据库", + "GrantedK8Ss": "授权的Kubernetes", + "GrantedRemoteApps": "授权的远程应用", + "GreatEqualThan": "大于等于", + "GroupsAmount": "用户组", + "GroupsHelpMessage": "请输入用户组,多个用户组使用逗号分隔(需填写已存在的用户组)", + "Guide": "向导", + "HandleTicket": "处理工单", + "Hardware": "硬件信息", + "HardwareInfo": "硬件信息", + "HasImportErrorItemMsg": "存在导入失败项,点击左侧 x 查看失败原因,点击表格编辑后,可以继续导入失败项", + "HasRead": "是否已读", + "Help": "帮助", + "HelpDocument": "文档链接", + "HelpDocumentTip": "可以更改网站导航栏 帮助 -> 文档 的网址", + "HelpSupport": "支持链接", + "HelpSupportTip": "可以更改网站导航栏 帮助 -> 支持 的网址", + "HighLoad": "较高", + "HistoricalSessionNum": "历史会话数", + "History": "历史记录", + "HistoryDate": "日期", + "HistoryPassword": "历史密码", + "Home": "家目录", + "HomeHelpMessage": "默认家目录 /home/系统用户名: /home/username", + "HomePage": "首页", + "Host": "资产", + "HostCreate": "创建资产-主机", + "HostDeployment": "发布机部署", + "HostList": "主机列表", + "HostName": "主机名", + "HostProtocol": "主机协议", + "HostUpdate": "更新资产-主机", + "Hostname": "主机名", + "HostnameGroup": "资产名", + "HostnameStrategy": "用于生成资产主机名。例如:1. 实例名称 (instanceDemo);2. 实例名称和部分IP(后两位) (instanceDemo-250.1)", + "Hosts": "主机", + "Hour": "小时", + "HttpPort": "HTTP端口", + "HuaweiCloud": "华为云", + "HuaweiPrivatecloud": "华为私有云", + "IAgree": "我同意", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/主机", + "IPLoginLimit": "IP 登录限制", + "IPMatch": "IP 匹配", + "IPNetworkSegment": "IP网段", + "Icon": "图标", + "Id": "ID", + "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。", + "IdeaTitle": "🌱 Linux 终端", + "IdpMetadataHelpText": "IDP metadata URL 和 IDP metadata XML参数二选一即可,IDP metadata URL的优先级高", + "IdpMetadataUrlHelpText": "从远端地址中加载 IDP Metadata", + "IgnoreCase": "忽略大小写", + "ImageName": "镜像名", + "Images": "图片", + "Import": "导入", + "ImportAll": "导入全部", + "ImportFail": "导入失败", + "ImportLdapUserTip": "请先提交LDAP配置再进行导入", + "ImportLdapUserTitle": "LDAP 用户列表", + "ImportLicense": "导入许可证", + "ImportLicenseTip": "请导入许可证", + "ImportMessage": "请前往对应类型的页面导入数据", + "ImportOrg": "导入组织", + "ImprovePersonalInformation": "完善个人信息", + "InActiveAsset": "近期未被登录", + "InActiveUser": "近期未登录过", + "InAssetDetail": "在资产详情中更新账号信息", + "InTotal": "总共", + "Inactive": "禁用", + "Include": "包含", + "Index": "索引", + "Info": "信息", + "Inherit": "继承", + "InheritPlatformConfig": "继承自平台配置,如需更改,请更改平台中的配置。", + "InitialDeploy": "初始化部署", + "Input": "输入", + "InputEmailAddress": "请输入正确的邮箱地址", + "InputMessage": "输入消息...", + "InputNumber": "请输入数字类型", + "InputPhone": "请输入手机号码", + "InsecureCommandAlert": "危险命令告警", + "InsecureCommandEmailUpdate": "点我设置", + "InsecureCommandNotifyToSubscription": "危险命令通知已升级到消息订阅中,支持更多通知方式", + "InstanceAddress": "实例地址", + "InstanceName": "实例名称", + "InstancePlatformName": "实例平台名称", + "InstantAdhoc": "即时命令", + "Interface": "网络接口", + "InterfaceSettings": "界面设置", + "IntervalOfCreateUpdatePage": "单位:时", + "Invalid": "无效", + "InvalidJson": "不是合法 JSON", + "Invalidity": "无效", + "Invite": "邀请", + "InviteSuccess": "邀请成功", + "InviteUser": "邀请用户", + "InviteUserInOrg": "邀请用户加入此组织", + "Ip": "IP", + "IpGroup": "IP 组", + "IpGroupHelpText": "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "请输入逗号分割的IP地址组", + "IsActive": "激活", + "IsAlwaysUpdate": "资产保持最新", + "IsAlwaysUpdateHelpTips": "每次执行同步任务时,是否同步更新资产的信息,包括主机名、IP、系统平台、网域、节点等信息", + "IsEffective": "已生效的", + "IsFinished": "是否完成", + "IsLocked": "是否暂停", + "IsSuccess": "成功", + "IsSyncAccountHelpText": "收集完成后会把收集的账号同步到资产", + "IsSyncAccountLabel": "同步到资产", + "IsValid": "有效", + "JDCloud": "京东云", + "JMSSSO": "SSO Token 登录", + "Job": "作业", + "JobCenter": "作业中心", + "JobCreate": "创建作业", + "JobDetail": "作业详情", + "JobExecutionLog": "作业日志", + "JobList": "作业管理", + "JobName": "作业名称", + "JobType": "作业类型", + "JobUpdate": "更新作业", + "Join": "加入", + "K8s": "Kubernetes", + "K8sPermissionRules": "Kubernetes授权规则", + "Key": "键", + "KingSoftCloud": "金山云", + "KokoSettingUpdate": "Koko 配置设置", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes", + "KubernetesAppCount": "Kubernetes应用数量", + "KubernetesAppCreate": "创建Kubernetes", + "KubernetesAppDetail": "Kubernetes详情", + "KubernetesAppPermission": "Kubernetes授权", + "KubernetesAppPermissionCreate": "创建Kubernetes授权规则", + "KubernetesAppPermissionDetail": "Kubernetes授权详情", + "KubernetesAppPermissionUpdate": "更新Kubernetes授权规则", + "KubernetesAppUpdate": "更新Kubernetes", + "LAN": "局域网", + "LDAPServerInfo": "LDAP 服务器", + "LDAPUser": "LDAP 用户", + "LOWER_CASEREQUIRED": "须包含小写字母", + "Label": "标签", + "LabelCreate": "创建标签", + "LabelInputFormatValidation": "标签格式错误,正确格式为:name:value", + "LabelList": "标签列表", + "LabelUpdate": "更新标签", + "Language": "语言", + "Last30": "最近 30 次", + "Last30Days": "近30天", + "Last7Days": "近7天", + "LastCannotBeDeleteMsg": "最后一项,不能被删除", + "LastDay": "本月最后一天", + "LastExecutionOutput": "最后执行输出", + "LastPublishedTime": "最后发布时间", + "LastRun": "最后运行", + "LastRunFailedHosts": "最后运行失败的主机", + "LastRunSuccessHosts": "最后运行成功的主机", + "LastWeek": "本月最后一个星期", + "LastWorking": "最近的那个工作日", + "LatestSessions": "最近登录记录", + "LatestSessions10": "最近10次登录", + "LatestTop10": "TOP 10", + "LatestVersion": "最新版本", + "Ldap": "LDAP", + "LdapBulkImport": "用户导入", + "LdapConnectTest": "测试连接", + "LdapLoginTest": "测试登录", + "Length": "长度", + "LessEqualThan": "小于等于", + "LevelApproval": "级审批", + "License": "许可证", + "LicenseDetail": "许可证详情", + "LicenseExpired": "许可证已经过期", + "LicenseFile": "许可证文件", + "LicenseForTest": "测试用途许可证, 本许可证仅用于 测试(PoC)和演示", + "LicenseReachedAssetAmountLimit": "资产数量已经超过许可证数量限制", + "LicenseWillBe": "许可证即将在 ", + "LinuxAdminUser": "Linux 特权用户", + "LinuxUserAffiliateGroup": "用户附属组", + "LoadStatus": "负载状态", + "Loading": "加载中", + "LockedIP": "已锁定 IP {count} 个", + "Log": "日志", + "LogData": "日志数据", + "LogOfLoginSuccessNum": "登录成功日志数", + "Logging": "日志记录", + "Login": "用户登录", + "LoginAssetConfirm": "资产登录复核", + "LoginAssetToday": "今日活跃资产数", + "LoginAssets": "活跃资产", + "LoginCity": "登录城市", + "LoginConfig": "登录配置", + "LoginConfirm": "登录复核", + "LoginCount": "登录次数", + "LoginDate": "登录日期", + "LoginFailed": "登录失败", + "LoginFrom": "登录来源", + "LoginIP": "登录IP", + "LoginImage": "登录页面图片", + "LoginImageTip": "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)", + "LoginLog": "登录日志", + "LoginModeHelpMessage": "如果选择手动登录模式,用户名和密码可以不填写", + "LoginModel": "登录模式", + "LoginNum": "登录数", + "LoginOption": "登录选项", + "LoginOverview": "会话统计", + "LoginPasswordSetting": "登录密码设置", + "LoginRequiredMsg": "账号已退出,请重新登录", + "LoginSucceeded": "登录成功", + "LoginTitle": "登录页面标题", + "LoginTitleTip": "提示:将会显示在企业版用户 SSH 登录 KoKo 登录页面(eg: 欢迎使用JumpServer开源堡垒机)", + "LoginTo": "登录了", + "LoginUserRanking": "登录账号排名", + "LoginUserToday": "今日登录账号数", + "LoginUsers": "活跃账号", + "Login_confirmUser": "登录复核 受理人", + "LogoIndex": "Logo (带文字)", + "LogoIndexTip": "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)", + "LogoLogout": "Logo (不带文字)", + "LogoLogoutTip": "提示:将会显示在企业版用户的 Web 终端页面(建议图片大小为:82px*82px)", + "Logout": "退出登录", + "LogsAudit": "日志审计", + "Lowercase": "小写字母", + "LunaSettingUpdate": "Luna 配置设置", + "MFA": "MFA", + "MFAConfirm": "MFA 认证", + "MFAErrorMsg": "MFA错误,请检查", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "启用多因子认证,使账号更加安全。
启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速修改->更改多因子设置)中直接绑定!", + "MFAOfUserFirstLoginUserGuidePage": "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:设置复杂密码,并启用多因子认证)
邮箱、手机号、微信等个人信息,仅作为用户认证和平台内部消息通知使用。", + "MFARequireForSecurity": "为了安全请输入MFA", + "MFAVerify": "验证 MFA", + "MIN_LENGTHERROR": "密码最小长度 {0} 位", + "MailRecipient": "邮件收件人", + "MailSend": "邮件发送", + "ManualAccount": "手动账号", + "ManualAccountTip": "登录时手动输入 用户名/密码", + "ManualExecutePlan": "手动执行计划", + "ManualInput": "手动输入", + "ManyChoose": "可多选", + "Mariadb": "MariaDB", + "MarkAsRead": "标记已读", + "Marketplace": "应用市场", + "Match": "匹配", + "MatchIn": "在...中", + "MatchResult": "匹配结果", + "MatchedCount": "匹配结果", + "Material": "内容", + "Members": "成员", + "Memory": "内存", + "Message": "消息", + "MessageSub": "消息订阅", + "MessageSubscription": "消息订阅", + "MessageType": "消息类型", + "Meta": "元数据", + "MfaLevel": "多因子认证", + "Min": "分钟", + "Model": "型号", + "Modify": "修改", + "ModifySSHKey": "修改 SSH Key", + "ModifyTheme": "修改主题", + "Module": "模块", + "Monday": "周一", + "Mongodb": "MongoDB", + "Monitor": "监控", + "Month": "月", + "Monthly": "按月", + "More": "更多选项", + "MoreActions": "更多操作", + "MoveAssetToNode": "移动资产到节点", + "MsgSubscribe": "消息订阅", + "MyApps": "我的应用", + "MyAssets": "我的资产", + "MyTickets": "我发起的", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "Mysql_workbenchIp": "数据库IP", + "Mysql_workbenchName": "数据库名", + "Mysql_workbenchPassword": "数据库密码", + "Mysql_workbenchPort": "数据库端口", + "Mysql_workbenchUsername": "数据库账号", + "NUMBERREQUIRED": "须包含数字", + "Name": "名称", + "NavHelp": "导航栏链接", + "Navigation": "导航", + "NeedAddAppsOrSystemUserErrMsg": "需要添加应用或系统用户", + "NeedReLogin": "需要重新登录", + "NeedSpecifiedFile": "需上传指定格式文件", + "NeedUpdatePasswordNextLogin": "下次登录须修改密码", + "Network": "网络", + "New": "新建", + "NewChat": "新聊天", + "NewCount": "新增", + "NewCron": "生成 Cron", + "NewDirectory": "新建目录", + "NewFile": "新建文件", + "NewPassword": "新密码", + "NewSyncCount": "新同步", + "No": "否", + "NoAlive": "离线", + "NoAnnouncement": "暂无公告", + "NoContent": "暂无内容", + "NoData": "暂无数据", + "NoFiles": "暂无文件", + "NoInputCommand": "未输入命令", + "NoLicense": "暂无许可证", + "NoPermission": "暂无权限", + "NoPermission403": "403 暂无权限", + "NoPermissionVew": "没有权限查看当前页面", + "NoPublished": "未发布", + "NoSQLProtocol": "非关系数据库", + "NoSystemUserWasSelected": "未选择系统用户", + "NoUnreadMsg": "暂无未读消息", + "Node": "节点", + "NodeAmount": "节点数量", + "NodeCount": "节点数量", + "NodeInformation": "节点信息", + "NodeSearchStrategy": "节点搜索策略", + "NormalLoad": "正常", + "NotAlphanumericUnderscore": "只能输入字母、数字、下划线", + "NotEqual": "不等于", + "NotParenthesis": "不能包含 ( )", + "NotSet": "未设置", + "NotSpecialEmoji": "不允许输入特殊表情符号", + "Nothing": "无", + "Notifications": "通知", + "Now": "现在", + "Num": "号", + "Number": "编号", + "NumberOfVisits": "访问次数", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "提示:认证服务提供商(建议图片大小为: 64px*64px)", + "OIDC": "OIDC", + "OTP": "MFA (OTP)", + "ObjectNotFoundOrDeletedMsg": "没有找到对应资源或者已被删除", + "OfficialWebsite": "官网链接", + "OfficialWebsiteTip": "可以更改网站导航栏 帮助 -> 官网 的网址", + "Offline": "离线", + "OfflineSuccessMsg": "下线成功", + "OfflineUpload": "离线上传", + "OldPassword": "原密码", + "OldSSHKey": "原来SSH公钥", + "On/Off": "启/停", + "OneAssignee": "一级受理人", + "OneAssigneeType": "一级受理人类型", + "OneClickRead": "当前已读", + "OneClickReadMsg": "你确定要将当前信息标记为已读吗?", + "OnlineSession": "在线用户", + "OnlineSessionHelpMsg": "无法下线当前会话,因为该会话是当前用户的在线会话。当前只记录以 Web 方式登录的用户。", + "OnlineSessions": "在线会话数", + "OnlineUserDevices": "在线用户设备", + "OnlineUsers": "在线账号", + "OnlyCSVFilesTips": "仅支持csv文件导入", + "OnlyLatestVersion": "仅最新版本", + "OnlyMailSend": "当前只支持邮件发送", + "OnlySearchCurrentNodePerm": "仅搜索当前节点的授权", + "Open": "待处理", + "OpenCommand": "打开命令", + "OpenId": "OpenID设置", + "OpenStack": "OpenStack", + "OpenStatus": "审批中", + "OpenTicket": "创建工单", + "OperateLog": "操作日志", + "OperateRecord": "操作记录", + "OperationLogNum": "操作日志数", + "Ops": "任务", + "Options": "选项", + "Oracle": "Oracle", + "OrgAdmin": "组织管理员", + "OrgAuditor": "组织审计员", + "OrgName": "授权组织名称", + "OrgRole": "组织角色", + "OrgRoleHelpText": "组织角色是用户在当前组织中的角色", + "OrgRoles": "组织角色", + "OrgUser": "组织用户", + "OrganizationCreate": "创建组织", + "OrganizationDetail": "组织详情", + "OrganizationList": "组织管理", + "OrganizationLists": "组织列表", + "OrganizationMembership": "组织成员", + "OrganizationUpdate": "更新组织", + "Os": "操作系统", + "Other": "其它设置", + "OtherAuth": "其它认证", + "OtherProtocol": "其它协议", + "OtherRules": "其它规则", + "Others": "其它", + "Output": "输出", + "Overview": "概览", + "PENDING": "等待中", + "PageNext": "下一页", + "PagePrev": "上一页", + "Parameter": "参数", + "Params": "参数", + "ParamsHelpText": "改密参数设置,目前仅对平台种类为主机的资产生效。", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "你的认证来源是 {source}, 不支持添加 Passkey", + "Passphrase": "密钥密码", + "Password": "密码", + "PasswordAccount": "密码账号", + "PasswordChangeLog": "改密日志", + "PasswordCheckRule": "密码强弱规则", + "PasswordConfirm": "密码认证", + "PasswordExpired": "密码过期了", + "PasswordHelpMessage": "密码或密钥密码", + "PasswordLength": "密码长度", + "PasswordOrPassphrase": "密码或密钥密码", + "PasswordOrToken": "密码 / 令牌", + "PasswordPlaceholder": "请输入密码", + "PasswordRecord": "密码记录", + "PasswordRequireForSecurity": "为了安全请输入密码", + "PasswordRule": "密码规则", + "PasswordSecurity": "密码安全", + "PasswordSelector": "密码输入框选择器", + "PasswordStrategy": "密文生成策略", + "PasswordWillExpiredPrefixMsg": "密码即将在 ", + "PasswordWillExpiredSuffixMsg": "天 后过期,请尽快修改您的密码。", + "PasswordWithoutSpecialCharHelpText": "不能包含特殊字符", + "Paste": "粘贴", + "Pattern": "模式", + "Pause": "暂停", + "PauseTaskSendSuccessMsg": "暂停任务已下发,请稍后刷新查看", + "Pending": "待处理", + "Periodic": "执行周期", + "PeriodicPerform": "定时执行", + "Perm": "授权", + "PermAccount": "授权账号", + "PermName": "授权名称", + "PermUserList": "授权用户", + "PermissionCompany": "授权公司", + "PermissionName": "授权规则名称", + "Permissions": "权限", + "Perms": "权限管理", + "PersonalInformationImprovement": "个人信息完善", + "Phone": "手机号", + "Plan": "计划", + "Platform": "系统平台", + "PlatformCreate": "创建系统平台", + "PlatformDetail": "系统平台详情", + "PlatformList": "平台列表", + "PlatformProtocolConfig": "平台协议配置", + "PlatformSimple": "平台", + "PlatformUpdate": "更新系统平台", + "PlaybookDetail": "Playbook详情", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "更新Playbook", + "PleaseAgreeToTheTerms": "请同意条款", + "PleaseClickLeftApplicationToViewApplicationAccount": "应用账号列表,点击左侧应用进行查看", + "PleaseClickLeftAssetToViewAssetAccount": "资产账号列表,点击左侧资产进行查看", + "PleaseClickLeftAssetToViewGatheredUser": "收集用户列表,点击左侧资产进行查看", + "PleaseSelect": "请选择", + "PolicyName": "策略名称", + "Port": "端口", + "Ports": "端口", + "Postgresql": "PostgreSQL", + "Primary": "主要的", + "PrimaryProtocol": "主要协议, 资产最基本最常用的协议,只能且必须设置一个", + "Priority": "优先级", + "PriorityHelpMessage": "1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会作为默认登录用户", + "PrivateCloud": "私有云", + "PrivateKey": "私钥", + "PrivilegeFirst": "优先选择特权账号", + "PrivilegeOnly": "仅选择特权账号", + "Privileged": "特权账号", + "PrivilegedFirst": "优先特权账号", + "PrivilegedOnly": "仅特权账号", + "PrivilegedTemplate": "特权的", + "Product": "产品", + "Profile": "个人信息", + "ProfileSetting": "个人信息设置", + "Project": "项目名", + "Prompt": "提示词", + "Proportion": "占比", + "ProportionOfAssetTypes": "资产类型占比", + "Protocol": "协议", + "Protocols": "协议", + "ProtocolsEnabled": "启用协议", + "ProtocolsGroup": "协议", + "Provider": "云服务商", + "Proxy": "代理", + "Public": "公共的", + "PublicCloud": "公有云", + "PublicIp": "公网IP", + "PublicKey": "公钥", + "PublicProtocol": "如果是公共协议在连接资产时会显示", + "Publish": "发布", + "PublishAllApplets": "发布所有应用", + "PublishStatus": "发布状态", + "Push": "推送", + "PushAccount": "推送账号", + "PushAllSystemUsersToAsset": "推送所有系统用户到资产", + "PushParams": "推送参数", + "PushSelected": "推送所选", + "PushSelectedSystemUsersToAsset": "推送所选系统用户到资产", + "PushSystemUserNow": "推送系统用户", + "Qcloud": "腾讯云", + "QcloudLighthouse": "腾讯云(轻量应用服务器)", + "QingyunPrivatecloud": "青云私有云", + "Queue": "队列", + "QuickAccess": "快速访问", + "QuickAdd": "快速添加", + "QuickJob": "快捷命令", + "QuickSelect": "快速选择", + "QuickUpdate": "快速更新", + "RDBProtocol": "关系型数据库", + "RUNNING": "运行中", + "Radius": "Radius", + "Ranking": "排名", + "Ratio": "比例", + "RazorNotSupport": "RDP 客户端会话, 暂不支持监控", + "ReLogin": "重新登录", + "ReLoginErr": "登录时长已超过 5 分钟,请重新登录", + "ReLoginTitle": "当前三方登录用户(CAS/SAML),未绑定 MFA 且不支持密码校验,请重新登录。", + "RealTimeData": "实时数据", + "Reason": "原因", + "Receivers": "接收人", + "RecentLogin": "最近登录", + "RecentSession": "最近会话", + "RecentlyUsed": "最近使用", + "RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", + "RecipientServer": "接收服务器", + "Reconnect": "重新连接", + "Redis": "Redis", + "Refresh": "刷新", + "RefreshFail": "刷新失败", + "RefreshHardware": "更新硬件信息", + "RefreshLdapCache": "刷新Ldap缓存,请稍后", + "RefreshLdapUser": "刷新缓存", + "RefreshPermissionCache": "刷新授权缓存", + "RefreshSuccess": "刷新成功", + "Regex": "正则表达式", + "Region": "地域", + "RegularlyPerform": "定期执行", + "Reject": "拒绝", + "Rejected": "已拒绝", + "RelAnd": "与", + "RelNot": "非", + "RelOr": "或", + "Relation": "关系", + "ReleasedCount": "已释放", + "RelevantApp": "应用", + "RelevantAsset": "资产", + "RelevantAssignees": "相关受理人", + "RelevantCommand": "命令", + "RelevantSystemUser": "系统用户", + "RemoteAddr": "远端地址", + "RemoteApp": "远程应用", + "RemoteAppCount": "远程应用数量", + "RemoteAppDetail": "远程应用详情", + "RemoteAppListHelpMessage": "使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 RemoteApp 应用 下载应用加载器", + "RemoteAppPermission": "远程应用授权", + "RemoteAppPermissionCreate": "创建远程应用授权规则", + "RemoteAppPermissionDetail": "远程应用授权详情", + "RemoteAppPermissionRules": "远程应用授权规则", + "RemoteAppPermissionUpdate": "更新远程应用授权规则", + "RemoteAppUpdate": "更新远程应用", + "RemoteApps": "远程应用", + "RemoteType": "应用类型", + "Remove": "移除", + "RemoveAssetFromNode": "从节点移除资产", + "RemoveErrorMsg": "移除失败: ", + "RemoveFromCurrentNode": "从节点移除", + "RemoveFromOrgWarningMsg": "你确定从组织移除 ", + "RemoveSuccessMsg": "移除成功", + "RemoveWarningMsg": "你确定要移除", + "Rename": "重命名", + "RenameNode": "重命名节点", + "ReplaceNodeAssetsAdminUser": "替换节点资产的管理员", + "ReplaceNodeAssetsAdminUserWithThis": "替换资产的管理员", + "Replay": "回放", + "ReplaySession": "回放会话", + "ReplayStorage": "对象存储", + "ReplayStorageCreateUpdateHelpMessage": "注意:目前 SFTP 存储仅支持账号备份,暂不支持录像存储。", + "ReplayStorageUpdate": "更新对象存储", + "Reply": "回复", + "RequestApplicationPerm": "申请应用授权", + "RequestAssetPerm": "申请资产授权", + "RequestPerm": "授权申请", + "RequestTickets": "申请工单", + "Required": "必需的", + "RequiredAssetOrNode": "请至少选择一个资产或节点", + "RequiredContent": "请输入命令", + "RequiredEntryFile": "此文件作为运行的入口文件,必须存在", + "RequiredHasUserNameMapped": "必须包含 username 字段的映射,如 { 'uid': 'username' }", + "RequiredProtocol": "必需协议, 添加资产时必须选择, 可以设置多个", + "RequiredRunas": "请输入运行用户", + "RequiredSystemUserErrMsg": "请选择账号", + "RequiredUploadFile": "请上传文件!", + "Reset": "还原", + "ResetAndDownloadSSHKey": "重置并下载密钥", + "ResetDingTalk": "解绑钉钉", + "ResetDingTalkLoginSuccessMsg": "重置成功, 用户可以重新绑定钉钉了", + "ResetDingTalkLoginWarningMsg": "你确定要解绑用户的 钉钉 吗?", + "ResetMFA": "重置MFA", + "ResetMFAWarningMsg": "你确定要重置用户的 MFA 吗?", + "ResetMFAdSuccessMsg": "重置MFA成功, 用户可以重新设置MFA了", + "ResetPassword": "重置密码", + "ResetPasswordSuccessMsg": "已向用户发送重置密码消息", + "ResetPasswordWarningMsg": "你确定要发送重置用户密码的邮件吗", + "ResetPublicKeyAndDownload": "重置并下载SSH密钥", + "ResetSSHKey": "重置SSH密钥", + "ResetSSHKeySuccessMsg": "发送邮件任务已提交, 用户稍后会收到重置密钥邮件", + "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", + "ResetWechat": "解绑企业微信", + "ResetWechatLoginSuccessMsg": "重置成功, 用户可以重新绑定企业微信了", + "ResetWechatLoginWarningMsg": "你确定要解绑用户的 企业微信 吗?", + "Resource": "资源", + "ResourceType": "资源类型", + "Resources": "资源", + "RestoreButton": "恢复默认", + "RestoreDefault": "恢复默认", + "RestoreDialogMessage": "您确定要恢复默认初始化吗?", + "RestoreDialogTitle": "你确认吗", + "Result": "结果", + "Resume": "恢复", + "ResumeTaskSendSuccessMsg": "恢复任务已下发,请稍后刷新查看", + "Retry": "重试", + "Reviewer": "审批人", + "Revise": "修改", + "RiskLevel": "风险等级", + "Role": "角色", + "RoleCreate": "创建角色", + "RoleDetail": "角色详情", + "RoleInfo": "角色信息", + "RoleList": "角色列表", + "RolePerms": "角色权限", + "RoleUpdate": "更新角色", + "RoleUsers": "授权用户", + "Rows": "行", + "Rule": "条件", + "RuleCount": "条件数量", + "RuleDetail": "规则详情", + "RuleRelation": "条件关系", + "RuleRelationHelpTips": "且:当所有条件都满足时,才会执行动作;或:有一个条件满足,就会执行动作", + "RuleSetting": "条件设置", + "Rules": "规则", + "Run": "执行", + "RunAgain": "再次执行", + "RunAs": "运行用户", + "RunCommand": "运行命令", + "RunJob": "运行作业", + "RunSucceed": "任务执行成功", + "RunTaskManually": "手动执行", + "RunTimes": "执行次数", + "RunUser": "运行用户", + "RunasHelpText": "填写运行脚本的用户名", + "RunasPolicy": "账号策略", + "RunasPolicyHelpText": "当前资产上没此运行用户时,采取什么账号选择策略。跳过:不执行。优先特权账号:如果有特权账号先选特权账号,如果没有就选普通账号。仅特权账号:只从特权账号中选择,如果没有则不执行", + "Running": "运行中", + "RunningPath": "运行路径", + "RunningPathHelpText": "填写脚本的运行路径,此设置仅 shell 脚本生效", + "RunningTimes": "最近5次运行时间", + "SAML2Auth": "SAML2 认证", + "SCP": "深信服云平台", + "SFTPHelpMessage": "SFTP 的起始路径,家目录可以填: HOME.
支持变量: ${ACCOUNT} 连接的账号用户名, ${USER} 当前用户用户名, 如 /tmp/${ACCOUNT}", + "SMS": "短信", + "SMSProvider": "短信服务商", + "SMTP": "邮件服务器", + "SPECIAL_CHARREQUIRED": "须包含特殊字符", + "SSHKey": "SSH公钥", + "SSHKeyOfProfileSSHUpdatePage": "复制你的公钥到这里", + "SSHKeySetting": "SSH公钥设置", + "SSHPort": "SSH 端口", + "SSHSecretKey": "SSH 密钥", + "SSO": "单点认证", + "SUCCESS": "成功", + "SafeCommand": "安全命令", + "SameAccount": "同名账号", + "SameAccountTip": "与被授权人用户名相同的账号", + "SameTypeAccountTip": "相同用户名、密钥类型的账号已存在", + "Saturday": "周六", + "Save": "保存", + "SaveAdhoc": "保存命令", + "SaveAndAddAnother": "保存并继续添加", + "SaveCommand": "保存命令 ", + "SaveCommandSuccess": "保存命令成功", + "SaveSetting": "同步设置", + "SaveSuccess": "保存成功", + "SaveSuccessContinueMsg": "创建成功,更新内容后可以继续添加", + "Scope": "类别", + "Script": "脚本列表", + "ScriptDetail": "脚本详情", + "ScrollToBottom": "滚动到底部", + "ScrollToTop": "滚动到顶部", + "Search": "搜索", + "SearchAncestorNodePerm": "同时搜索当前节点和祖先节点的授权", + "Secret": "密码", + "SecretKey": "密钥", + "SecretKeyStrategy": "密码策略", + "SecretType": "密文类型", + "Secure": "安全", + "Security": "安全设置", + "SecurityCommandExecution": "批量命令", + "SecurityInsecureCommand": "开启后,当资产上有危险命令执行时,会发送邮件告警通知", + "SecurityInsecureCommandEmailReceiver": "多个邮箱时,以半角逗号','分隔", + "SecurityLoginLimitCount": "限制登录失败次数", + "SecurityLoginLimitTime": "禁止登录时间间隔", + "SecurityMaxIdleTime": "连接最大空闲时间", + "SecurityMfaAuth": "多因子认证", + "SecurityPasswordExpirationTime": "密码过期时间", + "SecurityPasswordLowerCase": "必须包含小写字母", + "SecurityPasswordMinLength": "密码最小长度", + "SecurityPasswordNumber": "必须包含数字字符", + "SecurityPasswordSpecialChar": "必须包含特殊字符", + "SecurityPasswordUpperCase": "必须包含大写字母", + "SecurityServiceAccountRegistration": "组件注册", + "SecuritySetting": "安全设置", + "Select": "选择", + "SelectAccount": "选择账号", + "SelectAdhoc": "选择命令", + "SelectAll": "全选", + "SelectAssetsMessage": "选择左侧资产, 选择运行的系统用户,批量执行命令", + "SelectAtLeastOneAssetOrNodeErrMsg": "资产或者节点至少选择一项", + "SelectAttrs": "选择属性", + "SelectByAttr": "属性筛选", + "SelectCreateMethod": "选择创建方式", + "SelectFile": "选择文件", + "SelectKeyOrCreateNew": "选择标签键或创建新的", + "SelectLabelFilter": "选择标签搜索", + "SelectPlatforms": "选择平台", + "SelectProperties": "选择属性", + "SelectResource": "选择资源", + "SelectTemplate": "选择模版", + "SelectValueOrCreateNew": "选择标签值或创建新的", + "Selected": "已选择", + "SelectedAssets": "已选择资产:", + "Selection": "可选择", + "Selector": "选择器", + "Send": "发送", + "SendVerificationCode": "发送验证码", + "Sender": "发送人", + "Senior": "高级", + "SerialNumber": "序列号", + "ServerAccountKey": "服务账号密钥", + "ServerError": "服务器错误", + "ServerTime": "服务器时间", + "ServiceRatio": "组件负载统计", + "Session": "会话", + "SessionActiveCount": "在线会话数量", + "SessionData": "会话数据", + "SessionDetail": "会话详情", + "SessionID": "会话ID", + "SessionList": "会话记录", + "SessionMonitor": "监控", + "SessionOffline": "历史会话", + "SessionOnline": "在线会话", + "SessionSecurity": "会话安全", + "SessionState": "会话状态", + "SessionTerminate": "会话终断", + "SessionTrend": "会话趋势", + "Sessions": "会话管理", + "SessionsAudit": "会话审计", + "SessionsNum": "会话数", + "Set": "已设置", + "SetAdDomainNoDisabled": "使用特权账号在资产上创建普通账号,如果设置了AD域名不能修改(Windows)", + "SetDingTalk": "设置钉钉认证", + "SetFailed": "设置失败", + "SetFeiShu": "设置飞书认证", + "SetMFA": "设置多因子认证", + "SetPublicKey": "设置SSH公钥", + "SetSlack": "设置Slack认证", + "SetStatus": "设置状态", + "SetSuccess": "设置成功", + "SetToDefault": "设为默认", + "SetToDefaultStorage": "设置为默认存储", + "SetWeCom": "设置企业微信认证", + "Setting": "设置", + "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", + "Settings": "系统设置", + "Show": "显示", + "ShowAssetAllChildrenNode": "显示所有子节点资产", + "ShowAssetOnlyCurrentNode": "仅显示当前节点资产", + "ShowNodeInfo": "显示节点详情", + "SignChannelNum": "签名通道号", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "站内信", + "SiteMessageList": "站内信", + "SiteUrl": "当前站点URL", + "Skip": "忽略当前资产", + "Skipped": "已跳过", + "Slack": "Slack", + "Source": "来源", + "SourceIP": "源地址", + "SourcePort": "源端口", + "Spec": "指定", + "SpecAccount": "指定账号", + "SpecAccountTip": "指定用户名选择授权账号", + "SpecialSymbol": "特殊字符", + "SpecificInfo": "特殊信息", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH 指纹", + "SshPort": "SSH端口", + "Sshkey": "sshkey", + "SshkeyAccount": "密钥账号", + "StartEvery": "开始,每", + "Startswith": "以...开头", + "Stat": "成功/失败/总", + "State": "状态", + "StateClosed": "已关闭", + "Status": "状态", + "StatusGreen": "近期状态良好", + "StatusRed": "上一次任务执行失败", + "StatusYellow": "近期存在在执行失败", + "Stop": "停止", + "Storage": "存储", + "StorageConfiguration": "存储配置", + "Strategy": "策略", + "StrategyCreate": "创建策略", + "StrategyDetail": "策略详情", + "StrategyHelpTips": "根据策略优先级确定资产的唯一属性(如平台),当资产属性(如节点)可配置多个的时候,所有策略的动作都会被执行", + "StrategyList": "策略列表", + "StrategyUpdate": "更新策略", + "SuFrom": "切换自", + "Subject": "主题", + "Submit": "提交", + "SubmitSelector": "提交按钮选择器", + "Subscription": "消息订阅", + "SubscriptionID": "订阅授权ID", + "Success": "成功", + "SuccessAsset": "成功的资产", + "SuccessfulOperation": "操作成功", + "SudoHelpMessage": "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig", + "Summary(success/total)": "概况( 成功/总数 )", + "Sunday": "周日", + "SuperAdmin": "超级管理员", + "SuperOrgAdmin": "超级管理员+组织管理员", + "Support": "支持", + "SupportedProtocol": "支持的协议", + "SupportedProtocolHelpText": "设置资产支持的协议,点击设置按钮可以为协议修改自定义配置,如 SFTP 目录,RDP AD 域等", + "SwitchPage": "切换视图", + "SwitchToUser": "Su 用户", + "SwitchToUserListTips": "通过以下用户连接资产时,会使用当前系统用户登录再进行切换。", + "SymbolSet": "特殊符号集合", + "SymbolSetHelpText": "请输入此类型数据库支持的特殊符号集合,若生成的随机密码中有此类数据库不支持的特殊字符,改密计划将会失败", + "Sync": "同步", + "SyncDelete": "同步删除", + "SyncInstanceTaskCreate": "创建同步任务", + "SyncInstanceTaskDetail": "同步任务详情", + "SyncInstanceTaskHistoryAssetList": "同步实例列表", + "SyncInstanceTaskHistoryList": "同步历史列表", + "SyncInstanceTaskList": "同步任务列表", + "SyncInstanceTaskUpdate": "更新同步任务", + "SyncProtocolToAsset": "同步协议到资产", + "SyncSelected": "同步所选", + "SyncSetting": "同步设置", + "SyncStrategy": "同步策略", + "SyncSuccessMsg": "同步成功", + "SyncTask": "同步任务", + "SyncUpdateAccountInfo": "同步更新账号信息", + "SyncUser": "同步用户", + "SyncedCount": "已同步", + "SystemCpuLoad": "CPU负载", + "SystemDiskUsedPercent": "硬盘使用率", + "SystemError": "系统错误", + "SystemMemoryUsedPercent": "内存使用率", + "SystemMessageSubscription": "系统消息订阅", + "SystemRole": "系统角色", + "SystemRoles": "系统角色", + "SystemSetting": "系统设置", + "SystemTools": "系统工具", + "SystemUser": "系统用户", + "SystemUserAmount": "系统用户数量", + "SystemUserCount": "系统用户", + "SystemUserCreate": "创建系统用户", + "SystemUserDetail": "系统用户详情", + "SystemUserId": "系统用户Id", + "SystemUserList": "系统用户", + "SystemUserListHelpMessage": "系统用户 是JumpServer 登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`;
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
普通用户 可以在资产上预先存在,也可以由 特权用户 来自动创建。", + "SystemUserName": "系统用户名", + "SystemUserUpdate": "更新系统用户", + "SystemUsers": "系统用户", + "System_usersAmount": "系统用户", + "System_users_nameGroup": "系统用户名称", + "System_users_protocolGroup": "系统用户协议", + "System_users_usernameGroup": "系统用户名", + "TableColSettingInfo": "请选择您想显示的列表详细信息。", + "Target": "目标", + "TargetResources": "目标资源", + "Task": "任务", + "TaskCenter": "任务中心", + "TaskDetail": "任务详情", + "TaskDispatch": "任务下发成功", + "TaskDone": "任务结束", + "TaskID": "任务 ID", + "TaskList": "任务列表", + "TaskMonitor": "任务监控", + "TaskName": "任务名称", + "TaskVersions": "任务各版本", + "Tasks": "任务", + "TechnologyConsult": "技术咨询", + "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", + "Template": "模版管理", + "TemplateAdd": "模版添加", + "TemplateCreate": "创建模版", + "TemplateDetail": "模版详情", + "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", + "TemplateUpdate": "更新模版", + "Templates": "模版管理", + "TencentCloud": "腾讯云", + "Terminal": "组件设置", + "TerminalAssetListPageSize": "资产分页每页数量", + "TerminalAssetListSortBy": "资产列表排序", + "TerminalDetail": "终端详情", + "TerminalHeartbeatInterval": "心跳间隔", + "TerminalPasswordAuth": "密码认证", + "TerminalPublicKeyAuth": "密钥认证", + "TerminalSessionKeepDuration": "会话保留时长", + "TerminalStat": "CPU/内存/磁盘", + "TerminalTelnetRegex": "Telnet 成功正则表达式", + "TerminalUpdate": "更新终端", + "TerminalUpdateStorage": "更新终端存储", + "Terminate": "终断", + "TerminateTaskSendSuccessMsg": "终断任务已下发,请稍后刷新查看", + "TermsAndConditions": "条款和条件", + "Test": "测试", + "TestAccountConnective": "测试账号可连接性", + "TestAllSystemUsersConnective": "测试所有系统用户可连接性", + "TestAssetsConnective": "测试资产可连接性", + "TestConnection": "测试连接", + "TestGatewayHelpMessage": "如果使用了nat端口映射,请设置为ssh真实监听的端口", + "TestGatewayTestConnection": "测试连接网关", + "TestHelpText": "请输入目的地址进行测试", + "TestLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", + "TestLdapLoginTitle": "测试LDAP 用户登录", + "TestMultiPort": "多个端口用,分隔", + "TestNodeAssetConnectivity": "测试资产节点可连接性", + "TestParam": "参数", + "TestPortErrorMsg": "端口错误,请重新输入", + "TestSelected": "测试所选", + "TestSelectedSystemUsersConnective": "测试所选系统用户可连接性", + "TestSuccessMsg": "测试成功", + "The": "第", + "ThisPeriodic": "这是一个周期作业", + "Thursday": "周四", + "Ticket": "工单", + "TicketCreate": "创建工单", + "TicketDetail": "工单详情", + "TicketFlow": "工单流", + "TicketFlowCreate": "创建审批流", + "TicketFlowUpdate": "更新审批流", + "Tickets": "工单列表", + "TicketsDone": "已办工单", + "TicketsNew": "提交工单", + "TicketsTodo": "待办工单", + "Time": "时间", + "TimeDelta": "运行时间", + "TimeExpression": "时间表达式", + "TimePeriod": "时段", + "Timeout": "超时", + "TimeoutHelpText": "当此值为-1时,不指定超时时间", + "Timer": "定时执行", + "TimerPeriod": "定时执行周期", + "TimesWeekUnit": "次/周", + "Title": "标题", + "To": "至", + "Today": "今天", + "TodayFailedConnections": "今日连接失败数", + "Token": "令牌", + "TokenHTTPMethod": "Token 获取方法", + "TopAssetsOfWeek": "周资产 TOP10", + "TopUsersOfWeek": "周用户 TOP10", + "Total": "总共", + "TotalJobFailed": "执行失败作业数", + "TotalJobLog": "作业执行总数", + "TotalJobRunning": "运行中作业数", + "TotalVersions": "版本数量", + "Transfer": "传输", + "True": "是", + "Tuesday": "周二", + "TwoAssignee": "二级受理人", + "TwoAssigneeType": "二级受理人类型", + "Type": "类型", + "Types": "类型", + "UCloud": "UCloud优刻得", + "UPPER_CASEREQUIRED": "须包含大写字母", + "UnSyncCount": "未同步", + "Unbind": "解绑", + "UnbindHelpText": "本地用户为此认证来源用户,无法解绑", + "Unblock": "解锁", + "UnblockSuccessMsg": "解锁成功", + "UnblockUser": "解锁用户", + "UniqueError": "以下属性只能设置一个", + "Unknown": "未知", + "UnlockSuccessMsg": "解锁成功", + "Unreachable": "不可连接", + "UnselectedAssets": "未选择资产或所选择的资产不支持SSH协议连接", + "UnselectedNodes": "未选择节点", + "UnselectedOrg": "没有选择组织", + "UnselectedUser": "没有选择用户", + "UpDownload": "上传下载", + "Update": "更新", + "UpdateAccount": "更新账号", + "UpdateAccountMsg": "请更新系统用户的账号信息", + "UpdateAccountTemplate": "更新账号模版", + "UpdateAssetDetail": "配置更多信息", + "UpdateAssetUserToken": "更新账号认证信息", + "UpdateEndpoint": "更新端点", + "UpdateEndpointRule": "更新端点规则", + "UpdateErrorMsg": "更新失败", + "UpdateMFA": "更改多因子认证", + "UpdateNodeAssetHardwareInfo": "更新节点资产硬件信息", + "UpdatePassword": "更新密码", + "UpdateSSHKey": "更新SSH公钥", + "UpdateSecret": "更新密文", + "UpdateSelected": "更新所选", + "UpdateSuccessMsg": "更新成功", + "Updated": "已更新", + "UpdatedBy": "更新者", + "Upload": "上传", + "UploadCsvLth10MHelpText": "只能上传 csv/xlsx, 且不超过 10M", + "UploadDir": "上传目录", + "UploadFailed": "上传失败", + "UploadFile": "上传文件", + "UploadFileLthHelpText": "只能上传小于{limit}MB文件", + "UploadPlaybook": "上传 Playbook", + "UploadSucceed": "上传成功", + "UploadZipTips": "请上传 zip 格式的文件", + "Uploading": "文件上传中", + "Uppercase": "大写字母", + "UseParameterDefine": "定义参数", + "UseProtocol": "使用协议", + "UseSSL": "使用 SSL/TLS", + "User": "用户", + "UserAclDetail": "用户登录规则详情", + "UserAclList": "用户登录", + "UserAclLists": "用户登录规则", + "UserAssetActivity": "账号/资产活跃情况", + "UserCount": "用户数量", + "UserCreate": "创建用户", + "UserData": "账号数据", + "UserDetail": "用户详情", + "UserFirstLogin": "首次登录", + "UserGroupCount": "用户组数量", + "UserGroupCreate": "创建用户组", + "UserGroupDetail": "用户组详情", + "UserGroupList": "用户组", + "UserGroupUpdate": "更新用户组", + "UserGroups": "用户组", + "UserGuide": "用户向导", + "UserGuideUrl": "用户向导URL", + "UserIP": "登录 IP", + "UserInformation": "用户信息", + "UserList": "用户列表", + "UserLoginACL": "用户登录", + "UserLoginACLCreate": "创建用户登录规则", + "UserLoginACLDetail": "用户登录限制", + "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统(全局生效)", + "UserLoginACLUpdate": "更新用户登录规则", + "UserLoginAclCreate": "创建用户登录控制", + "UserLoginAclDetail": "用户登录控制详情", + "UserLoginAclList": "用户登录", + "UserLoginAclUpdate": "更新用户登录控制", + "UserLoginLimit": "用户登录限制", + "UserLoginTrend": "账号登录趋势", + "UserName": "姓名", + "UserNameSelector": "用户名输入框选择器", + "UserPage": "用户视图", + "UserProfile": "个人信息", + "UserRatio": "用户占比统计", + "UserSession": "用户会话", + "UserSetting": "偏好设置", + "UserSwitch": "用户切换", + "UserSwitchFrom": "切换自", + "UserUpdate": "更新用户", + "UserUsername": "用户(用户名)", + "Username": "用户名", + "UsernameGroup": "用户名", + "UsernameHelpMessage": "用户名是动态的,登录资产时使用当前用户的用户名登录", + "UsernameOfCreateUpdatePage": "目标主机上用户的用户名;如果已️存在,修改用户密码;如果不存在,添加用户并设置密码;", + "UsernamePlaceholder": "请输入用户名", + "Users": "用户", + "UsersAmount": "用户", + "UsersAndUserGroups": "用户/用户组", + "UsersTotal": "账号总数", + "Valid": "有效", + "Validity": "有效", + "Value": "值", + "Variable": "变量", + "VariableHelpText": "您可以在命令中使用 {{ key }} 读取内置变量", + "Vault": "密码匣子", + "VaultHelpText": "1. 由于安全原因,需要配置文件中开启 Vault 存储。
2. 开启后,填写其他配置,进行测试。
3. 进行数据同步,同步是单向的,只会从本地数据库同步到远端 Vault,同步完成本地数据库不再存储密码,请备份好数据。
4. 二次修改 Vault 配置后需重启服务。", + "Vendor": "制造商", + "VerificationCodeSent": "验证码已发送", + "VerifySignTmpl": "验证码短信模板", + "Version": "版本", + "VersionDetail": "版本详情", + "VersionRunExecution": "执行历史", + "View": "查看", + "ViewBlockedIPSHelpText": "查看已被锁定的 IP 列表", + "ViewMore": "查看更多", + "ViewPerm": "查看授权", + "ViewSecret": "查看密文", + "VirtualAccountDetail": "虚拟账号详情", + "VirtualAccountUpdate": "虚拟账号更新", + "VirtualAccounts": "虚拟账号", + "VirtualApp": "虚拟应用", + "VirtualAppDetail": "虚拟应用详情", + "VirtualApps": "虚拟应用", + "VmwareClient": "vSphere Client", + "VmwarePassword": "登录密码", + "VmwareTarget": "目标地址", + "VmwareUsername": "登录账号", + "WeCom": "企业微信", + "WeComTest": "测试", + "WebCreate": "创建资产-Web", + "WebFTP": "文件管理", + "WebHelpMessage": "Web 类型资产依赖于远程应用,请前往系统设置在远程应用中配置", + "WebSocketDisconnect": "WebSocket 断开", + "WebTerminal": "Web终端", + "WebUpdate": "更新资产-Web", + "Wednesday": "周三", + "Week": "周", + "WeekAdd": "本周新增", + "WeekOf": "周的星期", + "WeekOrTime": "星期/时间", + "Weekly": "按周", + "WildcardsAllowed": "允许的通配符", + "WindowsAdminUser": "Windows 特权用户", + "WindowsPushHelpText": "windows 资产暂不支持推送密钥", + "WordSep": "", + "WorkBench": "工作台", + "Workbench": "工作台", + "Workspace": "工作空间", + "Yes": "是", + "ZStack": "ZStack" +} diff --git a/apps/settings/api/__init__.py b/apps/settings/api/__init__.py index 686a52f3b..bc48d35c8 100644 --- a/apps/settings/api/__init__.py +++ b/apps/settings/api/__init__.py @@ -2,6 +2,7 @@ from .chat import * from .dingtalk import * from .email import * from .feishu import * +from .i18n import * from .ldap import * from .public import * from .security import * diff --git a/apps/settings/api/i18n.py b/apps/settings/api/i18n.py new file mode 100644 index 000000000..b198b7c85 --- /dev/null +++ b/apps/settings/api/i18n.py @@ -0,0 +1,35 @@ +import json +import os + +from django.conf import settings +from django.utils._os import safe_join +from rest_framework.generics import RetrieveAPIView +from rest_framework.permissions import AllowAny +from rest_framework.response import Response + + +class ComponentI18nApi(RetrieveAPIView): + base_path = 'locale' + permission_classes = [AllowAny] + + def get_path(self): + pass + + def head(self, request, *args, **kwargs): + return Response() + + def retrieve(self, request, *args, **kwargs): + name = kwargs.get('name') + component_dir = safe_join(settings.APPS_DIR, 'locale', name) + lang = request.query_params.get('lang') + files = os.listdir(component_dir) + data = {} + for file in files: + if not file.endswith('.json'): + continue + _lang = file.split('.')[0] + with open(safe_join(component_dir, file), 'r') as f: + data[_lang] = json.load(f) + if lang: + data = {lang: data.get(lang) or {}} + return Response(data) diff --git a/apps/settings/urls/api_urls.py b/apps/settings/urls/api_urls.py index fdfae5146..d441755ae 100644 --- a/apps/settings/urls/api_urls.py +++ b/apps/settings/urls/api_urls.py @@ -30,6 +30,7 @@ urlpatterns = [ path('public/', api.PublicSettingApi.as_view(), name='public-setting'), path('public/open/', api.OpenPublicSettingApi.as_view(), name='open-public-setting'), path('server-info/', api.ServerInfoApi.as_view(), name='server-info'), + path('i18n//', api.ComponentI18nApi.as_view(), name='i18n-data'), ] urlpatterns += router.urls From 00d6effd69f4108e46473f0c00852c4dabf3d4a5 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 11 Jan 2024 18:33:52 +0800 Subject: [PATCH 002/343] pref: stash --- apps/locale/luna/en.json | 201 ++++++++++++++++++++++++++++++++++++ apps/locale/luna/ja.json | 206 +++++++++++++++++++++++++++++++++++++ apps/locale/luna/zh.json | 209 ++++++++++++++++++++++++++++++++++++++ apps/settings/api/i18n.py | 12 +-- 4 files changed, 621 insertions(+), 7 deletions(-) create mode 100644 apps/locale/luna/en.json create mode 100644 apps/locale/luna/ja.json create mode 100644 apps/locale/luna/zh.json diff --git a/apps/locale/luna/en.json b/apps/locale/luna/en.json new file mode 100644 index 000000000..a31c9b2c3 --- /dev/null +++ b/apps/locale/luna/en.json @@ -0,0 +1,201 @@ +{ + "Are you sure to reconnect it?(RDP not support)": "Are you sure to reconnect it?(RDP not support)", + "Reselect connection method": "Reselect asset connection method", + "Right click asset": "Right click on the asset", + "Expand all asset": "Expand all assets under the current node", + "Right click node": "Right click node", + "Asset tree loading method": "Configure Asset Tree Loading Method", + "Settings or basic settings": "Settings → Basic Settings", + "Download the latest client": "Download the latest client", + "Help or download": "Help → Download", + "Keyboard switch session": "Switch session → Shortcut keys", + "Keyboard keys": "Option + Left / Option + Right", + "Cancel": "Cancel", + "Choose a User": "Choose a User", + "Clone Connect": "Clone Connect", + "Close All Tabs": "Close All Tabs", + "Close Current Tab": "Close Current Tab", + "Close Left Tabs": "Close Left Tabs", + "Close Other Tabs": "Close Other Tabs", + "Close Right Tabs": "Close Right Tabs", + "Confirm": "Confirm", + "Connect": "Connect", + "Disconnect": "Disconnect", + "Disfavor": "Disfavor", + "Document": "Document", + "Favorite": "Favorite", + "File Manager": "File Manager", + "CLI font size": "CLI font size", + "Found": "Found", + "Full Screen": "Full Screen", + "Multi Screen": "Multi Screen", + "Help": "Help", + "Hide left manager": "Hide left manager", + "Language": "Language", + "Load tree async": "Load tree async", + "Backspace as Ctrl+H": "CLI Backspace As Ctrl+H", + "Loading": "Loading", + "Password": "Password", + "Please choose an account": "Please choose an account", + "Please input password": "Please input password", + "Reconnect": "Reconnect", + "Search": "Search", + "Refresh": "Refresh", + "Checkbox": "Checkbox", + "Batch connect": "Batch connect", + "RDP resolution": "RDP resolution", + "RDP smart size": "RDP smart size", + "Send text to all ssh terminals": "Send text to all ssh terminals", + "Switch to quick command": "Switch to quick command", + "Switch to input command": "Switch to input command", + "Not quick command": "Not quick command", + "Save command": "Save command", + "Save success": "Save success", + "Send command": "Send command", + "Current session": "Current session", + "All sessions": "All sessions", + "Module": "Module", + "Setting": "Setting", + "Show left manager": "Show left manager", + "Skip": "Skip", + "Skip manual password": "Skip manual password", + "Speed": "Speed", + "Support": "Support", + "Tab List": "Tab List", + "Username": "Username", + "Expire time": "Expire time", + "Users": "", + "View": "View", + "Website": "Website", + "asset": "asset", + "cols": "cols", + "confirm": "confirm", + "download": "download", + "rows": "rows", + "start time": "start time", + "success": "success", + "system user": "system user", + "user": "user", + "Open in new window": "Open in new window", + "Split connect": "Split connect", + "Split vertically": "Split vertically", + "Close split connect": "Close split connect", + "Split connect number": "One session can support up to three split screen connection", + "Right mouse quick paste": "Right mouse quick paste", + "SQL Client": "SQL Client", + "Info": "Info", + "LeftInfo": "Click the command record to quickly locate the video", + "Database disabled": "This type of connection is not supported, please contact an administrator.", + "Asset disabled": "This asset has been disabled, please contact an administrator", + "User: ": "User: {{value}}", + "Asset: ": "Asset: {{value}}", + "Account: ": "Account: {{value}}", + "Start Time: ": "Start time: {{value}}", + "Protocol: ": "Protocol: {{value}}", + "My assets": "My assets", + "My applications": "My applications", + "Type tree": "Type tree", + "Databases": "Databases", + "Remote apps": "Remote apps", + "Kubernetes": "Kubernetes", + "Command Line": "Command Line", + "Force refresh": "Force refresh", + "Select account": "Select account", + "No matching found": "No matching found", + "Connect Method": "Connect Method", + "No available connect method": "No available connect method", + "Need to use": "Need to use", + "Download the client": "Please download", + "Yes": "Yes", + "No": "No", + "Web Terminal": "Web Terminal", + "Remember password": "Remember me", + "Account info": "Account info", + "Download": "Download", + "Tool download": "Tool download", + "Launch Program": "Launch Program", + "RDP client options": "RDP client options", + "Full screen": "Full screen", + "Driver redirect": "Driver redirect", + "RDP File": "RDP File", + "RDP Client": "RDP Client", + "Remember select": "Remember selected", + "Automatic login next": "Automatic Login next time (right click asset Connection to re-select)", + "Don't prompt again": "Don't prompt again", + "Username@Domain": "Username@Domain", + "InstallClientMsg": "JumpServer client not found, Go to download and install?", + "LoginExpireMsg": "Login session expired, please re-login", + "No permission": "No permission", + "Last login": "Last login", + "Log out": "Log out", + "Host": "Host", + "Port": "Port", + "Disable auto completion": "Disable auto completion", + "Advanced option": "Advanced option", + "Protocol": "Protocol", + "Database": "Database", + "Click to copy": "Click to copy", + "Copied": "Copied", + "Database info": "Database info", + "Command line": "Command line", + "Run it by client": "Run it by client", + "Name": "Name", + "Tips": "Tips", + "Asset not found or You have no permission to access it, please refresh asset tree": "Asset not found or You have no permission to access it, please refresh asset tree", + "With secret accounts": "With secret accounts", + "Close": "Close", + "Manual accounts": "Manual accounts", + "Native": "Native", + "Applet": "Applet", + "General": "General", + "GUI": "GUI", + "CLI": "CLI", + "Applet connect method": "Applet connect method", + "Client": "Client", + "Keyboard layout": "Keyboard layout", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Login reminder": "Login reminder", + "ACL reject login asset": "This login has been rejected due to access control policy restrictions", + "Need review for login asset": "This login needs manual review. Do you want to continue?", + "Ticket review pending for login asset": "The login asset has been submitted, waiting for review by the assignee, you can also copy the link and send it to he", + "Assignees": "Assignees", + "Do not close this page": "Do not close this page", + "Ticket review rejected for login asset": "This login review has been rejected, and the asset cannot be connected", + "Ticket review closed for login asset": "This login review has been closed, and the asset cannot be connected", + "Account not found": "Account not found", + "Copy link": "Copy link", + "Login review approved": "Login review has been approved, connecting assets...", + "No account available": "No available accounts", + "Set reusable": "Set reusable", + "Re-use for a long time after opening": "Re-use for a long time after opening", + "The connection method is invalid, please refresh the page": "The connection method is invalid, please refresh the page", + "Special accounts": "Special accounts", + "Database token help text": "The database type token that the client connects to will be cached by the component for 5 minutes, which means that the token will not be invalidated immediately after it is used, but five minutes after the client disconnects", + "Help text": "Help text", + "Pause task has been send": "Pause task has been send", + "Resume task has been send": "Resume task has been send", + "Action: ": "Action:", + "Pause": "Pause", + "Resume": "Resume", + "connect info": "connect info", + "Connect command line": "Connect command line", + "Using token": "Using token", + "Directly": "Directly", + "Connect checked": "Connect checked", + "Batch actions": "Batch actions", + "Expand": "Expand", + "Expand all": "Expand all", + "Collapse": "Collapse", + "Password is token password on the table": "Password is token password on the table", + "Password is your password login to system": "Password is your password login to system", + "Current online": "Current online", + "Token expired": "Token has expired", + "No protocol available": "No protocol available", + "VirtualApp":"Virtual App" +} diff --git a/apps/locale/luna/ja.json b/apps/locale/luna/ja.json new file mode 100644 index 000000000..d0549fb84 --- /dev/null +++ b/apps/locale/luna/ja.json @@ -0,0 +1,206 @@ +{ + "Are you sure to reconnect it?(RDP not support)": "本当に再接続しますか? (RDPは一時的にサポートしていない)", + "Reselect connection method": "資産の接続方法の再選択", + "Right click asset": "右クリック資産", + "Expand all asset": "現在のノードの下にあるすべてのアセットを展開", + "Right click node": "右クリックノード", + "Asset tree loading method": "資産ツリーのロード方法の設定", + "Settings or basic settings": "設定 → 基本設定", + "Download the latest client": "最新クライアントのダウンロード", + "Help or download": "ヘルプ → ダウンロード", + "Keyboard switch session": "セッションの切り替え → ショートカットキー", + "Keyboard keys": "Option + Left / Option + Right", + "Cancel": "キャンセル", + "Choose a User": "ユーザーを選択します", + "Clone Connect": "コピーウィンドウ", + "Close All Tabs": "すべてを閉じる", + "Close Current Tab": "現在を閉じる", + "Close Left Tabs": "左側を閉じる", + "Close Other Tabs": "その他を閉じる", + "Close Right Tabs": "右側を閉じる", + "Confirm": "確認", + "Connect": "接続", + "Disconnect": "リンクを切断", + "Disfavor": "コレクションをキャンセル", + "Document": "ドキュメント", + "Favorite": "コレクション", + "File Manager": "ファイル管理", + "CLI font size": "文字端末のフォントサイズ", + "Found": "発見", + "Full Screen": "全画面表示", + "Multi Screen": "マルチスクリーン", + "Help": "ヘルプ", + "Hide left manager": "左サイドバーを非表示", + "Language": "言語", + "Load tree async": "アセットツリーの非同期ロード", + "Backspace as Ctrl+H": "文字端末backspacas Ctrl H", + "Loading": "ロード中", + "Password": "パスワード", + "Please choose an account": "ユーザーを選択してください", + "Please input password": "パスワードを入力してください", + "Reconnect": "再接続", + "Search": "検索", + "Refresh": "リフレッシュ", + "Checkbox": "複数選択", + "Batch connect": "バッチ接続", + "RDP resolution": "RDP 解像度", + "RDP smart size": "RDP スマート・サイズ", + "RDP color quality": "RDP 色品質", + "Send text to all ssh terminals": "すべてのssh端末にテキストを送信します", + "Switch to quick command": "クイックコマンドに切り替え", + "Switch to input command": "入力コマンドに切り替え", + "Not quick command": "非高速コマンド", + "Save command": "保存コマンド", + "Save success": "保存に成功", + "Send command": "コマンドを送信", + "Current session": "現在のセッション", + "All sessions": "すべてのセッション", + "Module": "ユニット", + "Setting": "設定", + "Show left manager": "左サイドバーを表示", + "Skip": "スキップ", + "Skip manual password": "手動パスワードウィンドウをスキップします", + "Speed": "スピード", + "Support": "サポート", + "Tab List": "ウィンドウリスト", + "Username": "ユーザー名", + "Expire time": "期限切れ", + "Users": "ユーザー", + "View": "ビュー", + "Website": "公式サイト", + "asset": "資産", + "cols": "列数", + "confirm": "確認", + "download": "ダウンロード", + "rows": "行数", + "start time": "開始時間", + "success": "成功", + "system user": "システムユーザー", + "user": "ユーザー", + "Open in new window": "新しいウィンドウが開きます", + "Split connect": "スクリーン接続", + "Split vertically": "垂直分割", + "Close split connect": "分割表示を閉じる", + "Split connect number": "1つのセッションで最大3つの画面分割接続をサポート", + "Right mouse quick paste": "右クイック貼り付け", + "SQL Client": "SQLクライアント", + "Database disabled": "このリンク方式をサポートしていない、管理者に連絡してください", + "Info": "ヒント", + "LeftInfo": "コマンドログをクリックして迅速に定位できるビデオ", + "Asset disabled": "この資産はすでに無効になっている場合、管理者に連絡してください", + "User: ": "ユーザー: {{value}}", + "Asset: ": "アセット: {{value}}", + "Account: ": "アカウント: {{value}}", + "Start Time: ": "開始時間: {{value}}", + "Protocol: ": "プロトコル: {{value}}", + "My assets": "マイ資産", + "My applications": "私の応用", + "Type tree": "タイプツリー", + "Databases": "データベース", + "Remote apps": "リモートアプリケーション", + "Kubernetes": "Kubernetes", + "Command Line": "コマンドライン", + "Force refresh": "強制更新", + "Select account": "システムユーザーの選択", + "No matching found": "マッチがありません", + "Connect Method": "接続方法", + "No available connect method": "接続方法がありません", + "Need to use": "使用する必要がある", + "Yes": "はい", + "No": "いいえ", + "Web Terminal": "Web端末", + "Remember password": "パスワードを覚える", + "Account info": "アカウント情報", + "Download": "ダウンロード", + "Tool download": "ツールダウンロード", + "Launch Program": "起動プログラム", + "RDP client options": "RDPクライアントオプション", + "Full screen": "全画面", + "Driver redirect": "ディスクマウント", + "RDP Client": "RDPクライアント", + "RDP File": "RDPファイル", + "Remember select": "選択を覚える", + "Automatic login next": "次回の自動登録 (右クリック資産接続は再選択できます)", + "Don't prompt again": "次回は提示しない", + "Username@Domain": "ユーザー名 @ ADドメイン", + "InstallClientMsg": "JumpServerクライアントがインストールされていない、今ダウンロードしてインストールしますか?", + "LoginExpireMsg": "ログインが期限切れになりました。ログインし直してください", + "No permission": "権限がありません", + "Last login": "前回ログイン", + "Log out": "ログインを終了", + "Disable auto completion": "自動補完の無効化", + "Advanced option": "上級オプション", + "Host": "ホスト", + "Port": "ポート", + "Protocol": "プロトコル", + "Database": "データベース", + "Click to copy": "クリックしてコピーする", + "Copied": "複製済み", + "Database info": "データベース接続情報", + "Command line": "命令行", + "Close": "閉鎖", + "Manual accounts": "手動アカウント", + "Native": "クライアント", + "Applet": "アプレット", + "General": "基本構成", + "GUI": "グラフィカル", + "CLI": "コマンドライン", + "Asset not found or You have no permission to access it, please refresh asset tree": "アセットが見つからないか、アクセスする権限がありません。アセット ツリーを更新してください", + "Run it by client": "クライアントで実行する", + "Name": "めいしょう", + "Failed to open address": "アドレスを開くことができませんでした", + "Normal accounts": "通常のログインアカウント", + "Special accounts": "特別ログインアカウント", + "Tips": "ヒント", + "Applet connect method": "アプレット接続方法", + "Client": "お客様", + "Keyboard layout": "キーボードレイアウト", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Login reminder": "ログインリマインダー", + "ACL reject login asset": "アクセス制御ポリシーの制限により、このログインは拒否されました", + "Need review for login asset": "このログインは手動で確認する必要があります。続行しますか?", + "Ticket review pending for login asset": "ログイン アプリケーションが送信され、承認者が確認するのを待っています。リンクをコピーして承認者に送信することもできます。", + "Assignees": "受信者", + "Do not close this page": "このページを閉じないでください", + "Ticket review rejected for login asset": "このログイン レビューは拒否されたため、アセットを接続できません", + "Ticket review closed for login asset": "このログイン レビューは終了しており、アセットを接続できません", + "Account not found": "アカウントが見つかりません", + "Copy link": "リンクをコピーする", + "Login review approved": "ログイン監査に合格し、アセットを接続しています...", + "No account available": "アカウントがありません", + "Set reusable": "再利用可能な", + "Re-use for a long time after opening": "開いた後、長い間再利用する", + "Charset": "文字セット", + "The connection method is invalid, please refresh the page": "接続方法が無効です。ページを更新してください", + "Special account": "特別なアカウント", + "Database token help text": " クライアントが接続するデータベースの種類のトークンは、コンポーネントによって5分間キャッシュされます。つまり、トークンは使用後すぐに無効になるわけではありませんが、クライアントが切断されてから5分後に無効になります", + "Help text": "します", + "Pause task has been send": "一時停止タスクが送信されました", + "Resume task has been send": "タスクが再開されました", + "Action: ": "アクション: ", + "Pause": "タスクを一時停止", + "Resume": "タスクを再開", + "connect info": "接続情報", + "Connect command line": "接続コマンドライン", + "Using token": "トークンを使用する", + "Directly": "直接接続", + "Connect checked": "接続済み", + "Batch actions": "バッチ操作", + "Expand": "展開", + "Fold": "折りたたみ", + "Expand all": "すべて展開", + "Fold all": "すべて折りたたみ", + "Password is token password on the table": "パスワードは、テーブルのトークンパスワードです", + "Password is your password login to system": "パスワードは、システムにログインするためのパスワードです", + "Current online": "現在オンライン", + "Token expired": "トークンの有効期限が切れました", + "No protocol available": "利用可能なプロトコルがありません", + "Stop": "Stop", + "VirtualApp": "仮想アプリケーション" +} diff --git a/apps/locale/luna/zh.json b/apps/locale/luna/zh.json new file mode 100644 index 000000000..34b5261f7 --- /dev/null +++ b/apps/locale/luna/zh.json @@ -0,0 +1,209 @@ +{ + "Are you sure to reconnect it?(RDP not support)": "确定要重新连接吗? (RDP暂不支持)", + "Reselect connection method": "可重新选择连接方式", + "Right click asset": "右击资产 → 连接", + "Expand all asset": "展开节点下的所有资产", + "Right click node": "右击节点 → 展开全部", + "Asset tree loading method": "配置资产树加载方式", + "Settings or basic settings": "菜单设置 → 基本设置", + "Download the latest client": "下载最新客户端", + "Help or download": "菜单帮助 → 下载", + "Keyboard switch session": "切换会话 → 快捷键", + "Keyboard keys": "Option + Left / Option + Right", + "Cancel": "取消", + "Choose a User": "选择一个用户", + "Clone Connect": "复制窗口", + "Close All Tabs": "关闭所有", + "Close Current Tab": "关闭当前", + "Close Left Tabs": "关闭左侧", + "Close Other Tabs": "关闭其它", + "Close Right Tabs": "关闭右侧", + "Confirm": "确认", + "Connect": "连接", + "Disconnect": "断开链接", + "Disfavor": "取消收藏", + "Document": "文档", + "Favorite": "收藏", + "File Manager": "文件管理", + "CLI font size": "字符终端字体大小", + "Found": "发现", + "Full Screen": "全屏显示", + "Multi Screen": "多屏显示", + "Help": "帮助", + "Hide left manager": "隐藏左边栏", + "Language": "语言", + "Load tree async": "异步加载资产树", + "Backspace as Ctrl+H": "字符终端Backspace As Ctrl+H", + "Loading": "加载中", + "Password": "密码", + "Please choose an account": "请选择一个用户", + "Please input password": "请输入密码", + "Reconnect": "重新连接", + "Search": "搜索", + "Refresh": "刷新", + "Checkbox": "多选", + "Batch connect": "批量连接", + "RDP resolution": "RDP 分辨率", + "RDP smart size": "RDP 智能大小", + "RDP color quality": "RDP 颜色质量", + "Send text to all ssh terminals": "发送文本到所有ssh终端", + "Switch to quick command": "切换到快捷命令", + "Switch to input command": "切换到输入命令", + "Not quick command": "暂无快捷命令", + "Save command": "保存命令", + "Save success": "保存成功", + "Send command": "发送命令", + "Current session": "当前会话", + "All sessions": "全部会话", + "Module": "模块", + "Setting": "设置", + "Show left manager": "显示左边栏", + "Skip": "跳过", + "Skip manual password": "跳过手动密码窗", + "Speed": "速度", + "Support": "支持", + "Tab List": "窗口列表", + "Username": "用户名", + "Expire time": "过期时间", + "Users": "用户", + "View": "视图", + "Website": "官网", + "asset": "资产", + "cols": "列数", + "confirm": "确认", + "download": "下载", + "rows": "行数", + "start time": "开始时间", + "success": "成功", + "system user": "系统用户", + "user": "用户", + "Open in new window": "新窗口打开", + "Split connect": "分屏连接", + "Split vertically": "垂直分屏", + "Close split connect": "关闭分屏", + "Split connect number": "一个会话最多支持3个分屏连接", + "Right mouse quick paste": "右键快速粘贴", + "SQL Client": "SQL 客户端", + "Database disabled": "不支持此种链接方式,请联系管理员", + "Info": "提示", + "LeftInfo": "点击命令记录可快速定位录像", + "Asset disabled": "该资产已被禁用,请联系管理员", + "User: ": "用户: {{value}}", + "Asset: ": "资产: {{value}}", + "Account: ": "账号: {{value}}", + "Start Time: ": "开始时间: {{value}}", + "Protocol: ": "协议: {{value}}", + "My assets": "我的资产", + "My applications": "我的应用", + "Type tree": "类型树", + "Databases": "数据库", + "Remote apps": "远程应用", + "Kubernetes": "Kubernetes", + "Command Line": "命令行", + "Force refresh": "强制刷新", + "Select account": "选择账号", + "No matching found": "没有匹配项", + "Connect Method": "连接方式", + "No available connect method": "没有可用的连接方法", + "Need to use": "需要使用", + "Yes": "是", + "No": "否", + "Web Terminal": "Web终端", + "Remember password": "记住密码", + "Account info": "账号信息", + "Download": "下载", + "Tool download": "工具下载", + "Launch Program": "启动程序", + "RDP client options": "RDP 客户端选项", + "Full screen": "全屏", + "Driver redirect": "磁盘挂载", + "RDP Client": "RDP 客户端", + "RDP File": "RDP 文件", + "Remember select": "记住选择", + "Automatic login next": "下次自动登录 (右击资产连接可以重新选择)", + "Don't prompt again": "下次不再提示", + "Username@Domain": "用户名@AD域", + "InstallClientMsg": "JumpServer 客户端没有安装,现在去下载安装?", + "LoginExpireMsg": "登录已过期,请重新登录", + "No permission": "没有权限", + "Last login": "上次登录", + "Log out": "退出登录", + "Host": "主机", + "Port": "端口", + "User": "用户", + "Disable auto completion": "禁用自动补全", + "Advanced option": "高级选项", + "Protocol": "协议", + "Database": "数据库", + "Click to copy": "点击复制", + "Copied": "已复制", + "Database info": "数据库信息", + "Database connect info": "数据库连接信息", + "Command line": "连接命令行", + "Run it by client": "使用客户端执行", + "Name": "名称", + "Failed to open address": "打开地址失败", + "With secret accounts": "托管账号", + "Manual accounts": "手动账号", + "Native": "客户端", + "Applet": "远程应用", + "GUI": "图形化", + "Tips": "提示", + "Asset not found or You have no permission to access it, please refresh asset tree": "未找到资产或您无权访问它,请刷新资产树", + "CLI": "命令行", + "Close": "关闭", + "General": "基本配置", + "Applet connect method": "远程应用连接方式", + "Client": "客户端", + "Charset": "字符集", + "Keyboard layout": "键盘布局", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Login reminder": "登录提醒", + "ACL reject login asset": "本次登录已拒绝,原因是访问控制策略的限制", + "Need review for login asset": "本次登录需要进行人工审核,是否继续?", + "Ticket review pending for login asset": "登录申请已提交,等待受理人进行复核,你也可以复制链接发给他", + "Assignees": "受理人", + "Do not close this page": "不要关闭本页面", + "Ticket review approved for login asset": "本次登录审核已通过,是否连接资产?", + "Ticket review rejected for login asset": "本次登录审核已拒绝,不能连接资产", + "Ticket review closed for login asset": "本次登录审核已关闭,不能连接资产", + "Account not found": "账号未找到", + "Copy link": "复制链接", + "Login review approved": "登录审核已通过, 正在连接资产...", + "No account available": "没有可用账号", + "Set reusable": "开启复用", + "Re-use for a long time after opening": "开启后该连接信息可长时间多次使用", + "The connection method is invalid, please refresh the page": "该连接方式已失效,请刷新页面", + "Special accounts": "特殊账号", + "Database token help text": "数据库类型 token 会缓存 5 分钟,也就是说 token 使用后,不会立刻失效,而是客户端断开 5 分钟后,这个 token 才会完全失效", + "Help text": "说明", + "Pause task has been send": "暂停任务已发送", + "Resume task has been send": "恢复任务已发送", + "Action: ": "操作: ", + "Pause": "暂停", + "Resume": "恢复", + "connect info": "连接信息", + "Connect command line": "连接命令行", + "Using token": "使用 Token", + "Directly": "用户名指定连接的资产和账号", + "Connect checked": "连接选中", + "Batch actions": "批量操作", + "Expand": "展开", + "Fold": "折叠", + "Expand all": "展开全部", + "Fold all": "折叠全部", + "Password is token password on the table": "密码是表格中的 Token 密码", + "Password is your password login to system": "密码是你登录系统的密码", + "Current online": "当前在线", + "Token expired": "Token 已过期, 请重新连接", + "No protocol available": "没有可用的协议", + "Stop": "停止", + "VirtualApp": "虚拟应用" +} + diff --git a/apps/settings/api/i18n.py b/apps/settings/api/i18n.py index b198b7c85..a6098526e 100644 --- a/apps/settings/api/i18n.py +++ b/apps/settings/api/i18n.py @@ -12,12 +12,6 @@ class ComponentI18nApi(RetrieveAPIView): base_path = 'locale' permission_classes = [AllowAny] - def get_path(self): - pass - - def head(self, request, *args, **kwargs): - return Response() - def retrieve(self, request, *args, **kwargs): name = kwargs.get('name') component_dir = safe_join(settings.APPS_DIR, 'locale', name) @@ -30,6 +24,10 @@ class ComponentI18nApi(RetrieveAPIView): _lang = file.split('.')[0] with open(safe_join(component_dir, file), 'r') as f: data[_lang] = json.load(f) + if lang: - data = {lang: data.get(lang) or {}} + data = data.get(lang) or {} + flat = request.query_params.get('flat', '1') + if flat == '0': + data = {lang: data} return Response(data) From 513974bbedca795cef9971ccfdd46248c85d9c89 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 15 Jan 2024 16:38:16 +0800 Subject: [PATCH 003/343] perf: remove some category --- apps/assets/const/types.py | 8 ++++---- apps/locale/lina/en.json | 7 ++++++- apps/locale/lina/zh.json | 5 +++++ apps/rbac/serializers/role.py | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 220d10731..6f03839d5 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -169,10 +169,10 @@ class AllTypes(ChoicesMixin): (Category.HOST, HostTypes), (Category.DEVICE, DeviceTypes), (Category.DATABASE, DatabaseTypes), - (Category.CLOUD, CloudTypes), - (Category.WEB, WebTypes), - (Category.GPT, GPTTypes), - (Category.CUSTOM, CustomTypes), + # (Category.CLOUD, CloudTypes), + # (Category.WEB, WebTypes), + # (Category.GPT, GPTTypes), + # (Category.CUSTOM, CustomTypes), ) @classmethod diff --git a/apps/locale/lina/en.json b/apps/locale/lina/en.json index cb1c2b988..9e42b8b2c 100644 --- a/apps/locale/lina/en.json +++ b/apps/locale/lina/en.json @@ -1107,7 +1107,7 @@ "OrgAdmin": "Org Admin", "OrgAuditor": "Org Auditor", "OrgName": "Org name", - "OrgRole": "Org role", + "OrgRole": "Org roles", "OrgRoleHelpText": "Organizational roles are the user's role in the current organization", "OrgRoles": "Org roles", "OrgUser": "Org User", @@ -1620,6 +1620,11 @@ "TableColSettingInfo": "Please select the list details you want to display", "Target": "Target", "TargetResources": "Target resources", + "MenuUsers": "Users", + "MenuAssets": "Assets", + "MenuAccounts": "Accounts", + "MenuPermissions": "Permissions", + "MenuMore": "More...", "Task": "Task", "TaskCenter": "Task", "TaskDetail": "Task detail", diff --git a/apps/locale/lina/zh.json b/apps/locale/lina/zh.json index ab1287ec3..2f5e88fe7 100644 --- a/apps/locale/lina/zh.json +++ b/apps/locale/lina/zh.json @@ -442,6 +442,11 @@ "Correlation": "关联", "Cpu": "CPU", "Create": "创建", + "MenuUsers": "用户管理", + "MenuAssets": "资产管理", + "MenuAccounts": "账号管理", + "MenuPermissions": "授权管理", + "MenuMore": "更多...", "CreateAccessKey": "创建访问密钥", "CreateAccountTemplate": "创建账号模版", "CreateAdhoc": "创建命令", diff --git a/apps/rbac/serializers/role.py b/apps/rbac/serializers/role.py index 84c597396..2e925c0c8 100644 --- a/apps/rbac/serializers/role.py +++ b/apps/rbac/serializers/role.py @@ -24,7 +24,7 @@ class RoleSerializer(serializers.ModelSerializer): ] extra_kwargs = { 'permissions': {'write_only': True}, - 'users_amount': {'label': _('Users amount')}, + 'users_amount': {'label': _('Users')}, 'display_name': {'label': _('Display name')} } From fcb4c6a972e6186e0537d11c938062d494de28f9 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 15 Jan 2024 17:12:13 +0800 Subject: [PATCH 004/343] perf: Add sort json script --- apps/locale/lina/en.json | 3756 ++++++++++++++++---------------- apps/locale/lina/zh.json | 3690 +++++++++++++++---------------- apps/locale/luna/en.json | 400 ++-- apps/locale/luna/ja.json | 410 ++-- apps/locale/luna/zh.json | 415 ++-- apps/locale/sort_json.py | 25 + apps/users/serializers/user.py | 3 + 7 files changed, 4363 insertions(+), 4336 deletions(-) create mode 100644 apps/locale/sort_json.py diff --git a/apps/locale/lina/en.json b/apps/locale/lina/en.json index 9e42b8b2c..41c50959f 100644 --- a/apps/locale/lina/en.json +++ b/apps/locale/lina/en.json @@ -1,1879 +1,1879 @@ { - "": "", - "APIKey": "API Key", - "AWSChina": "AWS(China)", - "AWSInt": "AWS(International)", - "About": "About", - "Accept": "Accept", - "AccessIP": "Access IP", - "AccessKey": "Access Key", - "Account": "Account", - "AccountBackup": "Account backup", - "AccountBackupCreate": "Create account backup", - "AccountBackupPlan": "Account Backup Plan", - "AccountBackupPlanCreate": "Account backup plan create", - "AccountBackupPlanUpdate": "Account backup plan update", - "AccountBackupUpdate": "Update account backup", - "AccountChangeSecret": "Account change", - "AccountCreate": "Create account", - "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", - "AccountDetail": "Account detail", - "AccountEnabled": "Enable account switching", - "AccountExportTips": "The exported information contains account secret, which involves sensitive information. The exported format is an encrypted zip file (if no encryption password is set, please go to personal information to set the file encryption password).", - "AccountGather": "Account gather", - "AccountGatherList": "Gather task", - "AccountGatherTaskCreate": "Create task", - "AccountGatherTaskExecutionList": "Task execution list", - "AccountGatherTaskList": "Account gather", - "AccountGatherTaskUpdate": "Update task", - "AccountHelpText": "A cloud account is used to connect to a cloud service provider and access the provider's resource information.", - "AccountHistoryHelpMessage": "Record the historical version of the current account", - "AccountKey": "Account key", - "AccountList": "Account list", - "AccountName": "Account name", - "AccountPolicy": "Account policy", - "AccountPushCreate": "Account push create", - "AccountPushExecutionList": "Execution list", - "AccountPushList": "Account push", - "AccountPushUpdate": "Account push update", - "AccountStorage": "Account Storage", - "AccountTemplate": "Account template", - "AccountTemplateUpdateSecretHelpText": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.", - "AccountUpdate": "Update account", - "AccountUsername": "Account (Username)", - "Accounts": "Accounts", - "AccountsHelp": "All accounts: accounts exists on the asset; Specify accounts: specify the user name of the account under the asset;Manual input: username/password; Same account: The account username name same with login user", - "Acl": "Access Control", - "Acls": "Acls", - "Action": "Action", - "ActionCount": "Number of actions", - "ActionSetting": "Action setting", - "Actions": "Actions", - "ActionsTips": "The effects of each permission vary, click the icon next to the permission to view.", - "Activate": "Activate", - "ActivateSuccessMsg": "Active success", - "Active": "active", - "ActiveAsset": "Asset active", - "ActiveAssetRanking": "Login asset ranking", - "ActiveSelected": "Active selected", - "ActiveUser": "User active", - "ActiveUserAssetsRatioTitle": "User, Asset active ratio", - "Activity": "Activity", - "AdDomain": "AD Domain", - "AdDomainHelpText": "AD domain provided to domain users for login", - "Add": "Add", - "AddAccount": "Add account", - "AddAccountResult": "Add account result", - "AddAllMembersWarningMsg": "Are you sure you want to add all members?", - "AddApplicationToThisPermission": "Add Application to this permission", - "AddAsset": "Add asset", - "AddAssetToNode": "Add asset to node", - "AddAssetToThisPermission": "Add asset to this permission", - "AddDatabaseAppToThisPermission": "Add DatabaseApp to this permission", - "AddFailMsg": "Add fail", - "AddK8sAppToThisPermission": "Add KubernetesApp to this permission", - "AddNode": "Add node", - "AddNodeToThisPermission": "Add node to this permission", - "AddOrgMembers": "Add organization members", - "AddPassKey": "AddPassKey", - "AddRemoteAppToThisPermission": "Add RemoteApp to this permission", - "AddRolePermissions": "After add or update success, set permissions in detail page", - "AddSuccessMsg": "Add success", - "AddSystemUser": "Add systemuser", - "AddSystemUserToThisPermission": "System user", - "AddUserGroupToThisPermission": "Add user group to this permission", - "AddUserToThisPermission": "Add user to this permission", - "Address": "Address", - "Addressee": "Addressee", - "AdhocDetail": "Adhoc detail", - "AdhocManage": "Adhoc manage", - "AdhocUpdate": "Update Adhoc", - "Admin": "Admin", - "AdminUser": "Admin user", - "AdminUserCreate": "Admin user create", - "AdminUserDetail": "Admin user detail", - "AdminUserList": "Admin Users", - "AdminUserListHelpMessage": "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL sudo permissions users, JumpServer users of the system using the user to `push system user`, `get assets hardware information`, etc.\n", - "AdminUserUpdate": "Admin user update", - "AdminUsersAmount": "Admin users amount", - "Advanced": "Advanced", - "AfterChange": "After the change", - "AjaxError404": "404 ajax error", - "AlibabaCloud": "Alibaba cloud", - "Alive": "alive", - "Aliyun": "Ali Cloud", - "All": "All", - "AllAccountTip": "All accounts of the asset exists", - "AllAccounts": "All accounts", - "AllClickRead": "All read", - "AllMembers": "All members", - "AllOrganization": "All organization", - "AllowInvalidCert": "Ignore certificate check", - "Announcement": "Announcement", - "AnonymousAccount": "Anonymous Account", - "AnonymousAccountTip": "Connect asset without using a username and password, and it only supports web-based and custom-type assets.", - "ApiKey": "API Key", - "ApiKeyList": "The API key is used to sign the request header. The header of each request is different. Please refer to the usage documentation", - "ApiKeyWarning": "To reduce the risk of AccessKey exposure, Secret is provided only during creation and cannot be queried again later. Please keep it safe.", - "App": "Application", - "AppAmount": "Application amount", - "AppAuth": "App auth", - "AppChangeAuthPlan": "App Change Auth Plan", - "AppChangeAuthPlanCreate": "Create App change auth plan", - "AppChangeAuthPlanUpdate": "Update App change auth plan", - "AppEndpoint": "Application access address", - "AppList": "Application list", - "AppName": "App name", - "AppOps": "Task center", - "AppPath": "App path", - "AppPermsAmount": "App perms amount", - "AppProvider": "App provider", - "AppProviderDetail": "Provider Detail", - "AppType": "App type", - "AppletCreate": "Create a remote application", - "AppletDetail": "Remote apps", - "AppletHelpText": "During the upload process, if the application does not exist, the application is created; if it already exists, the application is updated.", - "AppletHostCreate": "Add a remote application publisher", - "AppletHostDetail": "Remote Application Publisher Details", - "AppletHostDomainHelpText": "These domains are in System Organization", - "AppletHostSelectHelpMessage": "When connecting assets, the selection of the applet host is random. If you want to assign a specific one, you can specify the label AppletHost:AppletHostName in the asset label", - "AppletHostUpdate": "Updating the Remote Application Publisher", - "AppletHosts": "Remote hosts", - "Applets": "Applets", - "Applicant": "Applicant", - "Application": "Enter the application group, separated by commas", - "ApplicationAccount": "Application account", - "ApplicationDetail": "Application detail", - "ApplicationPermission": "Application Permissions", - "ApplicationPermissionCreate": "Application permission create", - "ApplicationPermissionDetail": "Application permission detail", - "ApplicationPermissionRules": "Application permission rules", - "ApplicationPermissionUpdate": "Application permission update", - "Applications": "Applications", - "ApplicationsAmount": "Applications amount", - "ApplyAsset": "Apply asset", - "ApplyFromCMDFilterRule": "Command filter rule", - "ApplyFromSession": "Session", - "ApplyInfo": "Apply info", - "ApplyLoginAccount": "Apply login account", - "ApplyLoginAsset": "Apply login asset", - "ApplyLoginSystemUser": "Apply login system user", - "ApplyLoginUser": "Apply login user", - "ApplyRunAsset": "Apply run asset", - "ApplyRunCommand": "Apply run command", - "ApplyRunSystemUser": "Apply run system user", - "ApplyRunUser": "Apply run user", - "Appoint": "appoint", - "ApprovaLevel": "Approval information", - "ApprovalLevel": "Approval level", - "ApprovalProcess": "Approval process", - "Approved": "Approved", - "ApproverNumbers": "Approver numbers", - "AppsCount": "App count", - "AppsList": "App list", - "ApsaraStack": "Apsara Stack", - "Asset": "Asset", - "AssetAccount": "Asset account", - "AssetAccountDetail": "Asset account detail", - "AssetAclCreate": "Asset acl create", - "AssetAclDetail": "Asset acl detail", - "AssetAclList": "Asset connect acl", - "AssetAclUpdate": "Asset acl update", - "AssetAddress": "IP/Host", - "AssetAmount": "Asset", - "AssetAndNode": "Assets and node", - "AssetBulkUpdateTips": "device、cloud、web,Batch update of domain is not supported", - "AssetChangeAuthPlan": "Asset Change Auth Plan", - "AssetChangeAuthPlanCreate": "Create Asset change auth plan", - "AssetChangeAuthPlanUpdate": "Update Asset change auth plan", - "AssetChangeSecretCreate": "Create account change secret", - "AssetChangeSecretUpdate": "Update account change secret", - "AssetCount": "Asset count", - "AssetCreate": "Asset create", - "AssetData": "Asset data", - "AssetDetail": "Asset detail", - "AssetHistoryAccount": "Asset history account", - "AssetIpGroup": "Asset ip group", - "AssetList": "Assets", - "AssetListHelpMessage": "The left side is the asset tree, right click to create, delete, and change the tree node, authorization asset is also organized as a node, and the right side is the asset under that node\n", - "AssetLoginACLHelpMsg": "It can determine whether the user can access the asset based on the user's login IP and time period.", - "AssetName": "Asset name", - "AssetNumber": "Asset number", - "AssetPermission": "Asset permissions", - "AssetPermissionCreate": "Asset permissions create", - "AssetPermissionDetail": "Asset permissions detail", - "AssetPermissionHelpMsg": "Asset permission allows you to authorize the assets to the users. Additionally, you can set some specific action permission.", - "AssetPermissionList": "Asset permission list", - "AssetPermissionRules": "Asset permission rules", - "AssetPermissionUpdate": "Asset permissions update", - "AssetPermsAmount": "Asset perms amount", - "AssetProtocolHelpText": "Asset support protocol is limited by platform, click the Settings button to view the protocol settings. If you need to update, please update the platform", - "AssetRatio": "Asset radio", - "AssetResultDetail": "Asset result", - "AssetTree": "Asset tree", - "AssetUpdate": "Asset update", - "AssetUserList": "Asset user", - "Assets": "Assets", - "AssetsAmount": "Assets amount", - "AssetsTotal": "Asset total", - "AssignedInfo": "Assigned Info", - "AssignedMe": "Assigned me", - "AssignedTicketList": "Todo approval", - "Assignee": "Assignee", - "Assignees": "Assignees", - "AssociateApplication": "Associate application", - "AssociateAssets": "Associate assets", - "AssociateNodes": "Associate nodes", - "AssociateSystemUsers": "Associate system users", - "AttrName": "Attribute Name", - "AttrValue": "Attribute Value", - "Auditor": "Auditor", - "Audits": "Audit", - "Auth": "Auth", - "AuthCASAttrMap": "User Attribute Mapping", - "AuthLdap": "Enable LDAP auth", - "AuthLdapBindDn": "Bind DN", - "AuthLdapBindPassword": "Password", - "AuthLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", - "AuthLdapSearchOu": "Use | split User OUs", - "AuthLdapServerUri": "LDAP server", - "AuthLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username, name, email is jumpserver attr", - "AuthLimit": "Auth limit", - "AuthMethod": "Auth methods", - "AuthSAML2AdvancedSettings": "Advanced Settings", - "AuthSAML2MetadataUrl": "IDP metadata URL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "After upload cert and private key, View SP Metadata", - "AuthSAMLKeyHelpText": "SP cert and private key, using communicate with IDP", - "AuthSaml2UserAttrMapHelpText": "Mapping relationship { saml2Key: spKey}", - "AuthSecurity": "Auth security", - "AuthSetting": "Auth setting", - "AuthSettings": "Auth settings", - "AuthUserAttrMap": "User attr map", - "AuthUserAttrMapHelpText": "Mapping relationship { idpKey: spKey}", - "AuthUsername": "Auth using username", - "Authentication": "Account", - "Author": "Author", - "Auto": "Auto", - "AutoCreate": "Auto create", - "AutoEnabled": "Enable Automation", - "AutoGenerateKey": "Auto generate ssh key", - "AutoPush": "Auto push", - "Automations": "Automation", - "AverageTimeCost": "Average time spent", - "Azure": "Azure(China)", - "AzureInt": "Azure(International)", - "Backup": "Backup", - "BadConflictErrorMsg": "Refreshing, please try again later", - "BadRequestErrorMsg": "Bad request, please check again", - "BadRoleErrorMsg": "Bad request, no permission for this operation", - "BaiduCloud": "Baidu Cloud", - "BasePlatform": "Base platform", - "BasePort": "listening port", - "Basic": "Basic", - "BasicInfo": "Basic info", - "BasicSetting": "Basic setting", - "BasicTools": "Basic tool", - "BatchActivate": "Batch activate", - "BatchApproval": "Batch approval", - "BatchCommand": "Batch Command", - "BatchCommandNotExecuted": "Batch command not executed", - "BatchConsent": "Batch consent", - "BatchDelete": "Batch delete", - "BatchDisable": "Batch disable", - "BatchProcessing": "Batch processing(select {Number} items)", - "BatchReject": "Batch reject", - "BatchRemoval": "Batch removal", - "BatchScript": "Batch Script", - "BatchUpdate": "Batch update", - "Become": "Become", - "BeforeChange": "Before change", - "Beian": "Registration", - "BelongAll": "Contains all", - "BelongTo": "Contains any", - "Bind": "Bind", - "BindLabel": "Bind label", - "BindResource": "Bind resource", - "BindSuccess": "Bind success", - "BlockedIPS": "Blocked IPS", - "Bucket": "Bucket", - "Builtin": "Builtin", - "BuiltinTree": "Type tree", - "BuiltinVariable": "Builtin variable", - "BulkClearErrorMsg": "Bulk clear error:", - "BulkCreateStrategy": "When creating accounts that do not meet the requirements, such as key type non-compliance and unique key constraints, the above policies can be selected.", - "BulkDeleteErrorMsg": "Bulk delete failed: ", - "BulkDeleteSuccessMsg": "Bulk delete success", - "BulkDeploy": "Bulk deploy", - "BulkOffline": "Bulk offline", - "BulkRemoveErrorMsg": "Bulk remove failed: ", - "BulkRemoveSuccessMsg": "Bulk remove success", - "BulkSyncDelete": "Bulk sync delete", - "BulkSyncErrorMsg": "Bulk sync success:", - "BulkTransfer": "Bulk transfer", - "BulkUnblock": "BulkUnblock", - "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset is the same as the selected platform type will it be updated, if the platform type before and after the update is different, it will not be updated.", - "CACertificate": "CA Certificate", - "CAS": "CAS", - "CASSetting": "CAS setting", - "CMPP2": "CMPP v2.0", - "CTYunPrivate": "CTYun Private", - "CalculationResults": "calculationResults...", - "CanDragSelect": "Can drag the mouse to select a time period", - "Cancel": "Cancel", - "CancelCollection": "Cancel collection", - "CannotAccess": "Unable to access the current page", - "Cas": "CAS", - "Category": "Category", - "CeleryTaskLog": "Celery task log", - "Certificate": "Certificate", - "CertificateKey": "Certificate Key", - "ChangeAuthPlan": "Change Auth Plan", - "ChangeField": "Change field", - "ChangePassword": "Change password", - "ChangeReceiver": "Change Receivers", - "ChangeSecretParams": "Change secret params", - "ChangeViewHelpText": "Click to change view", - "Charset": "Charset", - "Chat": "Chat", - "ChatAI": "Chat ai", - "ChatHello": "Hello! What help can I offer you?", - "ChdirHelpText": "The default execution directory is the home directory of the executing user", - "CheckAssetsAmount": "Check assets amount", - "CheckViewAcceptor": "View more acceptor", - "ChinaRed": "China red", - "Chrome": "Chrome", - "ChromePassword": "Password", - "ChromeTarget": "target URL", - "ChromeUsername": "Account", - "ClassicGreen": "Classic green", - "CleanHelpText": "Regular cleanup tasks will be executed at 2 o'clock in the morning every day, and the cleaned data cannot be recovered", - "Cleaning": "Period clean", - "Clear": "Clear", - "ClearScreen": "Clear screen", - "ClearSecret": "Clear secret", - "ClearSelection": "Clear selection", - "ClearSuccessMsg": "Clear success", - "ClickCopy": "Click copy", - "Clickhouse": "ClickHouse", - "ClientCertificate": "Client certificate", - "ClipBoard": "ClipBoard", - "ClipboardCopy": "Clipboard copy", - "ClipboardCopyPaste": "Copy Paste", - "ClipboardPaste": "Clipboard paste", - "Clone": "Duplicate", - "CloneFrom": "Duplicate from ", - "Close": "Close", - "CloseConfirm": "Confirm close", - "CloseConfirmMessage": "The file has changed, do you want to save it?", - "CloseStatus": "Close", - "Closed": "Closed", - "Cloud": "Cloud app", - "CloudCenter": "Cloud Center", - "CloudCreate": "Create Asset - Cloud Platform", - "CloudPlatform": "Cloud platform", - "CloudSource": "Cloud source", - "CloudSync": "Cloud sync", - "CloudUpdate": "Update Asset - Cloud Platform", - "Clouds": "Cloud", - "Cluster": "Cluster", - "ClusterHelpTextMessage": "Tips: https://172.16.8.8:8443", - "CmdFilter": "CmdFilter", - "CollapseSidebar": "Collapse the sidebar", - "CollectHardwareInfo": "Enable collection of hardware information", - "CollectionSucceed": "Collection succeed", - "Command": "Command", - "Command filter": "Command filter", - "CommandConfirm": "Command confirm", - "CommandExecutions": "CommandExecutions ", - "CommandFilterACL": "Command filter", - "CommandFilterACLHelpMsg": "You can control whether commands can be executed on assets. Based on the rules, certain commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Command acl create", - "CommandFilterAclDetail": "Command acl detail", - "CommandFilterAclList": "Command acl", - "CommandFilterAclUpdate": "command acl update", - "CommandFilterCreate": "Command filter create", - "CommandFilterDetail": "Command filter detail", - "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; multiple rules can be configured in the filter. When the system user is used to connect to the asset, the input command takes effect according to the priority of the rules configured in the filter.
Example: The first matched rule is \"Allow\", the command is executed, the first matched rule is \"Forbidden\", the command execution is prohibited; if the last rule is not matched, it is allowed to be executed.", - "CommandFilterList": "Command filter list", - "CommandFilterRuleContentHelpText": "One line one command", - "CommandFilterRulePriorityHelpText": "1-100, the higher will be match first", - "CommandFilterRules": "Command filter rules", - "CommandFilterRulesCreate": "Command filter rules create", - "CommandFilterRulesUpdate": "Command filter rules update", - "CommandFilterUpdate": "Command filter update", - "CommandGroup": "Command group", - "CommandGroupCreate": "Command group create", - "CommandGroupDetail": "Command group detail", - "CommandGroupList": "Command group", - "CommandGroupUpdate": "Command group update", - "CommandStorage": "Command storage", - "CommandStorageUpdate": "Command storage update", - "Commands": "Commands", - "Comment": "Comment", - "CommentHelpText": "Note: Note information will be hovered and displayed in the user authorization asset tree of Luna page, which can be viewed by ordinary users. Please do not fill in sensitive information.", - "Common": "common", - "CommonUser": "Common user", - "CommunityEdition": "Community edition", - "Component": "component", - "ComponentMonitor": "System Monitor", - "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Do not respond with anything except the output of the code. ", - "ConceptTitle": "🤔 Python interpreter", - "Config": "Config", - "Confirm": "Confirm", - "ConfirmPassword": "Confirm password", - "Connect": "Connect", - "ConnectMethod": "Connect method", - "ConnectMethodACLHelpMsg": "You can control whether users can use a certain connection method to log in to the asset. Based on the rules you set, certain connection methods can be allowed while others are prohibited(global effective).", - "ConnectMethodAclCreate": "Create connect method acl", - "ConnectMethodAclDetail": "Connect method acl detail", - "ConnectMethodAclList": "Connect method acl", - "ConnectMethodAclUpdate": "Update connect method acl", - "ConnectUsers": "Connect accounts", - "ConnectWebSocketError": "Connect Websocket failed", - "ConnectionDropped": "Connection dropped", - "ConnectionToken": "Connection token", - "ConnectionTokenList": "The connection token is a kind of authentication information that combines authentication and connection assets. It allows users to log in to assets with one click. Currently supported components include: KoKo, Lion, Magnus, Razor, etc.", - "Connectivity": "Reachable", - "Console": "Console", - "Consult": "Consult", - "ContainAttachment": "Contain attachment", - "ContainerName": "Container name", - "Containers": "Containers", - "Contains": "Contains", - "Content": "Content", - "Contents": "Contents", - "Continue": "Continue", - "ContinueImport": "ContinueImport", - "ConvenientOperate": "Convenient operate", - "Copy": "Copy", - "CopySuccess": "Copy success", - "Corporation": "Corporation", - "Correlation": "Correlation", - "Cpu": "Cpu", - "Create": "Create", - "CreateAccessKey": "Create Access key", - "CreateAccountTemplate": "Create account template", - "CreateAdhoc": "Create Adhoc", - "CreateBy": "Create by", - "CreateCommandStorage": "Create command storage", - "CreateEndpoint": "Create endpoint", - "CreateEndpointRule": "Create endpoint rule", - "CreateErrorMsg": "Create error", - "CreateNode": "Create node", - "CreateOrgMsg": "Please go to Organization Details to add users", - "CreatePlaybook": "Create Playbook", - "CreateRemoteApp": "Create asset - Remote app", - "CreateReplayStorage": "Create object storage", - "CreateSuccessMsg": "Create success", - "CreateUserSetting": "Create User setting", - "Created": "Created", - "CreatedBy": "Created by", - "CriticalLoad": "Critical", - "CronExpression": "cron expression", - "CrontabHelpTips": "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips:Using 5 digits linux crontab expressions (Online tools)
Note:If both Regularly perform and Cycle perform are set, give priority to Regularly perform", - "CrontabOfCreateUpdatePage": "For example: every Sunday at 03:05 execute <5 3 * * 0>
Using the 5-bit Linux crontab expression ( Online tool )
If both regularly perform and cycle perform execution are set, use regularly perform first", - "CurrentConnections": "Current connections", - "CurrentUserVerify": "Verify Current User", - "Custom": "Custom", - "CustomCmdline": "Cmdline", - "CustomCol": "Custom table display", - "CustomCreate": "Create Asset - Custom", - "CustomFields": "Custom Fields", - "CustomFile": "Save the customized file to the specified directory (data/sms/main.py) and enable the configuration item SMSCUSTOMFILEMD5= in config.txt", - "CustomHelpMessage": "The assets of custom types require applet support. Please ensure that the corresponding applet is installed.", - "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the JumpServer parameters to be formatted, as follows::
{\"phoneNumbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", - "CustomPassword": "Password", - "CustomTarget": "target URL", - "CustomTree": "Custom tree", - "CustomType": "Custom Type", - "CustomUpdate": "Update Asset - Custom", - "CustomUser": "Custom user", - "CustomUsername": "Account", - "Cycle": "Cycle", - "CycleFromWeek": "cycle from week", - "CyclePerform": "Cycle perform", - "DBInfo": "Database Info", - "DangerCommand": "Danger command", - "DangerousCommandNum": "Dangerous command num", - "Dashboard": "Dashboard", - "Database": "Database", - "DatabaseApp": "DatabaseApp", - "DatabaseAppCount": "DatabaseApp count", - "DatabaseAppCreate": "Database app create", - "DatabaseAppDetail": "Database app detail", - "DatabaseAppPermission": "Databases permissions", - "DatabaseAppPermissionCreate": "Databases permissions create", - "DatabaseAppPermissionDetail": "Databases permissions detail", - "DatabaseAppPermissionUpdate": "Databases permissions update", - "DatabaseAppUpdate": "Database app update", - "DatabaseCreate": "Create Asset - Database", - "DatabaseId": "Database Id", - "DatabasePermissionRules": "Database Permission rules", - "DatabasePort": "Database protocol port", - "DatabaseProtocol": "Database Protocol", - "DatabaseUpdate": "Update Asset - Database", - "Date": "Date", - "DateCreated": "Date created", - "DateEnd": "Date end", - "DateExpired": "Date expired", - "DateFinished": "Date finished", - "DateJoined": "Date joined", - "DateLast24Hours": "Last 24 hours", - "DateLast3Months": "Last 3 months", - "DateLastHarfYear": "Last half year", - "DateLastLogin": "Date last login", - "DateLastMonth": "Last month", - "DateLastRun": "last run date", - "DateLastSync": "Date last sync", - "DateLastWeek": "Last week", - "DateLastYear": "Last year", - "DatePasswordLastUpdated": "Date password last updated", - "DatePasswordUpdated": "Date password updated", - "DateStart": "Date start", - "DateSync": "Date sync", - "DateUpdated": "Date updated", - "Datetime": "Datetime", - "Day": "day", - "Db": "Database app", - "DeactiveSelected": "Deactive selected", - "DeclassificationLogNum": "Declassification log num", - "Default": "Default", - "DefaultDatabase": "Default database", - "DefaultPort": "Default port", - "DefaultProtocol": "Default agreement, which will be selected by default when adding assets", - "Defaults": "Default", - "Delete": "Delete", - "DeleteConfirmMessage": "It cannot be restored after deletion, continue?", - "DeleteErrorMsg": "Delete failed", - "DeleteFailedMsg": "Delete failed", - "DeleteFile": "Delete file", - "DeleteNode": "Delete node", - "DeleteOrgMsg": "User list、User group、Asset list、Domain list、Admin user、System user、Labels、Asset permission", - "DeleteOrgTitle": "Please ensure that the following information in the organization has been deleted", - "DeleteReleasedAssets": "Delete released assets", - "DeleteSuccess": "Successfully deleted", - "DeleteSuccessMsg": "Delete success", - "DeleteWarningMsg": "Are you sure to delete ", - "DeliveryTime": "Delivery time", - "Deploy": "Deploy", - "DescribeOfGuide": "Welcome to JumpServer. Click here for more information", - "Description": "Description", - "DestinationIP": "Destination address", - "DestinationPort": "Destination port", - "Detail": "Detail", - "Device": "Device", - "DeviceCreate": "Create Asset - Network Device", - "DeviceUpdate": "Update Asset - Network Device", - "Digit": "Digit", - "DingTalk": "DingTalk", - "DingTalkTest": "Test", - "Disable": "Disable", - "DisableSuccessMsg": "Disable success", - "DisabledAsset": "Asset disabled", - "DisabledUser": "User disabled", - "Disk": "Disk", - "DisplayName": "Display name", - "DocType": "Doc type", - "Docs": "Docs", - "Domain": "Domain", - "DomainCreate": "Domain create", - "DomainDetail": "Domain detail", - "DomainEnabled": "Enable domain", - "DomainHelpMessage": "The domain function is added to address the fact that some environments (such as the hybrid cloud) cannot be connected directly by jumping on the gateway server.\nJMS => Domain gateway => Target assets", - "DomainList": "Domains", - "DomainUpdate": "Domain update", - "Download": "download", - "DownloadCenter": "Download center", - "DownloadFTPFileTip": "The current action is not recorded in the file, or the file size exceeds the threshold (100 MB by default), or is not saved to the corresponding storage", - "DownloadFile": "Download file", - "DownloadImportTemplateMsg": "Download import template", - "DownloadReplay": "Download replay", - "DownloadUpdateTemplateMsg": "Download update template", - "DragUploadFileInfo": "Drag file here or click here to upload", - "DropConfirmMsg": "Are you sure mv {src} to {dst} ?", - "DryRun": "Dry run", - "DuplicateFileExists": "Uploading files with the same name is not allowed. Please delete the existing file with the same name.", - "Duration": "Duration", - "DynamicUsername": "Dynamic username", - "Edit": "Edit", - "Edition": "Edition", - "Email": "Email", - "EmailContent": "Email content setting", - "EmailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", - "EmailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", - "EmailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", - "EmailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", - "EmailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", - "EmailHost": "SMTP host", - "EmailHostPassword": "Tips: Some provider use token except password", - "EmailHostUser": "SMTP user", - "EmailPort": "SMTP port", - "EmailRecipient": "Tips: Used only as a test mail recipient", - "EmailSubjectPrefix": "Tips: Some word will be intercept by mail provider", - "EmailTest": "Test connection", - "EmailUserSSL": "If SMTP port is 465, may be select", - "EmailUserTLS": "If SMTP port is 587, may be select", - "Empty": "Empty", - "Enable": "Enable", - "EnableKoKoSSHHelpText": "Enabled, connect assets to display SSH Client pull-up method", - "EnableOAuth2Auth": "Enable OAuth2 authentication", - "EnableSAML2Auth": "Enable SAML2 Auth", - "EnableVaultStorage": "Opening Vault Storage", - "EndPoint": "Endpoint", - "Endpoint": "Endpoint", - "EndpointListHelpMessage": "The service endpoint is the address (port) for the user to access the service. When the user connects to the asset, the service endpoint will be selected according to the endpoint rules and asset tags, and the connection will be established as the access entry to realize the distributed connection of assets.", - "EndpointRule": "Endpoint rule", - "EndpointRuleListHelpMessage": "For the service endpoint selection strategy, two types are currently supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through the asset tag. The tag name is fixed to endpoint, and the value is the name of the `endpoint`.
Two methods preferentially use label matching, because the IP segment may conflict, and the label method exists as a supplement to the rules.", - "EndpointSuffix": "Endpoint suffix", - "Endswith": "Ends With", - "EnsureThisValueIsGreaterThanOrEqualTo1": "Ensure this value is greater than or equal to 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "Ensure this value is greater than or equal to 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "Ensure this value is greater than or equal to 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure this value is greater than or equal to 6", - "EnterForSearch": "Press enter to search", - "EnterMessage": "Please enter a question, press Enter to send", - "EnterRunUser": "Enter run user", - "EnterRunningPath": "Enter running path", - "EnterToContinue": "Press Enter to continue", - "EnterUploadPath": "Enter the upload path", - "Enterprise": "Enterprise", - "EnterpriseEdition": "Enterprise edition", - "Equal": "Equal", - "Error": "Error", - "ErrorMsg": "Error", - "EsDisabled": "Node is unavailable, please contact administrator", - "EsDocType": "Es provides the default document type: command", - "EsIndex": "Es provides the default index: jumpserver. If you choose to build an index by date, this blank is the index prefix", - "EsUrl": "Cannot contain special characters `#`; eg: http://esUser:esPassword@esHost:esPort", - "Every": "every", - "EveryMonth": "every month", - "Exclude": "Exclude", - "ExcludeAsset": "Skipped assets", - "ExcludeSymbol": "Exclude symbol", - "Execute": "Execute", - "ExecuteCycle": "Execute cycle", - "ExecuteFailedCommand": "Execute failed command", - "ExecuteOnce": " execute once", - "Execution": "Execution", - "ExecutionDetail": "Execution detail", - "ExecutionList": "Execution list", - "ExecutionTimes": "Execution times", - "ExistError": "This element already exists", - "Existing": "Existing", - "ExpectedNextExecuteTime": "Expected next execute time", - "ExpirationTimeout": "Expiration timeout (second)", - "Expire": "Expire", - "Expired": "Expired", - "Export": "Export", - "ExportAll": "Export all", - "ExportOnlyFiltered": "Export only filtered", - "ExportOnlySelectedItems": "Export only selected items", - "ExportRange": "Export range", - "FAILURE": "Failure", - "FC": "Fusion Compute", - "Failed": "Failed", - "FailedAsset": "Failed asset", - "FailedConditions": "cron expression error", - "False": "False", - "Favicon": "Website icon", - "FaviconTip": "Tips: website icon. (suggest image size: 16px*16px)", - "Feature": "Feature", - "Features": "Features", - "FeiShu": "FeiShu", - "FeiShuTest": "Test", - "FieldRequiredError": "This field is required", - "FileEncryptionPassword": "File encryption password", - "FileManager": "File manager", - "FileNameTooLong": "File name too long", - "FileSizeExceedsLimit": "File size exceeds limit", - "FileTransfer": "File transfer", - "FileTransferNum": "File transfer num", - "FileType": "File type", - "Filename": "Filename", - "FingerPrint": "Fingerprint", - "Finished": "Finished", - "FinishedTicket": "Finished Ticket", - "FirstLogin": "First login", - "FlowDetail": "Flow detail", - "FlowSetUp": "Flow set up", - "FormatError": "Format error", - "Friday": "Friday", - "From": "from", - "FromTicket": "From ticket", - "FtpLog": "FTP Logs", - "FullName": "Full name", - "FullySynchronous": "Assets fully synchronized", - "FullySynchronousHelpTips": "Whether to continue synchronizing assets when the asset conditions do not meet the matching policy rules", - "FuzzySearch": "Support for fuzzy search", - "GCP": "Google Cloud Platform", - "GPTCreate": "Create Asset - GPT", - "GPTUpdate": "Update Asset - GPT", - "Gateway": "Gateway", - "GatewayCreate": "Gateway create", - "GatewayList": "Gateway", - "GatewayProtocolHelpText": "SSH protocol gateway, support proxy SSH, RDP, VNC", - "GatewayUpdate": "Gateway update", - "GatherUser": "Gather User", - "GatherUserList": "Gather user", - "GatherUserTaskCreate": "Create gather user task", - "GatherUserTaskDetail": "Gather user detail", - "GatherUserTaskExecutionList": "Gather user task execution list", - "GatherUserTaskList": "Gather user task list", - "GatherUserTaskUpdate": "Update gather user task", - "GeneralAccounts": "General Accounts", - "Generate": "Generate", - "GenerateAccounts": "Regenerate accounts", - "GenerateSuccessMsg": "Accounts generated successfully", - "GetErrorMsg": "Get failed", - "Go": "Go", - "GoHomePage": "Go home page", - "Goto": "Goto", - "GrantedAccounts": "Granted accounts", - "GrantedApplications": "Granted applications", - "GrantedAssets": "Granted assets", - "GrantedDatabases": "Granted databases", - "GrantedK8Ss": "Granted K8Ss", - "GrantedRemoteApps": "Granted remote apps", - "GreatEqualThan": "Greater than or equal to", - "GroupsAmount": "Groups amount", - "GroupsHelpMessage": "Please fill in user groups, separated by commas if there are multiple user groups(Please fill in the existing user groups)", - "Guide": "Guide", - "HandleTicket": "Handle Ticket", - "Hardware": "Hardware", - "HardwareInfo": "Hardware info", - "HasImportErrorItemMsg": "There is an error item, click the x icon to view the details, and continue to import after editing", - "HasRead": "Has read", - "Help": "Help", - "HelpDocument": "Docs link", - "HelpDocumentTip": "You can change the URL of the site navigation bar help -> Docs", - "HelpSupport": "Support link", - "HelpSupportTip": "You can change the URL of the site navigation bar help -> Support", - "HighLoad": "High", - "HistoricalSessionNum": "Historical session num", - "History": "History record", - "HistoryDate": "History date", - "HistoryPassword": "History password", - "Home": "Home", - "HomeHelpMessage": "Default home directory: /home/system username", - "HomePage": "Home page", - "Host": "Asset", - "HostCreate": "Create Asset - Host", - "HostDeployment": "Remote host deployment", - "HostList": "Host list", - "HostName": "Hostname", - "HostProtocol": "Host Protocol", - "HostUpdate": "Update Asset - Host", - "Hostname": "Hostname", - "HostnameGroup": "Hostname group", - "HostnameStrategy": "Used to produce the asset hostname. For example, 1. Instance name (instanceDemo);2. Instance name and Partial IP (instanceDemo-250.1)", - "Hosts": "Hosts", - "Hour": "hour", - "HttpPort": "Http port", - "HuaweiCloud": "Huawei Cloud", - "HuaweiPrivatecloud": "Huawei Private Cloud", - "IAgree": "I agree", - "ID": "ID", - "IP": "IP", - "IP/Host": "IP/Host", - "IPGroup": "IP group", - "IPLoginLimit": "IP login limit", - "IPMatch": "IP Match", - "IPNetworkSegment": "Ip Network Segment", - "Icon": "Icon", - "Id": "ID", - "IdeaContent": "I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. .", - "IdeaTitle": "🌱 Linux Terminal", - "IdpMetadataHelpText": "Choose one of IDP metadata URL and IDP metadata XML parameters. IDP metadata URL has high priority", - "IdpMetadataUrlHelpText": "Load IDP Metadata from remote url", - "IgnoreCase": "Ignore case", - "ImageName": "Image name", - "Images": "Images", - "Import": "Import", - "ImportAll": "Import All", - "ImportFail": "Import failed", - "ImportLdapUserTip": "Please submit the LDAP configuration before import", - "ImportLdapUserTitle": "LDAP user list", - "ImportLicense": "Import license", - "ImportLicenseTip": "Please Import License", - "ImportMessage": "Please go to the page of mapping type to import data", - "ImportOrg": "Import organization", - "ImprovePersonalInformation": "Improve personal information", - "InActiveAsset": "Asset not visited", - "InActiveUser": "User not visit", - "InAssetDetail": "Update account information in asset details", - "InTotal": "In total", - "Inactive": "Disabled", - "Include": "Include", - "Index": "Index", - "Info": "info", - "Inherit": "Inherit", - "InheritPlatformConfig": "Inherited from the platform configuration. If you need to change, please change the configuration in the platform.", - "InitialDeploy": "Initial deploy", - "Input": "Input", - "InputEmailAddress": "Please enter your email address", - "InputMessage": "Input message...", - "InputNumber": "Please enter the number type", - "InputPhone": "Please enter your mobile phone number", - "InsecureCommandAlert": "Insecure command alert", - "InsecureCommandEmailUpdate": "Setting", - "InsecureCommandNotifyToSubscription": "Insecure command notification setting, change to system message subscription, support more notify method", - "InstanceAddress": "Instance address", - "InstanceName": "Instance name", - "InstancePlatformName": "Instance platform name", - "InstantAdhoc": "Instant command", - "Interface": "Interface", - "InterfaceSettings": "Interface", - "IntervalOfCreateUpdatePage": "Unit: hour", - "Invalid": "Invalid", - "InvalidJson": "Not a valid json format", - "Invalidity": "Invalidity", - "Invite": "Invite", - "InviteSuccess": "Invite success", - "InviteUser": "Invite user", - "InviteUserInOrg": "Invite user in this org", - "Ip": "IP", - "IpDomain": "IP(Host)", - "IpGroup": "IP group", - "IpGroupHelpText": "* means match all. Example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "Enter the IP address group, separated by commas", - "IsActive": "Is active", - "IsAlwaysUpdate": "Keep assets up to date", - "IsAlwaysUpdateHelpTips": "Whether to synchronize asset information, including host name, IP address, system platform, network domain, and node information, each time a synchronization task is executed", - "IsEffective": "Effective", - "IsFinished": "Is finished", - "IsLocked": "Is Locked", - "IsSuccess": "Is success", - "IsSyncAccountHelpText": "After the collection is completed, the collected account will be synchronized to the asset", - "IsSyncAccountLabel": "Synchronize to Asset", - "IsValid": "Validity", - "JDCloud": "JD Cloud", - "JMSSSO": "SSO Token Login", - "Job": "Job", - "JobCenter": "Job", - "JobCreate": "Create job", - "JobDetail": "Job detail", - "JobExecutionLog": "Job execution log", - "JobList": "Job list", - "JobName": "Job name", - "JobType": "Job type", - "JobUpdate": "Update job", - "Join": "join", - "K8s": "kubernetes", - "K8sPermissionRules": "Kubernetes Permission rules", - "Key": "Key", - "KingSoftCloud": "KingSoft Cloud", - "KokoSettingUpdate": "Koko setting", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes apps", - "KubernetesAppCount": "KubernetesApp count", - "KubernetesAppCreate": "Kubernetes app create", - "KubernetesAppDetail": "Kubernetes app detail", - "KubernetesAppPermission": "Kubernetes permissions", - "KubernetesAppPermissionCreate": "Kubernetes permissions create", - "KubernetesAppPermissionDetail": "Kubernetes permissions detail", - "KubernetesAppPermissionUpdate": "Kubernetes permissions update", - "KubernetesAppUpdate": "Kubernetes app update", - "LAN": "LAN", - "LDAPServerInfo": "LDAP Server", - "LDAPUser": "LDAP User", - "LOWERCASEREQUIRED": "Lower case required", - "Label": "Label", - "LabelCreate": "Label create", - "LabelInputFormatValidation": "Format error, correct format is:name:value", - "LabelList": "Label list", - "LabelUpdate": "Label update", - "Language": "Language", - "Last30": "Last 30 times", - "Last30Days": "Last30 days", - "Last7Days": "Last 7 days", - "LastCannotBeDeleteMsg": "The last one can't be delete", - "LastDay": "last day of the month", - "LastExecutionOutput": "Lask execution output", - "LastPublishedTime": "Last published", - "LastRun": "Last run", - "LastRunFailedHosts": " Last run failed hosts", - "LastRunSuccessHosts": " Last run success hosts", - "LastWeek": "last week of the month", - "LastWorking": "the last working day", - "LatestSessions": "Latest sessions", - "LatestSessions10": "Latest sessions top 10", - "LatestTop10": "TOP 10", - "LatestVersion": "Latest version", - "Ldap": "LDAP", - "LdapBulkImport": "Bulk import", - "LdapConnectTest": "Test connection", - "LdapLoginTest": "Test login", - "Length": "Length", - "LessEqualThan": "Less than or equal to", - "LevelApproval": "Level approval", - "License": "License", - "LicenseDetail": "License detail", - "LicenseExpired": "License expired", - "LicenseFile": "License file", - "LicenseForTest": "Testing license, This license is only for testing", - "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", - "LicenseWillBe": "License will expire at ", - "LinuxAdminUser": "Linux Admin user", - "LinuxUserAffiliateGroup": "Linux user affiliate group", - "LoadStatus": "Load status", - "Loading": "Loading", - "LockedIP": "Locked IPs {count}", - "Log": "Log", - "LogData": "Log data", - "LogOfLoginSuccessNum": "Log of login success num", - "Logging": "Logging", - "Login": "Users login", - "LoginAssetConfirm": "Asset login confirm", - "LoginAssetToday": "Active assets today", - "LoginAssets": "Active assets", - "LoginCity": "Login city", - "LoginConfig": "Login config", - "LoginConfirm": "Login confirm", - "LoginConfirmUser": "Log in as the review assignee", - "LoginCount": "Login count", - "LoginDate": "Login date", - "LoginFailed": "Login failed", - "LoginFrom": "Login from", - "LoginIP": "Login IP", - "LoginImage": "Image of login page", - "LoginImageTip": "Tips: It will be displayed on the enterprise version user login page (recommended image size: 492*472px)", - "LoginLog": "Login logs", - "LoginModeHelpMessage": "If you choose manual login mode, you do not need to fill in the username and password.", - "LoginModel": "Login model", - "LoginNum": "Login num", - "LoginOption": "Login option", - "LoginOverview": "Sessions overview", - "LoginPasswordSetting": "Login password setting", - "LoginRequiredMsg": "You account has logout, Please login again", - "LoginSucceeded": "Login succeeded", - "LoginTitle": "Title of login page", - "LoginTitleTip": "Tips: This will be displayed on the enterprise user login page. (eg: Welcome to the JumpServer open source fortress)", - "LoginTo": "Login to", - "LoginUserRanking": "Login account ranking", - "LoginUserToday": "Login account today", - "LoginUsers": "Active accounts", - "LogoIndex": "Logo (It contains text)", - "LogoIndexTip": "Tips: This will appear at the top left of the administration page. (suggest image size: 185px*55px)", - "LogoLogout": "Logo (It contains no text)", - "LogoLogoutTip": "Tips: It will be displayed on the web terminal page of enterprise users (recommended image size: 82px*82px)", - "Logout": "Logout", - "LogsAudit": "Log audit", - "Lowercase": "Lowercase", - "LunaSettingUpdate": "Luna setting", - "MFA": "MFA", - "MFAConfirm": "MFA Confirm", - "MFAErrorMsg": "MFA Error, please check", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make the account more secure
After is enabled, you will enter the multi-factor authentication binding process on your next login
You can also bind directly in (personal information -> fast modifier -> modifier multiple factor Settings)", - "MFAOfUserFirstLoginUserGuidePage": "To protect the security of you and the company
please properly keep your account, password, key and other important and sensitive information
(e.g., set a complex password and enable multi-factor authentication)
Personal information such as email, phone number, WeChat, etc. is only used for user authentication and platform internal message notifications.", - "MFARequireForSecurity": "MFA required for security", - "MFAVerify": "Verify MFA", - "MINLENGTHERROR": "Password minimum length {}", - "MailRecipient": "Mail recipient", - "MailSend": "Mail send", - "ManualAccount": "Manual account", - "ManualAccountTip": "Non-asset account, Input username/password on connect", - "ManualExecutePlan": "Manual execute plan", - "ManualInput": "Manual input", - "ManyChoose": "many choose", - "Mariadb": "MariaDB", - "MarkAsRead": "Mark as read", - "Marketplace": "Marketplace", - "Match": "Match", - "MatchIn": "In ...", - "MatchResult": "Match results", - "MatchedCount": "Match count", - "Material": "Material", - "Members": "Members", - "Memory": "Memory", - "Message": "Message", - "MessageSub": "Message", - "MessageSubscription": "Message Subscription", - "MessageType": "Message Type", - "Meta": "Meta", - "MfaLevel": "MFA level", - "Min": "minute", - "Model": "Model", - "Modify": "Modify", - "ModifySSHKey": "Modify SSH Key", - "ModifyTheme": "Modify theme", - "Module": "Module", - "Monday": "Monday", - "Mongodb": "MongoDB", - "Monitor": "Monitor", - "Month": "month", - "Monthly": "Monthly", - "More": "More...", - "MoreActions": "Actions", - "MoveAssetToNode": "move asset to node", - "MsgSubscribe": "Message subscribe", - "MyApps": "My Apps", - "MyAssets": "My assets", - "MyTickets": "My tickets", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "MysqlWorkbenchIp": "DB IP", - "MysqlWorkbenchName": "DB Name", - "MysqlWorkbenchPassword": "DB Password", - "MysqlWorkbenchPort": "DB Port", - "MysqlWorkbenchUsername": "DB Account", - "NUMBERREQUIRED": "Number required", - "Name": "Name", - "NavHelp": "Navigation Link", - "Navigation": "Navigation", - "NeedAddAppsOrSystemUserErrMsg": "Please add apps or system user", - "NeedReLogin": "Need Re-Login", - "NeedSpecifiedFile": "Required to upload the specified format file", - "NeedUpdatePasswordNextLogin": "Update password next login", - "Network": "Network", - "New": "New", - "NewChat": "New Chat", - "NewCount": "New count", - "NewCron": "new cron", - "NewDirectory": "New directory", - "NewFile": "New file", - "NewPassword": "New password", - "NewSyncCount": "New synced count", - "No": "No", - "NoAlive": "no alive", - "NoAnnouncement": "No announcement", - "NoContent": "No content", - "NoData": "No data", - "NoFiles": "No Files", - "NoInputCommand": "No input command", - "NoLicense": "No License", - "NoPermission": "No permission", - "NoPermission403": "403 No permission", - "NoPermissionVew": "No permission view current page", - "NoPublished": "Unpublished", - "NoSQLProtocol": "NoSQL Protocol", - "NoSystemUserWasSelected": "No system user was selected", - "NoUnreadMsg": "No unread messages", - "Node": "Node", - "NodeAmount": "Node", - "NodeCount": "Node count", - "NodeInformation": "Node information", - "NodeSearchStrategy": "Node search Strategy", - "NormalLoad": "Normal", - "NotAlphanumericUnderscore": "Only numbers, letters and underscores can be entered", - "NotEqual": "Not Equal", - "NotParenthesis": "Not contain ( )", - "NotSet": "Not set", - "NotSpecialEmoji": "No special emoji allowed", - "Nothing": "Nothing", - "Notifications": "Notifications", - "Now": "Now", - "Num": "number ", - "Number": "Number", - "NumberOfVisits": "Number of visits", - "OAuth2": "OAuth2", - "OAuth2LogoTip": "Tip: Authentication service provider (recommended image size: 64px*64px)", - "OIDC": "OIDC", - "OTP": "OTP(MFA)", - "ObjectNotFoundOrDeletedMsg": "Resource lost or deleted", - "OfficialWebsite": "Official website link", - "OfficialWebsiteTip": "You can change the URL of the site navigation bar help -> Website", - "Offline": "Offline", - "OfflineSuccessMsg": "Offline success", - "OfflineUpload": "Upload offline", - "OldPassword": "Old password", - "OldSSHKey": "Old SSH key", - "On/Off": "On/Off", - "OneAssignee": "First-level Assignee", - "OneAssigneeType": "Type of primary assignee", - "OneClickRead": "Currently read", - "OneClickReadMsg": "Are you sure you want to mark the current information as read?", - "OnlineSession": "Online session", - "OnlineSessionHelpMsg": "The current session cannot be offline because it is an online session of the current user. Currently, only users who have logged in through web mode are recorded.", - "OnlineSessions": "Online sessions", - "OnlineUserDevices": "OnlineUserDevices", - "OnlineUsers": "Online accounts", - "OnlyCSVFilesTips": "Only csv supported", - "OnlyLatestVersion": "Only latest version", - "OnlyMailSend": "Currently only mail sending is supported", - "OnlySearchCurrentNodePerm": "Search only for the perms of the current node perms", - "Open": "Open", - "OpenCommand": "Open command", - "OpenId": "OpenID", - "OpenStack": "OpenStack", - "OpenStatus": "Open", - "OpenTicket": "Open Ticket", - "OperateLog": "Operation logs", - "OperateRecord": "Operating record", - "OperationLogNum": "Operation log num", - "Ops": "Task", - "Options": "Options", - "Oracle": "Oracle", - "OrgAdmin": "Org Admin", - "OrgAuditor": "Org Auditor", - "OrgName": "Org name", - "OrgRole": "Org roles", - "OrgRoleHelpText": "Organizational roles are the user's role in the current organization", - "OrgRoles": "Org roles", - "OrgUser": "Org User", - "OrganizationAsset": "Organization asset", - "OrganizationCreate": "Create organization", - "OrganizationDetail": "Org detail", - "OrganizationList": "Organizations", - "OrganizationLists": "Organization lists", - "OrganizationMembership": "Organization membership", - "OrganizationUpdate": "Update org", - "Os": "Os", - "Other": "Other setting", - "OtherAuth": "Other Auth", - "OtherProtocol": "Other Protocol", - "OtherRules": "Other rules", - "Others": "Others", - "Output": "Output", - "Overview": "Overview", - "PENDING": "Pending", - "PageNext": "Next", - "PagePrev": "Previous", - "Parameter": "Parameter", - "Params": "Params", - "ParamsHelpText": "The push parameter settings are currently only effective for assets with a platform type of host.", - "PassKey": "Passkey", - "Passkey": "Passkey", - "PasskeyAddDisableInfo": "Your authentication source is {source}, and Passkey addition is not supported.", - "Passphrase": "Passphrase", - "Password": "Password", - "PasswordAccount": "Password account", - "PasswordChangeLog": "Password change logs", - "PasswordCheckRule": "Password check rule", - "PasswordConfirm": "Password Confirm", - "PasswordExpired": "Password expired", - "PasswordHelpMessage": "Password or private key password", - "PasswordLength": "Password length", - "PasswordOrPassphrase": "Password or Passphrase", - "PasswordOrToken": "Password / Token", - "PasswordPlaceholder": "Please input password", - "PasswordRecord": "Password record", - "PasswordRequireForSecurity": "Password required for security", - "PasswordRule": "Password rule", - "PasswordSecurity": "Password security", - "PasswordSelector": "Password Input Box Selector", - "PasswordStrategy": "Password strategy", - "PasswordWillExpiredPrefixMsg": "The password will expire in ", - "PasswordWillExpiredSuffixMsg": " days.Please change your password as soon as possible.", - "PasswordWithoutSpecialCharHelpText": "Password can't has special chars ", - "Paste": "Paste", - "Pattern": "Pattern", - "Pause": "Pause", - "PauseTaskSendSuccessMsg": "Pause task has been send, Please check later", - "Pending": "Open", - "Periodic": "Periodic", - "PeriodicPerform": "Periodic perform", - "Perm": "Permission", - "PermAccount": "Accounts", - "PermName": "Perm name", - "PermUserList": "Authorized user", - "Permission": "Permissions", - "PermissionCompany": "Permission company", - "PermissionName": "Permission name", - "Permissions": "Permissions", - "Perms": "Perms", - "PersonalAsset": "Personal asset", - "PersonalInformationImprovement": "Personal Information Improvement", - "Phone": "Phone", - "Plan": "Plan", - "Platform": "Platform", - "PlatformCreate": "Platform create", - "PlatformDetail": "Platform detail", - "PlatformList": "Platforms", - "PlatformProtocolConfig": "Platform protocol config", - "PlatformSimple": "Platform", - "PlatformUpdate": "Platform update", - "PlaybookDetail": "Playbook detail", - "PlaybookManage": "Playbook manage", - "PlaybookUpdate": "Update Playbook", - "PleaseAgreeToTheTerms": "Please agree to the terms", - "PleaseClickLeftApplicationToViewApplicationAccount": "Application account list, please click on the application on the left to view", - "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, please click on the assets on the left to view", - "PleaseClickLeftAssetToViewGatheredUser": "Gathered user list, please click on the assets on the left to view", - "PleaseSelect": "Please select", - "PolicyName": "Policy name", - "Port": "Port", - "Ports": "Ports", - "Postgresql": "PostgreSQL", - "Primary": "primary", - "PrimaryOnly": "There can only be one main agreement", - "PrimaryProtocol": "The primary protocol, the most basic and commonly used protocol for assets, can only and must be set up with one.", - "Priority": "Priority", - "PriorityHelpMessage": "1-100, High level will be using login asset as default, if user was granted more than 2 system user", - "PrivateCloud": "Private cloud", - "PrivateKey": "Private key", - "PrivilegeFirst": "Prefer privileged accounts", - "PrivilegeOnly": "Select only privileged accounts", - "Privileged": "Privileged", - "PrivilegedFirst": "Prefer privileged accounts", - "PrivilegedOnly": "Privileged accounts only", - "PrivilegedTemplate": "Privileged", - "Product": "Product", - "Profile": "Profile", - "ProfileSetting": "Profile setting", - "Project": "Project name", - "Prompt": "Prompt", - "Proportion": "Proportion", - "ProportionOfAssetTypes": "Proportion of asset types", - "Protocol": "Protocol", - "Protocols": "Protocols", - "ProtocolsEnabled": "Enable protocol", - "ProtocolsGroup": "Protocols group", - "Provider": "Provider", - "Proxy": "Proxy", - "Public": "Public", - "PublicCloud": "Public cloud", - "PublicIp": "Public ip", - "PublicKey": "Public key", - "PublicProtocol": "If it is a public protocol, it will be displayed when connecting assets", - "Publish": "Publish", - "PublishAllApplets": "Publish all applets", - "PublishStatus": "Publish status", - "Push": "Push", - "PushAccount": "Push account", - "PushAllSystemUsersToAsset": "Push all system users to asset", - "PushParams": "Push params", - "PushSelected": "Push selected", - "PushSelectedSystemUsersToAsset": "Push selected system users to asset", - "PushSystemUserNow": "Push system user now", - "Qcloud": "Tencent Cloud", - "QcloudLighthouse": "Tencent Cloud (lightweight application server)", - "QingyunPrivatecloud": "Qingyun Private Cloud", - "Queue": "Queue", - "QuickAccess": "Quick access", - "QuickAdd": "Quick add", - "QuickJob": "Shortcut command", - "QuickSelect": "Quick select", - "QuickUpdate": "Quick update", - "RDBProtocol": "RDS Protocol", - "RUNNING": "Running", - "Radius": "Radius", - "Ranking": "Ranking", - "Ratio": "Ratio", - "RazorNotSupport": "RDP Client session not support now", - "ReLogin": "Re-Login", - "ReLoginErr": "Login time has exceeded 5 minutes, please login again", - "ReLoginTitle": "The current three-party login user (cas/saml) is not bound to MFA and does not support password verification. Please login again", - "RealTimeData": "Real-time data", - "Reason": "Reason", - "Receivers": "Receivers", - "RecentLogin": "Recent login", - "RecentSession": "Recent session", - "RecentlyUsed": "Recently used", - "RecipientHelpText": "If both recipients A and B are set, the account key will be split into two parts: front and back", - "RecipientServer": "Receiving server", - "Reconnect": "Reconnect", - "Redis": "Redis", - "Refresh": "Refresh", - "RefreshFail": "Refresh fail", - "RefreshHardware": "Refresh hardware", - "RefreshLdapCache": "Refreshing Ldap cache ", - "RefreshLdapUser": "Refresh cache", - "RefreshPermissionCache": "Refresh permission cache", - "RefreshSuccess": "Refresh success", - "Regex": "Regex", - "Region": "Region", - "RegularlyPerform": "Regularly perform", - "Reject": "Reject", - "Rejected": "Rejected", - "RelAnd": "And", - "RelNot": "Not", - "RelOr": "Or", - "Relation": "Relation", - "ReleasedCount": "Released count", - "RelevantApp": "Application", - "RelevantAsset": "Asset", - "RelevantAssignees": "Relevant assignees", - "RelevantCommand": "Command", - "RelevantSystemUser": "System user", - "RemoteAddr": "Remote addr", - "RemoteApp": "Remote app", - "RemoteAppCount": "RemoteApp count", - "RemoteAppDetail": "Remote app detail", - "RemoteAppListHelpMessage": "Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download application loader", - "RemoteAppPermission": "Remote apps permissions", - "RemoteAppPermissionCreate": "Remote apps permission create", - "RemoteAppPermissionDetail": "Remote apps permissions detail", - "RemoteAppPermissionRules": "Remote app permission rules", - "RemoteAppPermissionUpdate": "Remote app permission update", - "RemoteAppUpdate": "Remote app update", - "RemoteApps": "Remote application", - "RemoteType": "Remote type", - "Remove": "Remove", - "RemoveAssetFromNode": "Remove asset from node", - "RemoveErrorMsg": "Remove failed: ", - "RemoveFromCurrentNode": "Remove from node", - "RemoveFromOrgWarningMsg": "Are you sure remove ", - "RemoveSuccessMsg": "Remove success", - "RemoveWarningMsg": "Are you sure to remove ", - "Rename": "Rename", - "RenameNode": "Rename node", - "ReplaceNodeAssetsAdminUser": "Replace node assets admin user with this", - "ReplaceNodeAssetsAdminUserWithThis": "Replace node assets admin user with this", - "Replay": "replay", - "ReplaySession": "Replay session", - "ReplayStorage": "Object storage", - "ReplayStorageCreateUpdateHelpMessage": "Note: Currently, SFTP storage only supports account backup and does not support video storage.", - "ReplayStorageUpdate": "Replay object update", - "Reply": "Reply", - "RequestApplicationPerm": "Request application perm", - "RequestAssetPerm": "Request asset perm", - "RequestPerm": "Request Perm", - "RequestTickets": "Request tickets", - "Required": "Required", - "RequiredAssetOrNode": "Please select at least one asset or node", - "RequiredContent": "Please input the command", - "RequiredEntryFile": "This file is used as the entry file for running and must exist", - "RequiredHasUserNameMapped": "Must contain a mapping for the username field, such as { 'uid': 'username' }", - "RequiredProtocol": "Required agreement, which must be selected when adding assets", - "RequiredRunas": "Please input the run user", - "RequiredSystemUserErrMsg": "Required account", - "RequiredUploadFile": "Please upload files!", - "Reset": "Reset", - "ResetAndDownloadSSHKey": "Reset and download SSH Key", - "ResetDingTalk": "Untie DingTalk", - "ResetDingTalkLoginSuccessMsg": "The reset is successful, and the user can re-bind DingTalk", - "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", - "ResetMFA": "Reset MFA", - "ResetMFAWarningMsg": "This will reset the user MFA setting, user can reset it", - "ResetMFAdSuccessMsg": "Reset MFA success", - "ResetPassword": "Reset password", - "ResetPasswordSuccessMsg": "A password reset message has been sent to the user", - "ResetPasswordWarningMsg": "This will reset the user password and send a reset mail", - "ResetPublicKeyAndDownload": "Reset public key and download", - "ResetSSHKey": "Reset SSH key", - "ResetSSHKeySuccessMsg": "An e-mail has been sent to the user`s mailbox", - "ResetSSHKeyWarningMsg": "This will reset the user public key and send a reset mail", - "ResetWechat": "Reset Wechat", - "ResetWechatLoginSuccessMsg": "Reset Wechat success", - "ResetWechatLoginWarningMsg": "This will reset the user Wechat setting, user can reset it", - "Resource": "Resource", - "ResourceType": "Resource type", - "Resources": "Resources", - "RestoreButton": "Restore Default", - "RestoreDefault": "Restore default", - "RestoreDialogMessage": "This will restore default Settings of the interface !!!", - "RestoreDialogTitle": "Are you sure?", - "Result": "Result", - "Resume": "Resume", - "ResumeTaskSendSuccessMsg": "Resume task has been send, Please check later", - "Retry": "Retry", - "Reviewer": "Reviewer", - "Revise": "Revise", - "RiskLevel": "Risk level", - "Role": "Role", - "RoleCreate": "Role create", - "RoleDetail": "Role detail", - "RoleInfo": "Role info", - "RoleList": "Roles", - "RolePerms": "Role perms", - "RoleUpdate": "Role update", - "RoleUsers": "Role users", - "Rows": "rows", - "Rule": "Rule", - "RuleCount": "Number of conditions", - "RuleDetail": "Rule detail", - "RuleRelation": "Rule relation", - "RuleRelationHelpTips": "And: The action is performed only when all conditions are met; Or: If a condition is met, the action will be performed", - "RuleSetting": "Rule setting", - "Rules": "Rules", - "Run": "Run", - "RunAgain": "Run again", - "RunAs": "Run as", - "RunCommand": "Run command", - "RunJob": "Run job", - "RunSucceed": "Task executed successfully", - "RunTaskManually": "Run task manually", - "RunTimes": "Run times", - "RunUser": "Run user", - "RunasHelpText": "Fill in the user name to run the script", - "RunasPolicy": "Account policy", - "RunasPolicyHelpText": "Indicates the account selection strategy when there is no running user on the current asset", - "Running": "Runing", - "RunningPath": "Running path", - "RunningPathHelpText": "Fill in the running path of the script. This setting only takes effect for shell scripts.", - "RunningTimes": "last 5 running times", - "SAML2": "SAML2", - "SAML2Auth": "SAML2 Auth", - "SCP": "SCP", - "SFTPHelpMessage": "SFTP root dir, default is /tmp, Set to HOME to use user home dir.
Support some vars: ${ACCOUNT} the account username connected, ${USER} the staff username", - "SMS": "SMS", - "SMSProvider": "SMS provider", - "SMTP": "SMTP server", - "SPECIALCHARREQUIRED": "Special char required", - "SSHKey": "SSH Key", - "SSHKeyOfProfileSSHUpdatePage": "Copy your public key here", - "SSHKeySetting": "SSH Key setting", - "SSHPort": "SSH Port", - "SSHSecretKey": "SSh key", - "SSO": "SSO", - "SUCCESS": "Success", - "SafeCommand": "Safe command", - "SameAccount": "Same account", - "SameAccountTip": "The same username account with current login user", - "SameTypeAccountTip": "An account with the same user name and key type already exists", - "Saturday": "Saturday", - "Save": "Save", - "SaveAdhoc": "Save Adhoc", - "SaveAndAddAnother": "Save and add another", - "SaveCommand": "Save command", - "SaveCommandSuccess": "Save command succeeded", - "SaveSetting": "Save setting", - "SaveSuccess": "Saved successfully", - "SaveSuccessContinueMsg": "Create success, you may add another", - "Scope": "Type", - "Script": "Script list", - "ScriptDetail": "Script detail", - "ScrollToBottom": "Roll to the bottom", - "ScrollToTop": "Scroll to top", - "Search": "Search", - "SearchAncestorNodePerm": "Search perms for both current node and ancestor nodes", - "Secret": "Secret", - "SecretKey": "Secret Key", - "SecretKeyStrategy": "Secret key strategy", - "SecretType": "Secret type", - "Secure": "Secure", - "Security": "Security", - "SecurityCommandExecution": "Batch execute commands", - "SecurityInsecureCommand": "After it is enabled, when a dangerous command is executed on the asset, an email alarm notification will be sent", - "SecurityInsecureCommandEmailReceiver": "Alert receive email", - "SecurityLoginLimitCount": "Limit the number of login failures", - "SecurityLoginLimitTime": "No logon interval", - "SecurityMaxIdleTime": "Connection max idle time", - "SecurityMfaAuth": "MFA", - "SecurityPasswordExpirationTime": "Password expiration time", - "SecurityPasswordLowerCase": "Must contain lowercase letters", - "SecurityPasswordMinLength": "Password minimum length", - "SecurityPasswordNumber": "Must contain numeric characters", - "SecurityPasswordSpecialChar": "Must contain special characters", - "SecurityPasswordUpperCase": "Must contain capital letters", - "SecurityServiceAccountRegistration": "Service account registration", - "SecuritySetting": "Security", - "Select": "Select", - "SelectAccount": "Select account", - "SelectAdhoc": "Select Adhoc", - "SelectAll": "Select all", - "SelectAssetsMessage": "Select the left asset, select the running system user, execute command in batch", - "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", - "SelectAttrs": "Select attrs", - "SelectByAttr": "Select By Attribute", - "SelectCreateMethod": "Choose how to create", - "SelectFile": "Select file", - "SelectKeyOrCreateNew": "Select label key or create new", - "SelectLabelFilter": "Select label to filter", - "SelectPlatforms": "Select platforms", - "SelectProperties": "Select properties", - "SelectResource": "Select resource", - "SelectTemplate": "Select template", - "SelectValueOrCreateNew": "Select label value or create new", - "Selected": "Selected", - "SelectedAssets": "Selected assets:", - "Selection": "Selection", - "Selector": "Selector", - "Send": "Send", - "SendVerificationCode": "Send verification code", - "Sender": "Sender", - "Senior": "Senior", - "SerialNumber": "Serial number", - "ServerAccountKey": "Server Account Key", - "ServerError": "Server Error", - "ServerTime": "Server time", - "ServiceRatio": "Service ratio", - "Session": "Session", - "SessionActiveCount": "session active count", - "SessionData": "Session data", - "SessionDetail": "Session detail", - "SessionID": "Session ID", - "SessionList": "Session list", - "SessionMonitor": "Session Monitor", - "SessionOffline": "Sessions offline", - "SessionOnline": "Sessions online", - "SessionSecurity": "Session security", - "SessionState": "Session state", - "SessionTerminate": "Session Terminate", - "SessionTrend": "Session trend", - "Sessions": "Sessions", - "SessionsAudit": "Session audit", - "SessionsNum": "Sessions num", - "Set": "Set", - "SetAdDomainNoDisabled": "If AD domain is set, it cannot be modified", - "SetDingTalk": "Set dingtalk login", - "SetFailed": "Set failed", - "SetFeiShu": "Set feishu login", - "SetMFA": "Set MFA", - "SetPublicKey": "Set public key", - "SetSlack": "Set Slack login", - "SetStatus": "Set status", - "SetSuccess": "Set success", - "SetToDefault": "Set to default", - "SetToDefaultStorage": "Set to default storage", - "SetWeCom": "Set wecom login", - "Setting": "Setting", - "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Terminal Settings / Service Endpoints", - "Settings": "Settings", - "Show": "Show", - "ShowAssetAllChildrenNode": "Show asset all children node", - "ShowAssetOnlyCurrentNode": "Show asset only current node", - "ShowNodeInfo": "Show node information", - "SignChannelNum": "Signature channel number", - "SignaturesAndTemplates": "Signatures and Templates", - "SiteMessage": "Site messages", - "SiteMessageList": "Site message", - "SiteUrl": "Current SITE URL", - "Skip": "Ignore current asset", - "Skipped": "Skipped", - "Slack": "Slack", - "Source": "Source", - "SourceIP": "Source address", - "SourcePort": "Source port", - "Spec": "Specific", - "SpecAccount": "Specify account", - "SpecAccountTip": "Specify accounts by username", - "SpecialSymbol": "Special symbol", - "SpecificInfo": "Specific", - "Sqlserver": "SQLServer", - "SshKeyFingerprint": "SSH fingerprint", - "SshPort": "SSH port", - "Sshkey": "sshkey", - "SshkeyAccount": "ssh key account", - "StartEvery": " start, every", - "Startswith": "Starts With", - "Stat": "F/S/T", - "State": "State", - "StateClosed": "closed", - "Status": "Status", - "StatusGreen": "Recently in good condition", - "StatusRed": "The last task execution failed", - "StatusYellow": "Recent Execution Failures", - "Stop": "Stop", - "Storage": "Storage", - "StorageConfiguration": "Storage configuration", - "Strategy": "Strategy", - "StrategyCreate": "Create strategy", - "StrategyDetail": "Strategy detail", - "StrategyHelpTips": "A unique asset attribute (such as platform) is determined based on the policy priority. If multiple asset attributes (such as nodes) can be configured, all policy actions are executed", - "StrategyList": "Strategy list", - "StrategyUpdate": "Update strategy", - "SuFrom": "Su from", - "Subject": "Subject", - "Submit": "Submit", - "SubmitSelector": "Submit Button Selector", - "Subscription": "Subscription", - "SubscriptionID": "Subscription ID", - "Success": "Success", - "SuccessAsset": "Successful assets", - "SuccessfulOperation": "Successful operation", - "SudoHelpMessage": "Use comma split multi command, ex: /bin/whoami, /bin/ifconfig", - "Summary(success/total)": "Overview (Success/Total)", - "Sunday": "Sunday", - "SuperAdmin": "Super administrator", - "SuperOrgAdmin": "Super administrator + organization administrator", - "Support": "Support", - "SupportedProtocol": "Supported protocol", - "SupportedProtocolHelpText": "Set the protocol supported by the asset. Click the Settings button to modify the custom configuration for the protocol, such as the SFTP directory, RDP AD domain, etc.", - "SwitchPage": "Switch page", - "SwitchToUser": "Switch to user", - "SwitchToUserListTips": "When the following users are used to connect to assets, the current system user is used to log in and then switch.", - "SymbolSet": "Special symbol set", - "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If there are special characters in the generated random password that are not supported by this type of database, the password change plan will fail", - "Sync": "Sync", - "SyncDelete": "Sync delete", - "SyncInstanceTaskCreate": "Create sync task", - "SyncInstanceTaskDetail": "Sync task detail", - "SyncInstanceTaskHistoryAssetList": "Sync instance list", - "SyncInstanceTaskHistoryList": "Sync task history", - "SyncInstanceTaskList": "Sync task list", - "SyncInstanceTaskUpdate": "Update sync task", - "SyncProtocolToAsset": "Sync protocol to asset", - "SyncSelected": "Sync selected", - "SyncSetting": "Sync setting", - "SyncStrategy": "Synchronisation strategy", - "SyncSuccessMsg": "Sync success", - "SyncTask": "Synchronization task", - "SyncUpdateAccountInfo": "Sync update account info", - "SyncUser": "Sync User", - "SyncedCount": "Synced count", - "SystemCpuLoad": "cpu load", - "SystemDiskUsedPercent": "disk used percent", - "SystemError": "System Error", - "SystemMemoryUsedPercent": "memory used percent", - "SystemMessageSubscription": "System messages", - "SystemRole": "System roles", - "SystemRoles": "System roles", - "SystemSetting": "System setting", - "SystemTools": "Tools", - "SystemUser": "System user", - "SystemUserAmount": "SystemUser amount", - "SystemUserCount": "System user count", - "SystemUserCreate": "System user create", - "SystemUserDetail": "System user detail", - "SystemUserId": "SystemUser Id", - "SystemUserList": "System Users", - "SystemUserListHelpMessage": "System user is the account JumpServer used to log into the asset, such as using root `ssh root@host`, rather than the current user username(ssh admin@host)`;
Admin user is the account that already exists on an asset, and have privileged permissions, JumpServer using this create common system user, and gather hardware Etc;
Common user can pre-exist assets or created automatically by the admin user.", - "SystemUserName": "System username", - "SystemUserUpdate": "System user update", - "SystemUsers": "System users", - "SystemUsersAmount": "System users amount", - "SystemUsersNameGroup": "Systemuser name", - "SystemUsersProtocolGroup": "Systemuser protocol", - "SystemUsersUsernameGroup": "systemuser username", - "TableColSettingInfo": "Please select the list details you want to display", - "Target": "Target", - "TargetResources": "Target resources", - "MenuUsers": "Users", - "MenuAssets": "Assets", - "MenuAccounts": "Accounts", - "MenuPermissions": "Permissions", - "MenuMore": "More...", - "Task": "Task", - "TaskCenter": "Task", - "TaskDetail": "Task detail", - "TaskDispatch": "The task was sent successfully", - "TaskDone": "Task done", - "TaskID": "Task ID", - "TaskList": "Task list", - "TaskMonitor": "Task Monitor", - "TaskName": "Task name", - "TaskVersions": "Task versions", - "Tasks": "Tasks", - "TasksLog": "Batch Command Logs", - "TechnologyConsult": "Technology Consult", - "TempPassword": "For a while, there is a period of 300 seconds, failure immediately after use", - "Template": "Template", - "TemplateAdd": "Template add", - "TemplateCreate": "Create template", - "TemplateDetail": "Template detail", - "TemplateHelpText": "When selecting a template to add, it will automatically create an account that does not exist under the asset and push it", - "TemplateUpdate": "Update template", - "Templates": "模版管理", - "TencentCloud": "Tencent cloud", - "Terminal": "Terminal", - "TerminalAssetListPageSize": "List page size", - "TerminalAssetListSortBy": "List sort by", - "TerminalDetail": "Terminal detail", - "TerminalHeartbeatInterval": "Heartbeat interval", - "TerminalPasswordAuth": "Password auth", - "TerminalPublicKeyAuth": "Public key auth", - "TerminalSessionKeepDuration": "Session keep duration", - "TerminalStat": "CPU/MEM/DISK", - "TerminalTelnetRegex": "Telnet login regex", - "TerminalUpdate": "Update terminal", - "TerminalUpdateStorage": "Update terminal storage", - "Terminate": "Terminate", - "TerminateTaskSendSuccessMsg": "Terminate task has been send, Please check later", - "TermsAndConditions": "Terms and conditions", - "Test": "Test", - "TestAccountConnective": "Test account connective", - "TestAllSystemUsersConnective": "Test all system users connective", - "TestAssetsConnective": "Test assets connective", - "TestConnection": "Test connection", - "TestGatewayHelpMessage": "If use nat, set the ssh real port", - "TestGatewayTestConnection": "Test gateway test connection", - "TestHelpText": "Please enter the destination address for testing", - "TestLdapLoginSubtitle": "Save the configuration before testing the login", - "TestLdapLoginTitle": "Test LDAP user login", - "TestMultiPort": "Multiple ports are separated by commas (,)", - "TestNodeAssetConnectivity": "Test node asset connectivity", - "TestParam": "Param", - "TestPortErrorMsg": "Port Error, please check", - "TestSelected": "Test selected", - "TestSelectedSystemUsersConnective": "Test selected system users connective", - "TestSuccessMsg": "Test Success", - "The": "the", - "ThisPeriodic": "This is a periodic job", - "Thursday": "Thursday", - "Ticket": "Ticket", - "TicketCreate": "Ticket create", - "TicketDetail": "Ticket detail", - "TicketFlow": "Ticket flow", - "TicketFlowCreate": "Create Ticket flow", - "TicketFlowUpdate": "Update approval flow", - "Tickets": "Tickets", - "TicketsDone": "Ticket Done", - "TicketsNew": "Submit ticket", - "TicketsTodo": "Todo ticket", - "Time": "Time", - "TimeDelta": "Time delta", - "TimeExpression": "time expression", - "TimePeriod": "Time period", - "Timeout": "Timeout", - "TimeoutHelpText": "When this value is -1, no timeout is specified", - "Timer": "Timer", - "TimerPeriod": "Timer period", - "TimesWeekUnit": "times/week", - "Title": "Title", - "To": "To", - "Today": "Today", - "TodayFailedConnections": "Connections failed today", - "Token": "Token", - "TokenHTTPMethod": "Token Obtain method", - "TopAssetsOfWeek": "Top assets of week", - "TopUsersOfWeek": "Top user of week", - "Total": "Total", - "TotalJobFailed": "Total job failed", - "TotalJobLog": "Total job log", - "TotalJobRunning": "Total job running", - "TotalVersions": "Total versions", - "Transfer": "Transfer", - "True": "True", - "Tuesday": "Tuesday", - "TwoAssignee": "Secondary Recipient", - "TwoAssigneeType": "Type of secondary assignee", - "Type": "Type", - "Types": "Types", - "UCloud": "UCloud Platform", - "UPPERCASEREQUIRED": "Upper case required", - "UnSyncCount": "Unsync count", - "Unbind": "Unbind", - "UnbindHelpText": "Local users cannot be unbound because they are authenticated as source users", - "Unblock": "Unblock", - "UnblockSuccessMsg": "Account has unblocked", - "UnblockUser": "Unblock login", - "UniqueError": "Only one of the following properties can be set", - "Unknown": "Unknown", - "UnlockSuccessMsg": "Unlock success", - "Unreachable": "Unreachable", - "UnselectedAssets": "No asset selected or the selected asset does not support SSH protocol connection", - "UnselectedNodes": "Unselected nodes", - "UnselectedOrg": "Unselected org", - "UnselectedUser": "Unselected user", - "UpDownload": "Upload download", - "Update": "Update", - "UpdateAccount": "Update account", - "UpdateAccountMsg": "Please update system user account info", - "UpdateAccountTemplate": "Update account template", - "UpdateAssetDetail": "Update more detail", - "UpdateAssetUserToken": "Update asset user auth", - "UpdateEndpoint": "Update endpoint", - "UpdateEndpointRule": "Update endpoint rule", - "UpdateErrorMsg": "Update failed", - "UpdateMFA": "Update MFA", - "UpdateNodeAssetHardwareInfo": "Update node asset hardware information", - "UpdatePassword": "Update password", - "UpdatePublicKey": "", - "UpdateSSHKey": "Update SSH Key", - "UpdateSecret": "Update secret", - "UpdateSelected": "Update selected", - "UpdateSuccessMsg": "Update success", - "Updated": "Updated", - "UpdatedBy": "Update by", - "Upload": "Upload", - "UploadCsvLth10MHelpText": "csv/xlsx files with a size less than 10M", - "UploadDir": "Upload Directory", - "UploadFailed": "Upload failed", - "UploadFile": "Upload file", - "UploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded", - "UploadPlaybook": "Upload Playbook", - "UploadSucceed": "Upload succeed", - "UploadZipTips": "Please upload zip file", - "Uploading": "File uploading", - "Uppercase": "Uppercase", - "UseParameterDefine": "Define parameters", - "UseProtocol": "Use protocol", - "UseSSL": "Use SSL/TLS", - "User": "User", - "UserAclCreate": "User acl create", - "UserAclDetail": "User acl detail", - "UserAclList": "User acl list", - "UserAclLists": "User acl lists", - "UserAclUpdate": "User acl update", - "UserAssetActivity": "Account/Asset activity", - "UserCount": "User count", - "UserCreate": "User create", - "UserData": "Account data", - "UserDetail": "User detail", - "UserFirstLogin": "UserFirstLogin", - "UserGroupCount": "User group count", - "UserGroupCreate": "User group create", - "UserGroupDetail": "User group detail", - "UserGroupList": "Groups", - "UserGroupUpdate": "User group update", - "UserGroups": "User groups", - "UserGuide": "UserGuide", - "UserGuideUrl": "User Guide URL", - "UserIP": "Login IP", - "UserInformation": "User information", - "UserList": "Users", - "UserLoginACL": "User Login ACL", - "UserLoginACLCreate": "Create User Login ACL", - "UserLoginACLDetail": "User Login ACL", - "UserLoginACLHelpMsg": "It can determines whether the user can access the system based on the user's login IP and time period(global effective).", - "UserLoginACLUpdate": "Update User Login ACL", - "UserLoginAclCreate": "Create user login acl", - "UserLoginAclDetail": "User login acl detail", - "UserLoginAclList": "User login acl", - "UserLoginAclUpdate": "Update user login acl", - "UserLoginLimit": "User login limit", - "UserLoginTrend": "Account login trend", - "UserName": "Name", - "UserNameSelector": "User name input box selector", - "UserPage": "User page", - "UserProfile": "User profile", - "UserRatio": "User Ratio", - "UserSession": "User Session", - "UserSetting": "User setting", - "UserSwitch": "User switch", - "UserSwitchFrom": "User switch from", - "UserUpdate": "User update", - "UserUsername": "User (Username)", - "Username": "Username", - "UsernameGroup": "Username group", - "UsernameHelpMessage": "Username is dynamic, When connect asset, using current user's username", - "UsernameOfCreateUpdatePage": "The username of the user on the target host; If already existed, modify user password; If it doesn't exist, add the user and set the password.", - "UsernamePlaceholder": "Please input username", - "Users": "User", - "UsersAmount": "Users amount", - "UsersAndUserGroups": "Users and user groups", - "UsersTotal": "Accounts total", - "Valid": "Valid", - "Validity": "Validity", - "Value": "Value", - "Variable": "Variable", - "VariableHelpText": "You can read built-in variables using {{ key }} in your command", - "Vault": "Vault", - "VaultHelpText": "1. Please go to the configuration file to open Vault storage< After opening, fill in other configurations ->click on Test< Br>3. Perform data synchronization (synchronization is one-way and only synchronizes data from the database to the vault. Please backup the data properly)< After modifying the vault configuration twice, the service needs to be restarted.", - "Vendor": "Vendor", - "VerificationCodeSent": "The verification code has been sent", - "VerifySignTmpl": "Verification code template", - "Version": "Version", - "VersionDetail": "Version detail", - "VersionRunExecution": "Version run execution", - "View": "View", - "ViewBlockedIPSHelpText": "View the list of locked IPs", - "ViewMore": "View more", - "ViewPerm": "View permission", - "ViewSecret": "View secret", - "VirtualAccountDetail": "Virtual Account Details", - "VirtualAccountUpdate": "Virtual Account Update", - "VirtualAccounts": "Virtual Accounts", - "VirtualApp": "Virtual App", - "VirtualAppDetail": "Virtual app detail", - "VirtualApps": "Virtual apps", - "VmwareClient": "vSphere Client", - "VmwarePassword": "Password", - "VmwareTarget": "target URL", - "VmwareUsername": "Account", - "WeCom": "WeCom", - "WeComTest": "Test", - "WebCreate": "Create Asset - Web", - "WebFTP": "WebFTP", - "WebHelpMessage": "Web type assets depend on remote applications. Please go to System Settings to configure the publisher in the remote application.", - "WebSocketDisconnect": "Websocket disconnection", - "WebTerminal": "Web terminal", - "WebUpdate": "Update Asset - Web", - "Wednesday": "Wednesday", - "Week": "week", - "WeekAdd": "New this week", - "WeekOf": "week of week", - "WeekOrTime": "Week/Time", - "Weekly": "Weekly", - "WildcardsAllowed": "wildcards allowed", - "WindowsAdminUser": "Windows Admin user", - "WindowsPushHelpText": "Windows assets do not support pushing keys", - "WordSep": " ", - "WorkBench": "Workbench", - "Workbench": "Workbench", - "Workspace": "Workspace", - "Yes": "Yes", - "ZStack": "ZStack" -} + "": "", + "APIKey": "API Key", + "AWSChina": "AWS(China)", + "AWSInt": "AWS(International)", + "About": "About", + "Accept": "Accept", + "AccessIP": "Access IP", + "AccessKey": "Access Key", + "Account": "Account", + "AccountBackup": "Account backup", + "AccountBackupCreate": "Create account backup", + "AccountBackupPlan": "Account Backup Plan", + "AccountBackupPlanCreate": "Account backup plan create", + "AccountBackupPlanUpdate": "Account backup plan update", + "AccountBackupUpdate": "Update account backup", + "AccountChangeSecret": "Account change", + "AccountCreate": "Create account", + "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", + "AccountDetail": "Account detail", + "AccountEnabled": "Enable account switching", + "AccountExportTips": "The exported information contains account secret, which involves sensitive information. The exported format is an encrypted zip file (if no encryption password is set, please go to personal information to set the file encryption password).", + "AccountGather": "Account gather", + "AccountGatherList": "Gather task", + "AccountGatherTaskCreate": "Create task", + "AccountGatherTaskExecutionList": "Task execution list", + "AccountGatherTaskList": "Account gather", + "AccountGatherTaskUpdate": "Update task", + "AccountHelpText": "A cloud account is used to connect to a cloud service provider and access the provider's resource information.", + "AccountHistoryHelpMessage": "Record the historical version of the current account", + "AccountKey": "Account key", + "AccountList": "Account list", + "AccountName": "Account name", + "AccountPolicy": "Account policy", + "AccountPushCreate": "Account push create", + "AccountPushExecutionList": "Execution list", + "AccountPushList": "Account push", + "AccountPushUpdate": "Account push update", + "AccountStorage": "Account Storage", + "AccountTemplate": "Account template", + "AccountTemplateUpdateSecretHelpText": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.", + "AccountUpdate": "Update account", + "AccountUsername": "Account (Username)", + "Accounts": "Accounts", + "AccountsHelp": "All accounts: accounts exists on the asset; Specify accounts: specify the user name of the account under the asset;Manual input: username/password; Same account: The account username name same with login user", + "Acl": "Access Control", + "Acls": "Acls", + "Action": "Action", + "ActionCount": "Number of actions", + "ActionSetting": "Action setting", + "Actions": "Actions", + "ActionsTips": "The effects of each permission vary, click the icon next to the permission to view.", + "Activate": "Activate", + "ActivateSuccessMsg": "Active success", + "Active": "active", + "ActiveAsset": "Asset active", + "ActiveAssetRanking": "Login asset ranking", + "ActiveSelected": "Active selected", + "ActiveUser": "User active", + "ActiveUserAssetsRatioTitle": "User, Asset active ratio", + "Activity": "Activity", + "AdDomain": "AD Domain", + "AdDomainHelpText": "AD domain provided to domain users for login", + "Add": "Add", + "AddAccount": "Add account", + "AddAccountResult": "Add account result", + "AddAllMembersWarningMsg": "Are you sure you want to add all members?", + "AddApplicationToThisPermission": "Add Application to this permission", + "AddAsset": "Add asset", + "AddAssetToNode": "Add asset to node", + "AddAssetToThisPermission": "Add asset to this permission", + "AddDatabaseAppToThisPermission": "Add DatabaseApp to this permission", + "AddFailMsg": "Add fail", + "AddK8sAppToThisPermission": "Add KubernetesApp to this permission", + "AddNode": "Add node", + "AddNodeToThisPermission": "Add node to this permission", + "AddOrgMembers": "Add organization members", + "AddPassKey": "AddPassKey", + "AddRemoteAppToThisPermission": "Add RemoteApp to this permission", + "AddRolePermissions": "After add or update success, set permissions in detail page", + "AddSuccessMsg": "Add success", + "AddSystemUser": "Add systemuser", + "AddSystemUserToThisPermission": "System user", + "AddUserGroupToThisPermission": "Add user group to this permission", + "AddUserToThisPermission": "Add user to this permission", + "Address": "Address", + "Addressee": "Addressee", + "AdhocDetail": "Adhoc detail", + "AdhocManage": "Adhoc manage", + "AdhocUpdate": "Update Adhoc", + "Admin": "Admin", + "AdminUser": "Admin user", + "AdminUserCreate": "Admin user create", + "AdminUserDetail": "Admin user detail", + "AdminUserList": "Admin Users", + "AdminUserListHelpMessage": "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL sudo permissions users, JumpServer users of the system using the user to `push system user`, `get assets hardware information`, etc.\n", + "AdminUserUpdate": "Admin user update", + "AdminUsersAmount": "Admin users amount", + "Advanced": "Advanced", + "AfterChange": "After the change", + "AjaxError404": "404 ajax error", + "AlibabaCloud": "Alibaba cloud", + "Alive": "alive", + "Aliyun": "Ali Cloud", + "All": "All", + "AllAccountTip": "All accounts of the asset exists", + "AllAccounts": "All accounts", + "AllClickRead": "All read", + "AllMembers": "All members", + "AllOrganization": "All organization", + "AllowInvalidCert": "Ignore certificate check", + "Announcement": "Announcement", + "AnonymousAccount": "Anonymous Account", + "AnonymousAccountTip": "Connect asset without using a username and password, and it only supports web-based and custom-type assets.", + "ApiKey": "API Key", + "ApiKeyList": "The API key is used to sign the request header. The header of each request is different. Please refer to the usage documentation", + "ApiKeyWarning": "To reduce the risk of AccessKey exposure, Secret is provided only during creation and cannot be queried again later. Please keep it safe.", + "App": "Application", + "AppAmount": "Application amount", + "AppAuth": "App auth", + "AppChangeAuthPlan": "App Change Auth Plan", + "AppChangeAuthPlanCreate": "Create App change auth plan", + "AppChangeAuthPlanUpdate": "Update App change auth plan", + "AppEndpoint": "Application access address", + "AppList": "Application list", + "AppName": "App name", + "AppOps": "Task center", + "AppPath": "App path", + "AppPermsAmount": "App perms amount", + "AppProvider": "App provider", + "AppProviderDetail": "Provider Detail", + "AppType": "App type", + "AppletCreate": "Create a remote application", + "AppletDetail": "Remote apps", + "AppletHelpText": "During the upload process, if the application does not exist, the application is created; if it already exists, the application is updated.", + "AppletHostCreate": "Add a remote application publisher", + "AppletHostDetail": "Remote Application Publisher Details", + "AppletHostDomainHelpText": "These domains are in System Organization", + "AppletHostSelectHelpMessage": "When connecting assets, the selection of the applet host is random. If you want to assign a specific one, you can specify the label AppletHost:AppletHostName in the asset label", + "AppletHostUpdate": "Updating the Remote Application Publisher", + "AppletHosts": "Remote hosts", + "Applets": "Applets", + "Applicant": "Applicant", + "Application": "Enter the application group, separated by commas", + "ApplicationAccount": "Application account", + "ApplicationDetail": "Application detail", + "ApplicationPermission": "Application Permissions", + "ApplicationPermissionCreate": "Application permission create", + "ApplicationPermissionDetail": "Application permission detail", + "ApplicationPermissionRules": "Application permission rules", + "ApplicationPermissionUpdate": "Application permission update", + "Applications": "Applications", + "ApplicationsAmount": "Applications amount", + "ApplyAsset": "Apply asset", + "ApplyFromCMDFilterRule": "Command filter rule", + "ApplyFromSession": "Session", + "ApplyInfo": "Apply info", + "ApplyLoginAccount": "Apply login account", + "ApplyLoginAsset": "Apply login asset", + "ApplyLoginSystemUser": "Apply login system user", + "ApplyLoginUser": "Apply login user", + "ApplyRunAsset": "Apply run asset", + "ApplyRunCommand": "Apply run command", + "ApplyRunSystemUser": "Apply run system user", + "ApplyRunUser": "Apply run user", + "Appoint": "appoint", + "ApprovaLevel": "Approval information", + "ApprovalLevel": "Approval level", + "ApprovalProcess": "Approval process", + "Approved": "Approved", + "ApproverNumbers": "Approver numbers", + "AppsCount": "App count", + "AppsList": "App list", + "ApsaraStack": "Apsara Stack", + "Asset": "Asset", + "AssetAccount": "Asset account", + "AssetAccountDetail": "Asset account detail", + "AssetAclCreate": "Asset acl create", + "AssetAclDetail": "Asset acl detail", + "AssetAclList": "Asset connect acl", + "AssetAclUpdate": "Asset acl update", + "AssetAddress": "IP/Host", + "AssetAmount": "Asset", + "AssetAndNode": "Assets and node", + "AssetBulkUpdateTips": "device、cloud、web,Batch update of domain is not supported", + "AssetChangeAuthPlan": "Asset Change Auth Plan", + "AssetChangeAuthPlanCreate": "Create Asset change auth plan", + "AssetChangeAuthPlanUpdate": "Update Asset change auth plan", + "AssetChangeSecretCreate": "Create account change secret", + "AssetChangeSecretUpdate": "Update account change secret", + "AssetCount": "Asset count", + "AssetCreate": "Asset create", + "AssetData": "Asset data", + "AssetDetail": "Asset detail", + "AssetHistoryAccount": "Asset history account", + "AssetIpGroup": "Asset ip group", + "AssetList": "Assets", + "AssetListHelpMessage": "The left side is the asset tree, right click to create, delete, and change the tree node, authorization asset is also organized as a node, and the right side is the asset under that node\n", + "AssetLoginACLHelpMsg": "It can determine whether the user can access the asset based on the user's login IP and time period.", + "AssetName": "Asset name", + "AssetNumber": "Asset number", + "AssetPermission": "Asset permissions", + "AssetPermissionCreate": "Asset permissions create", + "AssetPermissionDetail": "Asset permissions detail", + "AssetPermissionHelpMsg": "Asset permission allows you to authorize the assets to the users. Additionally, you can set some specific action permission.", + "AssetPermissionList": "Asset permission list", + "AssetPermissionRules": "Asset permission rules", + "AssetPermissionUpdate": "Asset permissions update", + "AssetPermsAmount": "Asset perms amount", + "AssetProtocolHelpText": "Asset support protocol is limited by platform, click the Settings button to view the protocol settings. If you need to update, please update the platform", + "AssetRatio": "Asset radio", + "AssetResultDetail": "Asset result", + "AssetTree": "Asset tree", + "AssetUpdate": "Asset update", + "AssetUserList": "Asset user", + "Assets": "Assets", + "AssetsAmount": "Assets amount", + "AssetsTotal": "Asset total", + "AssignedInfo": "Assigned Info", + "AssignedMe": "Assigned me", + "AssignedTicketList": "Todo approval", + "Assignee": "Assignee", + "Assignees": "Assignees", + "AssociateApplication": "Associate application", + "AssociateAssets": "Associate assets", + "AssociateNodes": "Associate nodes", + "AssociateSystemUsers": "Associate system users", + "AttrName": "Attribute Name", + "AttrValue": "Attribute Value", + "Auditor": "Auditor", + "Audits": "Audit", + "Auth": "Auth", + "AuthCASAttrMap": "User Attribute Mapping", + "AuthLdap": "Enable LDAP auth", + "AuthLdapBindDn": "Bind DN", + "AuthLdapBindPassword": "Password", + "AuthLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", + "AuthLdapSearchOu": "Use | split User OUs", + "AuthLdapServerUri": "LDAP server", + "AuthLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username, name, email is jumpserver attr", + "AuthLimit": "Auth limit", + "AuthMethod": "Auth methods", + "AuthSAML2AdvancedSettings": "Advanced Settings", + "AuthSAML2MetadataUrl": "IDP metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "After upload cert and private key, View SP Metadata", + "AuthSAMLKeyHelpText": "SP cert and private key, using communicate with IDP", + "AuthSaml2UserAttrMapHelpText": "Mapping relationship { saml2Key: spKey}", + "AuthSecurity": "Auth security", + "AuthSetting": "Auth setting", + "AuthSettings": "Auth settings", + "AuthUserAttrMap": "User attr map", + "AuthUserAttrMapHelpText": "Mapping relationship { idpKey: spKey}", + "AuthUsername": "Auth using username", + "Authentication": "Account", + "Author": "Author", + "Auto": "Auto", + "AutoCreate": "Auto create", + "AutoEnabled": "Enable Automation", + "AutoGenerateKey": "Auto generate ssh key", + "AutoPush": "Auto push", + "Automations": "Automation", + "AverageTimeCost": "Average time spent", + "Azure": "Azure(China)", + "AzureInt": "Azure(International)", + "Backup": "Backup", + "BadConflictErrorMsg": "Refreshing, please try again later", + "BadRequestErrorMsg": "Bad request, please check again", + "BadRoleErrorMsg": "Bad request, no permission for this operation", + "BaiduCloud": "Baidu Cloud", + "BasePlatform": "Base platform", + "BasePort": "listening port", + "Basic": "Basic", + "BasicInfo": "Basic info", + "BasicSetting": "Basic setting", + "BasicTools": "Basic tool", + "BatchActivate": "Batch activate", + "BatchApproval": "Batch approval", + "BatchCommand": "Batch Command", + "BatchCommandNotExecuted": "Batch command not executed", + "BatchConsent": "Batch consent", + "BatchDelete": "Batch delete", + "BatchDisable": "Batch disable", + "BatchProcessing": "Batch processing(select {Number} items)", + "BatchReject": "Batch reject", + "BatchRemoval": "Batch removal", + "BatchScript": "Batch Script", + "BatchUpdate": "Batch update", + "Become": "Become", + "BeforeChange": "Before change", + "Beian": "Registration", + "BelongAll": "Contains all", + "BelongTo": "Contains any", + "Bind": "Bind", + "BindLabel": "Bind label", + "BindResource": "Bind resource", + "BindSuccess": "Bind success", + "BlockedIPS": "Blocked IPS", + "Bucket": "Bucket", + "Builtin": "Builtin", + "BuiltinTree": "Type tree", + "BuiltinVariable": "Builtin variable", + "BulkClearErrorMsg": "Bulk clear error:", + "BulkCreateStrategy": "When creating accounts that do not meet the requirements, such as key type non-compliance and unique key constraints, the above policies can be selected.", + "BulkDeleteErrorMsg": "Bulk delete failed: ", + "BulkDeleteSuccessMsg": "Bulk delete success", + "BulkDeploy": "Bulk deploy", + "BulkOffline": "Bulk offline", + "BulkRemoveErrorMsg": "Bulk remove failed: ", + "BulkRemoveSuccessMsg": "Bulk remove success", + "BulkSyncDelete": "Bulk sync delete", + "BulkSyncErrorMsg": "Bulk sync success:", + "BulkTransfer": "Bulk transfer", + "BulkUnblock": "BulkUnblock", + "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset is the same as the selected platform type will it be updated, if the platform type before and after the update is different, it will not be updated.", + "CACertificate": "CA Certificate", + "CAS": "CAS", + "CASSetting": "CAS setting", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "CTYun Private", + "CalculationResults": "calculationResults...", + "CanDragSelect": "Can drag the mouse to select a time period", + "Cancel": "Cancel", + "CancelCollection": "Cancel collection", + "CannotAccess": "Unable to access the current page", + "Cas": "CAS", + "Category": "Category", + "CeleryTaskLog": "Celery task log", + "Certificate": "Certificate", + "CertificateKey": "Certificate Key", + "ChangeAuthPlan": "Change Auth Plan", + "ChangeField": "Change field", + "ChangePassword": "Change password", + "ChangeReceiver": "Change Receivers", + "ChangeSecretParams": "Change secret params", + "ChangeViewHelpText": "Click to change view", + "Charset": "Charset", + "Chat": "Chat", + "ChatAI": "Chat ai", + "ChatHello": "Hello! What help can I offer you?", + "ChdirHelpText": "The default execution directory is the home directory of the executing user", + "CheckAssetsAmount": "Check assets amount", + "CheckViewAcceptor": "View more acceptor", + "ChinaRed": "China red", + "Chrome": "Chrome", + "ChromePassword": "Password", + "ChromeTarget": "target URL", + "ChromeUsername": "Account", + "ClassicGreen": "Classic green", + "CleanHelpText": "Regular cleanup tasks will be executed at 2 o'clock in the morning every day, and the cleaned data cannot be recovered", + "Cleaning": "Period clean", + "Clear": "Clear", + "ClearScreen": "Clear screen", + "ClearSecret": "Clear secret", + "ClearSelection": "Clear selection", + "ClearSuccessMsg": "Clear success", + "ClickCopy": "Click copy", + "Clickhouse": "ClickHouse", + "ClientCertificate": "Client certificate", + "ClipBoard": "ClipBoard", + "ClipboardCopy": "Clipboard copy", + "ClipboardCopyPaste": "Copy Paste", + "ClipboardPaste": "Clipboard paste", + "Clone": "Duplicate", + "CloneFrom": "Duplicate from ", + "Close": "Close", + "CloseConfirm": "Confirm close", + "CloseConfirmMessage": "The file has changed, do you want to save it?", + "CloseStatus": "Close", + "Closed": "Closed", + "Cloud": "Cloud app", + "CloudCenter": "Cloud Center", + "CloudCreate": "Create Asset - Cloud Platform", + "CloudPlatform": "Cloud platform", + "CloudSource": "Cloud source", + "CloudSync": "Cloud sync", + "CloudUpdate": "Update Asset - Cloud Platform", + "Clouds": "Cloud", + "Cluster": "Cluster", + "ClusterHelpTextMessage": "Tips: https://172.16.8.8:8443", + "CmdFilter": "CmdFilter", + "CollapseSidebar": "Collapse the sidebar", + "CollectHardwareInfo": "Enable collection of hardware information", + "CollectionSucceed": "Collection succeed", + "Command": "Command", + "Command filter": "Command filter", + "CommandConfirm": "Command confirm", + "CommandExecutions": "CommandExecutions ", + "CommandFilterACL": "Command filter", + "CommandFilterACLHelpMsg": "You can control whether commands can be executed on assets. Based on the rules, certain commands can be allowed while others are prohibited.", + "CommandFilterAclCreate": "Command acl create", + "CommandFilterAclDetail": "Command acl detail", + "CommandFilterAclList": "Command acl", + "CommandFilterAclUpdate": "command acl update", + "CommandFilterCreate": "Command filter create", + "CommandFilterDetail": "Command filter detail", + "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; multiple rules can be configured in the filter. When the system user is used to connect to the asset, the input command takes effect according to the priority of the rules configured in the filter.
Example: The first matched rule is \"Allow\", the command is executed, the first matched rule is \"Forbidden\", the command execution is prohibited; if the last rule is not matched, it is allowed to be executed.", + "CommandFilterList": "Command filter list", + "CommandFilterRuleContentHelpText": "One line one command", + "CommandFilterRulePriorityHelpText": "1-100, the higher will be match first", + "CommandFilterRules": "Command filter rules", + "CommandFilterRulesCreate": "Command filter rules create", + "CommandFilterRulesUpdate": "Command filter rules update", + "CommandFilterUpdate": "Command filter update", + "CommandGroup": "Command group", + "CommandGroupCreate": "Command group create", + "CommandGroupDetail": "Command group detail", + "CommandGroupList": "Command group", + "CommandGroupUpdate": "Command group update", + "CommandStorage": "Command storage", + "CommandStorageUpdate": "Command storage update", + "Commands": "Commands", + "Comment": "Comment", + "CommentHelpText": "Note: Note information will be hovered and displayed in the user authorization asset tree of Luna page, which can be viewed by ordinary users. Please do not fill in sensitive information.", + "Common": "common", + "CommonUser": "Common user", + "CommunityEdition": "Community edition", + "Component": "component", + "ComponentMonitor": "System Monitor", + "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Do not respond with anything except the output of the code. ", + "ConceptTitle": "🤔 Python interpreter", + "Config": "Config", + "Confirm": "Confirm", + "ConfirmPassword": "Confirm password", + "Connect": "Connect", + "ConnectMethod": "Connect method", + "ConnectMethodACLHelpMsg": "You can control whether users can use a certain connection method to log in to the asset. Based on the rules you set, certain connection methods can be allowed while others are prohibited(global effective).", + "ConnectMethodAclCreate": "Create connect method acl", + "ConnectMethodAclDetail": "Connect method acl detail", + "ConnectMethodAclList": "Connect method acl", + "ConnectMethodAclUpdate": "Update connect method acl", + "ConnectUsers": "Connect accounts", + "ConnectWebSocketError": "Connect Websocket failed", + "ConnectionDropped": "Connection dropped", + "ConnectionToken": "Connection token", + "ConnectionTokenList": "The connection token is a kind of authentication information that combines authentication and connection assets. It allows users to log in to assets with one click. Currently supported components include: KoKo, Lion, Magnus, Razor, etc.", + "Connectivity": "Reachable", + "Console": "Console", + "Consult": "Consult", + "ContainAttachment": "Contain attachment", + "ContainerName": "Container name", + "Containers": "Containers", + "Contains": "Contains", + "Content": "Content", + "Contents": "Contents", + "Continue": "Continue", + "ContinueImport": "ContinueImport", + "ConvenientOperate": "Convenient operate", + "Copy": "Copy", + "CopySuccess": "Copy success", + "Corporation": "Corporation", + "Correlation": "Correlation", + "Cpu": "Cpu", + "Create": "Create", + "CreateAccessKey": "Create Access key", + "CreateAccountTemplate": "Create account template", + "CreateAdhoc": "Create Adhoc", + "CreateBy": "Create by", + "CreateCommandStorage": "Create command storage", + "CreateEndpoint": "Create endpoint", + "CreateEndpointRule": "Create endpoint rule", + "CreateErrorMsg": "Create error", + "CreateNode": "Create node", + "CreateOrgMsg": "Please go to Organization Details to add users", + "CreatePlaybook": "Create Playbook", + "CreateRemoteApp": "Create asset - Remote app", + "CreateReplayStorage": "Create object storage", + "CreateSuccessMsg": "Create success", + "CreateUserSetting": "Create User setting", + "Created": "Created", + "CreatedBy": "Created by", + "CriticalLoad": "Critical", + "CronExpression": "cron expression", + "CrontabHelpTips": "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips:Using 5 digits linux crontab expressions (Online tools)
Note:If both Regularly perform and Cycle perform are set, give priority to Regularly perform", + "CrontabOfCreateUpdatePage": "For example: every Sunday at 03:05 execute <5 3 * * 0>
Using the 5-bit Linux crontab expression ( Online tool )
If both regularly perform and cycle perform execution are set, use regularly perform first", + "CurrentConnections": "Current connections", + "CurrentUserVerify": "Verify Current User", + "Custom": "Custom", + "CustomCmdline": "Cmdline", + "CustomCol": "Custom table display", + "CustomCreate": "Create Asset - Custom", + "CustomFields": "Custom Fields", + "CustomFile": "Save the customized file to the specified directory (data/sms/main.py) and enable the configuration item SMSCUSTOMFILEMD5= in config.txt", + "CustomHelpMessage": "The assets of custom types require applet support. Please ensure that the corresponding applet is installed.", + "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the JumpServer parameters to be formatted, as follows::
{\"phoneNumbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", + "CustomPassword": "Password", + "CustomTarget": "target URL", + "CustomTree": "Custom tree", + "CustomType": "Custom Type", + "CustomUpdate": "Update Asset - Custom", + "CustomUser": "Custom user", + "CustomUsername": "Account", + "Cycle": "Cycle", + "CycleFromWeek": "cycle from week", + "CyclePerform": "Cycle perform", + "DBInfo": "Database Info", + "DangerCommand": "Danger command", + "DangerousCommandNum": "Dangerous command num", + "Dashboard": "Dashboard", + "Database": "Database", + "DatabaseApp": "DatabaseApp", + "DatabaseAppCount": "DatabaseApp count", + "DatabaseAppCreate": "Database app create", + "DatabaseAppDetail": "Database app detail", + "DatabaseAppPermission": "Databases permissions", + "DatabaseAppPermissionCreate": "Databases permissions create", + "DatabaseAppPermissionDetail": "Databases permissions detail", + "DatabaseAppPermissionUpdate": "Databases permissions update", + "DatabaseAppUpdate": "Database app update", + "DatabaseCreate": "Create Asset - Database", + "DatabaseId": "Database Id", + "DatabasePermissionRules": "Database Permission rules", + "DatabasePort": "Database protocol port", + "DatabaseProtocol": "Database Protocol", + "DatabaseUpdate": "Update Asset - Database", + "Date": "Date", + "DateCreated": "Date created", + "DateEnd": "Date end", + "DateExpired": "Date expired", + "DateFinished": "Date finished", + "DateJoined": "Date joined", + "DateLast24Hours": "Last 24 hours", + "DateLast3Months": "Last 3 months", + "DateLastHarfYear": "Last half year", + "DateLastLogin": "Date last login", + "DateLastMonth": "Last month", + "DateLastRun": "last run date", + "DateLastSync": "Date last sync", + "DateLastWeek": "Last week", + "DateLastYear": "Last year", + "DatePasswordLastUpdated": "Date password last updated", + "DatePasswordUpdated": "Date password updated", + "DateStart": "Date start", + "DateSync": "Date sync", + "DateUpdated": "Date updated", + "Datetime": "Datetime", + "Day": "day", + "Db": "Database app", + "DeactiveSelected": "Deactive selected", + "DeclassificationLogNum": "Declassification log num", + "Default": "Default", + "DefaultDatabase": "Default database", + "DefaultPort": "Default port", + "DefaultProtocol": "Default agreement, which will be selected by default when adding assets", + "Defaults": "Default", + "Delete": "Delete", + "DeleteConfirmMessage": "It cannot be restored after deletion, continue?", + "DeleteErrorMsg": "Delete failed", + "DeleteFailedMsg": "Delete failed", + "DeleteFile": "Delete file", + "DeleteNode": "Delete node", + "DeleteOrgMsg": "User list、User group、Asset list、Domain list、Admin user、System user、Labels、Asset permission", + "DeleteOrgTitle": "Please ensure that the following information in the organization has been deleted", + "DeleteReleasedAssets": "Delete released assets", + "DeleteSuccess": "Successfully deleted", + "DeleteSuccessMsg": "Delete success", + "DeleteWarningMsg": "Are you sure to delete ", + "DeliveryTime": "Delivery time", + "Deploy": "Deploy", + "DescribeOfGuide": "Welcome to JumpServer. Click here for more information", + "Description": "Description", + "DestinationIP": "Destination address", + "DestinationPort": "Destination port", + "Detail": "Detail", + "Device": "Device", + "DeviceCreate": "Create Asset - Network Device", + "DeviceUpdate": "Update Asset - Network Device", + "Digit": "Digit", + "DingTalk": "DingTalk", + "DingTalkTest": "Test", + "Disable": "Disable", + "DisableSuccessMsg": "Disable success", + "DisabledAsset": "Asset disabled", + "DisabledUser": "User disabled", + "Disk": "Disk", + "DisplayName": "Display name", + "DocType": "Doc type", + "Docs": "Docs", + "Domain": "Domain", + "DomainCreate": "Domain create", + "DomainDetail": "Domain detail", + "DomainEnabled": "Enable domain", + "DomainHelpMessage": "The domain function is added to address the fact that some environments (such as the hybrid cloud) cannot be connected directly by jumping on the gateway server.\nJMS => Domain gateway => Target assets", + "DomainList": "Domains", + "DomainUpdate": "Domain update", + "Download": "download", + "DownloadCenter": "Download center", + "DownloadFTPFileTip": "The current action is not recorded in the file, or the file size exceeds the threshold (100 MB by default), or is not saved to the corresponding storage", + "DownloadFile": "Download file", + "DownloadImportTemplateMsg": "Download import template", + "DownloadReplay": "Download replay", + "DownloadUpdateTemplateMsg": "Download update template", + "DragUploadFileInfo": "Drag file here or click here to upload", + "DropConfirmMsg": "Are you sure mv {src} to {dst} ?", + "DryRun": "Dry run", + "DuplicateFileExists": "Uploading files with the same name is not allowed. Please delete the existing file with the same name.", + "Duration": "Duration", + "DynamicUsername": "Dynamic username", + "Edit": "Edit", + "Edition": "Edition", + "Email": "Email", + "EmailContent": "Email content setting", + "EmailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", + "EmailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", + "EmailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", + "EmailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", + "EmailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", + "EmailHost": "SMTP host", + "EmailHostPassword": "Tips: Some provider use token except password", + "EmailHostUser": "SMTP user", + "EmailPort": "SMTP port", + "EmailRecipient": "Tips: Used only as a test mail recipient", + "EmailSubjectPrefix": "Tips: Some word will be intercept by mail provider", + "EmailTest": "Test connection", + "EmailUserSSL": "If SMTP port is 465, may be select", + "EmailUserTLS": "If SMTP port is 587, may be select", + "Empty": "Empty", + "Enable": "Enable", + "EnableKoKoSSHHelpText": "Enabled, connect assets to display SSH Client pull-up method", + "EnableOAuth2Auth": "Enable OAuth2 authentication", + "EnableSAML2Auth": "Enable SAML2 Auth", + "EnableVaultStorage": "Opening Vault Storage", + "EndPoint": "Endpoint", + "Endpoint": "Endpoint", + "EndpointListHelpMessage": "The service endpoint is the address (port) for the user to access the service. When the user connects to the asset, the service endpoint will be selected according to the endpoint rules and asset tags, and the connection will be established as the access entry to realize the distributed connection of assets.", + "EndpointRule": "Endpoint rule", + "EndpointRuleListHelpMessage": "For the service endpoint selection strategy, two types are currently supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through the asset tag. The tag name is fixed to endpoint, and the value is the name of the `endpoint`.
Two methods preferentially use label matching, because the IP segment may conflict, and the label method exists as a supplement to the rules.", + "EndpointSuffix": "Endpoint suffix", + "Endswith": "Ends With", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Ensure this value is greater than or equal to 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "Ensure this value is greater than or equal to 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "Ensure this value is greater than or equal to 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure this value is greater than or equal to 6", + "EnterForSearch": "Press enter to search", + "EnterMessage": "Please enter a question, press Enter to send", + "EnterRunUser": "Enter run user", + "EnterRunningPath": "Enter running path", + "EnterToContinue": "Press Enter to continue", + "EnterUploadPath": "Enter the upload path", + "Enterprise": "Enterprise", + "EnterpriseEdition": "Enterprise edition", + "Equal": "Equal", + "Error": "Error", + "ErrorMsg": "Error", + "EsDisabled": "Node is unavailable, please contact administrator", + "EsDocType": "Es provides the default document type: command", + "EsIndex": "Es provides the default index: jumpserver. If you choose to build an index by date, this blank is the index prefix", + "EsUrl": "Cannot contain special characters `#`; eg: http://esUser:esPassword@esHost:esPort", + "Every": "every", + "EveryMonth": "every month", + "Exclude": "Exclude", + "ExcludeAsset": "Skipped assets", + "ExcludeSymbol": "Exclude symbol", + "Execute": "Execute", + "ExecuteCycle": "Execute cycle", + "ExecuteFailedCommand": "Execute failed command", + "ExecuteOnce": " execute once", + "Execution": "Execution", + "ExecutionDetail": "Execution detail", + "ExecutionList": "Execution list", + "ExecutionTimes": "Execution times", + "ExistError": "This element already exists", + "Existing": "Existing", + "ExpectedNextExecuteTime": "Expected next execute time", + "ExpirationTimeout": "Expiration timeout (second)", + "Expire": "Expire", + "Expired": "Expired", + "Export": "Export", + "ExportAll": "Export all", + "ExportOnlyFiltered": "Export only filtered", + "ExportOnlySelectedItems": "Export only selected items", + "ExportRange": "Export range", + "FAILURE": "Failure", + "FC": "Fusion Compute", + "Failed": "Failed", + "FailedAsset": "Failed asset", + "FailedConditions": "cron expression error", + "False": "False", + "Favicon": "Website icon", + "FaviconTip": "Tips: website icon. (suggest image size: 16px*16px)", + "Feature": "Feature", + "Features": "Features", + "FeiShu": "FeiShu", + "FeiShuTest": "Test", + "FieldRequiredError": "This field is required", + "FileEncryptionPassword": "File encryption password", + "FileManager": "File manager", + "FileNameTooLong": "File name too long", + "FileSizeExceedsLimit": "File size exceeds limit", + "FileTransfer": "File transfer", + "FileTransferNum": "File transfer num", + "FileType": "File type", + "Filename": "Filename", + "FingerPrint": "Fingerprint", + "Finished": "Finished", + "FinishedTicket": "Finished Ticket", + "FirstLogin": "First login", + "FlowDetail": "Flow detail", + "FlowSetUp": "Flow set up", + "FormatError": "Format error", + "Friday": "Friday", + "From": "from", + "FromTicket": "From ticket", + "FtpLog": "FTP Logs", + "FullName": "Full name", + "FullySynchronous": "Assets fully synchronized", + "FullySynchronousHelpTips": "Whether to continue synchronizing assets when the asset conditions do not meet the matching policy rules", + "FuzzySearch": "Support for fuzzy search", + "GCP": "Google Cloud Platform", + "GPTCreate": "Create Asset - GPT", + "GPTUpdate": "Update Asset - GPT", + "Gateway": "Gateway", + "GatewayCreate": "Gateway create", + "GatewayList": "Gateway", + "GatewayProtocolHelpText": "SSH protocol gateway, support proxy SSH, RDP, VNC", + "GatewayUpdate": "Gateway update", + "GatherUser": "Gather User", + "GatherUserList": "Gather user", + "GatherUserTaskCreate": "Create gather user task", + "GatherUserTaskDetail": "Gather user detail", + "GatherUserTaskExecutionList": "Gather user task execution list", + "GatherUserTaskList": "Gather user task list", + "GatherUserTaskUpdate": "Update gather user task", + "GeneralAccounts": "General Accounts", + "Generate": "Generate", + "GenerateAccounts": "Regenerate accounts", + "GenerateSuccessMsg": "Accounts generated successfully", + "GetErrorMsg": "Get failed", + "Go": "Go", + "GoHomePage": "Go home page", + "Goto": "Goto", + "GrantedAccounts": "Granted accounts", + "GrantedApplications": "Granted applications", + "GrantedAssets": "Granted assets", + "GrantedDatabases": "Granted databases", + "GrantedK8Ss": "Granted K8Ss", + "GrantedRemoteApps": "Granted remote apps", + "GreatEqualThan": "Greater than or equal to", + "GroupsAmount": "Groups amount", + "GroupsHelpMessage": "Please fill in user groups, separated by commas if there are multiple user groups(Please fill in the existing user groups)", + "Guide": "Guide", + "HandleTicket": "Handle Ticket", + "Hardware": "Hardware", + "HardwareInfo": "Hardware info", + "HasImportErrorItemMsg": "There is an error item, click the x icon to view the details, and continue to import after editing", + "HasRead": "Has read", + "Help": "Help", + "HelpDocument": "Docs link", + "HelpDocumentTip": "You can change the URL of the site navigation bar help -> Docs", + "HelpSupport": "Support link", + "HelpSupportTip": "You can change the URL of the site navigation bar help -> Support", + "HighLoad": "High", + "HistoricalSessionNum": "Historical session num", + "History": "History record", + "HistoryDate": "History date", + "HistoryPassword": "History password", + "Home": "Home", + "HomeHelpMessage": "Default home directory: /home/system username", + "HomePage": "Home page", + "Host": "Asset", + "HostCreate": "Create Asset - Host", + "HostDeployment": "Remote host deployment", + "HostList": "Host list", + "HostName": "Hostname", + "HostProtocol": "Host Protocol", + "HostUpdate": "Update Asset - Host", + "Hostname": "Hostname", + "HostnameGroup": "Hostname group", + "HostnameStrategy": "Used to produce the asset hostname. For example, 1. Instance name (instanceDemo);2. Instance name and Partial IP (instanceDemo-250.1)", + "Hosts": "Hosts", + "Hour": "hour", + "HttpPort": "Http port", + "HuaweiCloud": "Huawei Cloud", + "HuaweiPrivatecloud": "Huawei Private Cloud", + "IAgree": "I agree", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/Host", + "IPGroup": "IP group", + "IPLoginLimit": "IP login limit", + "IPMatch": "IP Match", + "IPNetworkSegment": "Ip Network Segment", + "Icon": "Icon", + "Id": "ID", + "IdeaContent": "I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. .", + "IdeaTitle": "🌱 Linux Terminal", + "IdpMetadataHelpText": "Choose one of IDP metadata URL and IDP metadata XML parameters. IDP metadata URL has high priority", + "IdpMetadataUrlHelpText": "Load IDP Metadata from remote url", + "IgnoreCase": "Ignore case", + "ImageName": "Image name", + "Images": "Images", + "Import": "Import", + "ImportAll": "Import All", + "ImportFail": "Import failed", + "ImportLdapUserTip": "Please submit the LDAP configuration before import", + "ImportLdapUserTitle": "LDAP user list", + "ImportLicense": "Import license", + "ImportLicenseTip": "Please Import License", + "ImportMessage": "Please go to the page of mapping type to import data", + "ImportOrg": "Import organization", + "ImprovePersonalInformation": "Improve personal information", + "InActiveAsset": "Asset not visited", + "InActiveUser": "User not visit", + "InAssetDetail": "Update account information in asset details", + "InTotal": "In total", + "Inactive": "Disabled", + "Include": "Include", + "Index": "Index", + "Info": "info", + "Inherit": "Inherit", + "InheritPlatformConfig": "Inherited from the platform configuration. If you need to change, please change the configuration in the platform.", + "InitialDeploy": "Initial deploy", + "Input": "Input", + "InputEmailAddress": "Please enter your email address", + "InputMessage": "Input message...", + "InputNumber": "Please enter the number type", + "InputPhone": "Please enter your mobile phone number", + "InsecureCommandAlert": "Insecure command alert", + "InsecureCommandEmailUpdate": "Setting", + "InsecureCommandNotifyToSubscription": "Insecure command notification setting, change to system message subscription, support more notify method", + "InstanceAddress": "Instance address", + "InstanceName": "Instance name", + "InstancePlatformName": "Instance platform name", + "InstantAdhoc": "Instant command", + "Interface": "Interface", + "InterfaceSettings": "Interface", + "IntervalOfCreateUpdatePage": "Unit: hour", + "Invalid": "Invalid", + "InvalidJson": "Not a valid json format", + "Invalidity": "Invalidity", + "Invite": "Invite", + "InviteSuccess": "Invite success", + "InviteUser": "Invite user", + "InviteUserInOrg": "Invite user in this org", + "Ip": "IP", + "IpDomain": "IP(Host)", + "IpGroup": "IP group", + "IpGroupHelpText": "* means match all. Example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "Enter the IP address group, separated by commas", + "IsActive": "Is active", + "IsAlwaysUpdate": "Keep assets up to date", + "IsAlwaysUpdateHelpTips": "Whether to synchronize asset information, including host name, IP address, system platform, network domain, and node information, each time a synchronization task is executed", + "IsEffective": "Effective", + "IsFinished": "Is finished", + "IsLocked": "Is Locked", + "IsSuccess": "Is success", + "IsSyncAccountHelpText": "After the collection is completed, the collected account will be synchronized to the asset", + "IsSyncAccountLabel": "Synchronize to Asset", + "IsValid": "Validity", + "JDCloud": "JD Cloud", + "JMSSSO": "SSO Token Login", + "Job": "Job", + "JobCenter": "Job", + "JobCreate": "Create job", + "JobDetail": "Job detail", + "JobExecutionLog": "Job execution log", + "JobList": "Job list", + "JobName": "Job name", + "JobType": "Job type", + "JobUpdate": "Update job", + "Join": "join", + "K8s": "kubernetes", + "K8sPermissionRules": "Kubernetes Permission rules", + "Key": "Key", + "KingSoftCloud": "KingSoft Cloud", + "KokoSettingUpdate": "Koko setting", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes apps", + "KubernetesAppCount": "KubernetesApp count", + "KubernetesAppCreate": "Kubernetes app create", + "KubernetesAppDetail": "Kubernetes app detail", + "KubernetesAppPermission": "Kubernetes permissions", + "KubernetesAppPermissionCreate": "Kubernetes permissions create", + "KubernetesAppPermissionDetail": "Kubernetes permissions detail", + "KubernetesAppPermissionUpdate": "Kubernetes permissions update", + "KubernetesAppUpdate": "Kubernetes app update", + "LAN": "LAN", + "LDAPServerInfo": "LDAP Server", + "LDAPUser": "LDAP User", + "LOWERCASEREQUIRED": "Lower case required", + "Label": "Label", + "LabelCreate": "Label create", + "LabelInputFormatValidation": "Format error, correct format is:name:value", + "LabelList": "Label list", + "LabelUpdate": "Label update", + "Language": "Language", + "Last30": "Last 30 times", + "Last30Days": "Last30 days", + "Last7Days": "Last 7 days", + "LastCannotBeDeleteMsg": "The last one can't be delete", + "LastDay": "last day of the month", + "LastExecutionOutput": "Lask execution output", + "LastPublishedTime": "Last published", + "LastRun": "Last run", + "LastRunFailedHosts": " Last run failed hosts", + "LastRunSuccessHosts": " Last run success hosts", + "LastWeek": "last week of the month", + "LastWorking": "the last working day", + "LatestSessions": "Latest sessions", + "LatestSessions10": "Latest sessions top 10", + "LatestTop10": "TOP 10", + "LatestVersion": "Latest version", + "Ldap": "LDAP", + "LdapBulkImport": "Bulk import", + "LdapConnectTest": "Test connection", + "LdapLoginTest": "Test login", + "Length": "Length", + "LessEqualThan": "Less than or equal to", + "LevelApproval": "Level approval", + "License": "License", + "LicenseDetail": "License detail", + "LicenseExpired": "License expired", + "LicenseFile": "License file", + "LicenseForTest": "Testing license, This license is only for testing", + "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", + "LicenseWillBe": "License will expire at ", + "LinuxAdminUser": "Linux Admin user", + "LinuxUserAffiliateGroup": "Linux user affiliate group", + "LoadStatus": "Load status", + "Loading": "Loading", + "LockedIP": "Locked IPs {count}", + "Log": "Log", + "LogData": "Log data", + "LogOfLoginSuccessNum": "Log of login success num", + "Logging": "Logging", + "Login": "Users login", + "LoginAssetConfirm": "Asset login confirm", + "LoginAssetToday": "Active assets today", + "LoginAssets": "Active assets", + "LoginCity": "Login city", + "LoginConfig": "Login config", + "LoginConfirm": "Login confirm", + "LoginConfirmUser": "Log in as the review assignee", + "LoginCount": "Login count", + "LoginDate": "Login date", + "LoginFailed": "Login failed", + "LoginFrom": "Login from", + "LoginIP": "Login IP", + "LoginImage": "Image of login page", + "LoginImageTip": "Tips: It will be displayed on the enterprise version user login page (recommended image size: 492*472px)", + "LoginLog": "Login logs", + "LoginModeHelpMessage": "If you choose manual login mode, you do not need to fill in the username and password.", + "LoginModel": "Login model", + "LoginNum": "Login num", + "LoginOption": "Login option", + "LoginOverview": "Sessions overview", + "LoginPasswordSetting": "Login password setting", + "LoginRequiredMsg": "You account has logout, Please login again", + "LoginSucceeded": "Login succeeded", + "LoginTitle": "Title of login page", + "LoginTitleTip": "Tips: This will be displayed on the enterprise user login page. (eg: Welcome to the JumpServer open source fortress)", + "LoginTo": "Login to", + "LoginUserRanking": "Login account ranking", + "LoginUserToday": "Login account today", + "LoginUsers": "Active accounts", + "LogoIndex": "Logo (It contains text)", + "LogoIndexTip": "Tips: This will appear at the top left of the administration page. (suggest image size: 185px*55px)", + "LogoLogout": "Logo (It contains no text)", + "LogoLogoutTip": "Tips: It will be displayed on the web terminal page of enterprise users (recommended image size: 82px*82px)", + "Logout": "Logout", + "LogsAudit": "Log audit", + "Lowercase": "Lowercase", + "LunaSettingUpdate": "Luna setting", + "MFA": "MFA", + "MFAConfirm": "MFA Confirm", + "MFAErrorMsg": "MFA Error, please check", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make the account more secure
After is enabled, you will enter the multi-factor authentication binding process on your next login
You can also bind directly in (personal information -> fast modifier -> modifier multiple factor Settings)", + "MFAOfUserFirstLoginUserGuidePage": "To protect the security of you and the company
please properly keep your account, password, key and other important and sensitive information
(e.g., set a complex password and enable multi-factor authentication)
Personal information such as email, phone number, WeChat, etc. is only used for user authentication and platform internal message notifications.", + "MFARequireForSecurity": "MFA required for security", + "MFAVerify": "Verify MFA", + "MINLENGTHERROR": "Password minimum length {}", + "MailRecipient": "Mail recipient", + "MailSend": "Mail send", + "ManualAccount": "Manual account", + "ManualAccountTip": "Non-asset account, Input username/password on connect", + "ManualExecutePlan": "Manual execute plan", + "ManualInput": "Manual input", + "ManyChoose": "many choose", + "Mariadb": "MariaDB", + "MarkAsRead": "Mark as read", + "Marketplace": "Marketplace", + "Match": "Match", + "MatchIn": "In ...", + "MatchResult": "Match results", + "MatchedCount": "Match count", + "Material": "Material", + "Members": "Members", + "Memory": "Memory", + "MenuAccounts": "Accounts", + "MenuAssets": "Assets", + "MenuMore": "More...", + "MenuPermissions": "Permissions", + "MenuUsers": "Users", + "Message": "Message", + "MessageSub": "Message", + "MessageSubscription": "Message Subscription", + "MessageType": "Message Type", + "Meta": "Meta", + "MfaLevel": "MFA level", + "Min": "minute", + "Model": "Model", + "Modify": "Modify", + "ModifySSHKey": "Modify SSH Key", + "ModifyTheme": "Modify theme", + "Module": "Module", + "Monday": "Monday", + "Mongodb": "MongoDB", + "Monitor": "Monitor", + "Month": "month", + "Monthly": "Monthly", + "More": "More...", + "MoreActions": "Actions", + "MoveAssetToNode": "move asset to node", + "MsgSubscribe": "Message subscribe", + "MyApps": "My Apps", + "MyAssets": "My assets", + "MyTickets": "My tickets", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "MysqlWorkbenchIp": "DB IP", + "MysqlWorkbenchName": "DB Name", + "MysqlWorkbenchPassword": "DB Password", + "MysqlWorkbenchPort": "DB Port", + "MysqlWorkbenchUsername": "DB Account", + "NUMBERREQUIRED": "Number required", + "Name": "Name", + "NavHelp": "Navigation Link", + "Navigation": "Navigation", + "NeedAddAppsOrSystemUserErrMsg": "Please add apps or system user", + "NeedReLogin": "Need Re-Login", + "NeedSpecifiedFile": "Required to upload the specified format file", + "NeedUpdatePasswordNextLogin": "Update password next login", + "Network": "Network", + "New": "New", + "NewChat": "New Chat", + "NewCount": "New count", + "NewCron": "new cron", + "NewDirectory": "New directory", + "NewFile": "New file", + "NewPassword": "New password", + "NewSyncCount": "New synced count", + "No": "No", + "NoAlive": "no alive", + "NoAnnouncement": "No announcement", + "NoContent": "No content", + "NoData": "No data", + "NoFiles": "No Files", + "NoInputCommand": "No input command", + "NoLicense": "No License", + "NoPermission": "No permission", + "NoPermission403": "403 No permission", + "NoPermissionVew": "No permission view current page", + "NoPublished": "Unpublished", + "NoSQLProtocol": "NoSQL Protocol", + "NoSystemUserWasSelected": "No system user was selected", + "NoUnreadMsg": "No unread messages", + "Node": "Node", + "NodeAmount": "Node", + "NodeCount": "Node count", + "NodeInformation": "Node information", + "NodeSearchStrategy": "Node search Strategy", + "NormalLoad": "Normal", + "NotAlphanumericUnderscore": "Only numbers, letters and underscores can be entered", + "NotEqual": "Not Equal", + "NotParenthesis": "Not contain ( )", + "NotSet": "Not set", + "NotSpecialEmoji": "No special emoji allowed", + "Nothing": "Nothing", + "Notifications": "Notifications", + "Now": "Now", + "Num": "number ", + "Number": "Number", + "NumberOfVisits": "Number of visits", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "Tip: Authentication service provider (recommended image size: 64px*64px)", + "OIDC": "OIDC", + "OTP": "OTP(MFA)", + "ObjectNotFoundOrDeletedMsg": "Resource lost or deleted", + "OfficialWebsite": "Official website link", + "OfficialWebsiteTip": "You can change the URL of the site navigation bar help -> Website", + "Offline": "Offline", + "OfflineSuccessMsg": "Offline success", + "OfflineUpload": "Upload offline", + "OldPassword": "Old password", + "OldSSHKey": "Old SSH key", + "On/Off": "On/Off", + "OneAssignee": "First-level Assignee", + "OneAssigneeType": "Type of primary assignee", + "OneClickRead": "Currently read", + "OneClickReadMsg": "Are you sure you want to mark the current information as read?", + "OnlineSession": "Online session", + "OnlineSessionHelpMsg": "The current session cannot be offline because it is an online session of the current user. Currently, only users who have logged in through web mode are recorded.", + "OnlineSessions": "Online sessions", + "OnlineUserDevices": "OnlineUserDevices", + "OnlineUsers": "Online accounts", + "OnlyCSVFilesTips": "Only csv supported", + "OnlyLatestVersion": "Only latest version", + "OnlyMailSend": "Currently only mail sending is supported", + "OnlySearchCurrentNodePerm": "Search only for the perms of the current node perms", + "Open": "Open", + "OpenCommand": "Open command", + "OpenId": "OpenID", + "OpenStack": "OpenStack", + "OpenStatus": "Open", + "OpenTicket": "Open Ticket", + "OperateLog": "Operation logs", + "OperateRecord": "Operating record", + "OperationLogNum": "Operation log num", + "Ops": "Task", + "Options": "Options", + "Oracle": "Oracle", + "OrgAdmin": "Org Admin", + "OrgAuditor": "Org Auditor", + "OrgName": "Org name", + "OrgRole": "Org roles", + "OrgRoleHelpText": "Organizational roles are the user's role in the current organization", + "OrgRoles": "Org roles", + "OrgUser": "Org User", + "OrganizationAsset": "Organization asset", + "OrganizationCreate": "Create organization", + "OrganizationDetail": "Org detail", + "OrganizationList": "Organizations", + "OrganizationLists": "Organization lists", + "OrganizationMembership": "Organization membership", + "OrganizationUpdate": "Update org", + "Os": "Os", + "Other": "Other setting", + "OtherAuth": "Other Auth", + "OtherProtocol": "Other Protocol", + "OtherRules": "Other rules", + "Others": "Others", + "Output": "Output", + "Overview": "Overview", + "PENDING": "Pending", + "PageNext": "Next", + "PagePrev": "Previous", + "Parameter": "Parameter", + "Params": "Params", + "ParamsHelpText": "The push parameter settings are currently only effective for assets with a platform type of host.", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "Your authentication source is {source}, and Passkey addition is not supported.", + "Passphrase": "Passphrase", + "Password": "Password", + "PasswordAccount": "Password account", + "PasswordChangeLog": "Password change logs", + "PasswordCheckRule": "Password check rule", + "PasswordConfirm": "Password Confirm", + "PasswordExpired": "Password expired", + "PasswordHelpMessage": "Password or private key password", + "PasswordLength": "Password length", + "PasswordOrPassphrase": "Password or Passphrase", + "PasswordOrToken": "Password / Token", + "PasswordPlaceholder": "Please input password", + "PasswordRecord": "Password record", + "PasswordRequireForSecurity": "Password required for security", + "PasswordRule": "Password rule", + "PasswordSecurity": "Password security", + "PasswordSelector": "Password Input Box Selector", + "PasswordStrategy": "Password strategy", + "PasswordWillExpiredPrefixMsg": "The password will expire in ", + "PasswordWillExpiredSuffixMsg": " days.Please change your password as soon as possible.", + "PasswordWithoutSpecialCharHelpText": "Password can't has special chars ", + "Paste": "Paste", + "Pattern": "Pattern", + "Pause": "Pause", + "PauseTaskSendSuccessMsg": "Pause task has been send, Please check later", + "Pending": "Open", + "Periodic": "Periodic", + "PeriodicPerform": "Periodic perform", + "Perm": "Permission", + "PermAccount": "Accounts", + "PermName": "Perm name", + "PermUserList": "Authorized user", + "Permission": "Permissions", + "PermissionCompany": "Permission company", + "PermissionName": "Permission name", + "Permissions": "Permissions", + "Perms": "Perms", + "PersonalAsset": "Personal asset", + "PersonalInformationImprovement": "Personal Information Improvement", + "Phone": "Phone", + "Plan": "Plan", + "Platform": "Platform", + "PlatformCreate": "Platform create", + "PlatformDetail": "Platform detail", + "PlatformList": "Platforms", + "PlatformProtocolConfig": "Platform protocol config", + "PlatformSimple": "Platform", + "PlatformUpdate": "Platform update", + "PlaybookDetail": "Playbook detail", + "PlaybookManage": "Playbook manage", + "PlaybookUpdate": "Update Playbook", + "PleaseAgreeToTheTerms": "Please agree to the terms", + "PleaseClickLeftApplicationToViewApplicationAccount": "Application account list, please click on the application on the left to view", + "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, please click on the assets on the left to view", + "PleaseClickLeftAssetToViewGatheredUser": "Gathered user list, please click on the assets on the left to view", + "PleaseSelect": "Please select", + "PolicyName": "Policy name", + "Port": "Port", + "Ports": "Ports", + "Postgresql": "PostgreSQL", + "Primary": "primary", + "PrimaryOnly": "There can only be one main agreement", + "PrimaryProtocol": "The primary protocol, the most basic and commonly used protocol for assets, can only and must be set up with one.", + "Priority": "Priority", + "PriorityHelpMessage": "1-100, High level will be using login asset as default, if user was granted more than 2 system user", + "PrivateCloud": "Private cloud", + "PrivateKey": "Private key", + "PrivilegeFirst": "Prefer privileged accounts", + "PrivilegeOnly": "Select only privileged accounts", + "Privileged": "Privileged", + "PrivilegedFirst": "Prefer privileged accounts", + "PrivilegedOnly": "Privileged accounts only", + "PrivilegedTemplate": "Privileged", + "Product": "Product", + "Profile": "Profile", + "ProfileSetting": "Profile setting", + "Project": "Project name", + "Prompt": "Prompt", + "Proportion": "Proportion", + "ProportionOfAssetTypes": "Proportion of asset types", + "Protocol": "Protocol", + "Protocols": "Protocols", + "ProtocolsEnabled": "Enable protocol", + "ProtocolsGroup": "Protocols group", + "Provider": "Provider", + "Proxy": "Proxy", + "Public": "Public", + "PublicCloud": "Public cloud", + "PublicIp": "Public ip", + "PublicKey": "Public key", + "PublicProtocol": "If it is a public protocol, it will be displayed when connecting assets", + "Publish": "Publish", + "PublishAllApplets": "Publish all applets", + "PublishStatus": "Publish status", + "Push": "Push", + "PushAccount": "Push account", + "PushAllSystemUsersToAsset": "Push all system users to asset", + "PushParams": "Push params", + "PushSelected": "Push selected", + "PushSelectedSystemUsersToAsset": "Push selected system users to asset", + "PushSystemUserNow": "Push system user now", + "Qcloud": "Tencent Cloud", + "QcloudLighthouse": "Tencent Cloud (lightweight application server)", + "QingyunPrivatecloud": "Qingyun Private Cloud", + "Queue": "Queue", + "QuickAccess": "Quick access", + "QuickAdd": "Quick add", + "QuickJob": "Shortcut command", + "QuickSelect": "Quick select", + "QuickUpdate": "Quick update", + "RDBProtocol": "RDS Protocol", + "RUNNING": "Running", + "Radius": "Radius", + "Ranking": "Ranking", + "Ratio": "Ratio", + "RazorNotSupport": "RDP Client session not support now", + "ReLogin": "Re-Login", + "ReLoginErr": "Login time has exceeded 5 minutes, please login again", + "ReLoginTitle": "The current three-party login user (cas/saml) is not bound to MFA and does not support password verification. Please login again", + "RealTimeData": "Real-time data", + "Reason": "Reason", + "Receivers": "Receivers", + "RecentLogin": "Recent login", + "RecentSession": "Recent session", + "RecentlyUsed": "Recently used", + "RecipientHelpText": "If both recipients A and B are set, the account key will be split into two parts: front and back", + "RecipientServer": "Receiving server", + "Reconnect": "Reconnect", + "Redis": "Redis", + "Refresh": "Refresh", + "RefreshFail": "Refresh fail", + "RefreshHardware": "Refresh hardware", + "RefreshLdapCache": "Refreshing Ldap cache ", + "RefreshLdapUser": "Refresh cache", + "RefreshPermissionCache": "Refresh permission cache", + "RefreshSuccess": "Refresh success", + "Regex": "Regex", + "Region": "Region", + "RegularlyPerform": "Regularly perform", + "Reject": "Reject", + "Rejected": "Rejected", + "RelAnd": "And", + "RelNot": "Not", + "RelOr": "Or", + "Relation": "Relation", + "ReleasedCount": "Released count", + "RelevantApp": "Application", + "RelevantAsset": "Asset", + "RelevantAssignees": "Relevant assignees", + "RelevantCommand": "Command", + "RelevantSystemUser": "System user", + "RemoteAddr": "Remote addr", + "RemoteApp": "Remote app", + "RemoteAppCount": "RemoteApp count", + "RemoteAppDetail": "Remote app detail", + "RemoteAppListHelpMessage": "Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download application loader", + "RemoteAppPermission": "Remote apps permissions", + "RemoteAppPermissionCreate": "Remote apps permission create", + "RemoteAppPermissionDetail": "Remote apps permissions detail", + "RemoteAppPermissionRules": "Remote app permission rules", + "RemoteAppPermissionUpdate": "Remote app permission update", + "RemoteAppUpdate": "Remote app update", + "RemoteApps": "Remote application", + "RemoteType": "Remote type", + "Remove": "Remove", + "RemoveAssetFromNode": "Remove asset from node", + "RemoveErrorMsg": "Remove failed: ", + "RemoveFromCurrentNode": "Remove from node", + "RemoveFromOrgWarningMsg": "Are you sure remove ", + "RemoveSuccessMsg": "Remove success", + "RemoveWarningMsg": "Are you sure to remove ", + "Rename": "Rename", + "RenameNode": "Rename node", + "ReplaceNodeAssetsAdminUser": "Replace node assets admin user with this", + "ReplaceNodeAssetsAdminUserWithThis": "Replace node assets admin user with this", + "Replay": "replay", + "ReplaySession": "Replay session", + "ReplayStorage": "Object storage", + "ReplayStorageCreateUpdateHelpMessage": "Note: Currently, SFTP storage only supports account backup and does not support video storage.", + "ReplayStorageUpdate": "Replay object update", + "Reply": "Reply", + "RequestApplicationPerm": "Request application perm", + "RequestAssetPerm": "Request asset perm", + "RequestPerm": "Request Perm", + "RequestTickets": "Request tickets", + "Required": "Required", + "RequiredAssetOrNode": "Please select at least one asset or node", + "RequiredContent": "Please input the command", + "RequiredEntryFile": "This file is used as the entry file for running and must exist", + "RequiredHasUserNameMapped": "Must contain a mapping for the username field, such as { 'uid': 'username' }", + "RequiredProtocol": "Required agreement, which must be selected when adding assets", + "RequiredRunas": "Please input the run user", + "RequiredSystemUserErrMsg": "Required account", + "RequiredUploadFile": "Please upload files!", + "Reset": "Reset", + "ResetAndDownloadSSHKey": "Reset and download SSH Key", + "ResetDingTalk": "Untie DingTalk", + "ResetDingTalkLoginSuccessMsg": "The reset is successful, and the user can re-bind DingTalk", + "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", + "ResetMFA": "Reset MFA", + "ResetMFAWarningMsg": "This will reset the user MFA setting, user can reset it", + "ResetMFAdSuccessMsg": "Reset MFA success", + "ResetPassword": "Reset password", + "ResetPasswordSuccessMsg": "A password reset message has been sent to the user", + "ResetPasswordWarningMsg": "This will reset the user password and send a reset mail", + "ResetPublicKeyAndDownload": "Reset public key and download", + "ResetSSHKey": "Reset SSH key", + "ResetSSHKeySuccessMsg": "An e-mail has been sent to the user`s mailbox", + "ResetSSHKeyWarningMsg": "This will reset the user public key and send a reset mail", + "ResetWechat": "Reset Wechat", + "ResetWechatLoginSuccessMsg": "Reset Wechat success", + "ResetWechatLoginWarningMsg": "This will reset the user Wechat setting, user can reset it", + "Resource": "Resource", + "ResourceType": "Resource type", + "Resources": "Resources", + "RestoreButton": "Restore Default", + "RestoreDefault": "Restore default", + "RestoreDialogMessage": "This will restore default Settings of the interface !!!", + "RestoreDialogTitle": "Are you sure?", + "Result": "Result", + "Resume": "Resume", + "ResumeTaskSendSuccessMsg": "Resume task has been send, Please check later", + "Retry": "Retry", + "Reviewer": "Reviewer", + "Revise": "Revise", + "RiskLevel": "Risk level", + "Role": "Role", + "RoleCreate": "Role create", + "RoleDetail": "Role detail", + "RoleInfo": "Role info", + "RoleList": "Roles", + "RolePerms": "Role perms", + "RoleUpdate": "Role update", + "RoleUsers": "Role users", + "Rows": "rows", + "Rule": "Rule", + "RuleCount": "Number of conditions", + "RuleDetail": "Rule detail", + "RuleRelation": "Rule relation", + "RuleRelationHelpTips": "And: The action is performed only when all conditions are met; Or: If a condition is met, the action will be performed", + "RuleSetting": "Rule setting", + "Rules": "Rules", + "Run": "Run", + "RunAgain": "Run again", + "RunAs": "Run as", + "RunCommand": "Run command", + "RunJob": "Run job", + "RunSucceed": "Task executed successfully", + "RunTaskManually": "Run task manually", + "RunTimes": "Run times", + "RunUser": "Run user", + "RunasHelpText": "Fill in the user name to run the script", + "RunasPolicy": "Account policy", + "RunasPolicyHelpText": "Indicates the account selection strategy when there is no running user on the current asset", + "Running": "Runing", + "RunningPath": "Running path", + "RunningPathHelpText": "Fill in the running path of the script. This setting only takes effect for shell scripts.", + "RunningTimes": "last 5 running times", + "SAML2": "SAML2", + "SAML2Auth": "SAML2 Auth", + "SCP": "SCP", + "SFTPHelpMessage": "SFTP root dir, default is /tmp, Set to HOME to use user home dir.
Support some vars: ${ACCOUNT} the account username connected, ${USER} the staff username", + "SMS": "SMS", + "SMSProvider": "SMS provider", + "SMTP": "SMTP server", + "SPECIALCHARREQUIRED": "Special char required", + "SSHKey": "SSH Key", + "SSHKeyOfProfileSSHUpdatePage": "Copy your public key here", + "SSHKeySetting": "SSH Key setting", + "SSHPort": "SSH Port", + "SSHSecretKey": "SSh key", + "SSO": "SSO", + "SUCCESS": "Success", + "SafeCommand": "Safe command", + "SameAccount": "Same account", + "SameAccountTip": "The same username account with current login user", + "SameTypeAccountTip": "An account with the same user name and key type already exists", + "Saturday": "Saturday", + "Save": "Save", + "SaveAdhoc": "Save Adhoc", + "SaveAndAddAnother": "Save and add another", + "SaveCommand": "Save command", + "SaveCommandSuccess": "Save command succeeded", + "SaveSetting": "Save setting", + "SaveSuccess": "Saved successfully", + "SaveSuccessContinueMsg": "Create success, you may add another", + "Scope": "Type", + "Script": "Script list", + "ScriptDetail": "Script detail", + "ScrollToBottom": "Roll to the bottom", + "ScrollToTop": "Scroll to top", + "Search": "Search", + "SearchAncestorNodePerm": "Search perms for both current node and ancestor nodes", + "Secret": "Secret", + "SecretKey": "Secret Key", + "SecretKeyStrategy": "Secret key strategy", + "SecretType": "Secret type", + "Secure": "Secure", + "Security": "Security", + "SecurityCommandExecution": "Batch execute commands", + "SecurityInsecureCommand": "After it is enabled, when a dangerous command is executed on the asset, an email alarm notification will be sent", + "SecurityInsecureCommandEmailReceiver": "Alert receive email", + "SecurityLoginLimitCount": "Limit the number of login failures", + "SecurityLoginLimitTime": "No logon interval", + "SecurityMaxIdleTime": "Connection max idle time", + "SecurityMfaAuth": "MFA", + "SecurityPasswordExpirationTime": "Password expiration time", + "SecurityPasswordLowerCase": "Must contain lowercase letters", + "SecurityPasswordMinLength": "Password minimum length", + "SecurityPasswordNumber": "Must contain numeric characters", + "SecurityPasswordSpecialChar": "Must contain special characters", + "SecurityPasswordUpperCase": "Must contain capital letters", + "SecurityServiceAccountRegistration": "Service account registration", + "SecuritySetting": "Security", + "Select": "Select", + "SelectAccount": "Select account", + "SelectAdhoc": "Select Adhoc", + "SelectAll": "Select all", + "SelectAssetsMessage": "Select the left asset, select the running system user, execute command in batch", + "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", + "SelectAttrs": "Select attrs", + "SelectByAttr": "Select By Attribute", + "SelectCreateMethod": "Choose how to create", + "SelectFile": "Select file", + "SelectKeyOrCreateNew": "Select label key or create new", + "SelectLabelFilter": "Select label to filter", + "SelectPlatforms": "Select platforms", + "SelectProperties": "Select properties", + "SelectResource": "Select resource", + "SelectTemplate": "Select template", + "SelectValueOrCreateNew": "Select label value or create new", + "Selected": "Selected", + "SelectedAssets": "Selected assets:", + "Selection": "Selection", + "Selector": "Selector", + "Send": "Send", + "SendVerificationCode": "Send verification code", + "Sender": "Sender", + "Senior": "Senior", + "SerialNumber": "Serial number", + "ServerAccountKey": "Server Account Key", + "ServerError": "Server Error", + "ServerTime": "Server time", + "ServiceRatio": "Service ratio", + "Session": "Session", + "SessionActiveCount": "session active count", + "SessionData": "Session data", + "SessionDetail": "Session detail", + "SessionID": "Session ID", + "SessionList": "Session list", + "SessionMonitor": "Session Monitor", + "SessionOffline": "Sessions offline", + "SessionOnline": "Sessions online", + "SessionSecurity": "Session security", + "SessionState": "Session state", + "SessionTerminate": "Session Terminate", + "SessionTrend": "Session trend", + "Sessions": "Sessions", + "SessionsAudit": "Session audit", + "SessionsNum": "Sessions num", + "Set": "Set", + "SetAdDomainNoDisabled": "If AD domain is set, it cannot be modified", + "SetDingTalk": "Set dingtalk login", + "SetFailed": "Set failed", + "SetFeiShu": "Set feishu login", + "SetMFA": "Set MFA", + "SetPublicKey": "Set public key", + "SetSlack": "Set Slack login", + "SetStatus": "Set status", + "SetSuccess": "Set success", + "SetToDefault": "Set to default", + "SetToDefaultStorage": "Set to default storage", + "SetWeCom": "Set wecom login", + "Setting": "Setting", + "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Terminal Settings / Service Endpoints", + "Settings": "Settings", + "Show": "Show", + "ShowAssetAllChildrenNode": "Show asset all children node", + "ShowAssetOnlyCurrentNode": "Show asset only current node", + "ShowNodeInfo": "Show node information", + "SignChannelNum": "Signature channel number", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "Site messages", + "SiteMessageList": "Site message", + "SiteUrl": "Current SITE URL", + "Skip": "Ignore current asset", + "Skipped": "Skipped", + "Slack": "Slack", + "Source": "Source", + "SourceIP": "Source address", + "SourcePort": "Source port", + "Spec": "Specific", + "SpecAccount": "Specify account", + "SpecAccountTip": "Specify accounts by username", + "SpecialSymbol": "Special symbol", + "SpecificInfo": "Specific", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH fingerprint", + "SshPort": "SSH port", + "Sshkey": "sshkey", + "SshkeyAccount": "ssh key account", + "StartEvery": " start, every", + "Startswith": "Starts With", + "Stat": "F/S/T", + "State": "State", + "StateClosed": "closed", + "Status": "Status", + "StatusGreen": "Recently in good condition", + "StatusRed": "The last task execution failed", + "StatusYellow": "Recent Execution Failures", + "Stop": "Stop", + "Storage": "Storage", + "StorageConfiguration": "Storage configuration", + "Strategy": "Strategy", + "StrategyCreate": "Create strategy", + "StrategyDetail": "Strategy detail", + "StrategyHelpTips": "A unique asset attribute (such as platform) is determined based on the policy priority. If multiple asset attributes (such as nodes) can be configured, all policy actions are executed", + "StrategyList": "Strategy list", + "StrategyUpdate": "Update strategy", + "SuFrom": "Su from", + "Subject": "Subject", + "Submit": "Submit", + "SubmitSelector": "Submit Button Selector", + "Subscription": "Subscription", + "SubscriptionID": "Subscription ID", + "Success": "Success", + "SuccessAsset": "Successful assets", + "SuccessfulOperation": "Successful operation", + "SudoHelpMessage": "Use comma split multi command, ex: /bin/whoami, /bin/ifconfig", + "Summary(success/total)": "Overview (Success/Total)", + "Sunday": "Sunday", + "SuperAdmin": "Super administrator", + "SuperOrgAdmin": "Super administrator + organization administrator", + "Support": "Support", + "SupportedProtocol": "Supported protocol", + "SupportedProtocolHelpText": "Set the protocol supported by the asset. Click the Settings button to modify the custom configuration for the protocol, such as the SFTP directory, RDP AD domain, etc.", + "SwitchPage": "Switch page", + "SwitchToUser": "Switch to user", + "SwitchToUserListTips": "When the following users are used to connect to assets, the current system user is used to log in and then switch.", + "SymbolSet": "Special symbol set", + "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If there are special characters in the generated random password that are not supported by this type of database, the password change plan will fail", + "Sync": "Sync", + "SyncDelete": "Sync delete", + "SyncInstanceTaskCreate": "Create sync task", + "SyncInstanceTaskDetail": "Sync task detail", + "SyncInstanceTaskHistoryAssetList": "Sync instance list", + "SyncInstanceTaskHistoryList": "Sync task history", + "SyncInstanceTaskList": "Sync task list", + "SyncInstanceTaskUpdate": "Update sync task", + "SyncProtocolToAsset": "Sync protocol to asset", + "SyncSelected": "Sync selected", + "SyncSetting": "Sync setting", + "SyncStrategy": "Synchronisation strategy", + "SyncSuccessMsg": "Sync success", + "SyncTask": "Synchronization task", + "SyncUpdateAccountInfo": "Sync update account info", + "SyncUser": "Sync User", + "SyncedCount": "Synced count", + "SystemCpuLoad": "cpu load", + "SystemDiskUsedPercent": "disk used percent", + "SystemError": "System Error", + "SystemMemoryUsedPercent": "memory used percent", + "SystemMessageSubscription": "System messages", + "SystemRole": "System roles", + "SystemRoles": "System roles", + "SystemSetting": "System setting", + "SystemTools": "Tools", + "SystemUser": "System user", + "SystemUserAmount": "SystemUser amount", + "SystemUserCount": "System user count", + "SystemUserCreate": "System user create", + "SystemUserDetail": "System user detail", + "SystemUserId": "SystemUser Id", + "SystemUserList": "System Users", + "SystemUserListHelpMessage": "System user is the account JumpServer used to log into the asset, such as using root `ssh root@host`, rather than the current user username(ssh admin@host)`;
Admin user is the account that already exists on an asset, and have privileged permissions, JumpServer using this create common system user, and gather hardware Etc;
Common user can pre-exist assets or created automatically by the admin user.", + "SystemUserName": "System username", + "SystemUserUpdate": "System user update", + "SystemUsers": "System users", + "SystemUsersAmount": "System users amount", + "SystemUsersNameGroup": "Systemuser name", + "SystemUsersProtocolGroup": "Systemuser protocol", + "SystemUsersUsernameGroup": "systemuser username", + "TableColSettingInfo": "Please select the list details you want to display", + "Target": "Target", + "TargetResources": "Target resources", + "Task": "Task", + "TaskCenter": "Task", + "TaskDetail": "Task detail", + "TaskDispatch": "The task was sent successfully", + "TaskDone": "Task done", + "TaskID": "Task ID", + "TaskList": "Task list", + "TaskMonitor": "Task Monitor", + "TaskName": "Task name", + "TaskVersions": "Task versions", + "Tasks": "Tasks", + "TasksLog": "Batch Command Logs", + "TechnologyConsult": "Technology Consult", + "TempPassword": "For a while, there is a period of 300 seconds, failure immediately after use", + "Template": "Template", + "TemplateAdd": "Template add", + "TemplateCreate": "Create template", + "TemplateDetail": "Template detail", + "TemplateHelpText": "When selecting a template to add, it will automatically create an account that does not exist under the asset and push it", + "TemplateUpdate": "Update template", + "Templates": "模版管理", + "TencentCloud": "Tencent cloud", + "Terminal": "Terminal", + "TerminalAssetListPageSize": "List page size", + "TerminalAssetListSortBy": "List sort by", + "TerminalDetail": "Terminal detail", + "TerminalHeartbeatInterval": "Heartbeat interval", + "TerminalPasswordAuth": "Password auth", + "TerminalPublicKeyAuth": "Public key auth", + "TerminalSessionKeepDuration": "Session keep duration", + "TerminalStat": "CPU/MEM/DISK", + "TerminalTelnetRegex": "Telnet login regex", + "TerminalUpdate": "Update terminal", + "TerminalUpdateStorage": "Update terminal storage", + "Terminate": "Terminate", + "TerminateTaskSendSuccessMsg": "Terminate task has been send, Please check later", + "TermsAndConditions": "Terms and conditions", + "Test": "Test", + "TestAccountConnective": "Test account connective", + "TestAllSystemUsersConnective": "Test all system users connective", + "TestAssetsConnective": "Test assets connective", + "TestConnection": "Test connection", + "TestGatewayHelpMessage": "If use nat, set the ssh real port", + "TestGatewayTestConnection": "Test gateway test connection", + "TestHelpText": "Please enter the destination address for testing", + "TestLdapLoginSubtitle": "Save the configuration before testing the login", + "TestLdapLoginTitle": "Test LDAP user login", + "TestMultiPort": "Multiple ports are separated by commas (,)", + "TestNodeAssetConnectivity": "Test node asset connectivity", + "TestParam": "Param", + "TestPortErrorMsg": "Port Error, please check", + "TestSelected": "Test selected", + "TestSelectedSystemUsersConnective": "Test selected system users connective", + "TestSuccessMsg": "Test Success", + "The": "the", + "ThisPeriodic": "This is a periodic job", + "Thursday": "Thursday", + "Ticket": "Ticket", + "TicketCreate": "Ticket create", + "TicketDetail": "Ticket detail", + "TicketFlow": "Ticket flow", + "TicketFlowCreate": "Create Ticket flow", + "TicketFlowUpdate": "Update approval flow", + "Tickets": "Tickets", + "TicketsDone": "Ticket Done", + "TicketsNew": "Submit ticket", + "TicketsTodo": "Todo ticket", + "Time": "Time", + "TimeDelta": "Time delta", + "TimeExpression": "time expression", + "TimePeriod": "Time period", + "Timeout": "Timeout", + "TimeoutHelpText": "When this value is -1, no timeout is specified", + "Timer": "Timer", + "TimerPeriod": "Timer period", + "TimesWeekUnit": "times/week", + "Title": "Title", + "To": "To", + "Today": "Today", + "TodayFailedConnections": "Connections failed today", + "Token": "Token", + "TokenHTTPMethod": "Token Obtain method", + "TopAssetsOfWeek": "Top assets of week", + "TopUsersOfWeek": "Top user of week", + "Total": "Total", + "TotalJobFailed": "Total job failed", + "TotalJobLog": "Total job log", + "TotalJobRunning": "Total job running", + "TotalVersions": "Total versions", + "Transfer": "Transfer", + "True": "True", + "Tuesday": "Tuesday", + "TwoAssignee": "Secondary Recipient", + "TwoAssigneeType": "Type of secondary assignee", + "Type": "Type", + "Types": "Types", + "UCloud": "UCloud Platform", + "UPPERCASEREQUIRED": "Upper case required", + "UnSyncCount": "Unsync count", + "Unbind": "Unbind", + "UnbindHelpText": "Local users cannot be unbound because they are authenticated as source users", + "Unblock": "Unblock", + "UnblockSuccessMsg": "Account has unblocked", + "UnblockUser": "Unblock login", + "UniqueError": "Only one of the following properties can be set", + "Unknown": "Unknown", + "UnlockSuccessMsg": "Unlock success", + "Unreachable": "Unreachable", + "UnselectedAssets": "No asset selected or the selected asset does not support SSH protocol connection", + "UnselectedNodes": "Unselected nodes", + "UnselectedOrg": "Unselected org", + "UnselectedUser": "Unselected user", + "UpDownload": "Upload download", + "Update": "Update", + "UpdateAccount": "Update account", + "UpdateAccountMsg": "Please update system user account info", + "UpdateAccountTemplate": "Update account template", + "UpdateAssetDetail": "Update more detail", + "UpdateAssetUserToken": "Update asset user auth", + "UpdateEndpoint": "Update endpoint", + "UpdateEndpointRule": "Update endpoint rule", + "UpdateErrorMsg": "Update failed", + "UpdateMFA": "Update MFA", + "UpdateNodeAssetHardwareInfo": "Update node asset hardware information", + "UpdatePassword": "Update password", + "UpdatePublicKey": "", + "UpdateSSHKey": "Update SSH Key", + "UpdateSecret": "Update secret", + "UpdateSelected": "Update selected", + "UpdateSuccessMsg": "Update success", + "Updated": "Updated", + "UpdatedBy": "Update by", + "Upload": "Upload", + "UploadCsvLth10MHelpText": "csv/xlsx files with a size less than 10M", + "UploadDir": "Upload Directory", + "UploadFailed": "Upload failed", + "UploadFile": "Upload file", + "UploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded", + "UploadPlaybook": "Upload Playbook", + "UploadSucceed": "Upload succeed", + "UploadZipTips": "Please upload zip file", + "Uploading": "File uploading", + "Uppercase": "Uppercase", + "UseParameterDefine": "Define parameters", + "UseProtocol": "Use protocol", + "UseSSL": "Use SSL/TLS", + "User": "User", + "UserAclCreate": "User acl create", + "UserAclDetail": "User acl detail", + "UserAclList": "User acl list", + "UserAclLists": "User acl lists", + "UserAclUpdate": "User acl update", + "UserAssetActivity": "Account/Asset activity", + "UserCount": "User count", + "UserCreate": "User create", + "UserData": "Account data", + "UserDetail": "User detail", + "UserFirstLogin": "UserFirstLogin", + "UserGroupCount": "User group count", + "UserGroupCreate": "User group create", + "UserGroupDetail": "User group detail", + "UserGroupList": "Groups", + "UserGroupUpdate": "User group update", + "UserGroups": "User groups", + "UserGuide": "UserGuide", + "UserGuideUrl": "User Guide URL", + "UserIP": "Login IP", + "UserInformation": "User information", + "UserList": "Users", + "UserLoginACL": "User Login ACL", + "UserLoginACLCreate": "Create User Login ACL", + "UserLoginACLDetail": "User Login ACL", + "UserLoginACLHelpMsg": "It can determines whether the user can access the system based on the user's login IP and time period(global effective).", + "UserLoginACLUpdate": "Update User Login ACL", + "UserLoginAclCreate": "Create user login acl", + "UserLoginAclDetail": "User login acl detail", + "UserLoginAclList": "User login acl", + "UserLoginAclUpdate": "Update user login acl", + "UserLoginLimit": "User login limit", + "UserLoginTrend": "Account login trend", + "UserName": "Name", + "UserNameSelector": "User name input box selector", + "UserPage": "User page", + "UserProfile": "User profile", + "UserRatio": "User Ratio", + "UserSession": "User Session", + "UserSetting": "User setting", + "UserSwitch": "User switch", + "UserSwitchFrom": "User switch from", + "UserUpdate": "User update", + "UserUsername": "User (Username)", + "Username": "Username", + "UsernameGroup": "Username group", + "UsernameHelpMessage": "Username is dynamic, When connect asset, using current user's username", + "UsernameOfCreateUpdatePage": "The username of the user on the target host; If already existed, modify user password; If it doesn't exist, add the user and set the password.", + "UsernamePlaceholder": "Please input username", + "Users": "User", + "UsersAmount": "Users amount", + "UsersAndUserGroups": "Users and user groups", + "UsersTotal": "Accounts total", + "Valid": "Valid", + "Validity": "Validity", + "Value": "Value", + "Variable": "Variable", + "VariableHelpText": "You can read built-in variables using {{ key }} in your command", + "Vault": "Vault", + "VaultHelpText": "1. Please go to the configuration file to open Vault storage< After opening, fill in other configurations ->click on Test< Br>3. Perform data synchronization (synchronization is one-way and only synchronizes data from the database to the vault. Please backup the data properly)< After modifying the vault configuration twice, the service needs to be restarted.", + "Vendor": "Vendor", + "VerificationCodeSent": "The verification code has been sent", + "VerifySignTmpl": "Verification code template", + "Version": "Version", + "VersionDetail": "Version detail", + "VersionRunExecution": "Version run execution", + "View": "View", + "ViewBlockedIPSHelpText": "View the list of locked IPs", + "ViewMore": "View more", + "ViewPerm": "View permission", + "ViewSecret": "View secret", + "VirtualAccountDetail": "Virtual Account Details", + "VirtualAccountUpdate": "Virtual Account Update", + "VirtualAccounts": "Virtual Accounts", + "VirtualApp": "Virtual App", + "VirtualAppDetail": "Virtual app detail", + "VirtualApps": "Virtual apps", + "VmwareClient": "vSphere Client", + "VmwarePassword": "Password", + "VmwareTarget": "target URL", + "VmwareUsername": "Account", + "WeCom": "WeCom", + "WeComTest": "Test", + "WebCreate": "Create Asset - Web", + "WebFTP": "WebFTP", + "WebHelpMessage": "Web type assets depend on remote applications. Please go to System Settings to configure the publisher in the remote application.", + "WebSocketDisconnect": "Websocket disconnection", + "WebTerminal": "Web terminal", + "WebUpdate": "Update Asset - Web", + "Wednesday": "Wednesday", + "Week": "week", + "WeekAdd": "New this week", + "WeekOf": "week of week", + "WeekOrTime": "Week/Time", + "Weekly": "Weekly", + "WildcardsAllowed": "wildcards allowed", + "WindowsAdminUser": "Windows Admin user", + "WindowsPushHelpText": "Windows assets do not support pushing keys", + "WordSep": " ", + "WorkBench": "Workbench", + "Workbench": "Workbench", + "Workspace": "Workspace", + "Yes": "Yes", + "ZStack": "ZStack" +} \ No newline at end of file diff --git a/apps/locale/lina/zh.json b/apps/locale/lina/zh.json index 2f5e88fe7..96c7bfb8d 100644 --- a/apps/locale/lina/zh.json +++ b/apps/locale/lina/zh.json @@ -1,1847 +1,1847 @@ { - "": "", - "APIKey": "API Key", - "AWSChina": "AWS(中国)", - "AWSInt": "AWS(国际)", - "About": "关于", - "Accept": "同意", - "AccessIP": "IP 白名单", - "AccessKey": "访问密钥", - "Account": "账号信息", - "AccountBackup": "账号备份", - "AccountBackupCreate": "创建账号备份", - "AccountBackupUpdate": "更新账号备份", - "AccountChangeSecret": "账号改密", - "AccountCreate": "创建账户", - "AccountDeleteConfirmMsg": "删除账号,是否继续?", - "AccountDetail": "账户详情", - "AccountEnabled": "启用切换账号", - "AccountExportTips": "导出信息中包含账号密文涉及敏感信息,导出的格式为一个加密的zip文件(若没有设置加密密码,请前往个人信息中设置文件加密密码)。", - "AccountGather": "账号收集", - "AccountGatherList": "收集任务", - "AccountGatherTaskCreate": "创建任务", - "AccountGatherTaskExecutionList": "任务执行列表", - "AccountGatherTaskList": "账号收集", - "AccountGatherTaskUpdate": "更新任务", - "AccountHelpText": "云账号是用来连接云服务商的账号,用于获取云服务商的资源信息", - "AccountHistoryHelpMessage": "记录当前账号的历史版本", - "AccountKey": "账户密钥", - "AccountList": "云账号", - "AccountName": "账户名称", - "AccountPolicy": "账号策略", - "AccountPushCreate": "账号推送创建", - "AccountPushExecutionList": "执行列表", - "AccountPushList": "账号推送", - "AccountPushUpdate": "账号推送更新", - "AccountStorage": "账号存储", - "AccountTemplate": "账号模版", - "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", - "AccountUpdate": "更新账户", - "AccountUsername": "账号(用户名)", - "Accounts": "账号管理", - "AccountsHelp": "所有账号: 资产上已添加的所有账号;
指定账号:指定资产下账号的用户名;
手动账号: 用户名/密码 登录时手动输入;
同名账号: 与被授权人用户名相同的账号;", - "Acl": "访问控制", - "Acls": "访问控制", - "Action": "动作", - "ActionCount": "动作数量", - "ActionSetting": "动作设置", - "Actions": "权限", - "ActionsTips": "各个权限作用协议不尽相同,点击权限后面的图标查看", - "Activate": "激活", - "ActivateSuccessMsg": "激活成功", - "Active": "激活中", - "ActiveAsset": "近期被登录过", - "ActiveAssetRanking": "登录资产排名", - "ActiveSelected": "激活所选", - "ActiveUser": "近期登录过", - "ActiveUserAssetsRatioTitle": "占比统计", - "Activity": "活动", - "AdDomain": "AD域名", - "AdDomainHelpText": "提供给域用户登录的AD域名", - "Add": "新增", - "AddAccount": "添加账号", - "AddAccountResult": "账号批量添加结果", - "AddAllMembersWarningMsg": "你确定要添加全部成员?", - "AddAsset": "添加资产", - "AddAssetToNode": "添加资产到节点", - "AddAssetToThisPermission": "添加资产", - "AddDatabaseAppToThisPermission": "添加数据库应用", - "AddFailMsg": "添加失败", - "AddK8sAppToThisPermission": "添加Kubernetes应用", - "AddNode": "添加节点", - "AddNodeToThisPermission": "添加节点", - "AddOrgMembers": "添加组织成员", - "AddPassKey": "添加 Passkey(通行密钥)", - "AddRemoteAppToThisPermission": "添加远程应用", - "AddRolePermissions": "创建/更新成功后,详情中添加权限", - "AddSuccessMsg": "添加成功", - "AddSystemUser": "添加系统用户", - "AddSystemUserToThisPermission": "添加系统用户", - "AddUserGroupToThisPermission": "添加用户组", - "AddUserToThisPermission": "添加用户", - "Address": "地址", - "Addressee": "收件人", - "AdhocDetail": "命令详情", - "AdhocManage": "命令管理", - "AdhocUpdate": "更新命令", - "Admin": "管理员", - "AdminUser": "特权用户", - "AdminUserCreate": "创建管理用户", - "AdminUserDetail": "管理用户详情", - "AdminUserList": "管理用户", - "AdminUserListHelpMessage": "特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。", - "AdminUserUpdate": "更新管理用户", - "Admin_usersAmount": "特权用户", - "Advanced": "高级设置", - "AfterChange": "变更后", - "AjaxError404": "404 请求错误", - "AlibabaCloud": "阿里云", - "Alive": "在线", - "Aliyun": "阿里云", - "All": "全部", - "AllAccountTip": "资产上已添加的所有账号", - "AllAccounts": "所有账号", - "AllClickRead": "全部已读", - "AllMembers": "全部成员", - "AllOrganization": "组织列表", - "AllowInvalidCert": "忽略证书检查", - "Announcement": "公告", - "AnonymousAccount": "匿名账号", - "AnonymousAccountTip": "连接资产时不使用用户名和密码,仅支持 web类型 和 自定义类型 的资产", - "ApiKey": "API Key", - "ApiKeyList": "使用 Api key 签名请求头进行认证,每个请求的头部是不一样的, 相对于 Token 方式,更加安全,请查阅文档使用;
为降低泄露风险,Secret 仅在生成时可以查看, 每个用户最多支持创建 10 个", - "ApiKeyWarning": "为降低 AccessKey 泄露的风险,只在创建时提供 Secret,后续不可再进行查询,请妥善保存。", - "App": "应用", - "AppAmount": "应用数量", - "AppAuth": "App认证", - "AppEndpoint": "应用接入地址", - "AppList": "应用列表", - "AppName": "应用名称", - "AppOps": "任务中心", - "AppPath": "应用路径", - "AppProvider": "应用提供者", - "AppProviderDetail": "应用提供者详情", - "AppType": "应用类型", - "App_permsAmount": "应用授权", - "AppletCreate": "创建远程应用", - "AppletDetail": "远程应用", - "AppletHelpText": "在上传过程中,如果应用不存在,则创建该应用;如果已存在,则进行应用更新。", - "AppletHostCreate": "添加远程应用发布机", - "AppletHostDetail": "远程应用发布机详情", - "AppletHostDomainHelpText": "这里的网域属于 System 组织", - "AppletHostSelectHelpMessage": "连接资产时,应用发布机选择是随机的(但优先选择上次使用的),如果想为某个资产固定发布机,可以指定标签 <发布机:发布机名称> 或 ;
连接该发布机选择账号时,以下情况会选择用户的 同名账号 或 专有账号(js开头),否则使用公用账号(jms开头):
  1. 发布机和应用都支持并发;
  2. 发布机支持并发,应用不支持并发,当前应用没有使用专有账号;
  3. 发布机不支持并发,应用支持并发或不支持,没有任一应用使用专有账号;
注意: 应用支不支持并发是开发者决定,主机支不支持是发布机配置中的 单用户单会话决定", - "AppletHostUpdate": "更新远程应用发布机", - "AppletHosts": "应用发布机", - "Applets": "远程应用", - "Applicant": "申请人", - "Application": "请输入逗号分割的应用名称组", - "ApplicationAccount": "应用账号", - "ApplicationDetail": "应用详情", - "ApplicationPermission": "应用授权", - "ApplicationPermissionCreate": "创建应用授权规则", - "ApplicationPermissionDetail": "应用授权详情", - "ApplicationPermissionRules": "应用授权规则", - "ApplicationPermissionUpdate": "更新应用授权规则", - "Applications": "应用管理", - "ApplicationsAmount": "应用", - "ApplyAsset": "申请资产", - "ApplyFromCMDFilterRule": "命令过滤规则", - "ApplyFromSession": "会话", - "ApplyInfo": "申请信息", - "ApplyRunAsset": "申请运行的资产", - "ApplyRunCommand": "申请运行的命令", - "ApplyRunSystemUser": "申请运行的系统用户", - "ApplyRunUser": "申请运行的用户", - "Apply_loginAccount": "申请登录账号", - "Apply_loginAsset": "申请登录资产", - "Apply_loginUser": "申请登录用户", - "Apply_login_systemUser": "申请登录系统用户", - "Appoint": "指定", - "ApprovaLevel": "审批信息", - "ApprovalLevel": "审批级别", - "ApprovalProcess": "审批流程", - "Approved": "已同意", - "ApproverNumbers": "审批人数量", - "AppsCount": "应用数量", - "AppsList": "应用列表", - "ApsaraStack": "阿里云专有云", - "Asset": "资产", - "AssetAccount": "账号列表", - "AssetAccountDetail": "账号详情", - "AssetAclCreate": "创建资产登录规则", - "AssetAclDetail": "资产登录规则详情", - "AssetAclList": "资产登录", - "AssetAclUpdate": "更新资产登录规则", - "AssetAddress": "资产(IP/主机名)", - "AssetAmount": "资产数量", - "AssetAndNode": "资产/节点", - "AssetBulkUpdateTips": "网络设备、云服务、web,不支持批量更新网域", - "AssetChangeSecretCreate": "创建账号改密", - "AssetChangeSecretUpdate": "更新账号改密", - "AssetCount": "资产数量", - "AssetCreate": "创建资产", - "AssetData": "资产数据", - "AssetDetail": "资产详情", - "AssetHistoryAccount": "资产历史账号", - "AssetList": "资产列表", - "AssetListHelpMessage": "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产\n", - "AssetLoginACLHelpMsg": "登录资产时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录资产", - "AssetName": "资产名称", - "AssetNumber": "资产编号", - "AssetPermission": "资产授权", - "AssetPermissionCreate": "创建资产授权规则", - "AssetPermissionDetail": "资产授权详情", - "AssetPermissionHelpMsg": "资产授权允许您选择用户和资产,将资产授权给用户以便访问。一旦授权完成,用户便可便捷地浏览这些资产。此外,您还可以设置特定的权限位,以进一步定义用户对资产的权限范围。", - "AssetPermissionList": "资产授权列表", - "AssetPermissionRules": "资产授权规则", - "AssetPermissionUpdate": "更新资产授权规则", - "AssetProtocolHelpText": "资产支持的协议受平台限制,点击设置按钮可以查看协议的设置。 如果需要更新,请更新平台", - "AssetRatio": "资产占比统计", - "AssetResultDetail": "资产结果", - "AssetTree": "资产树", - "AssetUpdate": "更新资产", - "AssetUserList": "资产用户", - "Asset_ipGroup": "资产IP", - "Asset_permsAmount": "资产授权", - "Assets": "资产管理", - "AssetsAmount": "资产", - "AssetsTotal": "资产总数", - "AssignedInfo": "审批信息", - "AssignedMe": "待我审批", - "AssignedTicketList": "待我审批", - "Assignee": "处理人", - "Assignees": "待处理人", - "AssociateApplication": "关联应用", - "AssociateAssets": "关联资产", - "AssociateNodes": "关联节点", - "AssociateSystemUsers": "关联系统用户", - "AttrName": "属性名", - "AttrValue": "属性值", - "Auditor": "审计员", - "Audits": "审计台", - "Auth": "认证设置", - "AuthCASAttrMap": "用户属性映射", - "AuthLdap": "启用LDAP认证", - "AuthLdapBindDn": "绑定DN", - "AuthLdapBindPassword": "密码", - "AuthLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", - "AuthLdapSearchOu": "使用|分隔各OU", - "AuthLdapServerUri": "LDAP地址", - "AuthLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", - "AuthLimit": "登录限制", - "AuthMethod": "认证方式", - "AuthSAML2AdvancedSettings": "高级配置", - "AuthSAML2MetadataUrl": "IDP metadata URL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "上传证书密钥后保存, 然后查看 SP Metadata", - "AuthSAMLKeyHelpText": "SP 证书和密钥 是用来和 IDP 加密通信的", - "AuthSaml2UserAttrMapHelpText": "左侧的键为 SAML2 用户属性,右侧的值为认证平台用户属性", - "AuthSecurity": "认证安全", - "AuthSetting": "认证设置", - "AuthSettings": "认证配置", - "AuthUserAttrMap": "用户属性映射", - "AuthUserAttrMapHelpText": "左侧的键为 JumpServer 用户属性,右侧的值为认证平台用户属性", - "AuthUsername": "使用用户名认证", - "Authentication": "认证", - "Author": "作者", - "Auto": "自动", - "AutoCreate": "自动创建", - "AutoEnabled": "启用自动化", - "AutoGenerateKey": "随机生成密码", - "AutoPush": "自动推送", - "Automations": "自动化", - "AverageTimeCost": "平均花费时间", - "Azure": "Azure(中国)", - "AzureInt": "Azure(国际)", - "Backup": "备份", - "BadConflictErrorMsg": "正在刷新中,请稍后再试", - "BadRequestErrorMsg": "请求错误,请检查填写内容", - "BadRoleErrorMsg": "请求错误,无该操作权限", - "BaiduCloud": "百度云", - "BasePlatform": "基础平台", - "BasePort": "监听端口", - "Basic": "基本设置", - "BasicInfo": "基本信息", - "BasicSetting": "基本设置", - "BasicTools": "基本工具", - "BatchActivate": "批量激活", - "BatchApproval": "批量审批", - "BatchCommand": "批量命令", - "BatchCommandNotExecuted": "未执行批量命令", - "BatchConsent": "批量同意", - "BatchDelete": "批量删除", - "BatchDisable": "批量禁用", - "BatchProcessing": "批量处理(选中 {Number} 项)", - "BatchReject": "批量拒绝", - "BatchRemoval": "批量移除", - "BatchScript": "批量脚本", - "BatchUpdate": "批量更新", - "Become": "Become", - "BeforeChange": "变更前", - "Beian": "备案", - "BelongAll": "同时包含", - "BelongTo": "任意包含", - "Bind": "绑定", - "BindLabel": "关联标签", - "BindResource": "关联资源", - "BindSuccess": "绑定成功", - "BlockedIPS": "已锁定的 IP", - "Bucket": "桶名称", - "Builtin": "内置", - "BuiltinTree": "类型树", - "BuiltinVariable": "内置变量", - "BulkClearErrorMsg": "批量清除失败:", - "BulkCreateStrategy": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", - "BulkDeleteErrorMsg": "批量删除失败: ", - "BulkDeleteSuccessMsg": "批量删除成功", - "BulkDeploy": "批量部署", - "BulkOffline": "批量下线", - "BulkRemoveErrorMsg": "批量移除失败: ", - "BulkRemoveSuccessMsg": "批量移除成功", - "BulkSyncDelete": "批量同步删除", - "BulkSyncErrorMsg": "批量同步失败: ", - "BulkTransfer": "批量传输", - "BulkUnblock": "批量解锁", - "BulkUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", - "CACertificate": "CA 证书", - "CAS": "CAS", - "CASSetting": "CAS 配置", - "CMPP2": "CMPP v2.0", - "CTYunPrivate": "天翼私有云", - "CalculationResults": "cron 表达式错误", - "CanDragSelect": "可拖动鼠标选择时间段", - "Cancel": "取消", - "CancelCollection": "取消收藏", - "CannotAccess": "无法访问当前页面", - "Cas": "CAS设置", - "Category": "类别", - "CeleryTaskLog": "Celery任务日志", - "Certificate": "证书", - "CertificateKey": "客户端密钥", - "ChangeField": "变更字段", - "ChangePassword": "更改密码", - "ChangeReceiver": "修改消息接收人", - "ChangeSecretParams": "改密参数", - "ChangeViewHelpText": "点击切换不同视图", - "Charset": "字符集", - "Chat": "聊天", - "ChatAI": "智能问答", - "ChatHello": "你好!我能为你提供什么帮助?", - "ChdirHelpText": "默认执行目录为执行用户的 home 目录", - "CheckAssetsAmount": "校对资产数量", - "CheckViewAcceptor": "点击查看受理人", - "ChinaRed": "中国红", - "Chrome": "Chrome", - "ChromePassword": "登录密码", - "ChromeTarget": "目标URL", - "ChromeUsername": "登录账号", - "ClassicGreen": "经典绿", - "CleanHelpText": "定期清理任务会在 每天凌晨 2 点执行, 清理后的数据将无法恢复", - "Cleaning": "定期清理", - "Clear": "清除", - "ClearScreen": "清屏", - "ClearSecret": "清除密文", - "ClearSelection": "清空选择", - "ClearSuccessMsg": "清除成功", - "ClickCopy": "点击复制", - "Clickhouse": "ClickHouse", - "ClientCertificate": "客户端证书", - "ClipBoard": "剪切板", - "ClipboardCopy": "剪切板复制", - "ClipboardCopyPaste": "剪贴板复制粘贴", - "ClipboardPaste": "剪切板粘贴", - "Clone": "克隆", - "CloneFrom": "副本", - "Close": "关闭", - "CloseConfirm": "确认关闭", - "CloseConfirmMessage": "文件发生变化,是否保存?", - "CloseStatus": "已完成", - "Closed": "已完成", - "Cloud": "云应用", - "CloudCenter": "云管中心", - "CloudCreate": "创建资产-云平台", - "CloudPlatform": "云平台", - "CloudSource": "同步源", - "CloudSync": "云同步", - "CloudUpdate": "更新资产-云平台", - "Clouds": "云平台", - "Cluster": "集群", - "ClusterHelpTextMessage": "例如:https://172.16.8.8:8443", - "CmdFilter": "命令过滤器", - "CollapseSidebar": "收起侧边栏", - "CollectHardwareInfo": "启用收集硬件信息", - "CollectionSucceed": "收藏成功", - "Command": "命令", - "Command filter": "命令过滤器", - "CommandConfirm": "命令复核", - "CommandExecutions": "命令执行", - "CommandFilterACL": "命令过滤", - "CommandFilterACLHelpMsg": "通过命令过滤,您可以控制命令是否可以发送到资产上。根据您设定的规则,某些命令可以被放行,而另一些命令则被禁止。", - "CommandFilterAclCreate": "创建命令过滤规则", - "CommandFilterAclDetail": "命令过滤规则详情", - "CommandFilterAclList": "命令过滤", - "CommandFilterAclUpdate": "更新命令过滤规则", - "CommandFilterCreate": "创建命令过滤器", - "CommandFilterDetail": "命令过滤器详情", - "CommandFilterHelpMessage": "系统用户支持绑定多个命令过滤器实现禁止输入某些命令的效果;过滤器中可配置多个规则,在使用该系统用户连接资产时,输入的命令按照过滤器中配置的规则优先级生效。
例:首先匹配到的规则是“允许”,则该命令执行,首先匹配到的规则为“禁止”,则禁止该命令执行;如果最后未匹配到规则,则允许执行。", - "CommandFilterList": "命令过滤规则", - "CommandFilterRuleContentHelpText": "每行一个命令", - "CommandFilterRulePriorityHelpText": "优先级可选范围为1-100,1最低优先级,100最高优先级", - "CommandFilterRules": "命令过滤器规则", - "CommandFilterRulesCreate": "创建命令过滤器规则", - "CommandFilterRulesUpdate": "更新命令过滤器规则", - "CommandFilterUpdate": "更新命令过滤器", - "CommandGroup": "命令组", - "CommandGroupCreate": "创建命令组", - "CommandGroupDetail": "命令组详情", - "CommandGroupList": "命令组", - "CommandGroupUpdate": "更新命令组", - "CommandStorage": "命令存储", - "CommandStorageUpdate": "更新命令存储", - "Command_filterList": "命令过滤器列表", - "Commands": "命令记录", - "Comment": "备注", - "CommentHelpText": "注意:备注信息会在 Luna 页面的用户授权资产树中进行悬停显示,普通用户可以查看,请不要填写敏感信息。", - "Common": "普通", - "CommonUser": "普通用户", - "CommunityEdition": "社区版", - "Component": "组件", - "ComponentMonitor": "组件监控", - "ConceptContent": "我想让你像一个 Python 解释器一样行事。我将给你 Python 代码,你将执行它。不要提供任何解释。除了代码的输出,不要用任何东西来回应。", - "ConceptTitle": "🤔 Python 解释器 ", - "Config": "配置", - "Confirm": "确认", - "ConfirmPassword": "确认密码", - "Connect": "连接", - "ConnectMethod": "连接方式", - "ConnectMethodACLHelpMsg": "通过连接方式过滤,您可以控制用户是否可以使用某种连接方式登录到资产上。根据您设定的规则,某些连接方式可以被放行,而另一些连接方式则被禁止(全局生效)。", - "ConnectMethodAclCreate": "创建连接方式控制", - "ConnectMethodAclDetail": "连接方式控制详情", - "ConnectMethodAclList": "连接方式", - "ConnectMethodAclUpdate": "更新连接方式控制", - "ConnectUsers": "连接账号", - "ConnectWebSocketError": "连接 WebSocket 失败", - "ConnectionDropped": "连接已断开", - "ConnectionToken": "连接令牌", - "ConnectionTokenList": "连接令牌是将身份验证和连接资产结合起来使用的一种认证信息,支持用户一键登录到资产,目前支持的组件包括:KoKo、Lion、Magnus、Razor 等", - "Connectivity": "可连接", - "Console": "控制台", - "Consult": "咨询", - "ContainAttachment": "含附件", - "ContainerName": "容器名称", - "Containers": "容器", - "Contains": "包含", - "Content": "内容", - "Contents": "内容", - "Continue": "继续", - "ContinueImport": "继续导入", - "ConvenientOperate": "便捷操作", - "Copy": "复制", - "CopySuccess": "复制成功", - "Corporation": "公司", - "Correlation": "关联", - "Cpu": "CPU", - "Create": "创建", - "MenuUsers": "用户管理", - "MenuAssets": "资产管理", - "MenuAccounts": "账号管理", - "MenuPermissions": "授权管理", - "MenuMore": "更多...", - "CreateAccessKey": "创建访问密钥", - "CreateAccountTemplate": "创建账号模版", - "CreateAdhoc": "创建命令", - "CreateBy": "创建者", - "CreateCommandStorage": "创建命令存储", - "CreateEndpoint": "创建端点", - "CreateEndpointRule": "创建端点规则", - "CreateErrorMsg": "创建失败", - "CreateNode": "创建节点", - "CreateOrgMsg": "请去组织详情内添加用户", - "CreatePlaybook": "创建 Playbook", - "CreateReplayStorage": "创建对象存储", - "CreateSuccessMsg": "导入创建成功,总共:{count}", - "CreateUserSetting": "创建用户内容", - "Created": "已创建", - "CreatedBy": "创建者", - "CriticalLoad": "严重", - "CronExpression": "crontab完整表达式", - "CrontabHelpTips": "eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行", - "CrontabOfCreateUpdatePage": "例如:每周日 03:05 执行 <5 3 * * 0>
使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
如果同时设置了定期执行和周期执行,优先使用定期执行", - "CurrentConnections": "当前连接数", - "CurrentUserVerify": "验证当前用户", - "Custom": "自定义", - "CustomCmdline": "运行参数", - "CustomCol": "自定义列表字段", - "CustomCreate": "创建资产-自定义", - "CustomFields": "自定义属性", - "CustomFile": "请将自定义的文件放到指定目录下(data/sms/main.py),并在 config.txt 中启用配置项 SMS_CUSTOM_FILE_MD5=<文件md5值>", - "CustomHelpMessage": "自定义类型资产,依赖于远程应用,请前往系统设置在远程应用中配置", - "CustomParams": "左侧为短信平台接收的参数,右侧为JumpServer待格式化参数,最终如下:
{\"phone_numbers\": \"123,134\", \"content\": \"验证码为: 666666\"}", - "CustomPassword": "登录密码", - "CustomTarget": "目标地址", - "CustomTree": "自定义树", - "CustomType": "自定义类型", - "CustomUpdate": "更新资产-自定义", - "CustomUser": "自定义用户", - "CustomUsername": "登录账号", - "CycleFromWeek": "周期从星期", - "CyclePerform": "周期执行", - "DBInfo": "数据库信息", - "DangerCommand": "危险命令", - "DangerousCommandNum": "危险命令数", - "Dashboard": "仪表盘", - "Database": "数据库", - "DatabaseApp": "数据库应用", - "DatabaseAppCount": "数据库应用数量", - "DatabaseAppCreate": "创建数据库应用", - "DatabaseAppDetail": "数据库详情", - "DatabaseAppPermission": "数据库授权", - "DatabaseAppPermissionCreate": "创建数据库授权规则", - "DatabaseAppPermissionDetail": "数据库授权详情", - "DatabaseAppPermissionUpdate": "更新数据库授权规则", - "DatabaseAppUpdate": "数据库应用更新", - "DatabaseCreate": "创建资产-数据库", - "DatabaseId": "数据库Id", - "DatabasePermissionRules": "数据库授权规则", - "DatabasePort": "数据库协议端口", - "DatabaseProtocol": "数据库协议", - "DatabaseUpdate": "更新资产-数据库", - "Date": "日期", - "DateCreated": "创建时间", - "DateEnd": "结束日期", - "DateExpired": "失效日期", - "DateFinished": "完成日期", - "DateJoined": "创建日期", - "DateLast24Hours": "最近一天", - "DateLast3Months": "最近三月", - "DateLastHarfYear": "最近半年", - "DateLastLogin": "最后登录日期", - "DateLastMonth": "最近一月", - "DateLastRun": "上次运行日期", - "DateLastSync": "最后同步日期", - "DateLastWeek": "最近一周", - "DateLastYear": "最近一年", - "DatePasswordLastUpdated": "最后更新密码日期", - "DatePasswordUpdated": "密码更新日期", - "DateStart": "开始日期", - "DateSync": "同步日期", - "DateUpdated": "更新日期", - "Datetime": "日期", - "Day": "日", - "Db": "数据库应用", - "DeactiveSelected": "禁用所选", - "DeclassificationLogNum": "改密日志数", - "Default": "默认的", - "DefaultDatabase": "默认数据库", - "DefaultPort": "默认端口", - "DefaultProtocol": "默认协议, 添加资产时默认会选择", - "Defaults": "默认值", - "Delete": "删除", - "DeleteConfirmMessage": "删除后无法恢复,是否继续?", - "DeleteErrorMsg": "删除失败", - "DeleteFailedMsg": "删除失败", - "DeleteFile": "删除文件", - "DeleteNode": "删除节点", - "DeleteOrgMsg": "用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权规则", - "DeleteOrgTitle": "请确保组织内的以下信息已删除", - "DeleteReleasedAssets": "删除已释放资产", - "DeleteSuccess": "删除成功", - "DeleteSuccessMsg": "删除成功", - "DeleteWarningMsg": "你确定要删除", - "DeliveryTime": "发送时间", - "Deploy": "部署", - "DescribeOfGuide": "欢迎使用JumpServer堡垒机系统,获取更多信息请点击", - "Description": "描述", - "DestinationIP": "目的地址", - "DestinationPort": "目的端口", - "Detail": "详情", - "Device": "网络设备", - "DeviceCreate": "创建资产-网络设备", - "DeviceUpdate": "更新资产-网络设备", - "Digit": "数字", - "DingTalk": "钉钉", - "DingTalkTest": "测试", - "Disable": "禁用", - "DisableSuccessMsg": "禁用成功", - "DisabledAsset": "禁用的", - "DisabledUser": "禁用的", - "Disk": "硬盘", - "DisplayName": "名称", - "DocType": "文档类型", - "Docs": "文档", - "Domain": "网域", - "DomainCreate": "创建网域", - "DomainDetail": "网域详情", - "DomainEnabled": "启用网域", - "DomainHelpMessage": "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。JMS => 网域网关 => 目标资产", - "DomainList": "网域列表", - "DomainUpdate": "更新网域", - "Download": "下载", - "DownloadCenter": "下载中心", - "DownloadFTPFileTip": "当前动作不记录文件,或者文件大小超过阈值(默认100M),或者还未保存到对应存储中", - "DownloadFile": "下载文件", - "DownloadImportTemplateMsg": "下载创建模板", - "DownloadReplay": "下载录像", - "DownloadUpdateTemplateMsg": "下载更新模板", - "DragUploadFileInfo": "将文件拖到此处,或点击此处上传", - "DryRun": "测试运行", - "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", - "Duration": "时长", - "DynamicUsername": "动态用户名", - "Edit": "编辑", - "Edition": "版本", - "Email": "邮箱", - "EmailContent": "邮件内容定制", - "EmailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", - "EmailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", - "EmailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", - "EmailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", - "EmailEmailFrom": "", - "EmailHost": "SMTP主机", - "EmailHostPassword": "提示:一些邮件提供商需要输入的是Token", - "EmailHostUser": "SMTP账号", - "EmailPort": "SMTP端口", - "EmailRecipient": "提示:仅用来作为测试邮件收件人", - "EmailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", - "EmailTest": "测试连接", - "EmailUserSSL": "如果SMTP端口是465,通常需要启用SSL", - "EmailUserTLS": "如果SMTP端口是587,通常需要启用TLS", - "Empty": "空", - "Enable": "启用", - "EnableKoKoSSHHelpText": "开启时连接资产会显示 SSH Client 拉起方式", - "EnableOAuth2Auth": "开启 OAuth2 认证", - "EnableVaultStorage": "开启 Vault 存储", - "EndPoint": "端点", - "Endpoint": "服务端点", - "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", - "EndpointRule": "端点规则", - "EndpointRuleListHelpMessage": "对于服务端点选择策略,目前支持两种:
1、根据端点规则指定端点(当前页面);
2、通过资产标签选择端点,标签名固定是 endpoint,值是端点的名称。
两种方式优先使用标签匹配,因为 IP 段可能冲突,标签方式是作为规则的补充存在的。", - "EndpointSuffix": "端点后缀", - "Endswith": "以...结尾", - "EnsureThisValueIsGreaterThanOrEqualTo1": "请确保该值大于或者等于 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "请确保该值大于或者等于 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "请确保该值大于或者等于 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "请确保该值大于或者等于 6", - "EnterForSearch": "按下 Enter 进行搜索", - "EnterMessage": "请输入问题, Enter 发送", - "EnterRunUser": "输入运行用户", - "EnterRunningPath": "输入运行路径", - "EnterToContinue": "按下 Enter 继续输入", - "EnterUploadPath": "输入上传路径", - "Enterprise": "企业版", - "EnterpriseEdition": "企业版", - "Equal": "等于", - "Error": "错误", - "ErrorMsg": "错误", - "EsDisabled": "节点不可用, 请联系管理员", - "EsDocType": "es 默认文档类型:command", - "EsIndex": "es 提供默认 index:jumpserver。如果开启按日期建立索引,那么输入的值会作为索引前缀", - "EsUrl": "不能包含特殊字符 `#`;eg: http://es_user:es_password@es_host:es_port", - "Every": "每", - "EveryMonth": "每月", - "Exclude": "不包含", - "ExcludeAsset": "跳过的资产", - "ExcludeSymbol": "排除字符", - "Execute": "执行", - "ExecuteCycle": "执行周期", - "ExecuteFailedCommand": "执行失败命令", - "ExecuteOnce": "执行一次", - "Execution": "执行历史", - "ExecutionDetail": "执行历史详情", - "ExecutionList": "执行列表", - "ExecutionTimes": "执行次数", - "ExistError": "这个元素已经存在", - "Existing": "已存在", - "ExpectedNextExecuteTime": "预计下次执行时间", - "ExpirationTimeout": "过期超时时间(秒)", - "Expire": " 过期", - "Expired": "过期时间", - "Export": "导出", - "ExportAll": "导出所有", - "ExportOnlyFiltered": "仅导出搜索结果", - "ExportOnlySelectedItems": "仅导出选择项", - "ExportRange": "导出范围", - "FAILURE": "失败", - "FC": "Fusion Compute", - "Failed": "失败", - "FailedAsset": "失败的资产", - "FailedConditions": "没有达到条件的结果!", - "False": "否", - "Favicon": "网站图标", - "FaviconTip": "提示:网站图标(建议图片大小为: 16px*16px)", - "Feature": "功能", - "Features": "功能设置", - "FeiShu": "飞书", - "FeiShuTest": "测试", - "FieldRequiredError": "这个字段是必填项", - "FileEncryptionPassword": "文件加密密码", - "FileManager": "文件管理", - "FileNameTooLong": "文件名太长", - "FileSizeExceedsLimit": "文件大小超出限制", - "FileTransfer": "文件传输", - "FileTransferNum": "文件传输数", - "FileType": "文件类型", - "Filename": "文件名", - "FingerPrint": "指纹", - "Finished": "完成", - "FinishedTicket": "完成工单", - "FirstLogin": "首次登录", - "FlowDetail": "流程详情", - "FlowSetUp": "流程设置", - "FormatError": "格式错误", - "Friday": "周五", - "From": "从", - "FromTicket": "来自工单", - "FtpLog": "FTP日志", - "FullName": "全称", - "FullySynchronous": "资产完全同步", - "FullySynchronousHelpTips": "当资产条件不满足匹配策略规则时,是否继续同步此类资产", - "FuzzySearch": "支持模糊搜索", - "GCP": "谷歌云", - "GPTCreate": "创建资产-GPT", - "GPTUpdate": "更新资产-GPT", - "Gateway": "网关", - "GatewayCreate": "创建网关", - "GatewayList": "网关列表", - "GatewayProtocolHelpText": "SSH网关,支持代理SSH,RDP和VNC", - "GatewayUpdate": "更新网关", - "GeneralAccounts": "普通账号", - "Generate": "生成", - "GenerateAccounts": "重新生成账号", - "GenerateSuccessMsg": "账号生成成功", - "GetErrorMsg": "获取失败", - "Go": "执行", - "GoHomePage": "去往首页", - "Goto": "转到", - "GrantedAccounts": "授权的账号", - "GrantedApplications": "授权的应用", - "GrantedAssets": "授权的资产", - "GrantedDatabases": "授权的数据库", - "GrantedK8Ss": "授权的Kubernetes", - "GrantedRemoteApps": "授权的远程应用", - "GreatEqualThan": "大于等于", - "GroupsAmount": "用户组", - "GroupsHelpMessage": "请输入用户组,多个用户组使用逗号分隔(需填写已存在的用户组)", - "Guide": "向导", - "HandleTicket": "处理工单", - "Hardware": "硬件信息", - "HardwareInfo": "硬件信息", - "HasImportErrorItemMsg": "存在导入失败项,点击左侧 x 查看失败原因,点击表格编辑后,可以继续导入失败项", - "HasRead": "是否已读", - "Help": "帮助", - "HelpDocument": "文档链接", - "HelpDocumentTip": "可以更改网站导航栏 帮助 -> 文档 的网址", - "HelpSupport": "支持链接", - "HelpSupportTip": "可以更改网站导航栏 帮助 -> 支持 的网址", - "HighLoad": "较高", - "HistoricalSessionNum": "历史会话数", - "History": "历史记录", - "HistoryDate": "日期", - "HistoryPassword": "历史密码", - "Home": "家目录", - "HomeHelpMessage": "默认家目录 /home/系统用户名: /home/username", - "HomePage": "首页", - "Host": "资产", - "HostCreate": "创建资产-主机", - "HostDeployment": "发布机部署", - "HostList": "主机列表", - "HostName": "主机名", - "HostProtocol": "主机协议", - "HostUpdate": "更新资产-主机", - "Hostname": "主机名", - "HostnameGroup": "资产名", - "HostnameStrategy": "用于生成资产主机名。例如:1. 实例名称 (instanceDemo);2. 实例名称和部分IP(后两位) (instanceDemo-250.1)", - "Hosts": "主机", - "Hour": "小时", - "HttpPort": "HTTP端口", - "HuaweiCloud": "华为云", - "HuaweiPrivatecloud": "华为私有云", - "IAgree": "我同意", - "ID": "ID", - "IP": "IP", - "IP/Host": "IP/主机", - "IPLoginLimit": "IP 登录限制", - "IPMatch": "IP 匹配", - "IPNetworkSegment": "IP网段", - "Icon": "图标", - "Id": "ID", - "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。", - "IdeaTitle": "🌱 Linux 终端", - "IdpMetadataHelpText": "IDP metadata URL 和 IDP metadata XML参数二选一即可,IDP metadata URL的优先级高", - "IdpMetadataUrlHelpText": "从远端地址中加载 IDP Metadata", - "IgnoreCase": "忽略大小写", - "ImageName": "镜像名", - "Images": "图片", - "Import": "导入", - "ImportAll": "导入全部", - "ImportFail": "导入失败", - "ImportLdapUserTip": "请先提交LDAP配置再进行导入", - "ImportLdapUserTitle": "LDAP 用户列表", - "ImportLicense": "导入许可证", - "ImportLicenseTip": "请导入许可证", - "ImportMessage": "请前往对应类型的页面导入数据", - "ImportOrg": "导入组织", - "ImprovePersonalInformation": "完善个人信息", - "InActiveAsset": "近期未被登录", - "InActiveUser": "近期未登录过", - "InAssetDetail": "在资产详情中更新账号信息", - "InTotal": "总共", - "Inactive": "禁用", - "Include": "包含", - "Index": "索引", - "Info": "信息", - "Inherit": "继承", - "InheritPlatformConfig": "继承自平台配置,如需更改,请更改平台中的配置。", - "InitialDeploy": "初始化部署", - "Input": "输入", - "InputEmailAddress": "请输入正确的邮箱地址", - "InputMessage": "输入消息...", - "InputNumber": "请输入数字类型", - "InputPhone": "请输入手机号码", - "InsecureCommandAlert": "危险命令告警", - "InsecureCommandEmailUpdate": "点我设置", - "InsecureCommandNotifyToSubscription": "危险命令通知已升级到消息订阅中,支持更多通知方式", - "InstanceAddress": "实例地址", - "InstanceName": "实例名称", - "InstancePlatformName": "实例平台名称", - "InstantAdhoc": "即时命令", - "Interface": "网络接口", - "InterfaceSettings": "界面设置", - "IntervalOfCreateUpdatePage": "单位:时", - "Invalid": "无效", - "InvalidJson": "不是合法 JSON", - "Invalidity": "无效", - "Invite": "邀请", - "InviteSuccess": "邀请成功", - "InviteUser": "邀请用户", - "InviteUserInOrg": "邀请用户加入此组织", - "Ip": "IP", - "IpGroup": "IP 组", - "IpGroupHelpText": "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "请输入逗号分割的IP地址组", - "IsActive": "激活", - "IsAlwaysUpdate": "资产保持最新", - "IsAlwaysUpdateHelpTips": "每次执行同步任务时,是否同步更新资产的信息,包括主机名、IP、系统平台、网域、节点等信息", - "IsEffective": "已生效的", - "IsFinished": "是否完成", - "IsLocked": "是否暂停", - "IsSuccess": "成功", - "IsSyncAccountHelpText": "收集完成后会把收集的账号同步到资产", - "IsSyncAccountLabel": "同步到资产", - "IsValid": "有效", - "JDCloud": "京东云", - "JMSSSO": "SSO Token 登录", - "Job": "作业", - "JobCenter": "作业中心", - "JobCreate": "创建作业", - "JobDetail": "作业详情", - "JobExecutionLog": "作业日志", - "JobList": "作业管理", - "JobName": "作业名称", - "JobType": "作业类型", - "JobUpdate": "更新作业", - "Join": "加入", - "K8s": "Kubernetes", - "K8sPermissionRules": "Kubernetes授权规则", - "Key": "键", - "KingSoftCloud": "金山云", - "KokoSettingUpdate": "Koko 配置设置", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes", - "KubernetesAppCount": "Kubernetes应用数量", - "KubernetesAppCreate": "创建Kubernetes", - "KubernetesAppDetail": "Kubernetes详情", - "KubernetesAppPermission": "Kubernetes授权", - "KubernetesAppPermissionCreate": "创建Kubernetes授权规则", - "KubernetesAppPermissionDetail": "Kubernetes授权详情", - "KubernetesAppPermissionUpdate": "更新Kubernetes授权规则", - "KubernetesAppUpdate": "更新Kubernetes", - "LAN": "局域网", - "LDAPServerInfo": "LDAP 服务器", - "LDAPUser": "LDAP 用户", - "LOWER_CASEREQUIRED": "须包含小写字母", - "Label": "标签", - "LabelCreate": "创建标签", - "LabelInputFormatValidation": "标签格式错误,正确格式为:name:value", - "LabelList": "标签列表", - "LabelUpdate": "更新标签", - "Language": "语言", - "Last30": "最近 30 次", - "Last30Days": "近30天", - "Last7Days": "近7天", - "LastCannotBeDeleteMsg": "最后一项,不能被删除", - "LastDay": "本月最后一天", - "LastExecutionOutput": "最后执行输出", - "LastPublishedTime": "最后发布时间", - "LastRun": "最后运行", - "LastRunFailedHosts": "最后运行失败的主机", - "LastRunSuccessHosts": "最后运行成功的主机", - "LastWeek": "本月最后一个星期", - "LastWorking": "最近的那个工作日", - "LatestSessions": "最近登录记录", - "LatestSessions10": "最近10次登录", - "LatestTop10": "TOP 10", - "LatestVersion": "最新版本", - "Ldap": "LDAP", - "LdapBulkImport": "用户导入", - "LdapConnectTest": "测试连接", - "LdapLoginTest": "测试登录", - "Length": "长度", - "LessEqualThan": "小于等于", - "LevelApproval": "级审批", - "License": "许可证", - "LicenseDetail": "许可证详情", - "LicenseExpired": "许可证已经过期", - "LicenseFile": "许可证文件", - "LicenseForTest": "测试用途许可证, 本许可证仅用于 测试(PoC)和演示", - "LicenseReachedAssetAmountLimit": "资产数量已经超过许可证数量限制", - "LicenseWillBe": "许可证即将在 ", - "LinuxAdminUser": "Linux 特权用户", - "LinuxUserAffiliateGroup": "用户附属组", - "LoadStatus": "负载状态", - "Loading": "加载中", - "LockedIP": "已锁定 IP {count} 个", - "Log": "日志", - "LogData": "日志数据", - "LogOfLoginSuccessNum": "登录成功日志数", - "Logging": "日志记录", - "Login": "用户登录", - "LoginAssetConfirm": "资产登录复核", - "LoginAssetToday": "今日活跃资产数", - "LoginAssets": "活跃资产", - "LoginCity": "登录城市", - "LoginConfig": "登录配置", - "LoginConfirm": "登录复核", - "LoginCount": "登录次数", - "LoginDate": "登录日期", - "LoginFailed": "登录失败", - "LoginFrom": "登录来源", - "LoginIP": "登录IP", - "LoginImage": "登录页面图片", - "LoginImageTip": "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)", - "LoginLog": "登录日志", - "LoginModeHelpMessage": "如果选择手动登录模式,用户名和密码可以不填写", - "LoginModel": "登录模式", - "LoginNum": "登录数", - "LoginOption": "登录选项", - "LoginOverview": "会话统计", - "LoginPasswordSetting": "登录密码设置", - "LoginRequiredMsg": "账号已退出,请重新登录", - "LoginSucceeded": "登录成功", - "LoginTitle": "登录页面标题", - "LoginTitleTip": "提示:将会显示在企业版用户 SSH 登录 KoKo 登录页面(eg: 欢迎使用JumpServer开源堡垒机)", - "LoginTo": "登录了", - "LoginUserRanking": "登录账号排名", - "LoginUserToday": "今日登录账号数", - "LoginUsers": "活跃账号", - "Login_confirmUser": "登录复核 受理人", - "LogoIndex": "Logo (带文字)", - "LogoIndexTip": "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)", - "LogoLogout": "Logo (不带文字)", - "LogoLogoutTip": "提示:将会显示在企业版用户的 Web 终端页面(建议图片大小为:82px*82px)", - "Logout": "退出登录", - "LogsAudit": "日志审计", - "Lowercase": "小写字母", - "LunaSettingUpdate": "Luna 配置设置", - "MFA": "MFA", - "MFAConfirm": "MFA 认证", - "MFAErrorMsg": "MFA错误,请检查", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "启用多因子认证,使账号更加安全。
启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速修改->更改多因子设置)中直接绑定!", - "MFAOfUserFirstLoginUserGuidePage": "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:设置复杂密码,并启用多因子认证)
邮箱、手机号、微信等个人信息,仅作为用户认证和平台内部消息通知使用。", - "MFARequireForSecurity": "为了安全请输入MFA", - "MFAVerify": "验证 MFA", - "MIN_LENGTHERROR": "密码最小长度 {0} 位", - "MailRecipient": "邮件收件人", - "MailSend": "邮件发送", - "ManualAccount": "手动账号", - "ManualAccountTip": "登录时手动输入 用户名/密码", - "ManualExecutePlan": "手动执行计划", - "ManualInput": "手动输入", - "ManyChoose": "可多选", - "Mariadb": "MariaDB", - "MarkAsRead": "标记已读", - "Marketplace": "应用市场", - "Match": "匹配", - "MatchIn": "在...中", - "MatchResult": "匹配结果", - "MatchedCount": "匹配结果", - "Material": "内容", - "Members": "成员", - "Memory": "内存", - "Message": "消息", - "MessageSub": "消息订阅", - "MessageSubscription": "消息订阅", - "MessageType": "消息类型", - "Meta": "元数据", - "MfaLevel": "多因子认证", - "Min": "分钟", - "Model": "型号", - "Modify": "修改", - "ModifySSHKey": "修改 SSH Key", - "ModifyTheme": "修改主题", - "Module": "模块", - "Monday": "周一", - "Mongodb": "MongoDB", - "Monitor": "监控", - "Month": "月", - "Monthly": "按月", - "More": "更多选项", - "MoreActions": "更多操作", - "MoveAssetToNode": "移动资产到节点", - "MsgSubscribe": "消息订阅", - "MyApps": "我的应用", - "MyAssets": "我的资产", - "MyTickets": "我发起的", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "Mysql_workbenchIp": "数据库IP", - "Mysql_workbenchName": "数据库名", - "Mysql_workbenchPassword": "数据库密码", - "Mysql_workbenchPort": "数据库端口", - "Mysql_workbenchUsername": "数据库账号", - "NUMBERREQUIRED": "须包含数字", - "Name": "名称", - "NavHelp": "导航栏链接", - "Navigation": "导航", - "NeedAddAppsOrSystemUserErrMsg": "需要添加应用或系统用户", - "NeedReLogin": "需要重新登录", - "NeedSpecifiedFile": "需上传指定格式文件", - "NeedUpdatePasswordNextLogin": "下次登录须修改密码", - "Network": "网络", - "New": "新建", - "NewChat": "新聊天", - "NewCount": "新增", - "NewCron": "生成 Cron", - "NewDirectory": "新建目录", - "NewFile": "新建文件", - "NewPassword": "新密码", - "NewSyncCount": "新同步", - "No": "否", - "NoAlive": "离线", - "NoAnnouncement": "暂无公告", - "NoContent": "暂无内容", - "NoData": "暂无数据", - "NoFiles": "暂无文件", - "NoInputCommand": "未输入命令", - "NoLicense": "暂无许可证", - "NoPermission": "暂无权限", - "NoPermission403": "403 暂无权限", - "NoPermissionVew": "没有权限查看当前页面", - "NoPublished": "未发布", - "NoSQLProtocol": "非关系数据库", - "NoSystemUserWasSelected": "未选择系统用户", - "NoUnreadMsg": "暂无未读消息", - "Node": "节点", - "NodeAmount": "节点数量", - "NodeCount": "节点数量", - "NodeInformation": "节点信息", - "NodeSearchStrategy": "节点搜索策略", - "NormalLoad": "正常", - "NotAlphanumericUnderscore": "只能输入字母、数字、下划线", - "NotEqual": "不等于", - "NotParenthesis": "不能包含 ( )", - "NotSet": "未设置", - "NotSpecialEmoji": "不允许输入特殊表情符号", - "Nothing": "无", - "Notifications": "通知", - "Now": "现在", - "Num": "号", - "Number": "编号", - "NumberOfVisits": "访问次数", - "OAuth2": "OAuth2", - "OAuth2LogoTip": "提示:认证服务提供商(建议图片大小为: 64px*64px)", - "OIDC": "OIDC", - "OTP": "MFA (OTP)", - "ObjectNotFoundOrDeletedMsg": "没有找到对应资源或者已被删除", - "OfficialWebsite": "官网链接", - "OfficialWebsiteTip": "可以更改网站导航栏 帮助 -> 官网 的网址", - "Offline": "离线", - "OfflineSuccessMsg": "下线成功", - "OfflineUpload": "离线上传", - "OldPassword": "原密码", - "OldSSHKey": "原来SSH公钥", - "On/Off": "启/停", - "OneAssignee": "一级受理人", - "OneAssigneeType": "一级受理人类型", - "OneClickRead": "当前已读", - "OneClickReadMsg": "你确定要将当前信息标记为已读吗?", - "OnlineSession": "在线用户", - "OnlineSessionHelpMsg": "无法下线当前会话,因为该会话是当前用户的在线会话。当前只记录以 Web 方式登录的用户。", - "OnlineSessions": "在线会话数", - "OnlineUserDevices": "在线用户设备", - "OnlineUsers": "在线账号", - "OnlyCSVFilesTips": "仅支持csv文件导入", - "OnlyLatestVersion": "仅最新版本", - "OnlyMailSend": "当前只支持邮件发送", - "OnlySearchCurrentNodePerm": "仅搜索当前节点的授权", - "Open": "待处理", - "OpenCommand": "打开命令", - "OpenId": "OpenID设置", - "OpenStack": "OpenStack", - "OpenStatus": "审批中", - "OpenTicket": "创建工单", - "OperateLog": "操作日志", - "OperateRecord": "操作记录", - "OperationLogNum": "操作日志数", - "Ops": "任务", - "Options": "选项", - "Oracle": "Oracle", - "OrgAdmin": "组织管理员", - "OrgAuditor": "组织审计员", - "OrgName": "授权组织名称", - "OrgRole": "组织角色", - "OrgRoleHelpText": "组织角色是用户在当前组织中的角色", - "OrgRoles": "组织角色", - "OrgUser": "组织用户", - "OrganizationCreate": "创建组织", - "OrganizationDetail": "组织详情", - "OrganizationList": "组织管理", - "OrganizationLists": "组织列表", - "OrganizationMembership": "组织成员", - "OrganizationUpdate": "更新组织", - "Os": "操作系统", - "Other": "其它设置", - "OtherAuth": "其它认证", - "OtherProtocol": "其它协议", - "OtherRules": "其它规则", - "Others": "其它", - "Output": "输出", - "Overview": "概览", - "PENDING": "等待中", - "PageNext": "下一页", - "PagePrev": "上一页", - "Parameter": "参数", - "Params": "参数", - "ParamsHelpText": "改密参数设置,目前仅对平台种类为主机的资产生效。", - "PassKey": "Passkey", - "Passkey": "Passkey", - "PasskeyAddDisableInfo": "你的认证来源是 {source}, 不支持添加 Passkey", - "Passphrase": "密钥密码", - "Password": "密码", - "PasswordAccount": "密码账号", - "PasswordChangeLog": "改密日志", - "PasswordCheckRule": "密码强弱规则", - "PasswordConfirm": "密码认证", - "PasswordExpired": "密码过期了", - "PasswordHelpMessage": "密码或密钥密码", - "PasswordLength": "密码长度", - "PasswordOrPassphrase": "密码或密钥密码", - "PasswordOrToken": "密码 / 令牌", - "PasswordPlaceholder": "请输入密码", - "PasswordRecord": "密码记录", - "PasswordRequireForSecurity": "为了安全请输入密码", - "PasswordRule": "密码规则", - "PasswordSecurity": "密码安全", - "PasswordSelector": "密码输入框选择器", - "PasswordStrategy": "密文生成策略", - "PasswordWillExpiredPrefixMsg": "密码即将在 ", - "PasswordWillExpiredSuffixMsg": "天 后过期,请尽快修改您的密码。", - "PasswordWithoutSpecialCharHelpText": "不能包含特殊字符", - "Paste": "粘贴", - "Pattern": "模式", - "Pause": "暂停", - "PauseTaskSendSuccessMsg": "暂停任务已下发,请稍后刷新查看", - "Pending": "待处理", - "Periodic": "执行周期", - "PeriodicPerform": "定时执行", - "Perm": "授权", - "PermAccount": "授权账号", - "PermName": "授权名称", - "PermUserList": "授权用户", - "PermissionCompany": "授权公司", - "PermissionName": "授权规则名称", - "Permissions": "权限", - "Perms": "权限管理", - "PersonalInformationImprovement": "个人信息完善", - "Phone": "手机号", - "Plan": "计划", - "Platform": "系统平台", - "PlatformCreate": "创建系统平台", - "PlatformDetail": "系统平台详情", - "PlatformList": "平台列表", - "PlatformProtocolConfig": "平台协议配置", - "PlatformSimple": "平台", - "PlatformUpdate": "更新系统平台", - "PlaybookDetail": "Playbook详情", - "PlaybookManage": "Playbook管理", - "PlaybookUpdate": "更新Playbook", - "PleaseAgreeToTheTerms": "请同意条款", - "PleaseClickLeftApplicationToViewApplicationAccount": "应用账号列表,点击左侧应用进行查看", - "PleaseClickLeftAssetToViewAssetAccount": "资产账号列表,点击左侧资产进行查看", - "PleaseClickLeftAssetToViewGatheredUser": "收集用户列表,点击左侧资产进行查看", - "PleaseSelect": "请选择", - "PolicyName": "策略名称", - "Port": "端口", - "Ports": "端口", - "Postgresql": "PostgreSQL", - "Primary": "主要的", - "PrimaryProtocol": "主要协议, 资产最基本最常用的协议,只能且必须设置一个", - "Priority": "优先级", - "PriorityHelpMessage": "1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会作为默认登录用户", - "PrivateCloud": "私有云", - "PrivateKey": "私钥", - "PrivilegeFirst": "优先选择特权账号", - "PrivilegeOnly": "仅选择特权账号", - "Privileged": "特权账号", - "PrivilegedFirst": "优先特权账号", - "PrivilegedOnly": "仅特权账号", - "PrivilegedTemplate": "特权的", - "Product": "产品", - "Profile": "个人信息", - "ProfileSetting": "个人信息设置", - "Project": "项目名", - "Prompt": "提示词", - "Proportion": "占比", - "ProportionOfAssetTypes": "资产类型占比", - "Protocol": "协议", - "Protocols": "协议", - "ProtocolsEnabled": "启用协议", - "ProtocolsGroup": "协议", - "Provider": "云服务商", - "Proxy": "代理", - "Public": "公共的", - "PublicCloud": "公有云", - "PublicIp": "公网IP", - "PublicKey": "公钥", - "PublicProtocol": "如果是公共协议在连接资产时会显示", - "Publish": "发布", - "PublishAllApplets": "发布所有应用", - "PublishStatus": "发布状态", - "Push": "推送", - "PushAccount": "推送账号", - "PushAllSystemUsersToAsset": "推送所有系统用户到资产", - "PushParams": "推送参数", - "PushSelected": "推送所选", - "PushSelectedSystemUsersToAsset": "推送所选系统用户到资产", - "PushSystemUserNow": "推送系统用户", - "Qcloud": "腾讯云", - "QcloudLighthouse": "腾讯云(轻量应用服务器)", - "QingyunPrivatecloud": "青云私有云", - "Queue": "队列", - "QuickAccess": "快速访问", - "QuickAdd": "快速添加", - "QuickJob": "快捷命令", - "QuickSelect": "快速选择", - "QuickUpdate": "快速更新", - "RDBProtocol": "关系型数据库", - "RUNNING": "运行中", - "Radius": "Radius", - "Ranking": "排名", - "Ratio": "比例", - "RazorNotSupport": "RDP 客户端会话, 暂不支持监控", - "ReLogin": "重新登录", - "ReLoginErr": "登录时长已超过 5 分钟,请重新登录", - "ReLoginTitle": "当前三方登录用户(CAS/SAML),未绑定 MFA 且不支持密码校验,请重新登录。", - "RealTimeData": "实时数据", - "Reason": "原因", - "Receivers": "接收人", - "RecentLogin": "最近登录", - "RecentSession": "最近会话", - "RecentlyUsed": "最近使用", - "RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", - "RecipientServer": "接收服务器", - "Reconnect": "重新连接", - "Redis": "Redis", - "Refresh": "刷新", - "RefreshFail": "刷新失败", - "RefreshHardware": "更新硬件信息", - "RefreshLdapCache": "刷新Ldap缓存,请稍后", - "RefreshLdapUser": "刷新缓存", - "RefreshPermissionCache": "刷新授权缓存", - "RefreshSuccess": "刷新成功", - "Regex": "正则表达式", - "Region": "地域", - "RegularlyPerform": "定期执行", - "Reject": "拒绝", - "Rejected": "已拒绝", - "RelAnd": "与", - "RelNot": "非", - "RelOr": "或", - "Relation": "关系", - "ReleasedCount": "已释放", - "RelevantApp": "应用", - "RelevantAsset": "资产", - "RelevantAssignees": "相关受理人", - "RelevantCommand": "命令", - "RelevantSystemUser": "系统用户", - "RemoteAddr": "远端地址", - "RemoteApp": "远程应用", - "RemoteAppCount": "远程应用数量", - "RemoteAppDetail": "远程应用详情", - "RemoteAppListHelpMessage": "使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 RemoteApp 应用 下载应用加载器", - "RemoteAppPermission": "远程应用授权", - "RemoteAppPermissionCreate": "创建远程应用授权规则", - "RemoteAppPermissionDetail": "远程应用授权详情", - "RemoteAppPermissionRules": "远程应用授权规则", - "RemoteAppPermissionUpdate": "更新远程应用授权规则", - "RemoteAppUpdate": "更新远程应用", - "RemoteApps": "远程应用", - "RemoteType": "应用类型", - "Remove": "移除", - "RemoveAssetFromNode": "从节点移除资产", - "RemoveErrorMsg": "移除失败: ", - "RemoveFromCurrentNode": "从节点移除", - "RemoveFromOrgWarningMsg": "你确定从组织移除 ", - "RemoveSuccessMsg": "移除成功", - "RemoveWarningMsg": "你确定要移除", - "Rename": "重命名", - "RenameNode": "重命名节点", - "ReplaceNodeAssetsAdminUser": "替换节点资产的管理员", - "ReplaceNodeAssetsAdminUserWithThis": "替换资产的管理员", - "Replay": "回放", - "ReplaySession": "回放会话", - "ReplayStorage": "对象存储", - "ReplayStorageCreateUpdateHelpMessage": "注意:目前 SFTP 存储仅支持账号备份,暂不支持录像存储。", - "ReplayStorageUpdate": "更新对象存储", - "Reply": "回复", - "RequestApplicationPerm": "申请应用授权", - "RequestAssetPerm": "申请资产授权", - "RequestPerm": "授权申请", - "RequestTickets": "申请工单", - "Required": "必需的", - "RequiredAssetOrNode": "请至少选择一个资产或节点", - "RequiredContent": "请输入命令", - "RequiredEntryFile": "此文件作为运行的入口文件,必须存在", - "RequiredHasUserNameMapped": "必须包含 username 字段的映射,如 { 'uid': 'username' }", - "RequiredProtocol": "必需协议, 添加资产时必须选择, 可以设置多个", - "RequiredRunas": "请输入运行用户", - "RequiredSystemUserErrMsg": "请选择账号", - "RequiredUploadFile": "请上传文件!", - "Reset": "还原", - "ResetAndDownloadSSHKey": "重置并下载密钥", - "ResetDingTalk": "解绑钉钉", - "ResetDingTalkLoginSuccessMsg": "重置成功, 用户可以重新绑定钉钉了", - "ResetDingTalkLoginWarningMsg": "你确定要解绑用户的 钉钉 吗?", - "ResetMFA": "重置MFA", - "ResetMFAWarningMsg": "你确定要重置用户的 MFA 吗?", - "ResetMFAdSuccessMsg": "重置MFA成功, 用户可以重新设置MFA了", - "ResetPassword": "重置密码", - "ResetPasswordSuccessMsg": "已向用户发送重置密码消息", - "ResetPasswordWarningMsg": "你确定要发送重置用户密码的邮件吗", - "ResetPublicKeyAndDownload": "重置并下载SSH密钥", - "ResetSSHKey": "重置SSH密钥", - "ResetSSHKeySuccessMsg": "发送邮件任务已提交, 用户稍后会收到重置密钥邮件", - "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", - "ResetWechat": "解绑企业微信", - "ResetWechatLoginSuccessMsg": "重置成功, 用户可以重新绑定企业微信了", - "ResetWechatLoginWarningMsg": "你确定要解绑用户的 企业微信 吗?", - "Resource": "资源", - "ResourceType": "资源类型", - "Resources": "资源", - "RestoreButton": "恢复默认", - "RestoreDefault": "恢复默认", - "RestoreDialogMessage": "您确定要恢复默认初始化吗?", - "RestoreDialogTitle": "你确认吗", - "Result": "结果", - "Resume": "恢复", - "ResumeTaskSendSuccessMsg": "恢复任务已下发,请稍后刷新查看", - "Retry": "重试", - "Reviewer": "审批人", - "Revise": "修改", - "RiskLevel": "风险等级", - "Role": "角色", - "RoleCreate": "创建角色", - "RoleDetail": "角色详情", - "RoleInfo": "角色信息", - "RoleList": "角色列表", - "RolePerms": "角色权限", - "RoleUpdate": "更新角色", - "RoleUsers": "授权用户", - "Rows": "行", - "Rule": "条件", - "RuleCount": "条件数量", - "RuleDetail": "规则详情", - "RuleRelation": "条件关系", - "RuleRelationHelpTips": "且:当所有条件都满足时,才会执行动作;或:有一个条件满足,就会执行动作", - "RuleSetting": "条件设置", - "Rules": "规则", - "Run": "执行", - "RunAgain": "再次执行", - "RunAs": "运行用户", - "RunCommand": "运行命令", - "RunJob": "运行作业", - "RunSucceed": "任务执行成功", - "RunTaskManually": "手动执行", - "RunTimes": "执行次数", - "RunUser": "运行用户", - "RunasHelpText": "填写运行脚本的用户名", - "RunasPolicy": "账号策略", - "RunasPolicyHelpText": "当前资产上没此运行用户时,采取什么账号选择策略。跳过:不执行。优先特权账号:如果有特权账号先选特权账号,如果没有就选普通账号。仅特权账号:只从特权账号中选择,如果没有则不执行", - "Running": "运行中", - "RunningPath": "运行路径", - "RunningPathHelpText": "填写脚本的运行路径,此设置仅 shell 脚本生效", - "RunningTimes": "最近5次运行时间", - "SAML2Auth": "SAML2 认证", - "SCP": "深信服云平台", - "SFTPHelpMessage": "SFTP 的起始路径,家目录可以填: HOME.
支持变量: ${ACCOUNT} 连接的账号用户名, ${USER} 当前用户用户名, 如 /tmp/${ACCOUNT}", - "SMS": "短信", - "SMSProvider": "短信服务商", - "SMTP": "邮件服务器", - "SPECIAL_CHARREQUIRED": "须包含特殊字符", - "SSHKey": "SSH公钥", - "SSHKeyOfProfileSSHUpdatePage": "复制你的公钥到这里", - "SSHKeySetting": "SSH公钥设置", - "SSHPort": "SSH 端口", - "SSHSecretKey": "SSH 密钥", - "SSO": "单点认证", - "SUCCESS": "成功", - "SafeCommand": "安全命令", - "SameAccount": "同名账号", - "SameAccountTip": "与被授权人用户名相同的账号", - "SameTypeAccountTip": "相同用户名、密钥类型的账号已存在", - "Saturday": "周六", - "Save": "保存", - "SaveAdhoc": "保存命令", - "SaveAndAddAnother": "保存并继续添加", - "SaveCommand": "保存命令 ", - "SaveCommandSuccess": "保存命令成功", - "SaveSetting": "同步设置", - "SaveSuccess": "保存成功", - "SaveSuccessContinueMsg": "创建成功,更新内容后可以继续添加", - "Scope": "类别", - "Script": "脚本列表", - "ScriptDetail": "脚本详情", - "ScrollToBottom": "滚动到底部", - "ScrollToTop": "滚动到顶部", - "Search": "搜索", - "SearchAncestorNodePerm": "同时搜索当前节点和祖先节点的授权", - "Secret": "密码", - "SecretKey": "密钥", - "SecretKeyStrategy": "密码策略", - "SecretType": "密文类型", - "Secure": "安全", - "Security": "安全设置", - "SecurityCommandExecution": "批量命令", - "SecurityInsecureCommand": "开启后,当资产上有危险命令执行时,会发送邮件告警通知", - "SecurityInsecureCommandEmailReceiver": "多个邮箱时,以半角逗号','分隔", - "SecurityLoginLimitCount": "限制登录失败次数", - "SecurityLoginLimitTime": "禁止登录时间间隔", - "SecurityMaxIdleTime": "连接最大空闲时间", - "SecurityMfaAuth": "多因子认证", - "SecurityPasswordExpirationTime": "密码过期时间", - "SecurityPasswordLowerCase": "必须包含小写字母", - "SecurityPasswordMinLength": "密码最小长度", - "SecurityPasswordNumber": "必须包含数字字符", - "SecurityPasswordSpecialChar": "必须包含特殊字符", - "SecurityPasswordUpperCase": "必须包含大写字母", - "SecurityServiceAccountRegistration": "组件注册", - "SecuritySetting": "安全设置", - "Select": "选择", - "SelectAccount": "选择账号", - "SelectAdhoc": "选择命令", - "SelectAll": "全选", - "SelectAssetsMessage": "选择左侧资产, 选择运行的系统用户,批量执行命令", - "SelectAtLeastOneAssetOrNodeErrMsg": "资产或者节点至少选择一项", - "SelectAttrs": "选择属性", - "SelectByAttr": "属性筛选", - "SelectCreateMethod": "选择创建方式", - "SelectFile": "选择文件", - "SelectKeyOrCreateNew": "选择标签键或创建新的", - "SelectLabelFilter": "选择标签搜索", - "SelectPlatforms": "选择平台", - "SelectProperties": "选择属性", - "SelectResource": "选择资源", - "SelectTemplate": "选择模版", - "SelectValueOrCreateNew": "选择标签值或创建新的", - "Selected": "已选择", - "SelectedAssets": "已选择资产:", - "Selection": "可选择", - "Selector": "选择器", - "Send": "发送", - "SendVerificationCode": "发送验证码", - "Sender": "发送人", - "Senior": "高级", - "SerialNumber": "序列号", - "ServerAccountKey": "服务账号密钥", - "ServerError": "服务器错误", - "ServerTime": "服务器时间", - "ServiceRatio": "组件负载统计", - "Session": "会话", - "SessionActiveCount": "在线会话数量", - "SessionData": "会话数据", - "SessionDetail": "会话详情", - "SessionID": "会话ID", - "SessionList": "会话记录", - "SessionMonitor": "监控", - "SessionOffline": "历史会话", - "SessionOnline": "在线会话", - "SessionSecurity": "会话安全", - "SessionState": "会话状态", - "SessionTerminate": "会话终断", - "SessionTrend": "会话趋势", - "Sessions": "会话管理", - "SessionsAudit": "会话审计", - "SessionsNum": "会话数", - "Set": "已设置", - "SetAdDomainNoDisabled": "使用特权账号在资产上创建普通账号,如果设置了AD域名不能修改(Windows)", - "SetDingTalk": "设置钉钉认证", - "SetFailed": "设置失败", - "SetFeiShu": "设置飞书认证", - "SetMFA": "设置多因子认证", - "SetPublicKey": "设置SSH公钥", - "SetSlack": "设置Slack认证", - "SetStatus": "设置状态", - "SetSuccess": "设置成功", - "SetToDefault": "设为默认", - "SetToDefaultStorage": "设置为默认存储", - "SetWeCom": "设置企业微信认证", - "Setting": "设置", - "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", - "Settings": "系统设置", - "Show": "显示", - "ShowAssetAllChildrenNode": "显示所有子节点资产", - "ShowAssetOnlyCurrentNode": "仅显示当前节点资产", - "ShowNodeInfo": "显示节点详情", - "SignChannelNum": "签名通道号", - "SignaturesAndTemplates": "Signatures and Templates", - "SiteMessage": "站内信", - "SiteMessageList": "站内信", - "SiteUrl": "当前站点URL", - "Skip": "忽略当前资产", - "Skipped": "已跳过", - "Slack": "Slack", - "Source": "来源", - "SourceIP": "源地址", - "SourcePort": "源端口", - "Spec": "指定", - "SpecAccount": "指定账号", - "SpecAccountTip": "指定用户名选择授权账号", - "SpecialSymbol": "特殊字符", - "SpecificInfo": "特殊信息", - "Sqlserver": "SQLServer", - "SshKeyFingerprint": "SSH 指纹", - "SshPort": "SSH端口", - "Sshkey": "sshkey", - "SshkeyAccount": "密钥账号", - "StartEvery": "开始,每", - "Startswith": "以...开头", - "Stat": "成功/失败/总", - "State": "状态", - "StateClosed": "已关闭", - "Status": "状态", - "StatusGreen": "近期状态良好", - "StatusRed": "上一次任务执行失败", - "StatusYellow": "近期存在在执行失败", - "Stop": "停止", - "Storage": "存储", - "StorageConfiguration": "存储配置", - "Strategy": "策略", - "StrategyCreate": "创建策略", - "StrategyDetail": "策略详情", - "StrategyHelpTips": "根据策略优先级确定资产的唯一属性(如平台),当资产属性(如节点)可配置多个的时候,所有策略的动作都会被执行", - "StrategyList": "策略列表", - "StrategyUpdate": "更新策略", - "SuFrom": "切换自", - "Subject": "主题", - "Submit": "提交", - "SubmitSelector": "提交按钮选择器", - "Subscription": "消息订阅", - "SubscriptionID": "订阅授权ID", - "Success": "成功", - "SuccessAsset": "成功的资产", - "SuccessfulOperation": "操作成功", - "SudoHelpMessage": "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig", - "Summary(success/total)": "概况( 成功/总数 )", - "Sunday": "周日", - "SuperAdmin": "超级管理员", - "SuperOrgAdmin": "超级管理员+组织管理员", - "Support": "支持", - "SupportedProtocol": "支持的协议", - "SupportedProtocolHelpText": "设置资产支持的协议,点击设置按钮可以为协议修改自定义配置,如 SFTP 目录,RDP AD 域等", - "SwitchPage": "切换视图", - "SwitchToUser": "Su 用户", - "SwitchToUserListTips": "通过以下用户连接资产时,会使用当前系统用户登录再进行切换。", - "SymbolSet": "特殊符号集合", - "SymbolSetHelpText": "请输入此类型数据库支持的特殊符号集合,若生成的随机密码中有此类数据库不支持的特殊字符,改密计划将会失败", - "Sync": "同步", - "SyncDelete": "同步删除", - "SyncInstanceTaskCreate": "创建同步任务", - "SyncInstanceTaskDetail": "同步任务详情", - "SyncInstanceTaskHistoryAssetList": "同步实例列表", - "SyncInstanceTaskHistoryList": "同步历史列表", - "SyncInstanceTaskList": "同步任务列表", - "SyncInstanceTaskUpdate": "更新同步任务", - "SyncProtocolToAsset": "同步协议到资产", - "SyncSelected": "同步所选", - "SyncSetting": "同步设置", - "SyncStrategy": "同步策略", - "SyncSuccessMsg": "同步成功", - "SyncTask": "同步任务", - "SyncUpdateAccountInfo": "同步更新账号信息", - "SyncUser": "同步用户", - "SyncedCount": "已同步", - "SystemCpuLoad": "CPU负载", - "SystemDiskUsedPercent": "硬盘使用率", - "SystemError": "系统错误", - "SystemMemoryUsedPercent": "内存使用率", - "SystemMessageSubscription": "系统消息订阅", - "SystemRole": "系统角色", - "SystemRoles": "系统角色", - "SystemSetting": "系统设置", - "SystemTools": "系统工具", - "SystemUser": "系统用户", - "SystemUserAmount": "系统用户数量", - "SystemUserCount": "系统用户", - "SystemUserCreate": "创建系统用户", - "SystemUserDetail": "系统用户详情", - "SystemUserId": "系统用户Id", - "SystemUserList": "系统用户", - "SystemUserListHelpMessage": "系统用户 是JumpServer 登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`;
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
普通用户 可以在资产上预先存在,也可以由 特权用户 来自动创建。", - "SystemUserName": "系统用户名", - "SystemUserUpdate": "更新系统用户", - "SystemUsers": "系统用户", - "System_usersAmount": "系统用户", - "System_users_nameGroup": "系统用户名称", - "System_users_protocolGroup": "系统用户协议", - "System_users_usernameGroup": "系统用户名", - "TableColSettingInfo": "请选择您想显示的列表详细信息。", - "Target": "目标", - "TargetResources": "目标资源", - "Task": "任务", - "TaskCenter": "任务中心", - "TaskDetail": "任务详情", - "TaskDispatch": "任务下发成功", - "TaskDone": "任务结束", - "TaskID": "任务 ID", - "TaskList": "任务列表", - "TaskMonitor": "任务监控", - "TaskName": "任务名称", - "TaskVersions": "任务各版本", - "Tasks": "任务", - "TechnologyConsult": "技术咨询", - "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", - "Template": "模版管理", - "TemplateAdd": "模版添加", - "TemplateCreate": "创建模版", - "TemplateDetail": "模版详情", - "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", - "TemplateUpdate": "更新模版", - "Templates": "模版管理", - "TencentCloud": "腾讯云", - "Terminal": "组件设置", - "TerminalAssetListPageSize": "资产分页每页数量", - "TerminalAssetListSortBy": "资产列表排序", - "TerminalDetail": "终端详情", - "TerminalHeartbeatInterval": "心跳间隔", - "TerminalPasswordAuth": "密码认证", - "TerminalPublicKeyAuth": "密钥认证", - "TerminalSessionKeepDuration": "会话保留时长", - "TerminalStat": "CPU/内存/磁盘", - "TerminalTelnetRegex": "Telnet 成功正则表达式", - "TerminalUpdate": "更新终端", - "TerminalUpdateStorage": "更新终端存储", - "Terminate": "终断", - "TerminateTaskSendSuccessMsg": "终断任务已下发,请稍后刷新查看", - "TermsAndConditions": "条款和条件", - "Test": "测试", - "TestAccountConnective": "测试账号可连接性", - "TestAllSystemUsersConnective": "测试所有系统用户可连接性", - "TestAssetsConnective": "测试资产可连接性", - "TestConnection": "测试连接", - "TestGatewayHelpMessage": "如果使用了nat端口映射,请设置为ssh真实监听的端口", - "TestGatewayTestConnection": "测试连接网关", - "TestHelpText": "请输入目的地址进行测试", - "TestLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", - "TestLdapLoginTitle": "测试LDAP 用户登录", - "TestMultiPort": "多个端口用,分隔", - "TestNodeAssetConnectivity": "测试资产节点可连接性", - "TestParam": "参数", - "TestPortErrorMsg": "端口错误,请重新输入", - "TestSelected": "测试所选", - "TestSelectedSystemUsersConnective": "测试所选系统用户可连接性", - "TestSuccessMsg": "测试成功", - "The": "第", - "ThisPeriodic": "这是一个周期作业", - "Thursday": "周四", - "Ticket": "工单", - "TicketCreate": "创建工单", - "TicketDetail": "工单详情", - "TicketFlow": "工单流", - "TicketFlowCreate": "创建审批流", - "TicketFlowUpdate": "更新审批流", - "Tickets": "工单列表", - "TicketsDone": "已办工单", - "TicketsNew": "提交工单", - "TicketsTodo": "待办工单", - "Time": "时间", - "TimeDelta": "运行时间", - "TimeExpression": "时间表达式", - "TimePeriod": "时段", - "Timeout": "超时", - "TimeoutHelpText": "当此值为-1时,不指定超时时间", - "Timer": "定时执行", - "TimerPeriod": "定时执行周期", - "TimesWeekUnit": "次/周", - "Title": "标题", - "To": "至", - "Today": "今天", - "TodayFailedConnections": "今日连接失败数", - "Token": "令牌", - "TokenHTTPMethod": "Token 获取方法", - "TopAssetsOfWeek": "周资产 TOP10", - "TopUsersOfWeek": "周用户 TOP10", - "Total": "总共", - "TotalJobFailed": "执行失败作业数", - "TotalJobLog": "作业执行总数", - "TotalJobRunning": "运行中作业数", - "TotalVersions": "版本数量", - "Transfer": "传输", - "True": "是", - "Tuesday": "周二", - "TwoAssignee": "二级受理人", - "TwoAssigneeType": "二级受理人类型", - "Type": "类型", - "Types": "类型", - "UCloud": "UCloud优刻得", - "UPPER_CASEREQUIRED": "须包含大写字母", - "UnSyncCount": "未同步", - "Unbind": "解绑", - "UnbindHelpText": "本地用户为此认证来源用户,无法解绑", - "Unblock": "解锁", - "UnblockSuccessMsg": "解锁成功", - "UnblockUser": "解锁用户", - "UniqueError": "以下属性只能设置一个", - "Unknown": "未知", - "UnlockSuccessMsg": "解锁成功", - "Unreachable": "不可连接", - "UnselectedAssets": "未选择资产或所选择的资产不支持SSH协议连接", - "UnselectedNodes": "未选择节点", - "UnselectedOrg": "没有选择组织", - "UnselectedUser": "没有选择用户", - "UpDownload": "上传下载", - "Update": "更新", - "UpdateAccount": "更新账号", - "UpdateAccountMsg": "请更新系统用户的账号信息", - "UpdateAccountTemplate": "更新账号模版", - "UpdateAssetDetail": "配置更多信息", - "UpdateAssetUserToken": "更新账号认证信息", - "UpdateEndpoint": "更新端点", - "UpdateEndpointRule": "更新端点规则", - "UpdateErrorMsg": "更新失败", - "UpdateMFA": "更改多因子认证", - "UpdateNodeAssetHardwareInfo": "更新节点资产硬件信息", - "UpdatePassword": "更新密码", - "UpdateSSHKey": "更新SSH公钥", - "UpdateSecret": "更新密文", - "UpdateSelected": "更新所选", - "UpdateSuccessMsg": "更新成功", - "Updated": "已更新", - "UpdatedBy": "更新者", - "Upload": "上传", - "UploadCsvLth10MHelpText": "只能上传 csv/xlsx, 且不超过 10M", - "UploadDir": "上传目录", - "UploadFailed": "上传失败", - "UploadFile": "上传文件", - "UploadFileLthHelpText": "只能上传小于{limit}MB文件", - "UploadPlaybook": "上传 Playbook", - "UploadSucceed": "上传成功", - "UploadZipTips": "请上传 zip 格式的文件", - "Uploading": "文件上传中", - "Uppercase": "大写字母", - "UseParameterDefine": "定义参数", - "UseProtocol": "使用协议", - "UseSSL": "使用 SSL/TLS", - "User": "用户", - "UserAclDetail": "用户登录规则详情", - "UserAclList": "用户登录", - "UserAclLists": "用户登录规则", - "UserAssetActivity": "账号/资产活跃情况", - "UserCount": "用户数量", - "UserCreate": "创建用户", - "UserData": "账号数据", - "UserDetail": "用户详情", - "UserFirstLogin": "首次登录", - "UserGroupCount": "用户组数量", - "UserGroupCreate": "创建用户组", - "UserGroupDetail": "用户组详情", - "UserGroupList": "用户组", - "UserGroupUpdate": "更新用户组", - "UserGroups": "用户组", - "UserGuide": "用户向导", - "UserGuideUrl": "用户向导URL", - "UserIP": "登录 IP", - "UserInformation": "用户信息", - "UserList": "用户列表", - "UserLoginACL": "用户登录", - "UserLoginACLCreate": "创建用户登录规则", - "UserLoginACLDetail": "用户登录限制", - "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统(全局生效)", - "UserLoginACLUpdate": "更新用户登录规则", - "UserLoginAclCreate": "创建用户登录控制", - "UserLoginAclDetail": "用户登录控制详情", - "UserLoginAclList": "用户登录", - "UserLoginAclUpdate": "更新用户登录控制", - "UserLoginLimit": "用户登录限制", - "UserLoginTrend": "账号登录趋势", - "UserName": "姓名", - "UserNameSelector": "用户名输入框选择器", - "UserPage": "用户视图", - "UserProfile": "个人信息", - "UserRatio": "用户占比统计", - "UserSession": "用户会话", - "UserSetting": "偏好设置", - "UserSwitch": "用户切换", - "UserSwitchFrom": "切换自", - "UserUpdate": "更新用户", - "UserUsername": "用户(用户名)", - "Username": "用户名", - "UsernameGroup": "用户名", - "UsernameHelpMessage": "用户名是动态的,登录资产时使用当前用户的用户名登录", - "UsernameOfCreateUpdatePage": "目标主机上用户的用户名;如果已️存在,修改用户密码;如果不存在,添加用户并设置密码;", - "UsernamePlaceholder": "请输入用户名", - "Users": "用户", - "UsersAmount": "用户", - "UsersAndUserGroups": "用户/用户组", - "UsersTotal": "账号总数", - "Valid": "有效", - "Validity": "有效", - "Value": "值", - "Variable": "变量", - "VariableHelpText": "您可以在命令中使用 {{ key }} 读取内置变量", - "Vault": "密码匣子", - "VaultHelpText": "1. 由于安全原因,需要配置文件中开启 Vault 存储。
2. 开启后,填写其他配置,进行测试。
3. 进行数据同步,同步是单向的,只会从本地数据库同步到远端 Vault,同步完成本地数据库不再存储密码,请备份好数据。
4. 二次修改 Vault 配置后需重启服务。", - "Vendor": "制造商", - "VerificationCodeSent": "验证码已发送", - "VerifySignTmpl": "验证码短信模板", - "Version": "版本", - "VersionDetail": "版本详情", - "VersionRunExecution": "执行历史", - "View": "查看", - "ViewBlockedIPSHelpText": "查看已被锁定的 IP 列表", - "ViewMore": "查看更多", - "ViewPerm": "查看授权", - "ViewSecret": "查看密文", - "VirtualAccountDetail": "虚拟账号详情", - "VirtualAccountUpdate": "虚拟账号更新", - "VirtualAccounts": "虚拟账号", - "VirtualApp": "虚拟应用", - "VirtualAppDetail": "虚拟应用详情", - "VirtualApps": "虚拟应用", - "VmwareClient": "vSphere Client", - "VmwarePassword": "登录密码", - "VmwareTarget": "目标地址", - "VmwareUsername": "登录账号", - "WeCom": "企业微信", - "WeComTest": "测试", - "WebCreate": "创建资产-Web", - "WebFTP": "文件管理", - "WebHelpMessage": "Web 类型资产依赖于远程应用,请前往系统设置在远程应用中配置", - "WebSocketDisconnect": "WebSocket 断开", - "WebTerminal": "Web终端", - "WebUpdate": "更新资产-Web", - "Wednesday": "周三", - "Week": "周", - "WeekAdd": "本周新增", - "WeekOf": "周的星期", - "WeekOrTime": "星期/时间", - "Weekly": "按周", - "WildcardsAllowed": "允许的通配符", - "WindowsAdminUser": "Windows 特权用户", - "WindowsPushHelpText": "windows 资产暂不支持推送密钥", - "WordSep": "", - "WorkBench": "工作台", - "Workbench": "工作台", - "Workspace": "工作空间", - "Yes": "是", - "ZStack": "ZStack" + "": "", + "APIKey": "API Key", + "AWSChina": "AWS(中国)", + "AWSInt": "AWS(国际)", + "About": "关于", + "Accept": "同意", + "AccessIP": "IP 白名单", + "AccessKey": "访问密钥", + "Account": "账号信息", + "AccountBackup": "账号备份", + "AccountBackupCreate": "创建账号备份", + "AccountBackupUpdate": "更新账号备份", + "AccountChangeSecret": "账号改密", + "AccountCreate": "创建账户", + "AccountDeleteConfirmMsg": "删除账号,是否继续?", + "AccountDetail": "账户详情", + "AccountEnabled": "启用切换账号", + "AccountExportTips": "导出信息中包含账号密文涉及敏感信息,导出的格式为一个加密的zip文件(若没有设置加密密码,请前往个人信息中设置文件加密密码)。", + "AccountGather": "账号收集", + "AccountGatherList": "收集任务", + "AccountGatherTaskCreate": "创建任务", + "AccountGatherTaskExecutionList": "任务执行列表", + "AccountGatherTaskList": "账号收集", + "AccountGatherTaskUpdate": "更新任务", + "AccountHelpText": "云账号是用来连接云服务商的账号,用于获取云服务商的资源信息", + "AccountHistoryHelpMessage": "记录当前账号的历史版本", + "AccountKey": "账户密钥", + "AccountList": "云账号", + "AccountName": "账户名称", + "AccountPolicy": "账号策略", + "AccountPushCreate": "账号推送创建", + "AccountPushExecutionList": "执行列表", + "AccountPushList": "账号推送", + "AccountPushUpdate": "账号推送更新", + "AccountStorage": "账号存储", + "AccountTemplate": "账号模版", + "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", + "AccountUpdate": "更新账户", + "AccountUsername": "账号(用户名)", + "Accounts": "账号管理", + "AccountsHelp": "所有账号: 资产上已添加的所有账号;
指定账号:指定资产下账号的用户名;
手动账号: 用户名/密码 登录时手动输入;
同名账号: 与被授权人用户名相同的账号;", + "Acl": "访问控制", + "Acls": "访问控制", + "Action": "动作", + "ActionCount": "动作数量", + "ActionSetting": "动作设置", + "Actions": "权限", + "ActionsTips": "各个权限作用协议不尽相同,点击权限后面的图标查看", + "Activate": "激活", + "ActivateSuccessMsg": "激活成功", + "Active": "激活中", + "ActiveAsset": "近期被登录过", + "ActiveAssetRanking": "登录资产排名", + "ActiveSelected": "激活所选", + "ActiveUser": "近期登录过", + "ActiveUserAssetsRatioTitle": "占比统计", + "Activity": "活动", + "AdDomain": "AD域名", + "AdDomainHelpText": "提供给域用户登录的AD域名", + "Add": "新增", + "AddAccount": "添加账号", + "AddAccountResult": "账号批量添加结果", + "AddAllMembersWarningMsg": "你确定要添加全部成员?", + "AddAsset": "添加资产", + "AddAssetToNode": "添加资产到节点", + "AddAssetToThisPermission": "添加资产", + "AddDatabaseAppToThisPermission": "添加数据库应用", + "AddFailMsg": "添加失败", + "AddK8sAppToThisPermission": "添加Kubernetes应用", + "AddNode": "添加节点", + "AddNodeToThisPermission": "添加节点", + "AddOrgMembers": "添加组织成员", + "AddPassKey": "添加 Passkey(通行密钥)", + "AddRemoteAppToThisPermission": "添加远程应用", + "AddRolePermissions": "创建/更新成功后,详情中添加权限", + "AddSuccessMsg": "添加成功", + "AddSystemUser": "添加系统用户", + "AddSystemUserToThisPermission": "添加系统用户", + "AddUserGroupToThisPermission": "添加用户组", + "AddUserToThisPermission": "添加用户", + "Address": "地址", + "Addressee": "收件人", + "AdhocDetail": "命令详情", + "AdhocManage": "命令管理", + "AdhocUpdate": "更新命令", + "Admin": "管理员", + "AdminUser": "特权用户", + "AdminUserCreate": "创建管理用户", + "AdminUserDetail": "管理用户详情", + "AdminUserList": "管理用户", + "AdminUserListHelpMessage": "特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。", + "AdminUserUpdate": "更新管理用户", + "Admin_usersAmount": "特权用户", + "Advanced": "高级设置", + "AfterChange": "变更后", + "AjaxError404": "404 请求错误", + "AlibabaCloud": "阿里云", + "Alive": "在线", + "Aliyun": "阿里云", + "All": "全部", + "AllAccountTip": "资产上已添加的所有账号", + "AllAccounts": "所有账号", + "AllClickRead": "全部已读", + "AllMembers": "全部成员", + "AllOrganization": "组织列表", + "AllowInvalidCert": "忽略证书检查", + "Announcement": "公告", + "AnonymousAccount": "匿名账号", + "AnonymousAccountTip": "连接资产时不使用用户名和密码,仅支持 web类型 和 自定义类型 的资产", + "ApiKey": "API Key", + "ApiKeyList": "使用 Api key 签名请求头进行认证,每个请求的头部是不一样的, 相对于 Token 方式,更加安全,请查阅文档使用;
为降低泄露风险,Secret 仅在生成时可以查看, 每个用户最多支持创建 10 个", + "ApiKeyWarning": "为降低 AccessKey 泄露的风险,只在创建时提供 Secret,后续不可再进行查询,请妥善保存。", + "App": "应用", + "AppAmount": "应用数量", + "AppAuth": "App认证", + "AppEndpoint": "应用接入地址", + "AppList": "应用列表", + "AppName": "应用名称", + "AppOps": "任务中心", + "AppPath": "应用路径", + "AppProvider": "应用提供者", + "AppProviderDetail": "应用提供者详情", + "AppType": "应用类型", + "App_permsAmount": "应用授权", + "AppletCreate": "创建远程应用", + "AppletDetail": "远程应用", + "AppletHelpText": "在上传过程中,如果应用不存在,则创建该应用;如果已存在,则进行应用更新。", + "AppletHostCreate": "添加远程应用发布机", + "AppletHostDetail": "远程应用发布机详情", + "AppletHostDomainHelpText": "这里的网域属于 System 组织", + "AppletHostSelectHelpMessage": "连接资产时,应用发布机选择是随机的(但优先选择上次使用的),如果想为某个资产固定发布机,可以指定标签 <发布机:发布机名称> 或 ;
连接该发布机选择账号时,以下情况会选择用户的 同名账号 或 专有账号(js开头),否则使用公用账号(jms开头):
  1. 发布机和应用都支持并发;
  2. 发布机支持并发,应用不支持并发,当前应用没有使用专有账号;
  3. 发布机不支持并发,应用支持并发或不支持,没有任一应用使用专有账号;
注意: 应用支不支持并发是开发者决定,主机支不支持是发布机配置中的 单用户单会话决定", + "AppletHostUpdate": "更新远程应用发布机", + "AppletHosts": "应用发布机", + "Applets": "远程应用", + "Applicant": "申请人", + "Application": "请输入逗号分割的应用名称组", + "ApplicationAccount": "应用账号", + "ApplicationDetail": "应用详情", + "ApplicationPermission": "应用授权", + "ApplicationPermissionCreate": "创建应用授权规则", + "ApplicationPermissionDetail": "应用授权详情", + "ApplicationPermissionRules": "应用授权规则", + "ApplicationPermissionUpdate": "更新应用授权规则", + "Applications": "应用管理", + "ApplicationsAmount": "应用", + "ApplyAsset": "申请资产", + "ApplyFromCMDFilterRule": "命令过滤规则", + "ApplyFromSession": "会话", + "ApplyInfo": "申请信息", + "ApplyRunAsset": "申请运行的资产", + "ApplyRunCommand": "申请运行的命令", + "ApplyRunSystemUser": "申请运行的系统用户", + "ApplyRunUser": "申请运行的用户", + "Apply_loginAccount": "申请登录账号", + "Apply_loginAsset": "申请登录资产", + "Apply_loginUser": "申请登录用户", + "Apply_login_systemUser": "申请登录系统用户", + "Appoint": "指定", + "ApprovaLevel": "审批信息", + "ApprovalLevel": "审批级别", + "ApprovalProcess": "审批流程", + "Approved": "已同意", + "ApproverNumbers": "审批人数量", + "AppsCount": "应用数量", + "AppsList": "应用列表", + "ApsaraStack": "阿里云专有云", + "Asset": "资产", + "AssetAccount": "账号列表", + "AssetAccountDetail": "账号详情", + "AssetAclCreate": "创建资产登录规则", + "AssetAclDetail": "资产登录规则详情", + "AssetAclList": "资产登录", + "AssetAclUpdate": "更新资产登录规则", + "AssetAddress": "资产(IP/主机名)", + "AssetAmount": "资产数量", + "AssetAndNode": "资产/节点", + "AssetBulkUpdateTips": "网络设备、云服务、web,不支持批量更新网域", + "AssetChangeSecretCreate": "创建账号改密", + "AssetChangeSecretUpdate": "更新账号改密", + "AssetCount": "资产数量", + "AssetCreate": "创建资产", + "AssetData": "资产数据", + "AssetDetail": "资产详情", + "AssetHistoryAccount": "资产历史账号", + "AssetList": "资产列表", + "AssetListHelpMessage": "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产\n", + "AssetLoginACLHelpMsg": "登录资产时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录资产", + "AssetName": "资产名称", + "AssetNumber": "资产编号", + "AssetPermission": "资产授权", + "AssetPermissionCreate": "创建资产授权规则", + "AssetPermissionDetail": "资产授权详情", + "AssetPermissionHelpMsg": "资产授权允许您选择用户和资产,将资产授权给用户以便访问。一旦授权完成,用户便可便捷地浏览这些资产。此外,您还可以设置特定的权限位,以进一步定义用户对资产的权限范围。", + "AssetPermissionList": "资产授权列表", + "AssetPermissionRules": "资产授权规则", + "AssetPermissionUpdate": "更新资产授权规则", + "AssetProtocolHelpText": "资产支持的协议受平台限制,点击设置按钮可以查看协议的设置。 如果需要更新,请更新平台", + "AssetRatio": "资产占比统计", + "AssetResultDetail": "资产结果", + "AssetTree": "资产树", + "AssetUpdate": "更新资产", + "AssetUserList": "资产用户", + "Asset_ipGroup": "资产IP", + "Asset_permsAmount": "资产授权", + "Assets": "资产管理", + "AssetsAmount": "资产", + "AssetsTotal": "资产总数", + "AssignedInfo": "审批信息", + "AssignedMe": "待我审批", + "AssignedTicketList": "待我审批", + "Assignee": "处理人", + "Assignees": "待处理人", + "AssociateApplication": "关联应用", + "AssociateAssets": "关联资产", + "AssociateNodes": "关联节点", + "AssociateSystemUsers": "关联系统用户", + "AttrName": "属性名", + "AttrValue": "属性值", + "Auditor": "审计员", + "Audits": "审计台", + "Auth": "认证设置", + "AuthCASAttrMap": "用户属性映射", + "AuthLdap": "启用LDAP认证", + "AuthLdapBindDn": "绑定DN", + "AuthLdapBindPassword": "密码", + "AuthLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", + "AuthLdapSearchOu": "使用|分隔各OU", + "AuthLdapServerUri": "LDAP地址", + "AuthLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", + "AuthLimit": "登录限制", + "AuthMethod": "认证方式", + "AuthSAML2AdvancedSettings": "高级配置", + "AuthSAML2MetadataUrl": "IDP metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "上传证书密钥后保存, 然后查看 SP Metadata", + "AuthSAMLKeyHelpText": "SP 证书和密钥 是用来和 IDP 加密通信的", + "AuthSaml2UserAttrMapHelpText": "左侧的键为 SAML2 用户属性,右侧的值为认证平台用户属性", + "AuthSecurity": "认证安全", + "AuthSetting": "认证设置", + "AuthSettings": "认证配置", + "AuthUserAttrMap": "用户属性映射", + "AuthUserAttrMapHelpText": "左侧的键为 JumpServer 用户属性,右侧的值为认证平台用户属性", + "AuthUsername": "使用用户名认证", + "Authentication": "认证", + "Author": "作者", + "Auto": "自动", + "AutoCreate": "自动创建", + "AutoEnabled": "启用自动化", + "AutoGenerateKey": "随机生成密码", + "AutoPush": "自动推送", + "Automations": "自动化", + "AverageTimeCost": "平均花费时间", + "Azure": "Azure(中国)", + "AzureInt": "Azure(国际)", + "Backup": "备份", + "BadConflictErrorMsg": "正在刷新中,请稍后再试", + "BadRequestErrorMsg": "请求错误,请检查填写内容", + "BadRoleErrorMsg": "请求错误,无该操作权限", + "BaiduCloud": "百度云", + "BasePlatform": "基础平台", + "BasePort": "监听端口", + "Basic": "基本设置", + "BasicInfo": "基本信息", + "BasicSetting": "基本设置", + "BasicTools": "基本工具", + "BatchActivate": "批量激活", + "BatchApproval": "批量审批", + "BatchCommand": "批量命令", + "BatchCommandNotExecuted": "未执行批量命令", + "BatchConsent": "批量同意", + "BatchDelete": "批量删除", + "BatchDisable": "批量禁用", + "BatchProcessing": "批量处理(选中 {Number} 项)", + "BatchReject": "批量拒绝", + "BatchRemoval": "批量移除", + "BatchScript": "批量脚本", + "BatchUpdate": "批量更新", + "Become": "Become", + "BeforeChange": "变更前", + "Beian": "备案", + "BelongAll": "同时包含", + "BelongTo": "任意包含", + "Bind": "绑定", + "BindLabel": "关联标签", + "BindResource": "关联资源", + "BindSuccess": "绑定成功", + "BlockedIPS": "已锁定的 IP", + "Bucket": "桶名称", + "Builtin": "内置", + "BuiltinTree": "类型树", + "BuiltinVariable": "内置变量", + "BulkClearErrorMsg": "批量清除失败:", + "BulkCreateStrategy": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", + "BulkDeleteErrorMsg": "批量删除失败: ", + "BulkDeleteSuccessMsg": "批量删除成功", + "BulkDeploy": "批量部署", + "BulkOffline": "批量下线", + "BulkRemoveErrorMsg": "批量移除失败: ", + "BulkRemoveSuccessMsg": "批量移除成功", + "BulkSyncDelete": "批量同步删除", + "BulkSyncErrorMsg": "批量同步失败: ", + "BulkTransfer": "批量传输", + "BulkUnblock": "批量解锁", + "BulkUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", + "CACertificate": "CA 证书", + "CAS": "CAS", + "CASSetting": "CAS 配置", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "天翼私有云", + "CalculationResults": "cron 表达式错误", + "CanDragSelect": "可拖动鼠标选择时间段", + "Cancel": "取消", + "CancelCollection": "取消收藏", + "CannotAccess": "无法访问当前页面", + "Cas": "CAS设置", + "Category": "类别", + "CeleryTaskLog": "Celery任务日志", + "Certificate": "证书", + "CertificateKey": "客户端密钥", + "ChangeField": "变更字段", + "ChangePassword": "更改密码", + "ChangeReceiver": "修改消息接收人", + "ChangeSecretParams": "改密参数", + "ChangeViewHelpText": "点击切换不同视图", + "Charset": "字符集", + "Chat": "聊天", + "ChatAI": "智能问答", + "ChatHello": "你好!我能为你提供什么帮助?", + "ChdirHelpText": "默认执行目录为执行用户的 home 目录", + "CheckAssetsAmount": "校对资产数量", + "CheckViewAcceptor": "点击查看受理人", + "ChinaRed": "中国红", + "Chrome": "Chrome", + "ChromePassword": "登录密码", + "ChromeTarget": "目标URL", + "ChromeUsername": "登录账号", + "ClassicGreen": "经典绿", + "CleanHelpText": "定期清理任务会在 每天凌晨 2 点执行, 清理后的数据将无法恢复", + "Cleaning": "定期清理", + "Clear": "清除", + "ClearScreen": "清屏", + "ClearSecret": "清除密文", + "ClearSelection": "清空选择", + "ClearSuccessMsg": "清除成功", + "ClickCopy": "点击复制", + "Clickhouse": "ClickHouse", + "ClientCertificate": "客户端证书", + "ClipBoard": "剪切板", + "ClipboardCopy": "剪切板复制", + "ClipboardCopyPaste": "剪贴板复制粘贴", + "ClipboardPaste": "剪切板粘贴", + "Clone": "克隆", + "CloneFrom": "副本", + "Close": "关闭", + "CloseConfirm": "确认关闭", + "CloseConfirmMessage": "文件发生变化,是否保存?", + "CloseStatus": "已完成", + "Closed": "已完成", + "Cloud": "云应用", + "CloudCenter": "云管中心", + "CloudCreate": "创建资产-云平台", + "CloudPlatform": "云平台", + "CloudSource": "同步源", + "CloudSync": "云同步", + "CloudUpdate": "更新资产-云平台", + "Clouds": "云平台", + "Cluster": "集群", + "ClusterHelpTextMessage": "例如:https://172.16.8.8:8443", + "CmdFilter": "命令过滤器", + "CollapseSidebar": "收起侧边栏", + "CollectHardwareInfo": "启用收集硬件信息", + "CollectionSucceed": "收藏成功", + "Command": "命令", + "Command filter": "命令过滤器", + "CommandConfirm": "命令复核", + "CommandExecutions": "命令执行", + "CommandFilterACL": "命令过滤", + "CommandFilterACLHelpMsg": "通过命令过滤,您可以控制命令是否可以发送到资产上。根据您设定的规则,某些命令可以被放行,而另一些命令则被禁止。", + "CommandFilterAclCreate": "创建命令过滤规则", + "CommandFilterAclDetail": "命令过滤规则详情", + "CommandFilterAclList": "命令过滤", + "CommandFilterAclUpdate": "更新命令过滤规则", + "CommandFilterCreate": "创建命令过滤器", + "CommandFilterDetail": "命令过滤器详情", + "CommandFilterHelpMessage": "系统用户支持绑定多个命令过滤器实现禁止输入某些命令的效果;过滤器中可配置多个规则,在使用该系统用户连接资产时,输入的命令按照过滤器中配置的规则优先级生效。
例:首先匹配到的规则是“允许”,则该命令执行,首先匹配到的规则为“禁止”,则禁止该命令执行;如果最后未匹配到规则,则允许执行。", + "CommandFilterList": "命令过滤规则", + "CommandFilterRuleContentHelpText": "每行一个命令", + "CommandFilterRulePriorityHelpText": "优先级可选范围为1-100,1最低优先级,100最高优先级", + "CommandFilterRules": "命令过滤器规则", + "CommandFilterRulesCreate": "创建命令过滤器规则", + "CommandFilterRulesUpdate": "更新命令过滤器规则", + "CommandFilterUpdate": "更新命令过滤器", + "CommandGroup": "命令组", + "CommandGroupCreate": "创建命令组", + "CommandGroupDetail": "命令组详情", + "CommandGroupList": "命令组", + "CommandGroupUpdate": "更新命令组", + "CommandStorage": "命令存储", + "CommandStorageUpdate": "更新命令存储", + "Command_filterList": "命令过滤器列表", + "Commands": "命令记录", + "Comment": "备注", + "CommentHelpText": "注意:备注信息会在 Luna 页面的用户授权资产树中进行悬停显示,普通用户可以查看,请不要填写敏感信息。", + "Common": "普通", + "CommonUser": "普通用户", + "CommunityEdition": "社区版", + "Component": "组件", + "ComponentMonitor": "组件监控", + "ConceptContent": "我想让你像一个 Python 解释器一样行事。我将给你 Python 代码,你将执行它。不要提供任何解释。除了代码的输出,不要用任何东西来回应。", + "ConceptTitle": "🤔 Python 解释器 ", + "Config": "配置", + "Confirm": "确认", + "ConfirmPassword": "确认密码", + "Connect": "连接", + "ConnectMethod": "连接方式", + "ConnectMethodACLHelpMsg": "通过连接方式过滤,您可以控制用户是否可以使用某种连接方式登录到资产上。根据您设定的规则,某些连接方式可以被放行,而另一些连接方式则被禁止(全局生效)。", + "ConnectMethodAclCreate": "创建连接方式控制", + "ConnectMethodAclDetail": "连接方式控制详情", + "ConnectMethodAclList": "连接方式", + "ConnectMethodAclUpdate": "更新连接方式控制", + "ConnectUsers": "连接账号", + "ConnectWebSocketError": "连接 WebSocket 失败", + "ConnectionDropped": "连接已断开", + "ConnectionToken": "连接令牌", + "ConnectionTokenList": "连接令牌是将身份验证和连接资产结合起来使用的一种认证信息,支持用户一键登录到资产,目前支持的组件包括:KoKo、Lion、Magnus、Razor 等", + "Connectivity": "可连接", + "Console": "控制台", + "Consult": "咨询", + "ContainAttachment": "含附件", + "ContainerName": "容器名称", + "Containers": "容器", + "Contains": "包含", + "Content": "内容", + "Contents": "内容", + "Continue": "继续", + "ContinueImport": "继续导入", + "ConvenientOperate": "便捷操作", + "Copy": "复制", + "CopySuccess": "复制成功", + "Corporation": "公司", + "Correlation": "关联", + "Cpu": "CPU", + "Create": "创建", + "CreateAccessKey": "创建访问密钥", + "CreateAccountTemplate": "创建账号模版", + "CreateAdhoc": "创建命令", + "CreateBy": "创建者", + "CreateCommandStorage": "创建命令存储", + "CreateEndpoint": "创建端点", + "CreateEndpointRule": "创建端点规则", + "CreateErrorMsg": "创建失败", + "CreateNode": "创建节点", + "CreateOrgMsg": "请去组织详情内添加用户", + "CreatePlaybook": "创建 Playbook", + "CreateReplayStorage": "创建对象存储", + "CreateSuccessMsg": "导入创建成功,总共:{count}", + "CreateUserSetting": "创建用户内容", + "Created": "已创建", + "CreatedBy": "创建者", + "CriticalLoad": "严重", + "CronExpression": "crontab完整表达式", + "CrontabHelpTips": "eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行", + "CrontabOfCreateUpdatePage": "例如:每周日 03:05 执行 <5 3 * * 0>
使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
如果同时设置了定期执行和周期执行,优先使用定期执行", + "CurrentConnections": "当前连接数", + "CurrentUserVerify": "验证当前用户", + "Custom": "自定义", + "CustomCmdline": "运行参数", + "CustomCol": "自定义列表字段", + "CustomCreate": "创建资产-自定义", + "CustomFields": "自定义属性", + "CustomFile": "请将自定义的文件放到指定目录下(data/sms/main.py),并在 config.txt 中启用配置项 SMS_CUSTOM_FILE_MD5=<文件md5值>", + "CustomHelpMessage": "自定义类型资产,依赖于远程应用,请前往系统设置在远程应用中配置", + "CustomParams": "左侧为短信平台接收的参数,右侧为JumpServer待格式化参数,最终如下:
{\"phone_numbers\": \"123,134\", \"content\": \"验证码为: 666666\"}", + "CustomPassword": "登录密码", + "CustomTarget": "目标地址", + "CustomTree": "自定义树", + "CustomType": "自定义类型", + "CustomUpdate": "更新资产-自定义", + "CustomUser": "自定义用户", + "CustomUsername": "登录账号", + "CycleFromWeek": "周期从星期", + "CyclePerform": "周期执行", + "DBInfo": "数据库信息", + "DangerCommand": "危险命令", + "DangerousCommandNum": "危险命令数", + "Dashboard": "仪表盘", + "Database": "数据库", + "DatabaseApp": "数据库应用", + "DatabaseAppCount": "数据库应用数量", + "DatabaseAppCreate": "创建数据库应用", + "DatabaseAppDetail": "数据库详情", + "DatabaseAppPermission": "数据库授权", + "DatabaseAppPermissionCreate": "创建数据库授权规则", + "DatabaseAppPermissionDetail": "数据库授权详情", + "DatabaseAppPermissionUpdate": "更新数据库授权规则", + "DatabaseAppUpdate": "数据库应用更新", + "DatabaseCreate": "创建资产-数据库", + "DatabaseId": "数据库Id", + "DatabasePermissionRules": "数据库授权规则", + "DatabasePort": "数据库协议端口", + "DatabaseProtocol": "数据库协议", + "DatabaseUpdate": "更新资产-数据库", + "Date": "日期", + "DateCreated": "创建时间", + "DateEnd": "结束日期", + "DateExpired": "失效日期", + "DateFinished": "完成日期", + "DateJoined": "创建日期", + "DateLast24Hours": "最近一天", + "DateLast3Months": "最近三月", + "DateLastHarfYear": "最近半年", + "DateLastLogin": "最后登录日期", + "DateLastMonth": "最近一月", + "DateLastRun": "上次运行日期", + "DateLastSync": "最后同步日期", + "DateLastWeek": "最近一周", + "DateLastYear": "最近一年", + "DatePasswordLastUpdated": "最后更新密码日期", + "DatePasswordUpdated": "密码更新日期", + "DateStart": "开始日期", + "DateSync": "同步日期", + "DateUpdated": "更新日期", + "Datetime": "日期", + "Day": "日", + "Db": "数据库应用", + "DeactiveSelected": "禁用所选", + "DeclassificationLogNum": "改密日志数", + "Default": "默认的", + "DefaultDatabase": "默认数据库", + "DefaultPort": "默认端口", + "DefaultProtocol": "默认协议, 添加资产时默认会选择", + "Defaults": "默认值", + "Delete": "删除", + "DeleteConfirmMessage": "删除后无法恢复,是否继续?", + "DeleteErrorMsg": "删除失败", + "DeleteFailedMsg": "删除失败", + "DeleteFile": "删除文件", + "DeleteNode": "删除节点", + "DeleteOrgMsg": "用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权规则", + "DeleteOrgTitle": "请确保组织内的以下信息已删除", + "DeleteReleasedAssets": "删除已释放资产", + "DeleteSuccess": "删除成功", + "DeleteSuccessMsg": "删除成功", + "DeleteWarningMsg": "你确定要删除", + "DeliveryTime": "发送时间", + "Deploy": "部署", + "DescribeOfGuide": "欢迎使用JumpServer堡垒机系统,获取更多信息请点击", + "Description": "描述", + "DestinationIP": "目的地址", + "DestinationPort": "目的端口", + "Detail": "详情", + "Device": "网络设备", + "DeviceCreate": "创建资产-网络设备", + "DeviceUpdate": "更新资产-网络设备", + "Digit": "数字", + "DingTalk": "钉钉", + "DingTalkTest": "测试", + "Disable": "禁用", + "DisableSuccessMsg": "禁用成功", + "DisabledAsset": "禁用的", + "DisabledUser": "禁用的", + "Disk": "硬盘", + "DisplayName": "名称", + "DocType": "文档类型", + "Docs": "文档", + "Domain": "网域", + "DomainCreate": "创建网域", + "DomainDetail": "网域详情", + "DomainEnabled": "启用网域", + "DomainHelpMessage": "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。JMS => 网域网关 => 目标资产", + "DomainList": "网域列表", + "DomainUpdate": "更新网域", + "Download": "下载", + "DownloadCenter": "下载中心", + "DownloadFTPFileTip": "当前动作不记录文件,或者文件大小超过阈值(默认100M),或者还未保存到对应存储中", + "DownloadFile": "下载文件", + "DownloadImportTemplateMsg": "下载创建模板", + "DownloadReplay": "下载录像", + "DownloadUpdateTemplateMsg": "下载更新模板", + "DragUploadFileInfo": "将文件拖到此处,或点击此处上传", + "DryRun": "测试运行", + "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", + "Duration": "时长", + "DynamicUsername": "动态用户名", + "Edit": "编辑", + "Edition": "版本", + "Email": "邮箱", + "EmailContent": "邮件内容定制", + "EmailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", + "EmailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", + "EmailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", + "EmailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", + "EmailEmailFrom": "", + "EmailHost": "SMTP主机", + "EmailHostPassword": "提示:一些邮件提供商需要输入的是Token", + "EmailHostUser": "SMTP账号", + "EmailPort": "SMTP端口", + "EmailRecipient": "提示:仅用来作为测试邮件收件人", + "EmailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", + "EmailTest": "测试连接", + "EmailUserSSL": "如果SMTP端口是465,通常需要启用SSL", + "EmailUserTLS": "如果SMTP端口是587,通常需要启用TLS", + "Empty": "空", + "Enable": "启用", + "EnableKoKoSSHHelpText": "开启时连接资产会显示 SSH Client 拉起方式", + "EnableOAuth2Auth": "开启 OAuth2 认证", + "EnableVaultStorage": "开启 Vault 存储", + "EndPoint": "端点", + "Endpoint": "服务端点", + "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", + "EndpointRule": "端点规则", + "EndpointRuleListHelpMessage": "对于服务端点选择策略,目前支持两种:
1、根据端点规则指定端点(当前页面);
2、通过资产标签选择端点,标签名固定是 endpoint,值是端点的名称。
两种方式优先使用标签匹配,因为 IP 段可能冲突,标签方式是作为规则的补充存在的。", + "EndpointSuffix": "端点后缀", + "Endswith": "以...结尾", + "EnsureThisValueIsGreaterThanOrEqualTo1": "请确保该值大于或者等于 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "请确保该值大于或者等于 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "请确保该值大于或者等于 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "请确保该值大于或者等于 6", + "EnterForSearch": "按下 Enter 进行搜索", + "EnterMessage": "请输入问题, Enter 发送", + "EnterRunUser": "输入运行用户", + "EnterRunningPath": "输入运行路径", + "EnterToContinue": "按下 Enter 继续输入", + "EnterUploadPath": "输入上传路径", + "Enterprise": "企业版", + "EnterpriseEdition": "企业版", + "Equal": "等于", + "Error": "错误", + "ErrorMsg": "错误", + "EsDisabled": "节点不可用, 请联系管理员", + "EsDocType": "es 默认文档类型:command", + "EsIndex": "es 提供默认 index:jumpserver。如果开启按日期建立索引,那么输入的值会作为索引前缀", + "EsUrl": "不能包含特殊字符 `#`;eg: http://es_user:es_password@es_host:es_port", + "Every": "每", + "EveryMonth": "每月", + "Exclude": "不包含", + "ExcludeAsset": "跳过的资产", + "ExcludeSymbol": "排除字符", + "Execute": "执行", + "ExecuteCycle": "执行周期", + "ExecuteFailedCommand": "执行失败命令", + "ExecuteOnce": "执行一次", + "Execution": "执行历史", + "ExecutionDetail": "执行历史详情", + "ExecutionList": "执行列表", + "ExecutionTimes": "执行次数", + "ExistError": "这个元素已经存在", + "Existing": "已存在", + "ExpectedNextExecuteTime": "预计下次执行时间", + "ExpirationTimeout": "过期超时时间(秒)", + "Expire": " 过期", + "Expired": "过期时间", + "Export": "导出", + "ExportAll": "导出所有", + "ExportOnlyFiltered": "仅导出搜索结果", + "ExportOnlySelectedItems": "仅导出选择项", + "ExportRange": "导出范围", + "FAILURE": "失败", + "FC": "Fusion Compute", + "Failed": "失败", + "FailedAsset": "失败的资产", + "FailedConditions": "没有达到条件的结果!", + "False": "否", + "Favicon": "网站图标", + "FaviconTip": "提示:网站图标(建议图片大小为: 16px*16px)", + "Feature": "功能", + "Features": "功能设置", + "FeiShu": "飞书", + "FeiShuTest": "测试", + "FieldRequiredError": "这个字段是必填项", + "FileEncryptionPassword": "文件加密密码", + "FileManager": "文件管理", + "FileNameTooLong": "文件名太长", + "FileSizeExceedsLimit": "文件大小超出限制", + "FileTransfer": "文件传输", + "FileTransferNum": "文件传输数", + "FileType": "文件类型", + "Filename": "文件名", + "FingerPrint": "指纹", + "Finished": "完成", + "FinishedTicket": "完成工单", + "FirstLogin": "首次登录", + "FlowDetail": "流程详情", + "FlowSetUp": "流程设置", + "FormatError": "格式错误", + "Friday": "周五", + "From": "从", + "FromTicket": "来自工单", + "FtpLog": "FTP日志", + "FullName": "全称", + "FullySynchronous": "资产完全同步", + "FullySynchronousHelpTips": "当资产条件不满足匹配策略规则时,是否继续同步此类资产", + "FuzzySearch": "支持模糊搜索", + "GCP": "谷歌云", + "GPTCreate": "创建资产-GPT", + "GPTUpdate": "更新资产-GPT", + "Gateway": "网关", + "GatewayCreate": "创建网关", + "GatewayList": "网关列表", + "GatewayProtocolHelpText": "SSH网关,支持代理SSH,RDP和VNC", + "GatewayUpdate": "更新网关", + "GeneralAccounts": "普通账号", + "Generate": "生成", + "GenerateAccounts": "重新生成账号", + "GenerateSuccessMsg": "账号生成成功", + "GetErrorMsg": "获取失败", + "Go": "执行", + "GoHomePage": "去往首页", + "Goto": "转到", + "GrantedAccounts": "授权的账号", + "GrantedApplications": "授权的应用", + "GrantedAssets": "授权的资产", + "GrantedDatabases": "授权的数据库", + "GrantedK8Ss": "授权的Kubernetes", + "GrantedRemoteApps": "授权的远程应用", + "GreatEqualThan": "大于等于", + "GroupsAmount": "用户组", + "GroupsHelpMessage": "请输入用户组,多个用户组使用逗号分隔(需填写已存在的用户组)", + "Guide": "向导", + "HandleTicket": "处理工单", + "Hardware": "硬件信息", + "HardwareInfo": "硬件信息", + "HasImportErrorItemMsg": "存在导入失败项,点击左侧 x 查看失败原因,点击表格编辑后,可以继续导入失败项", + "HasRead": "是否已读", + "Help": "帮助", + "HelpDocument": "文档链接", + "HelpDocumentTip": "可以更改网站导航栏 帮助 -> 文档 的网址", + "HelpSupport": "支持链接", + "HelpSupportTip": "可以更改网站导航栏 帮助 -> 支持 的网址", + "HighLoad": "较高", + "HistoricalSessionNum": "历史会话数", + "History": "历史记录", + "HistoryDate": "日期", + "HistoryPassword": "历史密码", + "Home": "家目录", + "HomeHelpMessage": "默认家目录 /home/系统用户名: /home/username", + "HomePage": "首页", + "Host": "资产", + "HostCreate": "创建资产-主机", + "HostDeployment": "发布机部署", + "HostList": "主机列表", + "HostName": "主机名", + "HostProtocol": "主机协议", + "HostUpdate": "更新资产-主机", + "Hostname": "主机名", + "HostnameGroup": "资产名", + "HostnameStrategy": "用于生成资产主机名。例如:1. 实例名称 (instanceDemo);2. 实例名称和部分IP(后两位) (instanceDemo-250.1)", + "Hosts": "主机", + "Hour": "小时", + "HttpPort": "HTTP端口", + "HuaweiCloud": "华为云", + "HuaweiPrivatecloud": "华为私有云", + "IAgree": "我同意", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/主机", + "IPLoginLimit": "IP 登录限制", + "IPMatch": "IP 匹配", + "IPNetworkSegment": "IP网段", + "Icon": "图标", + "Id": "ID", + "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。", + "IdeaTitle": "🌱 Linux 终端", + "IdpMetadataHelpText": "IDP metadata URL 和 IDP metadata XML参数二选一即可,IDP metadata URL的优先级高", + "IdpMetadataUrlHelpText": "从远端地址中加载 IDP Metadata", + "IgnoreCase": "忽略大小写", + "ImageName": "镜像名", + "Images": "图片", + "Import": "导入", + "ImportAll": "导入全部", + "ImportFail": "导入失败", + "ImportLdapUserTip": "请先提交LDAP配置再进行导入", + "ImportLdapUserTitle": "LDAP 用户列表", + "ImportLicense": "导入许可证", + "ImportLicenseTip": "请导入许可证", + "ImportMessage": "请前往对应类型的页面导入数据", + "ImportOrg": "导入组织", + "ImprovePersonalInformation": "完善个人信息", + "InActiveAsset": "近期未被登录", + "InActiveUser": "近期未登录过", + "InAssetDetail": "在资产详情中更新账号信息", + "InTotal": "总共", + "Inactive": "禁用", + "Include": "包含", + "Index": "索引", + "Info": "信息", + "Inherit": "继承", + "InheritPlatformConfig": "继承自平台配置,如需更改,请更改平台中的配置。", + "InitialDeploy": "初始化部署", + "Input": "输入", + "InputEmailAddress": "请输入正确的邮箱地址", + "InputMessage": "输入消息...", + "InputNumber": "请输入数字类型", + "InputPhone": "请输入手机号码", + "InsecureCommandAlert": "危险命令告警", + "InsecureCommandEmailUpdate": "点我设置", + "InsecureCommandNotifyToSubscription": "危险命令通知已升级到消息订阅中,支持更多通知方式", + "InstanceAddress": "实例地址", + "InstanceName": "实例名称", + "InstancePlatformName": "实例平台名称", + "InstantAdhoc": "即时命令", + "Interface": "网络接口", + "InterfaceSettings": "界面设置", + "IntervalOfCreateUpdatePage": "单位:时", + "Invalid": "无效", + "InvalidJson": "不是合法 JSON", + "Invalidity": "无效", + "Invite": "邀请", + "InviteSuccess": "邀请成功", + "InviteUser": "邀请用户", + "InviteUserInOrg": "邀请用户加入此组织", + "Ip": "IP", + "IpGroup": "IP 组", + "IpGroupHelpText": "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "请输入逗号分割的IP地址组", + "IsActive": "激活", + "IsAlwaysUpdate": "资产保持最新", + "IsAlwaysUpdateHelpTips": "每次执行同步任务时,是否同步更新资产的信息,包括主机名、IP、系统平台、网域、节点等信息", + "IsEffective": "已生效的", + "IsFinished": "是否完成", + "IsLocked": "是否暂停", + "IsSuccess": "成功", + "IsSyncAccountHelpText": "收集完成后会把收集的账号同步到资产", + "IsSyncAccountLabel": "同步到资产", + "IsValid": "有效", + "JDCloud": "京东云", + "JMSSSO": "SSO Token 登录", + "Job": "作业", + "JobCenter": "作业中心", + "JobCreate": "创建作业", + "JobDetail": "作业详情", + "JobExecutionLog": "作业日志", + "JobList": "作业管理", + "JobName": "作业名称", + "JobType": "作业类型", + "JobUpdate": "更新作业", + "Join": "加入", + "K8s": "Kubernetes", + "K8sPermissionRules": "Kubernetes授权规则", + "Key": "键", + "KingSoftCloud": "金山云", + "KokoSettingUpdate": "Koko 配置设置", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes", + "KubernetesAppCount": "Kubernetes应用数量", + "KubernetesAppCreate": "创建Kubernetes", + "KubernetesAppDetail": "Kubernetes详情", + "KubernetesAppPermission": "Kubernetes授权", + "KubernetesAppPermissionCreate": "创建Kubernetes授权规则", + "KubernetesAppPermissionDetail": "Kubernetes授权详情", + "KubernetesAppPermissionUpdate": "更新Kubernetes授权规则", + "KubernetesAppUpdate": "更新Kubernetes", + "LAN": "局域网", + "LDAPServerInfo": "LDAP 服务器", + "LDAPUser": "LDAP 用户", + "LOWER_CASEREQUIRED": "须包含小写字母", + "Label": "标签", + "LabelCreate": "创建标签", + "LabelInputFormatValidation": "标签格式错误,正确格式为:name:value", + "LabelList": "标签列表", + "LabelUpdate": "更新标签", + "Language": "语言", + "Last30": "最近 30 次", + "Last30Days": "近30天", + "Last7Days": "近7天", + "LastCannotBeDeleteMsg": "最后一项,不能被删除", + "LastDay": "本月最后一天", + "LastExecutionOutput": "最后执行输出", + "LastPublishedTime": "最后发布时间", + "LastRun": "最后运行", + "LastRunFailedHosts": "最后运行失败的主机", + "LastRunSuccessHosts": "最后运行成功的主机", + "LastWeek": "本月最后一个星期", + "LastWorking": "最近的那个工作日", + "LatestSessions": "最近登录记录", + "LatestSessions10": "最近10次登录", + "LatestTop10": "TOP 10", + "LatestVersion": "最新版本", + "Ldap": "LDAP", + "LdapBulkImport": "用户导入", + "LdapConnectTest": "测试连接", + "LdapLoginTest": "测试登录", + "Length": "长度", + "LessEqualThan": "小于等于", + "LevelApproval": "级审批", + "License": "许可证", + "LicenseDetail": "许可证详情", + "LicenseExpired": "许可证已经过期", + "LicenseFile": "许可证文件", + "LicenseForTest": "测试用途许可证, 本许可证仅用于 测试(PoC)和演示", + "LicenseReachedAssetAmountLimit": "资产数量已经超过许可证数量限制", + "LicenseWillBe": "许可证即将在 ", + "LinuxAdminUser": "Linux 特权用户", + "LinuxUserAffiliateGroup": "用户附属组", + "LoadStatus": "负载状态", + "Loading": "加载中", + "LockedIP": "已锁定 IP {count} 个", + "Log": "日志", + "LogData": "日志数据", + "LogOfLoginSuccessNum": "登录成功日志数", + "Logging": "日志记录", + "Login": "用户登录", + "LoginAssetConfirm": "资产登录复核", + "LoginAssetToday": "今日活跃资产数", + "LoginAssets": "活跃资产", + "LoginCity": "登录城市", + "LoginConfig": "登录配置", + "LoginConfirm": "登录复核", + "LoginCount": "登录次数", + "LoginDate": "登录日期", + "LoginFailed": "登录失败", + "LoginFrom": "登录来源", + "LoginIP": "登录IP", + "LoginImage": "登录页面图片", + "LoginImageTip": "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)", + "LoginLog": "登录日志", + "LoginModeHelpMessage": "如果选择手动登录模式,用户名和密码可以不填写", + "LoginModel": "登录模式", + "LoginNum": "登录数", + "LoginOption": "登录选项", + "LoginOverview": "会话统计", + "LoginPasswordSetting": "登录密码设置", + "LoginRequiredMsg": "账号已退出,请重新登录", + "LoginSucceeded": "登录成功", + "LoginTitle": "登录页面标题", + "LoginTitleTip": "提示:将会显示在企业版用户 SSH 登录 KoKo 登录页面(eg: 欢迎使用JumpServer开源堡垒机)", + "LoginTo": "登录了", + "LoginUserRanking": "登录账号排名", + "LoginUserToday": "今日登录账号数", + "LoginUsers": "活跃账号", + "Login_confirmUser": "登录复核 受理人", + "LogoIndex": "Logo (带文字)", + "LogoIndexTip": "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)", + "LogoLogout": "Logo (不带文字)", + "LogoLogoutTip": "提示:将会显示在企业版用户的 Web 终端页面(建议图片大小为:82px*82px)", + "Logout": "退出登录", + "LogsAudit": "日志审计", + "Lowercase": "小写字母", + "LunaSettingUpdate": "Luna 配置设置", + "MFA": "MFA", + "MFAConfirm": "MFA 认证", + "MFAErrorMsg": "MFA错误,请检查", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "启用多因子认证,使账号更加安全。
启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速修改->更改多因子设置)中直接绑定!", + "MFAOfUserFirstLoginUserGuidePage": "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:设置复杂密码,并启用多因子认证)
邮箱、手机号、微信等个人信息,仅作为用户认证和平台内部消息通知使用。", + "MFARequireForSecurity": "为了安全请输入MFA", + "MFAVerify": "验证 MFA", + "MIN_LENGTHERROR": "密码最小长度 {0} 位", + "MailRecipient": "邮件收件人", + "MailSend": "邮件发送", + "ManualAccount": "手动账号", + "ManualAccountTip": "登录时手动输入 用户名/密码", + "ManualExecutePlan": "手动执行计划", + "ManualInput": "手动输入", + "ManyChoose": "可多选", + "Mariadb": "MariaDB", + "MarkAsRead": "标记已读", + "Marketplace": "应用市场", + "Match": "匹配", + "MatchIn": "在...中", + "MatchResult": "匹配结果", + "MatchedCount": "匹配结果", + "Material": "内容", + "Members": "成员", + "Memory": "内存", + "MenuAccounts": "账号管理", + "MenuAssets": "资产管理", + "MenuMore": "更多...", + "MenuPermissions": "授权管理", + "MenuUsers": "用户管理", + "Message": "消息", + "MessageSub": "消息订阅", + "MessageSubscription": "消息订阅", + "MessageType": "消息类型", + "Meta": "元数据", + "MfaLevel": "多因子认证", + "Min": "分钟", + "Model": "型号", + "Modify": "修改", + "ModifySSHKey": "修改 SSH Key", + "ModifyTheme": "修改主题", + "Module": "模块", + "Monday": "周一", + "Mongodb": "MongoDB", + "Monitor": "监控", + "Month": "月", + "Monthly": "按月", + "More": "更多选项", + "MoreActions": "更多操作", + "MoveAssetToNode": "移动资产到节点", + "MsgSubscribe": "消息订阅", + "MyApps": "我的应用", + "MyAssets": "我的资产", + "MyTickets": "我发起的", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "Mysql_workbenchIp": "数据库IP", + "Mysql_workbenchName": "数据库名", + "Mysql_workbenchPassword": "数据库密码", + "Mysql_workbenchPort": "数据库端口", + "Mysql_workbenchUsername": "数据库账号", + "NUMBERREQUIRED": "须包含数字", + "Name": "名称", + "NavHelp": "导航栏链接", + "Navigation": "导航", + "NeedAddAppsOrSystemUserErrMsg": "需要添加应用或系统用户", + "NeedReLogin": "需要重新登录", + "NeedSpecifiedFile": "需上传指定格式文件", + "NeedUpdatePasswordNextLogin": "下次登录须修改密码", + "Network": "网络", + "New": "新建", + "NewChat": "新聊天", + "NewCount": "新增", + "NewCron": "生成 Cron", + "NewDirectory": "新建目录", + "NewFile": "新建文件", + "NewPassword": "新密码", + "NewSyncCount": "新同步", + "No": "否", + "NoAlive": "离线", + "NoAnnouncement": "暂无公告", + "NoContent": "暂无内容", + "NoData": "暂无数据", + "NoFiles": "暂无文件", + "NoInputCommand": "未输入命令", + "NoLicense": "暂无许可证", + "NoPermission": "暂无权限", + "NoPermission403": "403 暂无权限", + "NoPermissionVew": "没有权限查看当前页面", + "NoPublished": "未发布", + "NoSQLProtocol": "非关系数据库", + "NoSystemUserWasSelected": "未选择系统用户", + "NoUnreadMsg": "暂无未读消息", + "Node": "节点", + "NodeAmount": "节点数量", + "NodeCount": "节点数量", + "NodeInformation": "节点信息", + "NodeSearchStrategy": "节点搜索策略", + "NormalLoad": "正常", + "NotAlphanumericUnderscore": "只能输入字母、数字、下划线", + "NotEqual": "不等于", + "NotParenthesis": "不能包含 ( )", + "NotSet": "未设置", + "NotSpecialEmoji": "不允许输入特殊表情符号", + "Nothing": "无", + "Notifications": "通知", + "Now": "现在", + "Num": "号", + "Number": "编号", + "NumberOfVisits": "访问次数", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "提示:认证服务提供商(建议图片大小为: 64px*64px)", + "OIDC": "OIDC", + "OTP": "MFA (OTP)", + "ObjectNotFoundOrDeletedMsg": "没有找到对应资源或者已被删除", + "OfficialWebsite": "官网链接", + "OfficialWebsiteTip": "可以更改网站导航栏 帮助 -> 官网 的网址", + "Offline": "离线", + "OfflineSuccessMsg": "下线成功", + "OfflineUpload": "离线上传", + "OldPassword": "原密码", + "OldSSHKey": "原来SSH公钥", + "On/Off": "启/停", + "OneAssignee": "一级受理人", + "OneAssigneeType": "一级受理人类型", + "OneClickRead": "当前已读", + "OneClickReadMsg": "你确定要将当前信息标记为已读吗?", + "OnlineSession": "在线用户", + "OnlineSessionHelpMsg": "无法下线当前会话,因为该会话是当前用户的在线会话。当前只记录以 Web 方式登录的用户。", + "OnlineSessions": "在线会话数", + "OnlineUserDevices": "在线用户设备", + "OnlineUsers": "在线账号", + "OnlyCSVFilesTips": "仅支持csv文件导入", + "OnlyLatestVersion": "仅最新版本", + "OnlyMailSend": "当前只支持邮件发送", + "OnlySearchCurrentNodePerm": "仅搜索当前节点的授权", + "Open": "待处理", + "OpenCommand": "打开命令", + "OpenId": "OpenID设置", + "OpenStack": "OpenStack", + "OpenStatus": "审批中", + "OpenTicket": "创建工单", + "OperateLog": "操作日志", + "OperateRecord": "操作记录", + "OperationLogNum": "操作日志数", + "Ops": "任务", + "Options": "选项", + "Oracle": "Oracle", + "OrgAdmin": "组织管理员", + "OrgAuditor": "组织审计员", + "OrgName": "授权组织名称", + "OrgRole": "组织角色", + "OrgRoleHelpText": "组织角色是用户在当前组织中的角色", + "OrgRoles": "组织角色", + "OrgUser": "组织用户", + "OrganizationCreate": "创建组织", + "OrganizationDetail": "组织详情", + "OrganizationList": "组织管理", + "OrganizationLists": "组织列表", + "OrganizationMembership": "组织成员", + "OrganizationUpdate": "更新组织", + "Os": "操作系统", + "Other": "其它设置", + "OtherAuth": "其它认证", + "OtherProtocol": "其它协议", + "OtherRules": "其它规则", + "Others": "其它", + "Output": "输出", + "Overview": "概览", + "PENDING": "等待中", + "PageNext": "下一页", + "PagePrev": "上一页", + "Parameter": "参数", + "Params": "参数", + "ParamsHelpText": "改密参数设置,目前仅对平台种类为主机的资产生效。", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "你的认证来源是 {source}, 不支持添加 Passkey", + "Passphrase": "密钥密码", + "Password": "密码", + "PasswordAccount": "密码账号", + "PasswordChangeLog": "改密日志", + "PasswordCheckRule": "密码强弱规则", + "PasswordConfirm": "密码认证", + "PasswordExpired": "密码过期了", + "PasswordHelpMessage": "密码或密钥密码", + "PasswordLength": "密码长度", + "PasswordOrPassphrase": "密码或密钥密码", + "PasswordOrToken": "密码 / 令牌", + "PasswordPlaceholder": "请输入密码", + "PasswordRecord": "密码记录", + "PasswordRequireForSecurity": "为了安全请输入密码", + "PasswordRule": "密码规则", + "PasswordSecurity": "密码安全", + "PasswordSelector": "密码输入框选择器", + "PasswordStrategy": "密文生成策略", + "PasswordWillExpiredPrefixMsg": "密码即将在 ", + "PasswordWillExpiredSuffixMsg": "天 后过期,请尽快修改您的密码。", + "PasswordWithoutSpecialCharHelpText": "不能包含特殊字符", + "Paste": "粘贴", + "Pattern": "模式", + "Pause": "暂停", + "PauseTaskSendSuccessMsg": "暂停任务已下发,请稍后刷新查看", + "Pending": "待处理", + "Periodic": "执行周期", + "PeriodicPerform": "定时执行", + "Perm": "授权", + "PermAccount": "授权账号", + "PermName": "授权名称", + "PermUserList": "授权用户", + "PermissionCompany": "授权公司", + "PermissionName": "授权规则名称", + "Permissions": "权限", + "Perms": "权限管理", + "PersonalInformationImprovement": "个人信息完善", + "Phone": "手机号", + "Plan": "计划", + "Platform": "系统平台", + "PlatformCreate": "创建系统平台", + "PlatformDetail": "系统平台详情", + "PlatformList": "平台列表", + "PlatformProtocolConfig": "平台协议配置", + "PlatformSimple": "平台", + "PlatformUpdate": "更新系统平台", + "PlaybookDetail": "Playbook详情", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "更新Playbook", + "PleaseAgreeToTheTerms": "请同意条款", + "PleaseClickLeftApplicationToViewApplicationAccount": "应用账号列表,点击左侧应用进行查看", + "PleaseClickLeftAssetToViewAssetAccount": "资产账号列表,点击左侧资产进行查看", + "PleaseClickLeftAssetToViewGatheredUser": "收集用户列表,点击左侧资产进行查看", + "PleaseSelect": "请选择", + "PolicyName": "策略名称", + "Port": "端口", + "Ports": "端口", + "Postgresql": "PostgreSQL", + "Primary": "主要的", + "PrimaryProtocol": "主要协议, 资产最基本最常用的协议,只能且必须设置一个", + "Priority": "优先级", + "PriorityHelpMessage": "1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会作为默认登录用户", + "PrivateCloud": "私有云", + "PrivateKey": "私钥", + "PrivilegeFirst": "优先选择特权账号", + "PrivilegeOnly": "仅选择特权账号", + "Privileged": "特权账号", + "PrivilegedFirst": "优先特权账号", + "PrivilegedOnly": "仅特权账号", + "PrivilegedTemplate": "特权的", + "Product": "产品", + "Profile": "个人信息", + "ProfileSetting": "个人信息设置", + "Project": "项目名", + "Prompt": "提示词", + "Proportion": "占比", + "ProportionOfAssetTypes": "资产类型占比", + "Protocol": "协议", + "Protocols": "协议", + "ProtocolsEnabled": "启用协议", + "ProtocolsGroup": "协议", + "Provider": "云服务商", + "Proxy": "代理", + "Public": "公共的", + "PublicCloud": "公有云", + "PublicIp": "公网IP", + "PublicKey": "公钥", + "PublicProtocol": "如果是公共协议在连接资产时会显示", + "Publish": "发布", + "PublishAllApplets": "发布所有应用", + "PublishStatus": "发布状态", + "Push": "推送", + "PushAccount": "推送账号", + "PushAllSystemUsersToAsset": "推送所有系统用户到资产", + "PushParams": "推送参数", + "PushSelected": "推送所选", + "PushSelectedSystemUsersToAsset": "推送所选系统用户到资产", + "PushSystemUserNow": "推送系统用户", + "Qcloud": "腾讯云", + "QcloudLighthouse": "腾讯云(轻量应用服务器)", + "QingyunPrivatecloud": "青云私有云", + "Queue": "队列", + "QuickAccess": "快速访问", + "QuickAdd": "快速添加", + "QuickJob": "快捷命令", + "QuickSelect": "快速选择", + "QuickUpdate": "快速更新", + "RDBProtocol": "关系型数据库", + "RUNNING": "运行中", + "Radius": "Radius", + "Ranking": "排名", + "Ratio": "比例", + "RazorNotSupport": "RDP 客户端会话, 暂不支持监控", + "ReLogin": "重新登录", + "ReLoginErr": "登录时长已超过 5 分钟,请重新登录", + "ReLoginTitle": "当前三方登录用户(CAS/SAML),未绑定 MFA 且不支持密码校验,请重新登录。", + "RealTimeData": "实时数据", + "Reason": "原因", + "Receivers": "接收人", + "RecentLogin": "最近登录", + "RecentSession": "最近会话", + "RecentlyUsed": "最近使用", + "RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", + "RecipientServer": "接收服务器", + "Reconnect": "重新连接", + "Redis": "Redis", + "Refresh": "刷新", + "RefreshFail": "刷新失败", + "RefreshHardware": "更新硬件信息", + "RefreshLdapCache": "刷新Ldap缓存,请稍后", + "RefreshLdapUser": "刷新缓存", + "RefreshPermissionCache": "刷新授权缓存", + "RefreshSuccess": "刷新成功", + "Regex": "正则表达式", + "Region": "地域", + "RegularlyPerform": "定期执行", + "Reject": "拒绝", + "Rejected": "已拒绝", + "RelAnd": "与", + "RelNot": "非", + "RelOr": "或", + "Relation": "关系", + "ReleasedCount": "已释放", + "RelevantApp": "应用", + "RelevantAsset": "资产", + "RelevantAssignees": "相关受理人", + "RelevantCommand": "命令", + "RelevantSystemUser": "系统用户", + "RemoteAddr": "远端地址", + "RemoteApp": "远程应用", + "RemoteAppCount": "远程应用数量", + "RemoteAppDetail": "远程应用详情", + "RemoteAppListHelpMessage": "使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 RemoteApp 应用 下载应用加载器", + "RemoteAppPermission": "远程应用授权", + "RemoteAppPermissionCreate": "创建远程应用授权规则", + "RemoteAppPermissionDetail": "远程应用授权详情", + "RemoteAppPermissionRules": "远程应用授权规则", + "RemoteAppPermissionUpdate": "更新远程应用授权规则", + "RemoteAppUpdate": "更新远程应用", + "RemoteApps": "远程应用", + "RemoteType": "应用类型", + "Remove": "移除", + "RemoveAssetFromNode": "从节点移除资产", + "RemoveErrorMsg": "移除失败: ", + "RemoveFromCurrentNode": "从节点移除", + "RemoveFromOrgWarningMsg": "你确定从组织移除 ", + "RemoveSuccessMsg": "移除成功", + "RemoveWarningMsg": "你确定要移除", + "Rename": "重命名", + "RenameNode": "重命名节点", + "ReplaceNodeAssetsAdminUser": "替换节点资产的管理员", + "ReplaceNodeAssetsAdminUserWithThis": "替换资产的管理员", + "Replay": "回放", + "ReplaySession": "回放会话", + "ReplayStorage": "对象存储", + "ReplayStorageCreateUpdateHelpMessage": "注意:目前 SFTP 存储仅支持账号备份,暂不支持录像存储。", + "ReplayStorageUpdate": "更新对象存储", + "Reply": "回复", + "RequestApplicationPerm": "申请应用授权", + "RequestAssetPerm": "申请资产授权", + "RequestPerm": "授权申请", + "RequestTickets": "申请工单", + "Required": "必需的", + "RequiredAssetOrNode": "请至少选择一个资产或节点", + "RequiredContent": "请输入命令", + "RequiredEntryFile": "此文件作为运行的入口文件,必须存在", + "RequiredHasUserNameMapped": "必须包含 username 字段的映射,如 { 'uid': 'username' }", + "RequiredProtocol": "必需协议, 添加资产时必须选择, 可以设置多个", + "RequiredRunas": "请输入运行用户", + "RequiredSystemUserErrMsg": "请选择账号", + "RequiredUploadFile": "请上传文件!", + "Reset": "还原", + "ResetAndDownloadSSHKey": "重置并下载密钥", + "ResetDingTalk": "解绑钉钉", + "ResetDingTalkLoginSuccessMsg": "重置成功, 用户可以重新绑定钉钉了", + "ResetDingTalkLoginWarningMsg": "你确定要解绑用户的 钉钉 吗?", + "ResetMFA": "重置MFA", + "ResetMFAWarningMsg": "你确定要重置用户的 MFA 吗?", + "ResetMFAdSuccessMsg": "重置MFA成功, 用户可以重新设置MFA了", + "ResetPassword": "重置密码", + "ResetPasswordSuccessMsg": "已向用户发送重置密码消息", + "ResetPasswordWarningMsg": "你确定要发送重置用户密码的邮件吗", + "ResetPublicKeyAndDownload": "重置并下载SSH密钥", + "ResetSSHKey": "重置SSH密钥", + "ResetSSHKeySuccessMsg": "发送邮件任务已提交, 用户稍后会收到重置密钥邮件", + "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", + "ResetWechat": "解绑企业微信", + "ResetWechatLoginSuccessMsg": "重置成功, 用户可以重新绑定企业微信了", + "ResetWechatLoginWarningMsg": "你确定要解绑用户的 企业微信 吗?", + "Resource": "资源", + "ResourceType": "资源类型", + "Resources": "资源", + "RestoreButton": "恢复默认", + "RestoreDefault": "恢复默认", + "RestoreDialogMessage": "您确定要恢复默认初始化吗?", + "RestoreDialogTitle": "你确认吗", + "Result": "结果", + "Resume": "恢复", + "ResumeTaskSendSuccessMsg": "恢复任务已下发,请稍后刷新查看", + "Retry": "重试", + "Reviewer": "审批人", + "Revise": "修改", + "RiskLevel": "风险等级", + "Role": "角色", + "RoleCreate": "创建角色", + "RoleDetail": "角色详情", + "RoleInfo": "角色信息", + "RoleList": "角色列表", + "RolePerms": "角色权限", + "RoleUpdate": "更新角色", + "RoleUsers": "授权用户", + "Rows": "行", + "Rule": "条件", + "RuleCount": "条件数量", + "RuleDetail": "规则详情", + "RuleRelation": "条件关系", + "RuleRelationHelpTips": "且:当所有条件都满足时,才会执行动作;或:有一个条件满足,就会执行动作", + "RuleSetting": "条件设置", + "Rules": "规则", + "Run": "执行", + "RunAgain": "再次执行", + "RunAs": "运行用户", + "RunCommand": "运行命令", + "RunJob": "运行作业", + "RunSucceed": "任务执行成功", + "RunTaskManually": "手动执行", + "RunTimes": "执行次数", + "RunUser": "运行用户", + "RunasHelpText": "填写运行脚本的用户名", + "RunasPolicy": "账号策略", + "RunasPolicyHelpText": "当前资产上没此运行用户时,采取什么账号选择策略。跳过:不执行。优先特权账号:如果有特权账号先选特权账号,如果没有就选普通账号。仅特权账号:只从特权账号中选择,如果没有则不执行", + "Running": "运行中", + "RunningPath": "运行路径", + "RunningPathHelpText": "填写脚本的运行路径,此设置仅 shell 脚本生效", + "RunningTimes": "最近5次运行时间", + "SAML2Auth": "SAML2 认证", + "SCP": "深信服云平台", + "SFTPHelpMessage": "SFTP 的起始路径,家目录可以填: HOME.
支持变量: ${ACCOUNT} 连接的账号用户名, ${USER} 当前用户用户名, 如 /tmp/${ACCOUNT}", + "SMS": "短信", + "SMSProvider": "短信服务商", + "SMTP": "邮件服务器", + "SPECIAL_CHARREQUIRED": "须包含特殊字符", + "SSHKey": "SSH公钥", + "SSHKeyOfProfileSSHUpdatePage": "复制你的公钥到这里", + "SSHKeySetting": "SSH公钥设置", + "SSHPort": "SSH 端口", + "SSHSecretKey": "SSH 密钥", + "SSO": "单点认证", + "SUCCESS": "成功", + "SafeCommand": "安全命令", + "SameAccount": "同名账号", + "SameAccountTip": "与被授权人用户名相同的账号", + "SameTypeAccountTip": "相同用户名、密钥类型的账号已存在", + "Saturday": "周六", + "Save": "保存", + "SaveAdhoc": "保存命令", + "SaveAndAddAnother": "保存并继续添加", + "SaveCommand": "保存命令 ", + "SaveCommandSuccess": "保存命令成功", + "SaveSetting": "同步设置", + "SaveSuccess": "保存成功", + "SaveSuccessContinueMsg": "创建成功,更新内容后可以继续添加", + "Scope": "类别", + "Script": "脚本列表", + "ScriptDetail": "脚本详情", + "ScrollToBottom": "滚动到底部", + "ScrollToTop": "滚动到顶部", + "Search": "搜索", + "SearchAncestorNodePerm": "同时搜索当前节点和祖先节点的授权", + "Secret": "密码", + "SecretKey": "密钥", + "SecretKeyStrategy": "密码策略", + "SecretType": "密文类型", + "Secure": "安全", + "Security": "安全设置", + "SecurityCommandExecution": "批量命令", + "SecurityInsecureCommand": "开启后,当资产上有危险命令执行时,会发送邮件告警通知", + "SecurityInsecureCommandEmailReceiver": "多个邮箱时,以半角逗号','分隔", + "SecurityLoginLimitCount": "限制登录失败次数", + "SecurityLoginLimitTime": "禁止登录时间间隔", + "SecurityMaxIdleTime": "连接最大空闲时间", + "SecurityMfaAuth": "多因子认证", + "SecurityPasswordExpirationTime": "密码过期时间", + "SecurityPasswordLowerCase": "必须包含小写字母", + "SecurityPasswordMinLength": "密码最小长度", + "SecurityPasswordNumber": "必须包含数字字符", + "SecurityPasswordSpecialChar": "必须包含特殊字符", + "SecurityPasswordUpperCase": "必须包含大写字母", + "SecurityServiceAccountRegistration": "组件注册", + "SecuritySetting": "安全设置", + "Select": "选择", + "SelectAccount": "选择账号", + "SelectAdhoc": "选择命令", + "SelectAll": "全选", + "SelectAssetsMessage": "选择左侧资产, 选择运行的系统用户,批量执行命令", + "SelectAtLeastOneAssetOrNodeErrMsg": "资产或者节点至少选择一项", + "SelectAttrs": "选择属性", + "SelectByAttr": "属性筛选", + "SelectCreateMethod": "选择创建方式", + "SelectFile": "选择文件", + "SelectKeyOrCreateNew": "选择标签键或创建新的", + "SelectLabelFilter": "选择标签搜索", + "SelectPlatforms": "选择平台", + "SelectProperties": "选择属性", + "SelectResource": "选择资源", + "SelectTemplate": "选择模版", + "SelectValueOrCreateNew": "选择标签值或创建新的", + "Selected": "已选择", + "SelectedAssets": "已选择资产:", + "Selection": "可选择", + "Selector": "选择器", + "Send": "发送", + "SendVerificationCode": "发送验证码", + "Sender": "发送人", + "Senior": "高级", + "SerialNumber": "序列号", + "ServerAccountKey": "服务账号密钥", + "ServerError": "服务器错误", + "ServerTime": "服务器时间", + "ServiceRatio": "组件负载统计", + "Session": "会话", + "SessionActiveCount": "在线会话数量", + "SessionData": "会话数据", + "SessionDetail": "会话详情", + "SessionID": "会话ID", + "SessionList": "会话记录", + "SessionMonitor": "监控", + "SessionOffline": "历史会话", + "SessionOnline": "在线会话", + "SessionSecurity": "会话安全", + "SessionState": "会话状态", + "SessionTerminate": "会话终断", + "SessionTrend": "会话趋势", + "Sessions": "会话管理", + "SessionsAudit": "会话审计", + "SessionsNum": "会话数", + "Set": "已设置", + "SetAdDomainNoDisabled": "使用特权账号在资产上创建普通账号,如果设置了AD域名不能修改(Windows)", + "SetDingTalk": "设置钉钉认证", + "SetFailed": "设置失败", + "SetFeiShu": "设置飞书认证", + "SetMFA": "设置多因子认证", + "SetPublicKey": "设置SSH公钥", + "SetSlack": "设置Slack认证", + "SetStatus": "设置状态", + "SetSuccess": "设置成功", + "SetToDefault": "设为默认", + "SetToDefaultStorage": "设置为默认存储", + "SetWeCom": "设置企业微信认证", + "Setting": "设置", + "SettingInEndpointHelpText": "在 系统设置 / 组件设置 / 服务端点 中配置服务地址和端口", + "Settings": "系统设置", + "Show": "显示", + "ShowAssetAllChildrenNode": "显示所有子节点资产", + "ShowAssetOnlyCurrentNode": "仅显示当前节点资产", + "ShowNodeInfo": "显示节点详情", + "SignChannelNum": "签名通道号", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "站内信", + "SiteMessageList": "站内信", + "SiteUrl": "当前站点URL", + "Skip": "忽略当前资产", + "Skipped": "已跳过", + "Slack": "Slack", + "Source": "来源", + "SourceIP": "源地址", + "SourcePort": "源端口", + "Spec": "指定", + "SpecAccount": "指定账号", + "SpecAccountTip": "指定用户名选择授权账号", + "SpecialSymbol": "特殊字符", + "SpecificInfo": "特殊信息", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH 指纹", + "SshPort": "SSH端口", + "Sshkey": "sshkey", + "SshkeyAccount": "密钥账号", + "StartEvery": "开始,每", + "Startswith": "以...开头", + "Stat": "成功/失败/总", + "State": "状态", + "StateClosed": "已关闭", + "Status": "状态", + "StatusGreen": "近期状态良好", + "StatusRed": "上一次任务执行失败", + "StatusYellow": "近期存在在执行失败", + "Stop": "停止", + "Storage": "存储", + "StorageConfiguration": "存储配置", + "Strategy": "策略", + "StrategyCreate": "创建策略", + "StrategyDetail": "策略详情", + "StrategyHelpTips": "根据策略优先级确定资产的唯一属性(如平台),当资产属性(如节点)可配置多个的时候,所有策略的动作都会被执行", + "StrategyList": "策略列表", + "StrategyUpdate": "更新策略", + "SuFrom": "切换自", + "Subject": "主题", + "Submit": "提交", + "SubmitSelector": "提交按钮选择器", + "Subscription": "消息订阅", + "SubscriptionID": "订阅授权ID", + "Success": "成功", + "SuccessAsset": "成功的资产", + "SuccessfulOperation": "操作成功", + "SudoHelpMessage": "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig", + "Summary(success/total)": "概况( 成功/总数 )", + "Sunday": "周日", + "SuperAdmin": "超级管理员", + "SuperOrgAdmin": "超级管理员+组织管理员", + "Support": "支持", + "SupportedProtocol": "支持的协议", + "SupportedProtocolHelpText": "设置资产支持的协议,点击设置按钮可以为协议修改自定义配置,如 SFTP 目录,RDP AD 域等", + "SwitchPage": "切换视图", + "SwitchToUser": "Su 用户", + "SwitchToUserListTips": "通过以下用户连接资产时,会使用当前系统用户登录再进行切换。", + "SymbolSet": "特殊符号集合", + "SymbolSetHelpText": "请输入此类型数据库支持的特殊符号集合,若生成的随机密码中有此类数据库不支持的特殊字符,改密计划将会失败", + "Sync": "同步", + "SyncDelete": "同步删除", + "SyncInstanceTaskCreate": "创建同步任务", + "SyncInstanceTaskDetail": "同步任务详情", + "SyncInstanceTaskHistoryAssetList": "同步实例列表", + "SyncInstanceTaskHistoryList": "同步历史列表", + "SyncInstanceTaskList": "同步任务列表", + "SyncInstanceTaskUpdate": "更新同步任务", + "SyncProtocolToAsset": "同步协议到资产", + "SyncSelected": "同步所选", + "SyncSetting": "同步设置", + "SyncStrategy": "同步策略", + "SyncSuccessMsg": "同步成功", + "SyncTask": "同步任务", + "SyncUpdateAccountInfo": "同步更新账号信息", + "SyncUser": "同步用户", + "SyncedCount": "已同步", + "SystemCpuLoad": "CPU负载", + "SystemDiskUsedPercent": "硬盘使用率", + "SystemError": "系统错误", + "SystemMemoryUsedPercent": "内存使用率", + "SystemMessageSubscription": "系统消息订阅", + "SystemRole": "系统角色", + "SystemRoles": "系统角色", + "SystemSetting": "系统设置", + "SystemTools": "系统工具", + "SystemUser": "系统用户", + "SystemUserAmount": "系统用户数量", + "SystemUserCount": "系统用户", + "SystemUserCreate": "创建系统用户", + "SystemUserDetail": "系统用户详情", + "SystemUserId": "系统用户Id", + "SystemUserList": "系统用户", + "SystemUserListHelpMessage": "系统用户 是JumpServer 登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`;
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
普通用户 可以在资产上预先存在,也可以由 特权用户 来自动创建。", + "SystemUserName": "系统用户名", + "SystemUserUpdate": "更新系统用户", + "SystemUsers": "系统用户", + "System_usersAmount": "系统用户", + "System_users_nameGroup": "系统用户名称", + "System_users_protocolGroup": "系统用户协议", + "System_users_usernameGroup": "系统用户名", + "TableColSettingInfo": "请选择您想显示的列表详细信息。", + "Target": "目标", + "TargetResources": "目标资源", + "Task": "任务", + "TaskCenter": "任务中心", + "TaskDetail": "任务详情", + "TaskDispatch": "任务下发成功", + "TaskDone": "任务结束", + "TaskID": "任务 ID", + "TaskList": "任务列表", + "TaskMonitor": "任务监控", + "TaskName": "任务名称", + "TaskVersions": "任务各版本", + "Tasks": "任务", + "TechnologyConsult": "技术咨询", + "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", + "Template": "模版管理", + "TemplateAdd": "模版添加", + "TemplateCreate": "创建模版", + "TemplateDetail": "模版详情", + "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", + "TemplateUpdate": "更新模版", + "Templates": "模版管理", + "TencentCloud": "腾讯云", + "Terminal": "组件设置", + "TerminalAssetListPageSize": "资产分页每页数量", + "TerminalAssetListSortBy": "资产列表排序", + "TerminalDetail": "终端详情", + "TerminalHeartbeatInterval": "心跳间隔", + "TerminalPasswordAuth": "密码认证", + "TerminalPublicKeyAuth": "密钥认证", + "TerminalSessionKeepDuration": "会话保留时长", + "TerminalStat": "CPU/内存/磁盘", + "TerminalTelnetRegex": "Telnet 成功正则表达式", + "TerminalUpdate": "更新终端", + "TerminalUpdateStorage": "更新终端存储", + "Terminate": "终断", + "TerminateTaskSendSuccessMsg": "终断任务已下发,请稍后刷新查看", + "TermsAndConditions": "条款和条件", + "Test": "测试", + "TestAccountConnective": "测试账号可连接性", + "TestAllSystemUsersConnective": "测试所有系统用户可连接性", + "TestAssetsConnective": "测试资产可连接性", + "TestConnection": "测试连接", + "TestGatewayHelpMessage": "如果使用了nat端口映射,请设置为ssh真实监听的端口", + "TestGatewayTestConnection": "测试连接网关", + "TestHelpText": "请输入目的地址进行测试", + "TestLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", + "TestLdapLoginTitle": "测试LDAP 用户登录", + "TestMultiPort": "多个端口用,分隔", + "TestNodeAssetConnectivity": "测试资产节点可连接性", + "TestParam": "参数", + "TestPortErrorMsg": "端口错误,请重新输入", + "TestSelected": "测试所选", + "TestSelectedSystemUsersConnective": "测试所选系统用户可连接性", + "TestSuccessMsg": "测试成功", + "The": "第", + "ThisPeriodic": "这是一个周期作业", + "Thursday": "周四", + "Ticket": "工单", + "TicketCreate": "创建工单", + "TicketDetail": "工单详情", + "TicketFlow": "工单流", + "TicketFlowCreate": "创建审批流", + "TicketFlowUpdate": "更新审批流", + "Tickets": "工单列表", + "TicketsDone": "已办工单", + "TicketsNew": "提交工单", + "TicketsTodo": "待办工单", + "Time": "时间", + "TimeDelta": "运行时间", + "TimeExpression": "时间表达式", + "TimePeriod": "时段", + "Timeout": "超时", + "TimeoutHelpText": "当此值为-1时,不指定超时时间", + "Timer": "定时执行", + "TimerPeriod": "定时执行周期", + "TimesWeekUnit": "次/周", + "Title": "标题", + "To": "至", + "Today": "今天", + "TodayFailedConnections": "今日连接失败数", + "Token": "令牌", + "TokenHTTPMethod": "Token 获取方法", + "TopAssetsOfWeek": "周资产 TOP10", + "TopUsersOfWeek": "周用户 TOP10", + "Total": "总共", + "TotalJobFailed": "执行失败作业数", + "TotalJobLog": "作业执行总数", + "TotalJobRunning": "运行中作业数", + "TotalVersions": "版本数量", + "Transfer": "传输", + "True": "是", + "Tuesday": "周二", + "TwoAssignee": "二级受理人", + "TwoAssigneeType": "二级受理人类型", + "Type": "类型", + "Types": "类型", + "UCloud": "UCloud优刻得", + "UPPER_CASEREQUIRED": "须包含大写字母", + "UnSyncCount": "未同步", + "Unbind": "解绑", + "UnbindHelpText": "本地用户为此认证来源用户,无法解绑", + "Unblock": "解锁", + "UnblockSuccessMsg": "解锁成功", + "UnblockUser": "解锁用户", + "UniqueError": "以下属性只能设置一个", + "Unknown": "未知", + "UnlockSuccessMsg": "解锁成功", + "Unreachable": "不可连接", + "UnselectedAssets": "未选择资产或所选择的资产不支持SSH协议连接", + "UnselectedNodes": "未选择节点", + "UnselectedOrg": "没有选择组织", + "UnselectedUser": "没有选择用户", + "UpDownload": "上传下载", + "Update": "更新", + "UpdateAccount": "更新账号", + "UpdateAccountMsg": "请更新系统用户的账号信息", + "UpdateAccountTemplate": "更新账号模版", + "UpdateAssetDetail": "配置更多信息", + "UpdateAssetUserToken": "更新账号认证信息", + "UpdateEndpoint": "更新端点", + "UpdateEndpointRule": "更新端点规则", + "UpdateErrorMsg": "更新失败", + "UpdateMFA": "更改多因子认证", + "UpdateNodeAssetHardwareInfo": "更新节点资产硬件信息", + "UpdatePassword": "更新密码", + "UpdateSSHKey": "更新SSH公钥", + "UpdateSecret": "更新密文", + "UpdateSelected": "更新所选", + "UpdateSuccessMsg": "更新成功", + "Updated": "已更新", + "UpdatedBy": "更新者", + "Upload": "上传", + "UploadCsvLth10MHelpText": "只能上传 csv/xlsx, 且不超过 10M", + "UploadDir": "上传目录", + "UploadFailed": "上传失败", + "UploadFile": "上传文件", + "UploadFileLthHelpText": "只能上传小于{limit}MB文件", + "UploadPlaybook": "上传 Playbook", + "UploadSucceed": "上传成功", + "UploadZipTips": "请上传 zip 格式的文件", + "Uploading": "文件上传中", + "Uppercase": "大写字母", + "UseParameterDefine": "定义参数", + "UseProtocol": "使用协议", + "UseSSL": "使用 SSL/TLS", + "User": "用户", + "UserAclDetail": "用户登录规则详情", + "UserAclList": "用户登录", + "UserAclLists": "用户登录规则", + "UserAssetActivity": "账号/资产活跃情况", + "UserCount": "用户数量", + "UserCreate": "创建用户", + "UserData": "账号数据", + "UserDetail": "用户详情", + "UserFirstLogin": "首次登录", + "UserGroupCount": "用户组数量", + "UserGroupCreate": "创建用户组", + "UserGroupDetail": "用户组详情", + "UserGroupList": "用户组", + "UserGroupUpdate": "更新用户组", + "UserGroups": "用户组", + "UserGuide": "用户向导", + "UserGuideUrl": "用户向导URL", + "UserIP": "登录 IP", + "UserInformation": "用户信息", + "UserList": "用户列表", + "UserLoginACL": "用户登录", + "UserLoginACLCreate": "创建用户登录规则", + "UserLoginACLDetail": "用户登录限制", + "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统(全局生效)", + "UserLoginACLUpdate": "更新用户登录规则", + "UserLoginAclCreate": "创建用户登录控制", + "UserLoginAclDetail": "用户登录控制详情", + "UserLoginAclList": "用户登录", + "UserLoginAclUpdate": "更新用户登录控制", + "UserLoginLimit": "用户登录限制", + "UserLoginTrend": "账号登录趋势", + "UserName": "姓名", + "UserNameSelector": "用户名输入框选择器", + "UserPage": "用户视图", + "UserProfile": "个人信息", + "UserRatio": "用户占比统计", + "UserSession": "用户会话", + "UserSetting": "偏好设置", + "UserSwitch": "用户切换", + "UserSwitchFrom": "切换自", + "UserUpdate": "更新用户", + "UserUsername": "用户(用户名)", + "Username": "用户名", + "UsernameGroup": "用户名", + "UsernameHelpMessage": "用户名是动态的,登录资产时使用当前用户的用户名登录", + "UsernameOfCreateUpdatePage": "目标主机上用户的用户名;如果已️存在,修改用户密码;如果不存在,添加用户并设置密码;", + "UsernamePlaceholder": "请输入用户名", + "Users": "用户", + "UsersAmount": "用户", + "UsersAndUserGroups": "用户/用户组", + "UsersTotal": "账号总数", + "Valid": "有效", + "Validity": "有效", + "Value": "值", + "Variable": "变量", + "VariableHelpText": "您可以在命令中使用 {{ key }} 读取内置变量", + "Vault": "密码匣子", + "VaultHelpText": "1. 由于安全原因,需要配置文件中开启 Vault 存储。
2. 开启后,填写其他配置,进行测试。
3. 进行数据同步,同步是单向的,只会从本地数据库同步到远端 Vault,同步完成本地数据库不再存储密码,请备份好数据。
4. 二次修改 Vault 配置后需重启服务。", + "Vendor": "制造商", + "VerificationCodeSent": "验证码已发送", + "VerifySignTmpl": "验证码短信模板", + "Version": "版本", + "VersionDetail": "版本详情", + "VersionRunExecution": "执行历史", + "View": "查看", + "ViewBlockedIPSHelpText": "查看已被锁定的 IP 列表", + "ViewMore": "查看更多", + "ViewPerm": "查看授权", + "ViewSecret": "查看密文", + "VirtualAccountDetail": "虚拟账号详情", + "VirtualAccountUpdate": "虚拟账号更新", + "VirtualAccounts": "虚拟账号", + "VirtualApp": "虚拟应用", + "VirtualAppDetail": "虚拟应用详情", + "VirtualApps": "虚拟应用", + "VmwareClient": "vSphere Client", + "VmwarePassword": "登录密码", + "VmwareTarget": "目标地址", + "VmwareUsername": "登录账号", + "WeCom": "企业微信", + "WeComTest": "测试", + "WebCreate": "创建资产-Web", + "WebFTP": "文件管理", + "WebHelpMessage": "Web 类型资产依赖于远程应用,请前往系统设置在远程应用中配置", + "WebSocketDisconnect": "WebSocket 断开", + "WebTerminal": "Web终端", + "WebUpdate": "更新资产-Web", + "Wednesday": "周三", + "Week": "周", + "WeekAdd": "本周新增", + "WeekOf": "周的星期", + "WeekOrTime": "星期/时间", + "Weekly": "按周", + "WildcardsAllowed": "允许的通配符", + "WindowsAdminUser": "Windows 特权用户", + "WindowsPushHelpText": "windows 资产暂不支持推送密钥", + "WordSep": "", + "WorkBench": "工作台", + "Workbench": "工作台", + "Workspace": "工作空间", + "Yes": "是", + "ZStack": "ZStack" } diff --git a/apps/locale/luna/en.json b/apps/locale/luna/en.json index a31c9b2c3..97d6c5fbd 100644 --- a/apps/locale/luna/en.json +++ b/apps/locale/luna/en.json @@ -1,201 +1,201 @@ { - "Are you sure to reconnect it?(RDP not support)": "Are you sure to reconnect it?(RDP not support)", - "Reselect connection method": "Reselect asset connection method", - "Right click asset": "Right click on the asset", - "Expand all asset": "Expand all assets under the current node", - "Right click node": "Right click node", - "Asset tree loading method": "Configure Asset Tree Loading Method", - "Settings or basic settings": "Settings → Basic Settings", - "Download the latest client": "Download the latest client", - "Help or download": "Help → Download", - "Keyboard switch session": "Switch session → Shortcut keys", - "Keyboard keys": "Option + Left / Option + Right", - "Cancel": "Cancel", - "Choose a User": "Choose a User", - "Clone Connect": "Clone Connect", - "Close All Tabs": "Close All Tabs", - "Close Current Tab": "Close Current Tab", - "Close Left Tabs": "Close Left Tabs", - "Close Other Tabs": "Close Other Tabs", - "Close Right Tabs": "Close Right Tabs", - "Confirm": "Confirm", - "Connect": "Connect", - "Disconnect": "Disconnect", - "Disfavor": "Disfavor", - "Document": "Document", - "Favorite": "Favorite", - "File Manager": "File Manager", - "CLI font size": "CLI font size", - "Found": "Found", - "Full Screen": "Full Screen", - "Multi Screen": "Multi Screen", - "Help": "Help", - "Hide left manager": "Hide left manager", - "Language": "Language", - "Load tree async": "Load tree async", - "Backspace as Ctrl+H": "CLI Backspace As Ctrl+H", - "Loading": "Loading", - "Password": "Password", - "Please choose an account": "Please choose an account", - "Please input password": "Please input password", - "Reconnect": "Reconnect", - "Search": "Search", - "Refresh": "Refresh", - "Checkbox": "Checkbox", - "Batch connect": "Batch connect", - "RDP resolution": "RDP resolution", - "RDP smart size": "RDP smart size", - "Send text to all ssh terminals": "Send text to all ssh terminals", - "Switch to quick command": "Switch to quick command", - "Switch to input command": "Switch to input command", - "Not quick command": "Not quick command", - "Save command": "Save command", - "Save success": "Save success", - "Send command": "Send command", - "Current session": "Current session", - "All sessions": "All sessions", - "Module": "Module", - "Setting": "Setting", - "Show left manager": "Show left manager", - "Skip": "Skip", - "Skip manual password": "Skip manual password", - "Speed": "Speed", - "Support": "Support", - "Tab List": "Tab List", - "Username": "Username", - "Expire time": "Expire time", - "Users": "", - "View": "View", - "Website": "Website", - "asset": "asset", - "cols": "cols", - "confirm": "confirm", - "download": "download", - "rows": "rows", - "start time": "start time", - "success": "success", - "system user": "system user", - "user": "user", - "Open in new window": "Open in new window", - "Split connect": "Split connect", - "Split vertically": "Split vertically", - "Close split connect": "Close split connect", - "Split connect number": "One session can support up to three split screen connection", - "Right mouse quick paste": "Right mouse quick paste", - "SQL Client": "SQL Client", - "Info": "Info", - "LeftInfo": "Click the command record to quickly locate the video", - "Database disabled": "This type of connection is not supported, please contact an administrator.", - "Asset disabled": "This asset has been disabled, please contact an administrator", - "User: ": "User: {{value}}", - "Asset: ": "Asset: {{value}}", - "Account: ": "Account: {{value}}", - "Start Time: ": "Start time: {{value}}", - "Protocol: ": "Protocol: {{value}}", - "My assets": "My assets", - "My applications": "My applications", - "Type tree": "Type tree", - "Databases": "Databases", - "Remote apps": "Remote apps", - "Kubernetes": "Kubernetes", - "Command Line": "Command Line", - "Force refresh": "Force refresh", - "Select account": "Select account", - "No matching found": "No matching found", - "Connect Method": "Connect Method", - "No available connect method": "No available connect method", - "Need to use": "Need to use", - "Download the client": "Please download", - "Yes": "Yes", - "No": "No", - "Web Terminal": "Web Terminal", - "Remember password": "Remember me", - "Account info": "Account info", - "Download": "Download", - "Tool download": "Tool download", - "Launch Program": "Launch Program", - "RDP client options": "RDP client options", - "Full screen": "Full screen", - "Driver redirect": "Driver redirect", - "RDP File": "RDP File", - "RDP Client": "RDP Client", - "Remember select": "Remember selected", - "Automatic login next": "Automatic Login next time (right click asset Connection to re-select)", - "Don't prompt again": "Don't prompt again", - "Username@Domain": "Username@Domain", - "InstallClientMsg": "JumpServer client not found, Go to download and install?", - "LoginExpireMsg": "Login session expired, please re-login", - "No permission": "No permission", - "Last login": "Last login", - "Log out": "Log out", - "Host": "Host", - "Port": "Port", - "Disable auto completion": "Disable auto completion", - "Advanced option": "Advanced option", - "Protocol": "Protocol", - "Database": "Database", - "Click to copy": "Click to copy", - "Copied": "Copied", - "Database info": "Database info", - "Command line": "Command line", - "Run it by client": "Run it by client", - "Name": "Name", - "Tips": "Tips", - "Asset not found or You have no permission to access it, please refresh asset tree": "Asset not found or You have no permission to access it, please refresh asset tree", - "With secret accounts": "With secret accounts", - "Close": "Close", - "Manual accounts": "Manual accounts", - "Native": "Native", - "Applet": "Applet", - "General": "General", - "GUI": "GUI", - "CLI": "CLI", - "Applet connect method": "Applet connect method", - "Client": "Client", - "Keyboard layout": "Keyboard layout", - "UK English keyboard layout": "UK English (Qwerty)", - "US English keyboard layout": "US English (Qwerty)", - "Japanese keyboard layout": "Japanese (Qwerty)", - "French keyboard layout": "French (Azerty)", - "Swiss French keyboard layout": "Swiss French (Qwertz)", - "Belgian French keyboard layout": "Belgian French (Azerty)", - "Turkey keyboard layout": "Turkish-Q (Qwerty)", - "Login reminder": "Login reminder", - "ACL reject login asset": "This login has been rejected due to access control policy restrictions", - "Need review for login asset": "This login needs manual review. Do you want to continue?", - "Ticket review pending for login asset": "The login asset has been submitted, waiting for review by the assignee, you can also copy the link and send it to he", - "Assignees": "Assignees", - "Do not close this page": "Do not close this page", - "Ticket review rejected for login asset": "This login review has been rejected, and the asset cannot be connected", - "Ticket review closed for login asset": "This login review has been closed, and the asset cannot be connected", - "Account not found": "Account not found", - "Copy link": "Copy link", - "Login review approved": "Login review has been approved, connecting assets...", - "No account available": "No available accounts", - "Set reusable": "Set reusable", - "Re-use for a long time after opening": "Re-use for a long time after opening", - "The connection method is invalid, please refresh the page": "The connection method is invalid, please refresh the page", - "Special accounts": "Special accounts", - "Database token help text": "The database type token that the client connects to will be cached by the component for 5 minutes, which means that the token will not be invalidated immediately after it is used, but five minutes after the client disconnects", - "Help text": "Help text", - "Pause task has been send": "Pause task has been send", - "Resume task has been send": "Resume task has been send", - "Action: ": "Action:", - "Pause": "Pause", - "Resume": "Resume", - "connect info": "connect info", - "Connect command line": "Connect command line", - "Using token": "Using token", - "Directly": "Directly", - "Connect checked": "Connect checked", - "Batch actions": "Batch actions", - "Expand": "Expand", - "Expand all": "Expand all", - "Collapse": "Collapse", - "Password is token password on the table": "Password is token password on the table", - "Password is your password login to system": "Password is your password login to system", - "Current online": "Current online", - "Token expired": "Token has expired", - "No protocol available": "No protocol available", - "VirtualApp":"Virtual App" -} + "ACL reject login asset": "This login has been rejected due to access control policy restrictions", + "Account info": "Account info", + "Account not found": "Account not found", + "Account: ": "Account: {{value}}", + "Action: ": "Action:", + "Advanced option": "Advanced option", + "All sessions": "All sessions", + "Applet": "Applet", + "Applet connect method": "Applet connect method", + "Are you sure to reconnect it?(RDP not support)": "Are you sure to reconnect it?(RDP not support)", + "Asset disabled": "This asset has been disabled, please contact an administrator", + "Asset not found or You have no permission to access it, please refresh asset tree": "Asset not found or You have no permission to access it, please refresh asset tree", + "Asset tree loading method": "Configure Asset Tree Loading Method", + "Asset: ": "Asset: {{value}}", + "Assignees": "Assignees", + "Automatic login next": "Automatic Login next time (right click asset Connection to re-select)", + "Backspace as Ctrl+H": "CLI Backspace As Ctrl+H", + "Batch actions": "Batch actions", + "Batch connect": "Batch connect", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "CLI": "CLI", + "CLI font size": "CLI font size", + "Cancel": "Cancel", + "Checkbox": "Checkbox", + "Choose a User": "Choose a User", + "Click to copy": "Click to copy", + "Client": "Client", + "Clone Connect": "Clone Connect", + "Close": "Close", + "Close All Tabs": "Close All Tabs", + "Close Current Tab": "Close Current Tab", + "Close Left Tabs": "Close Left Tabs", + "Close Other Tabs": "Close Other Tabs", + "Close Right Tabs": "Close Right Tabs", + "Close split connect": "Close split connect", + "Collapse": "Collapse", + "Command Line": "Command Line", + "Command line": "Command line", + "Confirm": "Confirm", + "Connect": "Connect", + "Connect Method": "Connect Method", + "Connect checked": "Connect checked", + "Connect command line": "Connect command line", + "Copied": "Copied", + "Copy link": "Copy link", + "Current online": "Current online", + "Current session": "Current session", + "Database": "Database", + "Database disabled": "This type of connection is not supported, please contact an administrator.", + "Database info": "Database info", + "Database token help text": "The database type token that the client connects to will be cached by the component for 5 minutes, which means that the token will not be invalidated immediately after it is used, but five minutes after the client disconnects", + "Databases": "Databases", + "Directly": "Directly", + "Disable auto completion": "Disable auto completion", + "Disconnect": "Disconnect", + "Disfavor": "Disfavor", + "Do not close this page": "Do not close this page", + "Document": "Document", + "Don't prompt again": "Don't prompt again", + "Download": "Download", + "Download the client": "Please download", + "Download the latest client": "Download the latest client", + "Driver redirect": "Driver redirect", + "Expand": "Expand", + "Expand all": "Expand all", + "Expand all asset": "Expand all assets under the current node", + "Expire time": "Expire time", + "Favorite": "Favorite", + "File Manager": "File Manager", + "Force refresh": "Force refresh", + "Found": "Found", + "French keyboard layout": "French (Azerty)", + "Full Screen": "Full Screen", + "Full screen": "Full screen", + "GUI": "GUI", + "General": "General", + "Help": "Help", + "Help or download": "Help → Download", + "Help text": "Help text", + "Hide left manager": "Hide left manager", + "Host": "Host", + "Info": "Info", + "InstallClientMsg": "JumpServer client not found, Go to download and install?", + "Japanese keyboard layout": "Japanese (Qwerty)", + "Keyboard keys": "Option + Left / Option + Right", + "Keyboard layout": "Keyboard layout", + "Keyboard switch session": "Switch session → Shortcut keys", + "Kubernetes": "Kubernetes", + "Language": "Language", + "Last login": "Last login", + "Launch Program": "Launch Program", + "LeftInfo": "Click the command record to quickly locate the video", + "Load tree async": "Load tree async", + "Loading": "Loading", + "Log out": "Log out", + "Login reminder": "Login reminder", + "Login review approved": "Login review has been approved, connecting assets...", + "LoginExpireMsg": "Login session expired, please re-login", + "Manual accounts": "Manual accounts", + "Module": "Module", + "Multi Screen": "Multi Screen", + "My applications": "My applications", + "My assets": "My assets", + "Name": "Name", + "Native": "Native", + "Need review for login asset": "This login needs manual review. Do you want to continue?", + "Need to use": "Need to use", + "No": "No", + "No account available": "No available accounts", + "No available connect method": "No available connect method", + "No matching found": "No matching found", + "No permission": "No permission", + "No protocol available": "No protocol available", + "Not quick command": "Not quick command", + "Open in new window": "Open in new window", + "Password": "Password", + "Password is token password on the table": "Password is token password on the table", + "Password is your password login to system": "Password is your password login to system", + "Pause": "Pause", + "Pause task has been send": "Pause task has been send", + "Please choose an account": "Please choose an account", + "Please input password": "Please input password", + "Port": "Port", + "Protocol": "Protocol", + "Protocol: ": "Protocol: {{value}}", + "RDP Client": "RDP Client", + "RDP File": "RDP File", + "RDP client options": "RDP client options", + "RDP resolution": "RDP resolution", + "RDP smart size": "RDP smart size", + "Re-use for a long time after opening": "Re-use for a long time after opening", + "Reconnect": "Reconnect", + "Refresh": "Refresh", + "Remember password": "Remember me", + "Remember select": "Remember selected", + "Remote apps": "Remote apps", + "Reselect connection method": "Reselect asset connection method", + "Resume": "Resume", + "Resume task has been send": "Resume task has been send", + "Right click asset": "Right click on the asset", + "Right click node": "Right click node", + "Right mouse quick paste": "Right mouse quick paste", + "Run it by client": "Run it by client", + "SQL Client": "SQL Client", + "Save command": "Save command", + "Save success": "Save success", + "Search": "Search", + "Select account": "Select account", + "Send command": "Send command", + "Send text to all ssh terminals": "Send text to all ssh terminals", + "Set reusable": "Set reusable", + "Setting": "Setting", + "Settings or basic settings": "Settings → Basic Settings", + "Show left manager": "Show left manager", + "Skip": "Skip", + "Skip manual password": "Skip manual password", + "Special accounts": "Special accounts", + "Speed": "Speed", + "Split connect": "Split connect", + "Split connect number": "One session can support up to three split screen connection", + "Split vertically": "Split vertically", + "Start Time: ": "Start time: {{value}}", + "Support": "Support", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Switch to input command": "Switch to input command", + "Switch to quick command": "Switch to quick command", + "Tab List": "Tab List", + "The connection method is invalid, please refresh the page": "The connection method is invalid, please refresh the page", + "Ticket review closed for login asset": "This login review has been closed, and the asset cannot be connected", + "Ticket review pending for login asset": "The login asset has been submitted, waiting for review by the assignee, you can also copy the link and send it to he", + "Ticket review rejected for login asset": "This login review has been rejected, and the asset cannot be connected", + "Tips": "Tips", + "Token expired": "Token has expired", + "Tool download": "Tool download", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Type tree": "Type tree", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "User: ": "User: {{value}}", + "Username": "Username", + "Username@Domain": "Username@Domain", + "Users": "", + "Using token": "Using token", + "View": "View", + "VirtualApp": "Virtual App", + "Web Terminal": "Web Terminal", + "Website": "Website", + "With secret accounts": "With secret accounts", + "Yes": "Yes", + "asset": "asset", + "cols": "cols", + "confirm": "confirm", + "connect info": "connect info", + "download": "download", + "rows": "rows", + "start time": "start time", + "success": "success", + "system user": "system user", + "user": "user" +} \ No newline at end of file diff --git a/apps/locale/luna/ja.json b/apps/locale/luna/ja.json index d0549fb84..c8c409d1b 100644 --- a/apps/locale/luna/ja.json +++ b/apps/locale/luna/ja.json @@ -1,206 +1,206 @@ { - "Are you sure to reconnect it?(RDP not support)": "本当に再接続しますか? (RDPは一時的にサポートしていない)", - "Reselect connection method": "資産の接続方法の再選択", - "Right click asset": "右クリック資産", - "Expand all asset": "現在のノードの下にあるすべてのアセットを展開", - "Right click node": "右クリックノード", - "Asset tree loading method": "資産ツリーのロード方法の設定", - "Settings or basic settings": "設定 → 基本設定", - "Download the latest client": "最新クライアントのダウンロード", - "Help or download": "ヘルプ → ダウンロード", - "Keyboard switch session": "セッションの切り替え → ショートカットキー", - "Keyboard keys": "Option + Left / Option + Right", - "Cancel": "キャンセル", - "Choose a User": "ユーザーを選択します", - "Clone Connect": "コピーウィンドウ", - "Close All Tabs": "すべてを閉じる", - "Close Current Tab": "現在を閉じる", - "Close Left Tabs": "左側を閉じる", - "Close Other Tabs": "その他を閉じる", - "Close Right Tabs": "右側を閉じる", - "Confirm": "確認", - "Connect": "接続", - "Disconnect": "リンクを切断", - "Disfavor": "コレクションをキャンセル", - "Document": "ドキュメント", - "Favorite": "コレクション", - "File Manager": "ファイル管理", - "CLI font size": "文字端末のフォントサイズ", - "Found": "発見", - "Full Screen": "全画面表示", - "Multi Screen": "マルチスクリーン", - "Help": "ヘルプ", - "Hide left manager": "左サイドバーを非表示", - "Language": "言語", - "Load tree async": "アセットツリーの非同期ロード", - "Backspace as Ctrl+H": "文字端末backspacas Ctrl H", - "Loading": "ロード中", - "Password": "パスワード", - "Please choose an account": "ユーザーを選択してください", - "Please input password": "パスワードを入力してください", - "Reconnect": "再接続", - "Search": "検索", - "Refresh": "リフレッシュ", - "Checkbox": "複数選択", - "Batch connect": "バッチ接続", - "RDP resolution": "RDP 解像度", - "RDP smart size": "RDP スマート・サイズ", - "RDP color quality": "RDP 色品質", - "Send text to all ssh terminals": "すべてのssh端末にテキストを送信します", - "Switch to quick command": "クイックコマンドに切り替え", - "Switch to input command": "入力コマンドに切り替え", - "Not quick command": "非高速コマンド", - "Save command": "保存コマンド", - "Save success": "保存に成功", - "Send command": "コマンドを送信", - "Current session": "現在のセッション", - "All sessions": "すべてのセッション", - "Module": "ユニット", - "Setting": "設定", - "Show left manager": "左サイドバーを表示", - "Skip": "スキップ", - "Skip manual password": "手動パスワードウィンドウをスキップします", - "Speed": "スピード", - "Support": "サポート", - "Tab List": "ウィンドウリスト", - "Username": "ユーザー名", - "Expire time": "期限切れ", - "Users": "ユーザー", - "View": "ビュー", - "Website": "公式サイト", - "asset": "資産", - "cols": "列数", - "confirm": "確認", - "download": "ダウンロード", - "rows": "行数", - "start time": "開始時間", - "success": "成功", - "system user": "システムユーザー", - "user": "ユーザー", - "Open in new window": "新しいウィンドウが開きます", - "Split connect": "スクリーン接続", - "Split vertically": "垂直分割", - "Close split connect": "分割表示を閉じる", - "Split connect number": "1つのセッションで最大3つの画面分割接続をサポート", - "Right mouse quick paste": "右クイック貼り付け", - "SQL Client": "SQLクライアント", - "Database disabled": "このリンク方式をサポートしていない、管理者に連絡してください", - "Info": "ヒント", - "LeftInfo": "コマンドログをクリックして迅速に定位できるビデオ", - "Asset disabled": "この資産はすでに無効になっている場合、管理者に連絡してください", - "User: ": "ユーザー: {{value}}", - "Asset: ": "アセット: {{value}}", - "Account: ": "アカウント: {{value}}", - "Start Time: ": "開始時間: {{value}}", - "Protocol: ": "プロトコル: {{value}}", - "My assets": "マイ資産", - "My applications": "私の応用", - "Type tree": "タイプツリー", - "Databases": "データベース", - "Remote apps": "リモートアプリケーション", - "Kubernetes": "Kubernetes", - "Command Line": "コマンドライン", - "Force refresh": "強制更新", - "Select account": "システムユーザーの選択", - "No matching found": "マッチがありません", - "Connect Method": "接続方法", - "No available connect method": "接続方法がありません", - "Need to use": "使用する必要がある", - "Yes": "はい", - "No": "いいえ", - "Web Terminal": "Web端末", - "Remember password": "パスワードを覚える", - "Account info": "アカウント情報", - "Download": "ダウンロード", - "Tool download": "ツールダウンロード", - "Launch Program": "起動プログラム", - "RDP client options": "RDPクライアントオプション", - "Full screen": "全画面", - "Driver redirect": "ディスクマウント", - "RDP Client": "RDPクライアント", - "RDP File": "RDPファイル", - "Remember select": "選択を覚える", - "Automatic login next": "次回の自動登録 (右クリック資産接続は再選択できます)", - "Don't prompt again": "次回は提示しない", - "Username@Domain": "ユーザー名 @ ADドメイン", - "InstallClientMsg": "JumpServerクライアントがインストールされていない、今ダウンロードしてインストールしますか?", - "LoginExpireMsg": "ログインが期限切れになりました。ログインし直してください", - "No permission": "権限がありません", - "Last login": "前回ログイン", - "Log out": "ログインを終了", - "Disable auto completion": "自動補完の無効化", - "Advanced option": "上級オプション", - "Host": "ホスト", - "Port": "ポート", - "Protocol": "プロトコル", - "Database": "データベース", - "Click to copy": "クリックしてコピーする", - "Copied": "複製済み", - "Database info": "データベース接続情報", - "Command line": "命令行", - "Close": "閉鎖", - "Manual accounts": "手動アカウント", - "Native": "クライアント", - "Applet": "アプレット", - "General": "基本構成", - "GUI": "グラフィカル", - "CLI": "コマンドライン", - "Asset not found or You have no permission to access it, please refresh asset tree": "アセットが見つからないか、アクセスする権限がありません。アセット ツリーを更新してください", - "Run it by client": "クライアントで実行する", - "Name": "めいしょう", - "Failed to open address": "アドレスを開くことができませんでした", - "Normal accounts": "通常のログインアカウント", - "Special accounts": "特別ログインアカウント", - "Tips": "ヒント", - "Applet connect method": "アプレット接続方法", - "Client": "お客様", - "Keyboard layout": "キーボードレイアウト", - "UK English keyboard layout": "UK English (Qwerty)", - "US English keyboard layout": "US English (Qwerty)", - "Japanese keyboard layout": "Japanese (Qwerty)", - "French keyboard layout": "French (Azerty)", - "Swiss French keyboard layout": "Swiss French (Qwertz)", - "Belgian French keyboard layout": "Belgian French (Azerty)", - "Turkey keyboard layout": "Turkish-Q (Qwerty)", - "Login reminder": "ログインリマインダー", - "ACL reject login asset": "アクセス制御ポリシーの制限により、このログインは拒否されました", - "Need review for login asset": "このログインは手動で確認する必要があります。続行しますか?", - "Ticket review pending for login asset": "ログイン アプリケーションが送信され、承認者が確認するのを待っています。リンクをコピーして承認者に送信することもできます。", - "Assignees": "受信者", - "Do not close this page": "このページを閉じないでください", - "Ticket review rejected for login asset": "このログイン レビューは拒否されたため、アセットを接続できません", - "Ticket review closed for login asset": "このログイン レビューは終了しており、アセットを接続できません", - "Account not found": "アカウントが見つかりません", - "Copy link": "リンクをコピーする", - "Login review approved": "ログイン監査に合格し、アセットを接続しています...", - "No account available": "アカウントがありません", - "Set reusable": "再利用可能な", - "Re-use for a long time after opening": "開いた後、長い間再利用する", - "Charset": "文字セット", - "The connection method is invalid, please refresh the page": "接続方法が無効です。ページを更新してください", - "Special account": "特別なアカウント", - "Database token help text": " クライアントが接続するデータベースの種類のトークンは、コンポーネントによって5分間キャッシュされます。つまり、トークンは使用後すぐに無効になるわけではありませんが、クライアントが切断されてから5分後に無効になります", - "Help text": "します", - "Pause task has been send": "一時停止タスクが送信されました", - "Resume task has been send": "タスクが再開されました", - "Action: ": "アクション: ", - "Pause": "タスクを一時停止", - "Resume": "タスクを再開", - "connect info": "接続情報", - "Connect command line": "接続コマンドライン", - "Using token": "トークンを使用する", - "Directly": "直接接続", - "Connect checked": "接続済み", - "Batch actions": "バッチ操作", - "Expand": "展開", - "Fold": "折りたたみ", - "Expand all": "すべて展開", - "Fold all": "すべて折りたたみ", - "Password is token password on the table": "パスワードは、テーブルのトークンパスワードです", - "Password is your password login to system": "パスワードは、システムにログインするためのパスワードです", - "Current online": "現在オンライン", - "Token expired": "トークンの有効期限が切れました", - "No protocol available": "利用可能なプロトコルがありません", - "Stop": "Stop", - "VirtualApp": "仮想アプリケーション" -} + "ACL reject login asset": "アクセス制御ポリシーの制限により、このログインは拒否されました", + "Account info": "アカウント情報", + "Account not found": "アカウントが見つかりません", + "Account: ": "アカウント: {{value}}", + "Action: ": "アクション: ", + "Advanced option": "上級オプション", + "All sessions": "すべてのセッション", + "Applet": "アプレット", + "Applet connect method": "アプレット接続方法", + "Are you sure to reconnect it?(RDP not support)": "本当に再接続しますか? (RDPは一時的にサポートしていない)", + "Asset disabled": "この資産はすでに無効になっている場合、管理者に連絡してください", + "Asset not found or You have no permission to access it, please refresh asset tree": "アセットが見つからないか、アクセスする権限がありません。アセット ツリーを更新してください", + "Asset tree loading method": "資産ツリーのロード方法の設定", + "Asset: ": "アセット: {{value}}", + "Assignees": "受信者", + "Automatic login next": "次回の自動登録 (右クリック資産接続は再選択できます)", + "Backspace as Ctrl+H": "文字端末backspacas Ctrl H", + "Batch actions": "バッチ操作", + "Batch connect": "バッチ接続", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "CLI": "コマンドライン", + "CLI font size": "文字端末のフォントサイズ", + "Cancel": "キャンセル", + "Charset": "文字セット", + "Checkbox": "複数選択", + "Choose a User": "ユーザーを選択します", + "Click to copy": "クリックしてコピーする", + "Client": "お客様", + "Clone Connect": "コピーウィンドウ", + "Close": "閉鎖", + "Close All Tabs": "すべてを閉じる", + "Close Current Tab": "現在を閉じる", + "Close Left Tabs": "左側を閉じる", + "Close Other Tabs": "その他を閉じる", + "Close Right Tabs": "右側を閉じる", + "Close split connect": "分割表示を閉じる", + "Command Line": "コマンドライン", + "Command line": "命令行", + "Confirm": "確認", + "Connect": "接続", + "Connect Method": "接続方法", + "Connect checked": "接続済み", + "Connect command line": "接続コマンドライン", + "Copied": "複製済み", + "Copy link": "リンクをコピーする", + "Current online": "現在オンライン", + "Current session": "現在のセッション", + "Database": "データベース", + "Database disabled": "このリンク方式をサポートしていない、管理者に連絡してください", + "Database info": "データベース接続情報", + "Database token help text": " クライアントが接続するデータベースの種類のトークンは、コンポーネントによって5分間キャッシュされます。つまり、トークンは使用後すぐに無効になるわけではありませんが、クライアントが切断されてから5分後に無効になります", + "Databases": "データベース", + "Directly": "直接接続", + "Disable auto completion": "自動補完の無効化", + "Disconnect": "リンクを切断", + "Disfavor": "コレクションをキャンセル", + "Do not close this page": "このページを閉じないでください", + "Document": "ドキュメント", + "Don't prompt again": "次回は提示しない", + "Download": "ダウンロード", + "Download the latest client": "最新クライアントのダウンロード", + "Driver redirect": "ディスクマウント", + "Expand": "展開", + "Expand all": "すべて展開", + "Expand all asset": "現在のノードの下にあるすべてのアセットを展開", + "Expire time": "期限切れ", + "Failed to open address": "アドレスを開くことができませんでした", + "Favorite": "コレクション", + "File Manager": "ファイル管理", + "Fold": "折りたたみ", + "Fold all": "すべて折りたたみ", + "Force refresh": "強制更新", + "Found": "発見", + "French keyboard layout": "French (Azerty)", + "Full Screen": "全画面表示", + "Full screen": "全画面", + "GUI": "グラフィカル", + "General": "基本構成", + "Help": "ヘルプ", + "Help or download": "ヘルプ → ダウンロード", + "Help text": "します", + "Hide left manager": "左サイドバーを非表示", + "Host": "ホスト", + "Info": "ヒント", + "InstallClientMsg": "JumpServerクライアントがインストールされていない、今ダウンロードしてインストールしますか?", + "Japanese keyboard layout": "Japanese (Qwerty)", + "Keyboard keys": "Option + Left / Option + Right", + "Keyboard layout": "キーボードレイアウト", + "Keyboard switch session": "セッションの切り替え → ショートカットキー", + "Kubernetes": "Kubernetes", + "Language": "言語", + "Last login": "前回ログイン", + "Launch Program": "起動プログラム", + "LeftInfo": "コマンドログをクリックして迅速に定位できるビデオ", + "Load tree async": "アセットツリーの非同期ロード", + "Loading": "ロード中", + "Log out": "ログインを終了", + "Login reminder": "ログインリマインダー", + "Login review approved": "ログイン監査に合格し、アセットを接続しています...", + "LoginExpireMsg": "ログインが期限切れになりました。ログインし直してください", + "Manual accounts": "手動アカウント", + "Module": "ユニット", + "Multi Screen": "マルチスクリーン", + "My applications": "私の応用", + "My assets": "マイ資産", + "Name": "めいしょう", + "Native": "クライアント", + "Need review for login asset": "このログインは手動で確認する必要があります。続行しますか?", + "Need to use": "使用する必要がある", + "No": "いいえ", + "No account available": "アカウントがありません", + "No available connect method": "接続方法がありません", + "No matching found": "マッチがありません", + "No permission": "権限がありません", + "No protocol available": "利用可能なプロトコルがありません", + "Normal accounts": "通常のログインアカウント", + "Not quick command": "非高速コマンド", + "Open in new window": "新しいウィンドウが開きます", + "Password": "パスワード", + "Password is token password on the table": "パスワードは、テーブルのトークンパスワードです", + "Password is your password login to system": "パスワードは、システムにログインするためのパスワードです", + "Pause": "タスクを一時停止", + "Pause task has been send": "一時停止タスクが送信されました", + "Please choose an account": "ユーザーを選択してください", + "Please input password": "パスワードを入力してください", + "Port": "ポート", + "Protocol": "プロトコル", + "Protocol: ": "プロトコル: {{value}}", + "RDP Client": "RDPクライアント", + "RDP File": "RDPファイル", + "RDP client options": "RDPクライアントオプション", + "RDP color quality": "RDP 色品質", + "RDP resolution": "RDP 解像度", + "RDP smart size": "RDP スマート・サイズ", + "Re-use for a long time after opening": "開いた後、長い間再利用する", + "Reconnect": "再接続", + "Refresh": "リフレッシュ", + "Remember password": "パスワードを覚える", + "Remember select": "選択を覚える", + "Remote apps": "リモートアプリケーション", + "Reselect connection method": "資産の接続方法の再選択", + "Resume": "タスクを再開", + "Resume task has been send": "タスクが再開されました", + "Right click asset": "右クリック資産", + "Right click node": "右クリックノード", + "Right mouse quick paste": "右クイック貼り付け", + "Run it by client": "クライアントで実行する", + "SQL Client": "SQLクライアント", + "Save command": "保存コマンド", + "Save success": "保存に成功", + "Search": "検索", + "Select account": "システムユーザーの選択", + "Send command": "コマンドを送信", + "Send text to all ssh terminals": "すべてのssh端末にテキストを送信します", + "Set reusable": "再利用可能な", + "Setting": "設定", + "Settings or basic settings": "設定 → 基本設定", + "Show left manager": "左サイドバーを表示", + "Skip": "スキップ", + "Skip manual password": "手動パスワードウィンドウをスキップします", + "Special account": "特別なアカウント", + "Special accounts": "特別ログインアカウント", + "Speed": "スピード", + "Split connect": "スクリーン接続", + "Split connect number": "1つのセッションで最大3つの画面分割接続をサポート", + "Split vertically": "垂直分割", + "Start Time: ": "開始時間: {{value}}", + "Stop": "Stop", + "Support": "サポート", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Switch to input command": "入力コマンドに切り替え", + "Switch to quick command": "クイックコマンドに切り替え", + "Tab List": "ウィンドウリスト", + "The connection method is invalid, please refresh the page": "接続方法が無効です。ページを更新してください", + "Ticket review closed for login asset": "このログイン レビューは終了しており、アセットを接続できません", + "Ticket review pending for login asset": "ログイン アプリケーションが送信され、承認者が確認するのを待っています。リンクをコピーして承認者に送信することもできます。", + "Ticket review rejected for login asset": "このログイン レビューは拒否されたため、アセットを接続できません", + "Tips": "ヒント", + "Token expired": "トークンの有効期限が切れました", + "Tool download": "ツールダウンロード", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Type tree": "タイプツリー", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "User: ": "ユーザー: {{value}}", + "Username": "ユーザー名", + "Username@Domain": "ユーザー名 @ ADドメイン", + "Users": "ユーザー", + "Using token": "トークンを使用する", + "View": "ビュー", + "VirtualApp": "仮想アプリケーション", + "Web Terminal": "Web端末", + "Website": "公式サイト", + "Yes": "はい", + "asset": "資産", + "cols": "列数", + "confirm": "確認", + "connect info": "接続情報", + "download": "ダウンロード", + "rows": "行数", + "start time": "開始時間", + "success": "成功", + "system user": "システムユーザー", + "user": "ユーザー" +} \ No newline at end of file diff --git a/apps/locale/luna/zh.json b/apps/locale/luna/zh.json index 34b5261f7..2c5b9f527 100644 --- a/apps/locale/luna/zh.json +++ b/apps/locale/luna/zh.json @@ -1,209 +1,208 @@ { - "Are you sure to reconnect it?(RDP not support)": "确定要重新连接吗? (RDP暂不支持)", - "Reselect connection method": "可重新选择连接方式", - "Right click asset": "右击资产 → 连接", - "Expand all asset": "展开节点下的所有资产", - "Right click node": "右击节点 → 展开全部", - "Asset tree loading method": "配置资产树加载方式", - "Settings or basic settings": "菜单设置 → 基本设置", - "Download the latest client": "下载最新客户端", - "Help or download": "菜单帮助 → 下载", - "Keyboard switch session": "切换会话 → 快捷键", - "Keyboard keys": "Option + Left / Option + Right", - "Cancel": "取消", - "Choose a User": "选择一个用户", - "Clone Connect": "复制窗口", - "Close All Tabs": "关闭所有", - "Close Current Tab": "关闭当前", - "Close Left Tabs": "关闭左侧", - "Close Other Tabs": "关闭其它", - "Close Right Tabs": "关闭右侧", - "Confirm": "确认", - "Connect": "连接", - "Disconnect": "断开链接", - "Disfavor": "取消收藏", - "Document": "文档", - "Favorite": "收藏", - "File Manager": "文件管理", - "CLI font size": "字符终端字体大小", - "Found": "发现", - "Full Screen": "全屏显示", - "Multi Screen": "多屏显示", - "Help": "帮助", - "Hide left manager": "隐藏左边栏", - "Language": "语言", - "Load tree async": "异步加载资产树", - "Backspace as Ctrl+H": "字符终端Backspace As Ctrl+H", - "Loading": "加载中", - "Password": "密码", - "Please choose an account": "请选择一个用户", - "Please input password": "请输入密码", - "Reconnect": "重新连接", - "Search": "搜索", - "Refresh": "刷新", - "Checkbox": "多选", - "Batch connect": "批量连接", - "RDP resolution": "RDP 分辨率", - "RDP smart size": "RDP 智能大小", - "RDP color quality": "RDP 颜色质量", - "Send text to all ssh terminals": "发送文本到所有ssh终端", - "Switch to quick command": "切换到快捷命令", - "Switch to input command": "切换到输入命令", - "Not quick command": "暂无快捷命令", - "Save command": "保存命令", - "Save success": "保存成功", - "Send command": "发送命令", - "Current session": "当前会话", - "All sessions": "全部会话", - "Module": "模块", - "Setting": "设置", - "Show left manager": "显示左边栏", - "Skip": "跳过", - "Skip manual password": "跳过手动密码窗", - "Speed": "速度", - "Support": "支持", - "Tab List": "窗口列表", - "Username": "用户名", - "Expire time": "过期时间", - "Users": "用户", - "View": "视图", - "Website": "官网", - "asset": "资产", - "cols": "列数", - "confirm": "确认", - "download": "下载", - "rows": "行数", - "start time": "开始时间", - "success": "成功", - "system user": "系统用户", - "user": "用户", - "Open in new window": "新窗口打开", - "Split connect": "分屏连接", - "Split vertically": "垂直分屏", - "Close split connect": "关闭分屏", - "Split connect number": "一个会话最多支持3个分屏连接", - "Right mouse quick paste": "右键快速粘贴", - "SQL Client": "SQL 客户端", - "Database disabled": "不支持此种链接方式,请联系管理员", - "Info": "提示", - "LeftInfo": "点击命令记录可快速定位录像", - "Asset disabled": "该资产已被禁用,请联系管理员", - "User: ": "用户: {{value}}", - "Asset: ": "资产: {{value}}", - "Account: ": "账号: {{value}}", - "Start Time: ": "开始时间: {{value}}", - "Protocol: ": "协议: {{value}}", - "My assets": "我的资产", - "My applications": "我的应用", - "Type tree": "类型树", - "Databases": "数据库", - "Remote apps": "远程应用", - "Kubernetes": "Kubernetes", - "Command Line": "命令行", - "Force refresh": "强制刷新", - "Select account": "选择账号", - "No matching found": "没有匹配项", - "Connect Method": "连接方式", - "No available connect method": "没有可用的连接方法", - "Need to use": "需要使用", - "Yes": "是", - "No": "否", - "Web Terminal": "Web终端", - "Remember password": "记住密码", - "Account info": "账号信息", - "Download": "下载", - "Tool download": "工具下载", - "Launch Program": "启动程序", - "RDP client options": "RDP 客户端选项", - "Full screen": "全屏", - "Driver redirect": "磁盘挂载", - "RDP Client": "RDP 客户端", - "RDP File": "RDP 文件", - "Remember select": "记住选择", - "Automatic login next": "下次自动登录 (右击资产连接可以重新选择)", - "Don't prompt again": "下次不再提示", - "Username@Domain": "用户名@AD域", - "InstallClientMsg": "JumpServer 客户端没有安装,现在去下载安装?", - "LoginExpireMsg": "登录已过期,请重新登录", - "No permission": "没有权限", - "Last login": "上次登录", - "Log out": "退出登录", - "Host": "主机", - "Port": "端口", - "User": "用户", - "Disable auto completion": "禁用自动补全", - "Advanced option": "高级选项", - "Protocol": "协议", - "Database": "数据库", - "Click to copy": "点击复制", - "Copied": "已复制", - "Database info": "数据库信息", - "Database connect info": "数据库连接信息", - "Command line": "连接命令行", - "Run it by client": "使用客户端执行", - "Name": "名称", - "Failed to open address": "打开地址失败", - "With secret accounts": "托管账号", - "Manual accounts": "手动账号", - "Native": "客户端", - "Applet": "远程应用", - "GUI": "图形化", - "Tips": "提示", - "Asset not found or You have no permission to access it, please refresh asset tree": "未找到资产或您无权访问它,请刷新资产树", - "CLI": "命令行", - "Close": "关闭", - "General": "基本配置", - "Applet connect method": "远程应用连接方式", - "Client": "客户端", - "Charset": "字符集", - "Keyboard layout": "键盘布局", - "UK English keyboard layout": "UK English (Qwerty)", - "US English keyboard layout": "US English (Qwerty)", - "Japanese keyboard layout": "Japanese (Qwerty)", - "French keyboard layout": "French (Azerty)", - "Swiss French keyboard layout": "Swiss French (Qwertz)", - "Belgian French keyboard layout": "Belgian French (Azerty)", - "Turkey keyboard layout": "Turkish-Q (Qwerty)", - "Login reminder": "登录提醒", - "ACL reject login asset": "本次登录已拒绝,原因是访问控制策略的限制", - "Need review for login asset": "本次登录需要进行人工审核,是否继续?", - "Ticket review pending for login asset": "登录申请已提交,等待受理人进行复核,你也可以复制链接发给他", - "Assignees": "受理人", - "Do not close this page": "不要关闭本页面", - "Ticket review approved for login asset": "本次登录审核已通过,是否连接资产?", - "Ticket review rejected for login asset": "本次登录审核已拒绝,不能连接资产", - "Ticket review closed for login asset": "本次登录审核已关闭,不能连接资产", - "Account not found": "账号未找到", - "Copy link": "复制链接", - "Login review approved": "登录审核已通过, 正在连接资产...", - "No account available": "没有可用账号", - "Set reusable": "开启复用", - "Re-use for a long time after opening": "开启后该连接信息可长时间多次使用", - "The connection method is invalid, please refresh the page": "该连接方式已失效,请刷新页面", - "Special accounts": "特殊账号", - "Database token help text": "数据库类型 token 会缓存 5 分钟,也就是说 token 使用后,不会立刻失效,而是客户端断开 5 分钟后,这个 token 才会完全失效", - "Help text": "说明", - "Pause task has been send": "暂停任务已发送", - "Resume task has been send": "恢复任务已发送", - "Action: ": "操作: ", - "Pause": "暂停", - "Resume": "恢复", - "connect info": "连接信息", - "Connect command line": "连接命令行", - "Using token": "使用 Token", - "Directly": "用户名指定连接的资产和账号", - "Connect checked": "连接选中", - "Batch actions": "批量操作", - "Expand": "展开", - "Fold": "折叠", - "Expand all": "展开全部", - "Fold all": "折叠全部", - "Password is token password on the table": "密码是表格中的 Token 密码", - "Password is your password login to system": "密码是你登录系统的密码", - "Current online": "当前在线", - "Token expired": "Token 已过期, 请重新连接", - "No protocol available": "没有可用的协议", - "Stop": "停止", - "VirtualApp": "虚拟应用" -} - + "ACL reject login asset": "本次登录已拒绝,原因是访问控制策略的限制", + "Account info": "账号信息", + "Account not found": "账号未找到", + "Account: ": "账号: {{value}}", + "Action: ": "操作: ", + "Advanced option": "高级选项", + "All sessions": "全部会话", + "Applet": "远程应用", + "Applet connect method": "远程应用连接方式", + "Are you sure to reconnect it?(RDP not support)": "确定要重新连接吗? (RDP暂不支持)", + "Asset disabled": "该资产已被禁用,请联系管理员", + "Asset not found or You have no permission to access it, please refresh asset tree": "未找到资产或您无权访问它,请刷新资产树", + "Asset tree loading method": "配置资产树加载方式", + "Asset: ": "资产: {{value}}", + "Assignees": "受理人", + "Automatic login next": "下次自动登录 (右击资产连接可以重新选择)", + "Backspace as Ctrl+H": "字符终端Backspace As Ctrl+H", + "Batch actions": "批量操作", + "Batch connect": "批量连接", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "CLI": "命令行", + "CLI font size": "字符终端字体大小", + "Cancel": "取消", + "Charset": "字符集", + "Checkbox": "多选", + "Choose a User": "选择一个用户", + "Click to copy": "点击复制", + "Client": "客户端", + "Clone Connect": "复制窗口", + "Close": "关闭", + "Close All Tabs": "关闭所有", + "Close Current Tab": "关闭当前", + "Close Left Tabs": "关闭左侧", + "Close Other Tabs": "关闭其它", + "Close Right Tabs": "关闭右侧", + "Close split connect": "关闭分屏", + "Command Line": "命令行", + "Command line": "连接命令行", + "Confirm": "确认", + "Connect": "连接", + "Connect Method": "连接方式", + "Connect checked": "连接选中", + "Connect command line": "连接命令行", + "Copied": "已复制", + "Copy link": "复制链接", + "Current online": "当前在线", + "Current session": "当前会话", + "Database": "数据库", + "Database connect info": "数据库连接信息", + "Database disabled": "不支持此种链接方式,请联系管理员", + "Database info": "数据库信息", + "Database token help text": "数据库类型 token 会缓存 5 分钟,也就是说 token 使用后,不会立刻失效,而是客户端断开 5 分钟后,这个 token 才会完全失效", + "Databases": "数据库", + "Directly": "用户名指定连接的资产和账号", + "Disable auto completion": "禁用自动补全", + "Disconnect": "断开链接", + "Disfavor": "取消收藏", + "Do not close this page": "不要关闭本页面", + "Document": "文档", + "Don't prompt again": "下次不再提示", + "Download": "下载", + "Download the latest client": "下载最新客户端", + "Driver redirect": "磁盘挂载", + "Expand": "展开", + "Expand all": "展开全部", + "Expand all asset": "展开节点下的所有资产", + "Expire time": "过期时间", + "Failed to open address": "打开地址失败", + "Favorite": "收藏", + "File Manager": "文件管理", + "Fold": "折叠", + "Fold all": "折叠全部", + "Force refresh": "强制刷新", + "Found": "发现", + "French keyboard layout": "French (Azerty)", + "Full Screen": "全屏显示", + "Full screen": "全屏", + "GUI": "图形化", + "General": "基本配置", + "Help": "帮助", + "Help or download": "菜单帮助 → 下载", + "Help text": "说明", + "Hide left manager": "隐藏左边栏", + "Host": "主机", + "Info": "提示", + "InstallClientMsg": "JumpServer 客户端没有安装,现在去下载安装?", + "Japanese keyboard layout": "Japanese (Qwerty)", + "Keyboard keys": "Option + Left / Option + Right", + "Keyboard layout": "键盘布局", + "Keyboard switch session": "切换会话 → 快捷键", + "Kubernetes": "Kubernetes", + "Language": "语言", + "Last login": "上次登录", + "Launch Program": "启动程序", + "LeftInfo": "点击命令记录可快速定位录像", + "Load tree async": "异步加载资产树", + "Loading": "加载中", + "Log out": "退出登录", + "Login reminder": "登录提醒", + "Login review approved": "登录审核已通过, 正在连接资产...", + "LoginExpireMsg": "登录已过期,请重新登录", + "Manual accounts": "手动账号", + "Module": "模块", + "Multi Screen": "多屏显示", + "My applications": "我的应用", + "My assets": "我的资产", + "Name": "名称", + "Native": "客户端", + "Need review for login asset": "本次登录需要进行人工审核,是否继续?", + "Need to use": "需要使用", + "No": "否", + "No account available": "没有可用账号", + "No available connect method": "没有可用的连接方法", + "No matching found": "没有匹配项", + "No permission": "没有权限", + "No protocol available": "没有可用的协议", + "Not quick command": "暂无快捷命令", + "Open in new window": "新窗口打开", + "Password": "密码", + "Password is token password on the table": "密码是表格中的 Token 密码", + "Password is your password login to system": "密码是你登录系统的密码", + "Pause": "暂停", + "Pause task has been send": "暂停任务已发送", + "Please choose an account": "请选择一个用户", + "Please input password": "请输入密码", + "Port": "端口", + "Protocol": "协议", + "Protocol: ": "协议: {{value}}", + "RDP Client": "RDP 客户端", + "RDP File": "RDP 文件", + "RDP client options": "RDP 客户端选项", + "RDP color quality": "RDP 颜色质量", + "RDP resolution": "RDP 分辨率", + "RDP smart size": "RDP 智能大小", + "Re-use for a long time after opening": "开启后该连接信息可长时间多次使用", + "Reconnect": "重新连接", + "Refresh": "刷新", + "Remember password": "记住密码", + "Remember select": "记住选择", + "Remote apps": "远程应用", + "Reselect connection method": "可重新选择连接方式", + "Resume": "恢复", + "Resume task has been send": "恢复任务已发送", + "Right click asset": "右击资产 → 连接", + "Right click node": "右击节点 → 展开全部", + "Right mouse quick paste": "右键快速粘贴", + "Run it by client": "使用客户端执行", + "SQL Client": "SQL 客户端", + "Save command": "保存命令", + "Save success": "保存成功", + "Search": "搜索", + "Select account": "选择账号", + "Send command": "发送命令", + "Send text to all ssh terminals": "发送文本到所有ssh终端", + "Set reusable": "开启复用", + "Setting": "设置", + "Settings or basic settings": "菜单设置 → 基本设置", + "Show left manager": "显示左边栏", + "Skip": "跳过", + "Skip manual password": "跳过手动密码窗", + "Special accounts": "特殊账号", + "Speed": "速度", + "Split connect": "分屏连接", + "Split connect number": "一个会话最多支持3个分屏连接", + "Split vertically": "垂直分屏", + "Start Time: ": "开始时间: {{value}}", + "Stop": "停止", + "Support": "支持", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Switch to input command": "切换到输入命令", + "Switch to quick command": "切换到快捷命令", + "Tab List": "窗口列表", + "The connection method is invalid, please refresh the page": "该连接方式已失效,请刷新页面", + "Ticket review approved for login asset": "本次登录审核已通过,是否连接资产?", + "Ticket review closed for login asset": "本次登录审核已关闭,不能连接资产", + "Ticket review pending for login asset": "登录申请已提交,等待受理人进行复核,你也可以复制链接发给他", + "Ticket review rejected for login asset": "本次登录审核已拒绝,不能连接资产", + "Tips": "提示", + "Token expired": "Token 已过期, 请重新连接", + "Tool download": "工具下载", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Type tree": "类型树", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "User": "用户", + "User: ": "用户: {{value}}", + "Username": "用户名", + "Username@Domain": "用户名@AD域", + "Users": "用户", + "Using token": "使用 Token", + "View": "视图", + "VirtualApp": "虚拟应用", + "Web Terminal": "Web终端", + "Website": "官网", + "With secret accounts": "托管账号", + "Yes": "是", + "asset": "资产", + "cols": "列数", + "confirm": "确认", + "connect info": "连接信息", + "download": "下载", + "rows": "行数", + "start time": "开始时间", + "success": "成功", + "system user": "系统用户", + "user": "用户" +} \ No newline at end of file diff --git a/apps/locale/sort_json.py b/apps/locale/sort_json.py new file mode 100644 index 000000000..24db7404f --- /dev/null +++ b/apps/locale/sort_json.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +# + +import json +import os + + +def sort_json(json_file): + with open(json_file, 'r') as f: + json_data = json.load(f) + + with open(json_file, 'w') as f: + json.dump(json_data, f, indent=4, sort_keys=True, ensure_ascii=False) + + +def walk_dir(dir_path): + for root, dirs, files in os.walk(dir_path): + for file in files: + if file.endswith('.json'): + sort_json(os.path.join(root, file)) + + +if __name__ == '__main__': + base_dir = os.path.dirname(os.path.abspath(__file__)) + walk_dir(base_dir) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index d4228b920..12dd15869 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -162,6 +162,9 @@ class UserSerializer(RolesSerializerMixin, CommonBulkSerializerMixin, ResourceLa "allow_null": True, "allow_blank": True, }, + "groups": { + "label": _("Groups"), + }, "public_key": {"write_only": True}, "is_first_login": {"label": _("Is first login"), "read_only": True}, "is_active": {"label": _("Is active")}, From fdaec3c959727798d3cf9cc352a6d61c3fee2a10 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:41:50 +0800 Subject: [PATCH 005/343] perf: Modify i18n for settings module. (#12543) Co-authored-by: Bai --- apps/locale/core/ja/LC_MESSAGES/django.po | 12 ++++----- apps/locale/core/zh/LC_MESSAGES/django.po | 12 ++++----- apps/locale/lina/en.json | 31 ++++++++--------------- apps/settings/serializers/auth/base.py | 2 +- apps/settings/serializers/auth/oidc.py | 2 +- apps/settings/serializers/basic.py | 4 +-- apps/settings/serializers/feature.py | 4 +-- 7 files changed, 29 insertions(+), 38 deletions(-) diff --git a/apps/locale/core/ja/LC_MESSAGES/django.po b/apps/locale/core/ja/LC_MESSAGES/django.po index b566534c4..04e0a5b28 100644 --- a/apps/locale/core/ja/LC_MESSAGES/django.po +++ b/apps/locale/core/ja/LC_MESSAGES/django.po @@ -5019,7 +5019,7 @@ msgid "Passkey Auth" msgstr "Passkey 認証" #: settings/serializers/auth/base.py:26 -msgid "Forgot password url" +msgid "Forgot Password URL" msgstr "パスワードのURLを忘れた" #: settings/serializers/auth/base.py:29 @@ -5184,7 +5184,7 @@ msgid "OIDC" msgstr "OIDC" #: settings/serializers/auth/oidc.py:16 -msgid "Base site url" +msgid "Base site URL" msgstr "ベースサイトのアドレス" #: settings/serializers/auth/oidc.py:32 @@ -5430,7 +5430,7 @@ msgid "Enable WeCom Auth" msgstr "企業微信認証の有効化" #: settings/serializers/basic.py:11 -msgid "Site url" +msgid "Site URL" msgstr "サイトURL" #: settings/serializers/basic.py:13 @@ -5450,7 +5450,7 @@ msgid "User first login update profile done redirect to it" msgstr "ユーザーの最初のログイン更新プロファイルがリダイレクトされました" #: settings/serializers/basic.py:22 -msgid "Global organization name" +msgid "Global organization" msgstr "グローバル組織名" #: settings/serializers/basic.py:23 @@ -5526,7 +5526,7 @@ msgid "Subject" msgstr "件名" #: settings/serializers/feature.py:22 -msgid "More url" +msgid "More URL" msgstr "もっとURL" #: settings/serializers/feature.py:36 settings/serializers/feature.py:39 @@ -5569,7 +5569,7 @@ msgid "Enable Chat AI" msgstr "チャットAIを起動する" #: settings/serializers/feature.py:78 -msgid "Base Url" +msgid "Base URL" msgstr "基本的なUrl" #: settings/serializers/feature.py:81 templates/_header_bar.html:90 diff --git a/apps/locale/core/zh/LC_MESSAGES/django.po b/apps/locale/core/zh/LC_MESSAGES/django.po index 335b5d3de..f5f900e9e 100644 --- a/apps/locale/core/zh/LC_MESSAGES/django.po +++ b/apps/locale/core/zh/LC_MESSAGES/django.po @@ -4964,7 +4964,7 @@ msgid "Passkey Auth" msgstr "Passkey 认证" #: settings/serializers/auth/base.py:26 -msgid "Forgot password url" +msgid "Forgot Password URL" msgstr "忘记密码 URL" #: settings/serializers/auth/base.py:29 @@ -5129,7 +5129,7 @@ msgid "OIDC" msgstr "OIDC" #: settings/serializers/auth/oidc.py:16 -msgid "Base site url" +msgid "Base site URL" msgstr "JumpServer 地址" #: settings/serializers/auth/oidc.py:32 @@ -5372,7 +5372,7 @@ msgid "Enable WeCom Auth" msgstr "启用企业微信认证" #: settings/serializers/basic.py:11 -msgid "Site url" +msgid "Site URL" msgstr "当前站点 URL" #: settings/serializers/basic.py:13 @@ -5392,7 +5392,7 @@ msgid "User first login update profile done redirect to it" msgstr "用户第一次登录,修改profile后重定向到地址, 可以是 wiki 或 其他说明文档" #: settings/serializers/basic.py:22 -msgid "Global organization name" +msgid "Global organization" msgstr "全局组织名" #: settings/serializers/basic.py:23 @@ -5467,7 +5467,7 @@ msgid "Subject" msgstr "主题" #: settings/serializers/feature.py:22 -msgid "More url" +msgid "More URL" msgstr "更多信息 URL" #: settings/serializers/feature.py:36 settings/serializers/feature.py:39 @@ -5509,7 +5509,7 @@ msgid "Enable Chat AI" msgstr "启动聊天 AI" #: settings/serializers/feature.py:78 -msgid "Base Url" +msgid "Base URL" msgstr "基本地址" #: settings/serializers/feature.py:81 templates/_header_bar.html:90 diff --git a/apps/locale/lina/en.json b/apps/locale/lina/en.json index 41c50959f..8fc67c281 100644 --- a/apps/locale/lina/en.json +++ b/apps/locale/lina/en.json @@ -95,7 +95,6 @@ "AdminUserList": "Admin Users", "AdminUserListHelpMessage": "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL sudo permissions users, JumpServer users of the system using the user to `push system user`, `get assets hardware information`, etc.\n", "AdminUserUpdate": "Admin user update", - "AdminUsersAmount": "Admin users amount", "Advanced": "Advanced", "AfterChange": "After the change", "AjaxError404": "404 ajax error", @@ -116,7 +115,6 @@ "ApiKeyList": "The API key is used to sign the request header. The header of each request is different. Please refer to the usage documentation", "ApiKeyWarning": "To reduce the risk of AccessKey exposure, Secret is provided only during creation and cannot be queried again later. Please keep it safe.", "App": "Application", - "AppAmount": "Application amount", "AppAuth": "App auth", "AppChangeAuthPlan": "App Change Auth Plan", "AppChangeAuthPlanCreate": "Create App change auth plan", @@ -126,7 +124,6 @@ "AppName": "App name", "AppOps": "Task center", "AppPath": "App path", - "AppPermsAmount": "App perms amount", "AppProvider": "App provider", "AppProviderDetail": "Provider Detail", "AppType": "App type", @@ -150,7 +147,6 @@ "ApplicationPermissionRules": "Application permission rules", "ApplicationPermissionUpdate": "Application permission update", "Applications": "Applications", - "ApplicationsAmount": "Applications amount", "ApplyAsset": "Apply asset", "ApplyFromCMDFilterRule": "Command filter rule", "ApplyFromSession": "Session", @@ -182,7 +178,7 @@ "AssetAddress": "IP/Host", "AssetAmount": "Asset", "AssetAndNode": "Assets and node", - "AssetBulkUpdateTips": "device、cloud、web,Batch update of domain is not supported", + "AssetBulkUpdateTips": "device、cloud、web, Batch update of domain is not supported", "AssetChangeAuthPlan": "Asset Change Auth Plan", "AssetChangeAuthPlanCreate": "Create Asset change auth plan", "AssetChangeAuthPlanUpdate": "Update Asset change auth plan", @@ -206,7 +202,7 @@ "AssetPermissionList": "Asset permission list", "AssetPermissionRules": "Asset permission rules", "AssetPermissionUpdate": "Asset permissions update", - "AssetPermsAmount": "Asset perms amount", + "AssetPermsAmount": "Permissions", "AssetProtocolHelpText": "Asset support protocol is limited by platform, click the Settings button to view the protocol settings. If you need to update, please update the platform", "AssetRatio": "Asset radio", "AssetResultDetail": "Asset result", @@ -214,7 +210,7 @@ "AssetUpdate": "Asset update", "AssetUserList": "Asset user", "Assets": "Assets", - "AssetsAmount": "Assets amount", + "AssetsAmount": "Assets", "AssetsTotal": "Asset total", "AssignedInfo": "Assigned Info", "AssignedMe": "Assigned me", @@ -229,7 +225,7 @@ "AttrValue": "Attribute Value", "Auditor": "Auditor", "Audits": "Audit", - "Auth": "Auth", + "Auth": "Authentications", "AuthCASAttrMap": "User Attribute Mapping", "AuthLdap": "Enable LDAP auth", "AuthLdapBindDn": "Bind DN", @@ -271,7 +267,7 @@ "BasePlatform": "Base platform", "BasePort": "listening port", "Basic": "Basic", - "BasicInfo": "Basic info", + "BasicInfo": "Basic information", "BasicSetting": "Basic setting", "BasicTools": "Basic tool", "BatchActivate": "Batch activate", @@ -336,7 +332,7 @@ "ChangeViewHelpText": "Click to change view", "Charset": "Charset", "Chat": "Chat", - "ChatAI": "Chat ai", + "ChatAI": "Chat AI", "ChatHello": "Hello! What help can I offer you?", "ChdirHelpText": "The default execution directory is the home directory of the executing user", "CheckAssetsAmount": "Check assets amount", @@ -736,7 +732,7 @@ "GrantedK8Ss": "Granted K8Ss", "GrantedRemoteApps": "Granted remote apps", "GreatEqualThan": "Greater than or equal to", - "GroupsAmount": "Groups amount", + "GroupsAmount": "Groups", "GroupsHelpMessage": "Please fill in user groups, separated by commas if there are multiple user groups(Please fill in the existing user groups)", "Guide": "Guide", "HandleTicket": "Handle Ticket", @@ -1524,7 +1520,7 @@ "SignaturesAndTemplates": "Signatures and Templates", "SiteMessage": "Site messages", "SiteMessageList": "Site message", - "SiteUrl": "Current SITE URL", + "SiteUrl": "Current Site URL", "Skip": "Ignore current asset", "Skipped": "Skipped", "Slack": "Slack", @@ -1608,17 +1604,12 @@ "SystemSetting": "System setting", "SystemTools": "Tools", "SystemUser": "System user", - "SystemUserAmount": "SystemUser amount", - "SystemUserCount": "System user count", - "SystemUserCreate": "System user create", - "SystemUserDetail": "System user detail", "SystemUserId": "SystemUser Id", "SystemUserList": "System Users", "SystemUserListHelpMessage": "System user is the account JumpServer used to log into the asset, such as using root `ssh root@host`, rather than the current user username(ssh admin@host)`;
Admin user is the account that already exists on an asset, and have privileged permissions, JumpServer using this create common system user, and gather hardware Etc;
Common user can pre-exist assets or created automatically by the admin user.", "SystemUserName": "System username", "SystemUserUpdate": "System user update", "SystemUsers": "System users", - "SystemUsersAmount": "System users amount", "SystemUsersNameGroup": "Systemuser name", "SystemUsersProtocolGroup": "Systemuser protocol", "SystemUsersUsernameGroup": "systemuser username", @@ -1738,7 +1729,7 @@ "UnselectedOrg": "Unselected org", "UnselectedUser": "Unselected user", "UpDownload": "Upload download", - "Update": "Update", + "Update": "Edit", "UpdateAccount": "Update account", "UpdateAccountMsg": "Please update system user account info", "UpdateAccountTemplate": "Update account template", @@ -1822,7 +1813,7 @@ "UsernameOfCreateUpdatePage": "The username of the user on the target host; If already existed, modify user password; If it doesn't exist, add the user and set the password.", "UsernamePlaceholder": "Please input username", "Users": "User", - "UsersAmount": "Users amount", + "UsersAmount": "Users", "UsersAndUserGroups": "Users and user groups", "UsersTotal": "Accounts total", "Valid": "Valid", @@ -1876,4 +1867,4 @@ "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} \ No newline at end of file +} diff --git a/apps/settings/serializers/auth/base.py b/apps/settings/serializers/auth/base.py index fbc833124..b6358c197 100644 --- a/apps/settings/serializers/auth/base.py +++ b/apps/settings/serializers/auth/base.py @@ -23,7 +23,7 @@ class AuthSettingSerializer(serializers.Serializer): AUTH_PASSKEY = serializers.BooleanField(default=False, label=_("Passkey Auth")) FORGOT_PASSWORD_URL = serializers.CharField( required=False, allow_blank=True, max_length=1024, - label=_("Forgot password url") + label=_("Forgot Password URL") ) LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField( required=False, label=_("Enable login redirect msg") diff --git a/apps/settings/serializers/auth/oidc.py b/apps/settings/serializers/auth/oidc.py index 0738de49a..ae0b69b2f 100644 --- a/apps/settings/serializers/auth/oidc.py +++ b/apps/settings/serializers/auth/oidc.py @@ -13,7 +13,7 @@ class CommonSettingSerializer(serializers.Serializer): # OpenID 公有配置参数 (version <= 1.5.8 或 version >= 1.5.8) BASE_SITE_URL = serializers.CharField( required=False, allow_null=True, allow_blank=True, - max_length=1024, label=_('Base site url') + max_length=1024, label=_('Base site URL') ) AUTH_OPENID_CLIENT_ID = serializers.CharField( required=False, max_length=1024, label=_('Client Id') diff --git a/apps/settings/serializers/basic.py b/apps/settings/serializers/basic.py index 4e253c602..1cdd96f23 100644 --- a/apps/settings/serializers/basic.py +++ b/apps/settings/serializers/basic.py @@ -8,7 +8,7 @@ class BasicSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Basic') SITE_URL = serializers.URLField( - required=True, label=_("Site url"), + required=True, label=_("Site URL"), help_text=_( 'External URL, email links or other system callbacks are used to access it, ' 'eg: http://dev.jumpserver.org:8080' @@ -19,7 +19,7 @@ class BasicSettingSerializer(serializers.Serializer): help_text=_('User first login update profile done redirect to it') ) GLOBAL_ORG_DISPLAY_NAME = serializers.CharField( - required=False, max_length=1024, allow_blank=True, allow_null=True, label=_("Global organization name"), + required=False, max_length=1024, allow_blank=True, allow_null=True, label=_("Global organization"), help_text=_('The name of global organization to display') ) HELP_DOCUMENT_URL = serializers.URLField( diff --git a/apps/settings/serializers/feature.py b/apps/settings/serializers/feature.py index a1a734d54..2fb163cae 100644 --- a/apps/settings/serializers/feature.py +++ b/apps/settings/serializers/feature.py @@ -19,7 +19,7 @@ class AnnouncementSerializer(serializers.Serializer): CONTENT = serializers.CharField(label=_("Content")) LINK = serializers.URLField( required=False, allow_null=True, allow_blank=True, - label=_("More url"), default='', + label=_("More URL"), default='', ) def to_representation(self, instance): @@ -75,7 +75,7 @@ class ChatAISettingSerializer(serializers.Serializer): required=False, label=_('Enable Chat AI') ) GPT_BASE_URL = serializers.CharField( - max_length=256, allow_blank=True, required=False, label=_('Base Url') + max_length=256, allow_blank=True, required=False, label=_('Base URL') ) GPT_API_KEY = EncryptedField( max_length=256, allow_blank=True, required=False, label=_('API Key'), From f0dfff0625638cb614278d56d3eed9a03075b16b Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Mon, 15 Jan 2024 17:14:38 +0800 Subject: [PATCH 006/343] feat: gpt translate --- apps/locale/translate/__init__.py | 3 + apps/locale/translate/main.py | 57 ++++++++++++++++ apps/locale/translate/manager/__init__.py | 2 + apps/locale/translate/manager/base.py | 52 +++++++++++++++ apps/locale/translate/manager/core.py | 47 +++++++++++++ apps/locale/translate/manager/other.py | 46 +++++++++++++ apps/locale/translate/utils.py | 31 +++++++++ poetry.lock | 80 ++++++++++++++++++----- pyproject.toml | 1 + 9 files changed, 303 insertions(+), 16 deletions(-) create mode 100644 apps/locale/translate/__init__.py create mode 100644 apps/locale/translate/main.py create mode 100644 apps/locale/translate/manager/__init__.py create mode 100644 apps/locale/translate/manager/base.py create mode 100644 apps/locale/translate/manager/core.py create mode 100644 apps/locale/translate/manager/other.py create mode 100644 apps/locale/translate/utils.py diff --git a/apps/locale/translate/__init__.py b/apps/locale/translate/__init__.py new file mode 100644 index 000000000..cf7e61a1d --- /dev/null +++ b/apps/locale/translate/__init__.py @@ -0,0 +1,3 @@ +import os + +LOCALE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/apps/locale/translate/main.py b/apps/locale/translate/main.py new file mode 100644 index 000000000..8217afdab --- /dev/null +++ b/apps/locale/translate/main.py @@ -0,0 +1,57 @@ +import asyncio +import os + +from apps.locale.translate import LOCALE_DIR +from apps.locale.translate.manager import OtherTranslateManager, CoreTranslateManager +from apps.locale.translate.utils import OpenAITranslate + + +class Translate: + IGNORE_TRANSLATE_DIRS = ('translate',) + + def __init__(self, oai_trans_instance): + self.oai_trans = oai_trans_instance + + def get_dir_names(self): + dir_names = [] + for name in os.listdir(LOCALE_DIR): + _path = os.path.join(LOCALE_DIR, name) + if not os.path.isdir(_path) or name in self.IGNORE_TRANSLATE_DIRS: + continue + dir_names.append(name) + return dir_names + + async def core_trans(self, dir_name): + _dir = os.path.join(LOCALE_DIR, dir_name) + zh_file = os.path.join(_dir, 'zh', 'LC_MESSAGES', 'django.po') + if not os.path.exists(zh_file): + print(f'File: {zh_file} not exists.') + return + + await CoreTranslateManager(_dir, self.oai_trans).run() + + async def other_trans(self, dir_name): + _dir = os.path.join(LOCALE_DIR, dir_name) + zh_file = os.path.join(_dir, 'zh.json') + if not os.path.exists(zh_file): + print(f'File: {zh_file} not exists.') + return + + await OtherTranslateManager(_dir, self.oai_trans).run() + + async def run(self): + dir_names = self.get_dir_names() + if not dir_names: + return + + for dir_name in dir_names: + if hasattr(self, f'{dir_name}_trans'): + await getattr(self, f'{dir_name}_trans')(dir_name) + else: + await self.other_trans(dir_name) + + +if __name__ == '__main__': + oai_trans = OpenAITranslate() + manager = Translate(oai_trans) + asyncio.run(manager.run()) diff --git a/apps/locale/translate/manager/__init__.py b/apps/locale/translate/manager/__init__.py new file mode 100644 index 000000000..a355c4831 --- /dev/null +++ b/apps/locale/translate/manager/__init__.py @@ -0,0 +1,2 @@ +from .core import * +from .other import * diff --git a/apps/locale/translate/manager/base.py b/apps/locale/translate/manager/base.py new file mode 100644 index 000000000..4d3f715d6 --- /dev/null +++ b/apps/locale/translate/manager/base.py @@ -0,0 +1,52 @@ +import asyncio +import os + + +class BaseTranslateManager: + bulk_size = 30 + SEPARATOR = "" + LANG_MAPPER = { + 'ja': 'Japanese', + } + + def __init__(self, dir_path, oai_trans_instance): + self.oai_trans = oai_trans_instance + self._dir = dir_path + if not os.path.exists(self._dir): + os.makedirs(self._dir) + + @staticmethod + def split_dict_into_chunks(input_dict, chunk_size=20): + temp = {} + result = [] + + for i, (k, v) in enumerate(input_dict.items()): + temp[k] = v + if (i + 1) % chunk_size == 0 or i == len(input_dict) - 1: + result.append(temp) + temp = {} + + return result + + async def create_translate_task(self, data, target_lang): + try: + keys = list(data.keys()) + values = list(data.values()) + combined_text = self.SEPARATOR.join(values) + translated_text = await self.oai_trans.translate_text(combined_text, target_lang) + translated_texts = translated_text.split(self.SEPARATOR) + return dict(zip(keys, translated_texts)) + except Exception as e: + print(f"Error during translation task: {e}") + return {} + + async def bulk_translate(self, need_trans_dict, target_lang): + split_data = self.split_dict_into_chunks(need_trans_dict, self.bulk_size) + + tasks = [self.create_translate_task(batch, target_lang) for batch in split_data] + translated_results = await asyncio.gather(*tasks) + translated_dict = {} + for result in translated_results: + translated_dict.update(result) + + return translated_dict diff --git a/apps/locale/translate/manager/core.py b/apps/locale/translate/manager/core.py new file mode 100644 index 000000000..266c5f2bc --- /dev/null +++ b/apps/locale/translate/manager/core.py @@ -0,0 +1,47 @@ +import os + +import polib + +from .base import BaseTranslateManager + + +class CoreTranslateManager(BaseTranslateManager): + + @staticmethod + def get_need_trans_dict(zh_dict, trans_po): + need_trans_dict = { + entry.msgid: zh_dict[entry.msgid] + for entry in trans_po.untranslated_entries() + trans_po.fuzzy_entries() + if entry.msgid in zh_dict + } + return need_trans_dict + + @staticmethod + def save_translations_to_po(data, trans_po): + try: + for entry in trans_po.untranslated_entries() + trans_po.fuzzy_entries(): + if entry.msgid not in data: + print(f'msgid: {entry.msgid} not in data.') + continue + entry.flags = [] + entry.previous_msgid = None + entry.msgstr = data[entry.msgid] + trans_po.save() + except Exception as e: + print(f'File save error: {e}') + + async def run(self): + po_file_path = os.path.join(self._dir, 'zh', 'LC_MESSAGES', 'django.po') + po = polib.pofile(po_file_path) + zh_dict = {entry.msgid: entry.msgstr for entry in po.translated_entries()} + + for file_prefix, target_lang in self.LANG_MAPPER.items(): + po_file_path = os.path.join(self._dir, file_prefix, 'LC_MESSAGES', 'django.po') + trans_po = polib.pofile(po_file_path) + need_trans_dict = self.get_need_trans_dict(zh_dict, trans_po) + print(f'File: {file_prefix}.json need to translate: {len(need_trans_dict)}') + if not need_trans_dict: + print(f'File: {file_prefix}.json is already translated.') + continue + translated_dict = await self.bulk_translate(need_trans_dict, target_lang) + self.save_translations_to_po(translated_dict, trans_po) diff --git a/apps/locale/translate/manager/other.py b/apps/locale/translate/manager/other.py new file mode 100644 index 000000000..4a498dcda --- /dev/null +++ b/apps/locale/translate/manager/other.py @@ -0,0 +1,46 @@ +import json +import os + +from .base import BaseTranslateManager + + +class OtherTranslateManager(BaseTranslateManager): + + @staticmethod + def get_need_trans_dict(zh_dict, other_dict): + diff_keys = set(zh_dict.keys()) - set(other_dict.keys()) + need_trans_dict = {k: zh_dict[k] for k in diff_keys if k} + return need_trans_dict + + def load_json_as_dict(self, file_prefix='zh'): + file_path = os.path.join(self._dir, f'{file_prefix}.json') + if not os.path.exists(file_path): + return {} + try: + with open(file_path, 'r', encoding='utf-8') as f: + return json.load(f) + except Exception as e: + print(f'File: {file_path} load error: {e}') + return {} + + def save_dict_as_json(self, data, file_prefix='ja'): + file_path = os.path.join(self._dir, f'{file_prefix}.json') + try: + with open(file_path, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, sort_keys=True, indent=4) + except Exception as e: + print(f'File: {file_path} save error: {e}') + + async def run(self): + zh_dict = self.load_json_as_dict() + + for file_prefix, target_lang in self.LANG_MAPPER.items(): + other_dict = self.load_json_as_dict(file_prefix) + need_trans_dict = self.get_need_trans_dict(zh_dict, other_dict) + print(f'File: {file_prefix}.json need to translate: {len(need_trans_dict)}') + if not need_trans_dict: + print(f'File: {file_prefix}.json is already translated.') + continue + translated_dict = await self.bulk_translate(need_trans_dict, target_lang) + other_dict.update(translated_dict) + self.save_dict_as_json(other_dict, file_prefix) diff --git a/apps/locale/translate/utils.py b/apps/locale/translate/utils.py new file mode 100644 index 000000000..adefe19ba --- /dev/null +++ b/apps/locale/translate/utils.py @@ -0,0 +1,31 @@ +from openai import AsyncOpenAI + + +class OpenAITranslate: + def __init__(self, key: str | None = None): + self.client = AsyncOpenAI(api_key=key) + + async def translate_text(self, text, target_lang="English") -> str | None: + try: + response = await self.client.chat.completions.create( + messages=[ + { + "role": "system", + "content": f"Now I ask you to be the translator. " + f"Your goal is to understand the Chinese " + f"I provided you and translate it into {target_lang}. " + f"Please do not use a translation accent when translating, " + f"but translate naturally, smoothly and authentically, " + f"using beautiful and elegant words. way of expression.", + }, + { + "role": "user", + "content": text, + }, + ], + model="gpt-4", + ) + except Exception as e: + print("Open AI Error: ", e) + return + return response.choices[0].message.content.strip() diff --git a/poetry.lock b/poetry.lock index d11c14093..f3378db0e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "adal" @@ -2424,17 +2424,6 @@ files = [ {file = "ephem-4.1.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8f9b27117e7a82f7f70db9cb23b5cc36d37b166a2f73c55e14d7225d0ab95afa"}, {file = "ephem-4.1.4-cp311-cp311-win32.whl", hash = "sha256:9bb21c0b117c9122c0141b0a71ee6fbbb087ed2aab4a7ab60f009e95e9f4a521"}, {file = "ephem-4.1.4-cp311-cp311-win_amd64.whl", hash = "sha256:55d7fb5c34b2e453e01fa4ca7ee375b19b438c9401ae8c4099ae4a3a37656972"}, - {file = "ephem-4.1.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f9e24aeea560dfcece3c2e313eb94e6be3e84888091455e541fa88f3a44da584"}, - {file = "ephem-4.1.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:653d99386932e5f78bb9cfc4495030ad9f3345eb4c2b32dca55547da8f1f0332"}, - {file = "ephem-4.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53786461a6d5799d5fffe76622ad51444b264d1c7263b92a6dfcac640c3da93a"}, - {file = "ephem-4.1.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:268f57f8768ccb0abbdf4cefb4781c7db812950019868f687b407b428513ee53"}, - {file = "ephem-4.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d630aa287255ea9fba6962f351e4e0729bb620570684d52fbfcc31b11527f09e"}, - {file = "ephem-4.1.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5f229bbf62ecb4cd6bb3374b15d0f8ff7b3d970c2936fccd89bdf9d693907a2"}, - {file = "ephem-4.1.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d60d56f182de54bd84fadd6ea2dd8e8ef6fdef6a698c7cafd404ecb6eeefa598"}, - {file = "ephem-4.1.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:404500c8d0030d75ec15bb6b98eee78ad163fd5252102c962ae6fb39c9488198"}, - {file = "ephem-4.1.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fb020d6cc5ab1ad1cd9d3da4a6e2506beebb41d1b337d79cc20cc0a17f550f1"}, - {file = "ephem-4.1.4-cp312-cp312-win32.whl", hash = "sha256:29e71636ee4719419d03184abc85085f76989c79a61844f5e60acbf2513d2b42"}, - {file = "ephem-4.1.4-cp312-cp312-win_amd64.whl", hash = "sha256:549654f63d88e0ab6248ae25ac2939131474ab9f3a91bee6b68ca6f214747c2a"}, {file = "ephem-4.1.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:40067fc050c946c8d4c2d779805b61f063471a091e6124cbabcf61ac538011b2"}, {file = "ephem-4.1.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e2abe97aa2b091090012768b4d94793213cc01f0bf040dcc311a380ab08df69"}, {file = "ephem-4.1.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b2677d3a5b42aedc578de10b0eecdba6a50731f159cb28f7ad38c5f62143494"}, @@ -2777,8 +2766,14 @@ files = [ [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" -grpcio = {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""} -grpcio-status = {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""} +grpcio = [ + {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""}, + {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, +] +grpcio-status = [ + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, + {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, +] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" @@ -3781,7 +3776,41 @@ files = [ {file = "lxml-5.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7188495c1bf71bfda87d78ed50601e72d252119ce11710d6e71ff36e35fea5a0"}, {file = "lxml-5.0.0-cp37-cp37m-win32.whl", hash = "sha256:6a2de85deabf939b0af89e2e1ea46bfb1239545e2da6f8ac96522755a388025f"}, {file = "lxml-5.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ea56825c1e23c9c8ea385a191dac75f9160477057285b88c88736d9305e6118f"}, - {file = "lxml-5.0.0.tar.gz", hash = "sha256:9165c82bcccf0249feff82cd1fba202e4ce26c25dc69040a0d2c2d0e49cbeba3"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:3f908afd0477cace17f941d1b9cfa10b769fe1464770abe4cfb3d9f35378d0f8"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52a9ab31853d3808e7cf0183b3a5f7e8ffd622ea4aee1deb5252dbeaefd5b40d"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c7fe19abb3d3c55a9e65d289b12ad73b3a31a3f0bda3c539a890329ae9973bd6"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:1ef0793e1e2dd221fce7c142177008725680f7b9e4a184ab108d90d5d3ab69b7"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:581a78f299a9f5448b2c3aea904bfcd17c59bf83016d221d7f93f83633bb2ab2"}, + {file = "lxml-5.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:affdd833f82334fdb10fc9a1c7b35cdb5a86d0b672b4e14dd542e1fe7bcea894"}, + {file = "lxml-5.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bba06d8982be0f0f6432d289a8d104417a0ab9ed04114446c4ceb6d4a40c65d"}, + {file = "lxml-5.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:80209b31dd3908bc5b014f540fd192c97ea52ab179713a730456c5baf7ce80c1"}, + {file = "lxml-5.0.0-cp38-cp38-win32.whl", hash = "sha256:dac2733fe4e159b0aae0439db6813b7b1d23ff96d0b34c0107b87faf79208c4e"}, + {file = "lxml-5.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:ee60f33456ff34b2dd1d048a740a2572798356208e4c494301c931de3a0ab3a2"}, + {file = "lxml-5.0.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:5eff173f0ff408bfa578cbdafd35a7e0ca94d1a9ffe09a8a48e0572d0904d486"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:78d6d8e5b54ed89dc0f0901eaaa579c384ad8d59fa43cc7fb06e9bb89115f8f4"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:71a7cee869578bc17b18050532bb2f0bc682a7b97dda77041741a1bd2febe6c7"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:7df433d08d4587dc3932f7fcfc3194519a6824824104854e76441fd3bc000d29"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:793be9b4945c2dfd69828fb5948d7d9569b78e0599e4a2e88d92affeb0ff3aa3"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c7cfb6af73602c8d288581df8a225989d7e9d5aab0a174be0e19fcfa800b6797"}, + {file = "lxml-5.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bfdc4668ac56687a89ca3eca44231144a2e9d02ba3b877558db74ba20e2bd9fa"}, + {file = "lxml-5.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2992591e2294bb07faf7f5f6d5cb60710c046404f4bfce09fb488b85d2a8f58f"}, + {file = "lxml-5.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4786b0af7511ea614fd86407a52a7bc161aa5772d311d97df2591ed2351de768"}, + {file = "lxml-5.0.0-cp39-cp39-win32.whl", hash = "sha256:016de3b29a262655fc3d2075dc1b2611f84f4c3d97a71d579c883d45e201eee4"}, + {file = "lxml-5.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:52c0acc2f29b0a204efc11a5ed911a74f50a25eb7d7d5069c2b1fd3b3346ce11"}, + {file = "lxml-5.0.0-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:96095bfc0c02072fc89afa67626013a253596ea5118b8a7f4daaae049dafa096"}, + {file = "lxml-5.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:992029258ed719f130d5a9c443d142c32843046f1263f2c492862b2a853be570"}, + {file = "lxml-5.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:db40e85cffd22f7d65dcce30e85af565a66401a6ed22fc0c56ed342cfa4ffc43"}, + {file = "lxml-5.0.0-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:cfa8a4cdc3765574b7fd0c7cfa5fbd1e2108014c9dfd299c679e5152bea9a55e"}, + {file = "lxml-5.0.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:049fef98d02513c34f5babd07569fc1cf1ed14c0f2fbff18fe72597f977ef3c2"}, + {file = "lxml-5.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a85136d0ee18a41c91cc3e2844c683be0e72e6dda4cb58da9e15fcaef3726af7"}, + {file = "lxml-5.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:766868f729f3ab84125350f1a0ea2594d8b1628a608a574542a5aff7355b9941"}, + {file = "lxml-5.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:99cad5c912f359e59e921689c04e54662cdd80835d80eeaa931e22612f515df7"}, + {file = "lxml-5.0.0-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:c90c593aa8dd57d5dab0ef6d7d64af894008971d98e6a41b320fdd75258fbc6e"}, + {file = "lxml-5.0.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8134d5441d1ed6a682e3de3d7a98717a328dce619ee9c4c8b3b91f0cb0eb3e28"}, + {file = "lxml-5.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f298ac9149037d6a3d5c74991bded39ac46292520b9c7c182cb102486cc87677"}, + {file = "lxml-5.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:894c5f71186b410679aaab5774543fcb9cbabe8893f0b31d11cf28a0740e80be"}, + {file = "lxml-5.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9cd3d6c2c67d4fdcd795e4945e2ba5434909c96640b4cc09453bd0dc7e8e1bac"}, + {file = "lxml-5.0.0.zip", hash = "sha256:2219cbf790e701acf9a21a31ead75f983e73daf0eceb9da6990212e4d20ebefe"}, ] [package.extras] @@ -4813,6 +4842,22 @@ type = "legacy" url = "https://pypi.tuna.tsinghua.edu.cn/simple" reference = "tsinghua" +[[package]] +name = "polib" +version = "1.2.0" +description = "A library to manipulate gettext files (po and mo files)." +optional = false +python-versions = "*" +files = [ + {file = "polib-1.2.0-py2.py3-none-any.whl", hash = "sha256:1c77ee1b81feb31df9bca258cbc58db1bbb32d10214b173882452c73af06d62d"}, + {file = "polib-1.2.0.tar.gz", hash = "sha256:f3ef94aefed6e183e342a8a269ae1fc4742ba193186ad76f175938621dbfc26b"}, +] + +[package.source] +type = "legacy" +url = "https://pypi.tuna.tsinghua.edu.cn/simple" +reference = "tsinghua" + [[package]] name = "portalocker" version = "2.8.2" @@ -5490,6 +5535,8 @@ files = [ {file = "pyfreerdp-0.0.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:881003ce2853d9a290c47a04c165941a5a0addd7ad360d033f275dec3eead192"}, {file = "pyfreerdp-0.0.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:a54ae7c62b3c92e4dba082e328e0bb190f83f45eb84cf59eabb894dfe24a07f7"}, {file = "pyfreerdp-0.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:33c3e14664e306c31c2a792cb8dfdd6a381e35f79583a271dd20be25b14ad73d"}, + {file = "pyfreerdp-0.0.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c7df63da48b67a31d76b62ee70f5f0ffc964b79b34c4e6c610f67a24fba2aee1"}, + {file = "pyfreerdp-0.0.2-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:df62184ef7fd8bc76f9efd172387e6e7cef9f3777a57bb14f3551b2972f55ef3"}, {file = "pyfreerdp-0.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cfd97b8da87b1439407b40e7eda998f0df44332211353b0f4217e91d233bc53"}, {file = "pyfreerdp-0.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9ce1a906e861335864bb8c976612a5b1d0595955b0cde35e3697eed7812c8b6"}, {file = "pyfreerdp-0.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b630f604300323b3e1fe6b27d442636f9b0d247eba3cc4340a39721c6d85273"}, @@ -5513,6 +5560,7 @@ files = [ {file = "pyfreerdp-0.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb31b620013859a7142a391d9ce57c195f26c3c9991883f87bc5ef1703cf806f"}, {file = "pyfreerdp-0.0.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c839d3ed9c0cc4021129e26c06d3bc45982bdaba8a2a115051ad43c5f6108d11"}, {file = "pyfreerdp-0.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c2a23db4a56903dfff9ac5e8b2b7aa713af694dce5a4f3905ef7703b4f9dcd"}, + {file = "pyfreerdp-0.0.2.tar.gz", hash = "sha256:caf4b422eb32a327095b548bb1a22a22b926b6e15819c9a83b6461050b11870d"}, ] [package.source] @@ -7779,4 +7827,4 @@ reference = "tsinghua" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "f3a3ef297a045ff896b54897f8ac3593e0f0894637339c7de139453991278139" +content-hash = "86fd825091e6032ad4a48f595a627555822618f8a1a0ed1f314f024e54d190d0" diff --git a/pyproject.toml b/pyproject.toml index e46f10eb5..ee7a8b12c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -146,6 +146,7 @@ django-cors-headers = "^4.3.0" mistune = "2.0.3" openai = "^1.3.7" xlsxwriter = "^3.1.9" +polib = "^1.2.0" [tool.poetry.group.xpack.dependencies] From 1cec27ed70bcc3941fff45c06cc46a81cd37836d Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Tue, 16 Jan 2024 21:15:39 +0800 Subject: [PATCH 007/343] =?UTF-8?q?perf:=20=E6=B7=BB=E5=8A=A0=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/core/ja/LC_MESSAGES/django.po | 621 +++---- apps/locale/lina/ja.json | 1846 +++++++++++++++++++++ apps/locale/luna/ja.json | 270 +-- apps/locale/translate/__init__.py | 9 + apps/locale/translate/main.py | 6 +- apps/locale/translate/manager/base.py | 22 +- apps/locale/translate/manager/core.py | 9 +- apps/locale/translate/manager/other.py | 9 +- apps/locale/translate/utils.py | 4 +- poetry.lock | 2 +- pyproject.toml | 1 + 11 files changed, 2258 insertions(+), 541 deletions(-) create mode 100644 apps/locale/lina/ja.json diff --git a/apps/locale/core/ja/LC_MESSAGES/django.po b/apps/locale/core/ja/LC_MESSAGES/django.po index 04e0a5b28..968052f73 100644 --- a/apps/locale/core/ja/LC_MESSAGES/django.po +++ b/apps/locale/core/ja/LC_MESSAGES/django.po @@ -250,9 +250,9 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 #: audits/models.py:58 authentication/models/connection_token.py:36 #: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 -#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 -#: terminal/notifications.py:155 terminal/serializers/command.py:17 -#: terminal/serializers/session.py:26 +#: terminal/backends/command/models.py:17 +#: terminal/models/session/session.py:31 terminal/notifications.py:155 +#: terminal/serializers/command.py:17 terminal/serializers/session.py:26 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:256 @@ -286,7 +286,8 @@ msgstr "ソース ID" #: accounts/models/account.py:61 #: accounts/serializers/automations/change_secret.py:107 #: accounts/serializers/automations/change_secret.py:127 -#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 +#: acls/serializers/base.py:124 +#: acls/templates/acls/asset_login_reminder.html:7 #: assets/serializers/asset/common.py:125 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 @@ -294,7 +295,8 @@ msgstr "ソース ID" #: terminal/models/session/session.py:33 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 -#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 +#: tickets/models/ticket/command_confirm.py:13 +#: xpack/plugins/cloud/models.py:89 msgid "Account" msgstr "アカウント" @@ -603,9 +605,11 @@ msgstr "パスワードルール" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:82 -#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 +#: terminal/models/applet/applet.py:33 +#: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:95 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:84 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -668,8 +672,7 @@ msgstr "ユーザーと同じユーザー名" #: accounts/models/virtual.py:36 msgid "Non-asset account, Input username/password on connect" -msgstr "" -"アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" +msgstr "アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" #: accounts/models/virtual.py:37 msgid "The account username name same with user on connect" @@ -679,9 +682,7 @@ msgstr "接続時にユーザー名と同じユーザー名を使用します" msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "" -"ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタ" -"イプのアセットのみをサポートします" +msgstr "ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタイプのアセットのみをサポートします" #: accounts/notifications.py:11 accounts/notifications.py:36 msgid "Notification of account backup route task results" @@ -691,9 +692,7 @@ msgstr "アカウントバックアップルートタスクの結果の通知" msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" -msgstr "" -"{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご" -"覧ください" +msgstr "{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご覧ください" #: accounts/notifications.py:24 msgid "" @@ -701,9 +700,8 @@ msgid "" "password has not been set - please go to personal information -> Basic file " "encryption password for preference settings" msgstr "" -"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定" -"されていません-個人情報にアクセスしてください-> プリファレンス設定の基本的な" -"ファイル暗号化パスワードの設定" +"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " +"プリファレンス設定の基本的なファイル暗号化パスワードの設定" #: accounts/notifications.py:55 msgid "Notification of implementation result of encryption change plan" @@ -721,8 +719,8 @@ msgid "" "has not been set - please go to personal information -> file encryption " "password to set the encryption password" msgstr "" -"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人" -"情報にアクセスしてください-> ファイル暗号化パスワードを設定してください" +"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " +"ファイル暗号化パスワードを設定してください" #: accounts/notifications.py:79 msgid "Gather account change information" @@ -753,9 +751,9 @@ msgstr "カテゴリ" #: assets/serializers/asset/common.py:123 assets/serializers/platform.py:120 #: assets/serializers/platform.py:139 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144 -#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 -#: terminal/models/component/storage.py:57 +#: authentication/serializers/connect_token_secret.py:126 +#: ops/models/job.py:144 perms/serializers/user_permission.py:27 +#: terminal/models/applet/applet.py:39 terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/serializers/session.py:21 terminal/serializers/storage.py:264 #: terminal/serializers/storage.py:276 tickets/models/comment.py:26 @@ -818,17 +816,19 @@ msgstr "ID" #: accounts/serializers/account/account.py:451 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 -#: audits/models.py:90 audits/models.py:172 audits/models.py:269 -#: audits/serializers.py:171 authentication/models/connection_token.py:32 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:54 audits/models.py:90 audits/models.py:172 +#: audits/models.py:269 audits/serializers.py:171 +#: authentication/models/connection_token.py:32 #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 #: perms/serializers/permission.py:32 rbac/builtin.py:124 #: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 -#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29 -#: terminal/models/session/sharing.py:34 terminal/notifications.py:156 -#: terminal/notifications.py:205 terminal/serializers/command.py:16 +#: terminal/backends/command/models.py:16 +#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:34 +#: terminal/notifications.py:156 terminal/notifications.py:205 +#: terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 @@ -877,8 +877,7 @@ msgid "" "Tip: If no username is required for authentication, fill in `null`, If AD " "account, like `username@domain`" msgstr "" -"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの" -"場合は、`username@domain`のようになります。" +"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの場合は、`username@domain`のようになります。" #: accounts/serializers/account/template.py:13 msgid "Password length" @@ -939,10 +938,8 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: " -"資産シークレット内の同じアカウント > ログインシークレット > 手動入力.
" -"セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定して" -"ください。 " +"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: 資産シークレット内の同じアカウント > ログインシークレット > " +"手動入力.
セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定してください。 " #: accounts/serializers/automations/base.py:23 #: assets/serializers/automations/base.py:21 @@ -1053,10 +1050,9 @@ msgstr "アカウントの削除" #: accounts/utils.py:52 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." -msgstr "" -"パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." +msgstr "パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" #: accounts/utils.py:59 msgid "private key invalid or passphrase error" @@ -1217,9 +1213,9 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" -"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ" -"ポート)" +"* はすべて一致することを示します。例: " +"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64" +" (ドメイン名サポート)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -1247,8 +1243,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" -"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" +"* はすべて一致することを示します。例: " +"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:33 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -1273,8 +1269,7 @@ msgid "" "authorized operation. If you suspect that this is an unauthorized access, " "please take appropriate measures immediately." msgstr "" -"ユーザーは資産にログインしています。許可されたアクションであることを確認して" -"ください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" +"ユーザーは資産にログインしています。許可されたアクションであることを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" #: acls/templates/acls/asset_login_reminder.html:12 #: acls/templates/acls/user_login_reminder.html:13 @@ -1296,12 +1291,10 @@ msgstr "ユーザーエージェント" #: acls/templates/acls/user_login_reminder.html:11 msgid "" "The user has just successfully logged into the system. Please ensure that " -"this is an authorized operation. If you suspect that this is an unauthorized " -"access, please take appropriate measures immediately." +"this is an authorized operation. If you suspect that this is an unauthorized" +" access, please take appropriate measures immediately." msgstr "" -"ユーザーはシステムに正常にログインしたばかりです。許可されたアクションである" -"ことを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取っ" -"てください。" +"ユーザーはシステムに正常にログインしたばかりです。許可されたアクションであることを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" #: applications/apps.py:9 msgid "Applications" @@ -1322,9 +1315,7 @@ msgstr "アプリケーションを一致させることができます" #: assets/api/asset/asset.py:179 msgid "Cannot create asset directly, you should create a host or other" -msgstr "" -"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" -"す" +msgstr "資産を直接作成することはできません。ホストまたはその他を作成する必要があります" #: assets/api/domain.py:64 msgid "Number required" @@ -1495,9 +1486,7 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントの" -"ユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}" -"ユーザーのユーザー名" +"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントのユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}ユーザーのユーザー名" #: assets/const/protocol.py:66 msgid "Console" @@ -1577,9 +1566,7 @@ msgstr "安全モード" msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "" -"安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへ" -"のアクセスなど、一部の操作が無効になります" +msgstr "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへのアクセスなど、一部の操作が無効になります" #: assets/const/protocol.py:229 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 @@ -2061,9 +2048,7 @@ msgstr "%(value)s は偶数ではありません" msgid "" "Batch update platform in assets, skipping assets that do not meet platform " "type" -msgstr "" -"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" -"ラットフォーム" +msgstr "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プラットフォーム" #: assets/serializers/asset/common.py:124 assets/serializers/platform.py:141 #: authentication/serializers/connect_token_secret.py:30 @@ -2106,11 +2091,10 @@ msgstr "デフォルト・データベース" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" -"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要" -"があります。例: http(s)://host:port" +"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要があります。例: http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -2210,9 +2194,7 @@ msgstr "アドレスからのポート" msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." -msgstr "" -"このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま" -"す。また、プライマリプロトコルは1つしかありません" +msgstr "このプロトコルはプライマリであり、資産を追加するときに設定する必要があります。また、プライマリプロトコルは1つしかありません" #: assets/serializers/platform.py:67 msgid "This protocol is required, and it must be set when adding assets." @@ -2222,14 +2204,11 @@ msgstr "このプロトコルは必須であり、資産を追加するときに msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." -msgstr "" -"このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま" -"す" +msgstr "このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されます" #: assets/serializers/platform.py:73 msgid "This protocol is public, asset will show this protocol to user" -msgstr "" -"このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" +msgstr "このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" #: assets/serializers/platform.py:122 msgid "Help text" @@ -2285,10 +2264,9 @@ msgstr "ノード下のアセット数を確認する" #: assets/tasks/nodes_amount.py:28 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" -msgstr "" -"セルフチェックのタスクはすでに実行されており、繰り返し開始することはできませ" -"ん" +"The task of self-checking is already running and cannot be started " +"repeatedly" +msgstr "セルフチェックのタスクはすでに実行されており、繰り返し開始することはできません" #: assets/tasks/nodes_amount.py:33 msgid "Periodic check the amount of assets under the node" @@ -2328,7 +2306,8 @@ msgid "Audits" msgstr "監査" #: audits/backends/db.py:16 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "文章の内容が長すぎる。Elasticsearchで操作履歴を保存する" #: audits/backends/db.py:91 @@ -2408,8 +2387,8 @@ msgstr "閉じる" #: audits/const.py:43 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:52 -#: terminal/serializers/session.py:66 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:52 terminal/serializers/session.py:66 msgid "Terminal" msgstr "ターミナル" @@ -2447,7 +2426,8 @@ msgid "Job audit log" msgstr "ジョブ監査ログ" #: audits/models.py:56 audits/models.py:100 audits/models.py:175 -#: terminal/models/session/session.py:38 terminal/models/session/sharing.py:113 +#: terminal/models/session/session.py:38 +#: terminal/models/session/sharing.py:113 msgid "Remote addr" msgstr "リモートaddr" @@ -2666,9 +2646,7 @@ msgstr "この操作には、MFAを検証する必要があります" #: authentication/api/connection_token.py:260 msgid "Reusable connection token is not allowed, global setting not enabled" -msgstr "" -"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に" -"なっていません" +msgstr "再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効になっていません" #: authentication/api/connection_token.py:374 msgid "Anonymous account is not supported for this asset" @@ -2707,9 +2685,7 @@ msgstr "ユーザーにマッチしなかった" msgid "" "The user is from {}, please go to the corresponding system to change the " "password" -msgstr "" -"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" -"さい。" +msgstr "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してください。" #: authentication/api/password.py:67 #: authentication/templates/authentication/login.html:361 @@ -2740,8 +2716,7 @@ msgstr "無効なトークンヘッダー。記号文字列にはスペースを #: authentication/backends/drf.py:59 msgid "" "Invalid token header. Sign string should not contain invalid characters." -msgstr "" -"無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" +msgstr "無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" #: authentication/backends/drf.py:72 msgid "Invalid token or cache refreshed." @@ -2840,34 +2815,27 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 " -"{times_try} 回試すこともできます (アカウントは {block_time} 分の間一時的に" -"ロックされます)" +"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 {times_try} 回試すこともできます (アカウントは " +"{block_time} 分の間一時的にロックされます)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "" -"アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後" -"にもう一度お試しください)" +msgstr "アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後にもう一度お試しください)" #: authentication/errors/const.py:51 msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "" -"IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行" -"してください)" +msgstr "IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行してください)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" -msgstr "" -"{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間" -"一時的にロックされます)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" +msgstr "{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間一時的にロックされます)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -2950,8 +2918,7 @@ msgstr "ログインする前にパスワードを変更する必要がありま #: authentication/errors/redirect.py:101 authentication/mixins.py:337 msgid "Your password has expired, please reset before logging in" -msgstr "" -"パスワードの有効期限が切れました。ログインする前にリセットしてください。" +msgstr "パスワードの有効期限が切れました。ログインする前にリセットしてください。" #: authentication/forms.py:45 msgid "{} days auto login" @@ -2992,8 +2959,7 @@ msgstr "カスタム MFA 検証コード" #: authentication/mfa/custom.py:56 msgid "MFA custom global enabled, cannot disable" -msgstr "" -"カスタム MFA はグローバルに有効になっており、無効にすることはできません" +msgstr "カスタム MFA はグローバルに有効になっており、無効にすることはできません" #: authentication/mfa/otp.py:7 msgid "OTP code invalid, or server time error" @@ -3059,9 +3025,7 @@ msgstr "無効なユーザーです" msgid "" "The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the administrator." -msgstr "" -"管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユー" -"ザーソースは {} です。管理者に連絡してください。" +msgstr "管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユーザーソースは {} です。管理者に連絡してください。" #: authentication/mixins.py:273 msgid "The MFA type ({}) is not enabled" @@ -3332,9 +3296,7 @@ msgstr "ログイン時間" msgid "" "If you suspect that the login behavior is abnormal, please modify the " "account password in time." -msgstr "" -"ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変" -"更してください。" +msgstr "ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変更してください。" #: authentication/templates/authentication/_msg_oauth_bind.html:6 msgid "Your account has just been bound to" @@ -3348,9 +3310,7 @@ msgstr "操作が独自のものでない場合は、パスワードをバイン msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" -msgstr "" -"下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場" -"合は、アカウントのセキュリティに関係します。" +msgstr "下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場合は、アカウントのセキュリティに関係します。" #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -3395,9 +3355,7 @@ msgstr "ブラウザ" msgid "" "If the password update was not initiated by you, your account may have " "security issues" -msgstr "" -"パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題があ" -"る可能性があります" +msgstr "パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" #: authentication/templates/authentication/_msg_rest_password_success.html:14 #: authentication/templates/authentication/_msg_rest_public_key_success.html:14 @@ -3412,9 +3370,7 @@ msgstr "公開鍵が正常に更新されました" msgid "" "If the public key update was not initiated by you, your account may have " "security issues" -msgstr "" -"公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可" -"能性があります" +msgstr "公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 #: templates/flash_message_standalone.html:28 tickets/const.py:17 @@ -3425,9 +3381,7 @@ msgstr "キャンセル" msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" -msgstr "" -"設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のド" -"キュメントを参照してください。" +msgstr "設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のドキュメントを参照してください。" #: authentication/templates/authentication/login.html:277 msgid "If you are administrator, you can update the config resolve it, set" @@ -3473,9 +3427,7 @@ msgstr "コピー成功" msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." -msgstr "" -"このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリ" -"ティを確保してください。" +msgstr "このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリティを確保してください。" #: authentication/templates/authentication/passkey.html:173 msgid "Do you want to retry ?" @@ -3701,13 +3653,12 @@ msgstr "Secret Keyを使用したフィールドの暗号化" #: common/db/fields.py:573 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 " -"{'type':'ids','ids':[]}或 #タイプ:属性、属性:[#名前:ip、照合:正確、" -"値:1.1.1.1}" +"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 {'type':'ids','ids':[]}或 " +"#タイプ:属性、属性:[#名前:ip、照合:正確、値:1.1.1.1}" #: common/db/fields.py:580 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -3773,9 +3724,7 @@ msgstr "無効 excel 書類" msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" -msgstr "" -"{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワード" -"に暗号化パスワードを設定してください" +msgstr "{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワードに暗号化パスワードを設定してください" #: common/exceptions.py:15 #, python-format @@ -3977,16 +3926,13 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要" -"があります。urlディストリビューションにnginxを設定します。
この" -"ページが表示されている場合は、nginxリスニングポートにアクセスしていないことを" -"証明してください。頑張ってください。" +"
" +"Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要があります。urlディストリビューションにnginxを設定します。
" +" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" #: jumpserver/views/other.py:70 msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "" -"Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要がありま" -"す。" +msgstr "Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要があります。" #: jumpserver/views/other.py:84 msgid "" @@ -3994,10 +3940,8 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要が" -"あります。URL配布用にnginxを設定します。
このページが表示されて" -"いる場合は、nginxリスニングポートにアクセスしていないことを証明してください。" -"頑張ってください。" +"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要があります。URL配布用にnginxを設定します。
" +" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" #: labels/models.py:36 msgid "Resource ID" @@ -4005,7 +3949,7 @@ msgstr "リソースID" #: labels/models.py:41 msgid "Labeled resource" -msgstr "" +msgstr "関連リソース" #: labels/serializers.py:22 msgid "Resource count" @@ -4075,9 +4019,7 @@ msgstr "重複したファイルが存在する" #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" -msgstr "" -"ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" -"てください。" +msgstr "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択してください。" #: ops/api/playbook.py:39 msgid "Currently playbook is being used in a job" @@ -4185,7 +4127,7 @@ msgstr "SQLServer" #: ops/const.py:56 ops/const.py:68 msgid "Raw" -msgstr "" +msgstr "Raw" #: ops/const.py:64 msgid "MariaDB" @@ -4465,8 +4407,7 @@ msgstr "現在の組織 ({}) は削除できません" msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" -msgstr "" -"LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" +msgstr "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" #: orgs/api.py:77 msgid "The organization have resource ({}) cannot be deleted" @@ -4481,7 +4422,8 @@ msgstr "アプリ組織" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:302 +#: tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -4758,8 +4700,7 @@ msgstr "全ての組織" msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" -msgstr "" -"ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" +msgstr "ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" #: rbac/models/rolebinding.py:197 msgid "Organization role binding" @@ -4874,9 +4815,7 @@ msgstr "{}に送信されたテストメールを確認してください" #: settings/api/ldap.py:101 msgid "" "Users are not synchronized, please click the user synchronization button" -msgstr "" -"ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてくださ" -"い。" +msgstr "ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてください。" #: settings/api/ldap.py:137 msgid "Get ldap users is None" @@ -5111,11 +5050,11 @@ msgstr "ユーザー属性マッピング" #: settings/serializers/auth/ldap.py:59 msgid "" -"User attr map present how to map LDAP user attr to jumpserver, username,name," -"email is jumpserver attr" +"User attr map present how to map LDAP user attr to jumpserver, " +"username,name,email is jumpserver attr" msgstr "" -"ユーザー属性マッピングは、LDAPのユーザー属性をjumpserverユーザーにマッピング" -"する方法、username, name,emailはjumpserverのユーザーが必要とする属性です" +"ユーザー属性マッピングは、LDAPのユーザー属性をjumpserverユーザーにマッピングする方法、username, " +"name,emailはjumpserverのユーザーが必要とする属性です" #: settings/serializers/auth/ldap.py:77 msgid "Connect timeout (s)" @@ -5197,11 +5136,11 @@ msgstr "Ssl検証を無視する" #: settings/serializers/auth/oidc.py:38 msgid "" -"User attr map present how to map OpenID user attr to jumpserver, username," -"name,email is jumpserver attr" +"User attr map present how to map OpenID user attr to jumpserver, " +"username,name,email is jumpserver attr" msgstr "" -"ユーザー属性マッピングは、OpenIDのユーザー属性をjumpserverユーザーにマッピン" -"グする方法、username, name,emailはjumpserverのユーザーが必要とする属性です" +"ユーザー属性マッピングは、OpenIDのユーザー属性をjumpserverユーザーにマッピングする方法、username, " +"name,emailはjumpserverのユーザーが必要とする属性です" #: settings/serializers/auth/oidc.py:41 msgid "Enable PKCE" @@ -5276,9 +5215,7 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストと" -"DOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切り" -"ます" +"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストとDOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切ります" #: settings/serializers/auth/passkey.py:22 msgid "FIDO server name" @@ -5382,13 +5319,11 @@ msgstr "ビジネス・タイプ(Service id)" #: settings/serializers/auth/sms.py:80 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" -"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未" -"満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わない" -"でください。" +"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わないでください。" #: settings/serializers/auth/sms.py:89 #, python-brace-format @@ -5413,8 +5348,7 @@ msgstr "SSO Token認証の有効化" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" -msgstr "" -"他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" +msgstr "他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -5438,8 +5372,7 @@ msgid "" "External URL, email links or other system callbacks are used to access it, " "eg: http://dev.jumpserver.org:8080" msgstr "" -"外部URL、メールリンクまたは他のシステムコールバックにアクセスするには、" -"http://dev.jumpserver.org:8080などを使用します" +"外部URL、メールリンクまたは他のシステムコールバックにアクセスするには、http://dev.jumpserver.org:8080などを使用します" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -5518,8 +5451,7 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (デー" -"タベースのバックアップに影響し、OSS などには影響しません)" +"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (データベースのバックアップに影響し、OSS などには影響しません)" #: settings/serializers/feature.py:18 msgid "Subject" @@ -5552,13 +5484,12 @@ msgstr "保持されている過去のアカウントの数" #: settings/serializers/feature.py:62 msgid "" "If the specific value is less than 999, the system will automatically " -"perform a task every night: check and delete historical accounts that exceed " -"the predetermined number. If the value reaches or exceeds 999, no historical " -"account deletion will be performed." +"perform a task every night: check and delete historical accounts that exceed" +" the predetermined number. If the value reaches or exceeds 999, no " +"historical account deletion will be performed." msgstr "" -"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、" -"所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" -"歴アカウントの削除は実行されません。" +"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、所定の数を超える履歴アカウントを確認して削除します。 値が 999 " +"以上の場合、履歴アカウントの削除は実行されません。" #: settings/serializers/feature.py:71 msgid "Chat AI" @@ -5654,9 +5585,7 @@ msgstr "ユーザーを送信" #: settings/serializers/msg.py:33 msgid "Tips: Send mail account, default SMTP account as the send account" -msgstr "" -"ヒント: 送信メールアカウント、送信アカウントとしてのデフォルトのSMTPアカウン" -"ト" +msgstr "ヒント: 送信メールアカウント、送信アカウントとしてのデフォルトのSMTPアカウント" #: settings/serializers/msg.py:36 msgid "Test recipient" @@ -5697,11 +5626,9 @@ msgstr "ユーザーメール件名の作成" #: settings/serializers/msg.py:62 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" -msgstr "" -"ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを" -"正常に作成)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" +msgstr "ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを正常に作成)" #: settings/serializers/msg.py:66 msgid "Create user honorific" @@ -5709,8 +5636,7 @@ msgstr "ユーザー敬語の作成" #: settings/serializers/msg.py:67 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" -msgstr "" -"ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" +msgstr "ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" #: settings/serializers/msg.py:71 msgid "Create user email content" @@ -5721,9 +5647,7 @@ msgstr "ユーザーのメールコンテンツを作成する" msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "" -"ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}" -"{email}ラベルをサポートします。" +msgstr "ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}{email}ラベルをサポートします。" #: settings/serializers/msg.py:77 msgid "Tips: Email signature (eg:jumpserver)" @@ -5740,9 +5664,7 @@ msgstr "グループ化されていないノードを表示" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" msgstr "" -"グループ化されていないノードに個別に許可された資産を配置し、資産が存在する" -"ノードが表示されないようにしますが、そのノードが許可されていないという質問に" -"質問" +"グループ化されていないノードに個別に許可された資産を配置し、資産が存在するノードが表示されないようにしますが、そのノードが許可されていないという質問に質問" #: settings/serializers/security.py:17 msgid "User password expiration (day)" @@ -5754,10 +5676,8 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有" -"効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) 以内に、パスワー" -"ドの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信さ" -"れます。" +"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) " +"以内に、パスワードの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信されます。" #: settings/serializers/security.py:26 msgid "Number of repeated historical passwords" @@ -5767,9 +5687,7 @@ msgstr "繰り返された履歴パスワードの数" msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" -msgstr "" -"ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワード" -"にすることはできません" +msgstr "ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワードにすることはできません" #: settings/serializers/security.py:34 msgid "Password minimum length" @@ -5799,9 +5717,7 @@ msgstr "特別な" msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." -msgstr "" -"ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログイン" -"はできません。" +msgstr "ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログインはできません。" #: settings/serializers/security.py:63 msgid "Limit the number of user login failures" @@ -5835,9 +5751,7 @@ msgstr "単一デバイスログインのみ" msgid "" "After the user logs in on the new device, other logged-in devices will " "automatically log out" -msgstr "" -"ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動" -"的にログアウトします。" +msgstr "ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動的にログアウトします。" #: settings/serializers/security.py:95 msgid "Only exist user login" @@ -5850,9 +5764,8 @@ msgid "" "are allowed to log in and automatically create users (if the user does not " "exist)" msgstr "" -"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、" -"ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的" -"に作成されます (ユーザーが存在しない場合)。" +"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的に作成されます" +" (ユーザーが存在しない場合)。" #: settings/serializers/security.py:103 msgid "Only from source login" @@ -5860,14 +5773,13 @@ msgstr "ソースログインからのみ" #: settings/serializers/security.py:105 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効" -"な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべ" -"ての認証方法を特定の順序で認証します。 、直接ログインできます" +"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべての認証方法を特定の順序で認証します。" +" 、直接ログインできます" #: settings/serializers/security.py:116 msgid "Not enabled" @@ -5917,8 +5829,7 @@ msgstr "ログインページのMFA" #: settings/serializers/security.py:144 msgid "Eu security regulations(GDPR) require MFA to be on the login page" -msgstr "" -"Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" +msgstr "Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" #: settings/serializers/security.py:148 msgid "Verify code TTL (second)" @@ -5936,9 +5847,7 @@ msgstr "ログイン動的コードの有効化" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "" -"パスワードと追加コードは、検証のためにサードパーティの認証システムに送信され" -"ます" +msgstr "パスワードと追加コードは、検証のためにサードパーティの認証システムに送信されます" #: settings/serializers/security.py:158 msgid "Enable Login captcha" @@ -5954,13 +5863,11 @@ msgstr "リモートログイン保護" #: settings/serializers/security.py:164 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" -"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断" -"します。アカウントが共通のログイン都市からログインしている場合、システムはリ" -"モートログインリマインダーを送信します" +"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断します。アカウントが共通のログイン都市からログインしている場合、システムはリモートログインリマインダーを送信します" #: settings/serializers/security.py:170 msgid "Unused user timeout (day)" @@ -5970,9 +5877,7 @@ msgstr "未使用のユーザータイムアウト(日)" msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit." -msgstr "" -"毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効に" -"します。" +msgstr "毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効にします。" #: settings/serializers/security.py:191 msgid "Enable watermark" @@ -6009,8 +5914,7 @@ msgstr "セッション共有" #: settings/serializers/security.py:209 msgid "Enabled, Allows user active session to be shared with other users" -msgstr "" -"ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" +msgstr "ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" #: settings/serializers/security.py:215 msgid "Insecure command alert" @@ -6029,7 +5933,8 @@ msgstr "複数のユーザーを使用して、分割" msgid "[%s] %s" msgstr "[%s] %s" -#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 +#: settings/serializers/terminal.py:9 +#: terminal/models/virtualapp/provider.py:11 msgid "Hostname" msgstr "ホスト名" @@ -6045,9 +5950,7 @@ msgstr "ターミナルレジスタの有効化" msgid "" "Allow terminal register, after all terminal setup, you should disable this " "for security" -msgstr "" -"ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティ" -"のためにこれを無効にする必要があります" +msgstr "ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティのためにこれを無効にする必要があります" #: settings/serializers/terminal.py:27 msgid "Password auth" @@ -6062,8 +5965,7 @@ msgid "" "Tips: If use other auth method, like AD/LDAP, you should disable this to " "avoid being able to log in after deleting" msgstr "" -"ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの" -"削除後にこの項目を無効にする必要があります, ログインも可能" +"ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの削除後にこの項目を無効にする必要があります, ログインも可能" #: settings/serializers/terminal.py:34 msgid "List sort by" @@ -6204,9 +6106,7 @@ msgstr "インポート" #: templates/_csv_import_modal.html:12 msgid "Download the imported template or use the exported CSV file format" -msgstr "" -"インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形" -"式を使用する" +msgstr "インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" #: templates/_csv_import_modal.html:13 msgid "Download the import template" @@ -6222,9 +6122,7 @@ msgstr "ファイルを選択してください" #: templates/_csv_update_modal.html:12 msgid "Download the update template or use the exported CSV file format" -msgstr "" -"更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用す" -"る" +msgstr "更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" #: templates/_csv_update_modal.html:13 msgid "Download the update template" @@ -6265,8 +6163,7 @@ msgid "" " " msgstr "" "\n" -" アカウントが期限切れになったので、管理者に連絡してくださ" -"い。 " +" アカウントが期限切れになったので、管理者に連絡してください。 " #: templates/_message.html:13 msgid "Your account will at" @@ -6280,13 +6177,11 @@ msgstr "期限切れです。" #, python-format msgid "" "\n" -" Your password has expired, please click this link update password.\n" +" Your password has expired, please click this link update password.\n" " " msgstr "" "\n" -" パスワードが期限切れになりましたので、クリックしてください " -" リンク パスワードの更新\n" +" パスワードが期限切れになりましたので、クリックしてください リンク パスワードの更新\n" " " #: templates/_message.html:30 @@ -6297,39 +6192,33 @@ msgstr "あなたのパスワードは" #, python-format msgid "" "\n" -" please click this " -"link to update your password.\n" +" please click this link to update your password.\n" " " msgstr "" "\n" -" クリックしてください リンク パスワードの更新\n" +" クリックしてください リンク パスワードの更新\n" " " #: templates/_message.html:43 #, python-format msgid "" "\n" -" Your information was incomplete. Please click this link to complete your information.\n" +" Your information was incomplete. Please click this link to complete your information.\n" " " msgstr "" "\n" -" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" +" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" " " #: templates/_message.html:56 #, python-format msgid "" "\n" -" Your ssh public key not set or expired. Please click this link to update\n" +" Your ssh public key not set or expired. Please click this link to update\n" " " msgstr "" "\n" -" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" +" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" " " #: templates/_mfa_login_field.html:28 @@ -6360,9 +6249,8 @@ msgid "" "JumpServer Client, currently used to launch the client, now only support " "launch RDP SSH client, The Telnet client will next" msgstr "" -"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起す" -"るために使用されており、現在はRDP SSHクライアントのみをサポートしています。" -"「Telnetは将来的にサポートする" +"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起するために使用されており、現在はRDP " +"SSHクライアントのみをサポートしています。「Telnetは将来的にサポートする" #: templates/resource_download.html:33 msgid "Microsoft" @@ -6376,9 +6264,7 @@ msgstr "公式" msgid "" "macOS needs to download the client to connect RDP asset, which comes with " "Windows" -msgstr "" -"MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロード" -"する必要があります" +msgstr "MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロードする必要があります" #: templates/resource_download.html:44 msgid "Windows Remote application publisher tools" @@ -6388,9 +6274,7 @@ msgstr "Windowsリモートアプリケーション発行者ツール" msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" -msgstr "" -"OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続する" -"プログラムです" +msgstr "OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続するプログラムです" #: templates/resource_download.html:53 msgid "Offline video player" @@ -6795,7 +6679,8 @@ msgstr "セッション再生をダウンロードできます" msgid "Account id" msgstr "アカウント ID" -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:118 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:118 msgid "Login from" msgstr "ログイン元" @@ -6848,8 +6733,8 @@ msgstr "アクションパーミッション" msgid "Origin" msgstr "ソース" -#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 -#: terminal/notifications.py:261 +#: terminal/models/session/sharing.py:42 +#: terminal/models/session/sharing.py:100 terminal/notifications.py:261 msgid "Session sharing" msgstr "セッション共有" @@ -6962,21 +6847,16 @@ msgstr "コア サービス アドレス" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリー" -"ス マシンとコア サービスが同じネットワーク セグメント上にある場合は、イントラ" -"ネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト " -"URL を入力します。
例: https://172.16.10.110 または https://dev." -"jumpserver.com" +"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリース マシンとコア サービスが同じネットワーク " +"セグメント上にある場合は、イントラネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト URL を入力します。
例: " +"https://172.16.10.110 または https://dev.jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:208 msgid "Ignore Certificate Verification" @@ -7006,9 +6886,7 @@ msgstr "最大切断時間(ミリ秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "" -"ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時" -"間を設定します(60000ミリ秒後にセッションをログオフ)。" +msgstr "ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時間を設定します(60000ミリ秒後にセッションをログオフ)。" #: terminal/serializers/applet_host.py:60 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -7016,11 +6894,10 @@ msgstr "RDSリモートアプリケーションのログアウト時間制限( #: terminal/serializers/applet_host.py:62 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" -"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ" -"時間を設定します(0ミリ秒、セッションを即座にログオフ)。" +"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ時間を設定します(0ミリ秒、セッションを即座にログオフ)。" #: terminal/serializers/applet_host.py:71 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -7029,17 +6906,13 @@ msgstr "ロードステータス" #: terminal/serializers/applet_host.py:85 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"これらのアカウントは、公開されたアプリケーションに接続するために使用されま" -"す。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専" -"用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公" -"開されています。アプリケーションが複数のオープンをサポートしていない場合、お" -"よび特別なものが使用されている場合、公開アカウントが使用されます。" +"これらのアカウントは、公開されたアプリケーションに接続するために使用されます。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公開されています。アプリケーションが複数のオープンをサポートしていない場合、および特別なものが使用されている場合、公開アカウントが使用されます。" #: terminal/serializers/applet_host.py:92 msgid "The number of public accounts created automatically" @@ -7051,9 +6924,8 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項" -"目 CACHE_LOGIN_PASSWORD_ENABLED=true を設定してサービスを再起動して有効にして" -"ください。" +"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項目 CACHE_LOGIN_PASSWORD_ENABLED=true " +"を設定してサービスを再起動して有効にしてください。" #: terminal/serializers/command.py:19 msgid "Session ID" @@ -7099,9 +6971,7 @@ msgstr "Oracle がリッスンするポート範囲" msgid "" "Oracle proxy server listen port is dynamic, Each additional Oracle database " "instance adds a port listener" -msgstr "" -"Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データ" -"ベースインスタンスはポートリスナーを追加します" +msgstr "Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データベースインスタンスはポートリスナーを追加します" #: terminal/serializers/endpoint.py:38 msgid "" @@ -7109,22 +6979,19 @@ msgid "" "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" msgstr "" -"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラ" -"ウザのアクセス アドレスが使用されます (デフォルトのエンドポイントではホストの" -"変更は許可されません)。" +"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラウザのアクセス アドレスが使用されます " +"(デフォルトのエンドポイントではホストの変更は許可されません)。" #: terminal/serializers/endpoint.py:64 msgid "" -"The assets within this IP range, the following endpoint will be used for the " -"connection" +"The assets within this IP range, the following endpoint will be used for the" +" connection" msgstr "このIP範囲内のアセットは、以下のエンドポイントを使用して接続されます" #: terminal/serializers/endpoint.py:65 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" -msgstr "" -"異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用" -"して実装します" +msgstr "異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用して実装します" #: terminal/serializers/endpoint.py:69 msgid "Asset IP" @@ -7296,16 +7163,13 @@ msgid "" "administrator to open more ports." msgstr "" "利用可能なポートと一致しません。データベースの数が、データベース プロキシ " -"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開" -"くには、管理者に連絡してください。" +"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開くには、管理者に連絡してください。" #: terminal/utils/db_port_mapper.py:113 msgid "" -"No ports can be used, check and modify the limit on the number of ports that " -"Magnus listens on in the configuration file." -msgstr "" -"使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の" -"制限を確認して変更してください. " +"No ports can be used, check and modify the limit on the number of ports that" +" Magnus listens on in the configuration file." +msgstr "使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の制限を確認して変更してください. " #: terminal/utils/db_port_mapper.py:115 msgid "All available port count: {}, Already use port count: {}" @@ -7375,9 +7239,7 @@ msgstr "チケットはすでに閉じています" msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "" -"チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: " -"{}" +msgstr "チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: {}" #: tickets/handlers/base.py:85 msgid "Change field" @@ -7631,9 +7493,7 @@ msgstr "承認" #: tickets/views/approve.py:41 msgid "" "This ticket does not exist, the process has ended, or this link has expired" -msgstr "" -"このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効に" -"なっています" +msgstr "このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効になっています" #: tickets/views/approve.py:69 msgid "Click the button below to approve or reject" @@ -7721,8 +7581,7 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま" -"す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" +"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入ります。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" #: users/forms/profile.py:61 msgid "* Enable MFA to make the account more secure." @@ -7730,12 +7589,11 @@ msgstr "* アカウントをより安全にするためにMFAを有効にしま #: users/forms/profile.py:70 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報" -"を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" +"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" #: users/forms/profile.py:77 msgid "Finish" @@ -7951,6 +7809,7 @@ msgid "" "remote computer to fit the window size of the client computer when the " "window is resized." msgstr "" +"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコンピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように拡大または縮小するかどうかを決定します。" # msgid "" # "Determines whether the client computer should scale the content on the " @@ -8055,11 +7914,8 @@ msgstr "名前が一意ではない" #: users/signal_handlers.py:32 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." -msgstr "" -"管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" -"はユーザーリストにありません。管理者に連絡してください。" +" and the current user is not in the user list. Please contact the administrator." +msgstr "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザーはユーザーリストにありません。管理者に連絡してください。" #: users/tasks.py:25 msgid "Check password expired" @@ -8093,8 +7949,7 @@ msgstr "アカウントの有効期限は" msgid "" "In order not to affect your normal work, please contact the administrator " "for confirmation." -msgstr "" -"通常の作業に影響を与えないように、確認のために管理者に連絡してください。" +msgstr "通常の作業に影響を与えないように、確認のために管理者に連絡してください。" #: users/templates/users/_msg_password_expire_reminder.html:7 msgid "Your password will expire in" @@ -8104,9 +7959,7 @@ msgstr "パスワードは" msgid "" "For your account security, please click on the link below to update your " "password in time" -msgstr "" -"アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間" -"内に更新してください" +msgstr "アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間内に更新してください" #: users/templates/users/_msg_password_expire_reminder.html:11 msgid "Click here update password" @@ -8114,8 +7967,7 @@ msgstr "ここをクリック更新パスワード" #: users/templates/users/_msg_password_expire_reminder.html:16 msgid "If your password has expired, please click the link below to" -msgstr "" -"パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" +msgstr "パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" #: users/templates/users/_msg_reset_mfa.html:7 msgid "Your MFA has been reset by site administrator" @@ -8223,11 +8075,9 @@ msgstr "ワンタイムパスワード認証子のバインド" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" -msgstr "" -"MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コード" -"でスキャンします。" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" +msgstr "MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コードでスキャンします。" #: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_verify_mfa.html:27 @@ -8242,9 +8092,7 @@ msgstr "アプリのインストール" msgid "" "Download and install the MFA Authenticator application on your phone or " "applet of WeChat" -msgstr "" -"携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウン" -"ロードしてインストールします" +msgstr "携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウンロードしてインストールします" #: users/templates/users/user_otp_enable_install_app.html:18 msgid "Android downloads" @@ -8258,9 +8106,7 @@ msgstr "IPhoneのダウンロード" msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." -msgstr "" -"インストール後、次のステップをクリックしてバインディングページに入ります (イ" -"ンストールされている場合は、次のステップに直接進みます)。" +msgstr "インストール後、次のステップをクリックしてバインディングページに入ります (インストールされている場合は、次のステップに直接進みます)。" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -8275,8 +8121,7 @@ msgstr "認証" msgid "" "The account protection has been opened, please complete the following " "operations according to the prompts" -msgstr "" -"アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" +msgstr "アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" #: users/templates/users/user_verify_mfa.html:17 msgid "Open MFA Authenticator and enter the 6-bit dynamic code" @@ -8288,8 +8133,7 @@ msgstr "すでにバインド済み" #: users/views/profile/otp.py:86 msgid "MFA already bound, disable first, then bound" -msgstr "" -"MFAはすでにバインドされており、最初に無効にしてからバインドされています。" +msgstr "MFAはすでにバインドされており、最初に無効にしてからバインドされています。" #: users/views/profile/otp.py:113 msgid "OTP enable success" @@ -8317,11 +8161,9 @@ msgstr "パスワード無効" #: users/views/profile/reset.py:64 msgid "" -"Non-local users can log in only from third-party platforms and cannot change " -"their passwords: {}" -msgstr "" -"ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが" -"許可され、パスワードの変更はサポートされていません: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" +msgstr "ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが許可され、パスワードの変更はサポートされていません: {}" #: users/views/profile/reset.py:185 users/views/profile/reset.py:196 msgid "Token invalid or expired" @@ -8516,7 +8358,8 @@ msgstr "クラウドアカウント" msgid "Test cloud account" msgstr "クラウドアカウントのテスト" -#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers/task.py:159 +#: xpack/plugins/cloud/models.py:92 +#: xpack/plugins/cloud/serializers/task.py:159 msgid "Regions" msgstr "リージョン" @@ -8584,7 +8427,8 @@ msgstr "インスタンス" msgid "Sync instance detail" msgstr "同期インスタンスの詳細" -#: xpack/plugins/cloud/models.py:279 xpack/plugins/cloud/serializers/task.py:72 +#: xpack/plugins/cloud/models.py:279 +#: xpack/plugins/cloud/serializers/task.py:72 msgid "Rule relation" msgstr "条件関係" @@ -8640,7 +8484,8 @@ msgstr "ルール一致" msgid "Rule value" msgstr "ルール値" -#: xpack/plugins/cloud/models.py:325 xpack/plugins/cloud/serializers/task.py:75 +#: xpack/plugins/cloud/models.py:325 +#: xpack/plugins/cloud/serializers/task.py:75 msgid "Strategy rule" msgstr "戦略ルール" @@ -8652,7 +8497,8 @@ msgstr "アクション属性" msgid "Action value" msgstr "アクション値" -#: xpack/plugins/cloud/models.py:349 xpack/plugins/cloud/serializers/task.py:78 +#: xpack/plugins/cloud/models.py:349 +#: xpack/plugins/cloud/serializers/task.py:78 msgid "Strategy action" msgstr "戦略アクション" @@ -8916,9 +8762,8 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが" -"実行されると、有効な IP アドレスのみが同期されます。
ポートが0の場合、す" -"べてのIPアドレスが有効です。" +"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが実行されると、有効な IP アドレスのみが同期されます。 " +"
ポートが0の場合、すべてのIPアドレスが有効です。" #: xpack/plugins/cloud/serializers/account_attrs.py:190 msgid "Hostname prefix" @@ -8948,10 +8793,8 @@ msgid "" "all instances and randomly match IP addresses.
Such as: 192.168.1.0/24, " "10.1.1.1-10.1.1.20" msgstr "" -"IP範囲に一致するインスタンスのみが同期されます。
インスタンスに複数のIPア" -"ドレスが含まれている場合、一致する最初のIPアドレスが作成されたアセットのIPと" -"して使用されます。
デフォルト値の*は、すべてのインスタンスを同期し、IPア" -"ドレスをランダムに一致させることを意味します。
例: " +"IP範囲に一致するインスタンスのみが同期されます。
インスタンスに複数のIPアドレスが含まれている場合、一致する最初のIPアドレスが作成されたアセットのIPとして使用されます。" +"
デフォルト値の*は、すべてのインスタンスを同期し、IPアドレスをランダムに一致させることを意味します。
例: " "192.168.1.0/24,10.1.1.1-10.1.1.20。" #: xpack/plugins/cloud/serializers/task.py:157 diff --git a/apps/locale/lina/ja.json b/apps/locale/lina/ja.json new file mode 100644 index 000000000..146590eb4 --- /dev/null +++ b/apps/locale/lina/ja.json @@ -0,0 +1,1846 @@ +{ + "APIKey": "APIキー", + "AWSChina": "AWS(中国)", + "AWSInt": "AWS(国際)", + "About": "について", + "Accept": "同意する", + "AccessIP": "IP ホワイトリスト", + "AccessKey": "アクセスキー", + "Account": "アカウント情報", + "AccountBackup": "アカウントバックアップ", + "AccountBackupCreate": "アカウントバックアップの作成", + "AccountBackupUpdate": "アカウントバックアップの更新", + "AccountChangeSecret": "アカウントのパスワード変更", + "AccountCreate": "アカウントを作成", + "AccountDeleteConfirmMsg": "アカウントを削除しますか、続行しますか?", + "AccountDetail": "アカウント詳細", + "AccountEnabled": "アカウント切り替えを有効化", + "AccountExportTips": "エクスポート情報には、アカウントの暗号文と機密情報が含まれており、エクスポート形式は暗号化されたzipファイルとなります(暗号化パスワードが設定されていない場合は、個人情報の中でファイル暗号化パスワードを設定してください)。", + "AccountGather": "アカウント回収", + "AccountGatherList": "収集任務", + "AccountGatherTaskCreate": "タスクを作成", + "AccountGatherTaskExecutionList": "タスク実行リスト", + "AccountGatherTaskList": "アカウント収集", + "AccountGatherTaskUpdate": "タスク更新", + "AccountHelpText": "クラウドアカウントはクラウドサービスプロバイダに接続するためのアカウントで、クラウドサービスプロバイダのリソース情報を取得するために使用されます", + "AccountHistoryHelpMessage": "現在のアカウントの履歴バージョン", + "AccountKey": "フィールドの変更", + "AccountList": "クラウドアカウント", + "AccountName": "アカウント名", + "AccountPolicy": "アカウントポリシー", + "AccountPushCreate": "アカウントプッシュ作成", + "AccountPushExecutionList": "実行リスト", + "AccountPushList": "アカウントプッシュ", + "AccountPushUpdate": "アカウントプッシュ更新", + "AccountStorage": "アカウントストレージ", + "AccountTemplate": "アカウントテンプレート", + "AccountTemplateUpdateSecretHelpText": "テンプレートで作成されたアカウントのリストが表示されます。暗号文を更新すると、テンプレートで作成したアカウントの暗号文も更新されます", + "AccountUpdate": "アカウントを更新", + "AccountUsername": "アカウント(ユーザー名)", + "Accounts": "アカウント管理", + "AccountsHelp": "全アカウント: 資産に追加された全アカウント;
指定アカウント:指定した資産下のアカウントのユーザー名;
手動アカウント: ユーザー名/パスワード ログイン時に手動で入力;
同名アカウント: 認証許可を受けたユーザー名と同名のアカウント;", + "Acl": "アクセス制御", + "Acls": "アクセス制御", + "Action": "アクション", + "ActionCount": "アクション数", + "ActionSetting": "アクション設定", + "Actions": "権限", + "ActionsTips": "各権限はプロトコルにより異なり、アイコンをクリックして詳細を表示", + "Activate": "活性化", + "ActivateSuccessMsg": "活性化成功", + "Active": "活動中", + "ActiveAsset": "最近ログインされた", + "ActiveAssetRanking": "ログイン資産ランキング", + "ActiveSelected": "選択したアイテムをアクティブにする", + "ActiveUser": "最近ログインした", + "ActiveUserAssetsRatioTitle": "パーセンテージ統計", + "Activity": "アクティビティ", + "AdDomain": "ADドメイン名", + "AdDomainHelpText": "ドメインユーザーのログイン用のADドメイン名を提供", + "Add": "新規追加", + "AddAccount": "アカウントの追加", + "AddAccountResult": "アカウントの一括追加結果", + "AddAllMembersWarningMsg": "すべてのメンバーを追加しますか?", + "AddAsset": "資産の追加", + "AddAssetToNode": "ノードへのアセットの追加", + "AddAssetToThisPermission": "資産の追加", + "AddDatabaseAppToThisPermission": "データベースアプリケーションを追加", + "AddFailMsg": "追加失敗", + "AddK8sAppToThisPermission": "Kubernetesアプリケーションを追加", + "AddNode": "ノードの追加", + "AddNodeToThisPermission": "ノードの追加", + "AddOrgMembers": "組織のメンバーを追加", + "AddPassKey": "Passkey(通行キー)を追加", + "AddRemoteAppToThisPermission": "リモートアプリケーションの追加", + "AddRolePermissions": "作成/更新成功後、詳細に権限を追加", + "AddSuccessMsg": "成功を追加", + "AddSystemUser": "システムユーザーを追加", + "AddSystemUserToThisPermission": "システムユーザーの追加", + "AddUserGroupToThisPermission": "ユーザーグループ追加", + "AddUserToThisPermission": "ユーザーの追加", + "Address": "アドレス", + "Addressee": "受信者", + "AdhocDetail": "コマンド詳細", + "AdhocManage": "コマンド管理", + "AdhocUpdate": "コマンドを更新", + "Admin": "管理者", + "AdminUser": "特権ユーザー", + "AdminUserCreate": "管理ユーザーの作成", + "AdminUserDetail": "ユーザー詳細管理", + "AdminUserList": "ユーザー管理", + "AdminUserListHelpMessage": "特権ユーザーは既存の資産であり、高度な権限を持つシステムユーザー、例えば root や `NOPASSWD: ALL` sudo 権限を持つユーザーです。 JumpServerはこのユーザーを用いて `システムユーザーのプッシュ`、`資産のハードウェア情報の取得`などを行います。", + "AdminUserUpdate": "管理ユーザーの更新", + "Admin_usersAmount": "特権ユーザー", + "Advanced": "詳細設定", + "AfterChange": "変更後", + "AjaxError404": "404 リクエストエラー", + "AlibabaCloud": "アリババクラウド", + "Alive": "オンライン", + "Aliyun": "アリババクラウド", + "All": "すべて", + "AllAccountTip": "すべてのアカウントが資産に追加されました", + "AllAccounts": "全てのアカウント", + "AllClickRead": "全て既読", + "AllMembers": "全メンバー", + "AllOrganization": "組織リスト", + "AllowInvalidCert": "証明書のチェックを無視", + "Announcement": "お知らせ", + "AnonymousAccount": "匿名アカウント", + "AnonymousAccountTip": "アセットへの接続時にユーザー名とパスワードを使用せず、Webタイプとカスタムタイプのアセットのみがサポートされます", + "ApiKey": "APIキー", + "ApiKeyList": "APIキーでリクエストヘッダーに署名し認証します。各リクエストのヘッダーは異なり、トークン方式に比べてより安全です。ドキュメントの参照をお願いいたします。
リスクの漏洩を低減するため、Secretは生成時にのみ表示できます。各ユーザーは最大10を作成することができます。", + "ApiKeyWarning": "AccessKeyの漏洩リスクを減らすため、Secretは作成時にのみ提供され、後続の照会はできませんので、適切に保存してください。", + "App": "アプリケーション", + "AppAmount": "アプリケーションの数", + "AppAuth": "App認証", + "AppEndpoint": "アプリケーションアクセスアドレス", + "AppList": "アプリリスト", + "AppName": "アプリケーション名", + "AppOps": "タスクセンター", + "AppPath": "アプリケーションパス", + "AppProvider": "アプリケーションプロバイダー", + "AppProviderDetail": "アプリケーションプロバイダーの詳細", + "AppType": "アプリケーションタイプ", + "App_permsAmount": "アプリケーション権限付与", + "AppletCreate": "リモートアプリケーション作成", + "AppletDetail": "リモートアプリケーション", + "AppletHelpText": "アップロード過程で、アプリケーションが存在しない場合は、新たに作成。既に存在する場合は、アプリケーションの更新を行う。", + "AppletHostCreate": "リモートアプリケーションリリースマシンの追加", + "AppletHostDetail": "リモートアプリケーションリリースマシンの詳細", + "AppletHostDomainHelpText": "ここはSystem組織のウェブドメインです", + "AppletHostSelectHelpMessage": "コマンドフィルタ", + "AppletHostUpdate": "リモートアプリケーションの公開マシンを更新", + "AppletHosts": "アプリ公開マシーン", + "Applets": "リモートアプリケーション", + "Applicant": "申請者", + "Application": "カンマで区切られたアプリケーション名のグループを入力してください", + "ApplicationAccount": "アプリケーションアカウント", + "ApplicationDetail": "アプリケーション詳細", + "ApplicationPermission": "アプリ認証", + "ApplicationPermissionCreate": "アプリ認証ルールを作成", + "ApplicationPermissionDetail": "アプリケーション認証の詳細", + "ApplicationPermissionRules": "アプリケーション認証ルール", + "ApplicationPermissionUpdate": "アプリケーション権限ルールの更新", + "Applications": "アプリケーション管理", + "ApplicationsAmount": "アプリケーション", + "ApplyAsset": "アセットの申し込み", + "ApplyFromCMDFilterRule": "コマンドフィルタルール", + "ApplyFromSession": "セッション", + "ApplyInfo": "申請情報", + "ApplyRunAsset": "実行を申請する資産", + "ApplyRunCommand": "実行を申請するコマンド", + "ApplyRunSystemUser": "実行の申請を行うシステムユーザー", + "ApplyRunUser": "実行を申請するユーザー", + "Apply_loginAccount": "ログインアカウントの申請", + "Apply_loginAsset": "ログイン資産申請", + "Apply_loginUser": "ログインユーザー申請", + "Apply_login_systemUser": "システムユーザーへのログインを申請", + "Appoint": "指定", + "ApprovaLevel": "承認情報", + "ApprovalLevel": "審査レベル", + "ApprovalProcess": "承認プロセス", + "Approved": "同意済み", + "ApproverNumbers": "承認者の数", + "AppsCount": "アプリケーション数", + "AppsList": "アプリ一覧", + "ApsaraStack": "アリババクラウド専用クラウド", + "Asset": "資産", + "AssetAccount": "アカウントリスト", + "AssetAccountDetail": "アカウント詳細", + "AssetAclCreate": "アセットログインルールの作成", + "AssetAclDetail": "アセットログインルール詳細", + "AssetAclList": "資産ログイン", + "AssetAclUpdate": "アセットログインルールの更新", + "AssetAddress": "アセット(IP/ホスト名)", + "AssetAmount": "資産の数", + "AssetAndNode": "資産/ノード", + "AssetBulkUpdateTips": "ネットワークデバイス、クラウドサービス、web、ドメインの一括更新はサポートされていません", + "AssetChangeSecretCreate": "アカウント作成・パスワード変更", + "AssetChangeSecretUpdate": "アカウントパスワードの更新", + "AssetCount": "資産の数量", + "AssetCreate": "資産を作成", + "AssetData": "資産データ", + "AssetDetail": "資産詳細", + "AssetHistoryAccount": "資産の履歴アカウント", + "AssetList": "アセットリスト", + "AssetListHelpMessage": "左側には資産ツリーがあり、右クリックでツリーノードを新規作成、削除、変更することができます。資産の権限もノードの形式で組織されており、右側にはそのノードに属する資産が表示されます。\n", + "AssetLoginACLHelpMsg": "アセットにログインする際、ユーザーのログインIPと時間帯を審査して、アセットにログインできるかどうかを判断します", + "AssetName": "アセット名", + "AssetNumber": "資産番号", + "AssetPermission": "アセット認証", + "AssetPermissionCreate": "アセット認証ルールの作成", + "AssetPermissionDetail": "資産の承認詳細", + "AssetPermissionHelpMsg": "資産の権限許可により、特定のユーザーや資産を選択し、ユーザーがアクセスするために資産の権限を設定します。権限許可が完了すると、ユーザーはこれらの資産を簡単に閲覧することができます。さらに特定の権限ビットを設定して、ユーザーが資産に対する権限範囲を更に定義することができます。", + "AssetPermissionList": "資産権限リスト", + "AssetPermissionRules": "アセット認証ルール", + "AssetPermissionUpdate": "資産認証ルールを更新", + "AssetProtocolHelpText": "資産サポートプロトコルはプラットフォームの制限を受けています。設定ボタンをクリックすると、プロトコルの設定が表示されます。更新が必要な場合は、プラットフォームを更新してください。", + "AssetRatio": "資産割合統計", + "AssetResultDetail": "資産結果", + "AssetTree": "資産ツリー", + "AssetUpdate": "アセット更新", + "AssetUserList": "資産ユーザー", + "Asset_ipGroup": "アセットIP", + "Asset_permsAmount": "資産の認可", + "Assets": "資産管理", + "AssetsAmount": "資産", + "AssetsTotal": "アセット合計", + "AssignedInfo": "承認情報", + "AssignedMe": "私の承認待ち", + "AssignedTicketList": "私の承認待ち", + "Assignee": "処理者", + "Assignees": "処理待ちユーザ", + "AssociateApplication": "関連アプリケーション", + "AssociateAssets": "関連アセット", + "AssociateNodes": "関連ノード", + "AssociateSystemUsers": "システムユーザーとの連携", + "AttrName": "プロパティ名", + "AttrValue": "属性値", + "Auditor": "監査人", + "Audits": "監査台", + "Auth": "認証設定", + "AuthCASAttrMap": "ユーザ属性のマッピング", + "AuthLdap": "LDAP認証を有効にする", + "AuthLdapBindDn": "DNバインド", + "AuthLdapBindPassword": "パスワード", + "AuthLdapSearchFilter": "可能なオプションは(cnまたはuidまたはsAMAccountName=%(user)s)", + "AuthLdapSearchOu": "OUを|で区切る", + "AuthLdapServerUri": "LDAPアドレス", + "AuthLdapUserAttrMap": "ユーザー属性マッピングは、LDAPのユーザー属性がjumpserverユーザーにどのようにマッピングされるかを指しています。username, name,emailはjumpserverの属性です", + "AuthLimit": "ログイン制限", + "AuthMethod": "認証方法", + "AuthSAML2AdvancedSettings": "詳細設定", + "AuthSAML2MetadataUrl": "IDPメタデータURL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "証明書キーをアップロードし保存した後、SPメタデータを確認", + "AuthSAMLKeyHelpText": "SP証明書とキーは、IDPとの通信を暗号化するために使用されます", + "AuthSaml2UserAttrMapHelpText": "左側のキーはSAML2のユーザ属性で、右側の値は認証プラットフォームのユーザ属性です", + "AuthSecurity": "認証の安全性", + "AuthSetting": "認証設定", + "AuthSettings": "認証設定", + "AuthUserAttrMap": "ユーザ属性マッピング", + "AuthUserAttrMapHelpText": "左側のキーはJumpServerのユーザー属性、右側の値は認証プラットフォームのユーザー属性", + "AuthUsername": "ユーザー名認証を使用", + "Authentication": "認証", + "Author": "著者", + "Auto": "自動", + "AutoCreate": "自動作成", + "AutoEnabled": "自動化を有効にする", + "AutoGenerateKey": "ランダムにパスワードを生成", + "AutoPush": "自動プッシュ", + "Automations": "自動化", + "AverageTimeCost": "平均費用時間", + "Azure": "Azure(中国)", + "AzureInt": "Azure(国際)", + "Backup": "バックアップ", + "BadConflictErrorMsg": "更新中です、後ほどお試しください", + "BadRequestErrorMsg": "リクエストエラー、入力内容を確認してください", + "BadRoleErrorMsg": "操作権限がないため、リクエストエラー", + "BaiduCloud": "百度クラウド", + "BasePlatform": "基盤プラットフォーム", + "BasePort": "リッスンポート", + "Basic": "基本設定", + "BasicInfo": "基本情報", + "BasicSetting": "基本設定", + "BasicTools": "基本的なツール", + "BatchActivate": "一括でアクティベート", + "BatchApproval": "バルク承認", + "BatchCommand": "バルクコマンド", + "BatchCommandNotExecuted": "バッチコマンド未実行", + "BatchConsent": "一括同意", + "BatchDelete": "一括削除", + "BatchDisable": "一括無効化", + "BatchProcessing": "バッチ処理(選択 {Number} 項目)", + "BatchReject": "一括拒否", + "BatchRemoval": "一括削除", + "BatchScript": "一括スクリプト", + "BatchUpdate": "一括更新", + "Become": "Become", + "BeforeChange": "変更前", + "Beian": "登録", + "BelongAll": "同時に含む", + "BelongTo": "任意に含む", + "Bind": "バインド", + "BindLabel": "関連タグ", + "BindResource": "関連リソース", + "BindSuccess": "バインディング成功", + "BlockedIPS": "ロックされたIP", + "Bucket": "バケット名", + "Builtin": "組み込み", + "BuiltinTree": "タイプツリー", + "BuiltinVariable": "組み込み変数", + "BulkClearErrorMsg": "一括クリア失敗", + "BulkCreateStrategy": "要件を満たさないアカウントを作成する際、例:不適切なキータイプ、一意のキー制約については、上記の戦略を選択できます。", + "BulkDeleteErrorMsg": "一括削除に失敗:", + "BulkDeleteSuccessMsg": "一括削除成功", + "BulkDeploy": "一括デプロイ", + "BulkOffline": "一括でオフライン", + "BulkRemoveErrorMsg": "一括削除失敗: ", + "BulkRemoveSuccessMsg": "一括削除に成功", + "BulkSyncDelete": "一括同期削除", + "BulkSyncErrorMsg": "一括同期失敗:", + "BulkTransfer": "一括転送", + "BulkUnblock": "一括ロック解除", + "BulkUpdatePlatformHelpText": "アセットのオリジナルのプラットフォームタイプが選択したプラットフォームタイプと同じ場合のみ更新されます。更新前後のプラットフォームタイプが異なる場合は更新されません。", + "CACertificate": "CA サート", + "CAS": "CAS", + "CASSetting": "CAS 設定", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "天翼プライベートクラウド", + "CalculationResults": "cron 式エラー", + "CanDragSelect": "マウスをドラッグして時間帯を選択可能", + "Cancel": "キャンセル", + "CancelCollection": "お気に入り解除", + "CannotAccess": "現在のページにアクセスできません", + "Cas": "CAS設定", + "Category": "カテゴリ", + "CeleryTaskLog": "Celeryタスクのログ", + "Certificate": "証明書", + "CertificateKey": "クライアントキー", + "ChangeField": "変更フィールド", + "ChangePassword": "パスワードを変更", + "ChangeReceiver": "メッセージ受信者の変更", + "ChangeSecretParams": "パスワード変更パラメータ", + "ChangeViewHelpText": "異なるビューを切り替えるクリック", + "Charset": "文字セット", + "Chat": "チャット", + "ChatAI": "スマートQ&A", + "ChatHello": "こんにちは!何かお手伝いできることはありますか?", + "ChdirHelpText": "デフォルトの実行ディレクトリはユーザーのホームディレクトリ", + "CheckAssetsAmount": "アセット数の検証", + "CheckViewAcceptor": "受理人を見るためにクリック", + "ChinaRed": "チャイナレッド", + "Chrome": "Chrome", + "ChromePassword": "ログインパスワード", + "ChromeTarget": "目標URL", + "ChromeUsername": "ログインアカウント", + "ClassicGreen": "クラシックグリーン", + "CleanHelpText": "定期的にクリーニングタスクが実行されます。 毎日午前2時に実行され、クリーニング後のデータは回復できません", + "Cleaning": "定期的なクリーニング", + "Clear": "クリア", + "ClearScreen": "クリアスクリーン", + "ClearSecret": "暗号文のクリア", + "ClearSelection": "選択のクリア", + "ClearSuccessMsg": "成功したクリア", + "ClickCopy": "コピーをクリック", + "Clickhouse": "ClickHouse", + "ClientCertificate": "クライアント証明書", + "ClipBoard": "クリップボード", + "ClipboardCopy": "クリップボードコピー", + "ClipboardCopyPaste": "クリップボードからのコピーペースト", + "ClipboardPaste": "クリップボードから貼り付け", + "Clone": "クローン", + "CloneFrom": "複製元", + "Close": "閉じる", + "CloseConfirm": "閉じることを確認する", + "CloseConfirmMessage": "ファイルが変更されました、保存しますか?", + "CloseStatus": "完了しました", + "Closed": "完了", + "Cloud": "クラウドアプリケーション", + "CloudCenter": "クラウド管理センター", + "CloudCreate": "アセット作成-クラウドプラットフォーム", + "CloudPlatform": "クラウドプラットフォーム", + "CloudSource": "同期元", + "CloudSync": "クラウド同期", + "CloudUpdate": "資産更新-クラウドプラットフォーム", + "Clouds": "クラウドプラットフォーム", + "Cluster": "クラスター", + "ClusterHelpTextMessage": "例:https://172.16.8.8:8443", + "CmdFilter": "コマンドフィルター", + "CollapseSidebar": "サイドバーを折りたたむ", + "CollectHardwareInfo": "ハードウェア情報の収集を有効にする", + "CollectionSucceed": "お気に入りに追加成功", + "Command": "コマンド", + "Command filter": "は正当なJSONではありません。", + "CommandConfirm": "コマンドレビュー", + "CommandExecutions": "コマンド実行", + "CommandFilterACL": "コマンドフィルター", + "CommandFilterACLHelpMsg": "コマンドフィルタリングを使用して、資産に対するコマンドの送信を制御できます。設定したルールに従って、一部のコマンドは許可され、他の一部のコマンドは禁止されます。", + "CommandFilterAclCreate": "コマンドフィルタルールの作成", + "CommandFilterAclDetail": "コマンドフィルタルールの詳細", + "CommandFilterAclList": "コマンドフィルタ", + "CommandFilterAclUpdate": "コマンドフィルタルールの更新", + "CommandFilterCreate": "コマンドフィルタの作成", + "CommandFilterDetail": "コマンドフィルタ詳細", + "CommandFilterHelpMessage": "システムユーザーは、特定のコマンドの入力を禁止する効果を実現するために、複数のコマンドフィルターにバインドできます。フィルターには複数のルールを設定でき、システムユーザーがアセットに接続するとき、フィルターに設定されたルールの優先順位に従って入力されたコマンドが実行されます。例:最初にマッチしたルールが「許可」の場合、そのコマンドは実行されます。最初にマッチしたルールが「禁止」の場合、そのコマンドは実行を禁止されます。最終的にルールにマッチしない場合は、そのコマンドは許可されます。", + "CommandFilterList": "コマンドフィルター規則", + "CommandFilterRuleContentHelpText": "コマンドは1行につき1つ", + "CommandFilterRulePriorityHelpText": "優先度の範囲は1から100まで、1が最低優先度、100が最高優先度", + "CommandFilterRules": "コマンドフィルター規則", + "CommandFilterRulesCreate": "コマンドフィルタールールを作成", + "CommandFilterRulesUpdate": "コマンドフィルタルールの更新", + "CommandFilterUpdate": "コマンドフィルターの更新", + "CommandGroup": "コマンドグループ", + "CommandGroupCreate": "コマンドグループを作成", + "CommandGroupDetail": "コマンドグループ詳細", + "CommandGroupList": "コマンドグループ", + "CommandGroupUpdate": "コマンドグループを更新", + "CommandStorage": "コマンドの保存", + "CommandStorageUpdate": "コマンドストレージの更新", + "Command_filterList": "コマンドフィルターリスト", + "Commands": "コマンド記録", + "Comment": "メモ", + "CommentHelpText": "注:メモ情報はLunaページのユーザー権限資産ツリーでホバー表示され、一般ユーザーが閲覧できます。機密情報の記入は避けてください。", + "Common": "一般", + "CommonUser": "一般ユーザー", + "CommunityEdition": "コミュニティ版", + "Component": "コンポーネント", + "ComponentMonitor": "コンポーネント監視", + "ConceptContent": "あなたに Python インタープリターのように行動してもらいたい。Python のコードを提供し、あなたがそれを実行する。説明は一切提供しないでください。コードの出力以外には何も回答しないでください。", + "ConceptTitle": "🤔 Python インタープリタ", + "Config": "配置", + "Confirm": "確認", + "ConfirmPassword": "パスワードの確認", + "Connect": "接続", + "ConnectMethod": "接続方法", + "ConnectMethodACLHelpMsg": "接続方法によるフィルタリングを通じて、ユーザーが特定の接続方法を使ってアセットにログインすることを制御することができます。設定したルールに基づき、一部の接続方法は許可され、他の接続方法は禁止されます(全体に適用)。", + "ConnectMethodAclCreate": "接続方法の制御を作成する", + "ConnectMethodAclDetail": "接続方法の詳細", + "ConnectMethodAclList": "接続方法", + "ConnectMethodAclUpdate": "接続方法制御を更新する", + "ConnectUsers": "アカウント接続", + "ConnectWebSocketError": "WebSocketの接続失敗", + "ConnectionDropped": "接続が切断されました", + "ConnectionToken": "接続トークン", + "ConnectionTokenList": "接続トークンは、認証と資産の接続を組み合わせたもので、ユーザーが一回クリックで資産にログインできるようにする認証情報です。現在サポートされているコンポーネントはKoKo、Lion、Magnus、Razorなどです。", + "Connectivity": "接続可能", + "Console": "コンソール", + "Consult": "コンサルティング", + "ContainAttachment": "添付ファイル付き", + "ContainerName": "コンテナ名", + "Containers": "コンテナ", + "Contains": "含む", + "Content": "内容", + "Contents": "内容", + "Continue": "続行", + "ContinueImport": "インポートを続行", + "ConvenientOperate": "便利な操作", + "Copy": "複製", + "CopySuccess": "コピー成功", + "Corporation": "会社", + "Correlation": "関連する", + "Cpu": "CPU", + "Create": "作成", + "CreateAccessKey": "アクセスキーの作成", + "CreateAccountTemplate": "アカウントテンプレートの作成", + "CreateAdhoc": "コマンドを作成", + "CreateBy": "作成者", + "CreateCommandStorage": "コマンドストレージの作成", + "CreateEndpoint": "エンドポイントを作成", + "CreateEndpointRule": "エンドポイントルールの作成", + "CreateErrorMsg": "作成失敗", + "CreateNode": "ノードの作成", + "CreateOrgMsg": "組織詳細内でユーザーを追加してください", + "CreatePlaybook": "Playbookを作成", + "CreateReplayStorage": "オブジェクトストレージを作成", + "CreateSuccessMsg": "インポート成功、合計:{count}", + "CreateUserSetting": "ユーザーコンテンツの作成", + "Created": "作成済み", + "CreatedBy": "作成者", + "CriticalLoad": "重大", + "CronExpression": "crontabの完全な表現", + "CrontabHelpTips": "eg:毎週日曜日 03:05 に実行 <5 3 * * 0>
ヒント: 5桁のLinux crontab式<分 時 日 月 曜日>を使ってください (オンラインツール)
注意: 定期実行と周期実行が同時に設定されている場合は、定期実行が優先", + "CrontabOfCreateUpdatePage": "例えば:毎週日曜日 03:05に実行 <5 3 * * 0>
5位の Linux crontab式 <分 時 日 月 曜日> を使用してください(オンラインツール
定期的に実行と周期的に実行を同時に設定すると、優先して定期的に実行されます", + "CurrentConnections": "現在の接続数", + "CurrentUserVerify": "現在のユーザーの検証", + "Custom": "カスタム", + "CustomCmdline": "実行パラメータ", + "CustomCol": "カスタムリストフィールド", + "CustomCreate": "資産作成-カスタマイズ", + "CustomFields": "カスタム属性", + "CustomFile": "カスタマイズしたファイルを指定されたディレクトリ(data/sms/main.py)に置き、config.txt で SMS_CUSTOM_FILE_MD5=<ファイルmd5値>の設定項目を有効にしてください", + "CustomHelpMessage": "カスタムタイプの資産は、リモートアプリケーションに依存しています。リモートアプリケーションをシステム設定で設定してください", + "CustomParams": "左側はSMSプラットフォームが受け取るパラメーター、右側はJumpServer待ちのフォーマットパラメーター、最終結果は以下の通りです:
{\"phone_numbers\": \"123,134\", \"content\": \"認証コードは: 666666\"}", + "CustomPassword": "ログインパスワード", + "CustomTarget": "目標アドレス", + "CustomTree": "カスタムツリー", + "CustomType": "カスタムタイプ", + "CustomUpdate": "アセット更新-カスタム", + "CustomUser": "カスタムユーザー", + "CustomUsername": "ログインアカウント", + "CycleFromWeek": "周期は週から", + "CyclePerform": "定期実行", + "DBInfo": "データベース情報", + "DangerCommand": "危険なコマンド", + "DangerousCommandNum": "危険なコマンド数", + "Dashboard": "ダッシュボード", + "Database": "データベース", + "DatabaseApp": "データベースアプリケーション", + "DatabaseAppCount": "データベースの利用数", + "DatabaseAppCreate": "データベースアプリケーションの作成", + "DatabaseAppDetail": "データベースの詳細", + "DatabaseAppPermission": "データベースの承認", + "DatabaseAppPermissionCreate": "データベース認証ルールの作成", + "DatabaseAppPermissionDetail": "データベース認証詳細", + "DatabaseAppPermissionUpdate": "データベース認証ルール更新", + "DatabaseAppUpdate": "データベースアプリケーションの更新", + "DatabaseCreate": "資産-データベースの作成", + "DatabaseId": "データベースID", + "DatabasePermissionRules": "データベースの認可ルール", + "DatabasePort": "データベースプロトコルポート", + "DatabaseProtocol": "データベースプロトコル", + "DatabaseUpdate": "資産-データベースの更新", + "Date": "日付", + "DateCreated": "生成時刻", + "DateEnd": "終了日", + "DateExpired": "有効期限", + "DateFinished": "完了日", + "DateJoined": "作成日", + "DateLast24Hours": "最近一日間", + "DateLast3Months": "過去3ヶ月間", + "DateLastHarfYear": "最近半年", + "DateLastLogin": "最終ログイン日", + "DateLastMonth": "最近一か月", + "DateLastRun": "最後に実行した日付", + "DateLastSync": "最終同期日", + "DateLastWeek": "最近一週間", + "DateLastYear": "最近一年間", + "DatePasswordLastUpdated": "最終パスワード更新日", + "DatePasswordUpdated": "パスワードの更新日", + "DateStart": "開始日", + "DateSync": "同期日", + "DateUpdated": "更新日", + "Datetime": "日付", + "Day": "日", + "Db": "データベースアプリケーション", + "DeactiveSelected": "選択したものを無効化", + "DeclassificationLogNum": "パスワード変更ログ数", + "Default": "デフォルト", + "DefaultDatabase": "デフォルトのデータベース", + "DefaultPort": "デフォルトのポート", + "DefaultProtocol": "デフォルトのプロトコル、資産追加時にデフォルトで選択されます", + "Defaults": "デフォルト値", + "Delete": "削除", + "DeleteConfirmMessage": "削除後は復元できません、続行しますか?", + "DeleteErrorMsg": "削除に失敗", + "DeleteFailedMsg": "削除失敗", + "DeleteFile": "ファイルの削除", + "DeleteNode": "ノードの削除", + "DeleteOrgMsg": "ユーザーリスト、ユーザーグループ、アセットリスト、ドメインリスト、管理ユーザー、システムユーザー、タグ管理、アセット認証ルール", + "DeleteOrgTitle": "組織内の以下の情報が削除されていることを確認してください", + "DeleteReleasedAssets": "リリース済み資産の削除", + "DeleteSuccess": "削除成功", + "DeleteSuccessMsg": "削除に成功", + "DeleteWarningMsg": "削除しますか", + "DeliveryTime": "送信時間", + "Deploy": "配置", + "DescribeOfGuide": "JumpServer要塞型システムをご利用いただきありがとうございます、詳しい情報はこちらをクリックしてください", + "Description": "説明", + "DestinationIP": "目的のアドレス", + "DestinationPort": "目的のポート", + "Detail": "詳細", + "Device": "ネットワークデバイス", + "DeviceCreate": "ネットワークデバイスを作成", + "DeviceUpdate": "資産-ネットワークデバイスの更新", + "Digit": "数字", + "DingTalk": "ディングトーク", + "DingTalkTest": "テスト", + "Disable": "無効化", + "DisableSuccessMsg": "無効化成功", + "DisabledAsset": "禁じられている", + "DisabledUser": "無効化された", + "Disk": "ハードディスク", + "DisplayName": "名前", + "DocType": "ドキュメントタイプ", + "Docs": "文書", + "Domain": "ドメイン", + "DomainCreate": "ドメインの作成", + "DomainDetail": "ドメイン詳細", + "DomainEnabled": "ネットワーキングを有効化", + "DomainHelpMessage": "ドメイン機能はハイブリッドクラウドなどの一部の環境で直接接続ができない問題を解決するために追加された機能で、ゲートウェイサーバーを経由してログインを転送する原理です。JMS => ドメインゲートウェイ => 目標とする資産", + "DomainList": "ドメイン一覧", + "DomainUpdate": "ドメインの更新", + "Download": "ダウンロード", + "DownloadCenter": "ダウンロードセンター", + "DownloadFTPFileTip": "現在のアクションはファイルを記録せず、またはファイルサイズが閾値(デフォルトは100M)を超えている、またはまだ対応するストレージに保存されていません", + "DownloadFile": "ファイルのダウンロード", + "DownloadImportTemplateMsg": "作成テンプレートをダウンロード", + "DownloadReplay": "ビデオのダウンロード", + "DownloadUpdateTemplateMsg": "アップデートテンプレートのダウンロード", + "DragUploadFileInfo": "ファイルをここにドラッグするか、ここをクリックしてアップロードしてください", + "DryRun": "テスト実行", + "DuplicateFileExists": "同名のファイルはアップロードできませんので、同名のファイルを削除してください", + "Duration": "期間", + "DynamicUsername": "ダイナミックユーザ名", + "Edit": "編集", + "Edition": "バージョン", + "Email": "メールアドレス", + "EmailContent": "メール内容のカスタマイズ", + "EmailCustomUserCreatedBody": "ヒント:ユーザー作成時に、パスワード設定メールを送信します", + "EmailCustomUserCreatedHonorific": "ヒント:ユーザー作成時に、パスワード設定のメールの敬称を送信します(例:こんにちは)", + "EmailCustomUserCreatedSignature": "ヒント:メールの署名(例えば:jumpserver)", + "EmailCustomUserCreatedSubject": "ヒント:ユーザー作成時に、パスワード設定のメールの件名を送信します(例:ユーザーの作成に成功しました)", + "EmailEmailFrom": "", + "EmailHost": "SMTPホスト", + "EmailHostPassword": "ヒント:一部のメールサービスプロバイダーはTokenの入力が必要です", + "EmailHostUser": "SMTPアカウント", + "EmailPort": "SMTPポート", + "EmailRecipient": "ヒント:テストメールの受信者としてのみ使用", + "EmailSubjectPrefix": "ヒント: 電子メールプロバイダーがいくつかのキーワードをブロックする可能性があります。それらは、例えば「プロキシサーバー」、「JumpServer」などです。", + "EmailTest": "接続テスト", + "EmailUserSSL": "SMTPポートが465の場合、通常はSSLを有効にする必要があります", + "EmailUserTLS": "SMTPポートが587の場合、通常はTLSを有効にする必要があります", + "Empty": "空", + "Enable": "有効", + "EnableKoKoSSHHelpText": "有効化時、資産への接続はSSH Clientの起動方法で表示されます", + "EnableOAuth2Auth": "OAuth2認証の開始", + "EnableVaultStorage": "Vault ストレージを開始", + "EndPoint": "端点", + "Endpoint": "サービスエンドポイント", + "EndpointListHelpMessage": "サーバーエンドポイントは、ユーザーがサービスにアクセスするアドレス(ポート)です。ユーザーがリソースへ接続する際、エンドポイントのルールとリソースのタグに従ってサーバーエンドポイントを選択し、接続を確立し、分散接続を実現します。", + "EndpointRule": "エンドポイントルール", + "EndpointRuleListHelpMessage": "サーバーエンドポイント選択策略については、現在2つをサポートします:
1、エンドポイントルールに基づきエンドポイントを指定(現在のページ);
2、アセットタグによりエンドポイントを選択、タグ名は\"endpoint\"固定、値はエンドポイント名。
2つの方式では、タグマッチングを優先します。なぜなら、IP範囲が重複するかもしれず、タグ方式はルールの補完として存在します。", + "EndpointSuffix": "エンドポイントの接尾辞", + "Endswith": "...で終わる", + "EnsureThisValueIsGreaterThanOrEqualTo1": "この値は1以上であることを確認してください", + "EnsureThisValueIsGreaterThanOrEqualTo3": "この値が3以上であることを確認してください", + "EnsureThisValueIsGreaterThanOrEqualTo5": "この値が5以上であることを確認してください", + "EnsureThisValueIsGreaterThanOrEqualTo6": "この値が6以上であることを確認してください", + "EnterForSearch": "Enterを押して検索", + "EnterMessage": "質問を入力してEnterキーを押し送信する", + "EnterRunUser": "実行ユーザーの入力", + "EnterRunningPath": "実行パスを入力", + "EnterToContinue": "Enterを押して入力を続けてください", + "EnterUploadPath": "アップロードパスを入力する", + "Enterprise": "エンタープライズ版", + "EnterpriseEdition": "エンタープライズ版", + "Equal": "等しい", + "Error": "エラー", + "ErrorMsg": "エラー", + "EsDisabled": "ノードが利用できません、管理者に連絡してください", + "EsDocType": "es既定のドキュメントタイプ:コマンド", + "EsIndex": "es がデフォルトのindexとしてjumpserverを提供します。デートごとにindexを設定する場合、入力値はindexのプレフィックスになります", + "EsUrl": "特殊文字`#`を含めることはできません;例:http://es_user:es_password@es_host:es_port", + "Every": "毎", + "EveryMonth": "毎月", + "Exclude": "含まれていない", + "ExcludeAsset": "スキップされた資産", + "ExcludeSymbol": "文字排除", + "Execute": "実行", + "ExecuteCycle": "実行周期", + "ExecuteFailedCommand": "コマンド失敗", + "ExecuteOnce": "一度実行", + "Execution": "実行履歴", + "ExecutionDetail": "実行履歴の詳細", + "ExecutionList": "実行リスト", + "ExecutionTimes": "実行回数", + "ExistError": "この要素はすでに存在します", + "Existing": "既に存在", + "ExpectedNextExecuteTime": "次回実行予定時間", + "ExpirationTimeout": "タイムアウト時間(秒)", + "Expire": "期限切れ", + "Expired": "有効期限", + "Export": "エクスポート", + "ExportAll": "すべてエクスポート", + "ExportOnlyFiltered": "検索結果のみをエクスポート", + "ExportOnlySelectedItems": "選択したアイテムのみをエクスポート", + "ExportRange": "エクスポート範囲", + "FAILURE": "失敗", + "FC": "Fusion Compute", + "Failed": "失敗", + "FailedAsset": "失敗した資産", + "FailedConditions": "条件を満たす結果がありません!", + "False": "否", + "Favicon": "ウェブサイトのアイコン", + "FaviconTip": "ヒント:ウェブサイトのアイコン(推奨画像サイズ:16px*16px)", + "Feature": "機能", + "Features": "機能設定", + "FeiShu": "飛書", + "FeiShuTest": "テスト", + "FieldRequiredError": "このフィールドは必須です", + "FileEncryptionPassword": "ファイル暗号化パスワード", + "FileManager": "ファイル管理", + "FileNameTooLong": "ファイル名が長すぎる", + "FileSizeExceedsLimit": "ファイルサイズの制限を超過", + "FileTransfer": "ファイル転送", + "FileTransferNum": "ファイル転送数", + "FileType": "ファイルタイプ", + "Filename": "ファイル名", + "FingerPrint": "指紋", + "Finished": "完了", + "FinishedTicket": "仕事の完了", + "FirstLogin": "初回ログイン", + "FlowDetail": "フロー詳細", + "FlowSetUp": "プロセス設定", + "FormatError": "形式エラー", + "Friday": "金曜日", + "From": "から", + "FromTicket": "ワークオーダーから", + "FtpLog": "FTPログ", + "FullName": "フルネーム", + "FullySynchronous": "アセット完全同期", + "FullySynchronousHelpTips": "アセットの条件がマッチングポリシーを満たさない場合、そのアセットを同期し続けますか?", + "FuzzySearch": "あいまい検索をサポート", + "GCP": "Google Cloud", + "GPTCreate": "資産の作成-GPT", + "GPTUpdate": "アセットの更新-GPT", + "Gateway": "ゲートウェイ", + "GatewayCreate": "ゲートウェイの作成", + "GatewayList": "ゲートウェイリスト", + "GatewayProtocolHelpText": "SSHゲートウェイ、SSH、RDP、VNCのプロキシをサポート", + "GatewayUpdate": "ゲートウェイを更新する", + "GeneralAccounts": "一般アカウント", + "Generate": "生成", + "GenerateAccounts": "アカウントの再生成", + "GenerateSuccessMsg": "アカウント生成成功", + "GetErrorMsg": "取得に失敗", + "Go": "実行", + "GoHomePage": "ホームに行く", + "Goto": "移動", + "GrantedAccounts": "認証済みアカウント", + "GrantedApplications": "許可されたアプリ", + "GrantedAssets": "承認された資産", + "GrantedDatabases": "承認されたデータベース", + "GrantedK8Ss": "認証済みKubernetes", + "GrantedRemoteApps": "認証済みリモートアプリケーション", + "GreatEqualThan": "以上", + "GroupsAmount": "ユーザーグループ", + "GroupsHelpMessage": "既存のユーザーグループを入力してください。複数のユーザーグループはカンマで区切ります。", + "Guide": "ウィザード", + "HandleTicket": "ワークオーダーを処理する際、資産を接続する際に、アプリケーションの公開機はランダムに選択されます(ただし、前回使用したものが優先されます)。特定の資産に固定の公開機を設定したい場合は、<公開機:公開機名>またはのタグを指定できます。
公開機に接続し、アカウントを選択する際、以下の場合にユーザーの同名アカウントまたは専用アカウント(jsで始まる)が選択されます。それ以外の場合は、共有アカウント(jmsで始まる)が使用されます:
  1. 公開機とアプリケーションが同時にサポートされている場合。
  2. 公開機は同時にサポートされており、アプリケーションはサポートされていない場合。ただし、現在のアプリケーションには専用アカウントが使用されていない場合。
  3. 公開機は同時にサポートされておらず、アプリケーションはサポートされているかどうかに関係なく、いずれのアプリケーションも専用アカウントを使用していない場合。
注意:アプリケーションのサポート可否は開発者が決定し、ホストのサポート可否は公開機の設定である単一ユーザーシングルセッションの選択によるものです。", + "Hardware": "ハードウェア情報", + "HardwareInfo": "ハードウェア情報", + "HasImportErrorItemMsg": "インポートに失敗した項目があります、左の x をクリックして失敗原因を確認し、テーブルを編集後、失敗した項目のインポートを続けることができます", + "HasRead": "既読かどうか", + "Help": "ヘルプ", + "HelpDocument": "ドキュメントリンク", + "HelpDocumentTip": "ヘルプ -> ドキュメント のURLを変更できます", + "HelpSupport": "リンクサポート", + "HelpSupportTip": "ウェブサイトのナビゲーションバーを変更することができます。ヘルプ -> サポートのURL", + "HighLoad": "比較的高い", + "HistoricalSessionNum": "過去のセッション数", + "History": "ユーザー管理", + "HistoryDate": "日付", + "HistoryPassword": "過去のパスワード", + "Home": "ホームディレクトリ", + "HomeHelpMessage": "デフォルトホームディレクトリ/home/システムユーザ名:/home/username", + "HomePage": "ホームページ", + "Host": "アセット", + "HostCreate": "資産の作成-ホスト", + "HostDeployment": "リリースマシンのデプロイ", + "HostList": "ホストリスト", + "HostName": "ホスト名", + "HostProtocol": "ホストプロトコル", + "HostUpdate": "資産-ホストを更新", + "Hostname": "ホスト名", + "HostnameGroup": "資産名", + "HostnameStrategy": "資産ホスト名の生成に使用。例:1. インスタンス名 (instanceDemo);2. インスタンス名とIPの一部(後端二位) (instanceDemo-250.1)", + "Hosts": "ホスト", + "Hour": "時間", + "HttpPort": "HTTPポート", + "HuaweiCloud": "Huaweiクラウド", + "HuaweiPrivatecloud": "ファーウェイプライベートクラウド", + "IAgree": "同意します", + "ID": "ID", + "IP": "アカウントキー", + "IP/Host": "IP/ホスト", + "IPLoginLimit": "IPログイン制限", + "IPMatch": "IPマッチング", + "IPNetworkSegment": "IPネットワーク", + "Icon": "アイコン", + "Id": "ID", + "IdeaContent": "あなたにLinuxターミナルとなることを望みます。私はコマンドを入力し、あなたはターミナルに表示されるべき内容を回答します。私はあなたが特定のコードブロック内でだけターミナルの出力を返信することを望んでいます、それ以外ではない。説明を書かないでください。私があなたに何かを伝える必要があるとき、私はテキストを大括弧の中に入れます{注釈テキスト}。", + "IdeaTitle": "🌱 Linux 端末", + "IdpMetadataHelpText": "IDP metadata URL と IDP metadata XMLパラメーターは一つを選ぶだけでよく、IDP metadata URLの優先度が高い", + "IdpMetadataUrlHelpText": "IDPメタデータをリモートアドレスからロード", + "IgnoreCase": "大文字小文字を区別しない", + "ImageName": "画像名", + "Images": "画像", + "Import": "インポート", + "ImportAll": "全てインポート", + "ImportFail": "インポート失敗", + "ImportLdapUserTip": "インポートを行う前にLDAP設定を提出してください", + "ImportLdapUserTitle": "LDAPユーザーリスト", + "ImportLicense": "ライセンスのインポート", + "ImportLicenseTip": "ライセンスをインポートしてください", + "ImportMessage": "対応するタイプのページにデータをインポートしてください", + "ImportOrg": "組織をインポート", + "ImprovePersonalInformation": "個人情報の完全性", + "InActiveAsset": "最近ログインがない", + "InActiveUser": "最近ログインしていない", + "InAssetDetail": "資產詳細でアカウント情報を更新", + "InTotal": "合計", + "Inactive": "無効", + "Include": "含む", + "Index": "索引", + "Info": "情報", + "Inherit": "継承", + "InheritPlatformConfig": "プラットフォームの設定を引き継いでいます。変更する場合は、プラットフォームの設定を変更してください。", + "InitialDeploy": "初期デプロイ", + "Input": "入力", + "InputEmailAddress": "正しいメールアドレスを入力してください", + "InputMessage": "メッセージを入力...", + "InputNumber": "数字タイプを入力してください", + "InputPhone": "携帯電話番号を入力してください", + "InsecureCommandAlert": "危険なコマンド警告", + "InsecureCommandEmailUpdate": "設定についてはこちらをクリック", + "InsecureCommandNotifyToSubscription": "危険コマンド通知はメッセージ購読にアップグレードされ、より多くの通知方式に対応", + "InstanceAddress": "インスタンスアドレス", + "InstanceName": "インスタンス名", + "InstancePlatformName": "インスタンスプラットフォーム名", + "InstantAdhoc": "インスタントコマンド", + "Interface": "ネットワークインターフェース", + "InterfaceSettings": "インターフェース設定", + "IntervalOfCreateUpdatePage": "単位:時", + "Invalid": "無効", + "InvalidJson": "履歴記録", + "Invalidity": "無効", + "Invite": "招待", + "InviteSuccess": "招待成功", + "InviteUser": "ユーザーを招待する", + "InviteUserInOrg": "この組織に参加するようにユーザーを招待し", + "Ip": "IP", + "IpGroup": "IP グループ", + "IpGroupHelpText": "* はすべてをマッチングします。例:192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64", + "Ips": "カンマで分割されたIPアドレスグループを入力してください", + "IsActive": "アクティベーション", + "IsAlwaysUpdate": "資産を最新の状態に保つ", + "IsAlwaysUpdateHelpTips": "同期タスクを毎回実行する時に、資産の情報を同期更新するかどうか、ホスト名、IP、システムプラットフォーム、ネットワークドメイン、ノードなどの情報も含まれます", + "IsEffective": "適用済み", + "IsFinished": "完了済みかどうか", + "IsLocked": "一時停止するかどうか", + "IsSuccess": "成功", + "IsSyncAccountHelpText": "収集が完了したら、収集したアカウントを資産に同期します", + "IsSyncAccountLabel": "アセットへの同期", + "IsValid": "有効", + "JDCloud": "京東雲", + "JMSSSO": "SSOトークンログイン", + "Job": "ジョブ", + "JobCenter": "ジョブセンター", + "JobCreate": "ジョブの作成", + "JobDetail": "ジョブ詳細", + "JobExecutionLog": "ジョブログ", + "JobList": "作業管理", + "JobName": "ジョブ名", + "JobType": "ジョブタイプ", + "JobUpdate": "作業を更新", + "Join": "参加", + "K8s": "Kubernetes", + "K8sPermissionRules": "Kubernetes認証ルール", + "Key": "キー", + "KingSoftCloud": "金山雲", + "KokoSettingUpdate": "Kokoの設定", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes", + "KubernetesAppCount": "Kubernetesアプリケーション数", + "KubernetesAppCreate": "Kubernetesの作成", + "KubernetesAppDetail": "Kubernetes詳細", + "KubernetesAppPermission": "Kubernetesの認証", + "KubernetesAppPermissionCreate": "Kubernetes承認ルールの作成", + "KubernetesAppPermissionDetail": "Kubernetes認証詳細", + "KubernetesAppPermissionUpdate": "Kubernetes権限ルールの更新", + "KubernetesAppUpdate": "Kubernetesをアップデート", + "LAN": "ローカルエリアネットワーク", + "LDAPServerInfo": "LDAPサーバ", + "LDAPUser": "LDAP ユーザー", + "LOWER_CASEREQUIRED": "小文字を含める必要があります", + "Label": "タグ", + "LabelCreate": "ラベルを作成", + "LabelInputFormatValidation": "タグの形式が間違っています。正しい形式は:name:value", + "LabelList": "タグリスト", + "LabelUpdate": "タグを更新", + "Language": "言語", + "Last30": "最後の30回", + "Last30Days": "過去30日間", + "Last7Days": "直近7日", + "LastCannotBeDeleteMsg": "最後の項目は削除できません", + "LastDay": "今月の最後の日", + "LastExecutionOutput": "最後に出力を実行", + "LastPublishedTime": "最終公開日時", + "LastRun": "最後に実行", + "LastRunFailedHosts": "最後に失敗したホストの運行", + "LastRunSuccessHosts": "最後に成功したホストを実行", + "LastWeek": "当月の最後の週", + "LastWorking": "最近の営業日", + "LatestSessions": "最新のログイン履歴", + "LatestSessions10": "最近10回のログイン", + "LatestTop10": "TOP 10", + "LatestVersion": "最新バージョン", + "Ldap": "LDAP", + "LdapBulkImport": "ユーザーの読み込み", + "LdapConnectTest": "接続のテスト", + "LdapLoginTest": "ログインをテスト", + "Length": "長さ", + "LessEqualThan": "以下又は同等", + "LevelApproval": "承認レベル", + "License": "許可証", + "LicenseDetail": "ライセンス詳細", + "LicenseExpired": "ライセンスが期限切れ", + "LicenseFile": "ライセンスファイル", + "LicenseForTest": "テスト用途のライセンス。このライセンスはテスト(PoC)およびデモンストレーションにのみ使用されます", + "LicenseReachedAssetAmountLimit": "資産の数量がライセンスの数を超えています", + "LicenseWillBe": "ライセンスがもうすぐ", + "LinuxAdminUser": "Linux特権ユーザ", + "LinuxUserAffiliateGroup": "ユーザー付属グループ", + "LoadStatus": "負荷状況", + "Loading": "ロード中", + "LockedIP": "{count}個のIPをロックしました", + "Log": "ログ", + "LogData": "ログデータ", + "LogOfLoginSuccessNum": "ログイン成功ログの数", + "Logging": "ログ記録", + "Login": "ユーザーログイン", + "LoginAssetConfirm": "資産ログインの審査", + "LoginAssetToday": "今日のアクティブアセット数", + "LoginAssets": "アクティブな資産", + "LoginCity": "ログイン都市", + "LoginConfig": "ログイン設定", + "LoginConfirm": "ログインのレビュー", + "LoginCount": "ログイン回数", + "LoginDate": "ログイン日", + "LoginFailed": "ログイン失敗", + "LoginFrom": "ログイン元", + "LoginIP": "ログインIP", + "LoginImage": "ログインページの画像", + "LoginImageTip": "注意:企業版のユーザーログインページに表示されます(推奨画像サイズ:492*472px)", + "LoginLog": "ログインログ", + "LoginModeHelpMessage": "手動ログインモードを選択した場合、ユーザー名とパスワードは入力不要", + "LoginModel": "ログインモード", + "LoginNum": "ログイン数", + "LoginOption": "ログインオプション", + "LoginOverview": "セッション統計", + "LoginPasswordSetting": "ログインパスワード設定", + "LoginRequiredMsg": "アカウントはログアウトされました、再度ログインしてください", + "LoginSucceeded": "ログインに成功", + "LoginTitle": "ログインページのタイトル", + "LoginTitleTip": "注意:企業版ユーザーのSSHログインKoKoログインページに表示されます(例:JumpServerオープンソース要塞サーバーへようこそ)", + "LoginTo": "ログインした", + "LoginUserRanking": "ログインアカウントのランキング", + "LoginUserToday": "本日のログインアカウント数", + "LoginUsers": "アクティブアカウント", + "Login_confirmUser": "ログインレビュー受付人", + "LogoIndex": "Logo (テキスト付き)", + "LogoIndexTip": "ヒント:管理ページの左上に表示されます(推奨画像サイズ:185px*55px)", + "LogoLogout": "Logo (テキストなし)", + "LogoLogoutTip": "ヒント:企業版のユーザーのWebターミナルページに表示されます(推奨画像サイズ:82px*82px)", + "Logout": "ログアウト", + "LogsAudit": "ログ監査", + "Lowercase": "小文字", + "LunaSettingUpdate": "Luna の設定", + "MFA": "MFA", + "MFAConfirm": "MFA認証", + "MFAErrorMsg": "MFAエラー、ご確認ください", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "多要素認証を有効にし、アカウントをより安全にします。
有効にすると、次回ログイン時に多要素認証のバインディングプロセスに進みます。また、(個人情報->素早く修正->多要素設定の変更)で直接バインディングすることもできます!", + "MFAOfUserFirstLoginUserGuidePage": "あなたと会社の安全を保護するために、アカウント、パスワード、鍵などの重要な機密情報を適切に保管してください。(例:複雑なパスワードを設定し、多要素認証を有効にする)
メール、携帯電話番号、WeChatなどの個人情報は、ユーザー認証とプラットフォーム内のメッセージ通知にのみ使用します。", + "MFARequireForSecurity": "安全のため、MFAを入力してください", + "MFAVerify": "MFAを検証", + "MIN_LENGTHERROR": "パスワードの最小長さは{0}桁です", + "MailRecipient": "メールの受信者", + "MailSend": "メール送信", + "ManualAccount": "手動アカウント", + "ManualAccountTip": "ログイン時に手動入力 ユーザー名/パスワード", + "ManualExecutePlan": "手動でスケジュールを実行", + "ManualInput": "手動入力", + "ManyChoose": "複数選択可能", + "Mariadb": "MariaDB", + "MarkAsRead": "既読にする", + "Marketplace": "アプリマーケット", + "Match": "マッチング", + "MatchIn": "中に...", + "MatchResult": "マッチング結果", + "MatchedCount": "マッチング結果", + "Material": "開始", + "Members": "メンバー", + "Memory": "メモリ", + "MenuAccounts": "アカウント管理", + "MenuAssets": "資産管理", + "MenuMore": "もっと見る...", + "MenuPermissions": "認証管理", + "MenuUsers": "IP", + "Message": "メッセージ", + "MessageSub": "メッセージの購読", + "MessageSubscription": "メッセージ購読", + "MessageType": "メッセージタイプ", + "Meta": "メタデータ", + "MfaLevel": "多要素認証", + "Min": "分", + "Model": "モデル", + "Modify": "修正", + "ModifySSHKey": "SSH Keyの変更", + "ModifyTheme": "テーマを変更", + "Module": "モジュール", + "Monday": "月曜日", + "Mongodb": "MongoDB", + "Monitor": "モニタリング", + "Month": "月", + "Monthly": "月次", + "More": "他のオプション", + "MoreActions": "その他の操作", + "MoveAssetToNode": "ノードにアセットを移動", + "MsgSubscribe": "メッセージ購読", + "MyApps": "私のアプリケーション", + "MyAssets": "私の資産", + "MyTickets": "私が開始した", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "Mysql_workbenchIp": "データベースIP", + "Mysql_workbenchName": "データベース名", + "Mysql_workbenchPassword": "データベースのパスワード", + "Mysql_workbenchPort": "データベースポート", + "Mysql_workbenchUsername": "データベースアカウント", + "NUMBERREQUIRED": "数字が必要", + "Name": "名前", + "NavHelp": "ナビゲーションリンク", + "Navigation": "ナビゲーション", + "NeedAddAppsOrSystemUserErrMsg": "アプリケーションまたはシステムユーザーの追加が必要です", + "NeedReLogin": "再ログインが必要", + "NeedSpecifiedFile": "指定されたフォーマットのファイルをアップロードする必要があります", + "NeedUpdatePasswordNextLogin": "次回ログイン時にパスワードを変更する必要があります", + "Network": "ネットワーク", + "New": "新規作成", + "NewChat": "新規チャット", + "NewCount": "追加", + "NewCron": "Cronの生成", + "NewDirectory": "新しいディレクトリを作成", + "NewFile": "新規ファイル作成", + "NewPassword": "新しいパスワード", + "NewSyncCount": "新規同期", + "No": "いいえ", + "NoAlive": "オフライン", + "NoAnnouncement": "公告はありません", + "NoContent": "内容なし", + "NoData": "データなし", + "NoFiles": "現在ファイルがありません", + "NoInputCommand": "コマンドが入力されていません", + "NoLicense": "一時的に許可がありません", + "NoPermission": "一時的に権限がない", + "NoPermission403": "403 権限がありません", + "NoPermissionVew": "現在のページを表示する権限がありません", + "NoPublished": "未公開", + "NoSQLProtocol": "非リレーショナルデータベース", + "NoSystemUserWasSelected": "システムユーザーが選択されていません", + "NoUnreadMsg": "未読のメッセージはありません", + "Node": "ノード", + "NodeAmount": "ノード数", + "NodeCount": "ノード数", + "NodeInformation": "ノード情報", + "NodeSearchStrategy": "ノード検索戦略", + "NormalLoad": "正常", + "NotAlphanumericUnderscore": "アルファベット、数字、アンダースコアのみ入力可能", + "NotEqual": "等しくない", + "NotParenthesis": "()を含むことはできません", + "NotSet": "未設定", + "NotSpecialEmoji": "特殊な絵文字の入力は許可されません", + "Nothing": "無", + "Notifications": "通知", + "Now": "今", + "Num": "号", + "Number": "番号", + "NumberOfVisits": "アクセス回数", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "注:認証サービスプロバイダ(推奨画像サイズ:64px*64px)", + "OIDC": "OIDC", + "OTP": "MFA (OTP)", + "ObjectNotFoundOrDeletedMsg": "対応するリソースが見つからないか、既に削除されています", + "OfficialWebsite": "公式サイトのリンク", + "OfficialWebsiteTip": "ウェブサイトのナビゲーションバーの ヘルプ -> 公式ウェブサイトのURLを変更できます", + "Offline": "オフライン", + "OfflineSuccessMsg": "オフライン成功", + "OfflineUpload": "オフラインアップロード", + "OldPassword": "旧パスワード", + "OldSSHKey": "以前のSSH公開鍵", + "On/Off": "開始/停止", + "OneAssignee": "一次受付者", + "OneAssigneeType": "一次窓口タイプ", + "OneClickRead": "既読", + "OneClickReadMsg": "現在の情報を既読としてマークしてもよろしいですか?", + "OnlineSession": "オンラインユーザー", + "OnlineSessionHelpMsg": "現在のセッションは現在のユーザーのオンラインセッションであるため、オフラインにすることはできません。現在、Webからのログインユーザーのみが記録されています", + "OnlineSessions": "オンラインセッション数", + "OnlineUserDevices": "オンラインユーザーデバイス", + "OnlineUsers": "オンラインアカウント", + "OnlyCSVFilesTips": "csvファイルのみのインポートをサポート", + "OnlyLatestVersion": "最新バージョンのみ", + "OnlyMailSend": "現在はメール送信のみをサポート", + "OnlySearchCurrentNodePerm": "現在のノードの権限のみを検索", + "Open": "保留中", + "OpenCommand": "コマンドを開く", + "OpenId": "OpenID設定", + "OpenStack": "OpenStack", + "OpenStatus": "審査中", + "OpenTicket": "ワークオーダーを作成", + "OperateLog": "操作ログ", + "OperateRecord": "操作記録", + "OperationLogNum": "操作ログ数", + "Ops": "タスク", + "Options": "オプション", + "Oracle": "Oracle", + "OrgAdmin": "組織管理者", + "OrgAuditor": "組織の監査人", + "OrgName": "認証組織の名称", + "OrgRole": "組織役割", + "OrgRoleHelpText": "組織内でのユーザーの役割・役職", + "OrgRoles": "組織の役割", + "OrgUser": "組織のユーザー", + "OrganizationCreate": "組織を作成", + "OrganizationDetail": "組織の詳細", + "OrganizationList": "組織管理", + "OrganizationLists": "組織リスト", + "OrganizationMembership": "組織のメンバー", + "OrganizationUpdate": "組織の更新", + "Os": "オペレーティングシステム", + "Other": "その他の設定", + "OtherAuth": "その他の認証", + "OtherProtocol": "その他のプロトコル", + "OtherRules": "他のルール", + "Others": "その他", + "Output": "出力", + "Overview": "概観", + "PENDING": "待機中", + "PageNext": "次のページ", + "PagePrev": "前のページ", + "Parameter": "パラメータ", + "Params": "パラメータ", + "ParamsHelpText": "パスワード変更パラメータ設定、現在はマシンタイプのアセットのみ有効です。", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "あなたの認証源は {source} です、Passkeyの追加はサポートしていません", + "Passphrase": "秘密鍵のパスワード", + "Password": "パスワード", + "PasswordAccount": "パスワードとアカウント", + "PasswordChangeLog": "パスワード変更ログ", + "PasswordCheckRule": "パスワードの強度ルール", + "PasswordConfirm": "パスワードの認証", + "PasswordExpired": "パスワードが期限切れ", + "PasswordHelpMessage": "パスワードまたは秘密鍵のパスワード", + "PasswordLength": "パスワードの長さ", + "PasswordOrPassphrase": "パスワードまたは暗号化鍵", + "PasswordOrToken": "パスワード / トークン", + "PasswordPlaceholder": "パスワードを入力してください", + "PasswordRecord": "パスワード記録", + "PasswordRequireForSecurity": "安全のためにパスワードを入力してください", + "PasswordRule": "パスワードルール", + "PasswordSecurity": "パスワードセキュリティ", + "PasswordSelector": "パスワード入力フィールドセレクタ", + "PasswordStrategy": "暗号文生成戦略", + "PasswordWillExpiredPrefixMsg": "パスワードはまもなく", + "PasswordWillExpiredSuffixMsg": "パスワードは天数後に期限切れとなります。早急に変更してください。", + "PasswordWithoutSpecialCharHelpText": "特殊文字を含めることはできません", + "Paste": "ペースト", + "Pattern": "モード", + "Pause": "一時停止", + "PauseTaskSendSuccessMsg": "一時停止タスクが発行されました。少し待ってから再度更新してください。", + "Pending": "保留中", + "Periodic": "実行周期", + "PeriodicPerform": "定時実行", + "Perm": "認可", + "PermAccount": "認可アカウント", + "PermName": "認可名", + "PermUserList": "ユーザーに権限を与える", + "PermissionCompany": "権限を与える会社", + "PermissionName": "認証ルール名", + "Permissions": "権限", + "Perms": "権限管理", + "PersonalInformationImprovement": "個人情報の完成", + "Phone": "携帯電話番号", + "Plan": "計画", + "Platform": "システムプラットフォーム", + "PlatformCreate": "システムプラットフォームを作成する", + "PlatformDetail": "システムプラットフォームの詳細", + "PlatformList": "プラットフォームリスト", + "PlatformProtocolConfig": "プラットフォームプロトコルの設定", + "PlatformSimple": "プラットフォーム", + "PlatformUpdate": "システムプラットフォームの更新", + "PlaybookDetail": "プレイブックの詳細", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "Playbookを更新する", + "PleaseAgreeToTheTerms": "規約に同意してください", + "PleaseClickLeftApplicationToViewApplicationAccount": "アプリケーションアカウントリスト、左側のアプリケーションをクリックして表示", + "PleaseClickLeftAssetToViewAssetAccount": "アセットアカウントリスト、左側のアセットをクリックして閲覧", + "PleaseClickLeftAssetToViewGatheredUser": "ユーザーリストを集めて、左側のアセットをクリックして確認する", + "PleaseSelect": "選択してください", + "PolicyName": "ポリシー名", + "Port": "ポート", + "Ports": "ポート", + "Postgresql": "PostgreSQL", + "Primary": "主な", + "PrimaryProtocol": "主要なプロトコル、資産の最も変調基本的で一般的なプロトコル、オンリーワンを設定しなければならない", + "Priority": "優先順位", + "PriorityHelpMessage": "1-100、1が最低優先度、100が最高優先度。複数のユーザーに権限を与えるとき、最優先のシステムユーザーがデフォルトのログインユーザーになります", + "PrivateCloud": "プライベートクラウド", + "PrivateKey": "秘密鍵", + "PrivilegeFirst": "優先的に特権アカウントを選択", + "PrivilegeOnly": "特権アカウントのみを選択", + "Privileged": "特権アカウント", + "PrivilegedFirst": "優先権限アカウント", + "PrivilegedOnly": "特権アカウントのみ", + "PrivilegedTemplate": "特権の", + "Product": "製品", + "Profile": "個人情報", + "ProfileSetting": "個人情報設定", + "Project": "プロジェクト名", + "Prompt": "ヒント", + "Proportion": "占有率", + "ProportionOfAssetTypes": "アセットタイプの割合", + "Protocol": "プロトコル", + "Protocols": "契約", + "ProtocolsEnabled": "プロトコルを有効にする", + "ProtocolsGroup": "契約", + "Provider": "クラウドサービスプロバイダ", + "Proxy": "プロキシ", + "Public": "一般的な", + "PublicCloud": "公有クラウド", + "PublicIp": "公開IP", + "PublicKey": "公開鍵", + "PublicProtocol": "公共プロトコルの場合、資産への接続時に表示されます", + "Publish": "公開", + "PublishAllApplets": "すべてのアプリケーションを公開", + "PublishStatus": "公開状態", + "Push": "プッシュ", + "PushAccount": "アカウントをプッシュ", + "PushAllSystemUsersToAsset": "すべてのシステムユーザーを資産にプッシュ", + "PushParams": "プッシュパラメータ", + "PushSelected": "選択したものをプッシュ", + "PushSelectedSystemUsersToAsset": "選択したシステムユーザをアセットにプッシュする", + "PushSystemUserNow": "システムユーザーのプッシュ", + "Qcloud": "テンセントクラウド", + "QcloudLighthouse": "テンセントクラウド(ライトウェイト・アプリケーション・サーバー)", + "QingyunPrivatecloud": "青雲プライベートクラウド", + "Queue": "キュー", + "QuickAccess": "クイックアクセス", + "QuickAdd": "迅速に追加", + "QuickJob": "ショートカットコマンド", + "QuickSelect": "速選択", + "QuickUpdate": "迅速な更新", + "RDBProtocol": "リレーショナルデータベース", + "RUNNING": "実行中", + "Radius": "Radius", + "Ranking": "ランキング", + "Ratio": "比率", + "RazorNotSupport": "RDPクライアントセッション、監視は未対応", + "ReLogin": "再ログイン", + "ReLoginErr": "ログイン時間が5分を超えています。再度ログインしてください。", + "ReLoginTitle": "CAS/SAML による現在のサードパーティログインユーザーで、MFAにバインドされておらず、パスワードの検証もサポートされていません。再ログインしてください。", + "RealTimeData": "リアルタイムデータ", + "Reason": "理由", + "Receivers": "受信者", + "RecentLogin": "最近のログイン", + "RecentSession": "最近のセッション", + "RecentlyUsed": "最近使用したもの", + "RecipientHelpText": "もし受取人 A と B が設定された場合、アカウントの秘密鍵は前後に分割されます", + "RecipientServer": "受信サーバー", + "Reconnect": "再接続", + "Redis": "Redis", + "Refresh": "リフレッシュ", + "RefreshFail": "更新に失敗しました", + "RefreshHardware": "ハードウェア情報の更新", + "RefreshLdapCache": "Ldapキャッシュを更新中、お待ちください", + "RefreshLdapUser": "キャッシュを更新", + "RefreshPermissionCache": "認証キャッシュのリフレッシュ", + "RefreshSuccess": "更新に成功", + "Regex": "正規表現", + "Region": "地域", + "RegularlyPerform": "定期的に実行", + "Reject": "拒否", + "Rejected": "拒否されました", + "RelAnd": "と", + "RelNot": "非", + "RelOr": "または", + "Relation": "関係性", + "ReleasedCount": "リリース完了", + "RelevantApp": "アプリ", + "RelevantAsset": "資産", + "RelevantAssignees": "関連受理者", + "RelevantCommand": "コマンド", + "RelevantSystemUser": "システムユーザー", + "RemoteAddr": "リモートアドレス", + "RemoteApp": "リモートアプリケーション", + "RemoteAppCount": "リモートアプリケーションの数", + "RemoteAppDetail": "リモートアプリケーションの詳細", + "RemoteAppListHelpMessage": "この機能を使用する前に、アプリケーションローダーをアプリケーションサーバーにアップロードし、RemoteAppとして成功裏に公開したことを確認してくださいアプリケーションローダーのダウンロード", + "RemoteAppPermission": "リモートアプリケーション認証", + "RemoteAppPermissionCreate": "リモートアプリケーション認証ルールを作成", + "RemoteAppPermissionDetail": "リモートアプリケーションの認証の詳細", + "RemoteAppPermissionRules": "リモートアプリケーション認証ルール", + "RemoteAppPermissionUpdate": "リモートアプリケーションの認証ルールを更新", + "RemoteAppUpdate": "リモートアプリケーションを更新", + "RemoteApps": "リモートアプリケーション", + "RemoteType": "アプリケーションタイプ", + "Remove": "削除", + "RemoveAssetFromNode": "ノードから資産を削除", + "RemoveErrorMsg": "削除に失敗:", + "RemoveFromCurrentNode": "ノードから削除", + "RemoveFromOrgWarningMsg": "組織から削除しますか?", + "RemoveSuccessMsg": "削除成功", + "RemoveWarningMsg": "本当に削除してもよろしいですか", + "Rename": "名前の変更", + "RenameNode": "ノード名を変更する", + "ReplaceNodeAssetsAdminUser": "ノード資産の管理者を交換する", + "ReplaceNodeAssetsAdminUserWithThis": "アセットの管理者を交代", + "Replay": "再生", + "ReplaySession": "セッションの再生", + "ReplayStorage": "オブジェクトストレージ", + "ReplayStorageCreateUpdateHelpMessage": "注意:現在、SFTPストレージはアカウントバックアップのみをサポートし、ビデオストレージはサポートしていません。", + "ReplayStorageUpdate": "オブジェクトストレージの更新", + "Reply": "返信", + "RequestApplicationPerm": "アプリケーションの認証を申請", + "RequestAssetPerm": "アセット権限の申請", + "RequestPerm": "認証の申請", + "RequestTickets": "ワークオーダー申請", + "Required": "必要な", + "RequiredAssetOrNode": "少なくとも一つのアセットまたはノードを選択してください", + "RequiredContent": "コマンドを入力してください", + "RequiredEntryFile": "このファイルは実行のエントリーファイルとしてあり、存在する必要があります", + "RequiredHasUserNameMapped": "マッピングに含む必要があるusernameフィールド、例 { 'uid': 'username' }", + "RequiredProtocol": "必要な同意、資産を追加する際に必ず選択し、複数設定可能", + "RequiredRunas": "実行ユーザーを入力してください", + "RequiredSystemUserErrMsg": "アカウントを選択してください", + "RequiredUploadFile": "ファイルをアップロードしてください!", + "Reset": "復元", + "ResetAndDownloadSSHKey": "キーをリセットしてダウンロード", + "ResetDingTalk": "ディング(中国のコミュニケーションアプリ)の連携解除", + "ResetDingTalkLoginSuccessMsg": "リセット成功、ユーザーは再度DingTalkにバインドできます", + "ResetDingTalkLoginWarningMsg": "ユーザーの 钉钉 を解除してもよろしいですか?", + "ResetMFA": "MFAリセット", + "ResetMFAWarningMsg": "MFAをリセットしますか?", + "ResetMFAdSuccessMsg": "MFAのリセットに成功し、ユーザーはMFAを再設定できます", + "ResetPassword": "パスワードリセット", + "ResetPasswordSuccessMsg": "ユーザーにパスワードリセットメッセージを送信しました", + "ResetPasswordWarningMsg": "ユーザーパスワードのリセットメールを送信してもよろしいですか", + "ResetPublicKeyAndDownload": "SSHキーをリセットしてダウンロード", + "ResetSSHKey": "SSHキーのリセット", + "ResetSSHKeySuccessMsg": "メール送信タスクが提出されました、ユーザーは後でキーリセットのメールを受け取ります", + "ResetSSHKeyWarningMsg": "SSHキーのリセット通知を送信してもよろしいですか?", + "ResetWechat": "企業WeChatの解除", + "ResetWechatLoginSuccessMsg": "リセット成功、ユーザーは再度企業のWeChatをバインドできます", + "ResetWechatLoginWarningMsg": "企業の WeChat のユーザーを解除することを確認していますか?", + "Resource": "資源", + "ResourceType": "リソースタイプ", + "Resources": "リソース", + "RestoreButton": "デフォルトに戻す", + "RestoreDefault": "デフォルトに戻す", + "RestoreDialogMessage": "デフォルトに戻しますか?", + "RestoreDialogTitle": "あなたは確認していますか", + "Result": "結果", + "Resume": "復元", + "ResumeTaskSendSuccessMsg": "リカバリジョブが出されました、しばらく待ってから、再度更新してご覧ください", + "Retry": "再試行", + "Reviewer": "承認者", + "Revise": "変更", + "RiskLevel": "リスクレベル", + "Role": "役割", + "RoleCreate": "ロールを作成", + "RoleDetail": "キャラクター詳細", + "RoleInfo": "役割情報", + "RoleList": "ロールリスト", + "RolePerms": "ロールの権限", + "RoleUpdate": "ロールを更新", + "RoleUsers": "権限を持つユーザー", + "Rows": "行", + "Rule": "条件", + "RuleCount": "条件数", + "RuleDetail": "ルール詳細", + "RuleRelation": "条件関係", + "RuleRelationHelpTips": "すべての条件が満たされたらのみ、アクションが実行されます。または、一つの条件が満たされたら、アクションが実行されます", + "RuleSetting": "条件設定", + "Rules": "ルール", + "Run": "実行", + "RunAgain": "再実行", + "RunAs": "実行ユーザー", + "RunCommand": "コマンドを実行", + "RunJob": "ジョブ実行", + "RunSucceed": "タスク成功的に実行されました。", + "RunTaskManually": "手動で実行", + "RunTimes": "実行回数", + "RunUser": "実行ユーザー", + "RunasHelpText": "実行スクリプトのユーザー名を入力", + "RunasPolicy": "アカウントポリシー", + "RunasPolicyHelpText": "現在のアセットに指定されたユーザーが存在しない場合、どのアカウント選択策略を採用するか。スキップ:実行しない。特権アカウント優先:特権アカウントがあればそれを選ぶ、なければ通常のアカウントを選ぶ。特権アカウントのみ:特権アカウントからのみ選択し、存在しない場合は実行しない", + "Running": "実行中", + "RunningPath": "実行パス", + "RunningPathHelpText": "スクリプトの実行パスを記入してください、この設定はシェルスクリプトにのみ有効です", + "RunningTimes": "最近5回の実行時間", + "SAML2Auth": "SAML2認証", + "SCP": "シンシンフウクラウドプラットフォーム", + "SFTPHelpMessage": "SFTPの開始パスは、ホームディレクトリとして:HOMEを指定できます。
変数をサポート:${ACCOUNT} 接続アカウント名、${USER} 現在のユーザー名、例 /tmp/${ACCOUNT}", + "SMS": "短信", + "SMSProvider": "SMS提供者", + "SMTP": "メールサーバー", + "SPECIAL_CHARREQUIRED": "特殊文字を含む必要がある", + "SSHKey": "SSH公開鍵", + "SSHKeyOfProfileSSHUpdatePage": "ここにあなたの公開鍵をコピーしてください", + "SSHKeySetting": "SSH公開鍵設定", + "SSHPort": "SSH ポート", + "SSHSecretKey": "SSHキー", + "SSO": "シングルサインオン", + "SUCCESS": "成功", + "SafeCommand": "安全なコマンド", + "SameAccount": "同名のアカウント", + "SameAccountTip": "許可されたユーザ名と同じアカウント", + "SameTypeAccountTip": "同じユーザー名、鍵タイプのアカウントが既に存在します", + "Saturday": "土曜日", + "Save": "保存", + "SaveAdhoc": "コマンドを保存", + "SaveAndAddAnother": "保存して続けて追加", + "SaveCommand": "コマンドを保存", + "SaveCommandSuccess": "コマンドの保管成功", + "SaveSetting": "同期設定", + "SaveSuccess": "保存に成功しました", + "SaveSuccessContinueMsg": "作成成功、内容を更新した後で追加を続けることができます", + "Scope": "カテゴリ", + "Script": "スクリプトリスト", + "ScriptDetail": "スクリプト詳細", + "ScrollToBottom": "下部へスクロール", + "ScrollToTop": "トップへスクロール", + "Search": "検索", + "SearchAncestorNodePerm": "現在のノードとその祖先ノードの権限を同時に検索", + "Secret": "パスワード", + "SecretKey": "キー", + "SecretKeyStrategy": "パスワードポリシー", + "SecretType": "暗号化タイプ", + "Secure": "セキュリティ", + "Security": "セキュリティ設定", + "SecurityCommandExecution": "バッチコマンド", + "SecurityInsecureCommand": "資産に危険なコマンドが実行されたときに、メールで警告通知が送信されます", + "SecurityInsecureCommandEmailReceiver": "複数のメールアドレスの場合は、半角のコンマ','で区切ります", + "SecurityLoginLimitCount": "ログイン失敗の回数制限", + "SecurityLoginLimitTime": "ログイン禁止時刻", + "SecurityMaxIdleTime": "最大接続空き時間", + "SecurityMfaAuth": "マルチファクター認証", + "SecurityPasswordExpirationTime": "パスワード有効期限", + "SecurityPasswordLowerCase": "必ず小文字を含めてください", + "SecurityPasswordMinLength": "パスワードの最小長さ", + "SecurityPasswordNumber": "数字を含む必要があります", + "SecurityPasswordSpecialChar": "特殊文字を含まなければなりません", + "SecurityPasswordUpperCase": "大文字を含める必要がある", + "SecurityServiceAccountRegistration": "コンポーネントの登録", + "SecuritySetting": "セキュリティ設定", + "Select": "選択", + "SelectAccount": "アカウントを選択", + "SelectAdhoc": "コマンド選択", + "SelectAll": "すべて選択", + "SelectAssetsMessage": "左側の資産を選択し、実行するシステムユーザーを選択し、コマンドを一括実行する", + "SelectAtLeastOneAssetOrNodeErrMsg": "資産またはノードを少なくとも一つ選択してください", + "SelectAttrs": "属性の選択", + "SelectByAttr": "属性フィルタ", + "SelectCreateMethod": "作成方法の選択", + "SelectFile": "ファイルを選んでください", + "SelectKeyOrCreateNew": "タグキーを選択するか、新規作成", + "SelectLabelFilter": "タグ検索を選択", + "SelectPlatforms": "プラットフォームを選択", + "SelectProperties": "属性の選択", + "SelectResource": "リソースの選択", + "SelectTemplate": "テンプレートの選択", + "SelectValueOrCreateNew": "タグ値を選択または新しく作成", + "Selected": "選択済み", + "SelectedAssets": "選択済みの資産:", + "Selection": "選択可能", + "Selector": "セレクタ", + "Send": "送信", + "SendVerificationCode": "認証コード送信", + "Sender": "送信者", + "Senior": "アドバンスド", + "SerialNumber": "シリアルナンバー", + "ServerAccountKey": "サービスアカウントキー", + "ServerError": "サーバーエラー", + "ServerTime": "サーバー時間", + "ServiceRatio": "コンポーネントの負荷統計", + "Session": "セッション", + "SessionActiveCount": "オンラインセッション数", + "SessionData": "セッションデータ", + "SessionDetail": "セッション詳細", + "SessionID": "セッションID", + "SessionList": "セッションログ", + "SessionMonitor": "モニタリング", + "SessionOffline": "過去のセッション", + "SessionOnline": "オンラインセッション", + "SessionSecurity": "セッションのセキュリティ", + "SessionState": "セッションの状態", + "SessionTerminate": "セッション切断", + "SessionTrend": "セッショントレンド", + "Sessions": "セッション管理", + "SessionsAudit": "セッション監査", + "SessionsNum": "セッション数", + "Set": "設定済み", + "SetAdDomainNoDisabled": "特権アカウントを使用して資産上に一般アカウントを作成し、ADドメインが設定されている場合は変更できません(Windows)", + "SetDingTalk": "ダイング通知の設定", + "SetFailed": "設定に失敗", + "SetFeiShu": "フェイシュ認証を設定", + "SetMFA": "マルチファクター認証の設定", + "SetPublicKey": "SSH公開鍵を設定", + "SetSlack": "Slack認証の設定", + "SetStatus": "状態の設定", + "SetSuccess": "設定成功", + "SetToDefault": "デフォルトに設定", + "SetToDefaultStorage": "デフォルトストレージに設定", + "SetWeCom": "企業微信認証の設定", + "Setting": "設定", + "SettingInEndpointHelpText": "システム設定/コンポーネント設定/サービスエンドポイントでサービスアドレスとポートを設定", + "Settings": "システム設定", + "Show": "表示", + "ShowAssetAllChildrenNode": "すべての子ノードの資産を表示する", + "ShowAssetOnlyCurrentNode": "現在のノードのアセットのみを表示", + "ShowNodeInfo": "ノード詳細を表示", + "SignChannelNum": "署名チャネル番号", + "SignaturesAndTemplates": "署名とテンプレート", + "SiteMessage": "内部通信", + "SiteMessageList": "内部メール", + "SiteUrl": "現在のサイトURL", + "Skip": "現在の資産を無視する", + "Skipped": "スキップ済み", + "Slack": "Slack", + "Source": "ソース", + "SourceIP": "ソースアドレス", + "SourcePort": "ソースポート", + "Spec": "指定した", + "SpecAccount": "指定アカウント", + "SpecAccountTip": "指定ユーザー名で認証アカウントを選択", + "SpecialSymbol": "特殊文字", + "SpecificInfo": "特別な情報", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSHフィンガープリント", + "SshPort": "SSHポート", + "Sshkey": "sshキー", + "SshkeyAccount": "キーアカウント", + "StartEvery": "スタート、毎", + "Startswith": "...で始まる", + "Stat": "成功/失敗/合計", + "State": "ステータス", + "StateClosed": "閉鎖済み", + "Status": "状態", + "StatusGreen": "最近の状況は良好", + "StatusRed": "前回のタスクの実行に失敗", + "StatusYellow": "最近、実行失敗が発生しています", + "Stop": "停止", + "Storage": "ストレージ", + "StorageConfiguration": "設定を保存", + "Strategy": "ポリシー", + "StrategyCreate": "ポリシーの作成", + "StrategyDetail": "ポリシーの詳細", + "StrategyHelpTips": "ポリシーの優先度に従ってアセットの一意性(プラットフォームなど)を決定し、アセットの属性(ノードなど)が複数設定可能な場合、すべてのポリシーのアクションが実行されます", + "StrategyList": "ポリシーリスト", + "StrategyUpdate": "更新ポリシー", + "SuFrom": "から切り替える", + "Subject": "主題", + "Submit": "提出", + "SubmitSelector": "送信ボタンのセレクタ", + "Subscription": "メッセージ購読", + "SubscriptionID": "サブスクリプション認証ID", + "Success": "成功", + "SuccessAsset": "成功したアセット", + "SuccessfulOperation": "操作成功", + "SudoHelpMessage": "複数のコマンドをカンマで区切ってください。例: /bin/whoami,/sbin/ifconfig", + "Summary(success/total)": "概要(成功/総数)", + "Sunday": "日曜日", + "SuperAdmin": "スーパーユーザー", + "SuperOrgAdmin": "スーパーアドミン+組織アドミン", + "Support": "サポート", + "SupportedProtocol": "サポートされているプロトコル", + "SupportedProtocolHelpText": "アセットがサポートするプロトコルを設定、設定ボタンをクリックしてプロトコルにカスタム設定を追加できます、例えばSFTPディレクトリ、RDP ADドメインなど", + "SwitchPage": "ビューの切替", + "SwitchToUser": "Suユーザー", + "SwitchToUserListTips": "以下のユーザーが資産に接続するとき、現在のシステムユーザーでログインしてスイッチングを行います。", + "SymbolSet": "特別な記号の集合", + "SymbolSetHelpText": "データベースでサポートされている特殊文字のセットを入力してください。生成されたランダムパスワードにデータベースがサポートしていない特殊文字が含まれている場合、パスワード変更プランは失敗します。", + "Sync": "同期", + "SyncDelete": "同期を削除", + "SyncInstanceTaskCreate": "同期タスクの作成", + "SyncInstanceTaskDetail": "同期タスク詳細", + "SyncInstanceTaskHistoryAssetList": "同期インスタンスリスト", + "SyncInstanceTaskHistoryList": "同期履歴リスト", + "SyncInstanceTaskList": "同期タスクリスト", + "SyncInstanceTaskUpdate": "同期タスクの更新", + "SyncProtocolToAsset": "同期プロトコルへアセット", + "SyncSelected": "選択したものを同期", + "SyncSetting": "設定の同期", + "SyncStrategy": "同期ポリシー", + "SyncSuccessMsg": "同期成功", + "SyncTask": "同期タスク", + "SyncUpdateAccountInfo": "アカウント情報の同期更新", + "SyncUser": "ユーザーの同期", + "SyncedCount": "同期済み", + "SystemCpuLoad": "CPU負荷", + "SystemDiskUsedPercent": "ハードディスクの使用率", + "SystemError": "システムエラー", + "SystemMemoryUsedPercent": "メモリ使用率", + "SystemMessageSubscription": "システムメッセージの購読", + "SystemRole": "システムロール", + "SystemRoles": "システムロール", + "SystemSetting": "システム設定", + "SystemTools": "システムツール", + "SystemUser": "システムユーザー", + "SystemUserAmount": "システムユーザー数", + "SystemUserCount": "システムユーザ", + "SystemUserCreate": "システムユーザを作成", + "SystemUserDetail": "システムユーザー詳細", + "SystemUserId": "システムユーザーID", + "SystemUserList": "システムユーザー", + "SystemUserListHelpMessage": "システムユーザーはJumpServerが資産にログインする際に使用するアカウントで、`ssh root@host`のようにrootとしてログインします。資産にログインするためにこのユーザー名(ssh admin@host)を使用しないでください。
特権ユーザーは、すでに存在し、高度な権限を持つシステムユーザーで、JumpServerはこのユーザーを使って`システムユーザーをプッシュ`、`資産ハードウェア情報を取得`するなど。
一般ユーザーは資産上に事前に存在することもできますし、特権ユーザーによって自動的に作成することもできます。", + "SystemUserName": "システムユーザ名", + "SystemUserUpdate": "システムユーザーの更新", + "SystemUsers": "システムユーザ", + "System_usersAmount": "システムユーザ", + "System_users_nameGroup": "システムユーザー名", + "System_users_protocolGroup": "システム利用規約", + "System_users_usernameGroup": "システムユーザー名", + "TableColSettingInfo": "表示したい詳細リストを選んでください。", + "Target": "目標", + "TargetResources": "対象リソース", + "Task": "タスク", + "TaskCenter": "タスクセンター", + "TaskDetail": "タスク詳細", + "TaskDispatch": "タスクが正常に配信されました", + "TaskDone": "タスク完了", + "TaskID": "タスク ID", + "TaskList": "タスクリスト", + "TaskMonitor": "タスク監視", + "TaskName": "タスク名", + "TaskVersions": "各タスクのバージョン", + "Tasks": "作業", + "TechnologyConsult": "テクニカルアドバイザリー", + "TempPassword": "一時パスワードの有効期限は 300 秒で、使用後すぐに失効します", + "Template": "テンプレート管理", + "TemplateAdd": "テンプレートの追加", + "TemplateCreate": "テンプレートを作成", + "TemplateDetail": "テンプレート詳細", + "TemplateHelpText": "テンプレートを選択して追加すると、アセット下に存在しないアカウントが自動的に作成され推送されます", + "TemplateUpdate": "テンプレートを更新", + "Templates": "テンプレート管理", + "TencentCloud": "テンセントクラウド", + "Terminal": "コンポーネント設定", + "TerminalAssetListPageSize": "資産のページあたりの表示数", + "TerminalAssetListSortBy": "アセットリストの並べ替え", + "TerminalDetail": "端末詳細", + "TerminalHeartbeatInterval": "ハートビート間隔", + "TerminalPasswordAuth": "パスワード認証", + "TerminalPublicKeyAuth": "キー認証", + "TerminalSessionKeepDuration": "セッションの保持期間", + "TerminalStat": "CPU/メモリ/ディスク", + "TerminalTelnetRegex": "Telnet成功の正規表現", + "TerminalUpdate": "エンドポイントの更新", + "TerminalUpdateStorage": "エンドポイントストレージの更新", + "Terminate": "最終終了", + "TerminateTaskSendSuccessMsg": "タスクの終了が発行されました。後で更新して確認してください", + "TermsAndConditions": "条項と条件", + "Test": "テスト", + "TestAccountConnective": "テストアカウントの接続性", + "TestAllSystemUsersConnective": "すべてのシステムユーザーの接続性をテストする", + "TestAssetsConnective": "資産の接続可能性テスト", + "TestConnection": "接続テスト", + "TestGatewayHelpMessage": "NATポートマッピングが利用されている場合、SSHの実際のリッスンポートを設定してください", + "TestGatewayTestConnection": "ゲートウェイの接続をテスト", + "TestHelpText": "テストの目的地を入力してください", + "TestLdapLoginSubtitle": "テストログインを行う前にLDAP設定を提出してください", + "TestLdapLoginTitle": "LDAPユーザーログインテスト", + "TestMultiPort": "複数のポートは、で区切られます", + "TestNodeAssetConnectivity": "アセットノードの接続性をテストする", + "TestParam": "パラメータ", + "TestPortErrorMsg": "ポートエラー、再入力してください", + "TestSelected": "選択したものをテスト", + "TestSelectedSystemUsersConnective": "選択したシステムユーザーの接続性をテスト", + "TestSuccessMsg": "テスト成功", + "The": "第", + "ThisPeriodic": "これは周期的なジョブです", + "Thursday": "木曜日", + "Ticket": "作業依頼", + "TicketCreate": "チケットの作成", + "TicketDetail": "ワークオーダーの詳細", + "TicketFlow": "作業指示票フロー", + "TicketFlowCreate": "承認フローの作成", + "TicketFlowUpdate": "承認フロー更新", + "Tickets": "ワークオーダーリスト", + "TicketsDone": "完了したワークオーダー", + "TicketsNew": "チケットの提出", + "TicketsTodo": "保留中のチケット", + "Time": "時間", + "TimeDelta": "実行時間", + "TimeExpression": "タイム表現", + "TimePeriod": "時間帯", + "Timeout": "タイムアウト", + "TimeoutHelpText": "この値が-1の場合、タイムアウト時間を設定しません", + "Timer": "定時実行", + "TimerPeriod": "定期的な実行サイクル", + "TimesWeekUnit": "回/週", + "Title": "タイトル", + "To": "まで", + "Today": "今日", + "TodayFailedConnections": "今日の接続失敗数", + "Token": "トークン", + "TokenHTTPMethod": "トークン取得方法", + "TopAssetsOfWeek": "週間資産 TOP10", + "TopUsersOfWeek": "週刊ユーザー TOP10", + "Total": "合計", + "TotalJobFailed": "失敗したジョブの数", + "TotalJobLog": "タスクの実行総数", + "TotalJobRunning": "実行中のジョブ数", + "TotalVersions": "バージョン数", + "Transfer": "転送", + "True": "はい", + "Tuesday": "火曜日", + "TwoAssignee": "二次受理者", + "TwoAssigneeType": "二級受理人タイプ", + "Type": "タイプ", + "Types": "タイプ", + "UCloud": "UCloud優刻得", + "UPPER_CASEREQUIRED": "大文字を含む必要があります", + "UnSyncCount": "未同期", + "Unbind": "アンバインド", + "UnbindHelpText": "この認証源に対するローカルユーザーで、バインド解除はできません", + "Unblock": "ロック解除", + "UnblockSuccessMsg": "ロック解除成功", + "UnblockUser": "ユーザーのロックを解除", + "UniqueError": "以下の属性は一つだけ設定可能", + "Unknown": "不明", + "UnlockSuccessMsg": "ロック解除成功", + "Unreachable": "接続不可", + "UnselectedAssets": "アセットが選択されていない、または選択したアセットがSSHプロトコルの接続をサポートしていない", + "UnselectedNodes": "ノードが未選択", + "UnselectedOrg": "組織を選択していません", + "UnselectedUser": "選択されていないユーザー", + "UpDownload": "アップロードダウンロード", + "Update": "更新", + "UpdateAccount": "アカウント更新", + "UpdateAccountMsg": "システムユーザのアカウント情報を更新してください", + "UpdateAccountTemplate": "アカウントテンプレートの更新", + "UpdateAssetDetail": "より詳しい情報の設定", + "UpdateAssetUserToken": "アカウント認証情報更新", + "UpdateEndpoint": "エンドポイントの更新", + "UpdateEndpointRule": "エンドポイントルールの更新", + "UpdateErrorMsg": "更新に失敗", + "UpdateMFA": "多要素認証を変更する", + "UpdateNodeAssetHardwareInfo": "ノードの資産ハードウェア情報を更新", + "UpdatePassword": "パスワードを更新する", + "UpdateSSHKey": "SSH公開鍵を更新", + "UpdateSecret": "暗号文を更新", + "UpdateSelected": "選択したものを更新する", + "UpdateSuccessMsg": "更新成功", + "Updated": "更新済み", + "UpdatedBy": "アップデータ", + "Upload": "アップロード", + "UploadCsvLth10MHelpText": "csv/xlsxのみアップロード可能で、10Mを超えてはいけません", + "UploadDir": "アップロードディレクトリ", + "UploadFailed": "アップロード失敗", + "UploadFile": "ファイルのアップロード", + "UploadFileLthHelpText": "{limit}MB以下のファイルのみアップロード可能", + "UploadPlaybook": "Playbookをアップロードする", + "UploadSucceed": "アップロード成功", + "UploadZipTips": "zip形式のファイルをアップロードしてください", + "Uploading": "ファイルのアップロード中", + "Uppercase": "大文字", + "UseParameterDefine": "パラメーターの定義", + "UseProtocol": "使用プロトコル", + "UseSSL": "SSL/TLS の使用", + "User": "ユーザ", + "UserAclDetail": "ユーザーログインルールの詳細", + "UserAclList": "ユーザーのログイン", + "UserAclLists": "ユーザーログインルール", + "UserAssetActivity": "アカウント/資産の活動状況", + "UserCount": "ユーザー数", + "UserCreate": "ユーザーの作成", + "UserData": "アカウント情報", + "UserDetail": "ユーザーの詳細", + "UserFirstLogin": "初回ログイン", + "UserGroupCount": "ユーザーグループの数", + "UserGroupCreate": "ユーザーグループを作成", + "UserGroupDetail": "ユーザーグループ詳細", + "UserGroupList": "ユーザーグループ", + "UserGroupUpdate": "ユーザーグループの更新", + "UserGroups": "ユーザー・グループ", + "UserGuide": "ユーザーガイド", + "UserGuideUrl": "ユーザーガイドURL", + "UserIP": "ログインIP", + "UserInformation": "ユーザー情報", + "UserList": "ユーザーリスト", + "UserLoginACL": "ユーザーログイン", + "UserLoginACLCreate": "ユーザーログインルール作成", + "UserLoginACLDetail": "ユーザーログイン制限", + "UserLoginACLHelpMsg": "ログインシステム時、ユーザーのログインIPと時間帯を審査し、システムへのログインを許可するかどうかを判断する(全体対象)", + "UserLoginACLUpdate": "ユーザーログインルールを更新", + "UserLoginAclCreate": "ユーザーログインコントロールを作成", + "UserLoginAclDetail": "ユーザーログインの詳細", + "UserLoginAclList": "ユーザーログイン", + "UserLoginAclUpdate": "ユーザーログイン制御の更新", + "UserLoginLimit": "ユーザーログイン制限", + "UserLoginTrend": "アカウントログインの傾向", + "UserName": "名前", + "UserNameSelector": "ユーザ名入力フィールドセレクタ", + "UserPage": "ユーザービュー", + "UserProfile": "個人情報", + "UserRatio": "ユーザーの割合統計", + "UserSession": "ユーザーセッション", + "UserSetting": "好みの設定", + "UserSwitch": "ユーザーの切り替え", + "UserSwitchFrom": "切り替え自", + "UserUpdate": "ユーザー更新", + "UserUsername": "ユーザー(ユーザー名)", + "Username": "ユーザー名", + "UsernameGroup": "ユーザ名", + "UsernameHelpMessage": "ユーザ名は動的で、アセットへのログイン時には現在のユーザ名を使用", + "UsernameOfCreateUpdatePage": "ターゲットホスト上のユーザー名。存在する場合は、ユーザーのパスワードを変更。存在しない場合、ユーザーを追加しパスワードを設定。", + "UsernamePlaceholder": "ユーザー名を入力してください", + "Users": "ユーザー", + "UsersAmount": "ユーザー", + "UsersAndUserGroups": "ユーザー/ユーザーグループ", + "UsersTotal": "アカウント総数", + "Valid": "有効", + "Validity": "有効な", + "Value": "値", + "Variable": "変数", + "VariableHelpText": "{{ key }} をコマンドで使用して組み込み変数を読み取ることができます", + "Vault": "パスワードボックス", + "VaultHelpText": "1. セキュリティ上の理由から、設定ファイルでVaultストレージを有効にする必要があります。
2. 有効化後、他の設定を入力し、テストを行います。
3. データ同期を行います。同期は一方向で、ローカルデータベースから遠隔Vaultにのみ同期され、同期が完了するとローカルデータベースではパスワードは保存されませんので、データをバックアップしてください。
4. Vaultの設定を二度目に変更すると、サービスを再起動する必要があります。", + "Vendor": "製造元", + "VerificationCodeSent": "検証コードが送信されました", + "VerifySignTmpl": "認証コードSMSテンプレート", + "Version": "バージョン", + "VersionDetail": "バージョン詳細", + "VersionRunExecution": "実行履歴", + "View": "ビュー", + "ViewBlockedIPSHelpText": "ロックされたIP一覧を表示", + "ViewMore": "もっと見る", + "ViewPerm": "認証の表示", + "ViewSecret": "暗号文を表示", + "VirtualAccountDetail": "仮想アカウント詳細", + "VirtualAccountUpdate": "仮想アカウントの更新", + "VirtualAccounts": "仮想アカウント", + "VirtualApp": "仮想アプリケーション", + "VirtualAppDetail": "仮想アプリケーション詳細", + "VirtualApps": "仮想アプリケーション", + "VmwareClient": "vSphereクライアント", + "VmwarePassword": "ログインパスワード", + "VmwareTarget": "目標アドレス", + "VmwareUsername": "ログインアカウント", + "WeCom": "企業WeChat", + "WeComTest": "テスト", + "WebCreate": "Web資産の作成", + "WebFTP": "ファイル管理", + "WebHelpMessage": "Web型資産はリモートアプリケーションに依存しています、システム設定でリモートアプリケーションを設定してください", + "WebSocketDisconnect": "WebSocketが切断されました", + "WebTerminal": "Web端末", + "WebUpdate": "アセット-Webの更新", + "Wednesday": "水曜日", + "Week": "週", + "WeekAdd": "今週の新規", + "WeekOf": "週の日", + "WeekOrTime": "日付/時間", + "Weekly": "週ごと", + "WildcardsAllowed": "許可されたワイルドカード", + "WindowsAdminUser": "Windows 特権ユーザー", + "WindowsPushHelpText": "Windows資産はキーのプッシュをサポートしていません", + "WordSep": "", + "WorkBench": "ワークベンチ", + "Workbench": "ワークベンチ", + "Workspace": "ワークスペース", + "Yes": "はい", + "ZStack": "ZStack" +} \ No newline at end of file diff --git a/apps/locale/luna/ja.json b/apps/locale/luna/ja.json index c8c409d1b..62d52861e 100644 --- a/apps/locale/luna/ja.json +++ b/apps/locale/luna/ja.json @@ -1,199 +1,201 @@ { - "ACL reject login asset": "アクセス制御ポリシーの制限により、このログインは拒否されました", + "ACL reject login asset": "このログインはアクセス制御ポリシーの制限により拒否されました", "Account info": "アカウント情報", "Account not found": "アカウントが見つかりません", "Account: ": "アカウント: {{value}}", - "Action: ": "アクション: ", - "Advanced option": "上級オプション", - "All sessions": "すべてのセッション", - "Applet": "アプレット", - "Applet connect method": "アプレット接続方法", - "Are you sure to reconnect it?(RDP not support)": "本当に再接続しますか? (RDPは一時的にサポートしていない)", - "Asset disabled": "この資産はすでに無効になっている場合、管理者に連絡してください", - "Asset not found or You have no permission to access it, please refresh asset tree": "アセットが見つからないか、アクセスする権限がありません。アセット ツリーを更新してください", - "Asset tree loading method": "資産ツリーのロード方法の設定", - "Asset: ": "アセット: {{value}}", - "Assignees": "受信者", - "Automatic login next": "次回の自動登録 (右クリック資産接続は再選択できます)", - "Backspace as Ctrl+H": "文字端末backspacas Ctrl H", - "Batch actions": "バッチ操作", - "Batch connect": "バッチ接続", - "Belgian French keyboard layout": "Belgian French (Azerty)", + "Action: ": "操作:", + "Advanced option": "高度なオプション", + "All sessions": "全セッション", + "Applet": "リモートアプリケーション", + "Applet connect method": "リモートアプリケーションの接続方法", + "Are you sure to reconnect it?(RDP not support)": "再接続しますか?(RDPは暫定的にサポートしていません)", + "Asset disabled": "この資産は無効化されています、管理者に連絡してください", + "Asset not found or You have no permission to access it, please refresh asset tree": "資産が見つからないか、あなたがアクセスする権限がない、資産ツリーをリフレッシュしてください", + "Asset tree loading method": "資産ツリーの読み込み方法を設定", + "Asset: ": "資産: {{value}}", + "Assignees": "受付人", + "Automatic login next": "次回は自動ログイン(アセットリンクを右クリックすると再選択できます)", + "Backspace as Ctrl+H": "バックスペースキーをCtrl+Hとして使用", + "Batch actions": "一括操作", + "Batch connect": "一括接続", + "Belgian French keyboard layout": "Belgian French(Azerty)", "CLI": "コマンドライン", - "CLI font size": "文字端末のフォントサイズ", + "CLI font size": "キャラクターターミナルのフォントサイズ", "Cancel": "キャンセル", "Charset": "文字セット", - "Checkbox": "複数選択", - "Choose a User": "ユーザーを選択します", - "Click to copy": "クリックしてコピーする", - "Client": "お客様", - "Clone Connect": "コピーウィンドウ", - "Close": "閉鎖", - "Close All Tabs": "すべてを閉じる", - "Close Current Tab": "現在を閉じる", + "Checkbox": "複数選択 ", + "Choose a User": "ユーザーを選択", + "Click to copy": "クリックしてコピー", + "Client": "クライアント", + "Clone Connect": "ウィンドウをコピー", + "Close": "閉じる", + "Close All Tabs": "全て閉じる", + "Close Current Tab": "現在のウィンドウを閉じる", "Close Left Tabs": "左側を閉じる", - "Close Other Tabs": "その他を閉じる", + "Close Other Tabs": "それ以外を閉じる", "Close Right Tabs": "右側を閉じる", - "Close split connect": "分割表示を閉じる", + "Close split connect": "分割画面を閉じる", "Command Line": "コマンドライン", - "Command line": "命令行", + "Command line": "コマンドラインに接続", "Confirm": "確認", "Connect": "接続", "Connect Method": "接続方法", - "Connect checked": "接続済み", - "Connect command line": "接続コマンドライン", - "Copied": "複製済み", - "Copy link": "リンクをコピーする", + "Connect checked": "選択した接続", + "Connect command line": "コマンドラインへの接続", + "Copied": "コピー済み", + "Copy link": "リンクをコピー", "Current online": "現在オンライン", "Current session": "現在のセッション", "Database": "データベース", - "Database disabled": "このリンク方式をサポートしていない、管理者に連絡してください", - "Database info": "データベース接続情報", - "Database token help text": " クライアントが接続するデータベースの種類のトークンは、コンポーネントによって5分間キャッシュされます。つまり、トークンは使用後すぐに無効になるわけではありませんが、クライアントが切断されてから5分後に無効になります", + "Database connect info": "データベース接続情報", + "Database disabled": "この種類の接続はサポートされていません, 管理者に連絡してください", + "Database info": "データベース情報", + "Database token help text": "データベース型のトークンは5分間キャッシュされます。つまり、トークンを使用してから、すぐには無効にならず、クライアントが切断されてから5分後に、このトークンは完全に無効になります。", "Databases": "データベース", - "Directly": "直接接続", - "Disable auto completion": "自動補完の無効化", - "Disconnect": "リンクを切断", - "Disfavor": "コレクションをキャンセル", + "Directly": "ユーザー名は、指定された資産とアカウントに接続します", + "Disable auto completion": "オートコンプリートを無効にする", + "Disconnect": "接続を切断", + "Disfavor": "お気に入り解除", "Do not close this page": "このページを閉じないでください", - "Document": "ドキュメント", - "Don't prompt again": "次回は提示しない", + "Document": "文書", + "Don't prompt again": "次回から表示しない", "Download": "ダウンロード", - "Download the latest client": "最新クライアントのダウンロード", - "Driver redirect": "ディスクマウント", + "Download the latest client": "最新のクライアントをダウンロード", + "Driver redirect": "ディスクのマウント", "Expand": "展開", - "Expand all": "すべて展開", - "Expand all asset": "現在のノードの下にあるすべてのアセットを展開", - "Expire time": "期限切れ", - "Failed to open address": "アドレスを開くことができませんでした", - "Favorite": "コレクション", + "Expand all": "全て展開", + "Expand all asset": "全ての資産を展開", + "Expire time": "有効期限", + "Failed to open address": "アドレスの開封に失敗", + "Favorite": "お気に入り", "File Manager": "ファイル管理", - "Fold": "折りたたみ", - "Fold all": "すべて折りたたみ", - "Force refresh": "強制更新", + "Fold": "折りたたむ", + "Fold all": "全て折りたたむ", + "Force refresh": "強制的に更新", "Found": "発見", - "French keyboard layout": "French (Azerty)", + "French keyboard layout": "フレンチ(アゼルティ)", "Full Screen": "全画面表示", - "Full screen": "全画面", - "GUI": "グラフィカル", - "General": "基本構成", + "Full screen": "フルスクリーン", + "GUI": "視覚化", + "General": "基本設定", "Help": "ヘルプ", - "Help or download": "ヘルプ → ダウンロード", - "Help text": "します", - "Hide left manager": "左サイドバーを非表示", + "Help or download": "メニューヘルプ → ダウンロード", + "Help text": "説明", + "Hide left manager": "左のサイドバーを隠す", "Host": "ホスト", "Info": "ヒント", - "InstallClientMsg": "JumpServerクライアントがインストールされていない、今ダウンロードしてインストールしますか?", - "Japanese keyboard layout": "Japanese (Qwerty)", + "InstallClientMsg": "JumpServerクライアントがインストールされていません、今すぐダウンロードしてインストールしますか?", + "Japanese keyboard layout": "日本語 (Qwerty)", "Keyboard keys": "Option + Left / Option + Right", "Keyboard layout": "キーボードレイアウト", - "Keyboard switch session": "セッションの切り替え → ショートカットキー", + "Keyboard switch session": "会話を切り替え → ショートカット", "Kubernetes": "Kubernetes", "Language": "言語", - "Last login": "前回ログイン", - "Launch Program": "起動プログラム", - "LeftInfo": "コマンドログをクリックして迅速に定位できるビデオ", - "Load tree async": "アセットツリーの非同期ロード", - "Loading": "ロード中", - "Log out": "ログインを終了", + "Last login": "前回のログイン", + "Launch Program": "プログラムを開始", + "LeftInfo": "コマンドレコードをクリックすると、録画を素早く見つけられます", + "Load tree async": "非同期でアセットツリーを読み込む", + "Loading": "読み込み中", + "Log out": "ログアウト", "Login reminder": "ログインリマインダー", - "Login review approved": "ログイン監査に合格し、アセットを接続しています...", - "LoginExpireMsg": "ログインが期限切れになりました。ログインし直してください", + "Login review approved": "ログイン審査が通過しました, 資産へ接続中...", + "LoginExpireMsg": "ログインが期限切れです。再度ログインしてください。", "Manual accounts": "手動アカウント", - "Module": "ユニット", - "Multi Screen": "マルチスクリーン", - "My applications": "私の応用", - "My assets": "マイ資産", - "Name": "めいしょう", + "Module": "モジュール", + "Multi Screen": "マルチスクリーン表示", + "My applications": "マイアプリ", + "My assets": "私の資産", + "Name": "名前", "Native": "クライアント", - "Need review for login asset": "このログインは手動で確認する必要があります。続行しますか?", - "Need to use": "使用する必要がある", - "No": "いいえ", - "No account available": "アカウントがありません", - "No available connect method": "接続方法がありません", - "No matching found": "マッチがありません", + "Need review for login asset": "今回のログインは人間によるオーディットが必要です、続行しますか?", + "Need to use": "使用が必要", + "No": "否", + "No account available": "使用可能なアカウントがありません", + "No available connect method": "利用可能な接続方法がありません", + "No matching found": "該当する項目はありません", "No permission": "権限がありません", "No protocol available": "利用可能なプロトコルがありません", - "Normal accounts": "通常のログインアカウント", - "Not quick command": "非高速コマンド", - "Open in new window": "新しいウィンドウが開きます", + "Not quick command": "ショートカットコマンドはありません", + "Open in new window": "新しいウィンドウで開く", "Password": "パスワード", - "Password is token password on the table": "パスワードは、テーブルのトークンパスワードです", - "Password is your password login to system": "パスワードは、システムにログインするためのパスワードです", - "Pause": "タスクを一時停止", - "Pause task has been send": "一時停止タスクが送信されました", + "Password is token password on the table": "パスワードは表のトークンパスワードです", + "Password is your password login to system": "パスワードはあなたのログインシステムのパスワードです", + "Pause": "一時停止", + "Pause task has been send": "一時停止タスクは送信されました", "Please choose an account": "ユーザーを選択してください", "Please input password": "パスワードを入力してください", "Port": "ポート", - "Protocol": "プロトコル", + "Protocol": "規約", "Protocol: ": "プロトコル: {{value}}", "RDP Client": "RDPクライアント", "RDP File": "RDPファイル", "RDP client options": "RDPクライアントオプション", - "RDP color quality": "RDP 色品質", - "RDP resolution": "RDP 解像度", - "RDP smart size": "RDP スマート・サイズ", - "Re-use for a long time after opening": "開いた後、長い間再利用する", + "RDP color quality": "RDP色品質", + "RDP resolution": "RDP解像度", + "RDP smart size": "RDPスマートサイズ", + "Re-use for a long time after opening": "有効にした後、この接続情報を長期間、何度でも使用できます", "Reconnect": "再接続", - "Refresh": "リフレッシュ", - "Remember password": "パスワードを覚える", - "Remember select": "選択を覚える", + "Refresh": "更新", + "Remember password": "パスワードを保持", + "Remember select": "選択を記憶", "Remote apps": "リモートアプリケーション", - "Reselect connection method": "資産の接続方法の再選択", - "Resume": "タスクを再開", - "Resume task has been send": "タスクが再開されました", - "Right click asset": "右クリック資産", - "Right click node": "右クリックノード", - "Right mouse quick paste": "右クイック貼り付け", - "Run it by client": "クライアントで実行する", + "Reselect connection method": "接続方法を再選択可能", + "Resume": "回復", + "Resume task has been send": "復旧タスクが送信されました", + "Right click asset": "資産を右クリック → 接続", + "Right click node": "ノードを右クリック→全て展開", + "Right mouse quick paste": "右クリックで速やかにペースト", + "Run it by client": "クライアントで実行", "SQL Client": "SQLクライアント", - "Save command": "保存コマンド", - "Save success": "保存に成功", + "Save command": "コマンドを保存", + "Save success": "保存が成功しました", "Search": "検索", - "Select account": "システムユーザーの選択", + "Select account": "アカウントを選択", "Send command": "コマンドを送信", - "Send text to all ssh terminals": "すべてのssh端末にテキストを送信します", - "Set reusable": "再利用可能な", + "Send text to all ssh terminals": "全てのssh端末にテキストを送信", + "Set reusable": "再利用を開始", "Setting": "設定", - "Settings or basic settings": "設定 → 基本設定", - "Show left manager": "左サイドバーを表示", + "Settings or basic settings": "メニュー設定 → 基本設定", + "Show left manager": "左側のバーを表示", "Skip": "スキップ", - "Skip manual password": "手動パスワードウィンドウをスキップします", - "Special account": "特別なアカウント", - "Special accounts": "特別ログインアカウント", - "Speed": "スピード", - "Split connect": "スクリーン接続", - "Split connect number": "1つのセッションで最大3つの画面分割接続をサポート", - "Split vertically": "垂直分割", - "Start Time: ": "開始時間: {{value}}", - "Stop": "Stop", + "Skip manual password": "手動パスワードウィンドウをスキップ", + "Special accounts": "特別なアカウント", + "Speed": "速度", + "Split connect": "スプリット画面で接続", + "Split connect number": "1セッションに最大3つの分割接続が可能", + "Split vertically": "垂直分割スクリーン", + "Start Time: ": "開始時間:{{value}}", + "Stop": "停止", "Support": "サポート", - "Swiss French keyboard layout": "Swiss French (Qwertz)", - "Switch to input command": "入力コマンドに切り替え", - "Switch to quick command": "クイックコマンドに切り替え", + "Swiss French keyboard layout": "スイスフレンチ(Qwertz)", + "Switch to input command": "コマンド入力に切り替え", + "Switch to quick command": "ショートカットコマンドに切り替え", "Tab List": "ウィンドウリスト", - "The connection method is invalid, please refresh the page": "接続方法が無効です。ページを更新してください", - "Ticket review closed for login asset": "このログイン レビューは終了しており、アセットを接続できません", - "Ticket review pending for login asset": "ログイン アプリケーションが送信され、承認者が確認するのを待っています。リンクをコピーして承認者に送信することもできます。", - "Ticket review rejected for login asset": "このログイン レビューは拒否されたため、アセットを接続できません", + "The connection method is invalid, please refresh the page": "接続方法が無効になりました、ページを更新してください", + "Ticket review approved for login asset": "このログイン審査は通過しました, 資産に接続しますか?", + "Ticket review closed for login asset": "このログイン監査は閉じられ、リソースに接続できません", + "Ticket review pending for login asset": "ログイン申請が提出され、審査者の審査を待っています。リンクをコピーして彼に送ることもできます", + "Ticket review rejected for login asset": "今回のログイン審査は拒否され、資産に接続できません", "Tips": "ヒント", - "Token expired": "トークンの有効期限が切れました", - "Tool download": "ツールダウンロード", - "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Token expired": "トークンの有効期限が切れました、再接続してください", + "Tool download": "ツールのダウンロード", + "Turkey keyboard layout": "Turkish-Q(Qwerty)", "Type tree": "タイプツリー", - "UK English keyboard layout": "UK English (Qwerty)", + "UK English keyboard layout": "イギリス英語 (Qwerty)", "US English keyboard layout": "US English (Qwerty)", + "User": "ユーザー", "User: ": "ユーザー: {{value}}", "Username": "ユーザー名", - "Username@Domain": "ユーザー名 @ ADドメイン", + "Username@Domain": "ユーザ名@ADドメイン", "Users": "ユーザー", - "Using token": "トークンを使用する", + "Using token": "トークンを使用", "View": "ビュー", "VirtualApp": "仮想アプリケーション", "Web Terminal": "Web端末", - "Website": "公式サイト", + "Website": "公式ウェブサイト", + "With secret accounts": "ホストアカウント", "Yes": "はい", - "asset": "資産", + "asset": "アセット", "cols": "列数", "confirm": "確認", "connect info": "接続情報", diff --git a/apps/locale/translate/__init__.py b/apps/locale/translate/__init__.py index cf7e61a1d..9eb0a4841 100644 --- a/apps/locale/translate/__init__.py +++ b/apps/locale/translate/__init__.py @@ -1,3 +1,12 @@ import os LOCALE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +RED = "\033[91m" +BLUE = "\033[94m" +CYAN = "\033[96m" +RESET = "\033[0m" +GREEN = "\033[92m" +WHITE = "\033[97m" +YELLOW = "\033[93m" +MAGENTA = "\033[95m" diff --git a/apps/locale/translate/main.py b/apps/locale/translate/main.py index 8217afdab..74a248092 100644 --- a/apps/locale/translate/main.py +++ b/apps/locale/translate/main.py @@ -1,7 +1,7 @@ import asyncio import os -from apps.locale.translate import LOCALE_DIR +from apps.locale.translate import LOCALE_DIR, RED from apps.locale.translate.manager import OtherTranslateManager, CoreTranslateManager from apps.locale.translate.utils import OpenAITranslate @@ -25,7 +25,7 @@ class Translate: _dir = os.path.join(LOCALE_DIR, dir_name) zh_file = os.path.join(_dir, 'zh', 'LC_MESSAGES', 'django.po') if not os.path.exists(zh_file): - print(f'File: {zh_file} not exists.') + print(f'{RED}File: {zh_file} not exists.{RED}') return await CoreTranslateManager(_dir, self.oai_trans).run() @@ -34,7 +34,7 @@ class Translate: _dir = os.path.join(LOCALE_DIR, dir_name) zh_file = os.path.join(_dir, 'zh.json') if not os.path.exists(zh_file): - print(f'File: {zh_file} not exists.') + print(f'{RED}File: {zh_file} not exists.{RED}\n') return await OtherTranslateManager(_dir, self.oai_trans).run() diff --git a/apps/locale/translate/manager/base.py b/apps/locale/translate/manager/base.py index 4d3f715d6..fd5ca2987 100644 --- a/apps/locale/translate/manager/base.py +++ b/apps/locale/translate/manager/base.py @@ -1,6 +1,10 @@ import asyncio import os +from tqdm import tqdm + +from apps.locale.translate import RED, GREEN, RESET + class BaseTranslateManager: bulk_size = 30 @@ -12,6 +16,7 @@ class BaseTranslateManager: def __init__(self, dir_path, oai_trans_instance): self.oai_trans = oai_trans_instance self._dir = dir_path + self.dir_name = os.path.basename(self._dir) if not os.path.exists(self._dir): os.makedirs(self._dir) @@ -37,16 +42,25 @@ class BaseTranslateManager: translated_texts = translated_text.split(self.SEPARATOR) return dict(zip(keys, translated_texts)) except Exception as e: - print(f"Error during translation task: {e}") + print(f"{RED}Error during translation task: {e}{RED}") return {} async def bulk_translate(self, need_trans_dict, target_lang): split_data = self.split_dict_into_chunks(need_trans_dict, self.bulk_size) tasks = [self.create_translate_task(batch, target_lang) for batch in split_data] - translated_results = await asyncio.gather(*tasks) + number_of_tasks = len(tasks) translated_dict = {} - for result in translated_results: - translated_dict.update(result) + bar_format = "{l_bar}%s{bar}%s{r_bar}" % (GREEN, RESET) + desc = f"{target_lang} translate" + with tqdm( + total=number_of_tasks, ncols=100, + desc=desc, bar_format=bar_format + ) as pbar: + for task in asyncio.as_completed(tasks): + pbar.set_description_str(f"{GREEN}{desc}{RESET}") + result = await task + translated_dict.update(result) + pbar.update(1) return translated_dict diff --git a/apps/locale/translate/manager/core.py b/apps/locale/translate/manager/core.py index 266c5f2bc..ab5d7d46f 100644 --- a/apps/locale/translate/manager/core.py +++ b/apps/locale/translate/manager/core.py @@ -2,6 +2,7 @@ import os import polib +from apps.locale.translate import RED, MAGENTA, GREEN from .base import BaseTranslateManager @@ -21,14 +22,14 @@ class CoreTranslateManager(BaseTranslateManager): try: for entry in trans_po.untranslated_entries() + trans_po.fuzzy_entries(): if entry.msgid not in data: - print(f'msgid: {entry.msgid} not in data.') + print(f'{MAGENTA}msgid: {entry.msgid} not in data.{MAGENTA}') continue entry.flags = [] entry.previous_msgid = None entry.msgstr = data[entry.msgid] trans_po.save() except Exception as e: - print(f'File save error: {e}') + print(f'{RED}File save error: {e}{RED}') async def run(self): po_file_path = os.path.join(self._dir, 'zh', 'LC_MESSAGES', 'django.po') @@ -39,9 +40,9 @@ class CoreTranslateManager(BaseTranslateManager): po_file_path = os.path.join(self._dir, file_prefix, 'LC_MESSAGES', 'django.po') trans_po = polib.pofile(po_file_path) need_trans_dict = self.get_need_trans_dict(zh_dict, trans_po) - print(f'File: {file_prefix}.json need to translate: {len(need_trans_dict)}') + print(f'{GREEN}Translate: {self.dir_name} {file_prefix} ' + f'django.po need to translate {len(need_trans_dict)}{GREEN}\n') if not need_trans_dict: - print(f'File: {file_prefix}.json is already translated.') continue translated_dict = await self.bulk_translate(need_trans_dict, target_lang) self.save_translations_to_po(translated_dict, trans_po) diff --git a/apps/locale/translate/manager/other.py b/apps/locale/translate/manager/other.py index 4a498dcda..158d8d19a 100644 --- a/apps/locale/translate/manager/other.py +++ b/apps/locale/translate/manager/other.py @@ -1,6 +1,7 @@ import json import os +from apps.locale.translate import RED, GREEN from .base import BaseTranslateManager @@ -20,7 +21,7 @@ class OtherTranslateManager(BaseTranslateManager): with open(file_path, 'r', encoding='utf-8') as f: return json.load(f) except Exception as e: - print(f'File: {file_path} load error: {e}') + print(f'{RED}File: {file_path} load error: {e}{RED}') return {} def save_dict_as_json(self, data, file_prefix='ja'): @@ -29,7 +30,7 @@ class OtherTranslateManager(BaseTranslateManager): with open(file_path, 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, sort_keys=True, indent=4) except Exception as e: - print(f'File: {file_path} save error: {e}') + print(f'{RED}File: {file_path} save error: {e}{RED}') async def run(self): zh_dict = self.load_json_as_dict() @@ -37,9 +38,9 @@ class OtherTranslateManager(BaseTranslateManager): for file_prefix, target_lang in self.LANG_MAPPER.items(): other_dict = self.load_json_as_dict(file_prefix) need_trans_dict = self.get_need_trans_dict(zh_dict, other_dict) - print(f'File: {file_prefix}.json need to translate: {len(need_trans_dict)}') + print(f'{GREEN}Translate: {self.dir_name} {file_prefix} need to translate ' + f'{len(need_trans_dict)}{GREEN}\n') if not need_trans_dict: - print(f'File: {file_prefix}.json is already translated.') continue translated_dict = await self.bulk_translate(need_trans_dict, target_lang) other_dict.update(translated_dict) diff --git a/apps/locale/translate/utils.py b/apps/locale/translate/utils.py index adefe19ba..391a41d06 100644 --- a/apps/locale/translate/utils.py +++ b/apps/locale/translate/utils.py @@ -2,8 +2,8 @@ from openai import AsyncOpenAI class OpenAITranslate: - def __init__(self, key: str | None = None): - self.client = AsyncOpenAI(api_key=key) + def __init__(self, key: str | None = None, base_url: str | None = None): + self.client = AsyncOpenAI(api_key=key, base_url=base_url) async def translate_text(self, text, target_lang="English") -> str | None: try: diff --git a/poetry.lock b/poetry.lock index f3378db0e..579edd025 100644 --- a/poetry.lock +++ b/poetry.lock @@ -7827,4 +7827,4 @@ reference = "tsinghua" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "86fd825091e6032ad4a48f595a627555822618f8a1a0ed1f314f024e54d190d0" +content-hash = "5474eb8b2e55c714fc812ea637bf83fe40c5acaadebccc10072e30101ab9ba13" diff --git a/pyproject.toml b/pyproject.toml index ee7a8b12c..68e86ca27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -147,6 +147,7 @@ mistune = "2.0.3" openai = "^1.3.7" xlsxwriter = "^3.1.9" polib = "^1.2.0" +tqdm = "^4.66.1" [tool.poetry.group.xpack.dependencies] From 9968617758d3eeebd27c49b5689e0f170599b45e Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Wed, 17 Jan 2024 11:08:39 +0800 Subject: [PATCH 008/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=BB=93=E6=9E=84=20(#12554)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf: 修改优化结构 * perf: 修改结构 --------- Co-authored-by: ibuler --- apps/accounts/apps.py | 1 + apps/acls/apps.py | 2 +- apps/applications/apps.py | 2 +- apps/assets/apps.py | 2 +- apps/audits/apps.py | 2 +- apps/authentication/apps.py | 2 +- apps/i18n/_translator/__init__.py | 0 .../manager => i18n/_translator}/base.py | 5 +- .../__init__.py => i18n/_translator/const.py} | 0 .../manager => i18n/_translator}/core.py | 2 +- .../manager => i18n/_translator}/other.py | 2 +- .../translate => i18n/_translator}/utils.py | 5 +- .../core/ja/LC_MESSAGES/django.mo | 0 .../core/ja/LC_MESSAGES/django.po | 0 .../core/ja/LC_MESSAGES/djangojs.mo | 0 .../core/ja/LC_MESSAGES/djangojs.po | 0 .../core/zh/LC_MESSAGES/django.mo | 0 .../core/zh/LC_MESSAGES/django.po | 302 +-- .../core/zh/LC_MESSAGES/djangojs.mo | 0 .../core/zh/LC_MESSAGES/djangojs.po | 0 apps/i18n/lina/en.json | 1846 ++++++++++++++++ apps/{locale => i18n}/lina/zh.json | 2 +- apps/{locale => i18n}/luna/en.json | 9 + apps/{locale => i18n}/luna/zh.json | 0 apps/{locale => i18n}/sort_json.py | 0 .../translate/main.py => i18n/translate.py} | 10 +- apps/jumpserver/settings/base.py | 2 +- apps/labels/apps.py | 2 +- apps/locale/lina/en.json | 1870 ----------------- apps/locale/lina/ja.json | 1846 ---------------- apps/locale/luna/ja.json | 208 -- apps/locale/translate/manager/__init__.py | 2 - apps/notifications/apps.py | 2 +- apps/ops/apps.py | 2 +- apps/orgs/apps.py | 2 +- apps/perms/apps.py | 2 +- apps/rbac/apps.py | 2 +- apps/settings/api/i18n.py | 8 +- apps/settings/apps.py | 2 +- apps/terminal/apps.py | 2 +- apps/tickets/apps.py | 2 +- apps/users/apps.py | 2 +- jms | 2 +- 43 files changed, 2079 insertions(+), 4073 deletions(-) create mode 100644 apps/i18n/_translator/__init__.py rename apps/{locale/translate/manager => i18n/_translator}/base.py (95%) rename apps/{locale/translate/__init__.py => i18n/_translator/const.py} (100%) rename apps/{locale/translate/manager => i18n/_translator}/core.py (97%) rename apps/{locale/translate/manager => i18n/_translator}/other.py (97%) rename apps/{locale/translate => i18n/_translator}/utils.py (80%) rename apps/{locale => i18n}/core/ja/LC_MESSAGES/django.mo (100%) rename apps/{locale => i18n}/core/ja/LC_MESSAGES/django.po (100%) rename apps/{locale => i18n}/core/ja/LC_MESSAGES/djangojs.mo (100%) rename apps/{locale => i18n}/core/ja/LC_MESSAGES/djangojs.po (100%) rename apps/{locale => i18n}/core/zh/LC_MESSAGES/django.mo (100%) rename apps/{locale => i18n}/core/zh/LC_MESSAGES/django.po (98%) rename apps/{locale => i18n}/core/zh/LC_MESSAGES/djangojs.mo (100%) rename apps/{locale => i18n}/core/zh/LC_MESSAGES/djangojs.po (100%) create mode 100644 apps/i18n/lina/en.json rename apps/{locale => i18n}/lina/zh.json (99%) rename apps/{locale => i18n}/luna/en.json (95%) rename apps/{locale => i18n}/luna/zh.json (100%) rename apps/{locale => i18n}/sort_json.py (100%) rename apps/{locale/translate/main.py => i18n/translate.py} (85%) delete mode 100644 apps/locale/lina/en.json delete mode 100644 apps/locale/lina/ja.json delete mode 100644 apps/locale/luna/ja.json delete mode 100644 apps/locale/translate/manager/__init__.py diff --git a/apps/accounts/apps.py b/apps/accounts/apps.py index 56ca232f7..f24698b03 100644 --- a/apps/accounts/apps.py +++ b/apps/accounts/apps.py @@ -4,6 +4,7 @@ from django.apps import AppConfig class AccountsConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'accounts' + verbose_name = 'App Accounts' def ready(self): from . import signal_handlers # noqa diff --git a/apps/acls/apps.py b/apps/acls/apps.py index 291ce855e..e550e34e3 100644 --- a/apps/acls/apps.py +++ b/apps/acls/apps.py @@ -4,4 +4,4 @@ from django.utils.translation import gettext_lazy as _ class AclsConfig(AppConfig): name = 'acls' - verbose_name = _('Acls') + verbose_name = _('App Acls') diff --git a/apps/applications/apps.py b/apps/applications/apps.py index c672bf36e..888e4739f 100644 --- a/apps/applications/apps.py +++ b/apps/applications/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class ApplicationsConfig(AppConfig): name = 'applications' - verbose_name = _('Applications') + verbose_name = _('App Applications') def ready(self): super().ready() diff --git a/apps/assets/apps.py b/apps/assets/apps.py index 9ebd7a93d..74260a689 100644 --- a/apps/assets/apps.py +++ b/apps/assets/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class AssetsConfig(AppConfig): name = 'assets' - verbose_name = _('App assets') + verbose_name = _('App Assets') def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/apps/audits/apps.py b/apps/audits/apps.py index ddaa535a7..1d56d13ad 100644 --- a/apps/audits/apps.py +++ b/apps/audits/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class AuditsConfig(AppConfig): name = 'audits' - verbose_name = _('Audits') + verbose_name = _('App Audits') def ready(self): from . import signal_handlers # noqa diff --git a/apps/authentication/apps.py b/apps/authentication/apps.py index 5a1c1966a..8f9c38c94 100644 --- a/apps/authentication/apps.py +++ b/apps/authentication/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class AuthenticationConfig(AppConfig): name = 'authentication' - verbose_name = _('Authentication') + verbose_name = _('App Authentication') def ready(self): from . import signal_handlers # noqa diff --git a/apps/i18n/_translator/__init__.py b/apps/i18n/_translator/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/apps/locale/translate/manager/base.py b/apps/i18n/_translator/base.py similarity index 95% rename from apps/locale/translate/manager/base.py rename to apps/i18n/_translator/base.py index fd5ca2987..7b06410b1 100644 --- a/apps/locale/translate/manager/base.py +++ b/apps/i18n/_translator/base.py @@ -3,14 +3,15 @@ import os from tqdm import tqdm -from apps.locale.translate import RED, GREEN, RESET +from .const import RED, GREEN, RESET class BaseTranslateManager: bulk_size = 30 SEPARATOR = "" LANG_MAPPER = { - 'ja': 'Japanese', + # 'ja': 'Japanese', + 'en': 'English', } def __init__(self, dir_path, oai_trans_instance): diff --git a/apps/locale/translate/__init__.py b/apps/i18n/_translator/const.py similarity index 100% rename from apps/locale/translate/__init__.py rename to apps/i18n/_translator/const.py diff --git a/apps/locale/translate/manager/core.py b/apps/i18n/_translator/core.py similarity index 97% rename from apps/locale/translate/manager/core.py rename to apps/i18n/_translator/core.py index ab5d7d46f..29aaac398 100644 --- a/apps/locale/translate/manager/core.py +++ b/apps/i18n/_translator/core.py @@ -2,8 +2,8 @@ import os import polib -from apps.locale.translate import RED, MAGENTA, GREEN from .base import BaseTranslateManager +from .const import RED, GREEN class CoreTranslateManager(BaseTranslateManager): diff --git a/apps/locale/translate/manager/other.py b/apps/i18n/_translator/other.py similarity index 97% rename from apps/locale/translate/manager/other.py rename to apps/i18n/_translator/other.py index 158d8d19a..24e88db5e 100644 --- a/apps/locale/translate/manager/other.py +++ b/apps/i18n/_translator/other.py @@ -1,8 +1,8 @@ import json import os -from apps.locale.translate import RED, GREEN from .base import BaseTranslateManager +from .const import RED, GREEN class OtherTranslateManager(BaseTranslateManager): diff --git a/apps/locale/translate/utils.py b/apps/i18n/_translator/utils.py similarity index 80% rename from apps/locale/translate/utils.py rename to apps/i18n/_translator/utils.py index 391a41d06..312ebb935 100644 --- a/apps/locale/translate/utils.py +++ b/apps/i18n/_translator/utils.py @@ -16,7 +16,10 @@ class OpenAITranslate: f"I provided you and translate it into {target_lang}. " f"Please do not use a translation accent when translating, " f"but translate naturally, smoothly and authentically, " - f"using beautiful and elegant words. way of expression.", + f"using beautiful and elegant words. way of expression," + f"If you found word '动作' please translate it to 'Action', because it's short," + f"If you found word '管理' in menu, you can not translate it, because management is too long in menu" + , }, { "role": "user", diff --git a/apps/locale/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo similarity index 100% rename from apps/locale/core/ja/LC_MESSAGES/django.mo rename to apps/i18n/core/ja/LC_MESSAGES/django.mo diff --git a/apps/locale/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po similarity index 100% rename from apps/locale/core/ja/LC_MESSAGES/django.po rename to apps/i18n/core/ja/LC_MESSAGES/django.po diff --git a/apps/locale/core/ja/LC_MESSAGES/djangojs.mo b/apps/i18n/core/ja/LC_MESSAGES/djangojs.mo similarity index 100% rename from apps/locale/core/ja/LC_MESSAGES/djangojs.mo rename to apps/i18n/core/ja/LC_MESSAGES/djangojs.mo diff --git a/apps/locale/core/ja/LC_MESSAGES/djangojs.po b/apps/i18n/core/ja/LC_MESSAGES/djangojs.po similarity index 100% rename from apps/locale/core/ja/LC_MESSAGES/djangojs.po rename to apps/i18n/core/ja/LC_MESSAGES/djangojs.po diff --git a/apps/locale/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo similarity index 100% rename from apps/locale/core/zh/LC_MESSAGES/django.mo rename to apps/i18n/core/zh/LC_MESSAGES/django.mo diff --git a/apps/locale/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po similarity index 98% rename from apps/locale/core/zh/LC_MESSAGES/django.po rename to apps/i18n/core/zh/LC_MESSAGES/django.po index f5f900e9e..e68108efc 100644 --- a/apps/locale/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-03 11:23+0800\n" +"POT-Creation-Date: 2024-01-16 18:16+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -28,8 +28,9 @@ msgstr "参数 'action' 必须是 [{}]" #: authentication/confirm/password.py:26 authentication/forms.py:32 #: authentication/templates/authentication/login.html:330 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 -#: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 -#: users/forms/profile.py:22 users/serializers/user.py:104 +#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:104 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -199,10 +200,10 @@ msgstr "仅创建" #: authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 -#: settings/serializers/msg.py:57 users/forms/profile.py:102 +#: settings/serializers/msg.py:64 users/forms/profile.py:102 #: users/forms/profile.py:109 users/models/user.py:802 #: users/templates/users/forgot_password.html:117 -#: users/views/profile/reset.py:92 +#: users/views/profile/reset.py:93 msgid "Email" msgstr "邮箱" @@ -286,11 +287,11 @@ msgstr "来源 ID" #: accounts/serializers/automations/change_secret.py:107 #: accounts/serializers/automations/change_secret.py:127 #: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 -#: assets/serializers/asset/common.py:125 assets/serializers/gateway.py:28 +#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 terminal/backends/command/models.py:18 -#: terminal/models/session/session.py:33 +#: perms/serializers/permission.py:41 settings/serializers/msg.py:33 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -592,8 +593,8 @@ msgstr "密码规则" #: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 #: assets/models/domain.py:19 assets/models/group.py:17 #: assets/models/label.py:18 assets/models/platform.py:16 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 -#: assets/serializers/platform.py:118 assets/serializers/platform.py:235 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:229 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 @@ -601,7 +602,7 @@ msgstr "密码规则" #: ops/models/celery.py:57 ops/models/job.py:136 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:82 +#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 #: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:95 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 @@ -625,7 +626,7 @@ msgstr "特权账号" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:106 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:167 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:170 msgid "Is active" msgstr "激活" @@ -736,8 +737,8 @@ msgstr "账号存在策略" #: accounts/serializers/account/account.py:193 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:96 -#: assets/serializers/asset/common.py:122 assets/serializers/cagegory.py:12 -#: assets/serializers/platform.py:140 assets/serializers/platform.py:236 +#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 +#: assets/serializers/platform.py:140 assets/serializers/platform.py:230 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" @@ -748,7 +749,7 @@ msgstr "类别" #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:97 -#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:120 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 #: assets/serializers/platform.py:139 audits/serializers.py:53 #: audits/serializers.py:170 #: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144 @@ -866,7 +867,7 @@ msgid "Key password" msgstr "密钥密码" #: accounts/serializers/account/base.py:78 -#: assets/serializers/asset/common.py:379 +#: assets/serializers/asset/common.py:381 msgid "Spec info" msgstr "特殊信息" @@ -1059,7 +1060,9 @@ msgid "private key invalid or passphrase error" msgstr "密钥不合法或密钥密码错误" #: acls/apps.py:7 -msgid "Acls" +#, fuzzy +#| msgid "Acls" +msgid "App Acls" msgstr "访问控制" #: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:45 @@ -1079,7 +1082,7 @@ msgstr "审批" msgid "Warning" msgstr "告警" -#: acls/const.py:10 audits/const.py:35 notifications/apps.py:7 +#: acls/const.py:10 audits/const.py:35 msgid "Notifications" msgstr "通知" @@ -1108,13 +1111,14 @@ msgstr "审批人" msgid "Active" msgstr "激活中" -#: acls/models/base.py:81 users/apps.py:9 users/models/preference.py:16 +#: acls/models/base.py:81 rbac/serializers/role.py:27 +#: users/models/preference.py:16 msgid "Users" msgstr "用户管理" #: acls/models/base.py:98 assets/models/automations/base.py:17 -#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:378 -#: perms/serializers/user_permission.py:75 rbac/tree.py:35 +#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 +#: rbac/tree.py:35 msgid "Accounts" msgstr "账号管理" @@ -1298,8 +1302,10 @@ msgstr "" "问,请立即采取适当的措施。" #: applications/apps.py:9 -msgid "Applications" -msgstr "应用管理" +#, fuzzy +#| msgid "Apply applications" +msgid "App Applications" +msgstr "申请应用" #: applications/models.py:16 xpack/plugins/cloud/models.py:37 #: xpack/plugins/cloud/serializers/account.py:67 @@ -1339,7 +1345,9 @@ msgid "The same level node name cannot be the same" msgstr "同级别节点名字不能重复" #: assets/apps.py:9 -msgid "App assets" +#, fuzzy +#| msgid "App assets" +msgid "App Assets" msgstr "资产管理" #: assets/automations/base/manager.py:188 @@ -1415,8 +1423,8 @@ msgstr "脚本" #: assets/const/category.py:10 assets/models/asset/host.py:8 #: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:71 -#: settings/serializers/feature.py:49 terminal/models/component/endpoint.py:13 -#: terminal/serializers/applet.py:17 +#: settings/serializers/feature.py:49 settings/serializers/msg.py:31 +#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "主机" @@ -1539,7 +1547,7 @@ msgid "We will consider login success when we see this prompt" msgstr "当我们看到这个提示时,我们将认为登录成功" #: assets/const/protocol.py:119 assets/models/asset/database.py:10 -#: settings/serializers/msg.py:40 +#: settings/serializers/msg.py:47 msgid "Use SSL" msgstr "使用 SSL" @@ -1655,7 +1663,7 @@ msgstr "用户名与用户相同" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:114 -#: terminal/models/applet/applet.py:42 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 #: terminal/models/virtualapp/virtualapp.py:24 #: terminal/serializers/session.py:19 terminal/serializers/session.py:45 #: terminal/serializers/storage.py:71 @@ -1708,12 +1716,12 @@ msgstr "云服务" #: assets/models/asset/common.py:94 assets/models/platform.py:17 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 -#: terminal/serializers/storage.py:133 +#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 #: xpack/plugins/cloud/serializers/account_attrs.py:73 msgid "Port" msgstr "端口" -#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:147 +#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 msgid "Address" msgstr "地址" @@ -1737,7 +1745,7 @@ msgstr "网域" msgid "Node" msgstr "节点" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:380 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:382 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "收集资产硬件信息" @@ -1886,7 +1894,7 @@ msgstr "值" #: assets/serializers/platform.py:119 #: authentication/serializers/connect_token_secret.py:124 #: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 -#: labels/serializers.py:45 settings/serializers/msg.py:83 +#: labels/serializers.py:45 settings/serializers/msg.py:90 msgid "Label" msgstr "标签" @@ -2055,7 +2063,7 @@ msgid "" "type" msgstr "资产中批量更新平台,不符合平台类型跳过的资产" -#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:141 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 @@ -2064,29 +2072,29 @@ msgstr "资产中批量更新平台,不符合平台类型跳过的资产" msgid "Protocols" msgstr "协议组" -#: assets/serializers/asset/common.py:126 -#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:129 +#: assets/serializers/asset/common.py:151 msgid "Node path" msgstr "节点路径" -#: assets/serializers/asset/common.py:145 -#: assets/serializers/asset/common.py:381 +#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:383 msgid "Auto info" msgstr "自动化信息" -#: assets/serializers/asset/common.py:239 +#: assets/serializers/asset/common.py:242 msgid "Platform not exist" msgstr "平台不存在" -#: assets/serializers/asset/common.py:275 +#: assets/serializers/asset/common.py:278 msgid "port out of range (0-65535)" msgstr "端口超出范围 (0-65535)" -#: assets/serializers/asset/common.py:282 +#: assets/serializers/asset/common.py:285 msgid "Protocol is required: {}" msgstr "协议是必填的: {}" -#: assets/serializers/asset/common.py:310 +#: assets/serializers/asset/common.py:313 msgid "Invalid data" msgstr "无效的数据" @@ -2236,7 +2244,7 @@ msgstr "默认网域" msgid "type is required" msgstr "类型 该字段是必填项。" -#: assets/serializers/platform.py:211 +#: assets/serializers/platform.py:205 msgid "Protocols is required" msgstr "协议是必填的" @@ -2307,7 +2315,9 @@ msgid "No assets matched, stop task" msgstr "没有匹配到资产,结束任务" #: audits/apps.py:9 -msgid "Audits" +#, fuzzy +#| msgid "Audits" +msgid "App Audits" msgstr "日志审计" #: audits/backends/db.py:16 @@ -2675,22 +2685,22 @@ msgstr "ACL 动作是复核" msgid "Current user not support mfa type: {}" msgstr "当前用户不支持 MFA 类型: {}" -#: authentication/api/password.py:34 terminal/api/session/session.py:305 -#: users/views/profile/reset.py:61 +#: authentication/api/password.py:33 terminal/api/session/session.py:305 +#: users/views/profile/reset.py:62 msgid "User does not exist: {}" msgstr "用户不存在: {}" -#: authentication/api/password.py:34 users/views/profile/reset.py:163 +#: authentication/api/password.py:33 users/views/profile/reset.py:163 msgid "No user matched" msgstr "没有匹配到用户" -#: authentication/api/password.py:38 +#: authentication/api/password.py:37 msgid "" "The user is from {}, please go to the corresponding system to change the " "password" msgstr "用户来自 {} 请去相应系统修改密码" -#: authentication/api/password.py:67 +#: authentication/api/password.py:65 #: authentication/templates/authentication/login.html:361 #: users/templates/users/forgot_password.html:27 #: users/templates/users/forgot_password.html:28 @@ -2699,8 +2709,10 @@ msgstr "用户来自 {} 请去相应系统修改密码" msgid "Forgot password" msgstr "忘记密码" -#: authentication/apps.py:7 settings/serializers/auth/base.py:10 -msgid "Authentication" +#: authentication/apps.py:7 +#, fuzzy +#| msgid "Authentication" +msgid "App Authentication" msgstr "认证" #: authentication/backends/custom.py:59 @@ -3001,7 +3013,7 @@ msgstr "短信验证码校验失败" #: authentication/serializers/password_mfa.py:24 #: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 #: users/forms/profile.py:109 users/templates/users/forgot_password.html:112 -#: users/views/profile/reset.py:98 +#: users/views/profile/reset.py:99 msgid "SMS" msgstr "短信" @@ -3192,7 +3204,7 @@ msgstr "动作" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:40 perms/serializers/permission.py:60 -#: users/serializers/user.py:97 users/serializers/user.py:171 +#: users/serializers/user.py:97 users/serializers/user.py:174 msgid "Is expired" msgstr "已过期" @@ -3207,7 +3219,7 @@ msgstr "IP 白名单" #: authentication/serializers/token.py:92 perms/serializers/permission.py:39 #: perms/serializers/permission.py:61 users/serializers/user.py:98 -#: users/serializers/user.py:168 +#: users/serializers/user.py:171 msgid "Is valid" msgstr "是否有效" @@ -3277,7 +3289,7 @@ msgstr "代码错误" #: authentication/templates/authentication/_msg_reset_password_code.html:9 #: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2 -#: jumpserver/conf.py:457 +#: jumpserver/conf.py:459 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 @@ -3437,7 +3449,7 @@ msgstr "本页面未使用 HTTPS 协议,请使用 HTTPS 协议以确保您的 msgid "Do you want to retry ?" msgstr "是否重试 ?" -#: authentication/utils.py:23 common/utils/ip/geoip/utils.py:24 +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 #: xpack/plugins/cloud/const.py:32 msgid "LAN" msgstr "局域网" @@ -3772,7 +3784,7 @@ msgstr "不支持 Elasticsearch8" msgid "Network error, please contact system administrator" msgstr "网络错误,请联系系统管理员" -#: common/sdk/im/slack/__init__.py:79 +#: common/sdk/im/slack/__init__.py:77 msgid "Unknown error occur" msgstr "发生未知错误" @@ -3863,21 +3875,19 @@ msgstr "错误的数据类型,应该是列表" msgid "Invalid choice: {}" msgstr "无效选项: {}" -#: common/serializers/mixin.py:397 labels/apps.py:8 +#: common/serializers/mixin.py:397 msgid "Labels" -msgstr "标签管理" +msgstr "标签" -# msgid "Labels" -# msgstr "标签管理" -#: common/tasks.py:21 common/utils/verify_code.py:16 +#: common/tasks.py:31 common/utils/verify_code.py:16 msgid "Send email" msgstr "发件邮件" -#: common/tasks.py:48 +#: common/tasks.py:58 msgid "Send email attachment" msgstr "发送邮件附件" -#: common/tasks.py:69 terminal/tasks.py:62 +#: common/tasks.py:80 terminal/tasks.py:62 msgid "Upload session replay to external storage" msgstr "上传会话录像到外部存储" @@ -3906,16 +3916,16 @@ msgstr "不能包含特殊字符" msgid "The mobile phone number format is incorrect" msgstr "手机号格式不正确" -#: jumpserver/conf.py:452 +#: jumpserver/conf.py:453 #, python-brace-format msgid "The verification code is: {code}" msgstr "验证码为: {code}" -#: jumpserver/conf.py:456 +#: jumpserver/conf.py:458 msgid "Create account successfully" msgstr "创建账号成功" -#: jumpserver/conf.py:458 +#: jumpserver/conf.py:460 msgid "Your account has been created successfully" msgstr "你的账号已创建成功" @@ -3950,6 +3960,12 @@ msgstr "" "div>
如果你看到了这个页面,证明你访问的不是nginx监听的端口,祝你好运" +#: labels/apps.py:8 +#, fuzzy +#| msgid "Labels" +msgid "App Labels" +msgstr "标签" + #: labels/models.py:36 msgid "Resource ID" msgstr "资源 ID" @@ -3970,6 +3986,12 @@ msgstr "不能包含\":,\"" msgid "Resource type" msgstr "资源类型" +#: notifications/apps.py:7 +#, fuzzy +#| msgid "Notifications" +msgid "App Notifications" +msgstr "通知" + #: notifications/backends/__init__.py:13 msgid "Site message" msgstr "站内信" @@ -4056,8 +4078,10 @@ msgstr "文件密钥该字段是必填项。" msgid "This file can not be delete" msgstr "无法删除此文件" -#: ops/apps.py:9 ops/notifications.py:17 rbac/tree.py:57 -msgid "App ops" +#: ops/apps.py:9 +#, fuzzy +#| msgid "App ops" +msgid "App Ops" msgstr "作业中心" #: ops/const.py:6 @@ -4290,6 +4314,10 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" +#: ops/notifications.py:17 rbac/tree.py:57 +msgid "App ops" +msgstr "作业中心" + #: ops/notifications.py:18 msgid "Server performance" msgstr "监控告警" @@ -4420,8 +4448,10 @@ msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进 msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" -#: orgs/apps.py:7 rbac/tree.py:128 -msgid "App organizations" +#: orgs/apps.py:7 +#, fuzzy +#| msgid "App organizations" +msgid "App Organizations" msgstr "组织管理" #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 @@ -4471,7 +4501,9 @@ msgid "Refresh organization cache" msgstr "刷新组织缓存" #: perms/apps.py:9 -msgid "App permissions" +#, fuzzy +#| msgid "App permissions" +msgid "App Permissions" msgstr "授权管理" #: perms/const.py:12 @@ -4567,8 +4599,8 @@ msgstr "资产授权规则将要过期" msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" -#: perms/serializers/permission.py:186 rbac/serializers/role.py:27 -#: users/serializers/group.py:54 users/serializers/group.py:60 +#: perms/serializers/permission.py:186 users/serializers/group.py:54 +#: users/serializers/group.py:60 msgid "Users amount" msgstr "用户数量" @@ -4617,7 +4649,9 @@ msgid "{} at least one system role" msgstr "{} 至少有一个系统角色" #: rbac/apps.py:7 -msgid "RBAC" +#, fuzzy +#| msgid "RBAC" +msgid "App RBAC" msgstr "RBAC" #: rbac/builtin.py:115 @@ -4787,6 +4821,10 @@ msgstr "我的资产" msgid "Applet" msgstr "远程应用" +#: rbac/tree.py:128 +msgid "App organizations" +msgstr "组织管理" + #: rbac/tree.py:129 msgid "Ticket comment" msgstr "工单评论" @@ -4814,7 +4852,7 @@ msgstr "聊天 AI 没有开启" msgid "Test success" msgstr "测试成功" -#: settings/api/email.py:21 +#: settings/api/email.py:22 msgid "Test mail sent to {}, please check" msgstr "邮件已经发送{}, 请检查" @@ -4840,7 +4878,9 @@ msgid "test_phone is required" msgstr "测试手机号 该字段是必填项。" #: settings/apps.py:7 -msgid "Settings" +#, fuzzy +#| msgid "Settings" +msgid "App Settings" msgstr "系统设置" #: settings/models.py:36 users/models/preference.py:14 @@ -4915,6 +4955,10 @@ msgstr "其它设置" msgid "Chat prompt" msgstr "聊天提示" +#: settings/serializers/auth/base.py:10 +msgid "Authentication" +msgstr "认证" + #: settings/serializers/auth/base.py:12 msgid "LDAP Auth" msgstr "LDAP 认证" @@ -5286,7 +5330,7 @@ msgstr "验证码长度" #: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49 #: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66 -#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:76 +#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83 msgid "Signature" msgstr "签名" @@ -5568,90 +5612,84 @@ msgstr "虚拟应用" msgid "Enable virtual app" msgstr "启用虚拟应用" -#: settings/serializers/msg.py:24 -msgid "SMTP host" +#: settings/serializers/msg.py:25 +#, fuzzy +#| msgid "SMTP host" +msgid "SMTP" msgstr "SMTP 主机" -#: settings/serializers/msg.py:25 -msgid "SMTP port" -msgstr "SMTP 端口" - #: settings/serializers/msg.py:26 -msgid "SMTP account" -msgstr "SMTP 账号" +msgid "EXCHANGE" +msgstr "" -#: settings/serializers/msg.py:28 -msgid "SMTP password" -msgstr "SMTP 密码" - -#: settings/serializers/msg.py:29 +#: settings/serializers/msg.py:36 msgid "Tips: Some provider use token except password" msgstr "提示:一些邮件提供商需要输入的是授权码" -#: settings/serializers/msg.py:32 +#: settings/serializers/msg.py:39 msgid "Send user" msgstr "发件人" -#: settings/serializers/msg.py:33 +#: settings/serializers/msg.py:40 msgid "Tips: Send mail account, default SMTP account as the send account" msgstr "提示:发送邮件账号,默认使用 SMTP 账号作为发送账号" -#: settings/serializers/msg.py:36 +#: settings/serializers/msg.py:43 msgid "Test recipient" msgstr "测试收件人" -#: settings/serializers/msg.py:37 +#: settings/serializers/msg.py:44 msgid "Tips: Used only as a test mail recipient" msgstr "提示:仅用来作为测试邮件收件人" -#: settings/serializers/msg.py:41 +#: settings/serializers/msg.py:48 msgid "If SMTP port is 465, may be select" msgstr "如果SMTP端口是465,通常需要启用 SSL" -#: settings/serializers/msg.py:44 +#: settings/serializers/msg.py:51 msgid "Use TLS" msgstr "使用 TLS" -#: settings/serializers/msg.py:45 +#: settings/serializers/msg.py:52 msgid "If SMTP port is 587, may be select" msgstr "如果SMTP端口是587,通常需要启用 TLS" -#: settings/serializers/msg.py:48 +#: settings/serializers/msg.py:55 msgid "Subject prefix" msgstr "主题前缀" -#: settings/serializers/msg.py:51 +#: settings/serializers/msg.py:58 msgid "Email suffix" msgstr "邮件后缀" -#: settings/serializers/msg.py:52 +#: settings/serializers/msg.py:59 msgid "" "This is used by default if no email is returned during SSO authentication" msgstr "SSO认证时,如果没有返回邮件地址,将使用该后缀" -#: settings/serializers/msg.py:61 +#: settings/serializers/msg.py:68 msgid "Create user email subject" msgstr "邮件主题" -#: settings/serializers/msg.py:62 +#: settings/serializers/msg.py:69 msgid "" "Tips: When creating a user, send the subject of the email (eg:Create account " "successfully)" msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" -#: settings/serializers/msg.py:66 +#: settings/serializers/msg.py:73 msgid "Create user honorific" msgstr "邮件问候语" -#: settings/serializers/msg.py:67 +#: settings/serializers/msg.py:74 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 你好)" -#: settings/serializers/msg.py:71 +#: settings/serializers/msg.py:78 msgid "Create user email content" msgstr "邮件的内容" -#: settings/serializers/msg.py:73 +#: settings/serializers/msg.py:80 #, python-brace-format msgid "" "Tips: When creating a user, send the content of the email, support " @@ -5659,7 +5697,7 @@ msgid "" msgstr "" "提示: 创建用户时,发送设置密码邮件的内容, 支持 {username} {name} {email} 标签" -#: settings/serializers/msg.py:77 +#: settings/serializers/msg.py:84 msgid "Tips: Email signature (eg:jumpserver)" msgstr "邮件署名 (如:jumpserver)" @@ -6370,7 +6408,9 @@ msgid "Secure session sharing settings is disabled" msgstr "未开启会话共享" #: terminal/apps.py:9 -msgid "Terminals" +#, fuzzy +#| msgid "Terminals" +msgid "App Terminals" msgstr "终端管理" #: terminal/backends/command/models.py:19 @@ -7212,7 +7252,9 @@ msgid "Applicant" msgstr "申请人" #: tickets/apps.py:7 -msgid "Tickets" +#, fuzzy +#| msgid "Tickets" +msgid "App Tickets" msgstr "工单管理" #: tickets/const.py:9 @@ -7552,6 +7594,12 @@ msgstr "不能邀请自己" msgid "Could not reset self otp, use profile reset instead" msgstr "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置" +#: users/apps.py:9 +#, fuzzy +#| msgid "App assets" +msgid "App Users" +msgstr "资产管理" + #: users/const.py:10 msgid "System administrator" msgstr "系统管理员" @@ -7696,7 +7744,7 @@ msgstr "用户设置" msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:812 users/serializers/user.py:169 +#: users/models/user.py:812 users/serializers/user.py:172 msgid "Is service account" msgstr "服务账号" @@ -7719,7 +7767,7 @@ msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" #: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:166 +#: users/serializers/user.py:169 msgid "Is first login" msgstr "首次登录" @@ -7909,7 +7957,7 @@ msgstr "强制 MFA" msgid "Login blocked" msgstr "登录被锁定" -#: users/serializers/user.py:99 users/serializers/user.py:175 +#: users/serializers/user.py:99 users/serializers/user.py:178 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" @@ -7917,27 +7965,31 @@ msgstr "是否绑定了虚拟 MFA" msgid "Can public key authentication" msgstr "可以使用公钥认证" -#: users/serializers/user.py:170 +#: users/serializers/user.py:166 +msgid "Groups" +msgstr "" + +#: users/serializers/user.py:173 msgid "Is org admin" msgstr "组织管理员" -#: users/serializers/user.py:172 +#: users/serializers/user.py:175 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:176 +#: users/serializers/user.py:179 msgid "MFA level" msgstr "MFA 级别" -#: users/serializers/user.py:287 +#: users/serializers/user.py:290 msgid "Select users" msgstr "选择用户" -#: users/serializers/user.py:288 +#: users/serializers/user.py:291 msgid "For security, only list several users" msgstr "为了安全,仅列出几个用户" -#: users/serializers/user.py:321 +#: users/serializers/user.py:324 msgid "name not unique" msgstr "名称重复" @@ -8193,7 +8245,7 @@ msgstr "MFA(OTP) 禁用成功,返回登录页面" msgid "Password invalid" msgstr "用户名或密码无效" -#: users/views/profile/reset.py:64 +#: users/views/profile/reset.py:65 msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -8915,6 +8967,18 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Applications" +#~ msgstr "应用管理" + +#~ msgid "SMTP port" +#~ msgstr "SMTP 端口" + +#~ msgid "SMTP account" +#~ msgstr "SMTP 账号" + +#~ msgid "SMTP password" +#~ msgstr "SMTP 密码" + #~ msgid "Password can not contains `{{` or `}}`" #~ msgstr "密码不能包含 `{{` 或 `}}` 字符" diff --git a/apps/locale/core/zh/LC_MESSAGES/djangojs.mo b/apps/i18n/core/zh/LC_MESSAGES/djangojs.mo similarity index 100% rename from apps/locale/core/zh/LC_MESSAGES/djangojs.mo rename to apps/i18n/core/zh/LC_MESSAGES/djangojs.mo diff --git a/apps/locale/core/zh/LC_MESSAGES/djangojs.po b/apps/i18n/core/zh/LC_MESSAGES/djangojs.po similarity index 100% rename from apps/locale/core/zh/LC_MESSAGES/djangojs.po rename to apps/i18n/core/zh/LC_MESSAGES/djangojs.po diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json new file mode 100644 index 000000000..9470bc2e0 --- /dev/null +++ b/apps/i18n/lina/en.json @@ -0,0 +1,1846 @@ +{ + "APIKey": "API Key", + "AWSChina": "AWS(China)", + "AWSInt": "AWS (International)", + "About": "About", + "Accept": "Agree", + "AccessIP": "IP Whitelist", + "AccessKey": "Access Key", + "Account": "Account Information", + "AccountBackup": "Account Backup", + "AccountBackupCreate": "Create Account Backup", + "AccountBackupUpdate": "Update Account Backup", + "AccountChangeSecret": "Account Password Change", + "AccountCreate": "Create Account", + "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", + "AccountDetail": "Account Details", + "AccountEnabled": "Enable Account Switch", + "AccountExportTips": "The export information includes the ciphertext of the account and contains sensitive information. The format of the export is an encrypted zip file (if no encryption password has been set, please go to personal information to set the file encryption password).", + "AccountGather": "Account Collection", + "AccountGatherList": "Collection task", + "AccountGatherTaskCreate": "Create Task", + "AccountGatherTaskExecutionList": "Task Execution List", + "AccountGatherTaskList": "Account Collection", + "AccountGatherTaskUpdate": "Update Action", + "AccountHelpText": "Cloud account is used to connect to the cloud service provider's account to obtain resource information from the cloud service provider", + "AccountHistoryHelpMessage": "Record Current Account History Versions", + "AccountKey": "Account Key", + "AccountList": "Cloud Account", + "AccountName": "Account Name", + "AccountPolicy": "Account Strategy", + "AccountPushCreate": "Account Push Create", + "AccountPushExecutionList": "Execution List", + "AccountPushList": "Account Push", + "AccountPushUpdate": "Account Push Update", + "AccountStorage": "Account Storage", + "AccountTemplate": "Account Template", + "AccountTemplateUpdateSecretHelpText": "Account list displays accounts created through the template. When updating the ciphertext, it will also update the ciphertext of accounts created through the template.", + "AccountUpdate": "Update Account", + "AccountUsername": "Account (Username)", + "Accounts": "Account", + "AccountsHelp": "All Accounts: All accounts added on the asset;
Specified Account: The username of the designated account under the asset;
Manual Account: Manually enter username and password during login;
Same Name Account: Account with the same username as the authorized person;", + "Acl": "Access control", + "Acls": "Access Control", + "Action": "Action", + "ActionCount": "Action Count", + "ActionSetting": "Action Setting", + "Actions": "Action", + "ActionsTips": "The functions of each permission's protocol differ. Click the icon behind the permission to view.", + "Activate": "Activate", + "ActivateSuccessMsg": "Activation Success", + "Active": "Activating", + "ActiveAsset": "Recently Logged In", + "ActiveAssetRanking": "Login Asset Ranking", + "ActiveSelected": "Activate Selected", + "ActiveUser": "Logged in Recently", + "ActiveUserAssetsRatioTitle": "Percentage Statistics", + "Activity": "Action", + "AdDomain": "AD Domain Name", + "AdDomainHelpText": "AD Domain Name provided for Domain User Login", + "Add": "Add", + "AddAccount": "Add Account", + "AddAccountResult": "Account Batch Addition Results", + "AddAllMembersWarningMsg": "Are you sure you want to add all members?", + "AddAsset": "Add Assets", + "AddAssetToNode": "Add Assets to Node", + "AddAssetToThisPermission": "Add Asset", + "AddDatabaseAppToThisPermission": "Add Database Application", + "AddFailMsg": "Addition Failed", + "AddK8sAppToThisPermission": "Add Kubernetes Application", + "AddNode": "Add node", + "AddNodeToThisPermission": "Add Node", + "AddOrgMembers": "Add organization member", + "AddPassKey": "Add Passkey", + "AddRemoteAppToThisPermission": "Add Remote App", + "AddRolePermissions": "Add Permissions in Details After Successful Creation/Update", + "AddSuccessMsg": "Successfully Added", + "AddSystemUser": "Add System User", + "AddSystemUserToThisPermission": "Add System User", + "AddUserGroupToThisPermission": "Add User Group", + "AddUserToThisPermission": "Add User", + "Address": "Address", + "Addressee": "Recipient", + "AdhocDetail": "Command Details", + "AdhocManage": "Action Management", + "AdhocUpdate": "Update Command", + "Admin": "Administrator", + "AdminUser": "Privileged User", + "AdminUserCreate": "Create Management User", + "AdminUserDetail": "User Details", + "AdminUserList": "User", + "AdminUserListHelpMessage": "Privileged Users exist already in the system, and they possess advanced system rights, such as root or those with `NOPASSWD: ALL` sudo permissions. JumpServer uses this user to `push system users`, `retrieve asset hardware information`, etc.", + "AdminUserUpdate": "Update User Management", + "Admin_usersAmount": "Privileged User", + "Advanced": "Advanced Settings", + "AfterChange": "Change Afterwards", + "AjaxError404": "404 Request Error", + "AlibabaCloud": "Alibaba Cloud", + "Alive": "Online", + "Aliyun": "Aliyun", + "All": "All", + "AllAccountTip": "All Accounts Added to the Asset", + "AllAccounts": "All Accounts", + "AllClickRead": "All Read", + "AllMembers": "All Members", + "AllOrganization": "Organization List", + "AllowInvalidCert": "Ignore Certificate Check", + "Announcement": "Announcement", + "AnonymousAccount": "Anonymous Account", + "AnonymousAccountTip": "When connecting to assets, do not use username and password, only supports web type and custom type assets", + "ApiKey": "API Key", + "ApiKeyList": "Use an API key to sign the request header for authentication, each request has a unique header, this method is more secure than the Token method, please refer to the documentation for use; \nTo minimize the risk of leakage, secrets are only visible when generated, and each user can support the creation of up to 10", + "ApiKeyWarning": "To reduce the risk of AccessKey leakage, a Secret is provided only at creation and cannot be queried afterwards. Please save it carefully.", + "App": "Application", + "AppAmount": "Number of Applications", + "AppAuth": "App Authentication", + "AppEndpoint": "Application Access Address", + "AppList": "App List", + "AppName": "Application Name", + "AppOps": "Task Center", + "AppPath": "Application Path", + "AppProvider": "Application Provider", + "AppProviderDetail": "Application Provider Details", + "AppType": "Application Type", + "App_permsAmount": "Application Authorization", + "AppletCreate": "Create Remote Application", + "AppletDetail": "Remote Application", + "AppletHelpText": "In the upload process, if the application does not exist, the application is created; if it exists, the application is updated.", + "AppletHostCreate": "Add Remote Application Server", + "AppletHostDetail": "Details of Remote Application Release Machine", + "AppletHostDomainHelpText": "The net domain here belongs to the System organization", + "AppletHostSelectHelpMessage": "When connecting assets, the app publishing machine selection is random (but prioritizes the last one used). If you want to fix a publishing machine for an asset, you can specify the tag or ;
When selecting an account to connect to this publisher, the following situations will select the user's identically-named account or proprietary account (starts with js), otherwise the public account (starts with jms) will be used:
  1. Both the publisher and the app support concurrency;
  2. The publisher supports concurrency, the app does not support concurrency, and the current app does not use a proprietary account;
  3. The publisher does not support concurrency, the app supports or does not support concurrency, and no app uses a proprietary account;
Note: Whether the app supports concurrency is decided by the developer, and whether the host supports it is determined by the publisher configuration's single user single session", + "AppletHostUpdate": "Update Remote Application Release Machine", + "AppletHosts": "App Publishing Machine", + "Applets": "Remote App", + "Applicant": "Applicant", + "Application": "Please input comma-separated application names", + "ApplicationAccount": "App Account", + "ApplicationDetail": "Application Details", + "ApplicationPermission": "App Authorization", + "ApplicationPermissionCreate": "Create App Authorization Rule", + "ApplicationPermissionDetail": "Application Authorization Details", + "ApplicationPermissionRules": "Application Authorization Rules", + "ApplicationPermissionUpdate": "Update App Authorization Rules", + "Applications": "App Action", + "ApplicationsAmount": "Application", + "ApplyAsset": "Apply for assets", + "ApplyFromCMDFilterRule": "Command Filter Rules", + "ApplyFromSession": "Session", + "ApplyInfo": "Application Information", + "ApplyRunAsset": "Assets applying for operation", + "ApplyRunCommand": "Commands to Run", + "ApplyRunSystemUser": "Applied for System User", + "ApplyRunUser": "The user who applies to run", + "Apply_loginAccount": "Applied Login Account", + "Apply_loginAsset": "Apply for Asset Login", + "Apply_loginUser": "Application Login User", + "Apply_login_systemUser": "Apply to Login System User", + "Appoint": "Specify", + "ApprovaLevel": "Approval Information", + "ApprovalLevel": "Approval Level", + "ApprovalProcess": "Approval Process", + "Approved": "Agreed", + "ApproverNumbers": "Number of Approver", + "AppsCount": "Application Quantity", + "AppsList": "Application list", + "ApsaraStack": "Alibaba Cloud Private Cloud", + "Asset": "Assets", + "AssetAccount": "Account List", + "AssetAccountDetail": "Account Details", + "AssetAclCreate": "Create Asset Login Rule", + "AssetAclDetail": "Asset Login Rule Details", + "AssetAclList": "Asset Login", + "AssetAclUpdate": "Update Asset Login Rules", + "AssetAddress": "Asset (IP/Hostname)", + "AssetAmount": "Number of Assets", + "AssetAndNode": "Assets/Nodes", + "AssetBulkUpdateTips": "Network devices, cloud services, web, bulk domain updates not supported", + "AssetChangeSecretCreate": "Create Account Password Change", + "AssetChangeSecretUpdate": "Update Account Password", + "AssetCount": "Asset Quantity", + "AssetCreate": "Create Asset", + "AssetData": "Asset Data", + "AssetDetail": "Asset Details", + "AssetHistoryAccount": "Asset History Account", + "AssetList": "Asset List", + "AssetListHelpMessage": "The assets tree is on the left, right-click to create, delete, change the tree node, assets authorization is also organized in a node way, the assets on the right are the ones under the node\n", + "AssetLoginACLHelpMsg": "When logging in to assets, auditing can be performed based on the user's login IP and time period to determine whether they can log in to the assets", + "AssetName": "Asset Name", + "AssetNumber": "Asset Number", + "AssetPermission": "Asset Authorization", + "AssetPermissionCreate": "Create Asset Authorization Rules", + "AssetPermissionDetail": "Asset Authorization Details", + "AssetPermissionHelpMsg": "Asset authorization allows you to choose users and assets to authorize assets to users for convenient access. Once authorized, users can easily browse these assets. In addition, you can set specific privilege bits to further define the scope of a user’s authority over assets.", + "AssetPermissionList": "Asset Authorization List", + "AssetPermissionRules": "Asset Authorization Rules", + "AssetPermissionUpdate": "Update Asset Authorization Rules", + "AssetProtocolHelpText": "The protocols supported by the asset are limited by the platform. You can view the settings of the protocol by clicking the settings button. If an update is needed, please update the platform", + "AssetRatio": "Asset Proportion Statistics", + "AssetResultDetail": "Asset results", + "AssetTree": "Asset Tree", + "AssetUpdate": "Update Assets", + "AssetUserList": "Asset User", + "Asset_ipGroup": "Asset IP", + "Asset_permsAmount": "Asset authorization", + "Assets": "Asset Management", + "AssetsAmount": "Assets", + "AssetsTotal": "Total Number of Assets", + "AssignedInfo": "Approval Information", + "AssignedMe": "Pending My Approval", + "AssignedTicketList": "Waiting for My Approval", + "Assignee": "Action Taker", + "Assignees": "Person to be Addressed", + "AssociateApplication": "Associated Applications", + "AssociateAssets": "Associated Assets", + "AssociateNodes": "Associated Nodes", + "AssociateSystemUsers": "Link System User", + "AttrName": "Attribute name", + "AttrValue": "Attribute Value", + "Auditor": "Auditor", + "Audits": "Audit Console", + "Auth": "Authentication Settings", + "AuthCASAttrMap": "User Attribute Mapping", + "AuthLdap": "Enable LDAP Authentication", + "AuthLdapBindDn": "Bind DN", + "AuthLdapBindPassword": "Password", + "AuthLdapSearchFilter": "The possible options are (cn or uid or sAMAccountName=%(user)s)", + "AuthLdapSearchOu": "Use | to separate each OU", + "AuthLdapServerUri": "LDAP Address", + "AuthLdapUserAttrMap": "User attribute mapping represents how to map LDAP user attributes to JumpServer users. Username, name, email are the properties of JumpServer", + "AuthLimit": "Login Restrictions", + "AuthMethod": "Authentication Method", + "AuthSAML2AdvancedSettings": "Advanced Configuration", + "AuthSAML2MetadataUrl": "IDP Metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "Save after upload of certificate key, then check SP Metadata", + "AuthSAMLKeyHelpText": "SP Certificates and Keys are used for encrypted communication with IDP", + "AuthSaml2UserAttrMapHelpText": "Left keys are SAML2 user attributes, the values on the right are authentication platform user attributes", + "AuthSecurity": "Certification Security", + "AuthSetting": "Authentication Settings", + "AuthSettings": "Authentication Configuration", + "AuthUserAttrMap": "User Attribute Mapping", + "AuthUserAttrMapHelpText": "The Key on the Left is the JumpServer User Attribute, and the Value on the Right is the Authentication Platform User Attribute", + "AuthUsername": "Use Username Authentication", + "Authentication": "Authentication", + "Author": "Author", + "Auto": "Automatic", + "AutoCreate": "Auto Create", + "AutoEnabled": "Enable Automation", + "AutoGenerateKey": "Randomly Generated Password", + "AutoPush": "Auto Push", + "Automations": "Automation", + "AverageTimeCost": "Average Time Spent", + "Azure": "Azure (China)", + "AzureInt": "Azure(International)", + "Backup": "Backup", + "BadConflictErrorMsg": "Refreshing, please try again later", + "BadRequestErrorMsg": "Request Error, Please Check Input Content", + "BadRoleErrorMsg": "Request error, no permission for this Action", + "BaiduCloud": "Baidu Cloud", + "BasePlatform": "Basic Platform", + "BasePort": "Listening Port", + "Basic": "Basic Settings", + "BasicInfo": "Basic Information", + "BasicSetting": "Basic Settings", + "BasicTools": "Basic Tools", + "BatchActivate": "Bulk Activation", + "BatchApproval": "Bulk Approval", + "BatchCommand": "Batch Command", + "BatchCommandNotExecuted": "Batch commands not executed", + "BatchConsent": "Bulk Agree", + "BatchDelete": "Batch Delete", + "BatchDisable": "Batch Disable", + "BatchProcessing": "Bulk Handling (Selected {Number} Items)", + "BatchReject": "Reject in Bulk", + "BatchRemoval": "Batch Removal", + "BatchScript": "Bulk Scripts", + "BatchUpdate": "Bulk Update", + "Become": "Become", + "BeforeChange": "Before Changes", + "Beian": "Record", + "BelongAll": "Contains both", + "BelongTo": "Please Include", + "Bind": "Bind", + "BindLabel": "Associated Tags", + "BindResource": "Related Resources", + "BindSuccess": "Successfully Bound", + "BlockedIPS": "Locked IPs", + "Bucket": "Bucket Name", + "Builtin": "Built-In", + "BuiltinTree": "Type Tree", + "BuiltinVariable": "Built-in Variables", + "BulkClearErrorMsg": "Bulk Clearing Failed:", + "BulkCreateStrategy": "During creation, for accounts that do not meet requirements, such as: non-compliant key types, unique key constraints, you may choose the above strategies.", + "BulkDeleteErrorMsg": "Bulk Deletion Failed:", + "BulkDeleteSuccessMsg": "Bulk deletion successful", + "BulkDeploy": "Bulk Deployment", + "BulkOffline": "Batch Offline", + "BulkRemoveErrorMsg": "Failed to remove in bulk:", + "BulkRemoveSuccessMsg": "Bulk Removal Successful", + "BulkSyncDelete": "Batch Sync Delete", + "BulkSyncErrorMsg": "Batch Sync Failed: ", + "BulkTransfer": "Bulk Transfers", + "BulkUnblock": "Batch Unlock", + "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset matches the selected platform type will update, if the platform types before and after update are different, it will not be updated.", + "CACertificate": "CA Certificate", + "CAS": "CAS", + "CASSetting": "CAS Configuration", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "Tianyi Private Cloud", + "CalculationResults": "cron Expression Error", + "CanDragSelect": "Draggable time range selection", + "Cancel": "Cancel", + "CancelCollection": "Cancel Favorites", + "CannotAccess": "Unable to Access Current Page", + "Cas": "CAS Settings", + "Category": "Category", + "CeleryTaskLog": "Celery Task Log", + "Certificate": "Certificate", + "CertificateKey": "Client Key", + "ChangeField": "Change Field", + "ChangePassword": "Change Password", + "ChangeReceiver": "Edit Message Recipient", + "ChangeSecretParams": "Password Change Parameters", + "ChangeViewHelpText": "Click to Switch Views", + "Charset": "Charset", + "Chat": "Chat", + "ChatAI": "Smart Q&A", + "ChatHello": "Hello! What can I assist you with?", + "ChdirHelpText": "The default execution directory is the execution user's home directory", + "CheckAssetsAmount": "Check asset quantity", + "CheckViewAcceptor": "Click to View the Handler", + "ChinaRed": "China Red", + "Chrome": "Chrome", + "ChromePassword": "Login Password", + "ChromeTarget": "Target URL", + "ChromeUsername": "Login Account", + "ClassicGreen": "Classic Green", + "CleanHelpText": "Regular cleanup tasks will be performed at 2 a.m. every day, and the cleaned data cannot be restored", + "Cleaning": "Regular Clean up", + "Clear": "Clear", + "ClearScreen": "Clear Screen", + "ClearSecret": "Clear Ciphertext", + "ClearSelection": "Clear Selection", + "ClearSuccessMsg": "Clear Successfully", + "ClickCopy": "Click to Copy", + "Clickhouse": "ClickHouse", + "ClientCertificate": "Client Certificate", + "ClipBoard": "Clipboard", + "ClipboardCopy": " Clipboard Copy", + "ClipboardCopyPaste": "Clipboard Copy and Paste", + "ClipboardPaste": "Clipboard Pasting", + "Clone": "Clone", + "CloneFrom": "Replica", + "Close": "Close", + "CloseConfirm": "Confirm Closure", + "CloseConfirmMessage": "File has changed, save?", + "CloseStatus": "Completed", + "Closed": "Completed", + "Cloud": "Cloud Application", + "CloudCenter": "Cloud Action Center", + "CloudCreate": "Create Assets-Cloud Platform", + "CloudPlatform": "Cloud platform", + "CloudSource": "Synchronization source", + "CloudSync": "Cloud Sync", + "CloudUpdate": "Update Assets - Cloud Platform", + "Clouds": "Cloud Platform", + "Cluster": "Cluster", + "ClusterHelpTextMessage": "For example: https://172.16.8.8:8443", + "CmdFilter": "Command Filter", + "CollapseSidebar": "Collapse Sidebar", + "CollectHardwareInfo": "Enable Hardware Information Collection", + "CollectionSucceed": "Collection Successful", + "Command": "Command", + "Command filter": "Command Filter", + "CommandConfirm": "Command Review", + "CommandExecutions": "Command Execution", + "CommandFilterACL": "Command Filtering", + "CommandFilterACLHelpMsg": "Through command filtering, you can control whether commands can be sent to the asset. Based on your set rules, some commands can be allowed while others are prohibited.", + "CommandFilterAclCreate": "Create Command Filtering Rule", + "CommandFilterAclDetail": "Command Filter Rule Details", + "CommandFilterAclList": "Command Filtering", + "CommandFilterAclUpdate": "Update Command Filter Rules", + "CommandFilterCreate": "Create Command Filter", + "CommandFilterDetail": "Command Filter Details", + "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; Multiple rules can be configured in the filter, and the commands entered when using this system user to connect to the assets take effect in accordance with the rules configured in the filter.
Ex: If the first matched rule is \"Allow\", then this command is executed, if the first matched rule is \"Disallow\", then the command is not executed; if no rules are matched in the end, then it is allowed to proceed.", + "CommandFilterList": "Command Filter Rules", + "CommandFilterRuleContentHelpText": "One command per line", + "CommandFilterRulePriorityHelpText": "Priority range is 1-100, 1 is the lowest priority, 100 is the highest", + "CommandFilterRules": "Command Filter Rules", + "CommandFilterRulesCreate": "Create Command Filter Rule", + "CommandFilterRulesUpdate": "Update Command Filter Rules", + "CommandFilterUpdate": "Update Command Filter", + "CommandGroup": "Command Group", + "CommandGroupCreate": "Create Command Group", + "CommandGroupDetail": "Command Group Details", + "CommandGroupList": "Command Group", + "CommandGroupUpdate": "Update Command Group", + "CommandStorage": "Command Storage", + "CommandStorageUpdate": "Update Command Storage", + "Command_filterList": "Command Filter List", + "Commands": "Command log", + "Comment": "Comment", + "CommentHelpText": "Note: The remarks information will be displayed on hover in the user authorized asset tree on the Luna page, and ordinary users can view it, please do not fill in sensitive information.", + "Common": "Regular", + "CommonUser": "Ordinary User", + "CommunityEdition": "Community Edition", + "Component": "Component", + "ComponentMonitor": "Component Monitoring", + "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any interpretation. Apart from the output of the code, do not respond with anything else.", + "ConceptTitle": "🤔 Python Interpreter", + "Config": "Configuration", + "Confirm": "Confirm", + "ConfirmPassword": "Confirm Password", + "Connect": "Connect", + "ConnectMethod": "Connection Method", + "ConnectMethodACLHelpMsg": "By filtering through connection methods, you can control whether users can use specific connection methods to log into assets. Based on your established rules, some connection methods could be allowed, while others are prohibited (global effect).'", + "ConnectMethodAclCreate": "Create Connection Mode Control", + "ConnectMethodAclDetail": "Connection Mode Control Details", + "ConnectMethodAclList": "Connect Method", + "ConnectMethodAclUpdate": "Update Connection Control", + "ConnectUsers": "Connect Account", + "ConnectWebSocketError": "WebSocket Connection Failed", + "ConnectionDropped": "Connection Disconnected", + "ConnectionToken": "Connection Token", + "ConnectionTokenList": "A Connection Token is an authentication information that combines identity verification and asset connection, it enables user to log in to assets with one click. The current supported components include: KoKo, Lion, Magnus, Razor, etc", + "Connectivity": "Can Connect", + "Console": "Console", + "Consult": "Inquire", + "ContainAttachment": "With Attachment", + "ContainerName": "Container Name", + "Containers": "Container", + "Contains": "Includes", + "Content": "Content", + "Contents": "Content", + "Continue": "Continue", + "ContinueImport": "Continue Import", + "ConvenientOperate": "Easy Operation", + "Copy": "Copy", + "CopySuccess": "Copy Successful", + "Corporation": "Company", + "Correlation": "Associate", + "Cpu": "CPU", + "Create": "Create", + "CreateAccessKey": "Create Access Key", + "CreateAccountTemplate": "Create Account Template", + "CreateAdhoc": "Create Command", + "CreateBy": "Creator", + "CreateCommandStorage": "Create Command Storage", + "CreateEndpoint": "Create Endpoint", + "CreateEndpointRule": "Create Endpoint Rules", + "CreateErrorMsg": "Creation Failed", + "CreateNode": "Create Node", + "CreateOrgMsg": "Please add users in the organization details", + "CreatePlaybook": "Create Playbook", + "CreateReplayStorage": "Create Object Storage", + "CreateSuccessMsg": "Import Successful, Total: {count}", + "CreateUserSetting": "Create User Content", + "Created": "Created", + "CreatedBy": "Creator", + "CriticalLoad": "Severe", + "CronExpression": "Crontab Full Expression", + "CrontabHelpTips": "eg:Execute every Sunday at 03:05 <5 3 * * 0>
Reminder: Use the 5-digit Linux crontab expression (Online tool)
Note: If both regular execution and cyclic execution are set, priority will be given to regular execution", + "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expression (Online Tool)
If both regular and cyclic execution are set, regular execution is prioritized", + "CurrentConnections": "Current Connection Count", + "CurrentUserVerify": "Validate Current User", + "Custom": "Customize", + "CustomCmdline": "Operating Parameters", + "CustomCol": "Customize List Field", + "CustomCreate": "Create Asset - Custom", + "CustomFields": "Custom Attributes", + "CustomFile": "Please place your custom files in the specified directory (data/sms/main.py), and activate the configuration item SMS_CUSTOM_FILE_MD5= in config.txt", + "CustomHelpMessage": "Custom type assets, dependent on remote apps, please go to system settings to configure in remote apps", + "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the parameters to be formatted by JumpServer, finally as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", + "CustomPassword": "Login Password", + "CustomTarget": "Target Address", + "CustomTree": "Custom Tree", + "CustomType": "Custom Types", + "CustomUpdate": "Update Assets - Customization", + "CustomUser": "Custom User", + "CustomUsername": "Login Account", + "CycleFromWeek": "Starting Day of the Cycle", + "CyclePerform": "Periodic Execution", + "DBInfo": "Database Info", + "DangerCommand": "Dangerous Command", + "DangerousCommandNum": "Dangerous Command Count", + "Dashboard": "Dashboard", + "Database": "Database", + "DatabaseApp": "Database Application", + "DatabaseAppCount": "Database Application Number", + "DatabaseAppCreate": "Create Database Application", + "DatabaseAppDetail": "Database Details", + "DatabaseAppPermission": "Database Authorization", + "DatabaseAppPermissionCreate": "Create Database Authorization Rule", + "DatabaseAppPermissionDetail": "Database Authorization Details", + "DatabaseAppPermissionUpdate": "Update Database Authorization Rules", + "DatabaseAppUpdate": "Database App Update", + "DatabaseCreate": "Create Asset-Database", + "DatabaseId": "Database ID", + "DatabasePermissionRules": "Database Authorization Rules", + "DatabasePort": "Database Protocol Port", + "DatabaseProtocol": "Database Protocol", + "DatabaseUpdate": "Update Assets-Database", + "Date": "Date", + "DateCreated": "Creation Time", + "DateEnd": "End date", + "DateExpired": "Expiration Date", + "DateFinished": "Completion Date", + "DateJoined": "Creation Date", + "DateLast24Hours": "Past Day", + "DateLast3Months": "Past Three Months", + "DateLastHarfYear": "Last Six Months", + "DateLastLogin": "Last Login Date", + "DateLastMonth": "Last Month", + "DateLastRun": "Last Run Date", + "DateLastSync": "Last Sync Date", + "DateLastWeek": "Last Week", + "DateLastYear": "Past Year", + "DatePasswordLastUpdated": "Last Password Update Date", + "DatePasswordUpdated": "Password Update Date", + "DateStart": "Start Date", + "DateSync": "Sync Date", + "DateUpdated": "Update Date", + "Datetime": "Date", + "Day": "Day", + "Db": "Database Applications", + "DeactiveSelected": "Disable Selected", + "DeclassificationLogNum": "Password Change Log number", + "Default": "Default", + "DefaultDatabase": "Default Database", + "DefaultPort": "Default Port", + "DefaultProtocol": "Default protocol, will be chosen when adding assets", + "Defaults": "Default Value", + "Delete": "Delete", + "DeleteConfirmMessage": "Cannot be recovered after deletion, do you want to continue?", + "DeleteErrorMsg": "Delete Failed", + "DeleteFailedMsg": "Failed to Delete", + "DeleteFile": "Delete File", + "DeleteNode": "Delete Node", + "DeleteOrgMsg": "User List, User Groups, Asset Lists, Domain Lists, User Management, System Users, Tag Management, Asset Authorization Rules", + "DeleteOrgTitle": "Please ensure the following information in the organization has been deleted", + "DeleteReleasedAssets": "Delete Released Assets", + "DeleteSuccess": "Delete Successfully", + "DeleteSuccessMsg": "Delete Successfully", + "DeleteWarningMsg": "Are you sure you want to delete", + "DeliveryTime": "Sending Time", + "Deploy": "Deployment", + "DescribeOfGuide": "Welcome to use JumpServer Bastion System, for more information please click", + "Description": "Description", + "DestinationIP": "Destination Address", + "DestinationPort": "Destination Port", + "Detail": "Details", + "Device": "Network Devices", + "DeviceCreate": "Create Asset - Network Device", + "DeviceUpdate": "Update Assets-Network Equipment", + "Digit": "Number", + "DingTalk": "DingTalk", + "DingTalkTest": "Test", + "Disable": "Disable", + "DisableSuccessMsg": "Deactivation Successful", + "DisabledAsset": "Disabled", + "DisabledUser": "Disabled", + "Disk": "Hard Disk", + "DisplayName": "Name", + "DocType": "Document Type", + "Docs": "Documents", + "Domain": "Network Domain", + "DomainCreate": "Create Domain", + "DomainDetail": "Network Field Details", + "DomainEnabled": "Enable Domain", + "DomainHelpMessage": "The domain function is added to solve the problem that some environments (such as: hybrid cloud) cannot directly connect, and the principle is to log in through the gateway server. JMS => Domain Gateway => target asset", + "DomainList": "Domain list", + "DomainUpdate": "Update Domain", + "Download": "Download", + "DownloadCenter": "Download Center", + "DownloadFTPFileTip": "Current Action does not record files, or file size exceeds the threshold (default 100M), or has not yet been saved to the corresponding storage", + "DownloadFile": "Download File", + "DownloadImportTemplateMsg": "Download Creation Template", + "DownloadReplay": "Download Recording", + "DownloadUpdateTemplateMsg": "Download Update Template", + "DragUploadFileInfo": "Drag files here or click to upload", + "DryRun": "Test Run", + "DuplicateFileExists": "Uploading files with the same name is not permitted, please delete the files with the same name", + "Duration": "Duration", + "DynamicUsername": "Dynamic Username", + "Edit": "Edit", + "Edition": "Version", + "Email": "Email", + "EmailContent": "Email Content Customization", + "EmailCustomUserCreatedBody": "Hint: Content of password setting email when creating a user", + "EmailCustomUserCreatedHonorific": "Note: When creating a user, send a set password email salutation (For example: Hello)", + "EmailCustomUserCreatedSignature": "Note: Email signature (for example: jumpserver)", + "EmailCustomUserCreatedSubject": "Note: When Creating a User, The Subject of the Password Setup Email (e.g.: User Creation Successful)", + "EmailEmailFrom": "", + "EmailHost": "SMTP Host", + "EmailHostPassword": "Note: Some email providers may require a token.", + "EmailHostUser": "SMTP Account", + "EmailPort": "SMTP Port", + "EmailRecipient": "Note: Only to be used as a test email recipient", + "EmailSubjectPrefix": "Tip: Some keywords may be blocked by the email service provider, such as JumpServer", + "EmailTest": "Test Connection", + "EmailUserSSL": "If the SMTP port is 465, SSL usually needs to be enabled", + "EmailUserTLS": "If the SMTP port is 587, enabling TLS is usually necessary", + "Empty": "Empty", + "Enable": "Enable", + "EnableKoKoSSHHelpText": "Upon launch, the connection to assets will display the SSH Client Start Method", + "EnableOAuth2Auth": "Enable OAuth2 Authentication", + "EnableVaultStorage": "Open Vault Storage", + "EndPoint": "Endpoint", + "Endpoint": "Server Endpoint", + "EndpointListHelpMessage": "The service endpoint is the address (port) that users access the service. When users connect to the asset, they will select the service endpoint according to the endpoint rules and asset labels, and establish a connection as an access entrance, Realize distributed connection assets", + "EndpointRule": "Endpoint Rules", + "EndpointRuleListHelpMessage": "For the endpoint selection strategy, there are currently two options supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through asset tags, the tag name is fixed as 'endpoint', and the value is the endpoint name.
Both methods prefer to use the tag match, because IP segments may conflict, and the tag method is designed to supplement the rules.", + "EndpointSuffix": "Endpoint Suffix", + "Endswith": "End with...", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Please ensure that this value is greater than or equal to 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "Please ensure that this value is greater than or equal to 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "Please ensure that this value is greater than or equal to 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure That the Value Is Greater Than or Equal to 6", + "EnterForSearch": "Press Enter to search", + "EnterMessage": "Please enter the problem, press Enter to send", + "EnterRunUser": "Enter Operating User", + "EnterRunningPath": "Enter Runtime Path", + "EnterToContinue": "Press Enter to Continue Typing", + "EnterUploadPath": "Enter Upload Path", + "Enterprise": "Enterprise Version", + "EnterpriseEdition": "Enterprise Edition", + "Equal": "Equal To", + "Error": "Error", + "ErrorMsg": "Error", + "EsDisabled": "Node Unavailable, Please Contact Administrator", + "EsDocType": "es Default Document Type: command", + "EsIndex": "The default index is provided: jumpserver. If enabling index creation by date, the entered value will be used as the index prefix", + "EsUrl": "Cannot contain special character `#`; eg: http://es_user:es_password@es_host:es_port", + "Every": "Each", + "EveryMonth": "Monthly", + "Exclude": "Excludes", + "ExcludeAsset": "Skipped Assets", + "ExcludeSymbol": "Exclude Characters", + "Execute": "Execute", + "ExecuteCycle": "Execution Cycle", + "ExecuteFailedCommand": "Failed Command", + "ExecuteOnce": "Execute Once", + "Execution": "Execution History", + "ExecutionDetail": "Execution History Details", + "ExecutionList": "Action List", + "ExecutionTimes": "Number of Executions", + "ExistError": "This element already exists", + "Existing": "Already Exists", + "ExpectedNextExecuteTime": "Estimated Next Execution Time", + "ExpirationTimeout": "Expiration Timeout (Seconds)", + "Expire": "Expired", + "Expired": "Expiration Time", + "Export": "Export", + "ExportAll": "Export All", + "ExportOnlyFiltered": "Export Search Results Only", + "ExportOnlySelectedItems": "Export Selected Items Only", + "ExportRange": "Export Range", + "FAILURE": "Fail", + "FC": "Fusion Compute", + "Failed": "Failed", + "FailedAsset": "Failed assets", + "FailedConditions": "No Results Meeting the Criteria!", + "False": "No", + "Favicon": "Website Icon", + "FaviconTip": "Tip: Website Icon (Recommended picture size: 16px*16px)", + "Feature": "Function", + "Features": "Function Settings", + "FeiShu": "Feishu", + "FeiShuTest": "Test", + "FieldRequiredError": "This Field is Required", + "FileEncryptionPassword": "File Encryption Password", + "FileManager": "File", + "FileNameTooLong": "Filename is too long", + "FileSizeExceedsLimit": "File size exceeds limit", + "FileTransfer": "File Transfer", + "FileTransferNum": "File Transfer Count", + "FileType": "File Type", + "Filename": "Filename", + "FingerPrint": "Fingerprint", + "Finished": "Done", + "FinishedTicket": "Complete Work Order", + "FirstLogin": "First Login", + "FlowDetail": "Process Details", + "FlowSetUp": "Process settings", + "FormatError": "Format Error", + "Friday": "Friday", + "From": "From", + "FromTicket": "From Work Order", + "FtpLog": "FTP Log", + "FullName": "Full Name", + "FullySynchronous": "Assets Fully Synchronized", + "FullySynchronousHelpTips": "If the asset conditions do not meet the match policy rules, do we continue to sync such assets", + "FuzzySearch": "Supports fuzzy search", + "GCP": "Google Cloud", + "GPTCreate": "Create Asset-GPT", + "GPTUpdate": "Update Assets-GPT", + "Gateway": "Gateway", + "GatewayCreate": "Create Gateway", + "GatewayList": "Gateway List", + "GatewayProtocolHelpText": "SSH Gateway, supports proxy SSH, RDP and VNC", + "GatewayUpdate": "Update Gateway", + "GeneralAccounts": "General account", + "Generate": "Generate", + "GenerateAccounts": "Regenerate Account", + "GenerateSuccessMsg": "Account Successfully Created", + "GetErrorMsg": "Failed to Fetch", + "Go": "Execute", + "GoHomePage": "Go to Home Page", + "Goto": "Go To", + "GrantedAccounts": "Authorized Account", + "GrantedApplications": " Authorized Apps", + "GrantedAssets": "Authorized assets", + "GrantedDatabases": "Authorized Database", + "GrantedK8Ss": "Authorized Kubernetes", + "GrantedRemoteApps": "Authorized Remote Applications", + "GreatEqualThan": "Greater Than or Equal To", + "GroupsAmount": "User Group", + "GroupsHelpMessage": "Please enter user groups, multiple user groups should be separated by commas (please fill in existing user groups)", + "Guide": "Guide", + "HandleTicket": "Handle Work Orders", + "Hardware": "Hardware Information", + "HardwareInfo": "Hardware Information", + "HasImportErrorItemMsg": "There are failed import items, click on the x on the left to see the reason for failure, after editing the table, you can continue to import failed items", + "HasRead": "Read or Not", + "Help": "Help", + "HelpDocument": "Document link", + "HelpDocumentTip": "You can change the website navigation bar Help -> Documentation URL", + "HelpSupport": "Support Link", + "HelpSupportTip": "Website navigation bar can be changed at Help -> Support", + "HighLoad": "High", + "HistoricalSessionNum": "Historic Session Count", + "History": "History Record", + "HistoryDate": "Date", + "HistoryPassword": "Historical Passwords", + "Home": "Home Directory", + "HomeHelpMessage": "Default Home Directory /home/system username: /home/username", + "HomePage": "Home", + "Host": "Assets", + "HostCreate": "Create Asset - Host", + "HostDeployment": "Deploy Release Machine", + "HostList": "Host List", + "HostName": "Hostname", + "HostProtocol": "Host Protocol", + "HostUpdate": "Update Asset-Host", + "Hostname": "Hostname", + "HostnameGroup": "Asset Name", + "HostnameStrategy": "Used to generate asset host names. For example: 1. Instance Name (instanceDemo); 2. Instance Name and Partial IP (last two digits) (instanceDemo-250.1)", + "Hosts": "Host", + "Hour": "Hour", + "HttpPort": "HTTP Port", + "HuaweiCloud": "Huawei Cloud", + "HuaweiPrivatecloud": "Huawei Private Cloud", + "IAgree": "I agree", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/Host", + "IPLoginLimit": "IP Login Restriction", + "IPMatch": "IP Match", + "IPNetworkSegment": "IP Segment", + "Icon": "Icon", + "Id": "ID", + "IdeaContent": "I'd like you to act as a Linux terminal. I will input commands, and you will provide the output the terminal should display. Please only reply with the terminal output within a unique block of code, nothing else. Don't write explanations. If there's something I need to tell you, I will put the text inside curly brackets {note text}.", + "IdeaTitle": "🌱 Linux Terminal", + "IdpMetadataHelpText": "Either the IDP metadata URL or the IDP metadata XML is required; the IDP metadata URL has priority", + "IdpMetadataUrlHelpText": "Load IDP Metadata from remote address", + "IgnoreCase": "Ignore Case", + "ImageName": "Image Name", + "Images": "Pictures", + "Import": "Import", + "ImportAll": "Import All", + "ImportFail": "Import Failed", + "ImportLdapUserTip": "Please Submit LDAP Configuration Before Importing", + "ImportLdapUserTitle": "LDAP User List", + "ImportLicense": "Import License", + "ImportLicenseTip": "Please import the license", + "ImportMessage": "Please Navigate to the Corresponding Page to Import Data", + "ImportOrg": "Import Organization", + "ImprovePersonalInformation": "Improve Personal Information", + "InActiveAsset": "Recently Unlogged", + "InActiveUser": "Not Recently Logged-in", + "InAssetDetail": "Update Account Info in Asset Details", + "InTotal": "Total", + "Inactive": "Disable", + "Include": "Includes", + "Index": "Index", + "Info": "Information", + "Inherit": "Inheritance", + "InheritPlatformConfig": "Inherited from the platform configuration, if changes are needed, please modify the configurations in the platform.", + "InitialDeploy": "Initialize Deployment", + "Input": "Input", + "InputEmailAddress": "Please enter a correct email address", + "InputMessage": "Enter message...", + "InputNumber": "Please Enter Numeric Type", + "InputPhone": "Please Enter Mobile Number", + "InsecureCommandAlert": "Dangerous Command Warning", + "InsecureCommandEmailUpdate": "Click Me to Set", + "InsecureCommandNotifyToSubscription": "Hazard command notice has been upgraded to message subscription, supporting more notification methods", + "InstanceAddress": "Instance Address", + "InstanceName": "Instance Name", + "InstancePlatformName": "Instance Platform Name", + "InstantAdhoc": "Instant Command", + "Interface": "Network Interface", + "InterfaceSettings": "Interface Setting", + "IntervalOfCreateUpdatePage": "Unit: Hour", + "Invalid": "Invalid", + "InvalidJson": "Invalid JSON", + "Invalidity": "Invalid", + "Invite": "Invite", + "InviteSuccess": "Invitation Successful", + "InviteUser": "Invite User", + "InviteUserInOrg": "Invite User to Join This Organization", + "Ip": "IP", + "IpGroup": "IP Group", + "IpGroupHelpText": "* Represents matching all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "Please enter a comma-separated group of IP addresses", + "IsActive": "Activate", + "IsAlwaysUpdate": "Keep Assets Up to Date", + "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostnames, IPs, system platforms, domains, nodes, etc. each time a synchronization task is performed", + "IsEffective": "Effective", + "IsFinished": "Is it Completed", + "IsLocked": "Suspend?", + "IsSuccess": "Successful", + "IsSyncAccountHelpText": "After collection, the collected accounts will be synchronized to the assets", + "IsSyncAccountLabel": "Sync to Assets", + "IsValid": "Valid", + "JDCloud": "JD Cloud", + "JMSSSO": "SSO Token Log-in", + "Job": "Action", + "JobCenter": "Job Center", + "JobCreate": "Create Job", + "JobDetail": "Job Details", + "JobExecutionLog": "Action Log", + "JobList": "Job Action", + "JobName": "Assignment Name", + "JobType": "Job Type", + "JobUpdate": "Update Job", + "Join": "Join", + "K8s": "Kubernetes", + "K8sPermissionRules": "Kubernetes Authorization Rules", + "Key": "Key", + "KingSoftCloud": "Kingsoft Cloud", + "KokoSettingUpdate": "Koko Configuration Settings", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes", + "KubernetesAppCount": "Number of Kubernetes Applications", + "KubernetesAppCreate": "Create Kubernetes", + "KubernetesAppDetail": "Kubernetes Details.\"", + "KubernetesAppPermission": "Kubernetes Authorization", + "KubernetesAppPermissionCreate": "Create Kubernetes Authorization Rules", + "KubernetesAppPermissionDetail": "Kubernetes Authorization Details", + "KubernetesAppPermissionUpdate": "Update Kubernetes Authorization Rules", + "KubernetesAppUpdate": "Update Kubernetes", + "LAN": "Local Area Network", + "LDAPServerInfo": "LDAP Server", + "LDAPUser": "LDAP User", + "LOWER_CASEREQUIRED": "Must Include Lowercase Letters", + "Label": "Tag", + "LabelCreate": "Create Tag", + "LabelInputFormatValidation": "Tag format error, correct format is: name:value", + "LabelList": "Tag List", + "LabelUpdate": "Update Label", + "Language": "Language", + "Last30": "Recent 30 Times", + "Last30Days": "Recent 30 Days", + "Last7Days": "Past 7 Days", + "LastCannotBeDeleteMsg": "Last Item, Cannot be Deleted", + "LastDay": "Last Day of the Month", + "LastExecutionOutput": "Last Execution Output", + "LastPublishedTime": "Last Release Time", + "LastRun": "Last Run", + "LastRunFailedHosts": "The Last Run Failed Host", + "LastRunSuccessHosts": "Last Successful Host", + "LastWeek": "Last Week of the Month", + "LastWorking": "The Most Recent Working Day", + "LatestSessions": "Recent Login Records", + "LatestSessions10": "Last 10 Login Attempts", + "LatestTop10": "TOP 10", + "LatestVersion": "Latest Version", + "Ldap": "LDAP", + "LdapBulkImport": "User Import", + "LdapConnectTest": "Test Connection", + "LdapLoginTest": "Test Login", + "Length": "Length", + "LessEqualThan": "Less Than or Equal To", + "LevelApproval": "Level Approval", + "License": "License", + "LicenseDetail": "License Detail", + "LicenseExpired": "Licence Expired", + "LicenseFile": "License file", + "LicenseForTest": "License for Testing Purposes, This License is Only for Testing (PoC) and Demonstrations", + "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", + "LicenseWillBe": "License Expiring In ", + "LinuxAdminUser": "Linux Privileged User", + "LinuxUserAffiliateGroup": "User Affiliated Group", + "LoadStatus": "Load Status", + "Loading": "Loading", + "LockedIP": "IP {count} Locked", + "Log": "Logs", + "LogData": "Log Data", + "LogOfLoginSuccessNum": "Login Success Log Count", + "Logging": "Log Record", + "Login": "User Login", + "LoginAssetConfirm": "Asset login review", + "LoginAssetToday": "Today's active assets", + "LoginAssets": "Active Assets", + "LoginCity": "Login City", + "LoginConfig": "Login Configuration", + "LoginConfirm": "Login Review", + "LoginCount": "Login Times", + "LoginDate": "Login Date", + "LoginFailed": "Login Failed", + "LoginFrom": "Login Source", + "LoginIP": "Login IP", + "LoginImage": "Login Page Picture.", + "LoginImageTip": "Note: Will be displayed on the Enterprise edition user login page (recommended picture size: 492*472px)", + "LoginLog": "Login log", + "LoginModeHelpMessage": "If you choose manual login mode, username and password may not be filled in", + "LoginModel": "Login Mode", + "LoginNum": "Login Count", + "LoginOption": "Login Options", + "LoginOverview": "Session Statistics", + "LoginPasswordSetting": "Login Password Settings", + "LoginRequiredMsg": "Account Logged Out, Please Log in Again", + "LoginSucceeded": "Login successful", + "LoginTitle": "Login Page Title", + "LoginTitleTip": "Tip: This will be displayed on the enterprise user SSH login KoKo login page (eg: Welcome to use JumpServer Open Source Bastion Machine)", + "LoginTo": "Log in", + "LoginUserRanking": "Login Account Ranking", + "LoginUserToday": "Number of Accounts Logged in Today", + "LoginUsers": "Active Accounts", + "Login_confirmUser": "Login Review Recipient", + "LogoIndex": "Logo (with text)", + "LogoIndexTip": "Notice: It will be displayed on the top left of the page (Recommended image size: 185px*55px)", + "LogoLogout": "Logo (Without Text)", + "LogoLogoutTip": "Note: It will be displayed on the Web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", + "Logout": "Logout", + "LogsAudit": "Log Audit", + "Lowercase": "Lowercase Letters", + "LunaSettingUpdate": "Luna Configuration Settings", + "MFA": "MFA", + "MFAConfirm": "MFA Authorization", + "MFAErrorMsg": "MFA error, please check", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication for increased account security.
After enabling, you will be directed to the multi-factor authentication binding process the next time you log in; you can also directly bind it in (Personal Information->Quick Change->Change Multi-factor Settings)!", + "MFAOfUserFirstLoginUserGuidePage": "To ensure your and the company's safety, please properly manage your account, password, keys, and other important sensitive information; (for example: setting a complex password and enabling multi-factor authentication)
Email, mobile number, WeChat, and other personal information are used solely for user authentication and internal platform notification purposes.", + "MFARequireForSecurity": "For Security, Please Enter MFA", + "MFAVerify": "Verify MFA", + "MIN_LENGTHERROR": "Password Minimum Length {0} Characters", + "MailRecipient": "Email Recipients", + "MailSend": "Email Sent", + "ManualAccount": "Manual Account", + "ManualAccountTip": "Manually enter username/password at login", + "ManualExecutePlan": "Execute Plan Manually", + "ManualInput": "Manual Input", + "ManyChoose": "Multiple Selection Available", + "Mariadb": "MariaDB", + "MarkAsRead": "Mark as Read", + "Marketplace": "App Store", + "Match": "Match", + "MatchIn": "In...", + "MatchResult": "Matching Results", + "MatchedCount": "Match Result", + "Material": "Content", + "Members": "Members", + "Memory": "Memory", + "MenuAccounts": "Account", + "MenuAssets": "Asset Management", + "MenuMore": "More...", + "MenuPermissions": "Authorization Management", + "MenuUsers": "User", + "Message": "Message", + "MessageSub": "Message Subscription", + "MessageSubscription": "Message Subscription", + "MessageType": "Message Type", + "Meta": "Metadata", + "MfaLevel": " Multi-factor Authentication", + "Min": "Minutes", + "Model": "Model", + "Modify": "Edit", + "ModifySSHKey": "Edit SSH Key", + "ModifyTheme": "Edit Theme", + "Module": "Module", + "Monday": "Monday", + "Mongodb": "MongoDB", + "Monitor": "Monitor", + "Month": "Month", + "Monthly": "By Month", + "More": "More Options", + "MoreActions": "More Actions", + "MoveAssetToNode": "Move Assets to Node", + "MsgSubscribe": "Message subscription", + "MyApps": "My Apps", + "MyAssets": "My Assets", + "MyTickets": "I Initiated", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "Mysql_workbenchIp": "Database IP", + "Mysql_workbenchName": "Database Name", + "Mysql_workbenchPassword": "Database Password", + "Mysql_workbenchPort": "Database Port", + "Mysql_workbenchUsername": "Database Account", + "NUMBERREQUIRED": "Must Contain Numbers", + "Name": "Name", + "NavHelp": "Navbar Link", + "Navigation": "Navigation", + "NeedAddAppsOrSystemUserErrMsg": "Applications or System Users Required", + "NeedReLogin": "\"Need to Re-login", + "NeedSpecifiedFile": "You need to upload a specified format file", + "NeedUpdatePasswordNextLogin": "Password change required on next login", + "Network": "Network", + "New": "Create", + "NewChat": "New Chat", + "NewCount": "Add", + "NewCron": "Create Cron", + "NewDirectory": "New Directory", + "NewFile": "New File", + "NewPassword": "New Password", + "NewSyncCount": "New Sync", + "No": "No", + "NoAlive": " Offline", + "NoAnnouncement": "No Announcement", + "NoContent": "No Content", + "NoData": "No Data", + "NoFiles": "No Files Available", + "NoInputCommand": "No Command Entered", + "NoLicense": "No License Available", + "NoPermission": "No Permission", + "NoPermission403": "403 No Permission", + "NoPermissionVew": "No permission to view the current page", + "NoPublished": "Unpublished", + "NoSQLProtocol": "Non-Relational Database", + "NoSystemUserWasSelected": "No system user selected", + "NoUnreadMsg": "No unread messages", + "Node": "Node", + "NodeAmount": "Node Quantity", + "NodeCount": "Number of Nodes", + "NodeInformation": "Node Information", + "NodeSearchStrategy": "Node Search Strategy", + "NormalLoad": "Normal", + "NotAlphanumericUnderscore": "Can only input letters, numbers, underscores", + "NotEqual": "Not Equal To", + "NotParenthesis": "Cannot Include ( )", + "NotSet": "Not Set", + "NotSpecialEmoji": "Special Emoji Input Not Allowed", + "Nothing": "None", + "Notifications": "Notification", + "Now": "Now", + "Num": "Number", + "Number": "Serial Number", + "NumberOfVisits": "Number of Visits", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "Hint: Authentication Service Provider (Suggested Image Size: 64px*64px)", + "OIDC": "OIDC", + "OTP": "MFA (OTP)", + "ObjectNotFoundOrDeletedMsg": "No corresponding resources found or they have been deleted", + "OfficialWebsite": "Official Web Link", + "OfficialWebsiteTip": "You can change the URL of the Website Navigation Bar Help ->Official Website", + "Offline": "Offline", + "OfflineSuccessMsg": "Offline Successful", + "OfflineUpload": "Offline Upload", + "OldPassword": "Original Password", + "OldSSHKey": "Original SSH Public Key", + "On/Off": "Start/Stop", + "OneAssignee": "First Level Acceptance Personnel", + "OneAssigneeType": "First-Level Acceptance Type", + "OneClickRead": "Currently Read", + "OneClickReadMsg": "Are you sure you want to mark the current information as read?", + "OnlineSession": "Online Users", + "OnlineSessionHelpMsg": "Unable to offline the current session as it is an online session of the current user. Currently, only users logged in via the Web are recorded.", + "OnlineSessions": "Online Sessions", + "OnlineUserDevices": "Online User Devices", + "OnlineUsers": "Online Account", + "OnlyCSVFilesTips": "Supports CSV file import only", + "OnlyLatestVersion": "Only Latest Version", + "OnlyMailSend": "Currently only supports email sending", + "OnlySearchCurrentNodePerm": "Search only for the current node authorization", + "Open": "Pending", + "OpenCommand": "Open Command", + "OpenId": "OpenID Settings", + "OpenStack": "OpenStack", + "OpenStatus": "Under Review", + "OpenTicket": "Create Work Order", + "OperateLog": "Action Log", + "OperateRecord": "Action Record", + "OperationLogNum": "Action Log Count", + "Ops": "Task", + "Options": "Options", + "Oracle": "Oracle", + "OrgAdmin": "Organization Admin", + "OrgAuditor": "Organization Auditor", + "OrgName": "Authorized Organization Name", + "OrgRole": "Organization Roles", + "OrgRoleHelpText": "An organization role is the user's role within the current organization", + "OrgRoles": "Organizational Role", + "OrgUser": "Organizational Users", + "OrganizationCreate": "Create Organization", + "OrganizationDetail": "Organization details", + "OrganizationList": "Organization", + "OrganizationLists": "Organization List", + "OrganizationMembership": "Organization Members", + "OrganizationUpdate": "Update organization", + "Os": "Operating System", + "Other": "Other Settings", + "OtherAuth": "Other Authentication", + "OtherProtocol": "Other Protocols", + "OtherRules": "Other Rules", + "Others": "Other", + "Output": "Output", + "Overview": "Overview", + "PENDING": "Waiting", + "PageNext": "Next Page", + "PagePrev": "Previous Page", + "Parameter": "Parameters", + "Params": "Parameter", + "ParamsHelpText": "Change Password Parameter Settings, currently only effective for assets of the host type.", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "Your authorization source is {source}, adding Passkey is not supported", + "Passphrase": "Key Password", + "Password": "Password", + "PasswordAccount": "Password Account", + "PasswordChangeLog": "Password Change Log", + "PasswordCheckRule": "Password Strength Rules", + "PasswordConfirm": "Password Authentication", + "PasswordExpired": "Password has expired", + "PasswordHelpMessage": "Password or Key Password", + "PasswordLength": "Password Length", + "PasswordOrPassphrase": "Password or Key Password", + "PasswordOrToken": "Password / Token", + "PasswordPlaceholder": "Please Enter Password", + "PasswordRecord": "Password Log", + "PasswordRequireForSecurity": "Please Enter Password for Security", + "PasswordRule": "Password Rules", + "PasswordSecurity": "Password Security", + "PasswordSelector": "Password Input Selector", + "PasswordStrategy": "Ciphertext Generation Strategy", + "PasswordWillExpiredPrefixMsg": "Password is about to be in", + "PasswordWillExpiredSuffixMsg": "Expires in days, please change your password as soon as possible.", + "PasswordWithoutSpecialCharHelpText": "Cannot Include Special Characters", + "Paste": "Paste", + "Pattern": "Mode", + "Pause": "Pause", + "PauseTaskSendSuccessMsg": "The Task Has Been Paused and Issued, Please Refresh Later", + "Pending": "Pending", + "Periodic": "Execution Cycle", + "PeriodicPerform": "Schedule Execution", + "Perm": "Authorization", + "PermAccount": "Authorized Account", + "PermName": "Authorization Name", + "PermUserList": "Authorize User", + "PermissionCompany": "Authorize Company", + "PermissionName": "Authorization Rule Name", + "Permissions": "Permissions", + "Perms": "权限管理", + "PersonalInformationImprovement": "Personal information completion", + "Phone": "Phone Number", + "Plan": "Schedule", + "Platform": "System Platform", + "PlatformCreate": "Create System Platform", + "PlatformDetail": "System Platform Details", + "PlatformList": "Platform List", + "PlatformProtocolConfig": "Platform Protocol Configuration", + "PlatformSimple": "Platform", + "PlatformUpdate": "Update System Platform", + "PlaybookDetail": "Playbook Details", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "Update Playbook", + "PleaseAgreeToTheTerms": "Please Accept the Terms", + "PleaseClickLeftApplicationToViewApplicationAccount": "Application Account List, click on the application on the left to view", + "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, click on the asset on the left to view", + "PleaseClickLeftAssetToViewGatheredUser": "Collect user list, click on the asset on the left to view", + "PleaseSelect": "Please Select", + "PolicyName": "Policy Name", + "Port": "Port", + "Ports": "Port", + "Postgresql": "PostgreSQL", + "Primary": "Main", + "PrimaryProtocol": "Main Protocol, the most basic and commonly used asset protocol, can and must set up one", + "Priority": "Priority", + "PriorityHelpMessage": "1-100, 1 is the lowest priority, 100 is the highest. When authorizing multiple users, the system user with the highest priority will be the default login user", + "PrivateCloud": "Private Cloud", + "PrivateKey": "Private Key", + "PrivilegeFirst": "Priority is for Privileged Accounts", + "PrivilegeOnly": "Only Select Privileged Accounts", + "Privileged": "Privilege Account", + "PrivilegedFirst": "Priority Privilege Account", + "PrivilegedOnly": "Privileged Accounts Only", + "PrivilegedTemplate": "Privileged", + "Product": "Product", + "Profile": "Personal Information", + "ProfileSetting": "Personal Information Settings", + "Project": "Project name", + "Prompt": "Hint Word", + "Proportion": "Proportion", + "ProportionOfAssetTypes": "Asset Type Proportions", + "Protocol": "Protocol", + "Protocols": "Protocol", + "ProtocolsEnabled": "Enable Protocol", + "ProtocolsGroup": "Agreement", + "Provider": "Cloud Service Provider", + "Proxy": "Proxy", + "Public": "Public", + "PublicCloud": "Public Cloud", + "PublicIp": "Public IP", + "PublicKey": "Public Key", + "PublicProtocol": "Displayed when public protocol is used to connect assets", + "Publish": "Publish", + "PublishAllApplets": "Publish All Applications", + "PublishStatus": "Publish Status", + "Push": "Push", + "PushAccount": "Push Account", + "PushAllSystemUsersToAsset": "Push All System Users to Assets", + "PushParams": "Push Parameters", + "PushSelected": "Push Selected", + "PushSelectedSystemUsersToAsset": "Push Selected System User to Asset", + "PushSystemUserNow": "Push System User", + "Qcloud": "Tencent Cloud", + "QcloudLighthouse": "Tencent Cloud (Light Application Server)", + "QingyunPrivatecloud": "QingCloud Private Cloud", + "Queue": "Queue", + "QuickAccess": "Quick Access", + "QuickAdd": "Quick Add", + "QuickJob": "Shortcut Command", + "QuickSelect": "Quick Selection", + "QuickUpdate": "Quick Update", + "RDBProtocol": "Relational Database", + "RUNNING": "Running", + "Radius": "Radius", + "Ranking": "Ranking", + "Ratio": "Ratio", + "RazorNotSupport": "RDP client session, monitoring not supported", + "ReLogin": "Re-log in", + "ReLoginErr": "Login duration has exceeded 5 minutes, please log in again", + "ReLoginTitle": "Current third-party logged-in users (CAS/SAML), not bound with MFA and doesn't support password validation, please log in again.", + "RealTimeData": "Real-time Data", + "Reason": "Reason", + "Receivers": "Recipient", + "RecentLogin": "Recent Login", + "RecentSession": "Recent Sessions", + "RecentlyUsed": "Recent Use", + "RecipientHelpText": "If both A and B are set as recipients, the key to the account will be split into two parts", + "RecipientServer": "Receiving Server", + "Reconnect": "Reconnect", + "Redis": "Redis", + "Refresh": "Refresh", + "RefreshFail": "Refresh Failed", + "RefreshHardware": "Update Hardware Information", + "RefreshLdapCache": "Refreshing Ldap cache, please wait", + "RefreshLdapUser": "Refresh Cache", + "RefreshPermissionCache": "Refresh Authorization Cache", + "RefreshSuccess": "Refresh Successful", + "Regex": "Regular Expression", + "Region": "Region", + "RegularlyPerform": "Scheduled Execution", + "Reject": "Reject", + "Rejected": "Rejected", + "RelAnd": "And", + "RelNot": "Not", + "RelOr": "Or", + "Relation": "Relationship", + "ReleasedCount": "Released", + "RelevantApp": "Application", + "RelevantAsset": "Asset", + "RelevantAssignees": "Related Recipient", + "RelevantCommand": "Command", + "RelevantSystemUser": "System User", + "RemoteAddr": "Remote Address", + "RemoteApp": "Remote Applications", + "RemoteAppCount": "Number of Remote Applications", + "RemoteAppDetail": "Remote Application Details", + "RemoteAppListHelpMessage": "Before using this feature, please make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download Application Loader", + "RemoteAppPermission": "Remote App Authorization", + "RemoteAppPermissionCreate": "Create Remote Application Authorization Rule", + "RemoteAppPermissionDetail": "Remote Application Authorization Details", + "RemoteAppPermissionRules": "Remote Application Authorization Rules", + "RemoteAppPermissionUpdate": "Update Remote Application Authorization Rules", + "RemoteAppUpdate": "Update Remote Application", + "RemoteApps": "Remote Application", + "RemoteType": "Application Type", + "Remove": "Remove", + "RemoveAssetFromNode": "Remove Assets From Node", + "RemoveErrorMsg": "Removal Failed:", + "RemoveFromCurrentNode": "Remove from node", + "RemoveFromOrgWarningMsg": "Are you sure you want to remove from organization ", + "RemoveSuccessMsg": "Removal Successful", + "RemoveWarningMsg": "Are you sure you want to remove", + "Rename": "Rename", + "RenameNode": "Rename Node", + "ReplaceNodeAssetsAdminUser": "Replace the administrator of the node assets", + "ReplaceNodeAssetsAdminUserWithThis": "Replace the administrator of assets", + "Replay": "Playback", + "ReplaySession": "Session Playback", + "ReplayStorage": "Object Storage", + "ReplayStorageCreateUpdateHelpMessage": "Note: SFTP Storage Currently only supports account backup and does not support video storage.", + "ReplayStorageUpdate": "Update Object Storage", + "Reply": "Reply", + "RequestApplicationPerm": "Apply for App Authorization", + "RequestAssetPerm": "Apply for Asset Authorization", + "RequestPerm": "Authorization Request", + "RequestTickets": "Application Work Order", + "Required": "Required", + "RequiredAssetOrNode": "Please select at least one asset or node", + "RequiredContent": "Please Enter Command", + "RequiredEntryFile": "This file serves as the entry point for running and must exist", + "RequiredHasUserNameMapped": "A map that must contain the username field, such as 'uid': 'username'", + "RequiredProtocol": "Mandatory Protocol, must be selected when adding assets, multiple can be set", + "RequiredRunas": "Please Enter the Running User", + "RequiredSystemUserErrMsg": "Please Select an Account", + "RequiredUploadFile": "Please Upload File!", + "Reset": "Restore", + "ResetAndDownloadSSHKey": "Reset and Download Key", + "ResetDingTalk": "Unbind DingTalk", + "ResetDingTalkLoginSuccessMsg": "Reset successful, user can re-bind DingTalk", + "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", + "ResetMFA": "Reset MFA", + "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", + "ResetMFAdSuccessMsg": "'MFA Reset Successful, User Can Reset MFA Again", + "ResetPassword": "Reset Password", + "ResetPasswordSuccessMsg": "Password Reset Message Has Been Sent to User", + "ResetPasswordWarningMsg": "Are you sure you want to send a password reset email?", + "ResetPublicKeyAndDownload": "Reset and Download SSH Key", + "ResetSSHKey": "Reset SSH Key", + "ResetSSHKeySuccessMsg": "Email sending task has been submitted, users will receive a reset key email later", + "ResetSSHKeyWarningMsg": "Are you sure you want to send out the reset user's SSH Key email?", + "ResetWechat": "Unbind Corporate WeChat", + "ResetWechatLoginSuccessMsg": "Reset Successful. User can rebind with enterprise WeChat", + "ResetWechatLoginWarningMsg": "Are you sure you want to unbind the user's WeChat for Business?", + "Resource": "Resources", + "ResourceType": "Resource Type", + "Resources": "Resources", + "RestoreButton": "Restore Defaults", + "RestoreDefault": "Restore Default", + "RestoreDialogMessage": "Are you sure you'd like to restore to default initialization?", + "RestoreDialogTitle": "Are you sure", + "Result": "Result", + "Resume": "Restore", + "ResumeTaskSendSuccessMsg": "Recovery action has been dispatched, please refresh and check later", + "Retry": "Retry", + "Reviewer": "Approver", + "Revise": "Modify", + "RiskLevel": "Risk level", + "Role": "Role", + "RoleCreate": "Create Character", + "RoleDetail": "Role Details", + "RoleInfo": "Role Information", + "RoleList": "Role List", + "RolePerms": "Role Permissions", + "RoleUpdate": "Update Role", + "RoleUsers": "Authorized User", + "Rows": "Row", + "Rule": "Condition", + "RuleCount": "Condition Quantity", + "RuleDetail": "Rule details", + "RuleRelation": "Relationship Conditions", + "RuleRelationHelpTips": "And: Action will be executed only when all conditions are met; Or: Action will be executed as long as one condition is met", + "RuleSetting": "Condition Setting", + "Rules": "Rules", + "Run": "Execute", + "RunAgain": "Execute Again", + "RunAs": "Run as User", + "RunCommand": "Run Command", + "RunJob": "Run Job", + "RunSucceed": "Task Execution Success", + "RunTaskManually": "Manual Action", + "RunTimes": "Execution Count", + "RunUser": "Run User", + "RunasHelpText": "Enter the username for running the script", + "RunasPolicy": "Account Policy", + "RunasPolicyHelpText": "What account selection strategy should be taken when there is no such running user on the current asset. Skip: Don't Execute. Privileged Account Priority: If there is a privileged account, select the privileged account first, if not, then choose a common account. Only Privileged Accounts: Select only from privileged accounts, if none, then don't execute", + "Running": "Running", + "RunningPath": "Run Path", + "RunningPathHelpText": "Enter the running path of the script, this setting only applies to shell scripts", + "RunningTimes": "Last 5 Run Times", + "SAML2Auth": "SAML2 Authentication", + "SCP": "Sangfor Cloud Platform", + "SFTPHelpMessage": "Start Path of SFTP, Home Directory Can Be Entered As: HOME.
Supported Variables: ${ACCOUNT} Account Username Linked, ${USER} Current User's Username, such as /tmp/${ACCOUNT}", + "SMS": "Message", + "SMSProvider": "SMS Service Provider", + "SMTP": "Email Server", + "SPECIAL_CHARREQUIRED": "Must Include Special Characters", + "SSHKey": "SSH Public Key", + "SSHKeyOfProfileSSHUpdatePage": "Paste Your Public Key Here", + "SSHKeySetting": "Setting SSH Public Key", + "SSHPort": "SSH Port", + "SSHSecretKey": "SSH key", + "SSO": "Single sign-on", + "SUCCESS": "Success", + "SafeCommand": "Safe Command", + "SameAccount": "Account with Same Name", + "SameAccountTip": "Account with the same username as authorized user", + "SameTypeAccountTip": "An account with the same username and key type already exists", + "Saturday": "Saturday", + "Save": "Save", + "SaveAdhoc": "Save Command", + "SaveAndAddAnother": "Save and continue to add", + "SaveCommand": "Save Command", + "SaveCommandSuccess": "\"Save Command Successful", + "SaveSetting": "Synchronization Settings", + "SaveSuccess": "Save Successful", + "SaveSuccessContinueMsg": "Created successfully, you can continue to add after updating content", + "Scope": "Category", + "Script": "Script List", + "ScriptDetail": "Script Details", + "ScrollToBottom": "Scroll to Bottom", + "ScrollToTop": "Scroll to Top", + "Search": "Search", + "SearchAncestorNodePerm": "Search for the authorization of the current node and ancestor nodes at the same time", + "Secret": "Password", + "SecretKey": "Key", + "SecretKeyStrategy": "Password Strategy", + "SecretType": "Ciphertext Type", + "Secure": "Security", + "Security": "Security Settings", + "SecurityCommandExecution": "Batch commands", + "SecurityInsecureCommand": "Once enabled, an alarm notification will be sent via email when hazardous commands are executed on the asset", + "SecurityInsecureCommandEmailReceiver": "When there are multiple emails, separate them with a comma ','", + "SecurityLoginLimitCount": "Limit Login Failure Attempts", + "SecurityLoginLimitTime": "Disable Login Interval", + "SecurityMaxIdleTime": "Max Idle Connection Time", + "SecurityMfaAuth": "Multi-factor Authentication", + "SecurityPasswordExpirationTime": "Password Expiry Time", + "SecurityPasswordLowerCase": "Must Include Lowercase Letters", + "SecurityPasswordMinLength": "Password Minimum Length", + "SecurityPasswordNumber": "Numeric Characters Required", + "SecurityPasswordSpecialChar": "Must contain special characters", + "SecurityPasswordUpperCase": "Must Include Uppercase Letters", + "SecurityServiceAccountRegistration": "Component Registration", + "SecuritySetting": "Security Settings", + "Select": "Select", + "SelectAccount": "Select Account", + "SelectAdhoc": "Select Command", + "SelectAll": "Select All", + "SelectAssetsMessage": "Select assets on the left, choose the running system user, execute commands in bulk", + "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", + "SelectAttrs": "Select attributes", + "SelectByAttr": "Property filter", + "SelectCreateMethod": "Select Creation Method", + "SelectFile": "Select File", + "SelectKeyOrCreateNew": "Select Tag Key or Create New One", + "SelectLabelFilter": "Select Search Labels", + "SelectPlatforms": "Select platform", + "SelectProperties": "Select Attributes", + "SelectResource": "Select Resources", + "SelectTemplate": "Select Template", + "SelectValueOrCreateNew": "Select Tag Value or Create New", + "Selected": "Selected", + "SelectedAssets": "Selected Assets:", + "Selection": "Selectable", + "Selector": "Selector", + "Send": "Send", + "SendVerificationCode": "Send Verification Code", + "Sender": "Sender", + "Senior": "Advanced", + "SerialNumber": "Serial number", + "ServerAccountKey": "Service Account Key", + "ServerError": "Server Error", + "ServerTime": "Server Time", + "ServiceRatio": "Component Load Statistics", + "Session": "Session", + "SessionActiveCount": "Online Session Amount", + "SessionData": "Session Data", + "SessionDetail": "Session Details", + "SessionID": "Session ID", + "SessionList": "Session Log", + "SessionMonitor": "Monitoring", + "SessionOffline": "Historical Sessions", + "SessionOnline": "Online Sessions", + "SessionSecurity": "Session Security", + "SessionState": "Session Status", + "SessionTerminate": "Conversation Ended", + "SessionTrend": "Session Trend", + "Sessions": "Session ", + "SessionsAudit": "Session Audit", + "SessionsNum": "Number of Sessions", + "Set": "Already set", + "SetAdDomainNoDisabled": "Create standard account using privileged account on assets, can't be modified if AD domain is set (Windows)", + "SetDingTalk": "Set up DingTalk Authentication", + "SetFailed": "Settings Failed", + "SetFeiShu": "Setup Feishu Authentication", + "SetMFA": "Set Up Multi-Factor Authentication", + "SetPublicKey": "Set SSH Public Key", + "SetSlack": "Set up Slack authentication", + "SetStatus": "Set Status", + "SetSuccess": "Settings applied", + "SetToDefault": "Set as Default", + "SetToDefaultStorage": "Set as default storage", + "SetWeCom": "Setting Enterprise WeChat Authorization", + "Setting": "Settings", + "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Component Settings / service endpoints", + "Settings": "System Settings", + "Show": "Display", + "ShowAssetAllChildrenNode": "Show All Sub-node Assets", + "ShowAssetOnlyCurrentNode": "Show Assets of Current Node Only", + "ShowNodeInfo": "Show Node Details", + "SignChannelNum": "Signature Channel Number", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "Internal Mail", + "SiteMessageList": "Internal Message", + "SiteUrl": "Current Site URL", + "Skip": "Ignore the current asset", + "Skipped": "Skipped", + "Slack": "Slack", + "Source": "Source", + "SourceIP": "Source Address\"", + "SourcePort": "Source port", + "Spec": "Specify", + "SpecAccount": "Specify Account", + "SpecAccountTip": "Specify Username Select Authorized Account", + "SpecialSymbol": "Special Characters", + "SpecificInfo": "Special information", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH Fingerprint", + "SshPort": "SSH Port", + "Sshkey": "sshkey", + "SshkeyAccount": "Key Account", + "StartEvery": "Start, Each", + "Startswith": "Beginning with...", + "Stat": "Success/ Failure/ Total", + "State": "Status", + "StateClosed": "Turned Off", + "Status": "Status", + "StatusGreen": "Recent Good Status", + "StatusRed": "Last Task Execution Failure", + "StatusYellow": "Recent Execution Failures", + "Stop": "Stop", + "Storage": "Storage", + "StorageConfiguration": "Store Configuration", + "Strategy": "Strategy", + "StrategyCreate": "Create policy", + "StrategyDetail": "Policy Details", + "StrategyHelpTips": "Determine the unique attribute of the asset (such as the platform) based on the policy priority. When multiple configurations are possible for the asset attribute (such as the node), all Actions of the policies will be executed", + "StrategyList": "Strategy List", + "StrategyUpdate": "Update Policy", + "SuFrom": "Switch From", + "Subject": "Theme", + "Submit": "Submit", + "SubmitSelector": "Submit button selector", + "Subscription": "Message Subscription", + "SubscriptionID": "Subscription Authorization ID", + "Success": "Successful", + "SuccessAsset": "Successful Assets", + "SuccessfulOperation": "Operation Successful", + "SudoHelpMessage": "Separate multiple commands with a comma, such as: /bin/whoami,/sbin/ifconfig", + "Summary(success/total)": "Overview ( Success/Total )", + "Sunday": "Sunday", + "SuperAdmin": "Super Administrator", + "SuperOrgAdmin": "Super Administrator + Organization Administrator", + "Support": "Support", + "SupportedProtocol": "Supported Protocol", + "SupportedProtocolHelpText": "Set the protocols supported by assets. Clicking the settings button can modify custom configurations for protocols, such as SFTP directory, RDP AD domain, etc.", + "SwitchPage": "Switch Views", + "SwitchToUser": "Su User", + "SwitchToUserListTips": "When connecting to assets through the following users, the current system user will be used to log in and then switch.", + "SymbolSet": "Special Symbols Collection", + "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If the randomly generated password contains special characters that this type of database does not support, the change password plan will fail", + "Sync": "Synchronization", + "SyncDelete": "Sync Delete", + "SyncInstanceTaskCreate": "Create Synchronization Task", + "SyncInstanceTaskDetail": " Synchronization task details", + "SyncInstanceTaskHistoryAssetList": "Sync Instance List", + "SyncInstanceTaskHistoryList": "Sync History List", + "SyncInstanceTaskList": "Sync Task List", + "SyncInstanceTaskUpdate": "Update Sync Task", + "SyncProtocolToAsset": "Synchronize Agreement to Assets", + "SyncSelected": "Sync Selected", + "SyncSetting": "Sync Settings", + "SyncStrategy": "Sync Policy", + "SyncSuccessMsg": "Synchronization Successful", + "SyncTask": "Synchronized Task", + "SyncUpdateAccountInfo": "Synchronize account information", + "SyncUser": "Synchronize User", + "SyncedCount": "Synchronized", + "SystemCpuLoad": "CPU Load", + "SystemDiskUsedPercent": "Disk Usage Rate", + "SystemError": "System Error", + "SystemMemoryUsedPercent": "Memory Usage Rate", + "SystemMessageSubscription": "System Message Subscription", + "SystemRole": "System Roles", + "SystemRoles": "System Role", + "SystemSetting": "System Settings", + "SystemTools": "System Tools", + "SystemUser": "System User", + "SystemUserAmount": "System User Count", + "SystemUserCount": "System User", + "SystemUserCreate": "Create System User", + "SystemUserDetail": "System user details", + "SystemUserId": "System User Id", + "SystemUserList": "System Users", + "SystemUserListHelpMessage": "System User is the account JumpServer uses when logging in to assets, such as root `ssh root@host`, instead of logging in to the asset with this username (ssh admin@host)`;
Privileged User is an existing asset user who has advanced privileges. JumpServer uses this user to `push system users`, `acquire hardware information about the assets`, etc;
Regular User can preexist on an asset, or can be created automatically by the Privileged User.", + "SystemUserName": "System Username", + "SystemUserUpdate": "Update System User", + "SystemUsers": "System Users", + "System_usersAmount": "System User", + "System_users_nameGroup": "System Username", + "System_users_protocolGroup": "System User Agreement", + "System_users_usernameGroup": "System Username", + "TableColSettingInfo": "Please select the detailed information you would like to display on the list.", + "Target": "Target", + "TargetResources": "Target Resource", + "Task": "Task", + "TaskCenter": "Task Center", + "TaskDetail": "Task Details", + "TaskDispatch": "Task Issued Successfully", + "TaskDone": "Task Ended", + "TaskID": "Task ID", + "TaskList": "Task List", + "TaskMonitor": "Task Monitoring", + "TaskName": "Task Name", + "TaskVersions": "Task Versions", + "Tasks": "Task", + "TechnologyConsult": "Technical Consultation", + "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after usage", + "Template": "Template", + "TemplateAdd": "Template Addition", + "TemplateCreate": "Create Template", + "TemplateDetail": "Template Details", + "TemplateHelpText": "When choosing to add by template, accounts not existing under the asset will be automatically created and pushed", + "TemplateUpdate": "Update Template", + "Templates": "Template", + "TencentCloud": "Tencent Cloud", + "Terminal": "Component Settings", + "TerminalAssetListPageSize": "Asset Pagination Per Page Quantity", + "TerminalAssetListSortBy": "Sort Asset List", + "TerminalDetail": "Terminal Details", + "TerminalHeartbeatInterval": "Heartbeat Interval", + "TerminalPasswordAuth": "Password Authentication", + "TerminalPublicKeyAuth": "Key Authentication", + "TerminalSessionKeepDuration": "Session Retention Duration", + "TerminalStat": "CPU/Memory/Disk", + "TerminalTelnetRegex": "Telnet Successful Regular Expression", + "TerminalUpdate": "Update Terminal", + "TerminalUpdateStorage": "Update Terminal Storage", + "Terminate": "Termination", + "TerminateTaskSendSuccessMsg": "The termination task has been issued, please refresh later to check", + "TermsAndConditions": "Terms and Conditions", + "Test": "Test", + "TestAccountConnective": "Test Account Connectivity", + "TestAllSystemUsersConnective": "Test All System Users' Connectivity", + "TestAssetsConnective": "Test Asset Connectivity", + "TestConnection": "Test Connection", + "TestGatewayHelpMessage": "If you are using NAT port mapping, set it to the port that SSH really listens to", + "TestGatewayTestConnection": "Test Gateway Connection", + "TestHelpText": "Please Enter Destination Address for Testing", + "TestLdapLoginSubtitle": "Please submit LDAP configuration before test login", + "TestLdapLoginTitle": "Test LDAP user login", + "TestMultiPort": "Separate Multiple Ports with a Comma", + "TestNodeAssetConnectivity": "Test Asset Node Connectivity", + "TestParam": "Parameter", + "TestPortErrorMsg": "Wrong port, please enter again", + "TestSelected": "Test Selected", + "TestSelectedSystemUsersConnective": "Test Connectivity of Selected System User", + "TestSuccessMsg": "Test Successful", + "The": "Number", + "ThisPeriodic": "This is a periodic job", + "Thursday": "Thursday", + "Ticket": "Work Order", + "TicketCreate": "Create Work Order", + "TicketDetail": "Work Order Details", + "TicketFlow": "Work Order Flow", + "TicketFlowCreate": "Create Approval Flow", + "TicketFlowUpdate": "Update Approval Flow", + "Tickets": "Ticket List", + "TicketsDone": "Completed Work Order", + "TicketsNew": "Submit Work Order", + "TicketsTodo": "Pending Work Orders", + "Time": "Time", + "TimeDelta": "Running Time", + "TimeExpression": "Time Expression", + "TimePeriod": "Time Period", + "Timeout": "Timeout", + "TimeoutHelpText": "When this value is -1, no timeout period is specified", + "Timer": "Scheduled Execution", + "TimerPeriod": "Scheduled Execution Cycle", + "TimesWeekUnit": "Times/Week", + "Title": "Title", + "To": "To", + "Today": "Today", + "TodayFailedConnections": "Number of Failed Connections Today", + "Token": "Token", + "TokenHTTPMethod": "Token Acquisition Method", + "TopAssetsOfWeek": "Weekly TOP10 Assets", + "TopUsersOfWeek": "Top 10 Weekly Users", + "Total": "Total", + "TotalJobFailed": "Number of Failed Jobs", + "TotalJobLog": "Job Execution Total", + "TotalJobRunning": "Number of jobs in action", + "TotalVersions": "Version Count", + "Transfer": "Transfer", + "True": "Yes", + "Tuesday": "Tuesday", + "TwoAssignee": "Secondary Receiver", + "TwoAssigneeType": "Second-Level Acceptance Type", + "Type": "Type", + "Types": "Type", + "UCloud": "UCloud", + "UPPER_CASEREQUIRED": "Must include uppercase letters", + "UnSyncCount": "Un-synced", + "Unbind": "Unbind", + "UnbindHelpText": "Local users are from this authentication source and cannot be unlinked", + "Unblock": "Unlock", + "UnblockSuccessMsg": "Unlock Successful", + "UnblockUser": "Unlock User", + "UniqueError": "Only one of the following attributes can be set", + "Unknown": "Unknown", + "UnlockSuccessMsg": "Unlock Success", + "Unreachable": "Cannot Connect", + "UnselectedAssets": "No assets selected or selected assets do not support SSH protocol connection", + "UnselectedNodes": "No Node Selected", + "UnselectedOrg": "No Organization Selected", + "UnselectedUser": "No user selected", + "UpDownload": "Upload Download", + "Update": "Update", + "UpdateAccount": "Update Account", + "UpdateAccountMsg": "Please Update System User Account Info", + "UpdateAccountTemplate": "Update Account Template", + "UpdateAssetDetail": "Configure More Information", + "UpdateAssetUserToken": "Update Account Authentication Information", + "UpdateEndpoint": "Update Endpoint", + "UpdateEndpointRule": "Update Endpoint Rules", + "UpdateErrorMsg": "Update Failed", + "UpdateMFA": "Change Multi-Factor Authentication", + "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", + "UpdatePassword": "Update Password", + "UpdateSSHKey": "Update SSH Public Key", + "UpdateSecret": "Update Ciphertext", + "UpdateSelected": "Update Selected", + "UpdateSuccessMsg": "Update Successful", + "Updated": "Updated", + "UpdatedBy": "Updater", + "Upload": "Upload", + "UploadCsvLth10MHelpText": "Only csv/xlsx files can be uploaded, and must not exceed 10M", + "UploadDir": "Upload Directory", + "UploadFailed": "Upload Failed", + "UploadFile": "Upload File", + "UploadFileLthHelpText": "Only files less than {limit} MB can be uploaded", + "UploadPlaybook": "Upload Playbook", + "UploadSucceed": "Upload Successful", + "UploadZipTips": "Please Upload a Zip Format File", + "Uploading": "File Upload in Progress", + "Uppercase": "Capital Letters", + "UseParameterDefine": "Define Parameters", + "UseProtocol": "Use Protocol", + "UseSSL": "Use SSL/TLS", + "User": "User", + "UserAclDetail": "User Login Rule Details", + "UserAclList": "User Login", + "UserAclLists": "User Login Rules", + "UserAssetActivity": "Account/Asset Activity", + "UserCount": "User count", + "UserCreate": "Create User", + "UserData": "Account Data", + "UserDetail": "User Details", + "UserFirstLogin": "First Login", + "UserGroupCount": "Number of user groups", + "UserGroupCreate": "Create User Group", + "UserGroupDetail": "User Group Details", + "UserGroupList": "User Group", + "UserGroupUpdate": "Update User Group", + "UserGroups": "User Group", + "UserGuide": "User Guide", + "UserGuideUrl": "User Guide URL", + "UserIP": "Login IP", + "UserInformation": "User Information", + "UserList": "User List", + "UserLoginACL": "User Login", + "UserLoginACLCreate": "Create User Login Rule", + "UserLoginACLDetail": "User Login Restrictions", + "UserLoginACLHelpMsg": "When logging in the system, you may audit based on the user's login IP and time period to decide whether to grant system access (effective globally)", + "UserLoginACLUpdate": "Update User Login Rules", + "UserLoginAclCreate": "Create User Login Control", + "UserLoginAclDetail": "User Login Control Details", + "UserLoginAclList": "User Login", + "UserLoginAclUpdate": "Update User Login Control", + "UserLoginLimit": "User Login Restriction", + "UserLoginTrend": "Account Login Trend", + "UserName": "Name", + "UserNameSelector": "Username Input Box Selector", + "UserPage": "User View", + "UserProfile": "Personal Information", + "UserRatio": "User Proportion Statistics", + "UserSession": "User Session", + "UserSetting": "Preference Settings", + "UserSwitch": "User switch", + "UserSwitchFrom": "Switch From", + "UserUpdate": "Update User", + "UserUsername": "User (Username)", + "Username": "Username", + "UsernameGroup": "Username", + "UsernameHelpMessage": "Username is dynamic, use the current user's username when logging in to assets", + "UsernameOfCreateUpdatePage": "On target host, the username of the user; if existing, modifies the password; if it does not exist, add the user and set the password,", + "UsernamePlaceholder": "Enter Username", + "Users": "User", + "UsersAmount": "User", + "UsersAndUserGroups": "User/User Group", + "UsersTotal": "Total Accounts", + "Valid": "Valid", + "Validity": "Valid", + "Value": "Value", + "Variable": "Variable", + "VariableHelpText": "You can use {{ key }} to read built-in variables in the command", + "Vault": "Password Box", + "VaultHelpText": "1. Due to security reasons, the Vault storage needs to be activated in the configuration file.
2. Once activated, fill in the other configurations and conduct testing.
3. Perform data synchronization, which is unidirectional - it only syncs from the local database to the remote Vault. Once synchronization is finished, the local database will no longer store passwords. Please backup your data.
4. If you need to modify the Vault configuration a second time, the service needs to be restarted.", + "Vendor": "Manufacturer", + "VerificationCodeSent": "Verification code has been sent", + "VerifySignTmpl": "Verification Code SMS Template", + "Version": "Version", + "VersionDetail": "Version Details", + "VersionRunExecution": "Execute History", + "View": "View", + "ViewBlockedIPSHelpText": "View the list of locked IPs", + "ViewMore": "See More", + "ViewPerm": "View Authorization", + "ViewSecret": "View Cipher Text", + "VirtualAccountDetail": "Virtual Account Details", + "VirtualAccountUpdate": "Virtual Account Update", + "VirtualAccounts": "Virtual Account", + "VirtualApp": " Virtual Apps", + "VirtualAppDetail": "Virtual Application Details", + "VirtualApps": "Virtual Apps", + "VmwareClient": "vSphere Client", + "VmwarePassword": "Login Password", + "VmwareTarget": "Target Address", + "VmwareUsername": "Login Account", + "WeCom": "Enterprise WeChat", + "WeComTest": "Test", + "WebCreate": "Create Assets-Web", + "WebFTP": "File", + "WebHelpMessage": "Web type assets depend on remote applications. Please configure in remote applications in the system settings", + "WebSocketDisconnect": "WebSocket Disconnection", + "WebTerminal": "Web Terminal", + "WebUpdate": "Update Asset-Web", + "Wednesday": "Wednesday", + "Week": "Week", + "WeekAdd": "Added This Week", + "WeekOf": "Days of the Week", + "WeekOrTime": "Day/Time", + "Weekly": "Weekly", + "WildcardsAllowed": "Permitted Wildcards", + "WindowsAdminUser": "Windows Privileged User", + "WindowsPushHelpText": "Windows Assets do not Support Key Pushing", + "WordSep": "", + "WorkBench": "Workbench", + "Workbench": "Workbench", + "Workspace": "Workspace", + "Yes": "Yes", + "ZStack": "ZStack" +} \ No newline at end of file diff --git a/apps/locale/lina/zh.json b/apps/i18n/lina/zh.json similarity index 99% rename from apps/locale/lina/zh.json rename to apps/i18n/lina/zh.json index 96c7bfb8d..09d1577f9 100644 --- a/apps/locale/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -45,7 +45,7 @@ "Action": "动作", "ActionCount": "动作数量", "ActionSetting": "动作设置", - "Actions": "权限", + "Actions": "动作", "ActionsTips": "各个权限作用协议不尽相同,点击权限后面的图标查看", "Activate": "激活", "ActivateSuccessMsg": "激活成功", diff --git a/apps/locale/luna/en.json b/apps/i18n/luna/en.json similarity index 95% rename from apps/locale/luna/en.json rename to apps/i18n/luna/en.json index 97d6c5fbd..8d3cae2a1 100644 --- a/apps/locale/luna/en.json +++ b/apps/i18n/luna/en.json @@ -22,6 +22,7 @@ "CLI": "CLI", "CLI font size": "CLI font size", "Cancel": "Cancel", + "Charset": "Character Set", "Checkbox": "Checkbox", "Choose a User": "Choose a User", "Click to copy": "Click to copy", @@ -47,6 +48,7 @@ "Current online": "Current online", "Current session": "Current session", "Database": "Database", + "Database connect info": "Database Connection Information", "Database disabled": "This type of connection is not supported, please contact an administrator.", "Database info": "Database info", "Database token help text": "The database type token that the client connects to will be cached by the component for 5 minutes, which means that the token will not be invalidated immediately after it is used, but five minutes after the client disconnects", @@ -66,8 +68,11 @@ "Expand all": "Expand all", "Expand all asset": "Expand all assets under the current node", "Expire time": "Expire time", + "Failed to open address": "Failed to Open Address", "Favorite": "Favorite", "File Manager": "File Manager", + "Fold": "Collapse", + "Fold all": "Collapse All", "Force refresh": "Force refresh", "Found": "Found", "French keyboard layout": "French (Azerty)", @@ -127,6 +132,7 @@ "RDP Client": "RDP Client", "RDP File": "RDP File", "RDP client options": "RDP client options", + "RDP color quality": "RDP Color Quality", "RDP resolution": "RDP resolution", "RDP smart size": "RDP smart size", "Re-use for a long time after opening": "Re-use for a long time after opening", @@ -161,12 +167,14 @@ "Split connect number": "One session can support up to three split screen connection", "Split vertically": "Split vertically", "Start Time: ": "Start time: {{value}}", + "Stop": "Stop", "Support": "Support", "Swiss French keyboard layout": "Swiss French (Qwertz)", "Switch to input command": "Switch to input command", "Switch to quick command": "Switch to quick command", "Tab List": "Tab List", "The connection method is invalid, please refresh the page": "The connection method is invalid, please refresh the page", + "Ticket review approved for login asset": " The login audit has been approved, connect to the asset?", "Ticket review closed for login asset": "This login review has been closed, and the asset cannot be connected", "Ticket review pending for login asset": "The login asset has been submitted, waiting for review by the assignee, you can also copy the link and send it to he", "Ticket review rejected for login asset": "This login review has been rejected, and the asset cannot be connected", @@ -177,6 +185,7 @@ "Type tree": "Type tree", "UK English keyboard layout": "UK English (Qwerty)", "US English keyboard layout": "US English (Qwerty)", + "User": "User", "User: ": "User: {{value}}", "Username": "Username", "Username@Domain": "Username@Domain", diff --git a/apps/locale/luna/zh.json b/apps/i18n/luna/zh.json similarity index 100% rename from apps/locale/luna/zh.json rename to apps/i18n/luna/zh.json diff --git a/apps/locale/sort_json.py b/apps/i18n/sort_json.py similarity index 100% rename from apps/locale/sort_json.py rename to apps/i18n/sort_json.py diff --git a/apps/locale/translate/main.py b/apps/i18n/translate.py similarity index 85% rename from apps/locale/translate/main.py rename to apps/i18n/translate.py index 74a248092..cd5be62f8 100644 --- a/apps/locale/translate/main.py +++ b/apps/i18n/translate.py @@ -1,9 +1,10 @@ import asyncio import os -from apps.locale.translate import LOCALE_DIR, RED -from apps.locale.translate.manager import OtherTranslateManager, CoreTranslateManager -from apps.locale.translate.utils import OpenAITranslate +from _translator.const import LOCALE_DIR, RED +from _translator.core import CoreTranslateManager +from _translator.other import OtherTranslateManager +from _translator.utils import OpenAITranslate class Translate: @@ -22,6 +23,7 @@ class Translate: return dir_names async def core_trans(self, dir_name): + return _dir = os.path.join(LOCALE_DIR, dir_name) zh_file = os.path.join(_dir, 'zh', 'LC_MESSAGES', 'django.po') if not os.path.exists(zh_file): @@ -45,6 +47,8 @@ class Translate: return for dir_name in dir_names: + if dir_name.startswith('_'): + continue if hasattr(self, f'{dir_name}_trans'): await getattr(self, f'{dir_name}_trans')(dir_name) else: diff --git a/apps/jumpserver/settings/base.py b/apps/jumpserver/settings/base.py index f6e618693..03ac5bb33 100644 --- a/apps/jumpserver/settings/base.py +++ b/apps/jumpserver/settings/base.py @@ -298,7 +298,7 @@ USE_TZ = True # I18N translation LOCALE_PATHS = [ - os.path.join(BASE_DIR, 'locale', 'core'), + os.path.join(BASE_DIR, 'i18n', 'core'), ] # Static files (CSS, JavaScript, Images) diff --git a/apps/labels/apps.py b/apps/labels/apps.py index a3bf4dabd..de4a313a5 100644 --- a/apps/labels/apps.py +++ b/apps/labels/apps.py @@ -5,4 +5,4 @@ from django.utils.translation import gettext_lazy as _ class LabelsConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'labels' - verbose_name = _('Labels') + verbose_name = _('App Labels') diff --git a/apps/locale/lina/en.json b/apps/locale/lina/en.json deleted file mode 100644 index 8fc67c281..000000000 --- a/apps/locale/lina/en.json +++ /dev/null @@ -1,1870 +0,0 @@ -{ - "": "", - "APIKey": "API Key", - "AWSChina": "AWS(China)", - "AWSInt": "AWS(International)", - "About": "About", - "Accept": "Accept", - "AccessIP": "Access IP", - "AccessKey": "Access Key", - "Account": "Account", - "AccountBackup": "Account backup", - "AccountBackupCreate": "Create account backup", - "AccountBackupPlan": "Account Backup Plan", - "AccountBackupPlanCreate": "Account backup plan create", - "AccountBackupPlanUpdate": "Account backup plan update", - "AccountBackupUpdate": "Update account backup", - "AccountChangeSecret": "Account change", - "AccountCreate": "Create account", - "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", - "AccountDetail": "Account detail", - "AccountEnabled": "Enable account switching", - "AccountExportTips": "The exported information contains account secret, which involves sensitive information. The exported format is an encrypted zip file (if no encryption password is set, please go to personal information to set the file encryption password).", - "AccountGather": "Account gather", - "AccountGatherList": "Gather task", - "AccountGatherTaskCreate": "Create task", - "AccountGatherTaskExecutionList": "Task execution list", - "AccountGatherTaskList": "Account gather", - "AccountGatherTaskUpdate": "Update task", - "AccountHelpText": "A cloud account is used to connect to a cloud service provider and access the provider's resource information.", - "AccountHistoryHelpMessage": "Record the historical version of the current account", - "AccountKey": "Account key", - "AccountList": "Account list", - "AccountName": "Account name", - "AccountPolicy": "Account policy", - "AccountPushCreate": "Account push create", - "AccountPushExecutionList": "Execution list", - "AccountPushList": "Account push", - "AccountPushUpdate": "Account push update", - "AccountStorage": "Account Storage", - "AccountTemplate": "Account template", - "AccountTemplateUpdateSecretHelpText": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.", - "AccountUpdate": "Update account", - "AccountUsername": "Account (Username)", - "Accounts": "Accounts", - "AccountsHelp": "All accounts: accounts exists on the asset; Specify accounts: specify the user name of the account under the asset;Manual input: username/password; Same account: The account username name same with login user", - "Acl": "Access Control", - "Acls": "Acls", - "Action": "Action", - "ActionCount": "Number of actions", - "ActionSetting": "Action setting", - "Actions": "Actions", - "ActionsTips": "The effects of each permission vary, click the icon next to the permission to view.", - "Activate": "Activate", - "ActivateSuccessMsg": "Active success", - "Active": "active", - "ActiveAsset": "Asset active", - "ActiveAssetRanking": "Login asset ranking", - "ActiveSelected": "Active selected", - "ActiveUser": "User active", - "ActiveUserAssetsRatioTitle": "User, Asset active ratio", - "Activity": "Activity", - "AdDomain": "AD Domain", - "AdDomainHelpText": "AD domain provided to domain users for login", - "Add": "Add", - "AddAccount": "Add account", - "AddAccountResult": "Add account result", - "AddAllMembersWarningMsg": "Are you sure you want to add all members?", - "AddApplicationToThisPermission": "Add Application to this permission", - "AddAsset": "Add asset", - "AddAssetToNode": "Add asset to node", - "AddAssetToThisPermission": "Add asset to this permission", - "AddDatabaseAppToThisPermission": "Add DatabaseApp to this permission", - "AddFailMsg": "Add fail", - "AddK8sAppToThisPermission": "Add KubernetesApp to this permission", - "AddNode": "Add node", - "AddNodeToThisPermission": "Add node to this permission", - "AddOrgMembers": "Add organization members", - "AddPassKey": "AddPassKey", - "AddRemoteAppToThisPermission": "Add RemoteApp to this permission", - "AddRolePermissions": "After add or update success, set permissions in detail page", - "AddSuccessMsg": "Add success", - "AddSystemUser": "Add systemuser", - "AddSystemUserToThisPermission": "System user", - "AddUserGroupToThisPermission": "Add user group to this permission", - "AddUserToThisPermission": "Add user to this permission", - "Address": "Address", - "Addressee": "Addressee", - "AdhocDetail": "Adhoc detail", - "AdhocManage": "Adhoc manage", - "AdhocUpdate": "Update Adhoc", - "Admin": "Admin", - "AdminUser": "Admin user", - "AdminUserCreate": "Admin user create", - "AdminUserDetail": "Admin user detail", - "AdminUserList": "Admin Users", - "AdminUserListHelpMessage": "Admin users are asset (charged server) on the root, or have NOPASSWD: ALL sudo permissions users, JumpServer users of the system using the user to `push system user`, `get assets hardware information`, etc.\n", - "AdminUserUpdate": "Admin user update", - "Advanced": "Advanced", - "AfterChange": "After the change", - "AjaxError404": "404 ajax error", - "AlibabaCloud": "Alibaba cloud", - "Alive": "alive", - "Aliyun": "Ali Cloud", - "All": "All", - "AllAccountTip": "All accounts of the asset exists", - "AllAccounts": "All accounts", - "AllClickRead": "All read", - "AllMembers": "All members", - "AllOrganization": "All organization", - "AllowInvalidCert": "Ignore certificate check", - "Announcement": "Announcement", - "AnonymousAccount": "Anonymous Account", - "AnonymousAccountTip": "Connect asset without using a username and password, and it only supports web-based and custom-type assets.", - "ApiKey": "API Key", - "ApiKeyList": "The API key is used to sign the request header. The header of each request is different. Please refer to the usage documentation", - "ApiKeyWarning": "To reduce the risk of AccessKey exposure, Secret is provided only during creation and cannot be queried again later. Please keep it safe.", - "App": "Application", - "AppAuth": "App auth", - "AppChangeAuthPlan": "App Change Auth Plan", - "AppChangeAuthPlanCreate": "Create App change auth plan", - "AppChangeAuthPlanUpdate": "Update App change auth plan", - "AppEndpoint": "Application access address", - "AppList": "Application list", - "AppName": "App name", - "AppOps": "Task center", - "AppPath": "App path", - "AppProvider": "App provider", - "AppProviderDetail": "Provider Detail", - "AppType": "App type", - "AppletCreate": "Create a remote application", - "AppletDetail": "Remote apps", - "AppletHelpText": "During the upload process, if the application does not exist, the application is created; if it already exists, the application is updated.", - "AppletHostCreate": "Add a remote application publisher", - "AppletHostDetail": "Remote Application Publisher Details", - "AppletHostDomainHelpText": "These domains are in System Organization", - "AppletHostSelectHelpMessage": "When connecting assets, the selection of the applet host is random. If you want to assign a specific one, you can specify the label AppletHost:AppletHostName in the asset label", - "AppletHostUpdate": "Updating the Remote Application Publisher", - "AppletHosts": "Remote hosts", - "Applets": "Applets", - "Applicant": "Applicant", - "Application": "Enter the application group, separated by commas", - "ApplicationAccount": "Application account", - "ApplicationDetail": "Application detail", - "ApplicationPermission": "Application Permissions", - "ApplicationPermissionCreate": "Application permission create", - "ApplicationPermissionDetail": "Application permission detail", - "ApplicationPermissionRules": "Application permission rules", - "ApplicationPermissionUpdate": "Application permission update", - "Applications": "Applications", - "ApplyAsset": "Apply asset", - "ApplyFromCMDFilterRule": "Command filter rule", - "ApplyFromSession": "Session", - "ApplyInfo": "Apply info", - "ApplyLoginAccount": "Apply login account", - "ApplyLoginAsset": "Apply login asset", - "ApplyLoginSystemUser": "Apply login system user", - "ApplyLoginUser": "Apply login user", - "ApplyRunAsset": "Apply run asset", - "ApplyRunCommand": "Apply run command", - "ApplyRunSystemUser": "Apply run system user", - "ApplyRunUser": "Apply run user", - "Appoint": "appoint", - "ApprovaLevel": "Approval information", - "ApprovalLevel": "Approval level", - "ApprovalProcess": "Approval process", - "Approved": "Approved", - "ApproverNumbers": "Approver numbers", - "AppsCount": "App count", - "AppsList": "App list", - "ApsaraStack": "Apsara Stack", - "Asset": "Asset", - "AssetAccount": "Asset account", - "AssetAccountDetail": "Asset account detail", - "AssetAclCreate": "Asset acl create", - "AssetAclDetail": "Asset acl detail", - "AssetAclList": "Asset connect acl", - "AssetAclUpdate": "Asset acl update", - "AssetAddress": "IP/Host", - "AssetAmount": "Asset", - "AssetAndNode": "Assets and node", - "AssetBulkUpdateTips": "device、cloud、web, Batch update of domain is not supported", - "AssetChangeAuthPlan": "Asset Change Auth Plan", - "AssetChangeAuthPlanCreate": "Create Asset change auth plan", - "AssetChangeAuthPlanUpdate": "Update Asset change auth plan", - "AssetChangeSecretCreate": "Create account change secret", - "AssetChangeSecretUpdate": "Update account change secret", - "AssetCount": "Asset count", - "AssetCreate": "Asset create", - "AssetData": "Asset data", - "AssetDetail": "Asset detail", - "AssetHistoryAccount": "Asset history account", - "AssetIpGroup": "Asset ip group", - "AssetList": "Assets", - "AssetListHelpMessage": "The left side is the asset tree, right click to create, delete, and change the tree node, authorization asset is also organized as a node, and the right side is the asset under that node\n", - "AssetLoginACLHelpMsg": "It can determine whether the user can access the asset based on the user's login IP and time period.", - "AssetName": "Asset name", - "AssetNumber": "Asset number", - "AssetPermission": "Asset permissions", - "AssetPermissionCreate": "Asset permissions create", - "AssetPermissionDetail": "Asset permissions detail", - "AssetPermissionHelpMsg": "Asset permission allows you to authorize the assets to the users. Additionally, you can set some specific action permission.", - "AssetPermissionList": "Asset permission list", - "AssetPermissionRules": "Asset permission rules", - "AssetPermissionUpdate": "Asset permissions update", - "AssetPermsAmount": "Permissions", - "AssetProtocolHelpText": "Asset support protocol is limited by platform, click the Settings button to view the protocol settings. If you need to update, please update the platform", - "AssetRatio": "Asset radio", - "AssetResultDetail": "Asset result", - "AssetTree": "Asset tree", - "AssetUpdate": "Asset update", - "AssetUserList": "Asset user", - "Assets": "Assets", - "AssetsAmount": "Assets", - "AssetsTotal": "Asset total", - "AssignedInfo": "Assigned Info", - "AssignedMe": "Assigned me", - "AssignedTicketList": "Todo approval", - "Assignee": "Assignee", - "Assignees": "Assignees", - "AssociateApplication": "Associate application", - "AssociateAssets": "Associate assets", - "AssociateNodes": "Associate nodes", - "AssociateSystemUsers": "Associate system users", - "AttrName": "Attribute Name", - "AttrValue": "Attribute Value", - "Auditor": "Auditor", - "Audits": "Audit", - "Auth": "Authentications", - "AuthCASAttrMap": "User Attribute Mapping", - "AuthLdap": "Enable LDAP auth", - "AuthLdapBindDn": "Bind DN", - "AuthLdapBindPassword": "Password", - "AuthLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", - "AuthLdapSearchOu": "Use | split User OUs", - "AuthLdapServerUri": "LDAP server", - "AuthLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username, name, email is jumpserver attr", - "AuthLimit": "Auth limit", - "AuthMethod": "Auth methods", - "AuthSAML2AdvancedSettings": "Advanced Settings", - "AuthSAML2MetadataUrl": "IDP metadata URL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "After upload cert and private key, View SP Metadata", - "AuthSAMLKeyHelpText": "SP cert and private key, using communicate with IDP", - "AuthSaml2UserAttrMapHelpText": "Mapping relationship { saml2Key: spKey}", - "AuthSecurity": "Auth security", - "AuthSetting": "Auth setting", - "AuthSettings": "Auth settings", - "AuthUserAttrMap": "User attr map", - "AuthUserAttrMapHelpText": "Mapping relationship { idpKey: spKey}", - "AuthUsername": "Auth using username", - "Authentication": "Account", - "Author": "Author", - "Auto": "Auto", - "AutoCreate": "Auto create", - "AutoEnabled": "Enable Automation", - "AutoGenerateKey": "Auto generate ssh key", - "AutoPush": "Auto push", - "Automations": "Automation", - "AverageTimeCost": "Average time spent", - "Azure": "Azure(China)", - "AzureInt": "Azure(International)", - "Backup": "Backup", - "BadConflictErrorMsg": "Refreshing, please try again later", - "BadRequestErrorMsg": "Bad request, please check again", - "BadRoleErrorMsg": "Bad request, no permission for this operation", - "BaiduCloud": "Baidu Cloud", - "BasePlatform": "Base platform", - "BasePort": "listening port", - "Basic": "Basic", - "BasicInfo": "Basic information", - "BasicSetting": "Basic setting", - "BasicTools": "Basic tool", - "BatchActivate": "Batch activate", - "BatchApproval": "Batch approval", - "BatchCommand": "Batch Command", - "BatchCommandNotExecuted": "Batch command not executed", - "BatchConsent": "Batch consent", - "BatchDelete": "Batch delete", - "BatchDisable": "Batch disable", - "BatchProcessing": "Batch processing(select {Number} items)", - "BatchReject": "Batch reject", - "BatchRemoval": "Batch removal", - "BatchScript": "Batch Script", - "BatchUpdate": "Batch update", - "Become": "Become", - "BeforeChange": "Before change", - "Beian": "Registration", - "BelongAll": "Contains all", - "BelongTo": "Contains any", - "Bind": "Bind", - "BindLabel": "Bind label", - "BindResource": "Bind resource", - "BindSuccess": "Bind success", - "BlockedIPS": "Blocked IPS", - "Bucket": "Bucket", - "Builtin": "Builtin", - "BuiltinTree": "Type tree", - "BuiltinVariable": "Builtin variable", - "BulkClearErrorMsg": "Bulk clear error:", - "BulkCreateStrategy": "When creating accounts that do not meet the requirements, such as key type non-compliance and unique key constraints, the above policies can be selected.", - "BulkDeleteErrorMsg": "Bulk delete failed: ", - "BulkDeleteSuccessMsg": "Bulk delete success", - "BulkDeploy": "Bulk deploy", - "BulkOffline": "Bulk offline", - "BulkRemoveErrorMsg": "Bulk remove failed: ", - "BulkRemoveSuccessMsg": "Bulk remove success", - "BulkSyncDelete": "Bulk sync delete", - "BulkSyncErrorMsg": "Bulk sync success:", - "BulkTransfer": "Bulk transfer", - "BulkUnblock": "BulkUnblock", - "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset is the same as the selected platform type will it be updated, if the platform type before and after the update is different, it will not be updated.", - "CACertificate": "CA Certificate", - "CAS": "CAS", - "CASSetting": "CAS setting", - "CMPP2": "CMPP v2.0", - "CTYunPrivate": "CTYun Private", - "CalculationResults": "calculationResults...", - "CanDragSelect": "Can drag the mouse to select a time period", - "Cancel": "Cancel", - "CancelCollection": "Cancel collection", - "CannotAccess": "Unable to access the current page", - "Cas": "CAS", - "Category": "Category", - "CeleryTaskLog": "Celery task log", - "Certificate": "Certificate", - "CertificateKey": "Certificate Key", - "ChangeAuthPlan": "Change Auth Plan", - "ChangeField": "Change field", - "ChangePassword": "Change password", - "ChangeReceiver": "Change Receivers", - "ChangeSecretParams": "Change secret params", - "ChangeViewHelpText": "Click to change view", - "Charset": "Charset", - "Chat": "Chat", - "ChatAI": "Chat AI", - "ChatHello": "Hello! What help can I offer you?", - "ChdirHelpText": "The default execution directory is the home directory of the executing user", - "CheckAssetsAmount": "Check assets amount", - "CheckViewAcceptor": "View more acceptor", - "ChinaRed": "China red", - "Chrome": "Chrome", - "ChromePassword": "Password", - "ChromeTarget": "target URL", - "ChromeUsername": "Account", - "ClassicGreen": "Classic green", - "CleanHelpText": "Regular cleanup tasks will be executed at 2 o'clock in the morning every day, and the cleaned data cannot be recovered", - "Cleaning": "Period clean", - "Clear": "Clear", - "ClearScreen": "Clear screen", - "ClearSecret": "Clear secret", - "ClearSelection": "Clear selection", - "ClearSuccessMsg": "Clear success", - "ClickCopy": "Click copy", - "Clickhouse": "ClickHouse", - "ClientCertificate": "Client certificate", - "ClipBoard": "ClipBoard", - "ClipboardCopy": "Clipboard copy", - "ClipboardCopyPaste": "Copy Paste", - "ClipboardPaste": "Clipboard paste", - "Clone": "Duplicate", - "CloneFrom": "Duplicate from ", - "Close": "Close", - "CloseConfirm": "Confirm close", - "CloseConfirmMessage": "The file has changed, do you want to save it?", - "CloseStatus": "Close", - "Closed": "Closed", - "Cloud": "Cloud app", - "CloudCenter": "Cloud Center", - "CloudCreate": "Create Asset - Cloud Platform", - "CloudPlatform": "Cloud platform", - "CloudSource": "Cloud source", - "CloudSync": "Cloud sync", - "CloudUpdate": "Update Asset - Cloud Platform", - "Clouds": "Cloud", - "Cluster": "Cluster", - "ClusterHelpTextMessage": "Tips: https://172.16.8.8:8443", - "CmdFilter": "CmdFilter", - "CollapseSidebar": "Collapse the sidebar", - "CollectHardwareInfo": "Enable collection of hardware information", - "CollectionSucceed": "Collection succeed", - "Command": "Command", - "Command filter": "Command filter", - "CommandConfirm": "Command confirm", - "CommandExecutions": "CommandExecutions ", - "CommandFilterACL": "Command filter", - "CommandFilterACLHelpMsg": "You can control whether commands can be executed on assets. Based on the rules, certain commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Command acl create", - "CommandFilterAclDetail": "Command acl detail", - "CommandFilterAclList": "Command acl", - "CommandFilterAclUpdate": "command acl update", - "CommandFilterCreate": "Command filter create", - "CommandFilterDetail": "Command filter detail", - "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; multiple rules can be configured in the filter. When the system user is used to connect to the asset, the input command takes effect according to the priority of the rules configured in the filter.
Example: The first matched rule is \"Allow\", the command is executed, the first matched rule is \"Forbidden\", the command execution is prohibited; if the last rule is not matched, it is allowed to be executed.", - "CommandFilterList": "Command filter list", - "CommandFilterRuleContentHelpText": "One line one command", - "CommandFilterRulePriorityHelpText": "1-100, the higher will be match first", - "CommandFilterRules": "Command filter rules", - "CommandFilterRulesCreate": "Command filter rules create", - "CommandFilterRulesUpdate": "Command filter rules update", - "CommandFilterUpdate": "Command filter update", - "CommandGroup": "Command group", - "CommandGroupCreate": "Command group create", - "CommandGroupDetail": "Command group detail", - "CommandGroupList": "Command group", - "CommandGroupUpdate": "Command group update", - "CommandStorage": "Command storage", - "CommandStorageUpdate": "Command storage update", - "Commands": "Commands", - "Comment": "Comment", - "CommentHelpText": "Note: Note information will be hovered and displayed in the user authorization asset tree of Luna page, which can be viewed by ordinary users. Please do not fill in sensitive information.", - "Common": "common", - "CommonUser": "Common user", - "CommunityEdition": "Community edition", - "Component": "component", - "ComponentMonitor": "System Monitor", - "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Do not respond with anything except the output of the code. ", - "ConceptTitle": "🤔 Python interpreter", - "Config": "Config", - "Confirm": "Confirm", - "ConfirmPassword": "Confirm password", - "Connect": "Connect", - "ConnectMethod": "Connect method", - "ConnectMethodACLHelpMsg": "You can control whether users can use a certain connection method to log in to the asset. Based on the rules you set, certain connection methods can be allowed while others are prohibited(global effective).", - "ConnectMethodAclCreate": "Create connect method acl", - "ConnectMethodAclDetail": "Connect method acl detail", - "ConnectMethodAclList": "Connect method acl", - "ConnectMethodAclUpdate": "Update connect method acl", - "ConnectUsers": "Connect accounts", - "ConnectWebSocketError": "Connect Websocket failed", - "ConnectionDropped": "Connection dropped", - "ConnectionToken": "Connection token", - "ConnectionTokenList": "The connection token is a kind of authentication information that combines authentication and connection assets. It allows users to log in to assets with one click. Currently supported components include: KoKo, Lion, Magnus, Razor, etc.", - "Connectivity": "Reachable", - "Console": "Console", - "Consult": "Consult", - "ContainAttachment": "Contain attachment", - "ContainerName": "Container name", - "Containers": "Containers", - "Contains": "Contains", - "Content": "Content", - "Contents": "Contents", - "Continue": "Continue", - "ContinueImport": "ContinueImport", - "ConvenientOperate": "Convenient operate", - "Copy": "Copy", - "CopySuccess": "Copy success", - "Corporation": "Corporation", - "Correlation": "Correlation", - "Cpu": "Cpu", - "Create": "Create", - "CreateAccessKey": "Create Access key", - "CreateAccountTemplate": "Create account template", - "CreateAdhoc": "Create Adhoc", - "CreateBy": "Create by", - "CreateCommandStorage": "Create command storage", - "CreateEndpoint": "Create endpoint", - "CreateEndpointRule": "Create endpoint rule", - "CreateErrorMsg": "Create error", - "CreateNode": "Create node", - "CreateOrgMsg": "Please go to Organization Details to add users", - "CreatePlaybook": "Create Playbook", - "CreateRemoteApp": "Create asset - Remote app", - "CreateReplayStorage": "Create object storage", - "CreateSuccessMsg": "Create success", - "CreateUserSetting": "Create User setting", - "Created": "Created", - "CreatedBy": "Created by", - "CriticalLoad": "Critical", - "CronExpression": "cron expression", - "CrontabHelpTips": "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips:Using 5 digits linux crontab expressions (Online tools)
Note:If both Regularly perform and Cycle perform are set, give priority to Regularly perform", - "CrontabOfCreateUpdatePage": "For example: every Sunday at 03:05 execute <5 3 * * 0>
Using the 5-bit Linux crontab expression ( Online tool )
If both regularly perform and cycle perform execution are set, use regularly perform first", - "CurrentConnections": "Current connections", - "CurrentUserVerify": "Verify Current User", - "Custom": "Custom", - "CustomCmdline": "Cmdline", - "CustomCol": "Custom table display", - "CustomCreate": "Create Asset - Custom", - "CustomFields": "Custom Fields", - "CustomFile": "Save the customized file to the specified directory (data/sms/main.py) and enable the configuration item SMSCUSTOMFILEMD5= in config.txt", - "CustomHelpMessage": "The assets of custom types require applet support. Please ensure that the corresponding applet is installed.", - "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the JumpServer parameters to be formatted, as follows::
{\"phoneNumbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", - "CustomPassword": "Password", - "CustomTarget": "target URL", - "CustomTree": "Custom tree", - "CustomType": "Custom Type", - "CustomUpdate": "Update Asset - Custom", - "CustomUser": "Custom user", - "CustomUsername": "Account", - "Cycle": "Cycle", - "CycleFromWeek": "cycle from week", - "CyclePerform": "Cycle perform", - "DBInfo": "Database Info", - "DangerCommand": "Danger command", - "DangerousCommandNum": "Dangerous command num", - "Dashboard": "Dashboard", - "Database": "Database", - "DatabaseApp": "DatabaseApp", - "DatabaseAppCount": "DatabaseApp count", - "DatabaseAppCreate": "Database app create", - "DatabaseAppDetail": "Database app detail", - "DatabaseAppPermission": "Databases permissions", - "DatabaseAppPermissionCreate": "Databases permissions create", - "DatabaseAppPermissionDetail": "Databases permissions detail", - "DatabaseAppPermissionUpdate": "Databases permissions update", - "DatabaseAppUpdate": "Database app update", - "DatabaseCreate": "Create Asset - Database", - "DatabaseId": "Database Id", - "DatabasePermissionRules": "Database Permission rules", - "DatabasePort": "Database protocol port", - "DatabaseProtocol": "Database Protocol", - "DatabaseUpdate": "Update Asset - Database", - "Date": "Date", - "DateCreated": "Date created", - "DateEnd": "Date end", - "DateExpired": "Date expired", - "DateFinished": "Date finished", - "DateJoined": "Date joined", - "DateLast24Hours": "Last 24 hours", - "DateLast3Months": "Last 3 months", - "DateLastHarfYear": "Last half year", - "DateLastLogin": "Date last login", - "DateLastMonth": "Last month", - "DateLastRun": "last run date", - "DateLastSync": "Date last sync", - "DateLastWeek": "Last week", - "DateLastYear": "Last year", - "DatePasswordLastUpdated": "Date password last updated", - "DatePasswordUpdated": "Date password updated", - "DateStart": "Date start", - "DateSync": "Date sync", - "DateUpdated": "Date updated", - "Datetime": "Datetime", - "Day": "day", - "Db": "Database app", - "DeactiveSelected": "Deactive selected", - "DeclassificationLogNum": "Declassification log num", - "Default": "Default", - "DefaultDatabase": "Default database", - "DefaultPort": "Default port", - "DefaultProtocol": "Default agreement, which will be selected by default when adding assets", - "Defaults": "Default", - "Delete": "Delete", - "DeleteConfirmMessage": "It cannot be restored after deletion, continue?", - "DeleteErrorMsg": "Delete failed", - "DeleteFailedMsg": "Delete failed", - "DeleteFile": "Delete file", - "DeleteNode": "Delete node", - "DeleteOrgMsg": "User list、User group、Asset list、Domain list、Admin user、System user、Labels、Asset permission", - "DeleteOrgTitle": "Please ensure that the following information in the organization has been deleted", - "DeleteReleasedAssets": "Delete released assets", - "DeleteSuccess": "Successfully deleted", - "DeleteSuccessMsg": "Delete success", - "DeleteWarningMsg": "Are you sure to delete ", - "DeliveryTime": "Delivery time", - "Deploy": "Deploy", - "DescribeOfGuide": "Welcome to JumpServer. Click here for more information", - "Description": "Description", - "DestinationIP": "Destination address", - "DestinationPort": "Destination port", - "Detail": "Detail", - "Device": "Device", - "DeviceCreate": "Create Asset - Network Device", - "DeviceUpdate": "Update Asset - Network Device", - "Digit": "Digit", - "DingTalk": "DingTalk", - "DingTalkTest": "Test", - "Disable": "Disable", - "DisableSuccessMsg": "Disable success", - "DisabledAsset": "Asset disabled", - "DisabledUser": "User disabled", - "Disk": "Disk", - "DisplayName": "Display name", - "DocType": "Doc type", - "Docs": "Docs", - "Domain": "Domain", - "DomainCreate": "Domain create", - "DomainDetail": "Domain detail", - "DomainEnabled": "Enable domain", - "DomainHelpMessage": "The domain function is added to address the fact that some environments (such as the hybrid cloud) cannot be connected directly by jumping on the gateway server.\nJMS => Domain gateway => Target assets", - "DomainList": "Domains", - "DomainUpdate": "Domain update", - "Download": "download", - "DownloadCenter": "Download center", - "DownloadFTPFileTip": "The current action is not recorded in the file, or the file size exceeds the threshold (100 MB by default), or is not saved to the corresponding storage", - "DownloadFile": "Download file", - "DownloadImportTemplateMsg": "Download import template", - "DownloadReplay": "Download replay", - "DownloadUpdateTemplateMsg": "Download update template", - "DragUploadFileInfo": "Drag file here or click here to upload", - "DropConfirmMsg": "Are you sure mv {src} to {dst} ?", - "DryRun": "Dry run", - "DuplicateFileExists": "Uploading files with the same name is not allowed. Please delete the existing file with the same name.", - "Duration": "Duration", - "DynamicUsername": "Dynamic username", - "Edit": "Edit", - "Edition": "Edition", - "Email": "Email", - "EmailContent": "Email content setting", - "EmailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", - "EmailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", - "EmailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", - "EmailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", - "EmailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", - "EmailHost": "SMTP host", - "EmailHostPassword": "Tips: Some provider use token except password", - "EmailHostUser": "SMTP user", - "EmailPort": "SMTP port", - "EmailRecipient": "Tips: Used only as a test mail recipient", - "EmailSubjectPrefix": "Tips: Some word will be intercept by mail provider", - "EmailTest": "Test connection", - "EmailUserSSL": "If SMTP port is 465, may be select", - "EmailUserTLS": "If SMTP port is 587, may be select", - "Empty": "Empty", - "Enable": "Enable", - "EnableKoKoSSHHelpText": "Enabled, connect assets to display SSH Client pull-up method", - "EnableOAuth2Auth": "Enable OAuth2 authentication", - "EnableSAML2Auth": "Enable SAML2 Auth", - "EnableVaultStorage": "Opening Vault Storage", - "EndPoint": "Endpoint", - "Endpoint": "Endpoint", - "EndpointListHelpMessage": "The service endpoint is the address (port) for the user to access the service. When the user connects to the asset, the service endpoint will be selected according to the endpoint rules and asset tags, and the connection will be established as the access entry to realize the distributed connection of assets.", - "EndpointRule": "Endpoint rule", - "EndpointRuleListHelpMessage": "For the service endpoint selection strategy, two types are currently supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through the asset tag. The tag name is fixed to endpoint, and the value is the name of the `endpoint`.
Two methods preferentially use label matching, because the IP segment may conflict, and the label method exists as a supplement to the rules.", - "EndpointSuffix": "Endpoint suffix", - "Endswith": "Ends With", - "EnsureThisValueIsGreaterThanOrEqualTo1": "Ensure this value is greater than or equal to 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "Ensure this value is greater than or equal to 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "Ensure this value is greater than or equal to 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure this value is greater than or equal to 6", - "EnterForSearch": "Press enter to search", - "EnterMessage": "Please enter a question, press Enter to send", - "EnterRunUser": "Enter run user", - "EnterRunningPath": "Enter running path", - "EnterToContinue": "Press Enter to continue", - "EnterUploadPath": "Enter the upload path", - "Enterprise": "Enterprise", - "EnterpriseEdition": "Enterprise edition", - "Equal": "Equal", - "Error": "Error", - "ErrorMsg": "Error", - "EsDisabled": "Node is unavailable, please contact administrator", - "EsDocType": "Es provides the default document type: command", - "EsIndex": "Es provides the default index: jumpserver. If you choose to build an index by date, this blank is the index prefix", - "EsUrl": "Cannot contain special characters `#`; eg: http://esUser:esPassword@esHost:esPort", - "Every": "every", - "EveryMonth": "every month", - "Exclude": "Exclude", - "ExcludeAsset": "Skipped assets", - "ExcludeSymbol": "Exclude symbol", - "Execute": "Execute", - "ExecuteCycle": "Execute cycle", - "ExecuteFailedCommand": "Execute failed command", - "ExecuteOnce": " execute once", - "Execution": "Execution", - "ExecutionDetail": "Execution detail", - "ExecutionList": "Execution list", - "ExecutionTimes": "Execution times", - "ExistError": "This element already exists", - "Existing": "Existing", - "ExpectedNextExecuteTime": "Expected next execute time", - "ExpirationTimeout": "Expiration timeout (second)", - "Expire": "Expire", - "Expired": "Expired", - "Export": "Export", - "ExportAll": "Export all", - "ExportOnlyFiltered": "Export only filtered", - "ExportOnlySelectedItems": "Export only selected items", - "ExportRange": "Export range", - "FAILURE": "Failure", - "FC": "Fusion Compute", - "Failed": "Failed", - "FailedAsset": "Failed asset", - "FailedConditions": "cron expression error", - "False": "False", - "Favicon": "Website icon", - "FaviconTip": "Tips: website icon. (suggest image size: 16px*16px)", - "Feature": "Feature", - "Features": "Features", - "FeiShu": "FeiShu", - "FeiShuTest": "Test", - "FieldRequiredError": "This field is required", - "FileEncryptionPassword": "File encryption password", - "FileManager": "File manager", - "FileNameTooLong": "File name too long", - "FileSizeExceedsLimit": "File size exceeds limit", - "FileTransfer": "File transfer", - "FileTransferNum": "File transfer num", - "FileType": "File type", - "Filename": "Filename", - "FingerPrint": "Fingerprint", - "Finished": "Finished", - "FinishedTicket": "Finished Ticket", - "FirstLogin": "First login", - "FlowDetail": "Flow detail", - "FlowSetUp": "Flow set up", - "FormatError": "Format error", - "Friday": "Friday", - "From": "from", - "FromTicket": "From ticket", - "FtpLog": "FTP Logs", - "FullName": "Full name", - "FullySynchronous": "Assets fully synchronized", - "FullySynchronousHelpTips": "Whether to continue synchronizing assets when the asset conditions do not meet the matching policy rules", - "FuzzySearch": "Support for fuzzy search", - "GCP": "Google Cloud Platform", - "GPTCreate": "Create Asset - GPT", - "GPTUpdate": "Update Asset - GPT", - "Gateway": "Gateway", - "GatewayCreate": "Gateway create", - "GatewayList": "Gateway", - "GatewayProtocolHelpText": "SSH protocol gateway, support proxy SSH, RDP, VNC", - "GatewayUpdate": "Gateway update", - "GatherUser": "Gather User", - "GatherUserList": "Gather user", - "GatherUserTaskCreate": "Create gather user task", - "GatherUserTaskDetail": "Gather user detail", - "GatherUserTaskExecutionList": "Gather user task execution list", - "GatherUserTaskList": "Gather user task list", - "GatherUserTaskUpdate": "Update gather user task", - "GeneralAccounts": "General Accounts", - "Generate": "Generate", - "GenerateAccounts": "Regenerate accounts", - "GenerateSuccessMsg": "Accounts generated successfully", - "GetErrorMsg": "Get failed", - "Go": "Go", - "GoHomePage": "Go home page", - "Goto": "Goto", - "GrantedAccounts": "Granted accounts", - "GrantedApplications": "Granted applications", - "GrantedAssets": "Granted assets", - "GrantedDatabases": "Granted databases", - "GrantedK8Ss": "Granted K8Ss", - "GrantedRemoteApps": "Granted remote apps", - "GreatEqualThan": "Greater than or equal to", - "GroupsAmount": "Groups", - "GroupsHelpMessage": "Please fill in user groups, separated by commas if there are multiple user groups(Please fill in the existing user groups)", - "Guide": "Guide", - "HandleTicket": "Handle Ticket", - "Hardware": "Hardware", - "HardwareInfo": "Hardware info", - "HasImportErrorItemMsg": "There is an error item, click the x icon to view the details, and continue to import after editing", - "HasRead": "Has read", - "Help": "Help", - "HelpDocument": "Docs link", - "HelpDocumentTip": "You can change the URL of the site navigation bar help -> Docs", - "HelpSupport": "Support link", - "HelpSupportTip": "You can change the URL of the site navigation bar help -> Support", - "HighLoad": "High", - "HistoricalSessionNum": "Historical session num", - "History": "History record", - "HistoryDate": "History date", - "HistoryPassword": "History password", - "Home": "Home", - "HomeHelpMessage": "Default home directory: /home/system username", - "HomePage": "Home page", - "Host": "Asset", - "HostCreate": "Create Asset - Host", - "HostDeployment": "Remote host deployment", - "HostList": "Host list", - "HostName": "Hostname", - "HostProtocol": "Host Protocol", - "HostUpdate": "Update Asset - Host", - "Hostname": "Hostname", - "HostnameGroup": "Hostname group", - "HostnameStrategy": "Used to produce the asset hostname. For example, 1. Instance name (instanceDemo);2. Instance name and Partial IP (instanceDemo-250.1)", - "Hosts": "Hosts", - "Hour": "hour", - "HttpPort": "Http port", - "HuaweiCloud": "Huawei Cloud", - "HuaweiPrivatecloud": "Huawei Private Cloud", - "IAgree": "I agree", - "ID": "ID", - "IP": "IP", - "IP/Host": "IP/Host", - "IPGroup": "IP group", - "IPLoginLimit": "IP login limit", - "IPMatch": "IP Match", - "IPNetworkSegment": "Ip Network Segment", - "Icon": "Icon", - "Id": "ID", - "IdeaContent": "I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. .", - "IdeaTitle": "🌱 Linux Terminal", - "IdpMetadataHelpText": "Choose one of IDP metadata URL and IDP metadata XML parameters. IDP metadata URL has high priority", - "IdpMetadataUrlHelpText": "Load IDP Metadata from remote url", - "IgnoreCase": "Ignore case", - "ImageName": "Image name", - "Images": "Images", - "Import": "Import", - "ImportAll": "Import All", - "ImportFail": "Import failed", - "ImportLdapUserTip": "Please submit the LDAP configuration before import", - "ImportLdapUserTitle": "LDAP user list", - "ImportLicense": "Import license", - "ImportLicenseTip": "Please Import License", - "ImportMessage": "Please go to the page of mapping type to import data", - "ImportOrg": "Import organization", - "ImprovePersonalInformation": "Improve personal information", - "InActiveAsset": "Asset not visited", - "InActiveUser": "User not visit", - "InAssetDetail": "Update account information in asset details", - "InTotal": "In total", - "Inactive": "Disabled", - "Include": "Include", - "Index": "Index", - "Info": "info", - "Inherit": "Inherit", - "InheritPlatformConfig": "Inherited from the platform configuration. If you need to change, please change the configuration in the platform.", - "InitialDeploy": "Initial deploy", - "Input": "Input", - "InputEmailAddress": "Please enter your email address", - "InputMessage": "Input message...", - "InputNumber": "Please enter the number type", - "InputPhone": "Please enter your mobile phone number", - "InsecureCommandAlert": "Insecure command alert", - "InsecureCommandEmailUpdate": "Setting", - "InsecureCommandNotifyToSubscription": "Insecure command notification setting, change to system message subscription, support more notify method", - "InstanceAddress": "Instance address", - "InstanceName": "Instance name", - "InstancePlatformName": "Instance platform name", - "InstantAdhoc": "Instant command", - "Interface": "Interface", - "InterfaceSettings": "Interface", - "IntervalOfCreateUpdatePage": "Unit: hour", - "Invalid": "Invalid", - "InvalidJson": "Not a valid json format", - "Invalidity": "Invalidity", - "Invite": "Invite", - "InviteSuccess": "Invite success", - "InviteUser": "Invite user", - "InviteUserInOrg": "Invite user in this org", - "Ip": "IP", - "IpDomain": "IP(Host)", - "IpGroup": "IP group", - "IpGroupHelpText": "* means match all. Example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "Enter the IP address group, separated by commas", - "IsActive": "Is active", - "IsAlwaysUpdate": "Keep assets up to date", - "IsAlwaysUpdateHelpTips": "Whether to synchronize asset information, including host name, IP address, system platform, network domain, and node information, each time a synchronization task is executed", - "IsEffective": "Effective", - "IsFinished": "Is finished", - "IsLocked": "Is Locked", - "IsSuccess": "Is success", - "IsSyncAccountHelpText": "After the collection is completed, the collected account will be synchronized to the asset", - "IsSyncAccountLabel": "Synchronize to Asset", - "IsValid": "Validity", - "JDCloud": "JD Cloud", - "JMSSSO": "SSO Token Login", - "Job": "Job", - "JobCenter": "Job", - "JobCreate": "Create job", - "JobDetail": "Job detail", - "JobExecutionLog": "Job execution log", - "JobList": "Job list", - "JobName": "Job name", - "JobType": "Job type", - "JobUpdate": "Update job", - "Join": "join", - "K8s": "kubernetes", - "K8sPermissionRules": "Kubernetes Permission rules", - "Key": "Key", - "KingSoftCloud": "KingSoft Cloud", - "KokoSettingUpdate": "Koko setting", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes apps", - "KubernetesAppCount": "KubernetesApp count", - "KubernetesAppCreate": "Kubernetes app create", - "KubernetesAppDetail": "Kubernetes app detail", - "KubernetesAppPermission": "Kubernetes permissions", - "KubernetesAppPermissionCreate": "Kubernetes permissions create", - "KubernetesAppPermissionDetail": "Kubernetes permissions detail", - "KubernetesAppPermissionUpdate": "Kubernetes permissions update", - "KubernetesAppUpdate": "Kubernetes app update", - "LAN": "LAN", - "LDAPServerInfo": "LDAP Server", - "LDAPUser": "LDAP User", - "LOWERCASEREQUIRED": "Lower case required", - "Label": "Label", - "LabelCreate": "Label create", - "LabelInputFormatValidation": "Format error, correct format is:name:value", - "LabelList": "Label list", - "LabelUpdate": "Label update", - "Language": "Language", - "Last30": "Last 30 times", - "Last30Days": "Last30 days", - "Last7Days": "Last 7 days", - "LastCannotBeDeleteMsg": "The last one can't be delete", - "LastDay": "last day of the month", - "LastExecutionOutput": "Lask execution output", - "LastPublishedTime": "Last published", - "LastRun": "Last run", - "LastRunFailedHosts": " Last run failed hosts", - "LastRunSuccessHosts": " Last run success hosts", - "LastWeek": "last week of the month", - "LastWorking": "the last working day", - "LatestSessions": "Latest sessions", - "LatestSessions10": "Latest sessions top 10", - "LatestTop10": "TOP 10", - "LatestVersion": "Latest version", - "Ldap": "LDAP", - "LdapBulkImport": "Bulk import", - "LdapConnectTest": "Test connection", - "LdapLoginTest": "Test login", - "Length": "Length", - "LessEqualThan": "Less than or equal to", - "LevelApproval": "Level approval", - "License": "License", - "LicenseDetail": "License detail", - "LicenseExpired": "License expired", - "LicenseFile": "License file", - "LicenseForTest": "Testing license, This license is only for testing", - "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", - "LicenseWillBe": "License will expire at ", - "LinuxAdminUser": "Linux Admin user", - "LinuxUserAffiliateGroup": "Linux user affiliate group", - "LoadStatus": "Load status", - "Loading": "Loading", - "LockedIP": "Locked IPs {count}", - "Log": "Log", - "LogData": "Log data", - "LogOfLoginSuccessNum": "Log of login success num", - "Logging": "Logging", - "Login": "Users login", - "LoginAssetConfirm": "Asset login confirm", - "LoginAssetToday": "Active assets today", - "LoginAssets": "Active assets", - "LoginCity": "Login city", - "LoginConfig": "Login config", - "LoginConfirm": "Login confirm", - "LoginConfirmUser": "Log in as the review assignee", - "LoginCount": "Login count", - "LoginDate": "Login date", - "LoginFailed": "Login failed", - "LoginFrom": "Login from", - "LoginIP": "Login IP", - "LoginImage": "Image of login page", - "LoginImageTip": "Tips: It will be displayed on the enterprise version user login page (recommended image size: 492*472px)", - "LoginLog": "Login logs", - "LoginModeHelpMessage": "If you choose manual login mode, you do not need to fill in the username and password.", - "LoginModel": "Login model", - "LoginNum": "Login num", - "LoginOption": "Login option", - "LoginOverview": "Sessions overview", - "LoginPasswordSetting": "Login password setting", - "LoginRequiredMsg": "You account has logout, Please login again", - "LoginSucceeded": "Login succeeded", - "LoginTitle": "Title of login page", - "LoginTitleTip": "Tips: This will be displayed on the enterprise user login page. (eg: Welcome to the JumpServer open source fortress)", - "LoginTo": "Login to", - "LoginUserRanking": "Login account ranking", - "LoginUserToday": "Login account today", - "LoginUsers": "Active accounts", - "LogoIndex": "Logo (It contains text)", - "LogoIndexTip": "Tips: This will appear at the top left of the administration page. (suggest image size: 185px*55px)", - "LogoLogout": "Logo (It contains no text)", - "LogoLogoutTip": "Tips: It will be displayed on the web terminal page of enterprise users (recommended image size: 82px*82px)", - "Logout": "Logout", - "LogsAudit": "Log audit", - "Lowercase": "Lowercase", - "LunaSettingUpdate": "Luna setting", - "MFA": "MFA", - "MFAConfirm": "MFA Confirm", - "MFAErrorMsg": "MFA Error, please check", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make the account more secure
After is enabled, you will enter the multi-factor authentication binding process on your next login
You can also bind directly in (personal information -> fast modifier -> modifier multiple factor Settings)", - "MFAOfUserFirstLoginUserGuidePage": "To protect the security of you and the company
please properly keep your account, password, key and other important and sensitive information
(e.g., set a complex password and enable multi-factor authentication)
Personal information such as email, phone number, WeChat, etc. is only used for user authentication and platform internal message notifications.", - "MFARequireForSecurity": "MFA required for security", - "MFAVerify": "Verify MFA", - "MINLENGTHERROR": "Password minimum length {}", - "MailRecipient": "Mail recipient", - "MailSend": "Mail send", - "ManualAccount": "Manual account", - "ManualAccountTip": "Non-asset account, Input username/password on connect", - "ManualExecutePlan": "Manual execute plan", - "ManualInput": "Manual input", - "ManyChoose": "many choose", - "Mariadb": "MariaDB", - "MarkAsRead": "Mark as read", - "Marketplace": "Marketplace", - "Match": "Match", - "MatchIn": "In ...", - "MatchResult": "Match results", - "MatchedCount": "Match count", - "Material": "Material", - "Members": "Members", - "Memory": "Memory", - "MenuAccounts": "Accounts", - "MenuAssets": "Assets", - "MenuMore": "More...", - "MenuPermissions": "Permissions", - "MenuUsers": "Users", - "Message": "Message", - "MessageSub": "Message", - "MessageSubscription": "Message Subscription", - "MessageType": "Message Type", - "Meta": "Meta", - "MfaLevel": "MFA level", - "Min": "minute", - "Model": "Model", - "Modify": "Modify", - "ModifySSHKey": "Modify SSH Key", - "ModifyTheme": "Modify theme", - "Module": "Module", - "Monday": "Monday", - "Mongodb": "MongoDB", - "Monitor": "Monitor", - "Month": "month", - "Monthly": "Monthly", - "More": "More...", - "MoreActions": "Actions", - "MoveAssetToNode": "move asset to node", - "MsgSubscribe": "Message subscribe", - "MyApps": "My Apps", - "MyAssets": "My assets", - "MyTickets": "My tickets", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "MysqlWorkbenchIp": "DB IP", - "MysqlWorkbenchName": "DB Name", - "MysqlWorkbenchPassword": "DB Password", - "MysqlWorkbenchPort": "DB Port", - "MysqlWorkbenchUsername": "DB Account", - "NUMBERREQUIRED": "Number required", - "Name": "Name", - "NavHelp": "Navigation Link", - "Navigation": "Navigation", - "NeedAddAppsOrSystemUserErrMsg": "Please add apps or system user", - "NeedReLogin": "Need Re-Login", - "NeedSpecifiedFile": "Required to upload the specified format file", - "NeedUpdatePasswordNextLogin": "Update password next login", - "Network": "Network", - "New": "New", - "NewChat": "New Chat", - "NewCount": "New count", - "NewCron": "new cron", - "NewDirectory": "New directory", - "NewFile": "New file", - "NewPassword": "New password", - "NewSyncCount": "New synced count", - "No": "No", - "NoAlive": "no alive", - "NoAnnouncement": "No announcement", - "NoContent": "No content", - "NoData": "No data", - "NoFiles": "No Files", - "NoInputCommand": "No input command", - "NoLicense": "No License", - "NoPermission": "No permission", - "NoPermission403": "403 No permission", - "NoPermissionVew": "No permission view current page", - "NoPublished": "Unpublished", - "NoSQLProtocol": "NoSQL Protocol", - "NoSystemUserWasSelected": "No system user was selected", - "NoUnreadMsg": "No unread messages", - "Node": "Node", - "NodeAmount": "Node", - "NodeCount": "Node count", - "NodeInformation": "Node information", - "NodeSearchStrategy": "Node search Strategy", - "NormalLoad": "Normal", - "NotAlphanumericUnderscore": "Only numbers, letters and underscores can be entered", - "NotEqual": "Not Equal", - "NotParenthesis": "Not contain ( )", - "NotSet": "Not set", - "NotSpecialEmoji": "No special emoji allowed", - "Nothing": "Nothing", - "Notifications": "Notifications", - "Now": "Now", - "Num": "number ", - "Number": "Number", - "NumberOfVisits": "Number of visits", - "OAuth2": "OAuth2", - "OAuth2LogoTip": "Tip: Authentication service provider (recommended image size: 64px*64px)", - "OIDC": "OIDC", - "OTP": "OTP(MFA)", - "ObjectNotFoundOrDeletedMsg": "Resource lost or deleted", - "OfficialWebsite": "Official website link", - "OfficialWebsiteTip": "You can change the URL of the site navigation bar help -> Website", - "Offline": "Offline", - "OfflineSuccessMsg": "Offline success", - "OfflineUpload": "Upload offline", - "OldPassword": "Old password", - "OldSSHKey": "Old SSH key", - "On/Off": "On/Off", - "OneAssignee": "First-level Assignee", - "OneAssigneeType": "Type of primary assignee", - "OneClickRead": "Currently read", - "OneClickReadMsg": "Are you sure you want to mark the current information as read?", - "OnlineSession": "Online session", - "OnlineSessionHelpMsg": "The current session cannot be offline because it is an online session of the current user. Currently, only users who have logged in through web mode are recorded.", - "OnlineSessions": "Online sessions", - "OnlineUserDevices": "OnlineUserDevices", - "OnlineUsers": "Online accounts", - "OnlyCSVFilesTips": "Only csv supported", - "OnlyLatestVersion": "Only latest version", - "OnlyMailSend": "Currently only mail sending is supported", - "OnlySearchCurrentNodePerm": "Search only for the perms of the current node perms", - "Open": "Open", - "OpenCommand": "Open command", - "OpenId": "OpenID", - "OpenStack": "OpenStack", - "OpenStatus": "Open", - "OpenTicket": "Open Ticket", - "OperateLog": "Operation logs", - "OperateRecord": "Operating record", - "OperationLogNum": "Operation log num", - "Ops": "Task", - "Options": "Options", - "Oracle": "Oracle", - "OrgAdmin": "Org Admin", - "OrgAuditor": "Org Auditor", - "OrgName": "Org name", - "OrgRole": "Org roles", - "OrgRoleHelpText": "Organizational roles are the user's role in the current organization", - "OrgRoles": "Org roles", - "OrgUser": "Org User", - "OrganizationAsset": "Organization asset", - "OrganizationCreate": "Create organization", - "OrganizationDetail": "Org detail", - "OrganizationList": "Organizations", - "OrganizationLists": "Organization lists", - "OrganizationMembership": "Organization membership", - "OrganizationUpdate": "Update org", - "Os": "Os", - "Other": "Other setting", - "OtherAuth": "Other Auth", - "OtherProtocol": "Other Protocol", - "OtherRules": "Other rules", - "Others": "Others", - "Output": "Output", - "Overview": "Overview", - "PENDING": "Pending", - "PageNext": "Next", - "PagePrev": "Previous", - "Parameter": "Parameter", - "Params": "Params", - "ParamsHelpText": "The push parameter settings are currently only effective for assets with a platform type of host.", - "PassKey": "Passkey", - "Passkey": "Passkey", - "PasskeyAddDisableInfo": "Your authentication source is {source}, and Passkey addition is not supported.", - "Passphrase": "Passphrase", - "Password": "Password", - "PasswordAccount": "Password account", - "PasswordChangeLog": "Password change logs", - "PasswordCheckRule": "Password check rule", - "PasswordConfirm": "Password Confirm", - "PasswordExpired": "Password expired", - "PasswordHelpMessage": "Password or private key password", - "PasswordLength": "Password length", - "PasswordOrPassphrase": "Password or Passphrase", - "PasswordOrToken": "Password / Token", - "PasswordPlaceholder": "Please input password", - "PasswordRecord": "Password record", - "PasswordRequireForSecurity": "Password required for security", - "PasswordRule": "Password rule", - "PasswordSecurity": "Password security", - "PasswordSelector": "Password Input Box Selector", - "PasswordStrategy": "Password strategy", - "PasswordWillExpiredPrefixMsg": "The password will expire in ", - "PasswordWillExpiredSuffixMsg": " days.Please change your password as soon as possible.", - "PasswordWithoutSpecialCharHelpText": "Password can't has special chars ", - "Paste": "Paste", - "Pattern": "Pattern", - "Pause": "Pause", - "PauseTaskSendSuccessMsg": "Pause task has been send, Please check later", - "Pending": "Open", - "Periodic": "Periodic", - "PeriodicPerform": "Periodic perform", - "Perm": "Permission", - "PermAccount": "Accounts", - "PermName": "Perm name", - "PermUserList": "Authorized user", - "Permission": "Permissions", - "PermissionCompany": "Permission company", - "PermissionName": "Permission name", - "Permissions": "Permissions", - "Perms": "Perms", - "PersonalAsset": "Personal asset", - "PersonalInformationImprovement": "Personal Information Improvement", - "Phone": "Phone", - "Plan": "Plan", - "Platform": "Platform", - "PlatformCreate": "Platform create", - "PlatformDetail": "Platform detail", - "PlatformList": "Platforms", - "PlatformProtocolConfig": "Platform protocol config", - "PlatformSimple": "Platform", - "PlatformUpdate": "Platform update", - "PlaybookDetail": "Playbook detail", - "PlaybookManage": "Playbook manage", - "PlaybookUpdate": "Update Playbook", - "PleaseAgreeToTheTerms": "Please agree to the terms", - "PleaseClickLeftApplicationToViewApplicationAccount": "Application account list, please click on the application on the left to view", - "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, please click on the assets on the left to view", - "PleaseClickLeftAssetToViewGatheredUser": "Gathered user list, please click on the assets on the left to view", - "PleaseSelect": "Please select", - "PolicyName": "Policy name", - "Port": "Port", - "Ports": "Ports", - "Postgresql": "PostgreSQL", - "Primary": "primary", - "PrimaryOnly": "There can only be one main agreement", - "PrimaryProtocol": "The primary protocol, the most basic and commonly used protocol for assets, can only and must be set up with one.", - "Priority": "Priority", - "PriorityHelpMessage": "1-100, High level will be using login asset as default, if user was granted more than 2 system user", - "PrivateCloud": "Private cloud", - "PrivateKey": "Private key", - "PrivilegeFirst": "Prefer privileged accounts", - "PrivilegeOnly": "Select only privileged accounts", - "Privileged": "Privileged", - "PrivilegedFirst": "Prefer privileged accounts", - "PrivilegedOnly": "Privileged accounts only", - "PrivilegedTemplate": "Privileged", - "Product": "Product", - "Profile": "Profile", - "ProfileSetting": "Profile setting", - "Project": "Project name", - "Prompt": "Prompt", - "Proportion": "Proportion", - "ProportionOfAssetTypes": "Proportion of asset types", - "Protocol": "Protocol", - "Protocols": "Protocols", - "ProtocolsEnabled": "Enable protocol", - "ProtocolsGroup": "Protocols group", - "Provider": "Provider", - "Proxy": "Proxy", - "Public": "Public", - "PublicCloud": "Public cloud", - "PublicIp": "Public ip", - "PublicKey": "Public key", - "PublicProtocol": "If it is a public protocol, it will be displayed when connecting assets", - "Publish": "Publish", - "PublishAllApplets": "Publish all applets", - "PublishStatus": "Publish status", - "Push": "Push", - "PushAccount": "Push account", - "PushAllSystemUsersToAsset": "Push all system users to asset", - "PushParams": "Push params", - "PushSelected": "Push selected", - "PushSelectedSystemUsersToAsset": "Push selected system users to asset", - "PushSystemUserNow": "Push system user now", - "Qcloud": "Tencent Cloud", - "QcloudLighthouse": "Tencent Cloud (lightweight application server)", - "QingyunPrivatecloud": "Qingyun Private Cloud", - "Queue": "Queue", - "QuickAccess": "Quick access", - "QuickAdd": "Quick add", - "QuickJob": "Shortcut command", - "QuickSelect": "Quick select", - "QuickUpdate": "Quick update", - "RDBProtocol": "RDS Protocol", - "RUNNING": "Running", - "Radius": "Radius", - "Ranking": "Ranking", - "Ratio": "Ratio", - "RazorNotSupport": "RDP Client session not support now", - "ReLogin": "Re-Login", - "ReLoginErr": "Login time has exceeded 5 minutes, please login again", - "ReLoginTitle": "The current three-party login user (cas/saml) is not bound to MFA and does not support password verification. Please login again", - "RealTimeData": "Real-time data", - "Reason": "Reason", - "Receivers": "Receivers", - "RecentLogin": "Recent login", - "RecentSession": "Recent session", - "RecentlyUsed": "Recently used", - "RecipientHelpText": "If both recipients A and B are set, the account key will be split into two parts: front and back", - "RecipientServer": "Receiving server", - "Reconnect": "Reconnect", - "Redis": "Redis", - "Refresh": "Refresh", - "RefreshFail": "Refresh fail", - "RefreshHardware": "Refresh hardware", - "RefreshLdapCache": "Refreshing Ldap cache ", - "RefreshLdapUser": "Refresh cache", - "RefreshPermissionCache": "Refresh permission cache", - "RefreshSuccess": "Refresh success", - "Regex": "Regex", - "Region": "Region", - "RegularlyPerform": "Regularly perform", - "Reject": "Reject", - "Rejected": "Rejected", - "RelAnd": "And", - "RelNot": "Not", - "RelOr": "Or", - "Relation": "Relation", - "ReleasedCount": "Released count", - "RelevantApp": "Application", - "RelevantAsset": "Asset", - "RelevantAssignees": "Relevant assignees", - "RelevantCommand": "Command", - "RelevantSystemUser": "System user", - "RemoteAddr": "Remote addr", - "RemoteApp": "Remote app", - "RemoteAppCount": "RemoteApp count", - "RemoteAppDetail": "Remote app detail", - "RemoteAppListHelpMessage": "Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download application loader", - "RemoteAppPermission": "Remote apps permissions", - "RemoteAppPermissionCreate": "Remote apps permission create", - "RemoteAppPermissionDetail": "Remote apps permissions detail", - "RemoteAppPermissionRules": "Remote app permission rules", - "RemoteAppPermissionUpdate": "Remote app permission update", - "RemoteAppUpdate": "Remote app update", - "RemoteApps": "Remote application", - "RemoteType": "Remote type", - "Remove": "Remove", - "RemoveAssetFromNode": "Remove asset from node", - "RemoveErrorMsg": "Remove failed: ", - "RemoveFromCurrentNode": "Remove from node", - "RemoveFromOrgWarningMsg": "Are you sure remove ", - "RemoveSuccessMsg": "Remove success", - "RemoveWarningMsg": "Are you sure to remove ", - "Rename": "Rename", - "RenameNode": "Rename node", - "ReplaceNodeAssetsAdminUser": "Replace node assets admin user with this", - "ReplaceNodeAssetsAdminUserWithThis": "Replace node assets admin user with this", - "Replay": "replay", - "ReplaySession": "Replay session", - "ReplayStorage": "Object storage", - "ReplayStorageCreateUpdateHelpMessage": "Note: Currently, SFTP storage only supports account backup and does not support video storage.", - "ReplayStorageUpdate": "Replay object update", - "Reply": "Reply", - "RequestApplicationPerm": "Request application perm", - "RequestAssetPerm": "Request asset perm", - "RequestPerm": "Request Perm", - "RequestTickets": "Request tickets", - "Required": "Required", - "RequiredAssetOrNode": "Please select at least one asset or node", - "RequiredContent": "Please input the command", - "RequiredEntryFile": "This file is used as the entry file for running and must exist", - "RequiredHasUserNameMapped": "Must contain a mapping for the username field, such as { 'uid': 'username' }", - "RequiredProtocol": "Required agreement, which must be selected when adding assets", - "RequiredRunas": "Please input the run user", - "RequiredSystemUserErrMsg": "Required account", - "RequiredUploadFile": "Please upload files!", - "Reset": "Reset", - "ResetAndDownloadSSHKey": "Reset and download SSH Key", - "ResetDingTalk": "Untie DingTalk", - "ResetDingTalkLoginSuccessMsg": "The reset is successful, and the user can re-bind DingTalk", - "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", - "ResetMFA": "Reset MFA", - "ResetMFAWarningMsg": "This will reset the user MFA setting, user can reset it", - "ResetMFAdSuccessMsg": "Reset MFA success", - "ResetPassword": "Reset password", - "ResetPasswordSuccessMsg": "A password reset message has been sent to the user", - "ResetPasswordWarningMsg": "This will reset the user password and send a reset mail", - "ResetPublicKeyAndDownload": "Reset public key and download", - "ResetSSHKey": "Reset SSH key", - "ResetSSHKeySuccessMsg": "An e-mail has been sent to the user`s mailbox", - "ResetSSHKeyWarningMsg": "This will reset the user public key and send a reset mail", - "ResetWechat": "Reset Wechat", - "ResetWechatLoginSuccessMsg": "Reset Wechat success", - "ResetWechatLoginWarningMsg": "This will reset the user Wechat setting, user can reset it", - "Resource": "Resource", - "ResourceType": "Resource type", - "Resources": "Resources", - "RestoreButton": "Restore Default", - "RestoreDefault": "Restore default", - "RestoreDialogMessage": "This will restore default Settings of the interface !!!", - "RestoreDialogTitle": "Are you sure?", - "Result": "Result", - "Resume": "Resume", - "ResumeTaskSendSuccessMsg": "Resume task has been send, Please check later", - "Retry": "Retry", - "Reviewer": "Reviewer", - "Revise": "Revise", - "RiskLevel": "Risk level", - "Role": "Role", - "RoleCreate": "Role create", - "RoleDetail": "Role detail", - "RoleInfo": "Role info", - "RoleList": "Roles", - "RolePerms": "Role perms", - "RoleUpdate": "Role update", - "RoleUsers": "Role users", - "Rows": "rows", - "Rule": "Rule", - "RuleCount": "Number of conditions", - "RuleDetail": "Rule detail", - "RuleRelation": "Rule relation", - "RuleRelationHelpTips": "And: The action is performed only when all conditions are met; Or: If a condition is met, the action will be performed", - "RuleSetting": "Rule setting", - "Rules": "Rules", - "Run": "Run", - "RunAgain": "Run again", - "RunAs": "Run as", - "RunCommand": "Run command", - "RunJob": "Run job", - "RunSucceed": "Task executed successfully", - "RunTaskManually": "Run task manually", - "RunTimes": "Run times", - "RunUser": "Run user", - "RunasHelpText": "Fill in the user name to run the script", - "RunasPolicy": "Account policy", - "RunasPolicyHelpText": "Indicates the account selection strategy when there is no running user on the current asset", - "Running": "Runing", - "RunningPath": "Running path", - "RunningPathHelpText": "Fill in the running path of the script. This setting only takes effect for shell scripts.", - "RunningTimes": "last 5 running times", - "SAML2": "SAML2", - "SAML2Auth": "SAML2 Auth", - "SCP": "SCP", - "SFTPHelpMessage": "SFTP root dir, default is /tmp, Set to HOME to use user home dir.
Support some vars: ${ACCOUNT} the account username connected, ${USER} the staff username", - "SMS": "SMS", - "SMSProvider": "SMS provider", - "SMTP": "SMTP server", - "SPECIALCHARREQUIRED": "Special char required", - "SSHKey": "SSH Key", - "SSHKeyOfProfileSSHUpdatePage": "Copy your public key here", - "SSHKeySetting": "SSH Key setting", - "SSHPort": "SSH Port", - "SSHSecretKey": "SSh key", - "SSO": "SSO", - "SUCCESS": "Success", - "SafeCommand": "Safe command", - "SameAccount": "Same account", - "SameAccountTip": "The same username account with current login user", - "SameTypeAccountTip": "An account with the same user name and key type already exists", - "Saturday": "Saturday", - "Save": "Save", - "SaveAdhoc": "Save Adhoc", - "SaveAndAddAnother": "Save and add another", - "SaveCommand": "Save command", - "SaveCommandSuccess": "Save command succeeded", - "SaveSetting": "Save setting", - "SaveSuccess": "Saved successfully", - "SaveSuccessContinueMsg": "Create success, you may add another", - "Scope": "Type", - "Script": "Script list", - "ScriptDetail": "Script detail", - "ScrollToBottom": "Roll to the bottom", - "ScrollToTop": "Scroll to top", - "Search": "Search", - "SearchAncestorNodePerm": "Search perms for both current node and ancestor nodes", - "Secret": "Secret", - "SecretKey": "Secret Key", - "SecretKeyStrategy": "Secret key strategy", - "SecretType": "Secret type", - "Secure": "Secure", - "Security": "Security", - "SecurityCommandExecution": "Batch execute commands", - "SecurityInsecureCommand": "After it is enabled, when a dangerous command is executed on the asset, an email alarm notification will be sent", - "SecurityInsecureCommandEmailReceiver": "Alert receive email", - "SecurityLoginLimitCount": "Limit the number of login failures", - "SecurityLoginLimitTime": "No logon interval", - "SecurityMaxIdleTime": "Connection max idle time", - "SecurityMfaAuth": "MFA", - "SecurityPasswordExpirationTime": "Password expiration time", - "SecurityPasswordLowerCase": "Must contain lowercase letters", - "SecurityPasswordMinLength": "Password minimum length", - "SecurityPasswordNumber": "Must contain numeric characters", - "SecurityPasswordSpecialChar": "Must contain special characters", - "SecurityPasswordUpperCase": "Must contain capital letters", - "SecurityServiceAccountRegistration": "Service account registration", - "SecuritySetting": "Security", - "Select": "Select", - "SelectAccount": "Select account", - "SelectAdhoc": "Select Adhoc", - "SelectAll": "Select all", - "SelectAssetsMessage": "Select the left asset, select the running system user, execute command in batch", - "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", - "SelectAttrs": "Select attrs", - "SelectByAttr": "Select By Attribute", - "SelectCreateMethod": "Choose how to create", - "SelectFile": "Select file", - "SelectKeyOrCreateNew": "Select label key or create new", - "SelectLabelFilter": "Select label to filter", - "SelectPlatforms": "Select platforms", - "SelectProperties": "Select properties", - "SelectResource": "Select resource", - "SelectTemplate": "Select template", - "SelectValueOrCreateNew": "Select label value or create new", - "Selected": "Selected", - "SelectedAssets": "Selected assets:", - "Selection": "Selection", - "Selector": "Selector", - "Send": "Send", - "SendVerificationCode": "Send verification code", - "Sender": "Sender", - "Senior": "Senior", - "SerialNumber": "Serial number", - "ServerAccountKey": "Server Account Key", - "ServerError": "Server Error", - "ServerTime": "Server time", - "ServiceRatio": "Service ratio", - "Session": "Session", - "SessionActiveCount": "session active count", - "SessionData": "Session data", - "SessionDetail": "Session detail", - "SessionID": "Session ID", - "SessionList": "Session list", - "SessionMonitor": "Session Monitor", - "SessionOffline": "Sessions offline", - "SessionOnline": "Sessions online", - "SessionSecurity": "Session security", - "SessionState": "Session state", - "SessionTerminate": "Session Terminate", - "SessionTrend": "Session trend", - "Sessions": "Sessions", - "SessionsAudit": "Session audit", - "SessionsNum": "Sessions num", - "Set": "Set", - "SetAdDomainNoDisabled": "If AD domain is set, it cannot be modified", - "SetDingTalk": "Set dingtalk login", - "SetFailed": "Set failed", - "SetFeiShu": "Set feishu login", - "SetMFA": "Set MFA", - "SetPublicKey": "Set public key", - "SetSlack": "Set Slack login", - "SetStatus": "Set status", - "SetSuccess": "Set success", - "SetToDefault": "Set to default", - "SetToDefaultStorage": "Set to default storage", - "SetWeCom": "Set wecom login", - "Setting": "Setting", - "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Terminal Settings / Service Endpoints", - "Settings": "Settings", - "Show": "Show", - "ShowAssetAllChildrenNode": "Show asset all children node", - "ShowAssetOnlyCurrentNode": "Show asset only current node", - "ShowNodeInfo": "Show node information", - "SignChannelNum": "Signature channel number", - "SignaturesAndTemplates": "Signatures and Templates", - "SiteMessage": "Site messages", - "SiteMessageList": "Site message", - "SiteUrl": "Current Site URL", - "Skip": "Ignore current asset", - "Skipped": "Skipped", - "Slack": "Slack", - "Source": "Source", - "SourceIP": "Source address", - "SourcePort": "Source port", - "Spec": "Specific", - "SpecAccount": "Specify account", - "SpecAccountTip": "Specify accounts by username", - "SpecialSymbol": "Special symbol", - "SpecificInfo": "Specific", - "Sqlserver": "SQLServer", - "SshKeyFingerprint": "SSH fingerprint", - "SshPort": "SSH port", - "Sshkey": "sshkey", - "SshkeyAccount": "ssh key account", - "StartEvery": " start, every", - "Startswith": "Starts With", - "Stat": "F/S/T", - "State": "State", - "StateClosed": "closed", - "Status": "Status", - "StatusGreen": "Recently in good condition", - "StatusRed": "The last task execution failed", - "StatusYellow": "Recent Execution Failures", - "Stop": "Stop", - "Storage": "Storage", - "StorageConfiguration": "Storage configuration", - "Strategy": "Strategy", - "StrategyCreate": "Create strategy", - "StrategyDetail": "Strategy detail", - "StrategyHelpTips": "A unique asset attribute (such as platform) is determined based on the policy priority. If multiple asset attributes (such as nodes) can be configured, all policy actions are executed", - "StrategyList": "Strategy list", - "StrategyUpdate": "Update strategy", - "SuFrom": "Su from", - "Subject": "Subject", - "Submit": "Submit", - "SubmitSelector": "Submit Button Selector", - "Subscription": "Subscription", - "SubscriptionID": "Subscription ID", - "Success": "Success", - "SuccessAsset": "Successful assets", - "SuccessfulOperation": "Successful operation", - "SudoHelpMessage": "Use comma split multi command, ex: /bin/whoami, /bin/ifconfig", - "Summary(success/total)": "Overview (Success/Total)", - "Sunday": "Sunday", - "SuperAdmin": "Super administrator", - "SuperOrgAdmin": "Super administrator + organization administrator", - "Support": "Support", - "SupportedProtocol": "Supported protocol", - "SupportedProtocolHelpText": "Set the protocol supported by the asset. Click the Settings button to modify the custom configuration for the protocol, such as the SFTP directory, RDP AD domain, etc.", - "SwitchPage": "Switch page", - "SwitchToUser": "Switch to user", - "SwitchToUserListTips": "When the following users are used to connect to assets, the current system user is used to log in and then switch.", - "SymbolSet": "Special symbol set", - "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If there are special characters in the generated random password that are not supported by this type of database, the password change plan will fail", - "Sync": "Sync", - "SyncDelete": "Sync delete", - "SyncInstanceTaskCreate": "Create sync task", - "SyncInstanceTaskDetail": "Sync task detail", - "SyncInstanceTaskHistoryAssetList": "Sync instance list", - "SyncInstanceTaskHistoryList": "Sync task history", - "SyncInstanceTaskList": "Sync task list", - "SyncInstanceTaskUpdate": "Update sync task", - "SyncProtocolToAsset": "Sync protocol to asset", - "SyncSelected": "Sync selected", - "SyncSetting": "Sync setting", - "SyncStrategy": "Synchronisation strategy", - "SyncSuccessMsg": "Sync success", - "SyncTask": "Synchronization task", - "SyncUpdateAccountInfo": "Sync update account info", - "SyncUser": "Sync User", - "SyncedCount": "Synced count", - "SystemCpuLoad": "cpu load", - "SystemDiskUsedPercent": "disk used percent", - "SystemError": "System Error", - "SystemMemoryUsedPercent": "memory used percent", - "SystemMessageSubscription": "System messages", - "SystemRole": "System roles", - "SystemRoles": "System roles", - "SystemSetting": "System setting", - "SystemTools": "Tools", - "SystemUser": "System user", - "SystemUserId": "SystemUser Id", - "SystemUserList": "System Users", - "SystemUserListHelpMessage": "System user is the account JumpServer used to log into the asset, such as using root `ssh root@host`, rather than the current user username(ssh admin@host)`;
Admin user is the account that already exists on an asset, and have privileged permissions, JumpServer using this create common system user, and gather hardware Etc;
Common user can pre-exist assets or created automatically by the admin user.", - "SystemUserName": "System username", - "SystemUserUpdate": "System user update", - "SystemUsers": "System users", - "SystemUsersNameGroup": "Systemuser name", - "SystemUsersProtocolGroup": "Systemuser protocol", - "SystemUsersUsernameGroup": "systemuser username", - "TableColSettingInfo": "Please select the list details you want to display", - "Target": "Target", - "TargetResources": "Target resources", - "Task": "Task", - "TaskCenter": "Task", - "TaskDetail": "Task detail", - "TaskDispatch": "The task was sent successfully", - "TaskDone": "Task done", - "TaskID": "Task ID", - "TaskList": "Task list", - "TaskMonitor": "Task Monitor", - "TaskName": "Task name", - "TaskVersions": "Task versions", - "Tasks": "Tasks", - "TasksLog": "Batch Command Logs", - "TechnologyConsult": "Technology Consult", - "TempPassword": "For a while, there is a period of 300 seconds, failure immediately after use", - "Template": "Template", - "TemplateAdd": "Template add", - "TemplateCreate": "Create template", - "TemplateDetail": "Template detail", - "TemplateHelpText": "When selecting a template to add, it will automatically create an account that does not exist under the asset and push it", - "TemplateUpdate": "Update template", - "Templates": "模版管理", - "TencentCloud": "Tencent cloud", - "Terminal": "Terminal", - "TerminalAssetListPageSize": "List page size", - "TerminalAssetListSortBy": "List sort by", - "TerminalDetail": "Terminal detail", - "TerminalHeartbeatInterval": "Heartbeat interval", - "TerminalPasswordAuth": "Password auth", - "TerminalPublicKeyAuth": "Public key auth", - "TerminalSessionKeepDuration": "Session keep duration", - "TerminalStat": "CPU/MEM/DISK", - "TerminalTelnetRegex": "Telnet login regex", - "TerminalUpdate": "Update terminal", - "TerminalUpdateStorage": "Update terminal storage", - "Terminate": "Terminate", - "TerminateTaskSendSuccessMsg": "Terminate task has been send, Please check later", - "TermsAndConditions": "Terms and conditions", - "Test": "Test", - "TestAccountConnective": "Test account connective", - "TestAllSystemUsersConnective": "Test all system users connective", - "TestAssetsConnective": "Test assets connective", - "TestConnection": "Test connection", - "TestGatewayHelpMessage": "If use nat, set the ssh real port", - "TestGatewayTestConnection": "Test gateway test connection", - "TestHelpText": "Please enter the destination address for testing", - "TestLdapLoginSubtitle": "Save the configuration before testing the login", - "TestLdapLoginTitle": "Test LDAP user login", - "TestMultiPort": "Multiple ports are separated by commas (,)", - "TestNodeAssetConnectivity": "Test node asset connectivity", - "TestParam": "Param", - "TestPortErrorMsg": "Port Error, please check", - "TestSelected": "Test selected", - "TestSelectedSystemUsersConnective": "Test selected system users connective", - "TestSuccessMsg": "Test Success", - "The": "the", - "ThisPeriodic": "This is a periodic job", - "Thursday": "Thursday", - "Ticket": "Ticket", - "TicketCreate": "Ticket create", - "TicketDetail": "Ticket detail", - "TicketFlow": "Ticket flow", - "TicketFlowCreate": "Create Ticket flow", - "TicketFlowUpdate": "Update approval flow", - "Tickets": "Tickets", - "TicketsDone": "Ticket Done", - "TicketsNew": "Submit ticket", - "TicketsTodo": "Todo ticket", - "Time": "Time", - "TimeDelta": "Time delta", - "TimeExpression": "time expression", - "TimePeriod": "Time period", - "Timeout": "Timeout", - "TimeoutHelpText": "When this value is -1, no timeout is specified", - "Timer": "Timer", - "TimerPeriod": "Timer period", - "TimesWeekUnit": "times/week", - "Title": "Title", - "To": "To", - "Today": "Today", - "TodayFailedConnections": "Connections failed today", - "Token": "Token", - "TokenHTTPMethod": "Token Obtain method", - "TopAssetsOfWeek": "Top assets of week", - "TopUsersOfWeek": "Top user of week", - "Total": "Total", - "TotalJobFailed": "Total job failed", - "TotalJobLog": "Total job log", - "TotalJobRunning": "Total job running", - "TotalVersions": "Total versions", - "Transfer": "Transfer", - "True": "True", - "Tuesday": "Tuesday", - "TwoAssignee": "Secondary Recipient", - "TwoAssigneeType": "Type of secondary assignee", - "Type": "Type", - "Types": "Types", - "UCloud": "UCloud Platform", - "UPPERCASEREQUIRED": "Upper case required", - "UnSyncCount": "Unsync count", - "Unbind": "Unbind", - "UnbindHelpText": "Local users cannot be unbound because they are authenticated as source users", - "Unblock": "Unblock", - "UnblockSuccessMsg": "Account has unblocked", - "UnblockUser": "Unblock login", - "UniqueError": "Only one of the following properties can be set", - "Unknown": "Unknown", - "UnlockSuccessMsg": "Unlock success", - "Unreachable": "Unreachable", - "UnselectedAssets": "No asset selected or the selected asset does not support SSH protocol connection", - "UnselectedNodes": "Unselected nodes", - "UnselectedOrg": "Unselected org", - "UnselectedUser": "Unselected user", - "UpDownload": "Upload download", - "Update": "Edit", - "UpdateAccount": "Update account", - "UpdateAccountMsg": "Please update system user account info", - "UpdateAccountTemplate": "Update account template", - "UpdateAssetDetail": "Update more detail", - "UpdateAssetUserToken": "Update asset user auth", - "UpdateEndpoint": "Update endpoint", - "UpdateEndpointRule": "Update endpoint rule", - "UpdateErrorMsg": "Update failed", - "UpdateMFA": "Update MFA", - "UpdateNodeAssetHardwareInfo": "Update node asset hardware information", - "UpdatePassword": "Update password", - "UpdatePublicKey": "", - "UpdateSSHKey": "Update SSH Key", - "UpdateSecret": "Update secret", - "UpdateSelected": "Update selected", - "UpdateSuccessMsg": "Update success", - "Updated": "Updated", - "UpdatedBy": "Update by", - "Upload": "Upload", - "UploadCsvLth10MHelpText": "csv/xlsx files with a size less than 10M", - "UploadDir": "Upload Directory", - "UploadFailed": "Upload failed", - "UploadFile": "Upload file", - "UploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded", - "UploadPlaybook": "Upload Playbook", - "UploadSucceed": "Upload succeed", - "UploadZipTips": "Please upload zip file", - "Uploading": "File uploading", - "Uppercase": "Uppercase", - "UseParameterDefine": "Define parameters", - "UseProtocol": "Use protocol", - "UseSSL": "Use SSL/TLS", - "User": "User", - "UserAclCreate": "User acl create", - "UserAclDetail": "User acl detail", - "UserAclList": "User acl list", - "UserAclLists": "User acl lists", - "UserAclUpdate": "User acl update", - "UserAssetActivity": "Account/Asset activity", - "UserCount": "User count", - "UserCreate": "User create", - "UserData": "Account data", - "UserDetail": "User detail", - "UserFirstLogin": "UserFirstLogin", - "UserGroupCount": "User group count", - "UserGroupCreate": "User group create", - "UserGroupDetail": "User group detail", - "UserGroupList": "Groups", - "UserGroupUpdate": "User group update", - "UserGroups": "User groups", - "UserGuide": "UserGuide", - "UserGuideUrl": "User Guide URL", - "UserIP": "Login IP", - "UserInformation": "User information", - "UserList": "Users", - "UserLoginACL": "User Login ACL", - "UserLoginACLCreate": "Create User Login ACL", - "UserLoginACLDetail": "User Login ACL", - "UserLoginACLHelpMsg": "It can determines whether the user can access the system based on the user's login IP and time period(global effective).", - "UserLoginACLUpdate": "Update User Login ACL", - "UserLoginAclCreate": "Create user login acl", - "UserLoginAclDetail": "User login acl detail", - "UserLoginAclList": "User login acl", - "UserLoginAclUpdate": "Update user login acl", - "UserLoginLimit": "User login limit", - "UserLoginTrend": "Account login trend", - "UserName": "Name", - "UserNameSelector": "User name input box selector", - "UserPage": "User page", - "UserProfile": "User profile", - "UserRatio": "User Ratio", - "UserSession": "User Session", - "UserSetting": "User setting", - "UserSwitch": "User switch", - "UserSwitchFrom": "User switch from", - "UserUpdate": "User update", - "UserUsername": "User (Username)", - "Username": "Username", - "UsernameGroup": "Username group", - "UsernameHelpMessage": "Username is dynamic, When connect asset, using current user's username", - "UsernameOfCreateUpdatePage": "The username of the user on the target host; If already existed, modify user password; If it doesn't exist, add the user and set the password.", - "UsernamePlaceholder": "Please input username", - "Users": "User", - "UsersAmount": "Users", - "UsersAndUserGroups": "Users and user groups", - "UsersTotal": "Accounts total", - "Valid": "Valid", - "Validity": "Validity", - "Value": "Value", - "Variable": "Variable", - "VariableHelpText": "You can read built-in variables using {{ key }} in your command", - "Vault": "Vault", - "VaultHelpText": "1. Please go to the configuration file to open Vault storage< After opening, fill in other configurations ->click on Test< Br>3. Perform data synchronization (synchronization is one-way and only synchronizes data from the database to the vault. Please backup the data properly)< After modifying the vault configuration twice, the service needs to be restarted.", - "Vendor": "Vendor", - "VerificationCodeSent": "The verification code has been sent", - "VerifySignTmpl": "Verification code template", - "Version": "Version", - "VersionDetail": "Version detail", - "VersionRunExecution": "Version run execution", - "View": "View", - "ViewBlockedIPSHelpText": "View the list of locked IPs", - "ViewMore": "View more", - "ViewPerm": "View permission", - "ViewSecret": "View secret", - "VirtualAccountDetail": "Virtual Account Details", - "VirtualAccountUpdate": "Virtual Account Update", - "VirtualAccounts": "Virtual Accounts", - "VirtualApp": "Virtual App", - "VirtualAppDetail": "Virtual app detail", - "VirtualApps": "Virtual apps", - "VmwareClient": "vSphere Client", - "VmwarePassword": "Password", - "VmwareTarget": "target URL", - "VmwareUsername": "Account", - "WeCom": "WeCom", - "WeComTest": "Test", - "WebCreate": "Create Asset - Web", - "WebFTP": "WebFTP", - "WebHelpMessage": "Web type assets depend on remote applications. Please go to System Settings to configure the publisher in the remote application.", - "WebSocketDisconnect": "Websocket disconnection", - "WebTerminal": "Web terminal", - "WebUpdate": "Update Asset - Web", - "Wednesday": "Wednesday", - "Week": "week", - "WeekAdd": "New this week", - "WeekOf": "week of week", - "WeekOrTime": "Week/Time", - "Weekly": "Weekly", - "WildcardsAllowed": "wildcards allowed", - "WindowsAdminUser": "Windows Admin user", - "WindowsPushHelpText": "Windows assets do not support pushing keys", - "WordSep": " ", - "WorkBench": "Workbench", - "Workbench": "Workbench", - "Workspace": "Workspace", - "Yes": "Yes", - "ZStack": "ZStack" -} diff --git a/apps/locale/lina/ja.json b/apps/locale/lina/ja.json deleted file mode 100644 index 146590eb4..000000000 --- a/apps/locale/lina/ja.json +++ /dev/null @@ -1,1846 +0,0 @@ -{ - "APIKey": "APIキー", - "AWSChina": "AWS(中国)", - "AWSInt": "AWS(国際)", - "About": "について", - "Accept": "同意する", - "AccessIP": "IP ホワイトリスト", - "AccessKey": "アクセスキー", - "Account": "アカウント情報", - "AccountBackup": "アカウントバックアップ", - "AccountBackupCreate": "アカウントバックアップの作成", - "AccountBackupUpdate": "アカウントバックアップの更新", - "AccountChangeSecret": "アカウントのパスワード変更", - "AccountCreate": "アカウントを作成", - "AccountDeleteConfirmMsg": "アカウントを削除しますか、続行しますか?", - "AccountDetail": "アカウント詳細", - "AccountEnabled": "アカウント切り替えを有効化", - "AccountExportTips": "エクスポート情報には、アカウントの暗号文と機密情報が含まれており、エクスポート形式は暗号化されたzipファイルとなります(暗号化パスワードが設定されていない場合は、個人情報の中でファイル暗号化パスワードを設定してください)。", - "AccountGather": "アカウント回収", - "AccountGatherList": "収集任務", - "AccountGatherTaskCreate": "タスクを作成", - "AccountGatherTaskExecutionList": "タスク実行リスト", - "AccountGatherTaskList": "アカウント収集", - "AccountGatherTaskUpdate": "タスク更新", - "AccountHelpText": "クラウドアカウントはクラウドサービスプロバイダに接続するためのアカウントで、クラウドサービスプロバイダのリソース情報を取得するために使用されます", - "AccountHistoryHelpMessage": "現在のアカウントの履歴バージョン", - "AccountKey": "フィールドの変更", - "AccountList": "クラウドアカウント", - "AccountName": "アカウント名", - "AccountPolicy": "アカウントポリシー", - "AccountPushCreate": "アカウントプッシュ作成", - "AccountPushExecutionList": "実行リスト", - "AccountPushList": "アカウントプッシュ", - "AccountPushUpdate": "アカウントプッシュ更新", - "AccountStorage": "アカウントストレージ", - "AccountTemplate": "アカウントテンプレート", - "AccountTemplateUpdateSecretHelpText": "テンプレートで作成されたアカウントのリストが表示されます。暗号文を更新すると、テンプレートで作成したアカウントの暗号文も更新されます", - "AccountUpdate": "アカウントを更新", - "AccountUsername": "アカウント(ユーザー名)", - "Accounts": "アカウント管理", - "AccountsHelp": "全アカウント: 資産に追加された全アカウント;
指定アカウント:指定した資産下のアカウントのユーザー名;
手動アカウント: ユーザー名/パスワード ログイン時に手動で入力;
同名アカウント: 認証許可を受けたユーザー名と同名のアカウント;", - "Acl": "アクセス制御", - "Acls": "アクセス制御", - "Action": "アクション", - "ActionCount": "アクション数", - "ActionSetting": "アクション設定", - "Actions": "権限", - "ActionsTips": "各権限はプロトコルにより異なり、アイコンをクリックして詳細を表示", - "Activate": "活性化", - "ActivateSuccessMsg": "活性化成功", - "Active": "活動中", - "ActiveAsset": "最近ログインされた", - "ActiveAssetRanking": "ログイン資産ランキング", - "ActiveSelected": "選択したアイテムをアクティブにする", - "ActiveUser": "最近ログインした", - "ActiveUserAssetsRatioTitle": "パーセンテージ統計", - "Activity": "アクティビティ", - "AdDomain": "ADドメイン名", - "AdDomainHelpText": "ドメインユーザーのログイン用のADドメイン名を提供", - "Add": "新規追加", - "AddAccount": "アカウントの追加", - "AddAccountResult": "アカウントの一括追加結果", - "AddAllMembersWarningMsg": "すべてのメンバーを追加しますか?", - "AddAsset": "資産の追加", - "AddAssetToNode": "ノードへのアセットの追加", - "AddAssetToThisPermission": "資産の追加", - "AddDatabaseAppToThisPermission": "データベースアプリケーションを追加", - "AddFailMsg": "追加失敗", - "AddK8sAppToThisPermission": "Kubernetesアプリケーションを追加", - "AddNode": "ノードの追加", - "AddNodeToThisPermission": "ノードの追加", - "AddOrgMembers": "組織のメンバーを追加", - "AddPassKey": "Passkey(通行キー)を追加", - "AddRemoteAppToThisPermission": "リモートアプリケーションの追加", - "AddRolePermissions": "作成/更新成功後、詳細に権限を追加", - "AddSuccessMsg": "成功を追加", - "AddSystemUser": "システムユーザーを追加", - "AddSystemUserToThisPermission": "システムユーザーの追加", - "AddUserGroupToThisPermission": "ユーザーグループ追加", - "AddUserToThisPermission": "ユーザーの追加", - "Address": "アドレス", - "Addressee": "受信者", - "AdhocDetail": "コマンド詳細", - "AdhocManage": "コマンド管理", - "AdhocUpdate": "コマンドを更新", - "Admin": "管理者", - "AdminUser": "特権ユーザー", - "AdminUserCreate": "管理ユーザーの作成", - "AdminUserDetail": "ユーザー詳細管理", - "AdminUserList": "ユーザー管理", - "AdminUserListHelpMessage": "特権ユーザーは既存の資産であり、高度な権限を持つシステムユーザー、例えば root や `NOPASSWD: ALL` sudo 権限を持つユーザーです。 JumpServerはこのユーザーを用いて `システムユーザーのプッシュ`、`資産のハードウェア情報の取得`などを行います。", - "AdminUserUpdate": "管理ユーザーの更新", - "Admin_usersAmount": "特権ユーザー", - "Advanced": "詳細設定", - "AfterChange": "変更後", - "AjaxError404": "404 リクエストエラー", - "AlibabaCloud": "アリババクラウド", - "Alive": "オンライン", - "Aliyun": "アリババクラウド", - "All": "すべて", - "AllAccountTip": "すべてのアカウントが資産に追加されました", - "AllAccounts": "全てのアカウント", - "AllClickRead": "全て既読", - "AllMembers": "全メンバー", - "AllOrganization": "組織リスト", - "AllowInvalidCert": "証明書のチェックを無視", - "Announcement": "お知らせ", - "AnonymousAccount": "匿名アカウント", - "AnonymousAccountTip": "アセットへの接続時にユーザー名とパスワードを使用せず、Webタイプとカスタムタイプのアセットのみがサポートされます", - "ApiKey": "APIキー", - "ApiKeyList": "APIキーでリクエストヘッダーに署名し認証します。各リクエストのヘッダーは異なり、トークン方式に比べてより安全です。ドキュメントの参照をお願いいたします。
リスクの漏洩を低減するため、Secretは生成時にのみ表示できます。各ユーザーは最大10を作成することができます。", - "ApiKeyWarning": "AccessKeyの漏洩リスクを減らすため、Secretは作成時にのみ提供され、後続の照会はできませんので、適切に保存してください。", - "App": "アプリケーション", - "AppAmount": "アプリケーションの数", - "AppAuth": "App認証", - "AppEndpoint": "アプリケーションアクセスアドレス", - "AppList": "アプリリスト", - "AppName": "アプリケーション名", - "AppOps": "タスクセンター", - "AppPath": "アプリケーションパス", - "AppProvider": "アプリケーションプロバイダー", - "AppProviderDetail": "アプリケーションプロバイダーの詳細", - "AppType": "アプリケーションタイプ", - "App_permsAmount": "アプリケーション権限付与", - "AppletCreate": "リモートアプリケーション作成", - "AppletDetail": "リモートアプリケーション", - "AppletHelpText": "アップロード過程で、アプリケーションが存在しない場合は、新たに作成。既に存在する場合は、アプリケーションの更新を行う。", - "AppletHostCreate": "リモートアプリケーションリリースマシンの追加", - "AppletHostDetail": "リモートアプリケーションリリースマシンの詳細", - "AppletHostDomainHelpText": "ここはSystem組織のウェブドメインです", - "AppletHostSelectHelpMessage": "コマンドフィルタ", - "AppletHostUpdate": "リモートアプリケーションの公開マシンを更新", - "AppletHosts": "アプリ公開マシーン", - "Applets": "リモートアプリケーション", - "Applicant": "申請者", - "Application": "カンマで区切られたアプリケーション名のグループを入力してください", - "ApplicationAccount": "アプリケーションアカウント", - "ApplicationDetail": "アプリケーション詳細", - "ApplicationPermission": "アプリ認証", - "ApplicationPermissionCreate": "アプリ認証ルールを作成", - "ApplicationPermissionDetail": "アプリケーション認証の詳細", - "ApplicationPermissionRules": "アプリケーション認証ルール", - "ApplicationPermissionUpdate": "アプリケーション権限ルールの更新", - "Applications": "アプリケーション管理", - "ApplicationsAmount": "アプリケーション", - "ApplyAsset": "アセットの申し込み", - "ApplyFromCMDFilterRule": "コマンドフィルタルール", - "ApplyFromSession": "セッション", - "ApplyInfo": "申請情報", - "ApplyRunAsset": "実行を申請する資産", - "ApplyRunCommand": "実行を申請するコマンド", - "ApplyRunSystemUser": "実行の申請を行うシステムユーザー", - "ApplyRunUser": "実行を申請するユーザー", - "Apply_loginAccount": "ログインアカウントの申請", - "Apply_loginAsset": "ログイン資産申請", - "Apply_loginUser": "ログインユーザー申請", - "Apply_login_systemUser": "システムユーザーへのログインを申請", - "Appoint": "指定", - "ApprovaLevel": "承認情報", - "ApprovalLevel": "審査レベル", - "ApprovalProcess": "承認プロセス", - "Approved": "同意済み", - "ApproverNumbers": "承認者の数", - "AppsCount": "アプリケーション数", - "AppsList": "アプリ一覧", - "ApsaraStack": "アリババクラウド専用クラウド", - "Asset": "資産", - "AssetAccount": "アカウントリスト", - "AssetAccountDetail": "アカウント詳細", - "AssetAclCreate": "アセットログインルールの作成", - "AssetAclDetail": "アセットログインルール詳細", - "AssetAclList": "資産ログイン", - "AssetAclUpdate": "アセットログインルールの更新", - "AssetAddress": "アセット(IP/ホスト名)", - "AssetAmount": "資産の数", - "AssetAndNode": "資産/ノード", - "AssetBulkUpdateTips": "ネットワークデバイス、クラウドサービス、web、ドメインの一括更新はサポートされていません", - "AssetChangeSecretCreate": "アカウント作成・パスワード変更", - "AssetChangeSecretUpdate": "アカウントパスワードの更新", - "AssetCount": "資産の数量", - "AssetCreate": "資産を作成", - "AssetData": "資産データ", - "AssetDetail": "資産詳細", - "AssetHistoryAccount": "資産の履歴アカウント", - "AssetList": "アセットリスト", - "AssetListHelpMessage": "左側には資産ツリーがあり、右クリックでツリーノードを新規作成、削除、変更することができます。資産の権限もノードの形式で組織されており、右側にはそのノードに属する資産が表示されます。\n", - "AssetLoginACLHelpMsg": "アセットにログインする際、ユーザーのログインIPと時間帯を審査して、アセットにログインできるかどうかを判断します", - "AssetName": "アセット名", - "AssetNumber": "資産番号", - "AssetPermission": "アセット認証", - "AssetPermissionCreate": "アセット認証ルールの作成", - "AssetPermissionDetail": "資産の承認詳細", - "AssetPermissionHelpMsg": "資産の権限許可により、特定のユーザーや資産を選択し、ユーザーがアクセスするために資産の権限を設定します。権限許可が完了すると、ユーザーはこれらの資産を簡単に閲覧することができます。さらに特定の権限ビットを設定して、ユーザーが資産に対する権限範囲を更に定義することができます。", - "AssetPermissionList": "資産権限リスト", - "AssetPermissionRules": "アセット認証ルール", - "AssetPermissionUpdate": "資産認証ルールを更新", - "AssetProtocolHelpText": "資産サポートプロトコルはプラットフォームの制限を受けています。設定ボタンをクリックすると、プロトコルの設定が表示されます。更新が必要な場合は、プラットフォームを更新してください。", - "AssetRatio": "資産割合統計", - "AssetResultDetail": "資産結果", - "AssetTree": "資産ツリー", - "AssetUpdate": "アセット更新", - "AssetUserList": "資産ユーザー", - "Asset_ipGroup": "アセットIP", - "Asset_permsAmount": "資産の認可", - "Assets": "資産管理", - "AssetsAmount": "資産", - "AssetsTotal": "アセット合計", - "AssignedInfo": "承認情報", - "AssignedMe": "私の承認待ち", - "AssignedTicketList": "私の承認待ち", - "Assignee": "処理者", - "Assignees": "処理待ちユーザ", - "AssociateApplication": "関連アプリケーション", - "AssociateAssets": "関連アセット", - "AssociateNodes": "関連ノード", - "AssociateSystemUsers": "システムユーザーとの連携", - "AttrName": "プロパティ名", - "AttrValue": "属性値", - "Auditor": "監査人", - "Audits": "監査台", - "Auth": "認証設定", - "AuthCASAttrMap": "ユーザ属性のマッピング", - "AuthLdap": "LDAP認証を有効にする", - "AuthLdapBindDn": "DNバインド", - "AuthLdapBindPassword": "パスワード", - "AuthLdapSearchFilter": "可能なオプションは(cnまたはuidまたはsAMAccountName=%(user)s)", - "AuthLdapSearchOu": "OUを|で区切る", - "AuthLdapServerUri": "LDAPアドレス", - "AuthLdapUserAttrMap": "ユーザー属性マッピングは、LDAPのユーザー属性がjumpserverユーザーにどのようにマッピングされるかを指しています。username, name,emailはjumpserverの属性です", - "AuthLimit": "ログイン制限", - "AuthMethod": "認証方法", - "AuthSAML2AdvancedSettings": "詳細設定", - "AuthSAML2MetadataUrl": "IDPメタデータURL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "証明書キーをアップロードし保存した後、SPメタデータを確認", - "AuthSAMLKeyHelpText": "SP証明書とキーは、IDPとの通信を暗号化するために使用されます", - "AuthSaml2UserAttrMapHelpText": "左側のキーはSAML2のユーザ属性で、右側の値は認証プラットフォームのユーザ属性です", - "AuthSecurity": "認証の安全性", - "AuthSetting": "認証設定", - "AuthSettings": "認証設定", - "AuthUserAttrMap": "ユーザ属性マッピング", - "AuthUserAttrMapHelpText": "左側のキーはJumpServerのユーザー属性、右側の値は認証プラットフォームのユーザー属性", - "AuthUsername": "ユーザー名認証を使用", - "Authentication": "認証", - "Author": "著者", - "Auto": "自動", - "AutoCreate": "自動作成", - "AutoEnabled": "自動化を有効にする", - "AutoGenerateKey": "ランダムにパスワードを生成", - "AutoPush": "自動プッシュ", - "Automations": "自動化", - "AverageTimeCost": "平均費用時間", - "Azure": "Azure(中国)", - "AzureInt": "Azure(国際)", - "Backup": "バックアップ", - "BadConflictErrorMsg": "更新中です、後ほどお試しください", - "BadRequestErrorMsg": "リクエストエラー、入力内容を確認してください", - "BadRoleErrorMsg": "操作権限がないため、リクエストエラー", - "BaiduCloud": "百度クラウド", - "BasePlatform": "基盤プラットフォーム", - "BasePort": "リッスンポート", - "Basic": "基本設定", - "BasicInfo": "基本情報", - "BasicSetting": "基本設定", - "BasicTools": "基本的なツール", - "BatchActivate": "一括でアクティベート", - "BatchApproval": "バルク承認", - "BatchCommand": "バルクコマンド", - "BatchCommandNotExecuted": "バッチコマンド未実行", - "BatchConsent": "一括同意", - "BatchDelete": "一括削除", - "BatchDisable": "一括無効化", - "BatchProcessing": "バッチ処理(選択 {Number} 項目)", - "BatchReject": "一括拒否", - "BatchRemoval": "一括削除", - "BatchScript": "一括スクリプト", - "BatchUpdate": "一括更新", - "Become": "Become", - "BeforeChange": "変更前", - "Beian": "登録", - "BelongAll": "同時に含む", - "BelongTo": "任意に含む", - "Bind": "バインド", - "BindLabel": "関連タグ", - "BindResource": "関連リソース", - "BindSuccess": "バインディング成功", - "BlockedIPS": "ロックされたIP", - "Bucket": "バケット名", - "Builtin": "組み込み", - "BuiltinTree": "タイプツリー", - "BuiltinVariable": "組み込み変数", - "BulkClearErrorMsg": "一括クリア失敗", - "BulkCreateStrategy": "要件を満たさないアカウントを作成する際、例:不適切なキータイプ、一意のキー制約については、上記の戦略を選択できます。", - "BulkDeleteErrorMsg": "一括削除に失敗:", - "BulkDeleteSuccessMsg": "一括削除成功", - "BulkDeploy": "一括デプロイ", - "BulkOffline": "一括でオフライン", - "BulkRemoveErrorMsg": "一括削除失敗: ", - "BulkRemoveSuccessMsg": "一括削除に成功", - "BulkSyncDelete": "一括同期削除", - "BulkSyncErrorMsg": "一括同期失敗:", - "BulkTransfer": "一括転送", - "BulkUnblock": "一括ロック解除", - "BulkUpdatePlatformHelpText": "アセットのオリジナルのプラットフォームタイプが選択したプラットフォームタイプと同じ場合のみ更新されます。更新前後のプラットフォームタイプが異なる場合は更新されません。", - "CACertificate": "CA サート", - "CAS": "CAS", - "CASSetting": "CAS 設定", - "CMPP2": "CMPP v2.0", - "CTYunPrivate": "天翼プライベートクラウド", - "CalculationResults": "cron 式エラー", - "CanDragSelect": "マウスをドラッグして時間帯を選択可能", - "Cancel": "キャンセル", - "CancelCollection": "お気に入り解除", - "CannotAccess": "現在のページにアクセスできません", - "Cas": "CAS設定", - "Category": "カテゴリ", - "CeleryTaskLog": "Celeryタスクのログ", - "Certificate": "証明書", - "CertificateKey": "クライアントキー", - "ChangeField": "変更フィールド", - "ChangePassword": "パスワードを変更", - "ChangeReceiver": "メッセージ受信者の変更", - "ChangeSecretParams": "パスワード変更パラメータ", - "ChangeViewHelpText": "異なるビューを切り替えるクリック", - "Charset": "文字セット", - "Chat": "チャット", - "ChatAI": "スマートQ&A", - "ChatHello": "こんにちは!何かお手伝いできることはありますか?", - "ChdirHelpText": "デフォルトの実行ディレクトリはユーザーのホームディレクトリ", - "CheckAssetsAmount": "アセット数の検証", - "CheckViewAcceptor": "受理人を見るためにクリック", - "ChinaRed": "チャイナレッド", - "Chrome": "Chrome", - "ChromePassword": "ログインパスワード", - "ChromeTarget": "目標URL", - "ChromeUsername": "ログインアカウント", - "ClassicGreen": "クラシックグリーン", - "CleanHelpText": "定期的にクリーニングタスクが実行されます。 毎日午前2時に実行され、クリーニング後のデータは回復できません", - "Cleaning": "定期的なクリーニング", - "Clear": "クリア", - "ClearScreen": "クリアスクリーン", - "ClearSecret": "暗号文のクリア", - "ClearSelection": "選択のクリア", - "ClearSuccessMsg": "成功したクリア", - "ClickCopy": "コピーをクリック", - "Clickhouse": "ClickHouse", - "ClientCertificate": "クライアント証明書", - "ClipBoard": "クリップボード", - "ClipboardCopy": "クリップボードコピー", - "ClipboardCopyPaste": "クリップボードからのコピーペースト", - "ClipboardPaste": "クリップボードから貼り付け", - "Clone": "クローン", - "CloneFrom": "複製元", - "Close": "閉じる", - "CloseConfirm": "閉じることを確認する", - "CloseConfirmMessage": "ファイルが変更されました、保存しますか?", - "CloseStatus": "完了しました", - "Closed": "完了", - "Cloud": "クラウドアプリケーション", - "CloudCenter": "クラウド管理センター", - "CloudCreate": "アセット作成-クラウドプラットフォーム", - "CloudPlatform": "クラウドプラットフォーム", - "CloudSource": "同期元", - "CloudSync": "クラウド同期", - "CloudUpdate": "資産更新-クラウドプラットフォーム", - "Clouds": "クラウドプラットフォーム", - "Cluster": "クラスター", - "ClusterHelpTextMessage": "例:https://172.16.8.8:8443", - "CmdFilter": "コマンドフィルター", - "CollapseSidebar": "サイドバーを折りたたむ", - "CollectHardwareInfo": "ハードウェア情報の収集を有効にする", - "CollectionSucceed": "お気に入りに追加成功", - "Command": "コマンド", - "Command filter": "は正当なJSONではありません。", - "CommandConfirm": "コマンドレビュー", - "CommandExecutions": "コマンド実行", - "CommandFilterACL": "コマンドフィルター", - "CommandFilterACLHelpMsg": "コマンドフィルタリングを使用して、資産に対するコマンドの送信を制御できます。設定したルールに従って、一部のコマンドは許可され、他の一部のコマンドは禁止されます。", - "CommandFilterAclCreate": "コマンドフィルタルールの作成", - "CommandFilterAclDetail": "コマンドフィルタルールの詳細", - "CommandFilterAclList": "コマンドフィルタ", - "CommandFilterAclUpdate": "コマンドフィルタルールの更新", - "CommandFilterCreate": "コマンドフィルタの作成", - "CommandFilterDetail": "コマンドフィルタ詳細", - "CommandFilterHelpMessage": "システムユーザーは、特定のコマンドの入力を禁止する効果を実現するために、複数のコマンドフィルターにバインドできます。フィルターには複数のルールを設定でき、システムユーザーがアセットに接続するとき、フィルターに設定されたルールの優先順位に従って入力されたコマンドが実行されます。例:最初にマッチしたルールが「許可」の場合、そのコマンドは実行されます。最初にマッチしたルールが「禁止」の場合、そのコマンドは実行を禁止されます。最終的にルールにマッチしない場合は、そのコマンドは許可されます。", - "CommandFilterList": "コマンドフィルター規則", - "CommandFilterRuleContentHelpText": "コマンドは1行につき1つ", - "CommandFilterRulePriorityHelpText": "優先度の範囲は1から100まで、1が最低優先度、100が最高優先度", - "CommandFilterRules": "コマンドフィルター規則", - "CommandFilterRulesCreate": "コマンドフィルタールールを作成", - "CommandFilterRulesUpdate": "コマンドフィルタルールの更新", - "CommandFilterUpdate": "コマンドフィルターの更新", - "CommandGroup": "コマンドグループ", - "CommandGroupCreate": "コマンドグループを作成", - "CommandGroupDetail": "コマンドグループ詳細", - "CommandGroupList": "コマンドグループ", - "CommandGroupUpdate": "コマンドグループを更新", - "CommandStorage": "コマンドの保存", - "CommandStorageUpdate": "コマンドストレージの更新", - "Command_filterList": "コマンドフィルターリスト", - "Commands": "コマンド記録", - "Comment": "メモ", - "CommentHelpText": "注:メモ情報はLunaページのユーザー権限資産ツリーでホバー表示され、一般ユーザーが閲覧できます。機密情報の記入は避けてください。", - "Common": "一般", - "CommonUser": "一般ユーザー", - "CommunityEdition": "コミュニティ版", - "Component": "コンポーネント", - "ComponentMonitor": "コンポーネント監視", - "ConceptContent": "あなたに Python インタープリターのように行動してもらいたい。Python のコードを提供し、あなたがそれを実行する。説明は一切提供しないでください。コードの出力以外には何も回答しないでください。", - "ConceptTitle": "🤔 Python インタープリタ", - "Config": "配置", - "Confirm": "確認", - "ConfirmPassword": "パスワードの確認", - "Connect": "接続", - "ConnectMethod": "接続方法", - "ConnectMethodACLHelpMsg": "接続方法によるフィルタリングを通じて、ユーザーが特定の接続方法を使ってアセットにログインすることを制御することができます。設定したルールに基づき、一部の接続方法は許可され、他の接続方法は禁止されます(全体に適用)。", - "ConnectMethodAclCreate": "接続方法の制御を作成する", - "ConnectMethodAclDetail": "接続方法の詳細", - "ConnectMethodAclList": "接続方法", - "ConnectMethodAclUpdate": "接続方法制御を更新する", - "ConnectUsers": "アカウント接続", - "ConnectWebSocketError": "WebSocketの接続失敗", - "ConnectionDropped": "接続が切断されました", - "ConnectionToken": "接続トークン", - "ConnectionTokenList": "接続トークンは、認証と資産の接続を組み合わせたもので、ユーザーが一回クリックで資産にログインできるようにする認証情報です。現在サポートされているコンポーネントはKoKo、Lion、Magnus、Razorなどです。", - "Connectivity": "接続可能", - "Console": "コンソール", - "Consult": "コンサルティング", - "ContainAttachment": "添付ファイル付き", - "ContainerName": "コンテナ名", - "Containers": "コンテナ", - "Contains": "含む", - "Content": "内容", - "Contents": "内容", - "Continue": "続行", - "ContinueImport": "インポートを続行", - "ConvenientOperate": "便利な操作", - "Copy": "複製", - "CopySuccess": "コピー成功", - "Corporation": "会社", - "Correlation": "関連する", - "Cpu": "CPU", - "Create": "作成", - "CreateAccessKey": "アクセスキーの作成", - "CreateAccountTemplate": "アカウントテンプレートの作成", - "CreateAdhoc": "コマンドを作成", - "CreateBy": "作成者", - "CreateCommandStorage": "コマンドストレージの作成", - "CreateEndpoint": "エンドポイントを作成", - "CreateEndpointRule": "エンドポイントルールの作成", - "CreateErrorMsg": "作成失敗", - "CreateNode": "ノードの作成", - "CreateOrgMsg": "組織詳細内でユーザーを追加してください", - "CreatePlaybook": "Playbookを作成", - "CreateReplayStorage": "オブジェクトストレージを作成", - "CreateSuccessMsg": "インポート成功、合計:{count}", - "CreateUserSetting": "ユーザーコンテンツの作成", - "Created": "作成済み", - "CreatedBy": "作成者", - "CriticalLoad": "重大", - "CronExpression": "crontabの完全な表現", - "CrontabHelpTips": "eg:毎週日曜日 03:05 に実行 <5 3 * * 0>
ヒント: 5桁のLinux crontab式<分 時 日 月 曜日>を使ってください (オンラインツール)
注意: 定期実行と周期実行が同時に設定されている場合は、定期実行が優先", - "CrontabOfCreateUpdatePage": "例えば:毎週日曜日 03:05に実行 <5 3 * * 0>
5位の Linux crontab式 <分 時 日 月 曜日> を使用してください(オンラインツール
定期的に実行と周期的に実行を同時に設定すると、優先して定期的に実行されます", - "CurrentConnections": "現在の接続数", - "CurrentUserVerify": "現在のユーザーの検証", - "Custom": "カスタム", - "CustomCmdline": "実行パラメータ", - "CustomCol": "カスタムリストフィールド", - "CustomCreate": "資産作成-カスタマイズ", - "CustomFields": "カスタム属性", - "CustomFile": "カスタマイズしたファイルを指定されたディレクトリ(data/sms/main.py)に置き、config.txt で SMS_CUSTOM_FILE_MD5=<ファイルmd5値>の設定項目を有効にしてください", - "CustomHelpMessage": "カスタムタイプの資産は、リモートアプリケーションに依存しています。リモートアプリケーションをシステム設定で設定してください", - "CustomParams": "左側はSMSプラットフォームが受け取るパラメーター、右側はJumpServer待ちのフォーマットパラメーター、最終結果は以下の通りです:
{\"phone_numbers\": \"123,134\", \"content\": \"認証コードは: 666666\"}", - "CustomPassword": "ログインパスワード", - "CustomTarget": "目標アドレス", - "CustomTree": "カスタムツリー", - "CustomType": "カスタムタイプ", - "CustomUpdate": "アセット更新-カスタム", - "CustomUser": "カスタムユーザー", - "CustomUsername": "ログインアカウント", - "CycleFromWeek": "周期は週から", - "CyclePerform": "定期実行", - "DBInfo": "データベース情報", - "DangerCommand": "危険なコマンド", - "DangerousCommandNum": "危険なコマンド数", - "Dashboard": "ダッシュボード", - "Database": "データベース", - "DatabaseApp": "データベースアプリケーション", - "DatabaseAppCount": "データベースの利用数", - "DatabaseAppCreate": "データベースアプリケーションの作成", - "DatabaseAppDetail": "データベースの詳細", - "DatabaseAppPermission": "データベースの承認", - "DatabaseAppPermissionCreate": "データベース認証ルールの作成", - "DatabaseAppPermissionDetail": "データベース認証詳細", - "DatabaseAppPermissionUpdate": "データベース認証ルール更新", - "DatabaseAppUpdate": "データベースアプリケーションの更新", - "DatabaseCreate": "資産-データベースの作成", - "DatabaseId": "データベースID", - "DatabasePermissionRules": "データベースの認可ルール", - "DatabasePort": "データベースプロトコルポート", - "DatabaseProtocol": "データベースプロトコル", - "DatabaseUpdate": "資産-データベースの更新", - "Date": "日付", - "DateCreated": "生成時刻", - "DateEnd": "終了日", - "DateExpired": "有効期限", - "DateFinished": "完了日", - "DateJoined": "作成日", - "DateLast24Hours": "最近一日間", - "DateLast3Months": "過去3ヶ月間", - "DateLastHarfYear": "最近半年", - "DateLastLogin": "最終ログイン日", - "DateLastMonth": "最近一か月", - "DateLastRun": "最後に実行した日付", - "DateLastSync": "最終同期日", - "DateLastWeek": "最近一週間", - "DateLastYear": "最近一年間", - "DatePasswordLastUpdated": "最終パスワード更新日", - "DatePasswordUpdated": "パスワードの更新日", - "DateStart": "開始日", - "DateSync": "同期日", - "DateUpdated": "更新日", - "Datetime": "日付", - "Day": "日", - "Db": "データベースアプリケーション", - "DeactiveSelected": "選択したものを無効化", - "DeclassificationLogNum": "パスワード変更ログ数", - "Default": "デフォルト", - "DefaultDatabase": "デフォルトのデータベース", - "DefaultPort": "デフォルトのポート", - "DefaultProtocol": "デフォルトのプロトコル、資産追加時にデフォルトで選択されます", - "Defaults": "デフォルト値", - "Delete": "削除", - "DeleteConfirmMessage": "削除後は復元できません、続行しますか?", - "DeleteErrorMsg": "削除に失敗", - "DeleteFailedMsg": "削除失敗", - "DeleteFile": "ファイルの削除", - "DeleteNode": "ノードの削除", - "DeleteOrgMsg": "ユーザーリスト、ユーザーグループ、アセットリスト、ドメインリスト、管理ユーザー、システムユーザー、タグ管理、アセット認証ルール", - "DeleteOrgTitle": "組織内の以下の情報が削除されていることを確認してください", - "DeleteReleasedAssets": "リリース済み資産の削除", - "DeleteSuccess": "削除成功", - "DeleteSuccessMsg": "削除に成功", - "DeleteWarningMsg": "削除しますか", - "DeliveryTime": "送信時間", - "Deploy": "配置", - "DescribeOfGuide": "JumpServer要塞型システムをご利用いただきありがとうございます、詳しい情報はこちらをクリックしてください", - "Description": "説明", - "DestinationIP": "目的のアドレス", - "DestinationPort": "目的のポート", - "Detail": "詳細", - "Device": "ネットワークデバイス", - "DeviceCreate": "ネットワークデバイスを作成", - "DeviceUpdate": "資産-ネットワークデバイスの更新", - "Digit": "数字", - "DingTalk": "ディングトーク", - "DingTalkTest": "テスト", - "Disable": "無効化", - "DisableSuccessMsg": "無効化成功", - "DisabledAsset": "禁じられている", - "DisabledUser": "無効化された", - "Disk": "ハードディスク", - "DisplayName": "名前", - "DocType": "ドキュメントタイプ", - "Docs": "文書", - "Domain": "ドメイン", - "DomainCreate": "ドメインの作成", - "DomainDetail": "ドメイン詳細", - "DomainEnabled": "ネットワーキングを有効化", - "DomainHelpMessage": "ドメイン機能はハイブリッドクラウドなどの一部の環境で直接接続ができない問題を解決するために追加された機能で、ゲートウェイサーバーを経由してログインを転送する原理です。JMS => ドメインゲートウェイ => 目標とする資産", - "DomainList": "ドメイン一覧", - "DomainUpdate": "ドメインの更新", - "Download": "ダウンロード", - "DownloadCenter": "ダウンロードセンター", - "DownloadFTPFileTip": "現在のアクションはファイルを記録せず、またはファイルサイズが閾値(デフォルトは100M)を超えている、またはまだ対応するストレージに保存されていません", - "DownloadFile": "ファイルのダウンロード", - "DownloadImportTemplateMsg": "作成テンプレートをダウンロード", - "DownloadReplay": "ビデオのダウンロード", - "DownloadUpdateTemplateMsg": "アップデートテンプレートのダウンロード", - "DragUploadFileInfo": "ファイルをここにドラッグするか、ここをクリックしてアップロードしてください", - "DryRun": "テスト実行", - "DuplicateFileExists": "同名のファイルはアップロードできませんので、同名のファイルを削除してください", - "Duration": "期間", - "DynamicUsername": "ダイナミックユーザ名", - "Edit": "編集", - "Edition": "バージョン", - "Email": "メールアドレス", - "EmailContent": "メール内容のカスタマイズ", - "EmailCustomUserCreatedBody": "ヒント:ユーザー作成時に、パスワード設定メールを送信します", - "EmailCustomUserCreatedHonorific": "ヒント:ユーザー作成時に、パスワード設定のメールの敬称を送信します(例:こんにちは)", - "EmailCustomUserCreatedSignature": "ヒント:メールの署名(例えば:jumpserver)", - "EmailCustomUserCreatedSubject": "ヒント:ユーザー作成時に、パスワード設定のメールの件名を送信します(例:ユーザーの作成に成功しました)", - "EmailEmailFrom": "", - "EmailHost": "SMTPホスト", - "EmailHostPassword": "ヒント:一部のメールサービスプロバイダーはTokenの入力が必要です", - "EmailHostUser": "SMTPアカウント", - "EmailPort": "SMTPポート", - "EmailRecipient": "ヒント:テストメールの受信者としてのみ使用", - "EmailSubjectPrefix": "ヒント: 電子メールプロバイダーがいくつかのキーワードをブロックする可能性があります。それらは、例えば「プロキシサーバー」、「JumpServer」などです。", - "EmailTest": "接続テスト", - "EmailUserSSL": "SMTPポートが465の場合、通常はSSLを有効にする必要があります", - "EmailUserTLS": "SMTPポートが587の場合、通常はTLSを有効にする必要があります", - "Empty": "空", - "Enable": "有効", - "EnableKoKoSSHHelpText": "有効化時、資産への接続はSSH Clientの起動方法で表示されます", - "EnableOAuth2Auth": "OAuth2認証の開始", - "EnableVaultStorage": "Vault ストレージを開始", - "EndPoint": "端点", - "Endpoint": "サービスエンドポイント", - "EndpointListHelpMessage": "サーバーエンドポイントは、ユーザーがサービスにアクセスするアドレス(ポート)です。ユーザーがリソースへ接続する際、エンドポイントのルールとリソースのタグに従ってサーバーエンドポイントを選択し、接続を確立し、分散接続を実現します。", - "EndpointRule": "エンドポイントルール", - "EndpointRuleListHelpMessage": "サーバーエンドポイント選択策略については、現在2つをサポートします:
1、エンドポイントルールに基づきエンドポイントを指定(現在のページ);
2、アセットタグによりエンドポイントを選択、タグ名は\"endpoint\"固定、値はエンドポイント名。
2つの方式では、タグマッチングを優先します。なぜなら、IP範囲が重複するかもしれず、タグ方式はルールの補完として存在します。", - "EndpointSuffix": "エンドポイントの接尾辞", - "Endswith": "...で終わる", - "EnsureThisValueIsGreaterThanOrEqualTo1": "この値は1以上であることを確認してください", - "EnsureThisValueIsGreaterThanOrEqualTo3": "この値が3以上であることを確認してください", - "EnsureThisValueIsGreaterThanOrEqualTo5": "この値が5以上であることを確認してください", - "EnsureThisValueIsGreaterThanOrEqualTo6": "この値が6以上であることを確認してください", - "EnterForSearch": "Enterを押して検索", - "EnterMessage": "質問を入力してEnterキーを押し送信する", - "EnterRunUser": "実行ユーザーの入力", - "EnterRunningPath": "実行パスを入力", - "EnterToContinue": "Enterを押して入力を続けてください", - "EnterUploadPath": "アップロードパスを入力する", - "Enterprise": "エンタープライズ版", - "EnterpriseEdition": "エンタープライズ版", - "Equal": "等しい", - "Error": "エラー", - "ErrorMsg": "エラー", - "EsDisabled": "ノードが利用できません、管理者に連絡してください", - "EsDocType": "es既定のドキュメントタイプ:コマンド", - "EsIndex": "es がデフォルトのindexとしてjumpserverを提供します。デートごとにindexを設定する場合、入力値はindexのプレフィックスになります", - "EsUrl": "特殊文字`#`を含めることはできません;例:http://es_user:es_password@es_host:es_port", - "Every": "毎", - "EveryMonth": "毎月", - "Exclude": "含まれていない", - "ExcludeAsset": "スキップされた資産", - "ExcludeSymbol": "文字排除", - "Execute": "実行", - "ExecuteCycle": "実行周期", - "ExecuteFailedCommand": "コマンド失敗", - "ExecuteOnce": "一度実行", - "Execution": "実行履歴", - "ExecutionDetail": "実行履歴の詳細", - "ExecutionList": "実行リスト", - "ExecutionTimes": "実行回数", - "ExistError": "この要素はすでに存在します", - "Existing": "既に存在", - "ExpectedNextExecuteTime": "次回実行予定時間", - "ExpirationTimeout": "タイムアウト時間(秒)", - "Expire": "期限切れ", - "Expired": "有効期限", - "Export": "エクスポート", - "ExportAll": "すべてエクスポート", - "ExportOnlyFiltered": "検索結果のみをエクスポート", - "ExportOnlySelectedItems": "選択したアイテムのみをエクスポート", - "ExportRange": "エクスポート範囲", - "FAILURE": "失敗", - "FC": "Fusion Compute", - "Failed": "失敗", - "FailedAsset": "失敗した資産", - "FailedConditions": "条件を満たす結果がありません!", - "False": "否", - "Favicon": "ウェブサイトのアイコン", - "FaviconTip": "ヒント:ウェブサイトのアイコン(推奨画像サイズ:16px*16px)", - "Feature": "機能", - "Features": "機能設定", - "FeiShu": "飛書", - "FeiShuTest": "テスト", - "FieldRequiredError": "このフィールドは必須です", - "FileEncryptionPassword": "ファイル暗号化パスワード", - "FileManager": "ファイル管理", - "FileNameTooLong": "ファイル名が長すぎる", - "FileSizeExceedsLimit": "ファイルサイズの制限を超過", - "FileTransfer": "ファイル転送", - "FileTransferNum": "ファイル転送数", - "FileType": "ファイルタイプ", - "Filename": "ファイル名", - "FingerPrint": "指紋", - "Finished": "完了", - "FinishedTicket": "仕事の完了", - "FirstLogin": "初回ログイン", - "FlowDetail": "フロー詳細", - "FlowSetUp": "プロセス設定", - "FormatError": "形式エラー", - "Friday": "金曜日", - "From": "から", - "FromTicket": "ワークオーダーから", - "FtpLog": "FTPログ", - "FullName": "フルネーム", - "FullySynchronous": "アセット完全同期", - "FullySynchronousHelpTips": "アセットの条件がマッチングポリシーを満たさない場合、そのアセットを同期し続けますか?", - "FuzzySearch": "あいまい検索をサポート", - "GCP": "Google Cloud", - "GPTCreate": "資産の作成-GPT", - "GPTUpdate": "アセットの更新-GPT", - "Gateway": "ゲートウェイ", - "GatewayCreate": "ゲートウェイの作成", - "GatewayList": "ゲートウェイリスト", - "GatewayProtocolHelpText": "SSHゲートウェイ、SSH、RDP、VNCのプロキシをサポート", - "GatewayUpdate": "ゲートウェイを更新する", - "GeneralAccounts": "一般アカウント", - "Generate": "生成", - "GenerateAccounts": "アカウントの再生成", - "GenerateSuccessMsg": "アカウント生成成功", - "GetErrorMsg": "取得に失敗", - "Go": "実行", - "GoHomePage": "ホームに行く", - "Goto": "移動", - "GrantedAccounts": "認証済みアカウント", - "GrantedApplications": "許可されたアプリ", - "GrantedAssets": "承認された資産", - "GrantedDatabases": "承認されたデータベース", - "GrantedK8Ss": "認証済みKubernetes", - "GrantedRemoteApps": "認証済みリモートアプリケーション", - "GreatEqualThan": "以上", - "GroupsAmount": "ユーザーグループ", - "GroupsHelpMessage": "既存のユーザーグループを入力してください。複数のユーザーグループはカンマで区切ります。", - "Guide": "ウィザード", - "HandleTicket": "ワークオーダーを処理する際、資産を接続する際に、アプリケーションの公開機はランダムに選択されます(ただし、前回使用したものが優先されます)。特定の資産に固定の公開機を設定したい場合は、<公開機:公開機名>またはのタグを指定できます。
公開機に接続し、アカウントを選択する際、以下の場合にユーザーの同名アカウントまたは専用アカウント(jsで始まる)が選択されます。それ以外の場合は、共有アカウント(jmsで始まる)が使用されます:
  1. 公開機とアプリケーションが同時にサポートされている場合。
  2. 公開機は同時にサポートされており、アプリケーションはサポートされていない場合。ただし、現在のアプリケーションには専用アカウントが使用されていない場合。
  3. 公開機は同時にサポートされておらず、アプリケーションはサポートされているかどうかに関係なく、いずれのアプリケーションも専用アカウントを使用していない場合。
注意:アプリケーションのサポート可否は開発者が決定し、ホストのサポート可否は公開機の設定である単一ユーザーシングルセッションの選択によるものです。", - "Hardware": "ハードウェア情報", - "HardwareInfo": "ハードウェア情報", - "HasImportErrorItemMsg": "インポートに失敗した項目があります、左の x をクリックして失敗原因を確認し、テーブルを編集後、失敗した項目のインポートを続けることができます", - "HasRead": "既読かどうか", - "Help": "ヘルプ", - "HelpDocument": "ドキュメントリンク", - "HelpDocumentTip": "ヘルプ -> ドキュメント のURLを変更できます", - "HelpSupport": "リンクサポート", - "HelpSupportTip": "ウェブサイトのナビゲーションバーを変更することができます。ヘルプ -> サポートのURL", - "HighLoad": "比較的高い", - "HistoricalSessionNum": "過去のセッション数", - "History": "ユーザー管理", - "HistoryDate": "日付", - "HistoryPassword": "過去のパスワード", - "Home": "ホームディレクトリ", - "HomeHelpMessage": "デフォルトホームディレクトリ/home/システムユーザ名:/home/username", - "HomePage": "ホームページ", - "Host": "アセット", - "HostCreate": "資産の作成-ホスト", - "HostDeployment": "リリースマシンのデプロイ", - "HostList": "ホストリスト", - "HostName": "ホスト名", - "HostProtocol": "ホストプロトコル", - "HostUpdate": "資産-ホストを更新", - "Hostname": "ホスト名", - "HostnameGroup": "資産名", - "HostnameStrategy": "資産ホスト名の生成に使用。例:1. インスタンス名 (instanceDemo);2. インスタンス名とIPの一部(後端二位) (instanceDemo-250.1)", - "Hosts": "ホスト", - "Hour": "時間", - "HttpPort": "HTTPポート", - "HuaweiCloud": "Huaweiクラウド", - "HuaweiPrivatecloud": "ファーウェイプライベートクラウド", - "IAgree": "同意します", - "ID": "ID", - "IP": "アカウントキー", - "IP/Host": "IP/ホスト", - "IPLoginLimit": "IPログイン制限", - "IPMatch": "IPマッチング", - "IPNetworkSegment": "IPネットワーク", - "Icon": "アイコン", - "Id": "ID", - "IdeaContent": "あなたにLinuxターミナルとなることを望みます。私はコマンドを入力し、あなたはターミナルに表示されるべき内容を回答します。私はあなたが特定のコードブロック内でだけターミナルの出力を返信することを望んでいます、それ以外ではない。説明を書かないでください。私があなたに何かを伝える必要があるとき、私はテキストを大括弧の中に入れます{注釈テキスト}。", - "IdeaTitle": "🌱 Linux 端末", - "IdpMetadataHelpText": "IDP metadata URL と IDP metadata XMLパラメーターは一つを選ぶだけでよく、IDP metadata URLの優先度が高い", - "IdpMetadataUrlHelpText": "IDPメタデータをリモートアドレスからロード", - "IgnoreCase": "大文字小文字を区別しない", - "ImageName": "画像名", - "Images": "画像", - "Import": "インポート", - "ImportAll": "全てインポート", - "ImportFail": "インポート失敗", - "ImportLdapUserTip": "インポートを行う前にLDAP設定を提出してください", - "ImportLdapUserTitle": "LDAPユーザーリスト", - "ImportLicense": "ライセンスのインポート", - "ImportLicenseTip": "ライセンスをインポートしてください", - "ImportMessage": "対応するタイプのページにデータをインポートしてください", - "ImportOrg": "組織をインポート", - "ImprovePersonalInformation": "個人情報の完全性", - "InActiveAsset": "最近ログインがない", - "InActiveUser": "最近ログインしていない", - "InAssetDetail": "資產詳細でアカウント情報を更新", - "InTotal": "合計", - "Inactive": "無効", - "Include": "含む", - "Index": "索引", - "Info": "情報", - "Inherit": "継承", - "InheritPlatformConfig": "プラットフォームの設定を引き継いでいます。変更する場合は、プラットフォームの設定を変更してください。", - "InitialDeploy": "初期デプロイ", - "Input": "入力", - "InputEmailAddress": "正しいメールアドレスを入力してください", - "InputMessage": "メッセージを入力...", - "InputNumber": "数字タイプを入力してください", - "InputPhone": "携帯電話番号を入力してください", - "InsecureCommandAlert": "危険なコマンド警告", - "InsecureCommandEmailUpdate": "設定についてはこちらをクリック", - "InsecureCommandNotifyToSubscription": "危険コマンド通知はメッセージ購読にアップグレードされ、より多くの通知方式に対応", - "InstanceAddress": "インスタンスアドレス", - "InstanceName": "インスタンス名", - "InstancePlatformName": "インスタンスプラットフォーム名", - "InstantAdhoc": "インスタントコマンド", - "Interface": "ネットワークインターフェース", - "InterfaceSettings": "インターフェース設定", - "IntervalOfCreateUpdatePage": "単位:時", - "Invalid": "無効", - "InvalidJson": "履歴記録", - "Invalidity": "無効", - "Invite": "招待", - "InviteSuccess": "招待成功", - "InviteUser": "ユーザーを招待する", - "InviteUserInOrg": "この組織に参加するようにユーザーを招待し", - "Ip": "IP", - "IpGroup": "IP グループ", - "IpGroupHelpText": "* はすべてをマッチングします。例:192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64", - "Ips": "カンマで分割されたIPアドレスグループを入力してください", - "IsActive": "アクティベーション", - "IsAlwaysUpdate": "資産を最新の状態に保つ", - "IsAlwaysUpdateHelpTips": "同期タスクを毎回実行する時に、資産の情報を同期更新するかどうか、ホスト名、IP、システムプラットフォーム、ネットワークドメイン、ノードなどの情報も含まれます", - "IsEffective": "適用済み", - "IsFinished": "完了済みかどうか", - "IsLocked": "一時停止するかどうか", - "IsSuccess": "成功", - "IsSyncAccountHelpText": "収集が完了したら、収集したアカウントを資産に同期します", - "IsSyncAccountLabel": "アセットへの同期", - "IsValid": "有効", - "JDCloud": "京東雲", - "JMSSSO": "SSOトークンログイン", - "Job": "ジョブ", - "JobCenter": "ジョブセンター", - "JobCreate": "ジョブの作成", - "JobDetail": "ジョブ詳細", - "JobExecutionLog": "ジョブログ", - "JobList": "作業管理", - "JobName": "ジョブ名", - "JobType": "ジョブタイプ", - "JobUpdate": "作業を更新", - "Join": "参加", - "K8s": "Kubernetes", - "K8sPermissionRules": "Kubernetes認証ルール", - "Key": "キー", - "KingSoftCloud": "金山雲", - "KokoSettingUpdate": "Kokoの設定", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes", - "KubernetesAppCount": "Kubernetesアプリケーション数", - "KubernetesAppCreate": "Kubernetesの作成", - "KubernetesAppDetail": "Kubernetes詳細", - "KubernetesAppPermission": "Kubernetesの認証", - "KubernetesAppPermissionCreate": "Kubernetes承認ルールの作成", - "KubernetesAppPermissionDetail": "Kubernetes認証詳細", - "KubernetesAppPermissionUpdate": "Kubernetes権限ルールの更新", - "KubernetesAppUpdate": "Kubernetesをアップデート", - "LAN": "ローカルエリアネットワーク", - "LDAPServerInfo": "LDAPサーバ", - "LDAPUser": "LDAP ユーザー", - "LOWER_CASEREQUIRED": "小文字を含める必要があります", - "Label": "タグ", - "LabelCreate": "ラベルを作成", - "LabelInputFormatValidation": "タグの形式が間違っています。正しい形式は:name:value", - "LabelList": "タグリスト", - "LabelUpdate": "タグを更新", - "Language": "言語", - "Last30": "最後の30回", - "Last30Days": "過去30日間", - "Last7Days": "直近7日", - "LastCannotBeDeleteMsg": "最後の項目は削除できません", - "LastDay": "今月の最後の日", - "LastExecutionOutput": "最後に出力を実行", - "LastPublishedTime": "最終公開日時", - "LastRun": "最後に実行", - "LastRunFailedHosts": "最後に失敗したホストの運行", - "LastRunSuccessHosts": "最後に成功したホストを実行", - "LastWeek": "当月の最後の週", - "LastWorking": "最近の営業日", - "LatestSessions": "最新のログイン履歴", - "LatestSessions10": "最近10回のログイン", - "LatestTop10": "TOP 10", - "LatestVersion": "最新バージョン", - "Ldap": "LDAP", - "LdapBulkImport": "ユーザーの読み込み", - "LdapConnectTest": "接続のテスト", - "LdapLoginTest": "ログインをテスト", - "Length": "長さ", - "LessEqualThan": "以下又は同等", - "LevelApproval": "承認レベル", - "License": "許可証", - "LicenseDetail": "ライセンス詳細", - "LicenseExpired": "ライセンスが期限切れ", - "LicenseFile": "ライセンスファイル", - "LicenseForTest": "テスト用途のライセンス。このライセンスはテスト(PoC)およびデモンストレーションにのみ使用されます", - "LicenseReachedAssetAmountLimit": "資産の数量がライセンスの数を超えています", - "LicenseWillBe": "ライセンスがもうすぐ", - "LinuxAdminUser": "Linux特権ユーザ", - "LinuxUserAffiliateGroup": "ユーザー付属グループ", - "LoadStatus": "負荷状況", - "Loading": "ロード中", - "LockedIP": "{count}個のIPをロックしました", - "Log": "ログ", - "LogData": "ログデータ", - "LogOfLoginSuccessNum": "ログイン成功ログの数", - "Logging": "ログ記録", - "Login": "ユーザーログイン", - "LoginAssetConfirm": "資産ログインの審査", - "LoginAssetToday": "今日のアクティブアセット数", - "LoginAssets": "アクティブな資産", - "LoginCity": "ログイン都市", - "LoginConfig": "ログイン設定", - "LoginConfirm": "ログインのレビュー", - "LoginCount": "ログイン回数", - "LoginDate": "ログイン日", - "LoginFailed": "ログイン失敗", - "LoginFrom": "ログイン元", - "LoginIP": "ログインIP", - "LoginImage": "ログインページの画像", - "LoginImageTip": "注意:企業版のユーザーログインページに表示されます(推奨画像サイズ:492*472px)", - "LoginLog": "ログインログ", - "LoginModeHelpMessage": "手動ログインモードを選択した場合、ユーザー名とパスワードは入力不要", - "LoginModel": "ログインモード", - "LoginNum": "ログイン数", - "LoginOption": "ログインオプション", - "LoginOverview": "セッション統計", - "LoginPasswordSetting": "ログインパスワード設定", - "LoginRequiredMsg": "アカウントはログアウトされました、再度ログインしてください", - "LoginSucceeded": "ログインに成功", - "LoginTitle": "ログインページのタイトル", - "LoginTitleTip": "注意:企業版ユーザーのSSHログインKoKoログインページに表示されます(例:JumpServerオープンソース要塞サーバーへようこそ)", - "LoginTo": "ログインした", - "LoginUserRanking": "ログインアカウントのランキング", - "LoginUserToday": "本日のログインアカウント数", - "LoginUsers": "アクティブアカウント", - "Login_confirmUser": "ログインレビュー受付人", - "LogoIndex": "Logo (テキスト付き)", - "LogoIndexTip": "ヒント:管理ページの左上に表示されます(推奨画像サイズ:185px*55px)", - "LogoLogout": "Logo (テキストなし)", - "LogoLogoutTip": "ヒント:企業版のユーザーのWebターミナルページに表示されます(推奨画像サイズ:82px*82px)", - "Logout": "ログアウト", - "LogsAudit": "ログ監査", - "Lowercase": "小文字", - "LunaSettingUpdate": "Luna の設定", - "MFA": "MFA", - "MFAConfirm": "MFA認証", - "MFAErrorMsg": "MFAエラー、ご確認ください", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "多要素認証を有効にし、アカウントをより安全にします。
有効にすると、次回ログイン時に多要素認証のバインディングプロセスに進みます。また、(個人情報->素早く修正->多要素設定の変更)で直接バインディングすることもできます!", - "MFAOfUserFirstLoginUserGuidePage": "あなたと会社の安全を保護するために、アカウント、パスワード、鍵などの重要な機密情報を適切に保管してください。(例:複雑なパスワードを設定し、多要素認証を有効にする)
メール、携帯電話番号、WeChatなどの個人情報は、ユーザー認証とプラットフォーム内のメッセージ通知にのみ使用します。", - "MFARequireForSecurity": "安全のため、MFAを入力してください", - "MFAVerify": "MFAを検証", - "MIN_LENGTHERROR": "パスワードの最小長さは{0}桁です", - "MailRecipient": "メールの受信者", - "MailSend": "メール送信", - "ManualAccount": "手動アカウント", - "ManualAccountTip": "ログイン時に手動入力 ユーザー名/パスワード", - "ManualExecutePlan": "手動でスケジュールを実行", - "ManualInput": "手動入力", - "ManyChoose": "複数選択可能", - "Mariadb": "MariaDB", - "MarkAsRead": "既読にする", - "Marketplace": "アプリマーケット", - "Match": "マッチング", - "MatchIn": "中に...", - "MatchResult": "マッチング結果", - "MatchedCount": "マッチング結果", - "Material": "開始", - "Members": "メンバー", - "Memory": "メモリ", - "MenuAccounts": "アカウント管理", - "MenuAssets": "資産管理", - "MenuMore": "もっと見る...", - "MenuPermissions": "認証管理", - "MenuUsers": "IP", - "Message": "メッセージ", - "MessageSub": "メッセージの購読", - "MessageSubscription": "メッセージ購読", - "MessageType": "メッセージタイプ", - "Meta": "メタデータ", - "MfaLevel": "多要素認証", - "Min": "分", - "Model": "モデル", - "Modify": "修正", - "ModifySSHKey": "SSH Keyの変更", - "ModifyTheme": "テーマを変更", - "Module": "モジュール", - "Monday": "月曜日", - "Mongodb": "MongoDB", - "Monitor": "モニタリング", - "Month": "月", - "Monthly": "月次", - "More": "他のオプション", - "MoreActions": "その他の操作", - "MoveAssetToNode": "ノードにアセットを移動", - "MsgSubscribe": "メッセージ購読", - "MyApps": "私のアプリケーション", - "MyAssets": "私の資産", - "MyTickets": "私が開始した", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "Mysql_workbenchIp": "データベースIP", - "Mysql_workbenchName": "データベース名", - "Mysql_workbenchPassword": "データベースのパスワード", - "Mysql_workbenchPort": "データベースポート", - "Mysql_workbenchUsername": "データベースアカウント", - "NUMBERREQUIRED": "数字が必要", - "Name": "名前", - "NavHelp": "ナビゲーションリンク", - "Navigation": "ナビゲーション", - "NeedAddAppsOrSystemUserErrMsg": "アプリケーションまたはシステムユーザーの追加が必要です", - "NeedReLogin": "再ログインが必要", - "NeedSpecifiedFile": "指定されたフォーマットのファイルをアップロードする必要があります", - "NeedUpdatePasswordNextLogin": "次回ログイン時にパスワードを変更する必要があります", - "Network": "ネットワーク", - "New": "新規作成", - "NewChat": "新規チャット", - "NewCount": "追加", - "NewCron": "Cronの生成", - "NewDirectory": "新しいディレクトリを作成", - "NewFile": "新規ファイル作成", - "NewPassword": "新しいパスワード", - "NewSyncCount": "新規同期", - "No": "いいえ", - "NoAlive": "オフライン", - "NoAnnouncement": "公告はありません", - "NoContent": "内容なし", - "NoData": "データなし", - "NoFiles": "現在ファイルがありません", - "NoInputCommand": "コマンドが入力されていません", - "NoLicense": "一時的に許可がありません", - "NoPermission": "一時的に権限がない", - "NoPermission403": "403 権限がありません", - "NoPermissionVew": "現在のページを表示する権限がありません", - "NoPublished": "未公開", - "NoSQLProtocol": "非リレーショナルデータベース", - "NoSystemUserWasSelected": "システムユーザーが選択されていません", - "NoUnreadMsg": "未読のメッセージはありません", - "Node": "ノード", - "NodeAmount": "ノード数", - "NodeCount": "ノード数", - "NodeInformation": "ノード情報", - "NodeSearchStrategy": "ノード検索戦略", - "NormalLoad": "正常", - "NotAlphanumericUnderscore": "アルファベット、数字、アンダースコアのみ入力可能", - "NotEqual": "等しくない", - "NotParenthesis": "()を含むことはできません", - "NotSet": "未設定", - "NotSpecialEmoji": "特殊な絵文字の入力は許可されません", - "Nothing": "無", - "Notifications": "通知", - "Now": "今", - "Num": "号", - "Number": "番号", - "NumberOfVisits": "アクセス回数", - "OAuth2": "OAuth2", - "OAuth2LogoTip": "注:認証サービスプロバイダ(推奨画像サイズ:64px*64px)", - "OIDC": "OIDC", - "OTP": "MFA (OTP)", - "ObjectNotFoundOrDeletedMsg": "対応するリソースが見つからないか、既に削除されています", - "OfficialWebsite": "公式サイトのリンク", - "OfficialWebsiteTip": "ウェブサイトのナビゲーションバーの ヘルプ -> 公式ウェブサイトのURLを変更できます", - "Offline": "オフライン", - "OfflineSuccessMsg": "オフライン成功", - "OfflineUpload": "オフラインアップロード", - "OldPassword": "旧パスワード", - "OldSSHKey": "以前のSSH公開鍵", - "On/Off": "開始/停止", - "OneAssignee": "一次受付者", - "OneAssigneeType": "一次窓口タイプ", - "OneClickRead": "既読", - "OneClickReadMsg": "現在の情報を既読としてマークしてもよろしいですか?", - "OnlineSession": "オンラインユーザー", - "OnlineSessionHelpMsg": "現在のセッションは現在のユーザーのオンラインセッションであるため、オフラインにすることはできません。現在、Webからのログインユーザーのみが記録されています", - "OnlineSessions": "オンラインセッション数", - "OnlineUserDevices": "オンラインユーザーデバイス", - "OnlineUsers": "オンラインアカウント", - "OnlyCSVFilesTips": "csvファイルのみのインポートをサポート", - "OnlyLatestVersion": "最新バージョンのみ", - "OnlyMailSend": "現在はメール送信のみをサポート", - "OnlySearchCurrentNodePerm": "現在のノードの権限のみを検索", - "Open": "保留中", - "OpenCommand": "コマンドを開く", - "OpenId": "OpenID設定", - "OpenStack": "OpenStack", - "OpenStatus": "審査中", - "OpenTicket": "ワークオーダーを作成", - "OperateLog": "操作ログ", - "OperateRecord": "操作記録", - "OperationLogNum": "操作ログ数", - "Ops": "タスク", - "Options": "オプション", - "Oracle": "Oracle", - "OrgAdmin": "組織管理者", - "OrgAuditor": "組織の監査人", - "OrgName": "認証組織の名称", - "OrgRole": "組織役割", - "OrgRoleHelpText": "組織内でのユーザーの役割・役職", - "OrgRoles": "組織の役割", - "OrgUser": "組織のユーザー", - "OrganizationCreate": "組織を作成", - "OrganizationDetail": "組織の詳細", - "OrganizationList": "組織管理", - "OrganizationLists": "組織リスト", - "OrganizationMembership": "組織のメンバー", - "OrganizationUpdate": "組織の更新", - "Os": "オペレーティングシステム", - "Other": "その他の設定", - "OtherAuth": "その他の認証", - "OtherProtocol": "その他のプロトコル", - "OtherRules": "他のルール", - "Others": "その他", - "Output": "出力", - "Overview": "概観", - "PENDING": "待機中", - "PageNext": "次のページ", - "PagePrev": "前のページ", - "Parameter": "パラメータ", - "Params": "パラメータ", - "ParamsHelpText": "パスワード変更パラメータ設定、現在はマシンタイプのアセットのみ有効です。", - "PassKey": "Passkey", - "Passkey": "Passkey", - "PasskeyAddDisableInfo": "あなたの認証源は {source} です、Passkeyの追加はサポートしていません", - "Passphrase": "秘密鍵のパスワード", - "Password": "パスワード", - "PasswordAccount": "パスワードとアカウント", - "PasswordChangeLog": "パスワード変更ログ", - "PasswordCheckRule": "パスワードの強度ルール", - "PasswordConfirm": "パスワードの認証", - "PasswordExpired": "パスワードが期限切れ", - "PasswordHelpMessage": "パスワードまたは秘密鍵のパスワード", - "PasswordLength": "パスワードの長さ", - "PasswordOrPassphrase": "パスワードまたは暗号化鍵", - "PasswordOrToken": "パスワード / トークン", - "PasswordPlaceholder": "パスワードを入力してください", - "PasswordRecord": "パスワード記録", - "PasswordRequireForSecurity": "安全のためにパスワードを入力してください", - "PasswordRule": "パスワードルール", - "PasswordSecurity": "パスワードセキュリティ", - "PasswordSelector": "パスワード入力フィールドセレクタ", - "PasswordStrategy": "暗号文生成戦略", - "PasswordWillExpiredPrefixMsg": "パスワードはまもなく", - "PasswordWillExpiredSuffixMsg": "パスワードは天数後に期限切れとなります。早急に変更してください。", - "PasswordWithoutSpecialCharHelpText": "特殊文字を含めることはできません", - "Paste": "ペースト", - "Pattern": "モード", - "Pause": "一時停止", - "PauseTaskSendSuccessMsg": "一時停止タスクが発行されました。少し待ってから再度更新してください。", - "Pending": "保留中", - "Periodic": "実行周期", - "PeriodicPerform": "定時実行", - "Perm": "認可", - "PermAccount": "認可アカウント", - "PermName": "認可名", - "PermUserList": "ユーザーに権限を与える", - "PermissionCompany": "権限を与える会社", - "PermissionName": "認証ルール名", - "Permissions": "権限", - "Perms": "権限管理", - "PersonalInformationImprovement": "個人情報の完成", - "Phone": "携帯電話番号", - "Plan": "計画", - "Platform": "システムプラットフォーム", - "PlatformCreate": "システムプラットフォームを作成する", - "PlatformDetail": "システムプラットフォームの詳細", - "PlatformList": "プラットフォームリスト", - "PlatformProtocolConfig": "プラットフォームプロトコルの設定", - "PlatformSimple": "プラットフォーム", - "PlatformUpdate": "システムプラットフォームの更新", - "PlaybookDetail": "プレイブックの詳細", - "PlaybookManage": "Playbook管理", - "PlaybookUpdate": "Playbookを更新する", - "PleaseAgreeToTheTerms": "規約に同意してください", - "PleaseClickLeftApplicationToViewApplicationAccount": "アプリケーションアカウントリスト、左側のアプリケーションをクリックして表示", - "PleaseClickLeftAssetToViewAssetAccount": "アセットアカウントリスト、左側のアセットをクリックして閲覧", - "PleaseClickLeftAssetToViewGatheredUser": "ユーザーリストを集めて、左側のアセットをクリックして確認する", - "PleaseSelect": "選択してください", - "PolicyName": "ポリシー名", - "Port": "ポート", - "Ports": "ポート", - "Postgresql": "PostgreSQL", - "Primary": "主な", - "PrimaryProtocol": "主要なプロトコル、資産の最も変調基本的で一般的なプロトコル、オンリーワンを設定しなければならない", - "Priority": "優先順位", - "PriorityHelpMessage": "1-100、1が最低優先度、100が最高優先度。複数のユーザーに権限を与えるとき、最優先のシステムユーザーがデフォルトのログインユーザーになります", - "PrivateCloud": "プライベートクラウド", - "PrivateKey": "秘密鍵", - "PrivilegeFirst": "優先的に特権アカウントを選択", - "PrivilegeOnly": "特権アカウントのみを選択", - "Privileged": "特権アカウント", - "PrivilegedFirst": "優先権限アカウント", - "PrivilegedOnly": "特権アカウントのみ", - "PrivilegedTemplate": "特権の", - "Product": "製品", - "Profile": "個人情報", - "ProfileSetting": "個人情報設定", - "Project": "プロジェクト名", - "Prompt": "ヒント", - "Proportion": "占有率", - "ProportionOfAssetTypes": "アセットタイプの割合", - "Protocol": "プロトコル", - "Protocols": "契約", - "ProtocolsEnabled": "プロトコルを有効にする", - "ProtocolsGroup": "契約", - "Provider": "クラウドサービスプロバイダ", - "Proxy": "プロキシ", - "Public": "一般的な", - "PublicCloud": "公有クラウド", - "PublicIp": "公開IP", - "PublicKey": "公開鍵", - "PublicProtocol": "公共プロトコルの場合、資産への接続時に表示されます", - "Publish": "公開", - "PublishAllApplets": "すべてのアプリケーションを公開", - "PublishStatus": "公開状態", - "Push": "プッシュ", - "PushAccount": "アカウントをプッシュ", - "PushAllSystemUsersToAsset": "すべてのシステムユーザーを資産にプッシュ", - "PushParams": "プッシュパラメータ", - "PushSelected": "選択したものをプッシュ", - "PushSelectedSystemUsersToAsset": "選択したシステムユーザをアセットにプッシュする", - "PushSystemUserNow": "システムユーザーのプッシュ", - "Qcloud": "テンセントクラウド", - "QcloudLighthouse": "テンセントクラウド(ライトウェイト・アプリケーション・サーバー)", - "QingyunPrivatecloud": "青雲プライベートクラウド", - "Queue": "キュー", - "QuickAccess": "クイックアクセス", - "QuickAdd": "迅速に追加", - "QuickJob": "ショートカットコマンド", - "QuickSelect": "速選択", - "QuickUpdate": "迅速な更新", - "RDBProtocol": "リレーショナルデータベース", - "RUNNING": "実行中", - "Radius": "Radius", - "Ranking": "ランキング", - "Ratio": "比率", - "RazorNotSupport": "RDPクライアントセッション、監視は未対応", - "ReLogin": "再ログイン", - "ReLoginErr": "ログイン時間が5分を超えています。再度ログインしてください。", - "ReLoginTitle": "CAS/SAML による現在のサードパーティログインユーザーで、MFAにバインドされておらず、パスワードの検証もサポートされていません。再ログインしてください。", - "RealTimeData": "リアルタイムデータ", - "Reason": "理由", - "Receivers": "受信者", - "RecentLogin": "最近のログイン", - "RecentSession": "最近のセッション", - "RecentlyUsed": "最近使用したもの", - "RecipientHelpText": "もし受取人 A と B が設定された場合、アカウントの秘密鍵は前後に分割されます", - "RecipientServer": "受信サーバー", - "Reconnect": "再接続", - "Redis": "Redis", - "Refresh": "リフレッシュ", - "RefreshFail": "更新に失敗しました", - "RefreshHardware": "ハードウェア情報の更新", - "RefreshLdapCache": "Ldapキャッシュを更新中、お待ちください", - "RefreshLdapUser": "キャッシュを更新", - "RefreshPermissionCache": "認証キャッシュのリフレッシュ", - "RefreshSuccess": "更新に成功", - "Regex": "正規表現", - "Region": "地域", - "RegularlyPerform": "定期的に実行", - "Reject": "拒否", - "Rejected": "拒否されました", - "RelAnd": "と", - "RelNot": "非", - "RelOr": "または", - "Relation": "関係性", - "ReleasedCount": "リリース完了", - "RelevantApp": "アプリ", - "RelevantAsset": "資産", - "RelevantAssignees": "関連受理者", - "RelevantCommand": "コマンド", - "RelevantSystemUser": "システムユーザー", - "RemoteAddr": "リモートアドレス", - "RemoteApp": "リモートアプリケーション", - "RemoteAppCount": "リモートアプリケーションの数", - "RemoteAppDetail": "リモートアプリケーションの詳細", - "RemoteAppListHelpMessage": "この機能を使用する前に、アプリケーションローダーをアプリケーションサーバーにアップロードし、RemoteAppとして成功裏に公開したことを確認してくださいアプリケーションローダーのダウンロード", - "RemoteAppPermission": "リモートアプリケーション認証", - "RemoteAppPermissionCreate": "リモートアプリケーション認証ルールを作成", - "RemoteAppPermissionDetail": "リモートアプリケーションの認証の詳細", - "RemoteAppPermissionRules": "リモートアプリケーション認証ルール", - "RemoteAppPermissionUpdate": "リモートアプリケーションの認証ルールを更新", - "RemoteAppUpdate": "リモートアプリケーションを更新", - "RemoteApps": "リモートアプリケーション", - "RemoteType": "アプリケーションタイプ", - "Remove": "削除", - "RemoveAssetFromNode": "ノードから資産を削除", - "RemoveErrorMsg": "削除に失敗:", - "RemoveFromCurrentNode": "ノードから削除", - "RemoveFromOrgWarningMsg": "組織から削除しますか?", - "RemoveSuccessMsg": "削除成功", - "RemoveWarningMsg": "本当に削除してもよろしいですか", - "Rename": "名前の変更", - "RenameNode": "ノード名を変更する", - "ReplaceNodeAssetsAdminUser": "ノード資産の管理者を交換する", - "ReplaceNodeAssetsAdminUserWithThis": "アセットの管理者を交代", - "Replay": "再生", - "ReplaySession": "セッションの再生", - "ReplayStorage": "オブジェクトストレージ", - "ReplayStorageCreateUpdateHelpMessage": "注意:現在、SFTPストレージはアカウントバックアップのみをサポートし、ビデオストレージはサポートしていません。", - "ReplayStorageUpdate": "オブジェクトストレージの更新", - "Reply": "返信", - "RequestApplicationPerm": "アプリケーションの認証を申請", - "RequestAssetPerm": "アセット権限の申請", - "RequestPerm": "認証の申請", - "RequestTickets": "ワークオーダー申請", - "Required": "必要な", - "RequiredAssetOrNode": "少なくとも一つのアセットまたはノードを選択してください", - "RequiredContent": "コマンドを入力してください", - "RequiredEntryFile": "このファイルは実行のエントリーファイルとしてあり、存在する必要があります", - "RequiredHasUserNameMapped": "マッピングに含む必要があるusernameフィールド、例 { 'uid': 'username' }", - "RequiredProtocol": "必要な同意、資産を追加する際に必ず選択し、複数設定可能", - "RequiredRunas": "実行ユーザーを入力してください", - "RequiredSystemUserErrMsg": "アカウントを選択してください", - "RequiredUploadFile": "ファイルをアップロードしてください!", - "Reset": "復元", - "ResetAndDownloadSSHKey": "キーをリセットしてダウンロード", - "ResetDingTalk": "ディング(中国のコミュニケーションアプリ)の連携解除", - "ResetDingTalkLoginSuccessMsg": "リセット成功、ユーザーは再度DingTalkにバインドできます", - "ResetDingTalkLoginWarningMsg": "ユーザーの 钉钉 を解除してもよろしいですか?", - "ResetMFA": "MFAリセット", - "ResetMFAWarningMsg": "MFAをリセットしますか?", - "ResetMFAdSuccessMsg": "MFAのリセットに成功し、ユーザーはMFAを再設定できます", - "ResetPassword": "パスワードリセット", - "ResetPasswordSuccessMsg": "ユーザーにパスワードリセットメッセージを送信しました", - "ResetPasswordWarningMsg": "ユーザーパスワードのリセットメールを送信してもよろしいですか", - "ResetPublicKeyAndDownload": "SSHキーをリセットしてダウンロード", - "ResetSSHKey": "SSHキーのリセット", - "ResetSSHKeySuccessMsg": "メール送信タスクが提出されました、ユーザーは後でキーリセットのメールを受け取ります", - "ResetSSHKeyWarningMsg": "SSHキーのリセット通知を送信してもよろしいですか?", - "ResetWechat": "企業WeChatの解除", - "ResetWechatLoginSuccessMsg": "リセット成功、ユーザーは再度企業のWeChatをバインドできます", - "ResetWechatLoginWarningMsg": "企業の WeChat のユーザーを解除することを確認していますか?", - "Resource": "資源", - "ResourceType": "リソースタイプ", - "Resources": "リソース", - "RestoreButton": "デフォルトに戻す", - "RestoreDefault": "デフォルトに戻す", - "RestoreDialogMessage": "デフォルトに戻しますか?", - "RestoreDialogTitle": "あなたは確認していますか", - "Result": "結果", - "Resume": "復元", - "ResumeTaskSendSuccessMsg": "リカバリジョブが出されました、しばらく待ってから、再度更新してご覧ください", - "Retry": "再試行", - "Reviewer": "承認者", - "Revise": "変更", - "RiskLevel": "リスクレベル", - "Role": "役割", - "RoleCreate": "ロールを作成", - "RoleDetail": "キャラクター詳細", - "RoleInfo": "役割情報", - "RoleList": "ロールリスト", - "RolePerms": "ロールの権限", - "RoleUpdate": "ロールを更新", - "RoleUsers": "権限を持つユーザー", - "Rows": "行", - "Rule": "条件", - "RuleCount": "条件数", - "RuleDetail": "ルール詳細", - "RuleRelation": "条件関係", - "RuleRelationHelpTips": "すべての条件が満たされたらのみ、アクションが実行されます。または、一つの条件が満たされたら、アクションが実行されます", - "RuleSetting": "条件設定", - "Rules": "ルール", - "Run": "実行", - "RunAgain": "再実行", - "RunAs": "実行ユーザー", - "RunCommand": "コマンドを実行", - "RunJob": "ジョブ実行", - "RunSucceed": "タスク成功的に実行されました。", - "RunTaskManually": "手動で実行", - "RunTimes": "実行回数", - "RunUser": "実行ユーザー", - "RunasHelpText": "実行スクリプトのユーザー名を入力", - "RunasPolicy": "アカウントポリシー", - "RunasPolicyHelpText": "現在のアセットに指定されたユーザーが存在しない場合、どのアカウント選択策略を採用するか。スキップ:実行しない。特権アカウント優先:特権アカウントがあればそれを選ぶ、なければ通常のアカウントを選ぶ。特権アカウントのみ:特権アカウントからのみ選択し、存在しない場合は実行しない", - "Running": "実行中", - "RunningPath": "実行パス", - "RunningPathHelpText": "スクリプトの実行パスを記入してください、この設定はシェルスクリプトにのみ有効です", - "RunningTimes": "最近5回の実行時間", - "SAML2Auth": "SAML2認証", - "SCP": "シンシンフウクラウドプラットフォーム", - "SFTPHelpMessage": "SFTPの開始パスは、ホームディレクトリとして:HOMEを指定できます。
変数をサポート:${ACCOUNT} 接続アカウント名、${USER} 現在のユーザー名、例 /tmp/${ACCOUNT}", - "SMS": "短信", - "SMSProvider": "SMS提供者", - "SMTP": "メールサーバー", - "SPECIAL_CHARREQUIRED": "特殊文字を含む必要がある", - "SSHKey": "SSH公開鍵", - "SSHKeyOfProfileSSHUpdatePage": "ここにあなたの公開鍵をコピーしてください", - "SSHKeySetting": "SSH公開鍵設定", - "SSHPort": "SSH ポート", - "SSHSecretKey": "SSHキー", - "SSO": "シングルサインオン", - "SUCCESS": "成功", - "SafeCommand": "安全なコマンド", - "SameAccount": "同名のアカウント", - "SameAccountTip": "許可されたユーザ名と同じアカウント", - "SameTypeAccountTip": "同じユーザー名、鍵タイプのアカウントが既に存在します", - "Saturday": "土曜日", - "Save": "保存", - "SaveAdhoc": "コマンドを保存", - "SaveAndAddAnother": "保存して続けて追加", - "SaveCommand": "コマンドを保存", - "SaveCommandSuccess": "コマンドの保管成功", - "SaveSetting": "同期設定", - "SaveSuccess": "保存に成功しました", - "SaveSuccessContinueMsg": "作成成功、内容を更新した後で追加を続けることができます", - "Scope": "カテゴリ", - "Script": "スクリプトリスト", - "ScriptDetail": "スクリプト詳細", - "ScrollToBottom": "下部へスクロール", - "ScrollToTop": "トップへスクロール", - "Search": "検索", - "SearchAncestorNodePerm": "現在のノードとその祖先ノードの権限を同時に検索", - "Secret": "パスワード", - "SecretKey": "キー", - "SecretKeyStrategy": "パスワードポリシー", - "SecretType": "暗号化タイプ", - "Secure": "セキュリティ", - "Security": "セキュリティ設定", - "SecurityCommandExecution": "バッチコマンド", - "SecurityInsecureCommand": "資産に危険なコマンドが実行されたときに、メールで警告通知が送信されます", - "SecurityInsecureCommandEmailReceiver": "複数のメールアドレスの場合は、半角のコンマ','で区切ります", - "SecurityLoginLimitCount": "ログイン失敗の回数制限", - "SecurityLoginLimitTime": "ログイン禁止時刻", - "SecurityMaxIdleTime": "最大接続空き時間", - "SecurityMfaAuth": "マルチファクター認証", - "SecurityPasswordExpirationTime": "パスワード有効期限", - "SecurityPasswordLowerCase": "必ず小文字を含めてください", - "SecurityPasswordMinLength": "パスワードの最小長さ", - "SecurityPasswordNumber": "数字を含む必要があります", - "SecurityPasswordSpecialChar": "特殊文字を含まなければなりません", - "SecurityPasswordUpperCase": "大文字を含める必要がある", - "SecurityServiceAccountRegistration": "コンポーネントの登録", - "SecuritySetting": "セキュリティ設定", - "Select": "選択", - "SelectAccount": "アカウントを選択", - "SelectAdhoc": "コマンド選択", - "SelectAll": "すべて選択", - "SelectAssetsMessage": "左側の資産を選択し、実行するシステムユーザーを選択し、コマンドを一括実行する", - "SelectAtLeastOneAssetOrNodeErrMsg": "資産またはノードを少なくとも一つ選択してください", - "SelectAttrs": "属性の選択", - "SelectByAttr": "属性フィルタ", - "SelectCreateMethod": "作成方法の選択", - "SelectFile": "ファイルを選んでください", - "SelectKeyOrCreateNew": "タグキーを選択するか、新規作成", - "SelectLabelFilter": "タグ検索を選択", - "SelectPlatforms": "プラットフォームを選択", - "SelectProperties": "属性の選択", - "SelectResource": "リソースの選択", - "SelectTemplate": "テンプレートの選択", - "SelectValueOrCreateNew": "タグ値を選択または新しく作成", - "Selected": "選択済み", - "SelectedAssets": "選択済みの資産:", - "Selection": "選択可能", - "Selector": "セレクタ", - "Send": "送信", - "SendVerificationCode": "認証コード送信", - "Sender": "送信者", - "Senior": "アドバンスド", - "SerialNumber": "シリアルナンバー", - "ServerAccountKey": "サービスアカウントキー", - "ServerError": "サーバーエラー", - "ServerTime": "サーバー時間", - "ServiceRatio": "コンポーネントの負荷統計", - "Session": "セッション", - "SessionActiveCount": "オンラインセッション数", - "SessionData": "セッションデータ", - "SessionDetail": "セッション詳細", - "SessionID": "セッションID", - "SessionList": "セッションログ", - "SessionMonitor": "モニタリング", - "SessionOffline": "過去のセッション", - "SessionOnline": "オンラインセッション", - "SessionSecurity": "セッションのセキュリティ", - "SessionState": "セッションの状態", - "SessionTerminate": "セッション切断", - "SessionTrend": "セッショントレンド", - "Sessions": "セッション管理", - "SessionsAudit": "セッション監査", - "SessionsNum": "セッション数", - "Set": "設定済み", - "SetAdDomainNoDisabled": "特権アカウントを使用して資産上に一般アカウントを作成し、ADドメインが設定されている場合は変更できません(Windows)", - "SetDingTalk": "ダイング通知の設定", - "SetFailed": "設定に失敗", - "SetFeiShu": "フェイシュ認証を設定", - "SetMFA": "マルチファクター認証の設定", - "SetPublicKey": "SSH公開鍵を設定", - "SetSlack": "Slack認証の設定", - "SetStatus": "状態の設定", - "SetSuccess": "設定成功", - "SetToDefault": "デフォルトに設定", - "SetToDefaultStorage": "デフォルトストレージに設定", - "SetWeCom": "企業微信認証の設定", - "Setting": "設定", - "SettingInEndpointHelpText": "システム設定/コンポーネント設定/サービスエンドポイントでサービスアドレスとポートを設定", - "Settings": "システム設定", - "Show": "表示", - "ShowAssetAllChildrenNode": "すべての子ノードの資産を表示する", - "ShowAssetOnlyCurrentNode": "現在のノードのアセットのみを表示", - "ShowNodeInfo": "ノード詳細を表示", - "SignChannelNum": "署名チャネル番号", - "SignaturesAndTemplates": "署名とテンプレート", - "SiteMessage": "内部通信", - "SiteMessageList": "内部メール", - "SiteUrl": "現在のサイトURL", - "Skip": "現在の資産を無視する", - "Skipped": "スキップ済み", - "Slack": "Slack", - "Source": "ソース", - "SourceIP": "ソースアドレス", - "SourcePort": "ソースポート", - "Spec": "指定した", - "SpecAccount": "指定アカウント", - "SpecAccountTip": "指定ユーザー名で認証アカウントを選択", - "SpecialSymbol": "特殊文字", - "SpecificInfo": "特別な情報", - "Sqlserver": "SQLServer", - "SshKeyFingerprint": "SSHフィンガープリント", - "SshPort": "SSHポート", - "Sshkey": "sshキー", - "SshkeyAccount": "キーアカウント", - "StartEvery": "スタート、毎", - "Startswith": "...で始まる", - "Stat": "成功/失敗/合計", - "State": "ステータス", - "StateClosed": "閉鎖済み", - "Status": "状態", - "StatusGreen": "最近の状況は良好", - "StatusRed": "前回のタスクの実行に失敗", - "StatusYellow": "最近、実行失敗が発生しています", - "Stop": "停止", - "Storage": "ストレージ", - "StorageConfiguration": "設定を保存", - "Strategy": "ポリシー", - "StrategyCreate": "ポリシーの作成", - "StrategyDetail": "ポリシーの詳細", - "StrategyHelpTips": "ポリシーの優先度に従ってアセットの一意性(プラットフォームなど)を決定し、アセットの属性(ノードなど)が複数設定可能な場合、すべてのポリシーのアクションが実行されます", - "StrategyList": "ポリシーリスト", - "StrategyUpdate": "更新ポリシー", - "SuFrom": "から切り替える", - "Subject": "主題", - "Submit": "提出", - "SubmitSelector": "送信ボタンのセレクタ", - "Subscription": "メッセージ購読", - "SubscriptionID": "サブスクリプション認証ID", - "Success": "成功", - "SuccessAsset": "成功したアセット", - "SuccessfulOperation": "操作成功", - "SudoHelpMessage": "複数のコマンドをカンマで区切ってください。例: /bin/whoami,/sbin/ifconfig", - "Summary(success/total)": "概要(成功/総数)", - "Sunday": "日曜日", - "SuperAdmin": "スーパーユーザー", - "SuperOrgAdmin": "スーパーアドミン+組織アドミン", - "Support": "サポート", - "SupportedProtocol": "サポートされているプロトコル", - "SupportedProtocolHelpText": "アセットがサポートするプロトコルを設定、設定ボタンをクリックしてプロトコルにカスタム設定を追加できます、例えばSFTPディレクトリ、RDP ADドメインなど", - "SwitchPage": "ビューの切替", - "SwitchToUser": "Suユーザー", - "SwitchToUserListTips": "以下のユーザーが資産に接続するとき、現在のシステムユーザーでログインしてスイッチングを行います。", - "SymbolSet": "特別な記号の集合", - "SymbolSetHelpText": "データベースでサポートされている特殊文字のセットを入力してください。生成されたランダムパスワードにデータベースがサポートしていない特殊文字が含まれている場合、パスワード変更プランは失敗します。", - "Sync": "同期", - "SyncDelete": "同期を削除", - "SyncInstanceTaskCreate": "同期タスクの作成", - "SyncInstanceTaskDetail": "同期タスク詳細", - "SyncInstanceTaskHistoryAssetList": "同期インスタンスリスト", - "SyncInstanceTaskHistoryList": "同期履歴リスト", - "SyncInstanceTaskList": "同期タスクリスト", - "SyncInstanceTaskUpdate": "同期タスクの更新", - "SyncProtocolToAsset": "同期プロトコルへアセット", - "SyncSelected": "選択したものを同期", - "SyncSetting": "設定の同期", - "SyncStrategy": "同期ポリシー", - "SyncSuccessMsg": "同期成功", - "SyncTask": "同期タスク", - "SyncUpdateAccountInfo": "アカウント情報の同期更新", - "SyncUser": "ユーザーの同期", - "SyncedCount": "同期済み", - "SystemCpuLoad": "CPU負荷", - "SystemDiskUsedPercent": "ハードディスクの使用率", - "SystemError": "システムエラー", - "SystemMemoryUsedPercent": "メモリ使用率", - "SystemMessageSubscription": "システムメッセージの購読", - "SystemRole": "システムロール", - "SystemRoles": "システムロール", - "SystemSetting": "システム設定", - "SystemTools": "システムツール", - "SystemUser": "システムユーザー", - "SystemUserAmount": "システムユーザー数", - "SystemUserCount": "システムユーザ", - "SystemUserCreate": "システムユーザを作成", - "SystemUserDetail": "システムユーザー詳細", - "SystemUserId": "システムユーザーID", - "SystemUserList": "システムユーザー", - "SystemUserListHelpMessage": "システムユーザーはJumpServerが資産にログインする際に使用するアカウントで、`ssh root@host`のようにrootとしてログインします。資産にログインするためにこのユーザー名(ssh admin@host)を使用しないでください。
特権ユーザーは、すでに存在し、高度な権限を持つシステムユーザーで、JumpServerはこのユーザーを使って`システムユーザーをプッシュ`、`資産ハードウェア情報を取得`するなど。
一般ユーザーは資産上に事前に存在することもできますし、特権ユーザーによって自動的に作成することもできます。", - "SystemUserName": "システムユーザ名", - "SystemUserUpdate": "システムユーザーの更新", - "SystemUsers": "システムユーザ", - "System_usersAmount": "システムユーザ", - "System_users_nameGroup": "システムユーザー名", - "System_users_protocolGroup": "システム利用規約", - "System_users_usernameGroup": "システムユーザー名", - "TableColSettingInfo": "表示したい詳細リストを選んでください。", - "Target": "目標", - "TargetResources": "対象リソース", - "Task": "タスク", - "TaskCenter": "タスクセンター", - "TaskDetail": "タスク詳細", - "TaskDispatch": "タスクが正常に配信されました", - "TaskDone": "タスク完了", - "TaskID": "タスク ID", - "TaskList": "タスクリスト", - "TaskMonitor": "タスク監視", - "TaskName": "タスク名", - "TaskVersions": "各タスクのバージョン", - "Tasks": "作業", - "TechnologyConsult": "テクニカルアドバイザリー", - "TempPassword": "一時パスワードの有効期限は 300 秒で、使用後すぐに失効します", - "Template": "テンプレート管理", - "TemplateAdd": "テンプレートの追加", - "TemplateCreate": "テンプレートを作成", - "TemplateDetail": "テンプレート詳細", - "TemplateHelpText": "テンプレートを選択して追加すると、アセット下に存在しないアカウントが自動的に作成され推送されます", - "TemplateUpdate": "テンプレートを更新", - "Templates": "テンプレート管理", - "TencentCloud": "テンセントクラウド", - "Terminal": "コンポーネント設定", - "TerminalAssetListPageSize": "資産のページあたりの表示数", - "TerminalAssetListSortBy": "アセットリストの並べ替え", - "TerminalDetail": "端末詳細", - "TerminalHeartbeatInterval": "ハートビート間隔", - "TerminalPasswordAuth": "パスワード認証", - "TerminalPublicKeyAuth": "キー認証", - "TerminalSessionKeepDuration": "セッションの保持期間", - "TerminalStat": "CPU/メモリ/ディスク", - "TerminalTelnetRegex": "Telnet成功の正規表現", - "TerminalUpdate": "エンドポイントの更新", - "TerminalUpdateStorage": "エンドポイントストレージの更新", - "Terminate": "最終終了", - "TerminateTaskSendSuccessMsg": "タスクの終了が発行されました。後で更新して確認してください", - "TermsAndConditions": "条項と条件", - "Test": "テスト", - "TestAccountConnective": "テストアカウントの接続性", - "TestAllSystemUsersConnective": "すべてのシステムユーザーの接続性をテストする", - "TestAssetsConnective": "資産の接続可能性テスト", - "TestConnection": "接続テスト", - "TestGatewayHelpMessage": "NATポートマッピングが利用されている場合、SSHの実際のリッスンポートを設定してください", - "TestGatewayTestConnection": "ゲートウェイの接続をテスト", - "TestHelpText": "テストの目的地を入力してください", - "TestLdapLoginSubtitle": "テストログインを行う前にLDAP設定を提出してください", - "TestLdapLoginTitle": "LDAPユーザーログインテスト", - "TestMultiPort": "複数のポートは、で区切られます", - "TestNodeAssetConnectivity": "アセットノードの接続性をテストする", - "TestParam": "パラメータ", - "TestPortErrorMsg": "ポートエラー、再入力してください", - "TestSelected": "選択したものをテスト", - "TestSelectedSystemUsersConnective": "選択したシステムユーザーの接続性をテスト", - "TestSuccessMsg": "テスト成功", - "The": "第", - "ThisPeriodic": "これは周期的なジョブです", - "Thursday": "木曜日", - "Ticket": "作業依頼", - "TicketCreate": "チケットの作成", - "TicketDetail": "ワークオーダーの詳細", - "TicketFlow": "作業指示票フロー", - "TicketFlowCreate": "承認フローの作成", - "TicketFlowUpdate": "承認フロー更新", - "Tickets": "ワークオーダーリスト", - "TicketsDone": "完了したワークオーダー", - "TicketsNew": "チケットの提出", - "TicketsTodo": "保留中のチケット", - "Time": "時間", - "TimeDelta": "実行時間", - "TimeExpression": "タイム表現", - "TimePeriod": "時間帯", - "Timeout": "タイムアウト", - "TimeoutHelpText": "この値が-1の場合、タイムアウト時間を設定しません", - "Timer": "定時実行", - "TimerPeriod": "定期的な実行サイクル", - "TimesWeekUnit": "回/週", - "Title": "タイトル", - "To": "まで", - "Today": "今日", - "TodayFailedConnections": "今日の接続失敗数", - "Token": "トークン", - "TokenHTTPMethod": "トークン取得方法", - "TopAssetsOfWeek": "週間資産 TOP10", - "TopUsersOfWeek": "週刊ユーザー TOP10", - "Total": "合計", - "TotalJobFailed": "失敗したジョブの数", - "TotalJobLog": "タスクの実行総数", - "TotalJobRunning": "実行中のジョブ数", - "TotalVersions": "バージョン数", - "Transfer": "転送", - "True": "はい", - "Tuesday": "火曜日", - "TwoAssignee": "二次受理者", - "TwoAssigneeType": "二級受理人タイプ", - "Type": "タイプ", - "Types": "タイプ", - "UCloud": "UCloud優刻得", - "UPPER_CASEREQUIRED": "大文字を含む必要があります", - "UnSyncCount": "未同期", - "Unbind": "アンバインド", - "UnbindHelpText": "この認証源に対するローカルユーザーで、バインド解除はできません", - "Unblock": "ロック解除", - "UnblockSuccessMsg": "ロック解除成功", - "UnblockUser": "ユーザーのロックを解除", - "UniqueError": "以下の属性は一つだけ設定可能", - "Unknown": "不明", - "UnlockSuccessMsg": "ロック解除成功", - "Unreachable": "接続不可", - "UnselectedAssets": "アセットが選択されていない、または選択したアセットがSSHプロトコルの接続をサポートしていない", - "UnselectedNodes": "ノードが未選択", - "UnselectedOrg": "組織を選択していません", - "UnselectedUser": "選択されていないユーザー", - "UpDownload": "アップロードダウンロード", - "Update": "更新", - "UpdateAccount": "アカウント更新", - "UpdateAccountMsg": "システムユーザのアカウント情報を更新してください", - "UpdateAccountTemplate": "アカウントテンプレートの更新", - "UpdateAssetDetail": "より詳しい情報の設定", - "UpdateAssetUserToken": "アカウント認証情報更新", - "UpdateEndpoint": "エンドポイントの更新", - "UpdateEndpointRule": "エンドポイントルールの更新", - "UpdateErrorMsg": "更新に失敗", - "UpdateMFA": "多要素認証を変更する", - "UpdateNodeAssetHardwareInfo": "ノードの資産ハードウェア情報を更新", - "UpdatePassword": "パスワードを更新する", - "UpdateSSHKey": "SSH公開鍵を更新", - "UpdateSecret": "暗号文を更新", - "UpdateSelected": "選択したものを更新する", - "UpdateSuccessMsg": "更新成功", - "Updated": "更新済み", - "UpdatedBy": "アップデータ", - "Upload": "アップロード", - "UploadCsvLth10MHelpText": "csv/xlsxのみアップロード可能で、10Mを超えてはいけません", - "UploadDir": "アップロードディレクトリ", - "UploadFailed": "アップロード失敗", - "UploadFile": "ファイルのアップロード", - "UploadFileLthHelpText": "{limit}MB以下のファイルのみアップロード可能", - "UploadPlaybook": "Playbookをアップロードする", - "UploadSucceed": "アップロード成功", - "UploadZipTips": "zip形式のファイルをアップロードしてください", - "Uploading": "ファイルのアップロード中", - "Uppercase": "大文字", - "UseParameterDefine": "パラメーターの定義", - "UseProtocol": "使用プロトコル", - "UseSSL": "SSL/TLS の使用", - "User": "ユーザ", - "UserAclDetail": "ユーザーログインルールの詳細", - "UserAclList": "ユーザーのログイン", - "UserAclLists": "ユーザーログインルール", - "UserAssetActivity": "アカウント/資産の活動状況", - "UserCount": "ユーザー数", - "UserCreate": "ユーザーの作成", - "UserData": "アカウント情報", - "UserDetail": "ユーザーの詳細", - "UserFirstLogin": "初回ログイン", - "UserGroupCount": "ユーザーグループの数", - "UserGroupCreate": "ユーザーグループを作成", - "UserGroupDetail": "ユーザーグループ詳細", - "UserGroupList": "ユーザーグループ", - "UserGroupUpdate": "ユーザーグループの更新", - "UserGroups": "ユーザー・グループ", - "UserGuide": "ユーザーガイド", - "UserGuideUrl": "ユーザーガイドURL", - "UserIP": "ログインIP", - "UserInformation": "ユーザー情報", - "UserList": "ユーザーリスト", - "UserLoginACL": "ユーザーログイン", - "UserLoginACLCreate": "ユーザーログインルール作成", - "UserLoginACLDetail": "ユーザーログイン制限", - "UserLoginACLHelpMsg": "ログインシステム時、ユーザーのログインIPと時間帯を審査し、システムへのログインを許可するかどうかを判断する(全体対象)", - "UserLoginACLUpdate": "ユーザーログインルールを更新", - "UserLoginAclCreate": "ユーザーログインコントロールを作成", - "UserLoginAclDetail": "ユーザーログインの詳細", - "UserLoginAclList": "ユーザーログイン", - "UserLoginAclUpdate": "ユーザーログイン制御の更新", - "UserLoginLimit": "ユーザーログイン制限", - "UserLoginTrend": "アカウントログインの傾向", - "UserName": "名前", - "UserNameSelector": "ユーザ名入力フィールドセレクタ", - "UserPage": "ユーザービュー", - "UserProfile": "個人情報", - "UserRatio": "ユーザーの割合統計", - "UserSession": "ユーザーセッション", - "UserSetting": "好みの設定", - "UserSwitch": "ユーザーの切り替え", - "UserSwitchFrom": "切り替え自", - "UserUpdate": "ユーザー更新", - "UserUsername": "ユーザー(ユーザー名)", - "Username": "ユーザー名", - "UsernameGroup": "ユーザ名", - "UsernameHelpMessage": "ユーザ名は動的で、アセットへのログイン時には現在のユーザ名を使用", - "UsernameOfCreateUpdatePage": "ターゲットホスト上のユーザー名。存在する場合は、ユーザーのパスワードを変更。存在しない場合、ユーザーを追加しパスワードを設定。", - "UsernamePlaceholder": "ユーザー名を入力してください", - "Users": "ユーザー", - "UsersAmount": "ユーザー", - "UsersAndUserGroups": "ユーザー/ユーザーグループ", - "UsersTotal": "アカウント総数", - "Valid": "有効", - "Validity": "有効な", - "Value": "値", - "Variable": "変数", - "VariableHelpText": "{{ key }} をコマンドで使用して組み込み変数を読み取ることができます", - "Vault": "パスワードボックス", - "VaultHelpText": "1. セキュリティ上の理由から、設定ファイルでVaultストレージを有効にする必要があります。
2. 有効化後、他の設定を入力し、テストを行います。
3. データ同期を行います。同期は一方向で、ローカルデータベースから遠隔Vaultにのみ同期され、同期が完了するとローカルデータベースではパスワードは保存されませんので、データをバックアップしてください。
4. Vaultの設定を二度目に変更すると、サービスを再起動する必要があります。", - "Vendor": "製造元", - "VerificationCodeSent": "検証コードが送信されました", - "VerifySignTmpl": "認証コードSMSテンプレート", - "Version": "バージョン", - "VersionDetail": "バージョン詳細", - "VersionRunExecution": "実行履歴", - "View": "ビュー", - "ViewBlockedIPSHelpText": "ロックされたIP一覧を表示", - "ViewMore": "もっと見る", - "ViewPerm": "認証の表示", - "ViewSecret": "暗号文を表示", - "VirtualAccountDetail": "仮想アカウント詳細", - "VirtualAccountUpdate": "仮想アカウントの更新", - "VirtualAccounts": "仮想アカウント", - "VirtualApp": "仮想アプリケーション", - "VirtualAppDetail": "仮想アプリケーション詳細", - "VirtualApps": "仮想アプリケーション", - "VmwareClient": "vSphereクライアント", - "VmwarePassword": "ログインパスワード", - "VmwareTarget": "目標アドレス", - "VmwareUsername": "ログインアカウント", - "WeCom": "企業WeChat", - "WeComTest": "テスト", - "WebCreate": "Web資産の作成", - "WebFTP": "ファイル管理", - "WebHelpMessage": "Web型資産はリモートアプリケーションに依存しています、システム設定でリモートアプリケーションを設定してください", - "WebSocketDisconnect": "WebSocketが切断されました", - "WebTerminal": "Web端末", - "WebUpdate": "アセット-Webの更新", - "Wednesday": "水曜日", - "Week": "週", - "WeekAdd": "今週の新規", - "WeekOf": "週の日", - "WeekOrTime": "日付/時間", - "Weekly": "週ごと", - "WildcardsAllowed": "許可されたワイルドカード", - "WindowsAdminUser": "Windows 特権ユーザー", - "WindowsPushHelpText": "Windows資産はキーのプッシュをサポートしていません", - "WordSep": "", - "WorkBench": "ワークベンチ", - "Workbench": "ワークベンチ", - "Workspace": "ワークスペース", - "Yes": "はい", - "ZStack": "ZStack" -} \ No newline at end of file diff --git a/apps/locale/luna/ja.json b/apps/locale/luna/ja.json deleted file mode 100644 index 62d52861e..000000000 --- a/apps/locale/luna/ja.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "ACL reject login asset": "このログインはアクセス制御ポリシーの制限により拒否されました", - "Account info": "アカウント情報", - "Account not found": "アカウントが見つかりません", - "Account: ": "アカウント: {{value}}", - "Action: ": "操作:", - "Advanced option": "高度なオプション", - "All sessions": "全セッション", - "Applet": "リモートアプリケーション", - "Applet connect method": "リモートアプリケーションの接続方法", - "Are you sure to reconnect it?(RDP not support)": "再接続しますか?(RDPは暫定的にサポートしていません)", - "Asset disabled": "この資産は無効化されています、管理者に連絡してください", - "Asset not found or You have no permission to access it, please refresh asset tree": "資産が見つからないか、あなたがアクセスする権限がない、資産ツリーをリフレッシュしてください", - "Asset tree loading method": "資産ツリーの読み込み方法を設定", - "Asset: ": "資産: {{value}}", - "Assignees": "受付人", - "Automatic login next": "次回は自動ログイン(アセットリンクを右クリックすると再選択できます)", - "Backspace as Ctrl+H": "バックスペースキーをCtrl+Hとして使用", - "Batch actions": "一括操作", - "Batch connect": "一括接続", - "Belgian French keyboard layout": "Belgian French(Azerty)", - "CLI": "コマンドライン", - "CLI font size": "キャラクターターミナルのフォントサイズ", - "Cancel": "キャンセル", - "Charset": "文字セット", - "Checkbox": "複数選択 ", - "Choose a User": "ユーザーを選択", - "Click to copy": "クリックしてコピー", - "Client": "クライアント", - "Clone Connect": "ウィンドウをコピー", - "Close": "閉じる", - "Close All Tabs": "全て閉じる", - "Close Current Tab": "現在のウィンドウを閉じる", - "Close Left Tabs": "左側を閉じる", - "Close Other Tabs": "それ以外を閉じる", - "Close Right Tabs": "右側を閉じる", - "Close split connect": "分割画面を閉じる", - "Command Line": "コマンドライン", - "Command line": "コマンドラインに接続", - "Confirm": "確認", - "Connect": "接続", - "Connect Method": "接続方法", - "Connect checked": "選択した接続", - "Connect command line": "コマンドラインへの接続", - "Copied": "コピー済み", - "Copy link": "リンクをコピー", - "Current online": "現在オンライン", - "Current session": "現在のセッション", - "Database": "データベース", - "Database connect info": "データベース接続情報", - "Database disabled": "この種類の接続はサポートされていません, 管理者に連絡してください", - "Database info": "データベース情報", - "Database token help text": "データベース型のトークンは5分間キャッシュされます。つまり、トークンを使用してから、すぐには無効にならず、クライアントが切断されてから5分後に、このトークンは完全に無効になります。", - "Databases": "データベース", - "Directly": "ユーザー名は、指定された資産とアカウントに接続します", - "Disable auto completion": "オートコンプリートを無効にする", - "Disconnect": "接続を切断", - "Disfavor": "お気に入り解除", - "Do not close this page": "このページを閉じないでください", - "Document": "文書", - "Don't prompt again": "次回から表示しない", - "Download": "ダウンロード", - "Download the latest client": "最新のクライアントをダウンロード", - "Driver redirect": "ディスクのマウント", - "Expand": "展開", - "Expand all": "全て展開", - "Expand all asset": "全ての資産を展開", - "Expire time": "有効期限", - "Failed to open address": "アドレスの開封に失敗", - "Favorite": "お気に入り", - "File Manager": "ファイル管理", - "Fold": "折りたたむ", - "Fold all": "全て折りたたむ", - "Force refresh": "強制的に更新", - "Found": "発見", - "French keyboard layout": "フレンチ(アゼルティ)", - "Full Screen": "全画面表示", - "Full screen": "フルスクリーン", - "GUI": "視覚化", - "General": "基本設定", - "Help": "ヘルプ", - "Help or download": "メニューヘルプ → ダウンロード", - "Help text": "説明", - "Hide left manager": "左のサイドバーを隠す", - "Host": "ホスト", - "Info": "ヒント", - "InstallClientMsg": "JumpServerクライアントがインストールされていません、今すぐダウンロードしてインストールしますか?", - "Japanese keyboard layout": "日本語 (Qwerty)", - "Keyboard keys": "Option + Left / Option + Right", - "Keyboard layout": "キーボードレイアウト", - "Keyboard switch session": "会話を切り替え → ショートカット", - "Kubernetes": "Kubernetes", - "Language": "言語", - "Last login": "前回のログイン", - "Launch Program": "プログラムを開始", - "LeftInfo": "コマンドレコードをクリックすると、録画を素早く見つけられます", - "Load tree async": "非同期でアセットツリーを読み込む", - "Loading": "読み込み中", - "Log out": "ログアウト", - "Login reminder": "ログインリマインダー", - "Login review approved": "ログイン審査が通過しました, 資産へ接続中...", - "LoginExpireMsg": "ログインが期限切れです。再度ログインしてください。", - "Manual accounts": "手動アカウント", - "Module": "モジュール", - "Multi Screen": "マルチスクリーン表示", - "My applications": "マイアプリ", - "My assets": "私の資産", - "Name": "名前", - "Native": "クライアント", - "Need review for login asset": "今回のログインは人間によるオーディットが必要です、続行しますか?", - "Need to use": "使用が必要", - "No": "否", - "No account available": "使用可能なアカウントがありません", - "No available connect method": "利用可能な接続方法がありません", - "No matching found": "該当する項目はありません", - "No permission": "権限がありません", - "No protocol available": "利用可能なプロトコルがありません", - "Not quick command": "ショートカットコマンドはありません", - "Open in new window": "新しいウィンドウで開く", - "Password": "パスワード", - "Password is token password on the table": "パスワードは表のトークンパスワードです", - "Password is your password login to system": "パスワードはあなたのログインシステムのパスワードです", - "Pause": "一時停止", - "Pause task has been send": "一時停止タスクは送信されました", - "Please choose an account": "ユーザーを選択してください", - "Please input password": "パスワードを入力してください", - "Port": "ポート", - "Protocol": "規約", - "Protocol: ": "プロトコル: {{value}}", - "RDP Client": "RDPクライアント", - "RDP File": "RDPファイル", - "RDP client options": "RDPクライアントオプション", - "RDP color quality": "RDP色品質", - "RDP resolution": "RDP解像度", - "RDP smart size": "RDPスマートサイズ", - "Re-use for a long time after opening": "有効にした後、この接続情報を長期間、何度でも使用できます", - "Reconnect": "再接続", - "Refresh": "更新", - "Remember password": "パスワードを保持", - "Remember select": "選択を記憶", - "Remote apps": "リモートアプリケーション", - "Reselect connection method": "接続方法を再選択可能", - "Resume": "回復", - "Resume task has been send": "復旧タスクが送信されました", - "Right click asset": "資産を右クリック → 接続", - "Right click node": "ノードを右クリック→全て展開", - "Right mouse quick paste": "右クリックで速やかにペースト", - "Run it by client": "クライアントで実行", - "SQL Client": "SQLクライアント", - "Save command": "コマンドを保存", - "Save success": "保存が成功しました", - "Search": "検索", - "Select account": "アカウントを選択", - "Send command": "コマンドを送信", - "Send text to all ssh terminals": "全てのssh端末にテキストを送信", - "Set reusable": "再利用を開始", - "Setting": "設定", - "Settings or basic settings": "メニュー設定 → 基本設定", - "Show left manager": "左側のバーを表示", - "Skip": "スキップ", - "Skip manual password": "手動パスワードウィンドウをスキップ", - "Special accounts": "特別なアカウント", - "Speed": "速度", - "Split connect": "スプリット画面で接続", - "Split connect number": "1セッションに最大3つの分割接続が可能", - "Split vertically": "垂直分割スクリーン", - "Start Time: ": "開始時間:{{value}}", - "Stop": "停止", - "Support": "サポート", - "Swiss French keyboard layout": "スイスフレンチ(Qwertz)", - "Switch to input command": "コマンド入力に切り替え", - "Switch to quick command": "ショートカットコマンドに切り替え", - "Tab List": "ウィンドウリスト", - "The connection method is invalid, please refresh the page": "接続方法が無効になりました、ページを更新してください", - "Ticket review approved for login asset": "このログイン審査は通過しました, 資産に接続しますか?", - "Ticket review closed for login asset": "このログイン監査は閉じられ、リソースに接続できません", - "Ticket review pending for login asset": "ログイン申請が提出され、審査者の審査を待っています。リンクをコピーして彼に送ることもできます", - "Ticket review rejected for login asset": "今回のログイン審査は拒否され、資産に接続できません", - "Tips": "ヒント", - "Token expired": "トークンの有効期限が切れました、再接続してください", - "Tool download": "ツールのダウンロード", - "Turkey keyboard layout": "Turkish-Q(Qwerty)", - "Type tree": "タイプツリー", - "UK English keyboard layout": "イギリス英語 (Qwerty)", - "US English keyboard layout": "US English (Qwerty)", - "User": "ユーザー", - "User: ": "ユーザー: {{value}}", - "Username": "ユーザー名", - "Username@Domain": "ユーザ名@ADドメイン", - "Users": "ユーザー", - "Using token": "トークンを使用", - "View": "ビュー", - "VirtualApp": "仮想アプリケーション", - "Web Terminal": "Web端末", - "Website": "公式ウェブサイト", - "With secret accounts": "ホストアカウント", - "Yes": "はい", - "asset": "アセット", - "cols": "列数", - "confirm": "確認", - "connect info": "接続情報", - "download": "ダウンロード", - "rows": "行数", - "start time": "開始時間", - "success": "成功", - "system user": "システムユーザー", - "user": "ユーザー" -} \ No newline at end of file diff --git a/apps/locale/translate/manager/__init__.py b/apps/locale/translate/manager/__init__.py deleted file mode 100644 index a355c4831..000000000 --- a/apps/locale/translate/manager/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .core import * -from .other import * diff --git a/apps/notifications/apps.py b/apps/notifications/apps.py index 07ce8ff48..98f9e7cab 100644 --- a/apps/notifications/apps.py +++ b/apps/notifications/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class NotificationsConfig(AppConfig): name = 'notifications' - verbose_name = _('Notifications') + verbose_name = _('App Notifications') def ready(self): from . import signal_handlers # noqa diff --git a/apps/ops/apps.py b/apps/ops/apps.py index a29a03749..cf41034df 100644 --- a/apps/ops/apps.py +++ b/apps/ops/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class OpsConfig(AppConfig): name = 'ops' - verbose_name = _('App ops') + verbose_name = _('App Ops') def ready(self): from orgs.models import Organization diff --git a/apps/orgs/apps.py b/apps/orgs/apps.py index 150f346ec..361b53dc6 100644 --- a/apps/orgs/apps.py +++ b/apps/orgs/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class OrgsConfig(AppConfig): name = 'orgs' - verbose_name = _('App organizations') + verbose_name = _('App Organizations') def ready(self): from . import signal_handlers # noqa diff --git a/apps/perms/apps.py b/apps/perms/apps.py index ee9e9c0e3..968f67e95 100644 --- a/apps/perms/apps.py +++ b/apps/perms/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class PermsConfig(AppConfig): name = 'perms' - verbose_name = _('App permissions') + verbose_name = _('App Permissions') def ready(self): from . import signal_handlers # noqa diff --git a/apps/rbac/apps.py b/apps/rbac/apps.py index e233185d5..9da8744f3 100644 --- a/apps/rbac/apps.py +++ b/apps/rbac/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class RBACConfig(AppConfig): name = 'rbac' - verbose_name = _('RBAC') + verbose_name = _('App RBAC') def ready(self): from . import signal_handlers # noqa diff --git a/apps/settings/api/i18n.py b/apps/settings/api/i18n.py index a6098526e..fffa4bb56 100644 --- a/apps/settings/api/i18n.py +++ b/apps/settings/api/i18n.py @@ -14,9 +14,13 @@ class ComponentI18nApi(RetrieveAPIView): def retrieve(self, request, *args, **kwargs): name = kwargs.get('name') - component_dir = safe_join(settings.APPS_DIR, 'locale', name) + component_dir = safe_join(settings.APPS_DIR, 'i18n', name) lang = request.query_params.get('lang') - files = os.listdir(component_dir) + + if os.path.exists(component_dir): + files = os.listdir(component_dir) + else: + files = [] data = {} for file in files: if not file.endswith('.json'): diff --git a/apps/settings/apps.py b/apps/settings/apps.py index e18608331..fc87dc9f0 100644 --- a/apps/settings/apps.py +++ b/apps/settings/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class SettingsConfig(AppConfig): name = 'settings' - verbose_name = _('Settings') + verbose_name = _('App Settings') def ready(self): from . import signal_handlers # noqa diff --git a/apps/terminal/apps.py b/apps/terminal/apps.py index b1b9538d3..30e00cbf9 100644 --- a/apps/terminal/apps.py +++ b/apps/terminal/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class TerminalConfig(AppConfig): name = 'terminal' - verbose_name = _('Terminals') + verbose_name = _('App Terminals') def ready(self): from . import signal_handlers # noqa diff --git a/apps/tickets/apps.py b/apps/tickets/apps.py index 49f818b7e..02930e99b 100644 --- a/apps/tickets/apps.py +++ b/apps/tickets/apps.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ class TicketsConfig(AppConfig): name = 'tickets' - verbose_name = _('Tickets') + verbose_name = _('App Tickets') def ready(self): from . import signal_handlers # noqa diff --git a/apps/users/apps.py b/apps/users/apps.py index f5aa7e269..e616212c8 100644 --- a/apps/users/apps.py +++ b/apps/users/apps.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _ class UsersConfig(AppConfig): name = 'users' - verbose_name = _('Users') + verbose_name = _('App Users') def ready(self): from . import signal_handlers # noqa diff --git a/jms b/jms index 0b2cf94d0..943e19e11 100755 --- a/jms +++ b/jms @@ -101,7 +101,7 @@ def collect_static(): def compile_i18n_file(): - django_mo_file = os.path.join(BASE_DIR, 'apps', 'locale', 'zh', 'LC_MESSAGES', 'django.mo') + django_mo_file = os.path.join(BASE_DIR, 'apps', 'core', 'locale', 'zh', 'LC_MESSAGES', 'django.mo') if os.path.exists(django_mo_file): return os.chdir(os.path.join(BASE_DIR, 'apps')) From e2a3c360ea66d72e64221f3dd99e22d6e57c0934 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Wed, 17 Jan 2024 11:38:58 +0800 Subject: [PATCH 009/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E6=80=A7=E7=BF=BB=E8=AF=91=E9=95=BF=E5=BA=A6=20(#1255?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng <1304903146@qq.com> --- apps/i18n/_translator/base.py | 2 +- apps/i18n/_translator/core.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/i18n/_translator/base.py b/apps/i18n/_translator/base.py index 7b06410b1..77ae34c6a 100644 --- a/apps/i18n/_translator/base.py +++ b/apps/i18n/_translator/base.py @@ -7,7 +7,7 @@ from .const import RED, GREEN, RESET class BaseTranslateManager: - bulk_size = 30 + bulk_size = 15 SEPARATOR = "" LANG_MAPPER = { # 'ja': 'Japanese', diff --git a/apps/i18n/_translator/core.py b/apps/i18n/_translator/core.py index 29aaac398..6a576de94 100644 --- a/apps/i18n/_translator/core.py +++ b/apps/i18n/_translator/core.py @@ -3,7 +3,7 @@ import os import polib from .base import BaseTranslateManager -from .const import RED, GREEN +from .const import RED, GREEN, MAGENTA class CoreTranslateManager(BaseTranslateManager): From 46fde2f1aa30613370b056927da3a4e343e78633 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Thu, 1 Feb 2024 16:02:31 +0800 Subject: [PATCH 010/343] =?UTF-8?q?perf:=20=E6=95=B4=E5=90=88=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=20(#12630)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * stash * stash * perf: 整合翻译 * perf: 整理了一遍 --------- Co-authored-by: ibuler --- .../migrations/0002_auto_20220616_0021.py | 4 +- apps/accounts/serializers/account/account.py | 6 +- apps/accounts/serializers/account/backup.py | 1 - apps/accounts/serializers/automations/base.py | 1 - .../serializers/automations/push_account.py | 1 - .../migrations/0084_auto_20220112_1959.py | 4 +- apps/assets/migrations/0107_automation.py | 4 +- apps/assets/models/domain.py | 6 +- apps/assets/serializers/asset/common.py | 2 +- apps/assets/serializers/automations/base.py | 1 - apps/assets/serializers/domain.py | 18 +- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 339 +-- apps/i18n/lina/en.bak.json | 1846 +++++++++++++++++ apps/i18n/lina/en.json | 1775 +++++----------- apps/i18n/lina/zh.json | 655 +----- .../ops/migrations/0017_auto_20200306_1747.py | 4 +- .../ops/migrations/0023_auto_20220912_0021.py | 8 +- apps/ops/mixin.py | 19 +- apps/ops/models/celery.py | 4 +- apps/ops/serializers/celery.py | 6 +- apps/ops/serializers/job.py | 3 + apps/orgs/serializers.py | 15 +- apps/perms/serializers/permission.py | 15 +- apps/rbac/serializers/role.py | 2 +- apps/settings/serializers/auth/ldap.py | 6 +- apps/terminal/serializers/terminal.py | 6 +- apps/users/serializers/group.py | 1 - apps/users/serializers/user.py | 3 + 30 files changed, 2689 insertions(+), 2074 deletions(-) create mode 100644 apps/i18n/lina/en.bak.json diff --git a/apps/accounts/migrations/0002_auto_20220616_0021.py b/apps/accounts/migrations/0002_auto_20220616_0021.py index 155800064..5693689cb 100644 --- a/apps/accounts/migrations/0002_auto_20220616_0021.py +++ b/apps/accounts/migrations/0002_auto_20220616_0021.py @@ -29,8 +29,8 @@ class Migration(migrations.Migration): models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), - ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), - ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), + ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), + ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('types', models.JSONField(default=list)), ('recipients', models.ManyToManyField(blank=True, related_name='recipient_escape_route_plans', to=settings.AUTH_USER_MODEL, verbose_name='Recipient')), diff --git a/apps/accounts/serializers/account/account.py b/apps/accounts/serializers/account/account.py index 197c64c7d..36a04f588 100644 --- a/apps/accounts/serializers/account/account.py +++ b/apps/accounts/serializers/account/account.py @@ -31,7 +31,9 @@ class AccountCreateUpdateSerializerMixin(serializers.Serializer): default=False, label=_("Push now"), write_only=True ) params = serializers.JSONField( - decoder=None, encoder=None, required=False, style={'base_template': 'textarea.html'} + decoder=None, encoder=None, required=False, + style={'base_template': 'textarea.html'}, + label=_('Params'), ) on_invalid = LabeledChoiceField( choices=AccountInvalidPolicy.choices, default=AccountInvalidPolicy.ERROR, @@ -225,7 +227,7 @@ class AccountSerializer(AccountCreateUpdateSerializerMixin, BaseAccountSerialize fields = BaseAccountSerializer.Meta.fields + [ 'su_from', 'asset', 'version', 'source', 'source_id', 'connectivity', - ] + AccountCreateUpdateSerializerMixin.Meta.fields + ] + list(set(AccountCreateUpdateSerializerMixin.Meta.fields) - {'params'}) read_only_fields = BaseAccountSerializer.Meta.read_only_fields + [ 'connectivity' ] diff --git a/apps/accounts/serializers/account/backup.py b/apps/accounts/serializers/account/backup.py index a67d834c6..b98a11810 100644 --- a/apps/accounts/serializers/account/backup.py +++ b/apps/accounts/serializers/account/backup.py @@ -35,7 +35,6 @@ class AccountBackupSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSer ] extra_kwargs = { 'name': {'required': True}, - 'periodic_display': {'label': _('Periodic perform')}, 'executed_amount': {'label': _('Executed amount')}, 'recipients': { 'label': _('Recipient'), diff --git a/apps/accounts/serializers/automations/base.py b/apps/accounts/serializers/automations/base.py index c2cd21be3..83dc52097 100644 --- a/apps/accounts/serializers/automations/base.py +++ b/apps/accounts/serializers/automations/base.py @@ -33,7 +33,6 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe extra_kwargs = { 'name': {'required': True}, 'type': {'read_only': True}, - 'periodic_display': {'label': _('Periodic perform')}, 'executed_amount': {'label': _('Executed amount')}, } diff --git a/apps/accounts/serializers/automations/push_account.py b/apps/accounts/serializers/automations/push_account.py index baf1994a4..b9982300b 100644 --- a/apps/accounts/serializers/automations/push_account.py +++ b/apps/accounts/serializers/automations/push_account.py @@ -7,7 +7,6 @@ from .change_secret import ( class PushAccountAutomationSerializer(ChangeSecretAutomationSerializer): - class Meta(ChangeSecretAutomationSerializer.Meta): model = PushAccountAutomation fields = [ diff --git a/apps/assets/migrations/0084_auto_20220112_1959.py b/apps/assets/migrations/0084_auto_20220112_1959.py index 25aedef77..0660edb75 100644 --- a/apps/assets/migrations/0084_auto_20220112_1959.py +++ b/apps/assets/migrations/0084_auto_20220112_1959.py @@ -21,8 +21,8 @@ class Migration(migrations.Migration): ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), - ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), - ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), + ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), + ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), diff --git a/apps/assets/migrations/0107_automation.py b/apps/assets/migrations/0107_automation.py index 6841cb912..1a44f6dd1 100644 --- a/apps/assets/migrations/0107_automation.py +++ b/apps/assets/migrations/0107_automation.py @@ -25,8 +25,8 @@ class Migration(migrations.Migration): ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), - ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), - ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), + ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), + ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('accounts', models.JSONField(default=list, verbose_name='Accounts')), ('type', models.CharField(max_length=16, verbose_name='Type')), ('is_active', models.BooleanField(default=True, verbose_name='Is active')), diff --git a/apps/assets/models/domain.py b/apps/assets/models/domain.py index e424a2d46..6b9a387d8 100644 --- a/apps/assets/models/domain.py +++ b/apps/assets/models/domain.py @@ -5,7 +5,7 @@ import random from django.db import models from django.utils.translation import gettext_lazy as _ -from common.utils import get_logger +from common.utils import get_logger, lazyproperty from labels.mixins import LabeledMixin from orgs.mixins.models import JMSOrgBaseModel from .gateway import Gateway @@ -29,6 +29,10 @@ class Domain(LabeledMixin, JMSOrgBaseModel): def select_gateway(self): return self.random_gateway() + @lazyproperty + def assets_amount(self): + return self.assets.count() + def random_gateway(self): gateways = [gw for gw in self.active_gateways if gw.is_connective] diff --git a/apps/assets/serializers/asset/common.py b/apps/assets/serializers/asset/common.py index 501d06780..a2523502d 100644 --- a/apps/assets/serializers/asset/common.py +++ b/apps/assets/serializers/asset/common.py @@ -140,7 +140,7 @@ class AssetSerializer(BulkOrgResourceModelSerializer, ResourceLabelsMixin, Writa ] read_only_fields = [ 'category', 'type', 'connectivity', 'auto_config', - 'date_verified', 'created_by', 'date_created', + 'date_verified', 'created_by', 'date_created', 'date_updated', ] fields = fields_small + fields_fk + fields_m2m + read_only_fields fields_unexport = ['auto_config'] diff --git a/apps/assets/serializers/automations/base.py b/apps/assets/serializers/automations/base.py index f720ed077..bbd52cc99 100644 --- a/apps/assets/serializers/automations/base.py +++ b/apps/assets/serializers/automations/base.py @@ -31,7 +31,6 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe extra_kwargs = { 'name': {'required': True}, 'type': {'read_only': True}, - 'periodic_display': {'label': _('Periodic perform')}, } diff --git a/apps/assets/serializers/domain.py b/apps/assets/serializers/domain.py index 9ea603ac3..3bf4b65f5 100644 --- a/apps/assets/serializers/domain.py +++ b/apps/assets/serializers/domain.py @@ -17,14 +17,18 @@ class DomainSerializer(ResourceLabelsMixin, BulkOrgResourceModelSerializer): gateways = ObjectRelatedField( many=True, required=False, label=_('Gateway'), read_only=True, ) + assets_amount = serializers.IntegerField(label=_('Assets amount'), read_only=True) class Meta: model = Domain fields_mini = ['id', 'name'] fields_small = fields_mini + ['comment'] - fields_m2m = ['assets', 'gateways'] + fields_m2m = ['assets', 'gateways', 'assets_amount'] read_only_fields = ['date_created'] fields = fields_small + fields_m2m + read_only_fields + extra_kwargs = { + 'assets': {'label': _("Assets")} + } def to_representation(self, instance): data = super().to_representation(instance) @@ -45,22 +49,14 @@ class DomainSerializer(ResourceLabelsMixin, BulkOrgResourceModelSerializer): @classmethod def setup_eager_loading(cls, queryset): queryset = queryset \ + .annotate(assets_amount=Count('assets')) \ .prefetch_related('labels', 'labels__label') return queryset class DomainListSerializer(DomainSerializer): - assets_amount = serializers.IntegerField(label=_('Assets amount'), read_only=True) - class Meta(DomainSerializer.Meta): - fields = list(set(DomainSerializer.Meta.fields + ['assets_amount']) - {'assets'}) - - @classmethod - def setup_eager_loading(cls, queryset): - queryset = queryset.annotate( - assets_amount=Count('assets'), - ) - return queryset + fields = list(set(DomainSerializer.Meta.fields) - {'assets'}) class DomainWithGatewaySerializer(serializers.ModelSerializer): diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 169dd1e30..ffa670794 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8f3d621226f7e11db46fb35abf0b5f5528eb454a3a6f889499d7872d41a275d -size 170675 +oid sha256:0778092e58577ae2dafca3771481323420aef21ac917a29d302f4623f6523598 +size 171209 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 4efb8d030..bed5c148e 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44d560db28dc9dd1a450f7e715b6de7a18ba44caece18f4e7da40c1659eefc48 -size 139920 +oid sha256:9ed5116e7c5bd0a781865ae6ee44ad2f7ea0724b1fbe692302348bcf1c354b27 +size 140700 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index e68108efc..3abe16f7d 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-16 18:16+0800\n" +"POT-Creation-Date: 2024-01-31 19:55+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -240,8 +240,8 @@ msgstr "用户 %s 查看/导出 了密码" #: accounts/models/account.py:49 #: accounts/models/automations/gather_account.py:16 -#: accounts/serializers/account/account.py:213 -#: accounts/serializers/account/account.py:258 +#: accounts/serializers/account/account.py:215 +#: accounts/serializers/account/account.py:260 #: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/automations/change_secret.py:106 #: accounts/serializers/automations/change_secret.py:126 @@ -260,8 +260,8 @@ msgid "Asset" msgstr "资产" #: accounts/models/account.py:53 accounts/models/template.py:16 -#: accounts/serializers/account/account.py:220 -#: accounts/serializers/account/account.py:268 +#: accounts/serializers/account/account.py:222 +#: accounts/serializers/account/account.py:270 #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" @@ -274,7 +274,7 @@ msgstr "切换自" msgid "Version" msgstr "版本" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:215 +#: accounts/models/account.py:57 accounts/serializers/account/account.py:217 #: users/models/user.py:845 msgid "Source" msgstr "来源" @@ -290,7 +290,7 @@ msgstr "来源 ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 settings/serializers/msg.py:33 +#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 @@ -359,7 +359,7 @@ msgstr "账号备份计划" #: accounts/models/automations/backup_account.py:119 #: assets/models/automations/base.py:115 audits/models.py:65 -#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:235 +#: ops/models/base.py:55 ops/models/celery.py:65 ops/models/job.py:235 #: ops/templates/ops/celery_task_log.html:75 #: perms/models/asset_permission.py:78 terminal/models/applet/host.py:141 #: terminal/models/session/session.py:44 @@ -379,10 +379,10 @@ msgid "Account backup snapshot" msgstr "账号备份快照" #: accounts/models/automations/backup_account.py:130 -#: accounts/serializers/account/backup.py:49 -#: accounts/serializers/automations/base.py:55 +#: accounts/serializers/account/backup.py:48 +#: accounts/serializers/automations/base.py:54 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:40 +#: assets/serializers/automations/base.py:39 msgid "Trigger mode" msgstr "触发模式" @@ -394,7 +394,7 @@ msgstr "原因" #: accounts/models/automations/backup_account.py:135 #: accounts/serializers/automations/change_secret.py:105 #: accounts/serializers/automations/change_secret.py:128 -#: ops/serializers/job.py:64 terminal/serializers/session.py:49 +#: ops/serializers/job.py:67 terminal/serializers/session.py:49 msgid "Is success" msgstr "是否成功" @@ -444,7 +444,7 @@ msgstr "SSH 密钥推送方式" #: accounts/models/automations/change_secret.py:15 #: accounts/models/automations/gather_account.py:58 -#: accounts/serializers/account/backup.py:41 +#: accounts/serializers/account/backup.py:40 #: accounts/serializers/automations/change_secret.py:56 msgid "Recipient" msgstr "收件人" @@ -467,7 +467,7 @@ msgstr "开始日期" #: accounts/models/automations/change_secret.py:42 #: assets/models/automations/base.py:116 ops/models/base.py:56 -#: ops/models/celery.py:64 ops/models/job.py:236 +#: ops/models/celery.py:66 ops/models/job.py:236 #: terminal/models/applet/host.py:142 msgid "Date finished" msgstr "结束日期" @@ -487,7 +487,7 @@ msgid "Status" msgstr "状态" #: accounts/models/automations/change_secret.py:44 -#: accounts/serializers/account/account.py:260 assets/const/automation.py:8 +#: accounts/serializers/account/account.py:262 assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 #: authentication/views/base.py:42 authentication/views/base.py:43 #: authentication/views/base.py:44 common/const/choices.py:20 @@ -559,7 +559,7 @@ msgid "Verify asset account" msgstr "账号验证" #: accounts/models/base.py:37 accounts/models/base.py:67 -#: accounts/serializers/account/account.py:440 +#: accounts/serializers/account/account.py:442 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:45 #: authentication/serializers/connect_token_secret.py:42 @@ -599,7 +599,7 @@ msgstr "密码规则" #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 #: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 -#: ops/models/celery.py:57 ops/models/job.py:136 ops/models/playbook.py:28 +#: ops/models/celery.py:59 ops/models/job.py:136 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 @@ -626,7 +626,7 @@ msgstr "特权账号" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:106 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:170 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 msgid "Is active" msgstr "激活" @@ -636,7 +636,7 @@ msgstr "自动推送" #: accounts/models/template.py:21 msgid "Platforms" -msgstr "系统平台" +msgstr "平台" #: accounts/models/template.py:23 msgid "Push params" @@ -731,11 +731,15 @@ msgstr "账号变更信息" msgid "Push now" msgstr "立即推送" -#: accounts/serializers/account/account.py:38 +#: accounts/serializers/account/account.py:36 +msgid "Params" +msgstr "参数" + +#: accounts/serializers/account/account.py:40 msgid "Exist policy" msgstr "账号存在策略" -#: accounts/serializers/account/account.py:193 applications/models.py:11 +#: accounts/serializers/account/account.py:195 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:96 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 #: assets/serializers/platform.py:140 assets/serializers/platform.py:230 @@ -744,8 +748,8 @@ msgstr "账号存在策略" msgid "Category" msgstr "类别" -#: accounts/serializers/account/account.py:194 -#: accounts/serializers/automations/base.py:54 acls/models/command_acl.py:24 +#: accounts/serializers/account/account.py:196 +#: accounts/serializers/automations/base.py:53 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:97 @@ -764,57 +768,57 @@ msgstr "类别" msgid "Type" msgstr "类型" -#: accounts/serializers/account/account.py:209 +#: accounts/serializers/account/account.py:211 msgid "Asset not found" msgstr "资产不存在" -#: accounts/serializers/account/account.py:249 +#: accounts/serializers/account/account.py:251 msgid "Has secret" msgstr "已托管密码" -#: accounts/serializers/account/account.py:259 ops/models/celery.py:60 +#: accounts/serializers/account/account.py:261 ops/models/celery.py:62 #: tickets/models/comment.py:13 tickets/models/ticket/general.py:45 #: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14 #: tickets/serializers/ticket/ticket.py:21 msgid "State" msgstr "状态" -#: accounts/serializers/account/account.py:261 +#: accounts/serializers/account/account.py:263 msgid "Changed" msgstr "已修改" -#: accounts/serializers/account/account.py:271 +#: accounts/serializers/account/account.py:273 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97 #: acls/templates/acls/asset_login_reminder.html:6 #: assets/models/automations/base.py:19 -#: assets/serializers/automations/base.py:20 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:30 #: authentication/api/connection_token.py:404 ops/models/base.py:17 #: ops/models/job.py:146 ops/serializers/job.py:19 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 msgid "Assets" msgstr "资产" -#: accounts/serializers/account/account.py:326 +#: accounts/serializers/account/account.py:328 msgid "Account already exists" msgstr "账号已存在" -#: accounts/serializers/account/account.py:376 +#: accounts/serializers/account/account.py:378 #, python-format msgid "Asset does not support this secret type: %s" msgstr "资产不支持账号类型: %s" -#: accounts/serializers/account/account.py:408 +#: accounts/serializers/account/account.py:410 msgid "Account has exist" msgstr "账号已存在" -#: accounts/serializers/account/account.py:441 +#: accounts/serializers/account/account.py:443 #: authentication/serializers/connect_token_secret.py:159 #: authentication/templates/authentication/_access_key_modal.html:30 #: perms/models/perm_node.py:21 users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:451 acls/serializers/base.py:116 +#: accounts/serializers/account/account.py:453 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 #: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 @@ -835,7 +839,7 @@ msgstr "ID" msgid "User" msgstr "用户" -#: accounts/serializers/account/account.py:452 +#: accounts/serializers/account/account.py:454 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:158 terminal/notifications.py:207 msgid "Date" @@ -843,22 +847,15 @@ msgstr "日期" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:36 -#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:104 -#: settings/serializers/auth/ldap.py:66 -msgid "Periodic perform" -msgstr "定时执行" - -#: accounts/serializers/account/backup.py:39 -#: accounts/serializers/automations/base.py:37 msgid "Executed amount" msgstr "执行次数" -#: accounts/serializers/account/backup.py:42 +#: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:57 msgid "Currently only mail sending is supported" msgstr "当前只支持邮件发送" -#: accounts/serializers/account/backup.py:44 +#: accounts/serializers/account/backup.py:43 msgid "Asset type" msgstr "资产类型" @@ -947,13 +944,13 @@ msgstr "" msgid "Nodes" msgstr "节点" -#: accounts/serializers/automations/base.py:44 +#: accounts/serializers/automations/base.py:43 msgid "Name already exists" msgstr "名称已存在" -#: accounts/serializers/automations/base.py:53 +#: accounts/serializers/automations/base.py:52 #: assets/models/automations/base.py:118 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:38 msgid "Automation snapshot" msgstr "自动化快照" @@ -976,7 +973,7 @@ msgstr "自动化任务执行历史" #: accounts/serializers/automations/change_secret.py:149 audits/const.py:61 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 -#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:46 +#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:117 msgid "Success" @@ -1060,8 +1057,6 @@ msgid "private key invalid or passphrase error" msgstr "密钥不合法或密钥密码错误" #: acls/apps.py:7 -#, fuzzy -#| msgid "Acls" msgid "App Acls" msgstr "访问控制" @@ -1111,19 +1106,18 @@ msgstr "审批人" msgid "Active" msgstr "激活中" -#: acls/models/base.py:81 rbac/serializers/role.py:27 -#: users/models/preference.py:16 +#: acls/models/base.py:81 users/models/preference.py:16 msgid "Users" -msgstr "用户管理" +msgstr "用户" #: acls/models/base.py:98 assets/models/automations/base.py:17 #: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 #: rbac/tree.py:35 msgid "Accounts" -msgstr "账号管理" +msgstr "账号" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: ops/serializers/job.py:63 terminal/const.py:86 +#: ops/serializers/job.py:66 terminal/const.py:86 #: terminal/models/session/session.py:42 terminal/serializers/command.py:18 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 @@ -1302,10 +1296,8 @@ msgstr "" "问,请立即采取适当的措施。" #: applications/apps.py:9 -#, fuzzy -#| msgid "Apply applications" msgid "App Applications" -msgstr "申请应用" +msgstr "应用管理" #: applications/models.py:16 xpack/plugins/cloud/models.py:37 #: xpack/plugins/cloud/serializers/account.py:67 @@ -1345,8 +1337,6 @@ msgid "The same level node name cannot be the same" msgstr "同级别节点名字不能重复" #: assets/apps.py:9 -#, fuzzy -#| msgid "App assets" msgid "App Assets" msgstr "资产管理" @@ -1730,7 +1720,7 @@ msgstr "地址" #: authentication/serializers/connect_token_secret.py:118 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:329 msgid "Platform" -msgstr "系统平台" +msgstr "平台" #: assets/models/asset/common.py:163 assets/models/domain.py:22 #: authentication/serializers/connect_token_secret.py:136 @@ -1817,7 +1807,7 @@ msgstr "测试资产" #: assets/models/base.py:19 msgid "Connectivity" -msgstr "可连接性" +msgstr "连接性" #: assets/models/base.py:21 authentication/models/temp_token.py:12 msgid "Date verified" @@ -2066,7 +2056,7 @@ msgstr "资产中批量更新平台,不符合平台类型跳过的资产" #: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 -#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:46 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:332 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" @@ -2176,7 +2166,8 @@ msgstr "约束" msgid "Types" msgstr "类型" -#: assets/serializers/domain.py:53 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:20 orgs/serializers.py:13 +#: perms/serializers/permission.py:40 msgid "Assets amount" msgstr "资产数量" @@ -2315,8 +2306,6 @@ msgid "No assets matched, stop task" msgstr "没有匹配到资产,结束任务" #: audits/apps.py:9 -#, fuzzy -#| msgid "Audits" msgid "App Audits" msgstr "日志审计" @@ -2467,7 +2456,7 @@ msgstr "会话" #: audits/models.py:70 msgid "File transfer log" -msgstr "文件管理" +msgstr "文件传输" #: audits/models.py:94 audits/serializers.py:86 msgid "Resource Type" @@ -2710,10 +2699,8 @@ msgid "Forgot password" msgstr "忘记密码" #: authentication/apps.py:7 -#, fuzzy -#| msgid "Authentication" msgid "App Authentication" -msgstr "认证" +msgstr "认证管理" #: authentication/backends/custom.py:59 #: authentication/backends/oauth2/backends.py:170 @@ -3195,16 +3182,16 @@ msgid "Ticket info" msgstr "工单信息" #: authentication/serializers/connection_token.py:21 -#: perms/models/asset_permission.py:77 perms/serializers/permission.py:38 -#: perms/serializers/permission.py:59 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:42 +#: perms/serializers/permission.py:64 #: tickets/models/ticket/apply_application.py:28 #: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "动作" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 -#: users/serializers/user.py:97 users/serializers/user.py:174 +#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 +#: users/serializers/user.py:97 users/serializers/user.py:177 msgid "Is expired" msgstr "已过期" @@ -3217,9 +3204,9 @@ msgstr "{} 不能为空" msgid "Access IP" msgstr "IP 白名单" -#: authentication/serializers/token.py:92 perms/serializers/permission.py:39 -#: perms/serializers/permission.py:61 users/serializers/user.py:98 -#: users/serializers/user.py:171 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:43 +#: perms/serializers/permission.py:66 users/serializers/user.py:98 +#: users/serializers/user.py:174 msgid "Is valid" msgstr "是否有效" @@ -3961,10 +3948,8 @@ msgstr "" "div>" #: labels/apps.py:8 -#, fuzzy -#| msgid "Labels" msgid "App Labels" -msgstr "标签" +msgstr "标签管理" #: labels/models.py:36 msgid "Resource ID" @@ -3987,10 +3972,8 @@ msgid "Resource type" msgstr "资源类型" #: notifications/apps.py:7 -#, fuzzy -#| msgid "Notifications" msgid "App Notifications" -msgstr "通知" +msgstr "通知管理" #: notifications/backends/__init__.py:13 msgid "Site message" @@ -4079,8 +4062,6 @@ msgid "This file can not be delete" msgstr "无法删除此文件" #: ops/apps.py:9 -#, fuzzy -#| msgid "App ops" msgid "App Ops" msgstr "作业中心" @@ -4176,29 +4157,34 @@ msgstr "超时" msgid "no valid program entry found." msgstr "没有可用程序入口" -#: ops/mixin.py:26 ops/mixin.py:90 settings/serializers/auth/ldap.py:73 -msgid "Cycle perform" +#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +msgid "Periodic run" msgstr "周期执行" -#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 -#: settings/serializers/auth/ldap.py:70 -msgid "Regularly perform" -msgstr "定期执行" - -#: ops/mixin.py:110 +#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: settings/serializers/auth/ldap.py:73 msgid "Interval" msgstr "间隔" -#: ops/mixin.py:120 +#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: settings/serializers/auth/ldap.py:70 +msgid "Crontab" +msgstr "Crontab" + +#: ops/mixin.py:112 +msgid "Run period" +msgstr "执行周期" + +#: ops/mixin.py:121 msgid "* Please enter a valid crontab expression" msgstr "* 请输入有效的 crontab 表达式" -#: ops/mixin.py:127 +#: ops/mixin.py:128 msgid "Range {} to {}" msgstr "输入在 {} - {} 范围之间" -#: ops/mixin.py:138 -msgid "Require periodic or regularly perform setting" +#: ops/mixin.py:139 +msgid "Require interval or crontab setting" msgstr "需要周期或定期设置" #: ops/models/adhoc.py:21 @@ -4209,7 +4195,7 @@ msgstr "模式" msgid "Module" msgstr "模块" -#: ops/models/adhoc.py:24 ops/models/celery.py:58 ops/models/job.py:138 +#: ops/models/adhoc.py:24 ops/models/celery.py:60 ops/models/job.py:138 #: terminal/models/component/task.py:14 msgid "Args" msgstr "参数" @@ -4241,28 +4227,28 @@ msgstr "汇总" msgid "Date last publish" msgstr "发布日期" -#: ops/models/celery.py:47 +#: ops/models/celery.py:49 msgid "Celery Task" msgstr "Celery 任务" -#: ops/models/celery.py:50 +#: ops/models/celery.py:52 msgid "Can view task monitor" msgstr "可以查看任务监控" -#: ops/models/celery.py:59 terminal/models/component/task.py:15 +#: ops/models/celery.py:61 terminal/models/component/task.py:15 msgid "Kwargs" msgstr "其它参数" -#: ops/models/celery.py:61 terminal/models/session/sharing.py:128 +#: ops/models/celery.py:63 terminal/models/session/sharing.py:128 #: tickets/const.py:25 msgid "Finished" msgstr "结束" -#: ops/models/celery.py:62 +#: ops/models/celery.py:64 msgid "Date published" msgstr "发布日期" -#: ops/models/celery.py:87 +#: ops/models/celery.py:89 msgid "Celery Task Execution" msgstr "Celery 任务执行" @@ -4346,19 +4332,31 @@ msgstr "内存使用率超过 {max_threshold}%: => {value}" msgid "CPU load more than {max_threshold}: => {value}" msgstr "CPU 使用率超过 {max_threshold}: => {value}" +#: ops/serializers/celery.py:33 +msgid "Execution cycle" +msgstr "周期执行" + +#: ops/serializers/celery.py:35 +msgid "Next execution time" +msgstr "下次执行时间" + #: ops/serializers/job.py:15 msgid "Run after save" msgstr "保存后执行" -#: ops/serializers/job.py:62 +#: ops/serializers/job.py:52 +msgid "Average time cost" +msgstr "平均耗时" + +#: ops/serializers/job.py:65 msgid "Job type" msgstr "任务类型" -#: ops/serializers/job.py:65 terminal/serializers/session.py:53 +#: ops/serializers/job.py:68 terminal/serializers/session.py:53 msgid "Is finished" msgstr "是否完成" -#: ops/serializers/job.py:66 +#: ops/serializers/job.py:69 msgid "Time cost" msgstr "花费时间" @@ -4449,8 +4447,6 @@ msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" #: orgs/apps.py:7 -#, fuzzy -#| msgid "App organizations" msgid "App Organizations" msgstr "组织管理" @@ -4496,13 +4492,36 @@ msgstr "可以查看所有加入的组织" msgid "Can not delete virtual org" msgstr "无法删除虚拟组织" +#: orgs/serializers.py:10 perms/serializers/permission.py:38 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "用户数量" + +#: orgs/serializers.py:11 perms/serializers/permission.py:39 +msgid "User groups amount" +msgstr "用户组数量" + +#: orgs/serializers.py:14 perms/serializers/permission.py:41 +msgid "Nodes amount" +msgstr "节点数量" + +#: orgs/serializers.py:15 +msgid "Domains amount" +msgstr "网域数量" + +#: orgs/serializers.py:16 +msgid "Gateways amount" +msgstr "网关数量" + +#: orgs/serializers.py:18 +msgid "Asset permissions amount" +msgstr "资产授权数量" + #: orgs/tasks.py:9 msgid "Refresh organization cache" msgstr "刷新组织缓存" #: perms/apps.py:9 -#, fuzzy -#| msgid "App permissions" msgid "App Permissions" msgstr "授权管理" @@ -4599,19 +4618,6 @@ msgstr "资产授权规则将要过期" msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" -#: perms/serializers/permission.py:186 users/serializers/group.py:54 -#: users/serializers/group.py:60 -msgid "Users amount" -msgstr "用户数量" - -#: perms/serializers/permission.py:187 -msgid "User groups amount" -msgstr "用户组数量" - -#: perms/serializers/permission.py:189 -msgid "Nodes amount" -msgstr "节点数量" - #: perms/tasks.py:27 msgid "Check asset permission expired" msgstr "校验资产授权规则已过期" @@ -4649,8 +4655,6 @@ msgid "{} at least one system role" msgstr "{} 至少有一个系统角色" #: rbac/apps.py:7 -#, fuzzy -#| msgid "RBAC" msgid "App RBAC" msgstr "RBAC" @@ -4700,7 +4704,7 @@ msgstr "Web终端" #: rbac/models/menu.py:19 msgid "Can view file manager" -msgstr "文件管理" +msgstr "可以查看文件管理" #: rbac/models/menu.py:20 msgid "Can view System Tools" @@ -4832,7 +4836,7 @@ msgstr "工单评论" #: rbac/tree.py:130 settings/serializers/feature.py:109 #: tickets/models/ticket/general.py:307 msgid "Ticket" -msgstr "工单管理" +msgstr "工单" #: rbac/tree.py:131 msgid "Common setting" @@ -4878,8 +4882,6 @@ msgid "test_phone is required" msgstr "测试手机号 该字段是必填项。" #: settings/apps.py:7 -#, fuzzy -#| msgid "Settings" msgid "App Settings" msgstr "系统设置" @@ -5613,10 +5615,8 @@ msgid "Enable virtual app" msgstr "启用虚拟应用" #: settings/serializers/msg.py:25 -#, fuzzy -#| msgid "SMTP host" msgid "SMTP" -msgstr "SMTP 主机" +msgstr "SMTP" #: settings/serializers/msg.py:26 msgid "EXCHANGE" @@ -6408,8 +6408,6 @@ msgid "Secure session sharing settings is disabled" msgstr "未开启会话共享" #: terminal/apps.py:9 -#, fuzzy -#| msgid "Terminals" msgid "App Terminals" msgstr "终端管理" @@ -6854,7 +6852,7 @@ msgstr "虚拟应用发布" #: terminal/notifications.py:25 msgid "Sessions" -msgstr "会话管理" +msgstr "会话" #: terminal/notifications.py:72 msgid "Command warning" @@ -7176,6 +7174,18 @@ msgstr "文档类型" msgid "Session id" msgstr "会话 ID" +#: terminal/serializers/terminal.py:42 +msgid "Online sessions" +msgstr "在线会话" + +#: terminal/serializers/terminal.py:43 +msgid "Is alive" +msgstr "在线" + +#: terminal/serializers/terminal.py:49 +msgid "Stat" +msgstr "状态" + #: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 msgid "Not found" msgstr "没有发现" @@ -7252,8 +7262,6 @@ msgid "Applicant" msgstr "申请人" #: tickets/apps.py:7 -#, fuzzy -#| msgid "Tickets" msgid "App Tickets" msgstr "工单管理" @@ -7595,10 +7603,8 @@ msgid "Could not reset self otp, use profile reset instead" msgstr "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置" #: users/apps.py:9 -#, fuzzy -#| msgid "App assets" msgid "App Users" -msgstr "资产管理" +msgstr "用户管理" #: users/const.py:10 msgid "System administrator" @@ -7744,7 +7750,7 @@ msgstr "用户设置" msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:812 users/serializers/user.py:172 +#: users/models/user.py:812 users/serializers/user.py:175 msgid "Is service account" msgstr "服务账号" @@ -7767,7 +7773,7 @@ msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" #: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:169 +#: users/serializers/user.py:172 msgid "Is first login" msgstr "首次登录" @@ -7957,7 +7963,7 @@ msgstr "强制 MFA" msgid "Login blocked" msgstr "登录被锁定" -#: users/serializers/user.py:99 users/serializers/user.py:178 +#: users/serializers/user.py:99 users/serializers/user.py:181 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" @@ -7967,29 +7973,33 @@ msgstr "可以使用公钥认证" #: users/serializers/user.py:166 msgid "Groups" -msgstr "" +msgstr "用户组" -#: users/serializers/user.py:173 +#: users/serializers/user.py:169 +msgid "Superuser" +msgstr "超级用户" + +#: users/serializers/user.py:176 msgid "Is org admin" msgstr "组织管理员" -#: users/serializers/user.py:175 +#: users/serializers/user.py:178 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:179 +#: users/serializers/user.py:182 msgid "MFA level" -msgstr "MFA 级别" +msgstr "MFA" -#: users/serializers/user.py:290 +#: users/serializers/user.py:293 msgid "Select users" msgstr "选择用户" -#: users/serializers/user.py:291 +#: users/serializers/user.py:294 msgid "For security, only list several users" msgstr "为了安全,仅列出几个用户" -#: users/serializers/user.py:324 +#: users/serializers/user.py:327 msgid "name not unique" msgstr "名称重复" @@ -8917,13 +8927,14 @@ msgstr "网站图标" #: xpack/plugins/interface/models.py:35 msgid "Logo of management page" -msgstr "管理页面logo" +msgstr "管理页面 Logo" #: xpack/plugins/interface/models.py:39 msgid "Logo of logout page" -msgstr "退出页面logo" +msgstr "退出页面 Logo" #: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "主题" @@ -8939,6 +8950,14 @@ msgstr "公安联网备案号" msgid "Interface setting" msgstr "界面设置" +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "顶部宽 Logo" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "方形小 Logo" + #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "许可证导入成功" @@ -8967,6 +8986,18 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Period" +#~ msgstr "周期" + +#~ msgid "Run interval" +#~ msgstr "运行间隔" + +#~ msgid "Regularly perform" +#~ msgstr "定期执行" + +#~ msgid "Cycle perform" +#~ msgstr "周期执行" + #~ msgid "Applications" #~ msgstr "应用管理" diff --git a/apps/i18n/lina/en.bak.json b/apps/i18n/lina/en.bak.json new file mode 100644 index 000000000..b84ae271e --- /dev/null +++ b/apps/i18n/lina/en.bak.json @@ -0,0 +1,1846 @@ +{ + "APIKey": "API Key", + "AWSChina": "AWS(China)", + "AWSInt": "AWS (International)", + "About": "About", + "Accept": "Agree", + "AccessIP": "IP Whitelist", + "AccessKey": "Access Key", + "Account": "Account Information", + "AccountBackup": "Account Backup", + "AccountBackupCreate": "Create Account Backup", + "AccountBackupUpdate": "Update Account Backup", + "AccountChangeSecret": "Account Password Change", + "AccountCreate": "Create Account", + "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", + "AccountDetail": "Account Details", + "AccountEnabled": "Enable Account Switch", + "AccountExportTips": "The export information includes the ciphertext of the account and contains sensitive information. The format of the export is an encrypted zip file (if no encryption password has been set, please go to personal information to set the file encryption password).", + "AccountGather": "Account Collection", + "AccountGatherList": "Collection task", + "AccountGatherTaskCreate": "Create Task", + "AccountGatherTaskExecutionList": "Task Execution List", + "AccountGatherTaskList": "Account Collection", + "AccountGatherTaskUpdate": "Update Action", + "AccountHelpText": "Cloud account is used to connect to the cloud service provider's account to obtain resource information from the cloud service provider", + "AccountHistoryHelpMessage": "Record Current Account History Versions", + "AccountKey": "Account Key", + "AccountList": "Cloud Account", + "AccountName": "Account Name", + "AccountPolicy": "Account Strategy", + "AccountPushCreate": "Account Push Create", + "AccountPushExecutionList": "Execution List", + "AccountPushList": "Account Push", + "AccountPushUpdate": "Account Push Update", + "AccountStorage": "Account Storage", + "AccountTemplate": "Account Template", + "AccountTemplateUpdateSecretHelpText": "Account list displays accounts created through the template. When updating the ciphertext, it will also update the ciphertext of accounts created through the template.", + "AccountUpdate": "Update Account", + "AccountUsername": "Account (Username)", + "Accounts": "Account", + "AccountsHelp": "All Accounts: All accounts added on the asset;
Specified Account: The username of the designated account under the asset;
Manual Account: Manually enter username and password during login;
Same Name Account: Account with the same username as the authorized person;", + "Acl": "Access control", + "Acls": "Access Control", + "Action": "Action", + "ActionCount": "Action Count", + "ActionSetting": "Action Setting", + "Actions": "Action", + "ActionsTips": "The functions of each permission's protocol differ. Click the icon behind the permission to view.", + "Activate": "Activate", + "ActivateSuccessMsg": "Activation Success", + "Active": "Activating", + "ActiveAsset": "Recently Logged In", + "ActiveAssetRanking": "Login Asset Ranking", + "ActiveSelected": "Activate Selected", + "ActiveUser": "Logged in Recently", + "ActiveUserAssetsRatioTitle": "Percentage Statistics", + "Activity": "Action", + "AdDomain": "AD Domain Name", + "AdDomainHelpText": "AD Domain Name provided for Domain User Login", + "Add": "Add", + "AddAccount": "Add Account", + "AddAccountResult": "Account Batch Addition Results", + "AddAllMembersWarningMsg": "Are you sure you want to add all members?", + "AddAsset": "Add Assets", + "AddAssetToNode": "Add Assets to Node", + "AddAssetToThisPermission": "Add Asset", + "AddDatabaseAppToThisPermission": "Add Database Application", + "AddFailMsg": "Addition Failed", + "AddK8sAppToThisPermission": "Add Kubernetes Application", + "AddNode": "Add node", + "AddNodeToThisPermission": "Add Node", + "AddOrgMembers": "Add organization member", + "AddPassKey": "Add Passkey", + "AddRemoteAppToThisPermission": "Add Remote App", + "AddRolePermissions": "Add Permissions in Details After Successful Creation/Update", + "AddSuccessMsg": "Successfully Added", + "AddSystemUser": "Add System User", + "AddSystemUserToThisPermission": "Add System User", + "AddUserGroupToThisPermission": "Add User Group", + "AddUserToThisPermission": "Add User", + "Address": "Address", + "Addressee": "Recipient", + "AdhocDetail": "Command Details", + "AdhocManage": "Action Management", + "AdhocUpdate": "Update Command", + "Admin": "Administrator", + "AdminUser": "Privileged User", + "AdminUserCreate": "Create Management User", + "AdminUserDetail": "User Details", + "AdminUserList": "User", + "AdminUserListHelpMessage": "Privileged Users exist already in the system, and they possess advanced system rights, such as root or those with `NOPASSWD: ALL` sudo permissions. JumpServer uses this user to `push system users`, `retrieve asset hardware information`, etc.", + "AdminUserUpdate": "Update User Management", + "Admin_usersAmount": "Privileged User", + "Advanced": "Advanced Settings", + "AfterChange": "Change Afterwards", + "AjaxError404": "404 Request Error", + "AlibabaCloud": "Alibaba Cloud", + "Alive": "Online", + "Aliyun": "Aliyun", + "All": "All", + "AllAccountTip": "All Accounts Added to the Asset", + "AllAccounts": "All Accounts", + "AllClickRead": "All Read", + "AllMembers": "All Members", + "AllOrganization": "Organization List", + "AllowInvalidCert": "Ignore Certificate Check", + "Announcement": "Announcement", + "AnonymousAccount": "Anonymous Account", + "AnonymousAccountTip": "When connecting to assets, do not use username and password, only supports web type and custom type assets", + "ApiKey": "API Key", + "ApiKeyList": "Use an API key to sign the request header for authentication, each request has a unique header, this method is more secure than the Token method, please refer to the documentation for use; \nTo minimize the risk of leakage, secrets are only visible when generated, and each user can support the creation of up to 10", + "ApiKeyWarning": "To reduce the risk of AccessKey leakage, a Secret is provided only at creation and cannot be queried afterwards. Please save it carefully.", + "App": "Application", + "AppAmount": "Number of Applications", + "AppAuth": "App Authentication", + "AppEndpoint": "Application Access Address", + "AppList": "App List", + "AppName": "Application Name", + "AppOps": "Task Center", + "AppPath": "Application Path", + "AppProvider": "Application Provider", + "AppProviderDetail": "Application Provider Details", + "AppType": "Application Type", + "App_permsAmount": "Application Authorization", + "AppletCreate": "Create Remote Application", + "AppletDetail": "Remote Application", + "AppletHelpText": "In the upload process, if the application does not exist, the application is created; if it exists, the application is updated.", + "AppletHostCreate": "Add Remote Application Server", + "AppletHostDetail": "Details of Remote Application Release Machine", + "AppletHostDomainHelpText": "The net domain here belongs to the System organization", + "AppletHostSelectHelpMessage": "When connecting assets, the app publishing machine selection is random (but prioritizes the last one used). If you want to fix a publishing machine for an asset, you can specify the tag or ;
When selecting an account to connect to this publisher, the following situations will select the user's identically-named account or proprietary account (starts with js), otherwise the public account (starts with jms) will be used:
  1. Both the publisher and the app support concurrency;
  2. The publisher supports concurrency, the app does not support concurrency, and the current app does not use a proprietary account;
  3. The publisher does not support concurrency, the app supports or does not support concurrency, and no app uses a proprietary account;
Note: Whether the app supports concurrency is decided by the developer, and whether the host supports it is determined by the publisher configuration's single user single session", + "AppletHostUpdate": "Update Remote Application Release Machine", + "AppletHosts": "App Publishing Machine", + "Applets": "Remote App", + "Applicant": "Applicant", + "Application": "Please input comma-separated application names", + "ApplicationAccount": "App Account", + "ApplicationDetail": "Application Details", + "ApplicationPermission": "App Authorization", + "ApplicationPermissionCreate": "Create App Authorization Rule", + "ApplicationPermissionDetail": "Application Authorization Details", + "ApplicationPermissionRules": "Application Authorization Rules", + "ApplicationPermissionUpdate": "Update App Authorization Rules", + "Applications": "App Action", + "ApplicationsAmount": "Application", + "ApplyAsset": "Apply for assets", + "ApplyFromCMDFilterRule": "Command Filter Rules", + "ApplyFromSession": "Session", + "ApplyInfo": "Application Information", + "ApplyRunAsset": "Assets applying for operation", + "ApplyRunCommand": "Commands to Run", + "ApplyRunSystemUser": "Applied for System User", + "ApplyRunUser": "The user who applies to run", + "Apply_loginAccount": "Applied Login Account", + "Apply_loginAsset": "Apply for Asset Login", + "Apply_loginUser": "Application Login User", + "Apply_login_systemUser": "Apply to Login System User", + "Appoint": "Specify", + "ApprovaLevel": "Approval Information", + "ApprovalLevel": "Approval Level", + "ApprovalProcess": "Approval Process", + "Approved": "Agreed", + "ApproverNumbers": "Number of Approver", + "AppsCount": "Application Quantity", + "AppsList": "Application list", + "ApsaraStack": "Alibaba Cloud Private Cloud", + "Asset": "Assets", + "AssetAccount": "Account List", + "AssetAccountDetail": "Account Details", + "AssetAclCreate": "Create Asset Login Rule", + "AssetAclDetail": "Asset Login Rule Details", + "AssetAclList": "Asset Login", + "AssetAclUpdate": "Update Asset Login Rules", + "AssetAddress": "Asset (IP/Hostname)", + "AssetAmount": "Number of Assets", + "AssetAndNode": "Assets/Nodes", + "AssetBulkUpdateTips": "Network devices, cloud services, web, bulk domain updates not supported", + "AssetChangeSecretCreate": "Create Account Password Change", + "AssetChangeSecretUpdate": "Update Account Password", + "AssetCount": "Asset Quantity", + "AssetCreate": "Create Asset", + "AssetData": "Asset Data", + "AssetDetail": "Asset Details", + "AssetHistoryAccount": "Asset History Account", + "AssetList": "Asset List", + "AssetListHelpMessage": "The assets tree is on the left, right-click to create, delete, change the tree node, assets authorization is also organized in a node way, the assets on the right are the ones under the node\n", + "AssetLoginACLHelpMsg": "When logging in to assets, auditing can be performed based on the user's login IP and time period to determine whether they can log in to the assets", + "AssetName": "Asset Name", + "AssetNumber": "Asset Number", + "AssetPermission": "Asset Authorization", + "AssetPermissionCreate": "Create Asset Authorization Rules", + "AssetPermissionDetail": "Asset Authorization Details", + "AssetPermissionHelpMsg": "Asset authorization allows you to choose users and assets to authorize assets to users for convenient access. Once authorized, users can easily browse these assets. In addition, you can set specific privilege bits to further define the scope of a user’s authority over assets.", + "AssetPermissionList": "Asset Authorization List", + "AssetPermissionRules": "Asset Authorization Rules", + "AssetPermissionUpdate": "Update Asset Authorization Rules", + "AssetProtocolHelpText": "The protocols supported by the asset are limited by the platform. You can view the settings of the protocol by clicking the settings button. If an update is needed, please update the platform", + "AssetRatio": "Asset Proportion Statistics", + "AssetResultDetail": "Asset results", + "AssetTree": "Asset Tree", + "AssetUpdate": "Update Assets", + "AssetUserList": "Asset User", + "Asset_ipGroup": "Asset IP", + "Asset_permsAmount": "Asset authorization", + "Assets": "Asset Management", + "AssetsAmount": "Assets", + "AssetsTotal": "Total Number of Assets", + "AssignedInfo": "Approval Information", + "AssignedMe": "Pending My Approval", + "AssignedTicketList": "Waiting for My Approval", + "Assignee": "Action Taker", + "Assignees": "Person to be Addressed", + "AssociateApplication": "Associated Applications", + "AssociateAssets": "Associated Assets", + "AssociateNodes": "Associated Nodes", + "AssociateSystemUsers": "Link System User", + "AttrName": "Attribute name", + "AttrValue": "Attribute Value", + "Auditor": "Auditor", + "Audits": "Audit Console", + "Auth": "Authentication Settings", + "AuthCASAttrMap": "User Attribute Mapping", + "AuthLdap": "Enable LDAP Authentication", + "AuthLdapBindDn": "Bind DN", + "AuthLdapBindPassword": "Password", + "AuthLdapSearchFilter": "The possible options are (cn or uid or sAMAccountName=%(user)s)", + "AuthLdapSearchOu": "Use | to separate each OU", + "AuthLdapServerUri": "LDAP Address", + "AuthLdapUserAttrMap": "User attribute mapping represents how to map LDAP user attributes to JumpServer users. Username, name, email are the properties of JumpServer", + "AuthLimit": "Login Restrictions", + "AuthMethod": "Authentication Method", + "AuthSAML2AdvancedSettings": "Advanced Configuration", + "AuthSAML2MetadataUrl": "IDP Metadata URL", + "AuthSAML2Xml": "IDP metadata XML", + "AuthSAMLCertHelpText": "Save after upload of certificate key, then check SP Metadata", + "AuthSAMLKeyHelpText": "SP Certificates and Keys are used for encrypted communication with IDP", + "AuthSaml2UserAttrMapHelpText": "Left keys are SAML2 user attributes, the values on the right are authentication platform user attributes", + "AuthSecurity": "Certification Security", + "AuthSetting": "Authentication Settings", + "AuthSettings": "Authentication Configuration", + "AuthUserAttrMap": "User Attribute Mapping", + "AuthUserAttrMapHelpText": "The Key on the Left is the JumpServer User Attribute, and the Value on the Right is the Authentication Platform User Attribute", + "AuthUsername": "Use Username Authentication", + "Authentication": "Authentication", + "Author": "Author", + "Auto": "Automatic", + "AutoCreate": "Auto Create", + "AutoEnabled": "Enable Automation", + "AutoGenerateKey": "Randomly Generated Password", + "AutoPush": "Auto Push", + "Automations": "Automation", + "AverageTimeCost": "Average Time Spent", + "Azure": "Azure (China)", + "AzureInt": "Azure(International)", + "Backup": "Backup", + "BadConflictErrorMsg": "Refreshing, please try again later", + "BadRequestErrorMsg": "Request Error, Please Check Input Content", + "BadRoleErrorMsg": "Request error, no permission for this Action", + "BaiduCloud": "Baidu Cloud", + "BasePlatform": "Basic Platform", + "BasePort": "Listening Port", + "Basic": "Basic Settings", + "BasicInfo": "Basic Information", + "BasicSetting": "Basic Settings", + "BasicTools": "Basic Tools", + "BatchActivate": "Bulk Activation", + "BatchApproval": "Bulk Approval", + "BatchCommand": "Batch Command", + "BatchCommandNotExecuted": "Batch commands not executed", + "BatchConsent": "Bulk Agree", + "BatchDelete": "Batch Delete", + "BatchDisable": "Batch Disable", + "BatchProcessing": "Bulk Handling (Selected {Number} Items)", + "BatchReject": "Reject in Bulk", + "BatchRemoval": "Batch Removal", + "BatchScript": "Bulk Scripts", + "BatchUpdate": "Bulk Update", + "Become": "Become", + "BeforeChange": "Before Changes", + "Beian": "Record", + "BelongAll": "Contains both", + "BelongTo": "Please Include", + "Bind": "Bind", + "BindLabel": "Associated Tags", + "BindResource": "Related Resources", + "BindSuccess": "Successfully Bound", + "BlockedIPS": "Locked IPs", + "Bucket": "Bucket Name", + "Builtin": "Built-In", + "BuiltinTree": "Type Tree", + "BuiltinVariable": "Built-in Variables", + "BulkClearErrorMsg": "Bulk Clearing Failed:", + "BulkCreateStrategy": "During creation, for accounts that do not meet requirements, such as: non-compliant key types, unique key constraints, you may choose the above strategies.", + "BulkDeleteErrorMsg": "Bulk Deletion Failed:", + "BulkDeleteSuccessMsg": "Bulk deletion successful", + "BulkDeploy": "Bulk Deployment", + "BulkOffline": "Batch Offline", + "BulkRemoveErrorMsg": "Failed to remove in bulk:", + "BulkRemoveSuccessMsg": "Bulk Removal Successful", + "BulkSyncDelete": "Batch Sync Delete", + "BulkSyncErrorMsg": "Batch Sync Failed: ", + "BulkTransfer": "Bulk Transfers", + "BulkUnblock": "Batch Unlock", + "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset matches the selected platform type will update, if the platform types before and after update are different, it will not be updated.", + "CACertificate": "CA Certificate", + "CAS": "CAS", + "CASSetting": "CAS Configuration", + "CMPP2": "CMPP v2.0", + "CTYunPrivate": "Tianyi Private Cloud", + "CalculationResults": "cron Expression Error", + "CanDragSelect": "Draggable time range selection", + "Cancel": "Cancel", + "CancelCollection": "Cancel Favorites", + "CannotAccess": "Unable to Access Current Page", + "Cas": "CAS Settings", + "Category": "Category", + "CeleryTaskLog": "Celery Task Log", + "Certificate": "Certificate", + "CertificateKey": "Client Key", + "ChangeField": "Change Field", + "ChangePassword": "Change Password", + "ChangeReceiver": "Edit Message Recipient", + "ChangeSecretParams": "Password Change Parameters", + "ChangeViewHelpText": "Click to Switch Views", + "Charset": "Charset", + "Chat": "Chat", + "ChatAI": "Smart Q&A", + "ChatHello": "Hello! What can I assist you with?", + "ChdirHelpText": "The default execution directory is the execution user's home directory", + "CheckAssetsAmount": "Check asset quantity", + "CheckViewAcceptor": "Click to View the Handler", + "ChinaRed": "China Red", + "Chrome": "Chrome", + "ChromePassword": "Login Password", + "ChromeTarget": "Target URL", + "ChromeUsername": "Login Account", + "ClassicGreen": "Classic Green", + "CleanHelpText": "Regular cleanup tasks will be performed at 2 a.m. every day, and the cleaned data cannot be restored", + "Cleaning": "Regular Clean up", + "Clear": "Clear", + "ClearScreen": "Clear Screen", + "ClearSecret": "Clear Ciphertext", + "ClearSelection": "Clear Selection", + "ClearSuccessMsg": "Clear Successfully", + "ClickCopy": "Click to Copy", + "Clickhouse": "ClickHouse", + "ClientCertificate": "Client Certificate", + "ClipBoard": "Clipboard", + "ClipboardCopy": " Clipboard Copy", + "ClipboardCopyPaste": "Clipboard Copy and Paste", + "ClipboardPaste": "Clipboard Pasting", + "Clone": "Clone", + "CloneFrom": "Replica", + "Close": "Close", + "CloseConfirm": "Confirm Closure", + "CloseConfirmMessage": "File has changed, save?", + "CloseStatus": "Completed", + "Closed": "Completed", + "Cloud": "Cloud Application", + "CloudCenter": "Cloud Action Center", + "CloudCreate": "Create Assets-Cloud Platform", + "CloudPlatform": "Cloud platform", + "CloudSource": "Synchronization source", + "CloudSync": "Cloud Sync", + "CloudUpdate": "Update Assets - Cloud Platform", + "Clouds": "Cloud Platform", + "Cluster": "Cluster", + "ClusterHelpTextMessage": "For example: https://172.16.8.8:8443", + "CmdFilter": "Command Filter", + "CollapseSidebar": "Collapse Sidebar", + "CollectHardwareInfo": "Enable Hardware Information Collection", + "CollectionSucceed": "Collection Successful", + "Command": "Command", + "Command filter": "Command Filter", + "CommandConfirm": "Command Review", + "CommandExecutions": "Command Execution", + "CommandFilterACL": "Command Filtering", + "CommandFilterACLHelpMsg": "Through command filtering, you can control whether commands can be sent to the asset. Based on your set rules, some commands can be allowed while others are prohibited.", + "CommandFilterAclCreate": "Create Command Filtering Rule", + "CommandFilterAclDetail": "Command Filter Rule Details", + "CommandFilterAclList": "Command Filtering", + "CommandFilterAclUpdate": "Update Command Filter Rules", + "CommandFilterCreate": "Create Command Filter", + "CommandFilterDetail": "Command Filter Details", + "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; Multiple rules can be configured in the filter, and the commands entered when using this system user to connect to the assets take effect in accordance with the rules configured in the filter.
Ex: If the first matched rule is \"Allow\", then this command is executed, if the first matched rule is \"Disallow\", then the command is not executed; if no rules are matched in the end, then it is allowed to proceed.", + "CommandFilterList": "Command Filter Rules", + "CommandFilterRuleContentHelpText": "One command per line", + "CommandFilterRulePriorityHelpText": "Priority range is 1-100, 1 is the lowest priority, 100 is the highest", + "CommandFilterRules": "Command Filter Rules", + "CommandFilterRulesCreate": "Create Command Filter Rule", + "CommandFilterRulesUpdate": "Update Command Filter Rules", + "CommandFilterUpdate": "Update Command Filter", + "CommandGroup": "Command Group", + "CommandGroupCreate": "Create Command Group", + "CommandGroupDetail": "Command Group Details", + "CommandGroupList": "Command Group", + "CommandGroupUpdate": "Update Command Group", + "CommandStorage": "Command Storage", + "CommandStorageUpdate": "Update Command Storage", + "Command_filterList": "Command Filter List", + "Commands": "Command log", + "Comment": "Comment", + "CommentHelpText": "Note: The remarks information will be displayed on hover in the user authorized asset tree on the Luna page, and ordinary users can view it, please do not fill in sensitive information.", + "Common": "Regular", + "CommonUser": "Ordinary User", + "CommunityEdition": "Community Edition", + "Component": "Component", + "ComponentMonitor": "Component Monitoring", + "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any interpretation. Apart from the output of the code, do not respond with anything else.", + "ConceptTitle": "🤔 Python Interpreter", + "Config": "Configuration", + "Confirm": "Confirm", + "ConfirmPassword": "Confirm Password", + "Connect": "Connect", + "ConnectMethod": "Connection Method", + "ConnectMethodACLHelpMsg": "By filtering through connection methods, you can control whether users can use specific connection methods to log into assets. Based on your established rules, some connection methods could be allowed, while others are prohibited (global effect).'", + "ConnectMethodAclCreate": "Create Connection Mode Control", + "ConnectMethodAclDetail": "Connection Mode Control Details", + "ConnectMethodAclList": "Connect Method", + "ConnectMethodAclUpdate": "Update Connection Control", + "ConnectUsers": "Connect Account", + "ConnectWebSocketError": "WebSocket Connection Failed", + "ConnectionDropped": "Connection Disconnected", + "ConnectionToken": "Connection Token", + "ConnectionTokenList": "A Connection Token is an authentication information that combines identity verification and asset connection, it enables user to log in to assets with one click. The current supported components include: KoKo, Lion, Magnus, Razor, etc", + "Connectivity": "Can Connect", + "Console": "Console", + "Consult": "Inquire", + "ContainAttachment": "With Attachment", + "ContainerName": "Container Name", + "Containers": "Container", + "Contains": "Includes", + "Content": "Content", + "Contents": "Content", + "Continue": "Continue", + "ContinueImport": "Continue Import", + "ConvenientOperate": "Easy Operation", + "Copy": "Copy", + "CopySuccess": "Copy Successful", + "Corporation": "Company", + "Correlation": "Associate", + "Cpu": "CPU", + "Create": "Create", + "CreateAccessKey": "Create Access Key", + "CreateAccountTemplate": "Create Account Template", + "CreateAdhoc": "Create Command", + "CreateBy": "Creator", + "CreateCommandStorage": "Create Command Storage", + "CreateEndpoint": "Create Endpoint", + "CreateEndpointRule": "Create Endpoint Rules", + "CreateErrorMsg": "Creation Failed", + "CreateNode": "Create Node", + "CreateOrgMsg": "Please add users in the organization details", + "CreatePlaybook": "Create Playbook", + "CreateReplayStorage": "Create Object Storage", + "CreateSuccessMsg": "Import Successful, Total: {count}", + "CreateUserSetting": "Create User Content", + "Created": "Created", + "CreatedBy": "Creator", + "CriticalLoad": "Severe", + "CronExpression": "Crontab Full Expression", + "CrontabHelpTips": "eg:Execute every Sunday at 03:05 <5 3 * * 0>
Reminder: Use the 5-digit Linux crontab expression (Online tool)
Note: If both regular execution and cyclic execution are set, priority will be given to regular execution", + "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expression (Online Tool)
If both regular and cyclic execution are set, regular execution is prioritized", + "CurrentConnections": "Current Connection Count", + "CurrentUserVerify": "Validate Current User", + "Custom": "Customize", + "CustomCmdline": "Operating Parameters", + "CustomCol": "Customize List Field", + "CustomCreate": "Create Asset - Custom", + "CustomFields": "Custom Attributes", + "CustomFile": "Please place your custom files in the specified directory (data/sms/main.py), and activate the configuration item SMS_CUSTOM_FILE_MD5= in config.txt", + "CustomHelpMessage": "Custom type assets, dependent on remote apps, please go to system settings to configure in remote apps", + "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the parameters to be formatted by JumpServer, finally as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", + "CustomPassword": "Login Password", + "CustomTarget": "Target Address", + "CustomTree": "Custom Tree", + "CustomType": "Custom Types", + "CustomUpdate": "Update Assets - Customization", + "CustomUser": "Custom User", + "CustomUsername": "Login Account", + "CycleFromWeek": "Starting Day of the Cycle", + "CyclePerform": "Periodic Execution", + "DBInfo": "Database Info", + "DangerCommand": "Dangerous Command", + "DangerousCommandNum": "Dangerous Command Count", + "Dashboard": "Dashboard", + "Database": "Database", + "DatabaseApp": "Database Application", + "DatabaseAppCount": "Database Application Number", + "DatabaseAppCreate": "Create Database Application", + "DatabaseAppDetail": "Database Details", + "DatabaseAppPermission": "Database Authorization", + "DatabaseAppPermissionCreate": "Create Database Authorization Rule", + "DatabaseAppPermissionDetail": "Database Authorization Details", + "DatabaseAppPermissionUpdate": "Update Database Authorization Rules", + "DatabaseAppUpdate": "Database App Update", + "DatabaseCreate": "Create Asset-Database", + "DatabaseId": "Database ID", + "DatabasePermissionRules": "Database Authorization Rules", + "DatabasePort": "Database Protocol Port", + "DatabaseProtocol": "Database Protocol", + "DatabaseUpdate": "Update Assets-Database", + "Date": "Date", + "DateCreated": "Creation Time", + "DateEnd": "End date", + "DateExpired": "Expiration Date", + "DateFinished": "Completion Date", + "DateJoined": "Creation Date", + "DateLast24Hours": "Past Day", + "DateLast3Months": "Past Three Months", + "DateLastHarfYear": "Last Six Months", + "DateLastLogin": "Last Login Date", + "DateLastMonth": "Last Month", + "DateLastRun": "Last Run Date", + "DateLastSync": "Last Sync Date", + "DateLastWeek": "Last Week", + "DateLastYear": "Past Year", + "DatePasswordLastUpdated": "Last Password Update Date", + "DatePasswordUpdated": "Password Update Date", + "DateStart": "Start Date", + "DateSync": "Sync Date", + "DateUpdated": "Update Date", + "Datetime": "Date", + "Day": "Day", + "Db": "Database Applications", + "DeactiveSelected": "Disable Selected", + "DeclassificationLogNum": "Password Change Log number", + "Default": "Default", + "DefaultDatabase": "Default Database", + "DefaultPort": "Default Port", + "DefaultProtocol": "Default protocol, will be chosen when adding assets", + "Defaults": "Default Value", + "Delete": "Delete", + "DeleteConfirmMessage": "Cannot be recovered after deletion, do you want to continue?", + "DeleteErrorMsg": "Delete Failed", + "DeleteFailedMsg": "Failed to Delete", + "DeleteFile": "Delete File", + "DeleteNode": "Delete Node", + "DeleteOrgMsg": "User List, User Groups, Asset Lists, Domain Lists, User Management, System Users, Tag Management, Asset Authorization Rules", + "DeleteOrgTitle": "Please ensure the following information in the organization has been deleted", + "DeleteReleasedAssets": "Delete Released Assets", + "DeleteSuccess": "Delete Successfully", + "DeleteSuccessMsg": "Delete Successfully", + "DeleteWarningMsg": "Are you sure you want to delete", + "DeliveryTime": "Sending Time", + "Deploy": "Deployment", + "DescribeOfGuide": "Welcome to use JumpServer Bastion System, for more information please click", + "Description": "Description", + "DestinationIP": "Destination Address", + "DestinationPort": "Destination Port", + "Detail": "Details", + "Device": "Network Devices", + "DeviceCreate": "Create Asset - Network Device", + "DeviceUpdate": "Update Assets-Network Equipment", + "Digit": "Number", + "DingTalk": "DingTalk", + "DingTalkTest": "Test", + "Disable": "Disable", + "DisableSuccessMsg": "Deactivation Successful", + "DisabledAsset": "Disabled", + "DisabledUser": "Disabled", + "Disk": "Hard Disk", + "DisplayName": "Name", + "DocType": "Document Type", + "Docs": "Documents", + "Domain": "Network Domain", + "DomainCreate": "Create Domain", + "DomainDetail": "Network Field Details", + "DomainEnabled": "Enable Domain", + "DomainHelpMessage": "The domain function is added to solve the problem that some environments (such as: hybrid cloud) cannot directly connect, and the principle is to log in through the gateway server. JMS => Domain Gateway => target asset", + "DomainList": "Domain list", + "DomainUpdate": "Update Domain", + "Download": "Download", + "DownloadCenter": "Download Center", + "DownloadFTPFileTip": "Current Action does not record files, or file size exceeds the threshold (default 100M), or has not yet been saved to the corresponding storage", + "DownloadFile": "Download File", + "DownloadImportTemplateMsg": "Download Creation Template", + "DownloadReplay": "Download Recording", + "DownloadUpdateTemplateMsg": "Download Update Template", + "DragUploadFileInfo": "Drag files here or click to upload", + "DryRun": "Test Run", + "DuplicateFileExists": "Uploading files with the same name is not permitted, please delete the files with the same name", + "Duration": "Duration", + "DynamicUsername": "Dynamic Username", + "Edit": "Edit", + "Edition": "Version", + "Email": "Email", + "EmailContent": "Email Content Customization", + "EmailCustomUserCreatedBody": "Hint: Content of password setting email when creating a user", + "EmailCustomUserCreatedHonorific": "Note: When creating a user, send a set password email salutation (For example: Hello)", + "EmailCustomUserCreatedSignature": "Note: Email signature (for example: jumpserver)", + "EmailCustomUserCreatedSubject": "Note: When Creating a User, The Subject of the Password Setup Email (e.g.: User Creation Successful)", + "EmailEmailFrom": "", + "EmailHost": "SMTP Host", + "EmailHostPassword": "Note: Some email providers may require a token.", + "EmailHostUser": "SMTP Account", + "EmailPort": "SMTP Port", + "EmailRecipient": "Note: Only to be used as a test email recipient", + "EmailSubjectPrefix": "Tip: Some keywords may be blocked by the email service provider, such as JumpServer", + "EmailTest": "Test Connection", + "EmailUserSSL": "If the SMTP port is 465, SSL usually needs to be enabled", + "EmailUserTLS": "If the SMTP port is 587, enabling TLS is usually necessary", + "Empty": "Empty", + "Enable": "Enable", + "EnableKoKoSSHHelpText": "Upon launch, the connection to assets will display the SSH Client Start Method", + "EnableOAuth2Auth": "Enable OAuth2 Authentication", + "EnableVaultStorage": "Open Vault Storage", + "EndPoint": "Endpoint", + "Endpoint": "Server Endpoint", + "EndpointListHelpMessage": "The service endpoint is the address (port) that users access the service. When users connect to the asset, they will select the service endpoint according to the endpoint rules and asset labels, and establish a connection as an access entrance, Realize distributed connection assets", + "EndpointRule": "Endpoint Rules", + "EndpointRuleListHelpMessage": "For the endpoint selection strategy, there are currently two options supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through asset tags, the tag name is fixed as 'endpoint', and the value is the endpoint name.
Both methods prefer to use the tag match, because IP segments may conflict, and the tag method is designed to supplement the rules.", + "EndpointSuffix": "Endpoint Suffix", + "Endswith": "End with...", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Please ensure that this value is greater than or equal to 1", + "EnsureThisValueIsGreaterThanOrEqualTo3": "Please ensure that this value is greater than or equal to 3", + "EnsureThisValueIsGreaterThanOrEqualTo5": "Please ensure that this value is greater than or equal to 5", + "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure That the Value Is Greater Than or Equal to 6", + "EnterForSearch": "Press Enter to search", + "EnterMessage": "Please enter the problem, press Enter to send", + "EnterRunUser": "Enter Operating User", + "EnterRunningPath": "Enter Runtime Path", + "EnterToContinue": "Press Enter to Continue Typing", + "EnterUploadPath": "Enter Upload Path", + "Enterprise": "Enterprise Version", + "EnterpriseEdition": "Enterprise Edition", + "Equal": "Equal To", + "Error": "Error", + "ErrorMsg": "Error", + "EsDisabled": "Node Unavailable, Please Contact Administrator", + "EsDocType": "es Default Document Type: command", + "EsIndex": "The default index is provided: jumpserver. If enabling index creation by date, the entered value will be used as the index prefix", + "EsUrl": "Cannot contain special character `#`; eg: http://es_user:es_password@es_host:es_port", + "Every": "Each", + "EveryMonth": "Monthly", + "Exclude": "Excludes", + "ExcludeAsset": "Skipped Assets", + "ExcludeSymbol": "Exclude Characters", + "Execute": "Execute", + "ExecuteCycle": "Execution Cycle", + "ExecuteFailedCommand": "Failed Command", + "ExecuteOnce": "Execute Once", + "Execution": "Execution History", + "ExecutionDetail": "Execution History Details", + "ExecutionList": "Action List", + "ExecutionTimes": "Number of Executions", + "ExistError": "This element already exists", + "Existing": "Already Exists", + "ExpectedNextExecuteTime": "Estimated Next Execution Time", + "ExpirationTimeout": "Expiration Timeout (Seconds)", + "Expire": "Expired", + "Expired": "Expiration Time", + "Export": "Export", + "ExportAll": "Export All", + "ExportOnlyFiltered": "Export Search Results Only", + "ExportOnlySelectedItems": "Export Selected Items Only", + "ExportRange": "Export Range", + "FAILURE": "Fail", + "FC": "Fusion Compute", + "Failed": "Failed", + "FailedAsset": "Failed assets", + "FailedConditions": "No Results Meeting the Criteria!", + "False": "No", + "Favicon": "Website Icon", + "FaviconTip": "Tip: Website Icon (Recommended picture size: 16px*16px)", + "Feature": "Function", + "Features": "Function Settings", + "FeiShu": "Feishu", + "FeiShuTest": "Test", + "FieldRequiredError": "This Field is Required", + "FileEncryptionPassword": "File Encryption Password", + "FileManager": "File", + "FileNameTooLong": "Filename is too long", + "FileSizeExceedsLimit": "File size exceeds limit", + "FileTransfer": "File Transfer", + "FileTransferNum": "File Transfer Count", + "FileType": "File Type", + "Filename": "Filename", + "FingerPrint": "Fingerprint", + "Finished": "Done", + "FinishedTicket": "Complete Work Order", + "FirstLogin": "First Login", + "FlowDetail": "Process Details", + "FlowSetUp": "Process settings", + "FormatError": "Format Error", + "Friday": "Friday", + "From": "From", + "FromTicket": "From Work Order", + "FtpLog": "FTP Log", + "FullName": "Full Name", + "FullySynchronous": "Assets Fully Synchronized", + "FullySynchronousHelpTips": "If the asset conditions do not meet the match policy rules, do we continue to sync such assets", + "FuzzySearch": "Supports fuzzy search", + "GCP": "Google Cloud", + "GPTCreate": "Create Asset-GPT", + "GPTUpdate": "Update Assets-GPT", + "Gateway": "Gateway", + "GatewayCreate": "Create Gateway", + "GatewayList": "Gateway List", + "GatewayProtocolHelpText": "SSH Gateway, supports proxy SSH, RDP and VNC", + "GatewayUpdate": "Update Gateway", + "GeneralAccounts": "General account", + "Generate": "Generate", + "GenerateAccounts": "Regenerate Account", + "GenerateSuccessMsg": "Account Successfully Created", + "GetErrorMsg": "Failed to Fetch", + "Go": "Execute", + "GoHomePage": "Go to Home Page", + "Goto": "Go To", + "GrantedAccounts": "Authorized Account", + "GrantedApplications": " Authorized Apps", + "GrantedAssets": "Authorized assets", + "GrantedDatabases": "Authorized Database", + "GrantedK8Ss": "Authorized Kubernetes", + "GrantedRemoteApps": "Authorized Remote Applications", + "GreatEqualThan": "Greater Than or Equal To", + "GroupsAmount": "User Group", + "GroupsHelpMessage": "Please enter user groups, multiple user groups should be separated by commas (please fill in existing user groups)", + "Guide": "Guide", + "HandleTicket": "Handle Work Orders", + "Hardware": "Hardware Information", + "HardwareInfo": "Hardware Information", + "HasImportErrorItemMsg": "There are failed import items, click on the x on the left to see the reason for failure, after editing the table, you can continue to import failed items", + "HasRead": "Read or Not", + "Help": "Help", + "HelpDocument": "Document link", + "HelpDocumentTip": "You can change the website navigation bar Help -> Documentation URL", + "HelpSupport": "Support Link", + "HelpSupportTip": "Website navigation bar can be changed at Help -> Support", + "HighLoad": "High", + "HistoricalSessionNum": "Historic Session Count", + "History": "History Record", + "HistoryDate": "Date", + "HistoryPassword": "Historical Passwords", + "Home": "Home Directory", + "HomeHelpMessage": "Default Home Directory /home/system username: /home/username", + "HomePage": "Home", + "Host": "Assets", + "HostCreate": "Create Asset - Host", + "HostDeployment": "Deploy Release Machine", + "HostList": "Host List", + "HostName": "Hostname", + "HostProtocol": "Host Protocol", + "HostUpdate": "Update Asset-Host", + "Hostname": "Hostname", + "HostnameGroup": "Asset Name", + "HostnameStrategy": "Used to generate asset host names. For example: 1. Instance Name (instanceDemo); 2. Instance Name and Partial IP (last two digits) (instanceDemo-250.1)", + "Hosts": "Host", + "Hour": "Hour", + "HttpPort": "HTTP Port", + "HuaweiCloud": "Huawei Cloud", + "HuaweiPrivatecloud": "Huawei Private Cloud", + "IAgree": "I agree", + "ID": "ID", + "IP": "IP", + "IP/Host": "IP/Host", + "IPLoginLimit": "IP Login Restriction", + "IPMatch": "IP Match", + "IPNetworkSegment": "IP Segment", + "Icon": "Icon", + "Id": "ID", + "IdeaContent": "I'd like you to act as a Linux terminal. I will input commands, and you will provide the output the terminal should display. Please only reply with the terminal output within a unique block of code, nothing else. Don't write explanations. If there's something I need to tell you, I will put the text inside curly brackets {note text}.", + "IdeaTitle": "🌱 Linux Terminal", + "IdpMetadataHelpText": "Either the IDP metadata URL or the IDP metadata XML is required; the IDP metadata URL has priority", + "IdpMetadataUrlHelpText": "Load IDP Metadata from remote address", + "IgnoreCase": "Ignore Case", + "ImageName": "Image Name", + "Images": "Pictures", + "Import": "Import", + "ImportAll": "Import All", + "ImportFail": "Import Failed", + "ImportLdapUserTip": "Please Submit LDAP Configuration Before Importing", + "ImportLdapUserTitle": "LDAP User List", + "ImportLicense": "Import License", + "ImportLicenseTip": "Please import the license", + "ImportMessage": "Please Navigate to the Corresponding Page to Import Data", + "ImportOrg": "Import Organization", + "ImprovePersonalInformation": "Improve Personal Information", + "InActiveAsset": "Recently Unlogged", + "InActiveUser": "Not Recently Logged-in", + "InAssetDetail": "Update Account Info in Asset Details", + "InTotal": "Total", + "Inactive": "Disable", + "Include": "Includes", + "Index": "Index", + "Info": "Information", + "Inherit": "Inheritance", + "InheritPlatformConfig": "Inherited from the platform configuration, if changes are needed, please modify the configurations in the platform.", + "InitialDeploy": "Initialize Deployment", + "Input": "Input", + "InputEmailAddress": "Please enter a correct email address", + "InputMessage": "Enter message...", + "InputNumber": "Please Enter Numeric Type", + "InputPhone": "Please Enter Mobile Number", + "InsecureCommandAlert": "Dangerous Command Warning", + "InsecureCommandEmailUpdate": "Click Me to Set", + "InsecureCommandNotifyToSubscription": "Hazard command notice has been upgraded to message subscription, supporting more notification methods", + "InstanceAddress": "Instance Address", + "InstanceName": "Instance Name", + "InstancePlatformName": "Instance Platform Name", + "InstantAdhoc": "Instant Command", + "Interface": "Network Interface", + "InterfaceSettings": "Interface Setting", + "IntervalOfCreateUpdatePage": "Unit: Hour", + "Invalid": "Invalid", + "InvalidJson": "Invalid JSON", + "Invalidity": "Invalid", + "Invite": "Invite", + "InviteSuccess": "Invitation Successful", + "InviteUser": "Invite User", + "InviteUserInOrg": "Invite User to Join This Organization", + "Ip": "IP", + "IpGroup": "IP Group", + "IpGroupHelpText": "* Represents matching all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "Ips": "Please enter a comma-separated group of IP addresses", + "IsActive": "Activate", + "IsAlwaysUpdate": "Keep Assets Up to Date", + "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostnames, IPs, system platforms, domains, nodes, etc. each time a synchronization task is performed", + "IsEffective": "Effective", + "IsFinished": "Is it Completed", + "IsLocked": "Suspend?", + "IsSuccess": "Successful", + "IsSyncAccountHelpText": "After collection, the collected accounts will be synchronized to the assets", + "IsSyncAccountLabel": "Sync to Assets", + "IsValid": "Valid", + "JDCloud": "JD Cloud", + "JMSSSO": "SSO Token Log-in", + "Job": "Action", + "JobCenter": "Job Center", + "JobCreate": "Create Job", + "JobDetail": "Job Details", + "JobExecutionLog": "Action Log", + "JobList": "Job Action", + "JobName": "Assignment Name", + "JobType": "Job Type", + "JobUpdate": "Update Job", + "Join": "Join", + "K8s": "Kubernetes", + "K8sPermissionRules": "Kubernetes Authorization Rules", + "Key": "Key", + "KingSoftCloud": "Kingsoft Cloud", + "KokoSettingUpdate": "Koko Configuration Settings", + "Kubernetes": "Kubernetes", + "KubernetesApp": "Kubernetes", + "KubernetesAppCount": "Number of Kubernetes Applications", + "KubernetesAppCreate": "Create Kubernetes", + "KubernetesAppDetail": "Kubernetes Details.\"", + "KubernetesAppPermission": "Kubernetes Authorization", + "KubernetesAppPermissionCreate": "Create Kubernetes Authorization Rules", + "KubernetesAppPermissionDetail": "Kubernetes Authorization Details", + "KubernetesAppPermissionUpdate": "Update Kubernetes Authorization Rules", + "KubernetesAppUpdate": "Update Kubernetes", + "LAN": "Local Area Network", + "LDAPServerInfo": "LDAP Server", + "LDAPUser": "LDAP User", + "LOWER_CASEREQUIRED": "Must Include Lowercase Letters", + "Label": "Tag", + "LabelCreate": "Create Tag", + "LabelInputFormatValidation": "Tag format error, correct format is: name:value", + "LabelList": "Tag List", + "LabelUpdate": "Update Label", + "Language": "Language", + "Last30": "Recent 30 Times", + "Last30Days": "Recent 30 Days", + "Last7Days": "Past 7 Days", + "LastCannotBeDeleteMsg": "Last Item, Cannot be Deleted", + "LastDay": "Last Day of the Month", + "LastExecutionOutput": "Last Execution Output", + "LastPublishedTime": "Last Release Time", + "LastRun": "Last Run", + "LastRunFailedHosts": "The Last Run Failed Host", + "LastRunSuccessHosts": "Last Successful Host", + "LastWeek": "Last Week of the Month", + "LastWorking": "The Most Recent Working Day", + "LatestSessions": "Recent Login Records", + "LatestSessions10": "Last 10 Login Attempts", + "LatestTop10": "TOP 10", + "LatestVersion": "Latest Version", + "Ldap": "LDAP", + "LdapBulkImport": "User Import", + "LdapConnectTest": "Test Connection", + "LdapLoginTest": "Test Login", + "Length": "Length", + "LessEqualThan": "Less Than or Equal To", + "LevelApproval": "Level Approval", + "License": "License", + "LicenseDetail": "License Detail", + "LicenseExpired": "Licence Expired", + "LicenseFile": "License file", + "LicenseForTest": "License for Testing Purposes, This License is Only for Testing (PoC) and Demonstrations", + "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", + "LicenseWillBe": "License Expiring In ", + "LinuxAdminUser": "Linux Privileged User", + "LinuxUserAffiliateGroup": "User Affiliated Group", + "LoadStatus": "Load Status", + "Loading": "Loading", + "LockedIP": "IP {count} Locked", + "Log": "Logs", + "LogData": "Log Data", + "LogOfLoginSuccessNum": "Login Success Log Count", + "Logging": "Log Record", + "Login": "User Login", + "LoginAssetConfirm": "Asset login review", + "LoginAssetToday": "Today's active assets", + "LoginAssets": "Active Assets", + "LoginCity": "Login City", + "LoginConfig": "Login Configuration", + "LoginConfirm": "Login Review", + "LoginCount": "Login Times", + "LoginDate": "Login Date", + "LoginFailed": "Login Failed", + "LoginFrom": "Login Source", + "LoginIP": "Login IP", + "LoginImage": "Login Page Picture.", + "LoginImageTip": "Note: Will be displayed on the Enterprise edition user login page (recommended picture size: 492*472px)", + "LoginLog": "Login log", + "LoginModeHelpMessage": "If you choose manual login mode, username and password may not be filled in", + "LoginModel": "Login Mode", + "LoginNum": "Login Count", + "LoginOption": "Login Options", + "LoginOverview": "Session Statistics", + "LoginPasswordSetting": "Login Password Settings", + "LoginRequiredMsg": "Account Logged Out, Please Log in Again", + "LoginSucceeded": "Login successful", + "LoginTitle": "Login Page Title", + "LoginTitleTip": "Tip: This will be displayed on the enterprise user SSH login KoKo login page (eg: Welcome to use JumpServer Open Source Bastion Machine)", + "LoginTo": "Log in", + "LoginUserRanking": "Login Account Ranking", + "LoginUserToday": "Number of Accounts Logged in Today", + "LoginUsers": "Active Accounts", + "Login_confirmUser": "Login Review Recipient", + "LogoIndex": "Logo (with text)", + "LogoIndexTip": "Notice: It will be displayed on the top left of the page (Recommended image size: 185px*55px)", + "LogoLogout": "Logo (Without Text)", + "LogoLogoutTip": "Note: It will be displayed on the Web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", + "Logout": "Logout", + "LogsAudit": "Log Audit", + "Lowercase": "Lowercase Letters", + "LunaSettingUpdate": "Luna Configuration Settings", + "MFA": "MFA", + "MFAConfirm": "MFA Authorization", + "MFAErrorMsg": "MFA error, please check", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication for increased account security.
After enabling, you will be directed to the multi-factor authentication binding process the next time you log in; you can also directly bind it in (Personal Information->Quick Change->Change Multi-factor Settings)!", + "MFAOfUserFirstLoginUserGuidePage": "To ensure your and the company's safety, please properly manage your account, password, keys, and other important sensitive information; (for example: setting a complex password and enabling multi-factor authentication)
Email, mobile number, WeChat, and other personal information are used solely for user authentication and internal platform notification purposes.", + "MFARequireForSecurity": "For Security, Please Enter MFA", + "MFAVerify": "Verify MFA", + "MIN_LENGTHERROR": "Password Minimum Length {0} Characters", + "MailRecipient": "Email Recipients", + "MailSend": "Email Sent", + "ManualAccount": "Manual Account", + "ManualAccountTip": "Manually enter username/password at login", + "ManualExecutePlan": "Execute Plan Manually", + "ManualInput": "Manual Input", + "ManyChoose": "Multiple Selection Available", + "Mariadb": "MariaDB", + "MarkAsRead": "Mark as Read", + "Marketplace": "App Store", + "Match": "Match", + "MatchIn": "In...", + "MatchResult": "Matching Results", + "MatchedCount": "Match Result", + "Material": "Content", + "Members": "Members", + "Memory": "Memory", + "MenuAccounts": "Account", + "MenuAssets": "Asset Management", + "MenuMore": "More...", + "MenuPermissions": "Authorization Management", + "MenuUsers": "User", + "Message": "Message", + "MessageSub": "Message Subscription", + "MessageSubscription": "Message Subscription", + "MessageType": "Message Type", + "Meta": "Metadata", + "MfaLevel": " Multi-factor Authentication", + "Min": "Minutes", + "Model": "Model", + "Modify": "Edit", + "ModifySSHKey": "Edit SSH Key", + "ModifyTheme": "Edit Theme", + "Module": "Module", + "Monday": "Monday", + "Mongodb": "MongoDB", + "Monitor": "Monitor", + "Month": "Month", + "Monthly": "By Month", + "More": "More Options", + "MoreActions": "More Actions", + "MoveAssetToNode": "Move Assets to Node", + "MsgSubscribe": "Message subscription", + "MyApps": "My Apps", + "MyAssets": "My Assets", + "MyTickets": "I Initiated", + "Mysql": "Mysql", + "MysqlWorkbench": "MySQL Workbench", + "Mysql_workbenchIp": "Database IP", + "Mysql_workbenchName": "Database Name", + "Mysql_workbenchPassword": "Database Password", + "Mysql_workbenchPort": "Database Port", + "Mysql_workbenchUsername": "Database Account", + "NUMBERREQUIRED": "Must Contain Numbers", + "Name": "Name", + "NavHelp": "Navbar Link", + "Navigation": "Navigation", + "NeedAddAppsOrSystemUserErrMsg": "Applications or System Users Required", + "NeedReLogin": "\"Need to Re-login", + "NeedSpecifiedFile": "You need to upload a specified format file", + "NeedUpdatePasswordNextLogin": "Password change required on next login", + "Network": "Network", + "New": "Create", + "NewChat": "New Chat", + "NewCount": "Add", + "NewCron": "Create Cron", + "NewDirectory": "New Directory", + "NewFile": "New File", + "NewPassword": "New Password", + "NewSyncCount": "New Sync", + "No": "No", + "NoAlive": " Offline", + "NoAnnouncement": "No Announcement", + "NoContent": "No Content", + "NoData": "No Data", + "NoFiles": "No Files Available", + "NoInputCommand": "No Command Entered", + "NoLicense": "No License Available", + "NoPermission": "No Permission", + "NoPermission403": "403 No Permission", + "NoPermissionVew": "No permission to view the current page", + "NoPublished": "Unpublished", + "NoSQLProtocol": "Non-Relational Database", + "NoSystemUserWasSelected": "No system user selected", + "NoUnreadMsg": "No unread messages", + "Node": "Node", + "NodeAmount": "Node Quantity", + "NodeCount": "Number of Nodes", + "NodeInformation": "Node Information", + "NodeSearchStrategy": "Node Search Strategy", + "NormalLoad": "Normal", + "NotAlphanumericUnderscore": "Can only input letters, numbers, underscores", + "NotEqual": "Not Equal To", + "NotParenthesis": "Cannot Include ( )", + "NotSet": "Not Set", + "NotSpecialEmoji": "Special Emoji Input Not Allowed", + "Nothing": "None", + "Notifications": "Notification", + "Now": "Now", + "Num": "Number", + "Number": "Serial Number", + "NumberOfVisits": "Number of Visits", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "Hint: Authentication Service Provider (Suggested Image Size: 64px*64px)", + "OIDC": "OIDC", + "OTP": "MFA (OTP)", + "ObjectNotFoundOrDeletedMsg": "No corresponding resources found or they have been deleted", + "OfficialWebsite": "Official Web Link", + "OfficialWebsiteTip": "You can change the URL of the Website Navigation Bar Help ->Official Website", + "Offline": "Offline", + "OfflineSuccessMsg": "Offline Successful", + "OfflineUpload": "Offline Upload", + "OldPassword": "Original Password", + "OldSSHKey": "Original SSH Public Key", + "On/Off": "Start/Stop", + "OneAssignee": "First Level Acceptance Personnel", + "OneAssigneeType": "First-Level Acceptance Type", + "OneClickRead": "Currently Read", + "OneClickReadMsg": "Are you sure you want to mark the current information as read?", + "OnlineSession": "Online Users", + "OnlineSessionHelpMsg": "Unable to offline the current session as it is an online session of the current user. Currently, only users logged in via the Web are recorded.", + "OnlineSessions": "Online Sessions", + "OnlineUserDevices": "Online User Devices", + "OnlineUsers": "Online Account", + "OnlyCSVFilesTips": "Supports CSV file import only", + "OnlyLatestVersion": "Only Latest Version", + "OnlyMailSend": "Currently only supports email sending", + "OnlySearchCurrentNodePerm": "Search only for the current node authorization", + "Open": "Pending", + "OpenCommand": "Open Command", + "OpenId": "OpenID Settings", + "OpenStack": "OpenStack", + "OpenStatus": "Under Review", + "OpenTicket": "Create Work Order", + "OperateLog": "Action Log", + "OperateRecord": "Action Record", + "OperationLogNum": "Action Log Count", + "Ops": "Task", + "Options": "Options", + "Oracle": "Oracle", + "OrgAdmin": "Organization Admin", + "OrgAuditor": "Organization Auditor", + "OrgName": "Authorized Organization Name", + "OrgRole": "Organization Roles", + "OrgRoleHelpText": "An organization role is the user's role within the current organization", + "OrgRoles": "Organizational Role", + "OrgUser": "Organizational Users", + "OrganizationCreate": "Create Organization", + "OrganizationDetail": "Organization details", + "OrganizationList": "Organization", + "OrganizationLists": "Organization List", + "OrganizationMembership": "Organization Members", + "OrganizationUpdate": "Update organization", + "Os": "Operating System", + "Other": "Other Settings", + "OtherAuth": "Other Authentication", + "OtherProtocol": "Other Protocols", + "OtherRules": "Other Rules", + "Others": "Other", + "Output": "Output", + "Overview": "Overview", + "PENDING": "Waiting", + "PageNext": "Next Page", + "PagePrev": "Previous Page", + "Parameter": "Parameters", + "Params": "Parameter", + "ParamsHelpText": "Change Password Parameter Settings, currently only effective for assets of the host type.", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "Your authorization source is {source}, adding Passkey is not supported", + "Passphrase": "Key Password", + "Password": "Password", + "PasswordAccount": "Password Account", + "PasswordChangeLog": "Password Change Log", + "PasswordCheckRule": "Password Strength Rules", + "PasswordConfirm": "Password Authentication", + "PasswordExpired": "Password has expired", + "PasswordHelpMessage": "Password or Key Password", + "PasswordLength": "Password Length", + "PasswordOrPassphrase": "Password or Key Password", + "PasswordOrToken": "Password / Token", + "PasswordPlaceholder": "Please Enter Password", + "PasswordRecord": "Password Log", + "PasswordRequireForSecurity": "Please Enter Password for Security", + "PasswordRule": "Password Rules", + "PasswordSecurity": "Password Security", + "PasswordSelector": "Password Input Selector", + "PasswordStrategy": "Ciphertext Generation Strategy", + "PasswordWillExpiredPrefixMsg": "Password is about to be in", + "PasswordWillExpiredSuffixMsg": "Expires in days, please change your password as soon as possible.", + "PasswordWithoutSpecialCharHelpText": "Cannot Include Special Characters", + "Paste": "Paste", + "Pattern": "Mode", + "Pause": "Pause", + "PauseTaskSendSuccessMsg": "The Task Has Been Paused and Issued, Please Refresh Later", + "Pending": "Pending", + "Periodic": "Execution Cycle", + "PeriodicPerform": "Schedule Execution", + "Perm": "Authorization", + "PermAccount": "Authorized Account", + "PermName": "Authorization Name", + "PermUserList": "Authorize User", + "PermissionCompany": "Authorize Company", + "PermissionName": "Authorization Rule Name", + "Permissions": "Permissions", + "Perms": "权限管理", + "PersonalInformationImprovement": "Personal information completion", + "Phone": "Phone Number", + "Plan": "Schedule", + "Platform": "System Platform", + "PlatformCreate": "Create System Platform", + "PlatformDetail": "System Platform Details", + "PlatformList": "Platform List", + "PlatformProtocolConfig": "Platform Protocol Configuration", + "PlatformSimple": "Platform", + "PlatformUpdate": "Update System Platform", + "PlaybookDetail": "Playbook Details", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "Update Playbook", + "PleaseAgreeToTheTerms": "Please Accept the Terms", + "PleaseClickLeftApplicationToViewApplicationAccount": "Application Account List, click on the application on the left to view", + "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, click on the asset on the left to view", + "PleaseClickLeftAssetToViewGatheredUser": "Collect user list, click on the asset on the left to view", + "PleaseSelect": "Please Select", + "PolicyName": "Policy Name", + "Port": "Port", + "Ports": "Port", + "Postgresql": "PostgreSQL", + "Primary": "Main", + "PrimaryProtocol": "Main Protocol, the most basic and commonly used asset protocol, can and must set up one", + "Priority": "Priority", + "PriorityHelpMessage": "1-100, 1 is the lowest priority, 100 is the highest. When authorizing multiple users, the system user with the highest priority will be the default login user", + "PrivateCloud": "Private Cloud", + "PrivateKey": "Private Key", + "PrivilegeFirst": "Priority is for Privileged Accounts", + "PrivilegeOnly": "Only Select Privileged Accounts", + "Privileged": "Privilege Account", + "PrivilegedFirst": "Priority Privilege Account", + "PrivilegedOnly": "Privileged Accounts Only", + "PrivilegedTemplate": "Privileged", + "Product": "Product", + "Profile": "Personal Information", + "ProfileSetting": "Personal Information Settings", + "Project": "Project name", + "Prompt": "Hint Word", + "Proportion": "Proportion", + "ProportionOfAssetTypes": "Asset Type Proportions", + "Protocol": "Protocol", + "Protocols": "Protocol", + "ProtocolsEnabled": "Enable Protocol", + "ProtocolsGroup": "Agreement", + "Provider": "Cloud Service Provider", + "Proxy": "Proxy", + "Public": "Public", + "PublicCloud": "Public Cloud", + "PublicIp": "Public IP", + "PublicKey": "Public Key", + "PublicProtocol": "Displayed when public protocol is used to connect assets", + "Publish": "Publish", + "PublishAllApplets": "Publish All Applications", + "PublishStatus": "Publish Status", + "Push": "Push", + "PushAccount": "Push Account", + "PushAllSystemUsersToAsset": "Push All System Users to Assets", + "PushParams": "Push Parameters", + "PushSelected": "Push Selected", + "PushSelectedSystemUsersToAsset": "Push Selected System User to Asset", + "PushSystemUserNow": "Push System User", + "Qcloud": "Tencent Cloud", + "QcloudLighthouse": "Tencent Cloud (Light Application Server)", + "QingyunPrivatecloud": "QingCloud Private Cloud", + "Queue": "Queue", + "QuickAccess": "Quick Access", + "QuickAdd": "Quick Add", + "QuickJob": "Shortcut Command", + "QuickSelect": "Quick Selection", + "QuickUpdate": "Quick Update", + "RDBProtocol": "Relational Database", + "RUNNING": "Running", + "Radius": "Radius", + "Ranking": "Ranking", + "Ratio": "Ratio", + "RazorNotSupport": "RDP client session, monitoring not supported", + "ReLogin": "Re-log in", + "ReLoginErr": "Login duration has exceeded 5 minutes, please log in again", + "ReLoginTitle": "Current third-party logged-in users (CAS/SAML), not bound with MFA and doesn't support password validation, please log in again.", + "RealTimeData": "Real-time Data", + "Reason": "Reason", + "Receivers": "Recipient", + "RecentLogin": "Recent Login", + "RecentSession": "Recent Sessions", + "RecentlyUsed": "Recent Use", + "RecipientHelpText": "If both A and B are set as recipients, the key to the account will be split into two parts", + "RecipientServer": "Receiving Server", + "Reconnect": "Reconnect", + "Redis": "Redis", + "Refresh": "Refresh", + "RefreshFail": "Refresh Failed", + "RefreshHardware": "Update Hardware Information", + "RefreshLdapCache": "Refreshing Ldap cache, please wait", + "RefreshLdapUser": "Refresh Cache", + "RefreshPermissionCache": "Refresh Authorization Cache", + "RefreshSuccess": "Refresh Successful", + "Regex": "Regular Expression", + "Region": "Region", + "RegularlyPerform": "Scheduled Execution", + "Reject": "Reject", + "Rejected": "Rejected", + "RelAnd": "And", + "RelNot": "Not", + "RelOr": "Or", + "Relation": "Relationship", + "ReleasedCount": "Released", + "RelevantApp": "Application", + "RelevantAsset": "Asset", + "RelevantAssignees": "Related Recipient", + "RelevantCommand": "Command", + "RelevantSystemUser": "System User", + "RemoteAddr": "Remote Address", + "RemoteApp": "Remote Applications", + "RemoteAppCount": "Number of Remote Applications", + "RemoteAppDetail": "Remote Application Details", + "RemoteAppListHelpMessage": "Before using this feature, please make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download Application Loader", + "RemoteAppPermission": "Remote App Authorization", + "RemoteAppPermissionCreate": "Create Remote Application Authorization Rule", + "RemoteAppPermissionDetail": "Remote Application Authorization Details", + "RemoteAppPermissionRules": "Remote Application Authorization Rules", + "RemoteAppPermissionUpdate": "Update Remote Application Authorization Rules", + "RemoteAppUpdate": "Update Remote Application", + "RemoteApps": "Remote Application", + "RemoteType": "Application Type", + "Remove": "Remove", + "RemoveAssetFromNode": "Remove Assets From Node", + "RemoveErrorMsg": "Removal Failed:", + "RemoveFromCurrentNode": "Remove from node", + "RemoveFromOrgWarningMsg": "Are you sure you want to remove from organization ", + "RemoveSuccessMsg": "Removal Successful", + "RemoveWarningMsg": "Are you sure you want to remove", + "Rename": "Rename", + "RenameNode": "Rename Node", + "ReplaceNodeAssetsAdminUser": "Replace the administrator of the node assets", + "ReplaceNodeAssetsAdminUserWithThis": "Replace the administrator of assets", + "Replay": "Playback", + "ReplaySession": "Session Playback", + "ReplayStorage": "Object Storage", + "ReplayStorageCreateUpdateHelpMessage": "Note: SFTP Storage Currently only supports account backup and does not support video storage.", + "ReplayStorageUpdate": "Update Object Storage", + "Reply": "Reply", + "RequestApplicationPerm": "Apply for App Authorization", + "RequestAssetPerm": "Apply for Asset Authorization", + "RequestPerm": "Authorization Request", + "RequestTickets": "Application Work Order", + "Required": "Required", + "RequiredAssetOrNode": "Please select at least one asset or node", + "RequiredContent": "Please Enter Command", + "RequiredEntryFile": "This file serves as the entry point for running and must exist", + "RequiredHasUserNameMapped": "A map that must contain the username field, such as 'uid': 'username'", + "RequiredProtocol": "Mandatory Protocol, must be selected when adding assets, multiple can be set", + "RequiredRunas": "Please Enter the Running User", + "RequiredSystemUserErrMsg": "Please Select an Account", + "RequiredUploadFile": "Please Upload File!", + "Reset": "Restore", + "ResetAndDownloadSSHKey": "Reset and Download Key", + "ResetDingTalk": "Unbind DingTalk", + "ResetDingTalkLoginSuccessMsg": "Reset successful, user can re-bind DingTalk", + "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", + "ResetMFA": "Reset MFA", + "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", + "ResetMFAdSuccessMsg": "'MFA Reset Successful, User Can Reset MFA Again", + "ResetPassword": "Reset Password", + "ResetPasswordSuccessMsg": "Password Reset Message Has Been Sent to User", + "ResetPasswordWarningMsg": "Are you sure you want to send a password reset email?", + "ResetPublicKeyAndDownload": "Reset and Download SSH Key", + "ResetSSHKey": "Reset SSH Key", + "ResetSSHKeySuccessMsg": "Email sending task has been submitted, users will receive a reset key email later", + "ResetSSHKeyWarningMsg": "Are you sure you want to send out the reset user's SSH Key email?", + "ResetWechat": "Unbind Corporate WeChat", + "ResetWechatLoginSuccessMsg": "Reset Successful. User can rebind with enterprise WeChat", + "ResetWechatLoginWarningMsg": "Are you sure you want to unbind the user's WeChat for Business?", + "Resource": "Resources", + "ResourceType": "Resource Type", + "Resources": "Resources", + "RestoreButton": "Restore Defaults", + "RestoreDefault": "Restore Default", + "RestoreDialogMessage": "Are you sure you'd like to restore to default initialization?", + "RestoreDialogTitle": "Are you sure", + "Result": "Result", + "Resume": "Restore", + "ResumeTaskSendSuccessMsg": "Recovery action has been dispatched, please refresh and check later", + "Retry": "Retry", + "Reviewer": "Approver", + "Revise": "Modify", + "RiskLevel": "Risk level", + "Role": "Role", + "RoleCreate": "Create Character", + "RoleDetail": "Role Details", + "RoleInfo": "Role Information", + "RoleList": "Role List", + "RolePerms": "Role Permissions", + "RoleUpdate": "Update Role", + "RoleUsers": "Authorized User", + "Rows": "Row", + "Rule": "Condition", + "RuleCount": "Condition Quantity", + "RuleDetail": "Rule details", + "RuleRelation": "Relationship Conditions", + "RuleRelationHelpTips": "And: Action will be executed only when all conditions are met; Or: Action will be executed as long as one condition is met", + "RuleSetting": "Condition Setting", + "Rules": "Rules", + "Run": "Execute", + "RunAgain": "Execute Again", + "RunAs": "Run as User", + "RunCommand": "Run Command", + "RunJob": "Run Job", + "RunSucceed": "Task Execution Success", + "RunTaskManually": "Manual Action", + "RunTimes": "Execution Count", + "RunUser": "Run User", + "RunasHelpText": "Enter the username for running the script", + "RunasPolicy": "Account Policy", + "RunasPolicyHelpText": "What account selection strategy should be taken when there is no such running user on the current asset. Skip: Don't Execute. Privileged Account Priority: If there is a privileged account, select the privileged account first, if not, then choose a common account. Only Privileged Accounts: Select only from privileged accounts, if none, then don't execute", + "Running": "Running", + "RunningPath": "Run Path", + "RunningPathHelpText": "Enter the running path of the script, this setting only applies to shell scripts", + "RunningTimes": "Last 5 Run Times", + "SAML2Auth": "SAML2 Authentication", + "SCP": "Sangfor Cloud Platform", + "SFTPHelpMessage": "Start Path of SFTP, Home Directory Can Be Entered As: HOME.
Supported Variables: ${ACCOUNT} Account Username Linked, ${USER} Current User's Username, such as /tmp/${ACCOUNT}", + "SMS": "Message", + "SMSProvider": "SMS Service Provider", + "SMTP": "Email Server", + "SPECIAL_CHARREQUIRED": "Must Include Special Characters", + "SSHKey": "SSH Public Key", + "SSHKeyOfProfileSSHUpdatePage": "Paste Your Public Key Here", + "SSHKeySetting": "Setting SSH Public Key", + "SSHPort": "SSH Port", + "SSHSecretKey": "SSH key", + "SSO": "Single sign-on", + "SUCCESS": "Success", + "SafeCommand": "Safe Command", + "SameAccount": "Account with Same Name", + "SameAccountTip": "Account with the same username as authorized user", + "SameTypeAccountTip": "An account with the same username and key type already exists", + "Saturday": "Saturday", + "Save": "Save", + "SaveAdhoc": "Save Command", + "SaveAndAddAnother": "Save and continue to add", + "SaveCommand": "Save Command", + "SaveCommandSuccess": "\"Save Command Successful", + "SaveSetting": "Synchronization Settings", + "SaveSuccess": "Save Successful", + "SaveSuccessContinueMsg": "Created successfully, you can continue to add after updating content", + "Scope": "Category", + "Script": "Script List", + "ScriptDetail": "Script Details", + "ScrollToBottom": "Scroll to Bottom", + "ScrollToTop": "Scroll to Top", + "Search": "Search", + "SearchAncestorNodePerm": "Search for the authorization of the current node and ancestor nodes at the same time", + "Secret": "Password", + "SecretKey": "Key", + "SecretKeyStrategy": "Password Strategy", + "SecretType": "Ciphertext Type", + "Secure": "Security", + "Security": "Security Settings", + "SecurityCommandExecution": "Batch commands", + "SecurityInsecureCommand": "Once enabled, an alarm notification will be sent via email when hazardous commands are executed on the asset", + "SecurityInsecureCommandEmailReceiver": "When there are multiple emails, separate them with a comma ','", + "SecurityLoginLimitCount": "Limit Login Failure Attempts", + "SecurityLoginLimitTime": "Disable Login Interval", + "SecurityMaxIdleTime": "Max Idle Connection Time", + "SecurityMfaAuth": "Multi-factor Authentication", + "SecurityPasswordExpirationTime": "Password Expiry Time", + "SecurityPasswordLowerCase": "Must Include Lowercase Letters", + "SecurityPasswordMinLength": "Password Minimum Length", + "SecurityPasswordNumber": "Numeric Characters Required", + "SecurityPasswordSpecialChar": "Must contain special characters", + "SecurityPasswordUpperCase": "Must Include Uppercase Letters", + "SecurityServiceAccountRegistration": "Component Registration", + "SecuritySetting": "Security Settings", + "Select": "Select", + "SelectAccount": "Select Account", + "SelectAdhoc": "Select Command", + "SelectAll": "Select All", + "SelectAssetsMessage": "Select assets on the left, choose the running system user, execute commands in bulk", + "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", + "SelectAttrs": "Select attributes", + "SelectByAttr": "Property filter", + "SelectCreateMethod": "Select Creation Method", + "SelectFile": "Select File", + "SelectKeyOrCreateNew": "Select Tag Key or Create New One", + "SelectLabelFilter": "Select Search Labels", + "SelectPlatforms": "Select platform", + "SelectProperties": "Select Attributes", + "SelectResource": "Select Resources", + "SelectTemplate": "Select Template", + "SelectValueOrCreateNew": "Select Tag Value or Create New", + "Selected": "Selected", + "SelectedAssets": "Selected Assets:", + "Selection": "Selectable", + "Selector": "Selector", + "Send": "Send", + "SendVerificationCode": "Send Verification Code", + "Sender": "Sender", + "Senior": "Advanced", + "SerialNumber": "Serial number", + "ServerAccountKey": "Service Account Key", + "ServerError": "Server Error", + "ServerTime": "Server Time", + "ServiceRatio": "Component Load Statistics", + "Session": "Session", + "SessionActiveCount": "Online Session Amount", + "SessionData": "Session Data", + "SessionDetail": "Session Details", + "SessionID": "Session ID", + "SessionList": "Session Log", + "SessionMonitor": "Monitoring", + "SessionOffline": "Historical Sessions", + "SessionOnline": "Online Sessions", + "SessionSecurity": "Session Security", + "SessionState": "Session Status", + "SessionTerminate": "Conversation Ended", + "SessionTrend": "Session Trend", + "Sessions": "Session ", + "SessionsAudit": "Session Audit", + "SessionsNum": "Number of Sessions", + "Set": "Already set", + "SetAdDomainNoDisabled": "Create standard account using privileged account on assets, can't be modified if AD domain is set (Windows)", + "SetDingTalk": "Set up DingTalk Authentication", + "SetFailed": "Settings Failed", + "SetFeiShu": "Setup Feishu Authentication", + "SetMFA": "Set Up Multi-Factor Authentication", + "SetPublicKey": "Set SSH Public Key", + "SetSlack": "Set up Slack authentication", + "SetStatus": "Set Status", + "SetSuccess": "Settings applied", + "SetToDefault": "Set as Default", + "SetToDefaultStorage": "Set as default storage", + "SetWeCom": "Setting Enterprise WeChat Authorization", + "Setting": "Settings", + "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Component Settings / service endpoints", + "Settings": "System Settings", + "Show": "Display", + "ShowAssetAllChildrenNode": "Show All Sub-node Assets", + "ShowAssetOnlyCurrentNode": "Show Assets of Current Node Only", + "ShowNodeInfo": "Show Node Details", + "SignChannelNum": "Signature Channel Number", + "SignaturesAndTemplates": "Signatures and Templates", + "SiteMessage": "Internal Mail", + "SiteMessageList": "Internal Message", + "SiteUrl": "Current Site URL", + "Skip": "Ignore the current asset", + "Skipped": "Skipped", + "Slack": "Slack", + "Source": "Source", + "SourceIP": "Source Address\"", + "SourcePort": "Source port", + "Spec": "Specify", + "SpecAccount": "Specify Account", + "SpecAccountTip": "Specify Username Select Authorized Account", + "SpecialSymbol": "Special Characters", + "SpecificInfo": "Special information", + "Sqlserver": "SQLServer", + "SshKeyFingerprint": "SSH Fingerprint", + "SshPort": "SSH Port", + "Sshkey": "sshkey", + "SshkeyAccount": "Key Account", + "StartEvery": "Start, Each", + "Startswith": "Beginning with...", + "Stat": "Success/ Failure/ Total", + "State": "Status", + "StateClosed": "Turned Off", + "Status": "Status", + "StatusGreen": "Recent Good Status", + "StatusRed": "Last Task Execution Failure", + "StatusYellow": "Recent Execution Failures", + "Stop": "Stop", + "Storage": "Storage", + "StorageConfiguration": "Store Configuration", + "Strategy": "Strategy", + "StrategyCreate": "Create policy", + "StrategyDetail": "Policy Details", + "StrategyHelpTips": "Determine the unique attribute of the asset (such as the platform) based on the policy priority. When multiple configurations are possible for the asset attribute (such as the node), all Actions of the policies will be executed", + "StrategyList": "Strategy List", + "StrategyUpdate": "Update Policy", + "SuFrom": "Switch From", + "Subject": "Theme", + "Submit": "Submit", + "SubmitSelector": "Submit button selector", + "Subscription": "Message Subscription", + "SubscriptionID": "Subscription Authorization ID", + "Success": "Successful", + "SuccessAsset": "Successful Assets", + "SuccessfulOperation": "Operation Successful", + "SudoHelpMessage": "Separate multiple commands with a comma, such as: /bin/whoami,/sbin/ifconfig", + "Summary(success/total)": "Overview ( Success/Total )", + "Sunday": "Sunday", + "SuperAdmin": "Super Administrator", + "SuperOrgAdmin": "Super Administrator + Organization Administrator", + "Support": "Support", + "SupportedProtocol": "Supported Protocol", + "SupportedProtocolHelpText": "Set the protocols supported by assets. Clicking the settings button can modify custom configurations for protocols, such as SFTP directory, RDP AD domain, etc.", + "SwitchPage": "Switch Views", + "SwitchToUser": "Su User", + "SwitchToUserListTips": "When connecting to assets through the following users, the current system user will be used to log in and then switch.", + "SymbolSet": "Special Symbols Collection", + "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If the randomly generated password contains special characters that this type of database does not support, the change password plan will fail", + "Sync": "Synchronization", + "SyncDelete": "Sync Delete", + "SyncInstanceTaskCreate": "Create Synchronization Task", + "SyncInstanceTaskDetail": " Synchronization task details", + "SyncInstanceTaskHistoryAssetList": "Sync Instance List", + "SyncInstanceTaskHistoryList": "Sync History List", + "SyncInstanceTaskList": "Sync Task List", + "SyncInstanceTaskUpdate": "Update Sync Task", + "SyncProtocolToAsset": "Synchronize Agreement to Assets", + "SyncSelected": "Sync Selected", + "SyncSetting": "Sync Settings", + "SyncStrategy": "Sync Policy", + "SyncSuccessMsg": "Synchronization Successful", + "SyncTask": "Synchronized Task", + "SyncUpdateAccountInfo": "Synchronize account information", + "SyncUser": "Synchronize User", + "SyncedCount": "Synchronized", + "SystemCpuLoad": "CPU Load", + "SystemDiskUsedPercent": "Disk Usage Rate", + "SystemError": "System Error", + "SystemMemoryUsedPercent": "Memory Usage Rate", + "SystemMessageSubscription": "System Message Subscription", + "SystemRole": "System Roles", + "SystemRoles": "System Role", + "SystemSetting": "System Settings", + "SystemTools": "System Tools", + "SystemUser": "System User", + "SystemUserAmount": "System User Count", + "SystemUserCount": "System User", + "SystemUserCreate": "Create System User", + "SystemUserDetail": "System user details", + "SystemUserId": "System User Id", + "SystemUserList": "System Users", + "SystemUserListHelpMessage": "System User is the account JumpServer uses when logging in to assets, such as root `ssh root@host`, instead of logging in to the asset with this username (ssh admin@host)`;
Privileged User is an existing asset user who has advanced privileges. JumpServer uses this user to `push system users`, `acquire hardware information about the assets`, etc;
Regular User can preexist on an asset, or can be created automatically by the Privileged User.", + "SystemUserName": "System Username", + "SystemUserUpdate": "Update System User", + "SystemUsers": "System Users", + "System_usersAmount": "System User", + "System_users_nameGroup": "System Username", + "System_users_protocolGroup": "System User Agreement", + "System_users_usernameGroup": "System Username", + "TableColSettingInfo": "Please select the detailed information you would like to display on the list.", + "Target": "Target", + "TargetResources": "Target Resource", + "Task": "Task", + "TaskCenter": "Task Center", + "TaskDetail": "Task Details", + "TaskDispatch": "Task Issued Successfully", + "TaskDone": "Task Ended", + "TaskID": "Task ID", + "TaskList": "Task List", + "TaskMonitor": "Task Monitoring", + "TaskName": "Task Name", + "TaskVersions": "Task Versions", + "Tasks": "Task", + "TechnologyConsult": "Technical Consultation", + "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after usage", + "Template": "Template", + "TemplateAdd": "Template Addition", + "TemplateCreate": "Create Template", + "TemplateDetail": "Template Details", + "TemplateHelpText": "When choosing to add by template, accounts not existing under the asset will be automatically created and pushed", + "TemplateUpdate": "Update Template", + "Templates": "Template", + "TencentCloud": "Tencent Cloud", + "Terminal": "Component Settings", + "TerminalAssetListPageSize": "Asset Pagination Per Page Quantity", + "TerminalAssetListSortBy": "Sort Asset List", + "TerminalDetail": "Terminal Details", + "TerminalHeartbeatInterval": "Heartbeat Interval", + "TerminalPasswordAuth": "Password Authentication", + "TerminalPublicKeyAuth": "Key Authentication", + "TerminalSessionKeepDuration": "Session Retention Duration", + "TerminalStat": "CPU/Memory/Disk", + "TerminalTelnetRegex": "Telnet Successful Regular Expression", + "TerminalUpdate": "Update Terminal", + "TerminalUpdateStorage": "Update Terminal Storage", + "Terminate": "Termination", + "TerminateTaskSendSuccessMsg": "The termination task has been issued, please refresh later to check", + "TermsAndConditions": "Terms and Conditions", + "Test": "Test", + "TestAccountConnective": "Test Account Connectivity", + "TestAllSystemUsersConnective": "Test All System Users' Connectivity", + "TestAssetsConnective": "Test Asset Connectivity", + "TestConnection": "Test Connection", + "TestGatewayHelpMessage": "If you are using NAT port mapping, set it to the port that SSH really listens to", + "TestGatewayTestConnection": "Test Gateway Connection", + "TestHelpText": "Please Enter Destination Address for Testing", + "TestLdapLoginSubtitle": "Please submit LDAP configuration before test login", + "TestLdapLoginTitle": "Test LDAP user login", + "TestMultiPort": "Separate Multiple Ports with a Comma", + "TestNodeAssetConnectivity": "Test Asset Node Connectivity", + "TestParam": "Parameter", + "TestPortErrorMsg": "Wrong port, please enter again", + "TestSelected": "Test Selected", + "TestSelectedSystemUsersConnective": "Test Connectivity of Selected System User", + "TestSuccessMsg": "Test Successful", + "The": "Number", + "ThisPeriodic": "This is a periodic job", + "Thursday": "Thursday", + "Ticket": "Work Order", + "TicketCreate": "Create Work Order", + "TicketDetail": "Work Order Details", + "TicketFlow": "Work Order Flow", + "TicketFlowCreate": "Create Approval Flow", + "TicketFlowUpdate": "Update Approval Flow", + "Tickets": "Ticket List", + "TicketsDone": "Completed Work Order", + "TicketsNew": "Submit Work Order", + "TicketsTodo": "Pending Work Orders", + "Time": "Time", + "TimeDelta": "Running Time", + "TimeExpression": "Time Expression", + "TimePeriod": "Time Period", + "Timeout": "Timeout", + "TimeoutHelpText": "When this value is -1, no timeout period is specified", + "Timer": "Scheduled Execution", + "TimerPeriod": "Scheduled Execution Cycle", + "TimesWeekUnit": "Times/Week", + "Title": "Title", + "To": "To", + "Today": "Today", + "TodayFailedConnections": "Number of Failed Connections Today", + "Token": "Token", + "TokenHTTPMethod": "Token Acquisition Method", + "TopAssetsOfWeek": "Weekly TOP10 Assets", + "TopUsersOfWeek": "Top 10 Weekly Users", + "Total": "Total", + "TotalJobFailed": "Number of Failed Jobs", + "TotalJobLog": "Job Execution Total", + "TotalJobRunning": "Number of jobs in action", + "TotalVersions": "Version Count", + "Transfer": "Transfer", + "True": "Yes", + "Tuesday": "Tuesday", + "TwoAssignee": "Secondary Receiver", + "TwoAssigneeType": "Second-Level Acceptance Type", + "Type": "Type", + "Types": "Type", + "UCloud": "UCloud", + "UPPER_CASEREQUIRED": "Must include uppercase letters", + "UnSyncCount": "Un-synced", + "Unbind": "Unbind", + "UnbindHelpText": "Local users are from this authentication source and cannot be unlinked", + "Unblock": "Unlock", + "UnblockSuccessMsg": "Unlock Successful", + "UnblockUser": "Unlock User", + "UniqueError": "Only one of the following attributes can be set", + "Unknown": "Unknown", + "UnlockSuccessMsg": "Unlock Success", + "Unreachable": "Cannot Connect", + "UnselectedAssets": "No assets selected or selected assets do not support SSH protocol connection", + "UnselectedNodes": "No Node Selected", + "UnselectedOrg": "No Organization Selected", + "UnselectedUser": "No user selected", + "UpDownload": "Upload Download", + "Update": "Update", + "UpdateAccount": "Update Account", + "UpdateAccountMsg": "Please Update System User Account Info", + "UpdateAccountTemplate": "Update Account Template", + "UpdateAssetDetail": "Configure More Information", + "UpdateAssetUserToken": "Update Account Authentication Information", + "UpdateEndpoint": "Update Endpoint", + "UpdateEndpointRule": "Update Endpoint Rules", + "UpdateErrorMsg": "Update Failed", + "UpdateMFA": "Change Multi-Factor Authentication", + "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", + "UpdatePassword": "Update Password", + "UpdateSSHKey": "Update SSH Public Key", + "UpdateSecret": "Update Ciphertext", + "UpdateSelected": "Update Selected", + "UpdateSuccessMsg": "Update Successful", + "Updated": "Updated", + "UpdatedBy": "Updater", + "Upload": "Upload", + "UploadCsvLth10MHelpText": "Only csv/xlsx files can be uploaded, and must not exceed 10M", + "UploadDir": "Upload Directory", + "UploadFailed": "Upload Failed", + "UploadFile": "Upload File", + "UploadFileLthHelpText": "Only files less than {limit} MB can be uploaded", + "UploadPlaybook": "Upload Playbook", + "UploadSucceed": "Upload Successful", + "UploadZipTips": "Please Upload a Zip Format File", + "Uploading": "File Upload in Progress", + "Uppercase": "Capital Letters", + "UseParameterDefine": "Define Parameters", + "UseProtocol": "Use Protocol", + "UseSSL": "Use SSL/TLS", + "User": "User", + "UserAclDetail": "User Login Rule Details", + "UserAclList": "User Login", + "UserAclLists": "User Login Rules", + "UserAssetActivity": "Account/Asset Activity", + "UserCount": "User count", + "UserCreate": "Create User", + "UserData": "Account Data", + "UserDetail": "User Details", + "UserFirstLogin": "First Login", + "UserGroupCount": "Number of user groups", + "UserGroupCreate": "Create User Group", + "UserGroupDetail": "User Group Details", + "UserGroupList": "User Group", + "UserGroupUpdate": "Update User Group", + "UserGroups": "User Group", + "UserGuide": "User Guide", + "UserGuideUrl": "User Guide URL", + "UserIP": "Login IP", + "UserInformation": "User Information", + "UserList": "User List", + "UserLoginACL": "User Login", + "UserLoginACLCreate": "Create User Login Rule", + "UserLoginACLDetail": "User Login Restrictions", + "UserLoginACLHelpMsg": "When logging in the system, you may audit based on the user's login IP and time period to decide whether to grant system access (effective globally)", + "UserLoginACLUpdate": "Update User Login Rules", + "UserLoginAclCreate": "Create User Login Control", + "UserLoginAclDetail": "User Login Control Details", + "UserLoginAclList": "User Login", + "UserLoginAclUpdate": "Update User Login Control", + "UserLoginLimit": "User Login Restriction", + "UserLoginTrend": "Account Login Trend", + "UserName": "Name", + "UserNameSelector": "Username Input Box Selector", + "UserPage": "User View", + "UserProfile": "Personal Information", + "UserRatio": "User Proportion Statistics", + "UserSession": "User Session", + "UserSetting": "Preference Settings", + "UserSwitch": "User switch", + "SwitchFrom": "Switch From", + "UserUpdate": "Update User", + "UserUsername": "User (Username)", + "Username": "Username", + "UsernameGroup": "Username", + "UsernameHelpMessage": "Username is dynamic, use the current user's username when logging in to assets", + "UsernameOfCreateUpdatePage": "On target host, the username of the user; if existing, modifies the password; if it does not exist, add the user and set the password,", + "UsernamePlaceholder": "Enter Username", + "Users": "User", + "UsersAmount": "User", + "UsersAndUserGroups": "User/User Group", + "UsersTotal": "Total Accounts", + "Valid": "Valid", + "Validity": "Valid", + "Value": "Value", + "Variable": "Variable", + "VariableHelpText": "You can use {{ key }} to read built-in variables in the command", + "Vault": "Password Box", + "VaultHelpText": "1. Due to security reasons, the Vault storage needs to be activated in the configuration file.
2. Once activated, fill in the other configurations and conduct testing.
3. Perform data synchronization, which is unidirectional - it only syncs from the local database to the remote Vault. Once synchronization is finished, the local database will no longer store passwords. Please backup your data.
4. If you need to modify the Vault configuration a second time, the service needs to be restarted.", + "Vendor": "Manufacturer", + "VerificationCodeSent": "Verification code has been sent", + "VerifySignTmpl": "Verification Code SMS Template", + "Version": "Version", + "VersionDetail": "Version Details", + "VersionRunExecution": "Execute History", + "View": "View", + "ViewBlockedIPSHelpText": "View the list of locked IPs", + "ViewMore": "See More", + "ViewPerm": "View Authorization", + "ViewSecret": "View Cipher Text", + "VirtualAccountDetail": "Virtual Account Details", + "VirtualAccountUpdate": "Virtual Account Update", + "VirtualAccounts": "Virtual Account", + "VirtualApp": " Virtual Apps", + "VirtualAppDetail": "Virtual Application Details", + "VirtualApps": "Virtual Apps", + "VmwareClient": "vSphere Client", + "VmwarePassword": "Login Password", + "VmwareTarget": "Target Address", + "VmwareUsername": "Login Account", + "WeCom": "Enterprise WeChat", + "WeComTest": "Test", + "WebCreate": "Create Assets-Web", + "WebFTP": "File", + "WebHelpMessage": "Web type assets depend on remote applications. Please configure in remote applications in the system settings", + "WebSocketDisconnect": "WebSocket Disconnection", + "WebTerminal": "Web Terminal", + "WebUpdate": "Update Asset-Web", + "Wednesday": "Wednesday", + "Week": "Week", + "WeekAdd": "Added This Week", + "WeekOf": "Days of the Week", + "WeekOrTime": "Day/Time", + "Weekly": "Weekly", + "WildcardsAllowed": "Permitted Wildcards", + "WindowsAdminUser": "Windows Privileged User", + "WindowsPushHelpText": "Windows Assets do not Support Key Pushing", + "WordSep": "", + "WorkBench": "Workbench", + "Workbench": "Workbench", + "Workspace": "Workspace", + "Yes": "Yes", + "ZStack": "ZStack" +} diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 9470bc2e0..12bcf674f 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -1,881 +1,574 @@ { "APIKey": "API Key", - "AWSChina": "AWS(China)", - "AWSInt": "AWS (International)", "About": "About", "Accept": "Agree", "AccessIP": "IP Whitelist", "AccessKey": "Access Key", - "Account": "Account Information", + "Account": "Account", "AccountBackup": "Account Backup", "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update Account Backup", - "AccountChangeSecret": "Account Password Change", + "AccountChangeSecret": "Change password", "AccountCreate": "Create Account", - "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", + "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountDetail": "Account Details", - "AccountEnabled": "Enable Account Switch", - "AccountExportTips": "The export information includes the ciphertext of the account and contains sensitive information. The format of the export is an encrypted zip file (if no encryption password has been set, please go to personal information to set the file encryption password).", - "AccountGather": "Account Collection", - "AccountGatherList": "Collection task", + "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", + "AccountGatherList": "Collection Task", "AccountGatherTaskCreate": "Create Task", - "AccountGatherTaskExecutionList": "Task Execution List", "AccountGatherTaskList": "Account Collection", - "AccountGatherTaskUpdate": "Update Action", - "AccountHelpText": "Cloud account is used to connect to the cloud service provider's account to obtain resource information from the cloud service provider", - "AccountHistoryHelpMessage": "Record Current Account History Versions", - "AccountKey": "Account Key", + "AccountGatherTaskUpdate": "Update Task", "AccountList": "Cloud Account", - "AccountName": "Account Name", - "AccountPolicy": "Account Strategy", - "AccountPushCreate": "Account Push Create", - "AccountPushExecutionList": "Execution List", + "AccountPolicy": "Account Policy", + "AccountPushCreate": "Account Push Creation", + "AccountPushExecutionList": "Action List", "AccountPushList": "Account Push", "AccountPushUpdate": "Account Push Update", "AccountStorage": "Account Storage", "AccountTemplate": "Account Template", - "AccountTemplateUpdateSecretHelpText": "Account list displays accounts created through the template. When updating the ciphertext, it will also update the ciphertext of accounts created through the template.", + "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the ciphertext is updated, the ciphertext of the accounts created through the template will be updated.", "AccountUpdate": "Update Account", - "AccountUsername": "Account (Username)", - "Accounts": "Account", - "AccountsHelp": "All Accounts: All accounts added on the asset;
Specified Account: The username of the designated account under the asset;
Manual Account: Manually enter username and password during login;
Same Name Account: Account with the same username as the authorized person;", - "Acl": "Access control", - "Acls": "Access Control", + "Accounts": "Account ", "Action": "Action", - "ActionCount": "Action Count", - "ActionSetting": "Action Setting", + "ActionCount": "Number of Actions", + "ActionSetting": "Action Settings", "Actions": "Action", - "ActionsTips": "The functions of each permission's protocol differ. Click the icon behind the permission to view.", + "ActionsTips": "The effects of each authority's agreement are different, click on the icon behind the authority to view", "Activate": "Activate", - "ActivateSuccessMsg": "Activation Success", "Active": "Activating", - "ActiveAsset": "Recently Logged In", + "ActiveAsset": "Recently Logged in", "ActiveAssetRanking": "Login Asset Ranking", - "ActiveSelected": "Activate Selected", - "ActiveUser": "Logged in Recently", - "ActiveUserAssetsRatioTitle": "Percentage Statistics", + "ActiveUser": "Logged in recently", "Activity": "Action", - "AdDomain": "AD Domain Name", - "AdDomainHelpText": "AD Domain Name provided for Domain User Login", "Add": "Add", "AddAccount": "Add Account", - "AddAccountResult": "Account Batch Addition Results", + "AddAccountResult": "Second-Level Approver", "AddAllMembersWarningMsg": "Are you sure you want to add all members?", "AddAsset": "Add Assets", "AddAssetToNode": "Add Assets to Node", - "AddAssetToThisPermission": "Add Asset", - "AddDatabaseAppToThisPermission": "Add Database Application", - "AddFailMsg": "Addition Failed", - "AddK8sAppToThisPermission": "Add Kubernetes Application", - "AddNode": "Add node", + "AddAssetToThisPermission": "Add Assets", + "AddNode": "Add Node", "AddNodeToThisPermission": "Add Node", - "AddOrgMembers": "Add organization member", "AddPassKey": "Add Passkey", - "AddRemoteAppToThisPermission": "Add Remote App", - "AddRolePermissions": "Add Permissions in Details After Successful Creation/Update", - "AddSuccessMsg": "Successfully Added", - "AddSystemUser": "Add System User", - "AddSystemUserToThisPermission": "Add System User", + "AddRolePermissions": "Add permissions to the details after successful creation/update", + "AddSuccessMsg": "Add Successful", "AddUserGroupToThisPermission": "Add User Group", "AddUserToThisPermission": "Add User", "Address": "Address", "Addressee": "Recipient", "AdhocDetail": "Command Details", - "AdhocManage": "Action Management", + "AdhocManage": "Command", "AdhocUpdate": "Update Command", - "Admin": "Administrator", - "AdminUser": "Privileged User", - "AdminUserCreate": "Create Management User", - "AdminUserDetail": "User Details", - "AdminUserList": "User", - "AdminUserListHelpMessage": "Privileged Users exist already in the system, and they possess advanced system rights, such as root or those with `NOPASSWD: ALL` sudo permissions. JumpServer uses this user to `push system users`, `retrieve asset hardware information`, etc.", - "AdminUserUpdate": "Update User Management", - "Admin_usersAmount": "Privileged User", "Advanced": "Advanced Settings", - "AfterChange": "Change Afterwards", + "AfterChange": "After Changes", "AjaxError404": "404 Request Error", "AlibabaCloud": "Alibaba Cloud", - "Alive": "Online", - "Aliyun": "Aliyun", + "Aliyun": "Alibaba Cloud", "All": "All", - "AllAccountTip": "All Accounts Added to the Asset", + "AllAccountTip": "All accounts already added on the asset", "AllAccounts": "All Accounts", - "AllClickRead": "All Read", + "AllClickRead": "All Marked as Read", "AllMembers": "All Members", "AllOrganization": "Organization List", - "AllowInvalidCert": "Ignore Certificate Check", + "AllowInvalidCert": "Ignore certificate check", "Announcement": "Announcement", "AnonymousAccount": "Anonymous Account", - "AnonymousAccountTip": "When connecting to assets, do not use username and password, only supports web type and custom type assets", + "AnonymousAccountTip": "Connect to Assets Without Using Username and Password, Only Support Web Type and Custom Type Assets", "ApiKey": "API Key", - "ApiKeyList": "Use an API key to sign the request header for authentication, each request has a unique header, this method is more secure than the Token method, please refer to the documentation for use; \nTo minimize the risk of leakage, secrets are only visible when generated, and each user can support the creation of up to 10", - "ApiKeyWarning": "To reduce the risk of AccessKey leakage, a Secret is provided only at creation and cannot be queried afterwards. Please save it carefully.", - "App": "Application", - "AppAmount": "Number of Applications", - "AppAuth": "App Authentication", + "ApiKeyList": "Authenticate via Api key in the header of each request, which differs from one request to another, offering greater security than Token method. Please consult the documentation for usage.
To minimize the risk of leaks, the Secret can only be viewed upon creation, and each user can create up to 10", + "ApiKeyWarning": "To reduce the risk of AccessKey leakage, the Secret is only provided at creation and cannot be queried later, please keep it safe.", "AppEndpoint": "Application Access Address", - "AppList": "App List", - "AppName": "Application Name", "AppOps": "Task Center", - "AppPath": "Application Path", - "AppProvider": "Application Provider", + "AppProvider": "Application Providers", "AppProviderDetail": "Application Provider Details", - "AppType": "Application Type", - "App_permsAmount": "Application Authorization", - "AppletCreate": "Create Remote Application", "AppletDetail": "Remote Application", - "AppletHelpText": "In the upload process, if the application does not exist, the application is created; if it exists, the application is updated.", - "AppletHostCreate": "Add Remote Application Server", - "AppletHostDetail": "Details of Remote Application Release Machine", - "AppletHostDomainHelpText": "The net domain here belongs to the System organization", - "AppletHostSelectHelpMessage": "When connecting assets, the app publishing machine selection is random (but prioritizes the last one used). If you want to fix a publishing machine for an asset, you can specify the tag or ;
When selecting an account to connect to this publisher, the following situations will select the user's identically-named account or proprietary account (starts with js), otherwise the public account (starts with jms) will be used:
  1. Both the publisher and the app support concurrency;
  2. The publisher supports concurrency, the app does not support concurrency, and the current app does not use a proprietary account;
  3. The publisher does not support concurrency, the app supports or does not support concurrency, and no app uses a proprietary account;
Note: Whether the app supports concurrency is decided by the developer, and whether the host supports it is determined by the publisher configuration's single user single session", - "AppletHostUpdate": "Update Remote Application Release Machine", - "AppletHosts": "App Publishing Machine", - "Applets": "Remote App", + "AppletHelpText": "In the upload process, if the application does not exist, create the application; If it exists, update the application.", + "AppletHostCreate": "Add Remote Application Release Machine", + "AppletHostDetail": "Remote Application Publishing Machine Details", + "AppletHostDomainHelpText": "This domain belongs to the System Organization", + "AppletHostSelectHelpMessage": "When connecting to an asset, the selection of the application publishing machine is random (but the last used one is preferred). If you want to assign a specific publishing machine to an asset, you can tag it as or ;
When selecting an account for the publishing machine, the following situations will choose the user's own account with the same name or proprietary account (starting with js), otherwise use a public account (starting with jms):
  1. Both the publishing machine and application support concurrent;
  2. The publishing machine supports concurrent, but the application does not, and the current application does not use a proprietary account;
  3. The publishing machine does not support concurrent, the application either supports or does not support concurrent, and no application uses a proprietary account;
Note: Whether the application supports concurrent connections is decided by the developer, and whether the host supports concurrent connections is decided by the single user single session setting in the publishing machine configuration", + "AppletHostUpdate": "Update Remote App Publishing Machine", + "AppletHosts": "Application Release Machine", + "Applets": "Remote Application", "Applicant": "Applicant", - "Application": "Please input comma-separated application names", - "ApplicationAccount": "App Account", - "ApplicationDetail": "Application Details", - "ApplicationPermission": "App Authorization", - "ApplicationPermissionCreate": "Create App Authorization Rule", - "ApplicationPermissionDetail": "Application Authorization Details", - "ApplicationPermissionRules": "Application Authorization Rules", - "ApplicationPermissionUpdate": "Update App Authorization Rules", - "Applications": "App Action", - "ApplicationsAmount": "Application", - "ApplyAsset": "Apply for assets", + "Applications": "Assets", + "ApplyAsset": "Apply for Assets", "ApplyFromCMDFilterRule": "Command Filter Rules", "ApplyFromSession": "Session", "ApplyInfo": "Application Information", - "ApplyRunAsset": "Assets applying for operation", - "ApplyRunCommand": "Commands to Run", - "ApplyRunSystemUser": "Applied for System User", - "ApplyRunUser": "The user who applies to run", - "Apply_loginAccount": "Applied Login Account", - "Apply_loginAsset": "Apply for Asset Login", - "Apply_loginUser": "Application Login User", - "Apply_login_systemUser": "Apply to Login System User", + "ApplyRunAsset": "Assets for which operations are requested", + "ApplyRunCommand": "Command for application", + "ApplyRunUser": "Users Applying for Run", "Appoint": "Specify", "ApprovaLevel": "Approval Information", "ApprovalLevel": "Approval Level", "ApprovalProcess": "Approval Process", "Approved": "Agreed", - "ApproverNumbers": "Number of Approver", - "AppsCount": "Application Quantity", - "AppsList": "Application list", + "ApproverNumbers": "Number of Approvers", "ApsaraStack": "Alibaba Cloud Private Cloud", - "Asset": "Assets", - "AssetAccount": "Account List", + "Asset": "Create an Organization", + "AssetAccount": "Account", "AssetAccountDetail": "Account Details", - "AssetAclCreate": "Create Asset Login Rule", + "AssetAclCreate": "Create Asset Login Rules", "AssetAclDetail": "Asset Login Rule Details", "AssetAclList": "Asset Login", "AssetAclUpdate": "Update Asset Login Rules", "AssetAddress": "Asset (IP/Hostname)", "AssetAmount": "Number of Assets", "AssetAndNode": "Assets/Nodes", - "AssetBulkUpdateTips": "Network devices, cloud services, web, bulk domain updates not supported", + "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", "AssetChangeSecretCreate": "Create Account Password Change", - "AssetChangeSecretUpdate": "Update Account Password", + "AssetChangeSecretUpdate": "Update Account Password Change", "AssetCount": "Asset Quantity", - "AssetCreate": "Create Asset", "AssetData": "Asset Data", "AssetDetail": "Asset Details", - "AssetHistoryAccount": "Asset History Account", - "AssetList": "Asset List", - "AssetListHelpMessage": "The assets tree is on the left, right-click to create, delete, change the tree node, assets authorization is also organized in a node way, the assets on the right are the ones under the node\n", - "AssetLoginACLHelpMsg": "When logging in to assets, auditing can be performed based on the user's login IP and time period to determine whether they can log in to the assets", + "AssetList": "Assets", + "AssetListHelpMessage": "On the left is the asset tree. Right-click to create, delete or modify tree nodes. Assets are also organized in node form. On the right are the assets under this node. \n", + "AssetLoginACLHelpMsg": "When logging into assets, it can be audited based on the user's login IP and time segment to determine whether the assets can be logged into", "AssetName": "Asset Name", - "AssetNumber": "Asset Number", - "AssetPermission": "Asset Authorization", - "AssetPermissionCreate": "Create Asset Authorization Rules", + "AssetPermission": "Authorization", + "AssetPermissionCreate": "Create Asset Authorization Rule", "AssetPermissionDetail": "Asset Authorization Details", - "AssetPermissionHelpMsg": "Asset authorization allows you to choose users and assets to authorize assets to users for convenient access. Once authorized, users can easily browse these assets. In addition, you can set specific privilege bits to further define the scope of a user’s authority over assets.", - "AssetPermissionList": "Asset Authorization List", + "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", "AssetPermissionRules": "Asset Authorization Rules", "AssetPermissionUpdate": "Update Asset Authorization Rules", - "AssetProtocolHelpText": "The protocols supported by the asset are limited by the platform. You can view the settings of the protocol by clicking the settings button. If an update is needed, please update the platform", - "AssetRatio": "Asset Proportion Statistics", - "AssetResultDetail": "Asset results", + "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", "AssetTree": "Asset Tree", - "AssetUpdate": "Update Assets", - "AssetUserList": "Asset User", - "Asset_ipGroup": "Asset IP", - "Asset_permsAmount": "Asset authorization", - "Assets": "Asset Management", - "AssetsAmount": "Assets", - "AssetsTotal": "Total Number of Assets", + "Assets": "Assets", + "AssetsAmount": "Asset", + "AssetsTotal": "Asset Total", "AssignedInfo": "Approval Information", "AssignedMe": "Pending My Approval", - "AssignedTicketList": "Waiting for My Approval", - "Assignee": "Action Taker", - "Assignees": "Person to be Addressed", - "AssociateApplication": "Associated Applications", - "AssociateAssets": "Associated Assets", - "AssociateNodes": "Associated Nodes", - "AssociateSystemUsers": "Link System User", - "AttrName": "Attribute name", - "AttrValue": "Attribute Value", - "Auditor": "Auditor", + "AssignedTicketList": "Pending My Approval", + "Assignee": "Handler", + "Assignees": "Pending Handler", + "AttrName": "Attribute Name", + "AttrValue": "Attribute value", "Audits": "Audit Console", "Auth": "Authentication Settings", - "AuthCASAttrMap": "User Attribute Mapping", - "AuthLdap": "Enable LDAP Authentication", - "AuthLdapBindDn": "Bind DN", - "AuthLdapBindPassword": "Password", - "AuthLdapSearchFilter": "The possible options are (cn or uid or sAMAccountName=%(user)s)", - "AuthLdapSearchOu": "Use | to separate each OU", - "AuthLdapServerUri": "LDAP Address", - "AuthLdapUserAttrMap": "User attribute mapping represents how to map LDAP user attributes to JumpServer users. Username, name, email are the properties of JumpServer", "AuthLimit": "Login Restrictions", - "AuthMethod": "Authentication Method", - "AuthSAML2AdvancedSettings": "Advanced Configuration", - "AuthSAML2MetadataUrl": "IDP Metadata URL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "Save after upload of certificate key, then check SP Metadata", - "AuthSAMLKeyHelpText": "SP Certificates and Keys are used for encrypted communication with IDP", - "AuthSaml2UserAttrMapHelpText": "Left keys are SAML2 user attributes, the values on the right are authentication platform user attributes", - "AuthSecurity": "Certification Security", + "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", + "AuthSAMLKeyHelpText": "SP Certificates and keys are used for encrypted communication with IDP", + "AuthSaml2UserAttrMapHelpText": "The keys on the left are SAML2 user attributes, the values on the right are authentication platform user attributes", + "AuthSecurity": "Authentication Security", "AuthSetting": "Authentication Settings", "AuthSettings": "Authentication Configuration", - "AuthUserAttrMap": "User Attribute Mapping", - "AuthUserAttrMapHelpText": "The Key on the Left is the JumpServer User Attribute, and the Value on the Right is the Authentication Platform User Attribute", - "AuthUsername": "Use Username Authentication", + "AuthUserAttrMapHelpText": "The Key on the Left Belongs to the JumpServer User Properties, and the Value on the Right Belongs to the Authentication Platform User Properties", "Authentication": "Authentication", - "Author": "Author", - "Auto": "Automatic", - "AutoCreate": "Auto Create", - "AutoEnabled": "Enable Automation", - "AutoGenerateKey": "Randomly Generated Password", "AutoPush": "Auto Push", "Automations": "Automation", - "AverageTimeCost": "Average Time Spent", + "AverageTimeCost": "Average spend time", "Azure": "Azure (China)", - "AzureInt": "Azure(International)", "Backup": "Backup", "BadConflictErrorMsg": "Refreshing, please try again later", - "BadRequestErrorMsg": "Request Error, Please Check Input Content", - "BadRoleErrorMsg": "Request error, no permission for this Action", + "BadRequestErrorMsg": "Request Error, please check the filled content", + "BadRoleErrorMsg": "Request Error, No Permission for this Action", "BaiduCloud": "Baidu Cloud", - "BasePlatform": "Basic Platform", - "BasePort": "Listening Port", + "BasePort": "Listening Ports", "Basic": "Basic Settings", "BasicInfo": "Basic Information", "BasicSetting": "Basic Settings", - "BasicTools": "Basic Tools", - "BatchActivate": "Bulk Activation", - "BatchApproval": "Bulk Approval", - "BatchCommand": "Batch Command", - "BatchCommandNotExecuted": "Batch commands not executed", - "BatchConsent": "Bulk Agree", - "BatchDelete": "Batch Delete", - "BatchDisable": "Batch Disable", - "BatchProcessing": "Bulk Handling (Selected {Number} Items)", - "BatchReject": "Reject in Bulk", - "BatchRemoval": "Batch Removal", - "BatchScript": "Bulk Scripts", - "BatchUpdate": "Bulk Update", - "Become": "Become", - "BeforeChange": "Before Changes", + "BatchConsent": "Batch Approval", + "BatchProcessing": "Bulk Processing (Selected {Number} Items)", + "BatchReject": "Bulk Deny", + "BeforeChange": "Before Change", "Beian": "Record", - "BelongAll": "Contains both", - "BelongTo": "Please Include", - "Bind": "Bind", + "BelongAll": "Including at the same time", + "BelongTo": "Any includes", + "Bind": "Binding", "BindLabel": "Associated Tags", - "BindResource": "Related Resources", - "BindSuccess": "Successfully Bound", + "BindResource": "Associated resources", + "BindSuccess": "Binding Successful", "BlockedIPS": "Locked IPs", - "Bucket": "Bucket Name", - "Builtin": "Built-In", - "BuiltinTree": "Type Tree", - "BuiltinVariable": "Built-in Variables", + "BuiltinVariable": "Built-in variables", "BulkClearErrorMsg": "Bulk Clearing Failed:", - "BulkCreateStrategy": "During creation, for accounts that do not meet requirements, such as: non-compliant key types, unique key constraints, you may choose the above strategies.", - "BulkDeleteErrorMsg": "Bulk Deletion Failed:", - "BulkDeleteSuccessMsg": "Bulk deletion successful", - "BulkDeploy": "Bulk Deployment", + "BulkCreateStrategy": "For accounts that do not meet the requirements during creation, such as: non-compliant key types, unique key constraints, you can choose the above policy.", + "BulkDeleteErrorMsg": "Batch Deletion Failure:", + "BulkDeleteSuccessMsg": "Bulk Deletion Successful", + "BulkDeploy": "Batch Deployment", "BulkOffline": "Batch Offline", - "BulkRemoveErrorMsg": "Failed to remove in bulk:", - "BulkRemoveSuccessMsg": "Bulk Removal Successful", - "BulkSyncDelete": "Batch Sync Delete", - "BulkSyncErrorMsg": "Batch Sync Failed: ", - "BulkTransfer": "Bulk Transfers", + "BulkSyncDelete": "Bulk Sync Delete", + "BulkSyncErrorMsg": "Bulk Synchronization Failed:", + "BulkTransfer": "Batch Transfer", "BulkUnblock": "Batch Unlock", - "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset matches the selected platform type will update, if the platform types before and after update are different, it will not be updated.", + "BulkUpdatePlatformHelpText": "Updates will only be performed when the original platform type of the asset is the same as the selected platform type. If the platform type is different before and after the update, it will not be updated.", "CACertificate": "CA Certificate", "CAS": "CAS", - "CASSetting": "CAS Configuration", "CMPP2": "CMPP v2.0", "CTYunPrivate": "Tianyi Private Cloud", - "CalculationResults": "cron Expression Error", - "CanDragSelect": "Draggable time range selection", + "CalculationResults": "Error in cron expression", + "CanDragSelect": "Select Time Period by Dragging Mouse", "Cancel": "Cancel", - "CancelCollection": "Cancel Favorites", - "CannotAccess": "Unable to Access Current Page", - "Cas": "CAS Settings", + "CancelCollection": "Cancel Favorite", + "CannotAccess": "Can't Access the Current Page", "Category": "Category", "CeleryTaskLog": "Celery Task Log", "Certificate": "Certificate", "CertificateKey": "Client Key", - "ChangeField": "Change Field", - "ChangePassword": "Change Password", - "ChangeReceiver": "Edit Message Recipient", - "ChangeSecretParams": "Password Change Parameters", - "ChangeViewHelpText": "Click to Switch Views", - "Charset": "Charset", + "ChangeField": "Change Fields", + "ChangePassword": "Update Password", + "ChangeReceiver": "Modify Message Recipient", + "ChangeSecretParams": "Change Password Parameters", + "ChangeViewHelpText": "Click to Switch Different Views", "Chat": "Chat", "ChatAI": "Smart Q&A", - "ChatHello": "Hello! What can I assist you with?", - "ChdirHelpText": "The default execution directory is the execution user's home directory", - "CheckAssetsAmount": "Check asset quantity", - "CheckViewAcceptor": "Click to View the Handler", - "ChinaRed": "China Red", - "Chrome": "Chrome", - "ChromePassword": "Login Password", - "ChromeTarget": "Target URL", - "ChromeUsername": "Login Account", - "ClassicGreen": "Classic Green", - "CleanHelpText": "Regular cleanup tasks will be performed at 2 a.m. every day, and the cleaned data cannot be restored", - "Cleaning": "Regular Clean up", + "ChatHello": "Hello! How can I assist you?", + "ChdirHelpText": "By Default, the execution directory is the user's home directory", + "CheckAssetsAmount": "Check Asset Quantity", + "CheckViewAcceptor": "Click to View the Acceptance Person", + "CleanHelpText": "A scheduled cleanup task will be carried out every day at 2 a.m. The data cleaned up will not be recoverable", + "Cleaning": "Regular Clean-up", "Clear": "Clear", "ClearScreen": "Clear Screen", "ClearSecret": "Clear Ciphertext", "ClearSelection": "Clear Selection", - "ClearSuccessMsg": "Clear Successfully", + "ClearSuccessMsg": "Clear Successful", "ClickCopy": "Click to Copy", - "Clickhouse": "ClickHouse", - "ClientCertificate": "Client Certificate", - "ClipBoard": "Clipboard", - "ClipboardCopy": " Clipboard Copy", + "ClientCertificate": "Client certificate", "ClipboardCopyPaste": "Clipboard Copy and Paste", - "ClipboardPaste": "Clipboard Pasting", "Clone": "Clone", - "CloneFrom": "Replica", + "CloneFrom": "Duplicate", "Close": "Close", - "CloseConfirm": "Confirm Closure", + "CloseConfirm": "Confirm Close", "CloseConfirmMessage": "File has changed, save?", "CloseStatus": "Completed", "Closed": "Completed", - "Cloud": "Cloud Application", - "CloudCenter": "Cloud Action Center", - "CloudCreate": "Create Assets-Cloud Platform", - "CloudPlatform": "Cloud platform", - "CloudSource": "Synchronization source", + "CloudCreate": "Create Asset - Cloud Platform", + "CloudSource": "Sync Source", "CloudSync": "Cloud Sync", - "CloudUpdate": "Update Assets - Cloud Platform", - "Clouds": "Cloud Platform", + "CloudUpdate": "Update Assets -Cloud Platform", "Cluster": "Cluster", - "ClusterHelpTextMessage": "For example: https://172.16.8.8:8443", - "CmdFilter": "Command Filter", - "CollapseSidebar": "Collapse Sidebar", - "CollectHardwareInfo": "Enable Hardware Information Collection", - "CollectionSucceed": "Collection Successful", + "CollectionSucceed": "Successfully Favorited", "Command": "Command", - "Command filter": "Command Filter", "CommandConfirm": "Command Review", - "CommandExecutions": "Command Execution", - "CommandFilterACL": "Command Filtering", - "CommandFilterACLHelpMsg": "Through command filtering, you can control whether commands can be sent to the asset. Based on your set rules, some commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Create Command Filtering Rule", - "CommandFilterAclDetail": "Command Filter Rule Details", - "CommandFilterAclList": "Command Filtering", + "CommandFilterACL": "Command Filter", + "CommandFilterACLHelpMsg": "By filtering commands, you can control if commands can be sent to assets. Based on your set rules, some commands can be allowed while others are prohibited.", + "CommandFilterAclCreate": "Create Command Filter Rules", + "CommandFilterAclDetail": "Details of Command Filtering Rules", + "CommandFilterAclList": "Command filtering", "CommandFilterAclUpdate": "Update Command Filter Rules", - "CommandFilterCreate": "Create Command Filter", - "CommandFilterDetail": "Command Filter Details", - "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; Multiple rules can be configured in the filter, and the commands entered when using this system user to connect to the assets take effect in accordance with the rules configured in the filter.
Ex: If the first matched rule is \"Allow\", then this command is executed, if the first matched rule is \"Disallow\", then the command is not executed; if no rules are matched in the end, then it is allowed to proceed.", - "CommandFilterList": "Command Filter Rules", "CommandFilterRuleContentHelpText": "One command per line", - "CommandFilterRulePriorityHelpText": "Priority range is 1-100, 1 is the lowest priority, 100 is the highest", "CommandFilterRules": "Command Filter Rules", - "CommandFilterRulesCreate": "Create Command Filter Rule", - "CommandFilterRulesUpdate": "Update Command Filter Rules", - "CommandFilterUpdate": "Update Command Filter", "CommandGroup": "Command Group", - "CommandGroupCreate": "Create Command Group", - "CommandGroupDetail": "Command Group Details", + "CommandGroupCreate": "Create Command Set", + "CommandGroupDetail": "Command Set Details", "CommandGroupList": "Command Group", "CommandGroupUpdate": "Update Command Group", "CommandStorage": "Command Storage", - "CommandStorageUpdate": "Update Command Storage", - "Command_filterList": "Command Filter List", - "Commands": "Command log", - "Comment": "Comment", - "CommentHelpText": "Note: The remarks information will be displayed on hover in the user authorized asset tree on the Luna page, and ordinary users can view it, please do not fill in sensitive information.", - "Common": "Regular", - "CommonUser": "Ordinary User", - "CommunityEdition": "Community Edition", + "CommandStorageUpdate": "Update Cmd Storage", + "Commands": "Command Record", + "Comment": "Note", + "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", + "CommunityEdition": "Community Version", "Component": "Component", "ComponentMonitor": "Component Monitoring", - "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any interpretation. Apart from the output of the code, do not respond with anything else.", - "ConceptTitle": "🤔 Python Interpreter", - "Config": "Configuration", + "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Respond with nothing except the output of the code.", + "ConceptTitle": "🤔 Python Interpreter ", + "Config": "Settings", "Confirm": "Confirm", "ConfirmPassword": "Confirm Password", - "Connect": "Connect", "ConnectMethod": "Connection Method", - "ConnectMethodACLHelpMsg": "By filtering through connection methods, you can control whether users can use specific connection methods to log into assets. Based on your established rules, some connection methods could be allowed, while others are prohibited (global effect).'", - "ConnectMethodAclCreate": "Create Connection Mode Control", - "ConnectMethodAclDetail": "Connection Mode Control Details", - "ConnectMethodAclList": "Connect Method", - "ConnectMethodAclUpdate": "Update Connection Control", - "ConnectUsers": "Connect Account", - "ConnectWebSocketError": "WebSocket Connection Failed", + "ConnectMethodACLHelpMsg": "Connection methods can be filtered to control whether users can use a certain connection method to log in to the asset. According to your set rules, some connection methods can be allowed, while others can be prohibited (globally effective).", + "ConnectMethodAclCreate": "Create Connection Method Control", + "ConnectMethodAclDetail": "Connection Method Control Details", + "ConnectMethodAclList": "Connection Method", + "ConnectMethodAclUpdate": "Update Connection Method Control", + "ConnectWebSocketError": "Connection to WebSocket Failed", "ConnectionDropped": "Connection Disconnected", - "ConnectionToken": "Connection Token", - "ConnectionTokenList": "A Connection Token is an authentication information that combines identity verification and asset connection, it enables user to log in to assets with one click. The current supported components include: KoKo, Lion, Magnus, Razor, etc", - "Connectivity": "Can Connect", + "ConnectionToken": "Connection token", + "ConnectionTokenList": "The connection token is a type of authentication information that combines identity verification with connecting assets. It supports one-click user login to assets. Currently supported components include: KoKo, Lion, Magnus, Razor, etc.", "Console": "Console", - "Consult": "Inquire", + "Consult": "Consult", "ContainAttachment": "With Attachment", - "ContainerName": "Container Name", "Containers": "Container", - "Contains": "Includes", - "Content": "Content", - "Contents": "Content", + "Contains": "Contains", "Continue": "Continue", - "ContinueImport": "Continue Import", - "ConvenientOperate": "Easy Operation", + "ConvenientOperate": "Convenient Action", "Copy": "Copy", "CopySuccess": "Copy Successful", "Corporation": "Company", - "Correlation": "Associate", - "Cpu": "CPU", "Create": "Create", "CreateAccessKey": "Create Access Key", "CreateAccountTemplate": "Create Account Template", - "CreateAdhoc": "Create Command", - "CreateBy": "Creator", - "CreateCommandStorage": "Create Command Storage", + "CreateCommandStorage": "Create command storage", "CreateEndpoint": "Create Endpoint", - "CreateEndpointRule": "Create Endpoint Rules", + "CreateEndpointRule": "Create EndPoint Rule", "CreateErrorMsg": "Creation Failed", "CreateNode": "Create Node", - "CreateOrgMsg": "Please add users in the organization details", "CreatePlaybook": "Create Playbook", "CreateReplayStorage": "Create Object Storage", "CreateSuccessMsg": "Import Successful, Total: {count}", "CreateUserSetting": "Create User Content", "Created": "Created", "CreatedBy": "Creator", - "CriticalLoad": "Severe", - "CronExpression": "Crontab Full Expression", - "CrontabHelpTips": "eg:Execute every Sunday at 03:05 <5 3 * * 0>
Reminder: Use the 5-digit Linux crontab expression (Online tool)
Note: If both regular execution and cyclic execution are set, priority will be given to regular execution", - "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expression (Online Tool)
If both regular and cyclic execution are set, regular execution is prioritized", - "CurrentConnections": "Current Connection Count", - "CurrentUserVerify": "Validate Current User", - "Custom": "Customize", - "CustomCmdline": "Operating Parameters", - "CustomCol": "Customize List Field", - "CustomCreate": "Create Asset - Custom", + "CriticalLoad": "Serious", + "CronExpression": "Complete crontab expression", + "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expressions (Online Tool)
If both regular execution and cycle execution are set, regular execution is prioritized", + "CurrentConnections": "Current Number of Connections", + "CurrentUserVerify": "Verify Current User", + "Custom": "Custom", + "CustomCol": "Customize List Fields", + "CustomCreate": "Create Asset-Custom", "CustomFields": "Custom Attributes", - "CustomFile": "Please place your custom files in the specified directory (data/sms/main.py), and activate the configuration item SMS_CUSTOM_FILE_MD5= in config.txt", - "CustomHelpMessage": "Custom type assets, dependent on remote apps, please go to system settings to configure in remote apps", - "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the parameters to be formatted by JumpServer, finally as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", - "CustomPassword": "Login Password", - "CustomTarget": "Target Address", - "CustomTree": "Custom Tree", - "CustomType": "Custom Types", - "CustomUpdate": "Update Assets - Customization", - "CustomUser": "Custom User", - "CustomUsername": "Login Account", - "CycleFromWeek": "Starting Day of the Cycle", - "CyclePerform": "Periodic Execution", - "DBInfo": "Database Info", + "CustomFile": "Please Place Custom Files in the Specified Directory (data/sms/main.py), and Enable Configuration Item SMS_CUSTOM_FILE_MD5= in config.txt", + "CustomHelpMessage": "Custom Assets Type is dependent on remote applications. Please configure it in system settings in the remote applications", + "CustomParams": "The left side are parameters received by the SMS platform, and the right side are JumpServer parameters waiting for formatting, which will eventually be as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"verification code: 666666\"}", + "CustomUpdate": "Update Asset - Custom", + "CustomUser": "Customized User", + "CycleFromWeek": "Week Cycle From", + "CyclePerform": "Execute periodically", "DangerCommand": "Dangerous Command", "DangerousCommandNum": "Dangerous Command Count", "Dashboard": "Dashboard", "Database": "Database", - "DatabaseApp": "Database Application", - "DatabaseAppCount": "Database Application Number", - "DatabaseAppCreate": "Create Database Application", - "DatabaseAppDetail": "Database Details", - "DatabaseAppPermission": "Database Authorization", - "DatabaseAppPermissionCreate": "Create Database Authorization Rule", - "DatabaseAppPermissionDetail": "Database Authorization Details", - "DatabaseAppPermissionUpdate": "Update Database Authorization Rules", - "DatabaseAppUpdate": "Database App Update", - "DatabaseCreate": "Create Asset-Database", - "DatabaseId": "Database ID", - "DatabasePermissionRules": "Database Authorization Rules", + "DatabaseCreate": "Create Asset - Database", "DatabasePort": "Database Protocol Port", - "DatabaseProtocol": "Database Protocol", - "DatabaseUpdate": "Update Assets-Database", + "DatabaseUpdate": "Update Asset-Database", "Date": "Date", "DateCreated": "Creation Time", - "DateEnd": "End date", + "DateEnd": "End Date", "DateExpired": "Expiration Date", "DateFinished": "Completion Date", "DateJoined": "Creation Date", - "DateLast24Hours": "Past Day", - "DateLast3Months": "Past Three Months", - "DateLastHarfYear": "Last Six Months", + "DateLast24Hours": "Last 24 Hours", + "DateLast3Months": "Last Three Months", + "DateLastHarfYear": "The last six months", "DateLastLogin": "Last Login Date", - "DateLastMonth": "Last Month", - "DateLastRun": "Last Run Date", - "DateLastSync": "Last Sync Date", - "DateLastWeek": "Last Week", - "DateLastYear": "Past Year", + "DateLastMonth": "Past One Month", + "DateLastSync": "Last synchronization date", + "DateLastWeek": "Past Week", + "DateLastYear": "Last Year", "DatePasswordLastUpdated": "Last Password Update Date", - "DatePasswordUpdated": "Password Update Date", "DateStart": "Start Date", "DateSync": "Sync Date", "DateUpdated": "Update Date", - "Datetime": "Date", "Day": "Day", - "Db": "Database Applications", - "DeactiveSelected": "Disable Selected", - "DeclassificationLogNum": "Password Change Log number", - "Default": "Default", + "DeclassificationLogNum": "Change Password Log Count", "DefaultDatabase": "Default Database", "DefaultPort": "Default Port", - "DefaultProtocol": "Default protocol, will be chosen when adding assets", - "Defaults": "Default Value", "Delete": "Delete", - "DeleteConfirmMessage": "Cannot be recovered after deletion, do you want to continue?", + "DeleteConfirmMessage": "\"Deletion is irreversible, do you wish to continue?", "DeleteErrorMsg": "Delete Failed", - "DeleteFailedMsg": "Failed to Delete", - "DeleteFile": "Delete File", "DeleteNode": "Delete Node", - "DeleteOrgMsg": "User List, User Groups, Asset Lists, Domain Lists, User Management, System Users, Tag Management, Asset Authorization Rules", - "DeleteOrgTitle": "Please ensure the following information in the organization has been deleted", + "DeleteOrgMsg": "User List, User Group, Asset List, Network Domain List, Manage Users, System Users, Tag Management, Asset Authorization Rules", + "DeleteOrgTitle": "Please Ensure the Following Information within the Organization has been Deleted", "DeleteReleasedAssets": "Delete Released Assets", "DeleteSuccess": "Delete Successfully", - "DeleteSuccessMsg": "Delete Successfully", - "DeleteWarningMsg": "Are you sure you want to delete", - "DeliveryTime": "Sending Time", + "DeleteSuccessMsg": "Delete Successful", + "DeleteWarningMsg": "Are You Sure You Want to Delete", "Deploy": "Deployment", - "DescribeOfGuide": "Welcome to use JumpServer Bastion System, for more information please click", "Description": "Description", "DestinationIP": "Destination Address", "DestinationPort": "Destination Port", "Detail": "Details", - "Device": "Network Devices", - "DeviceCreate": "Create Asset - Network Device", - "DeviceUpdate": "Update Assets-Network Equipment", + "DeviceCreate": "Create Asset-Network Device", + "DeviceUpdate": "Update Assets - Network Equipment", "Digit": "Number", "DingTalk": "DingTalk", "DingTalkTest": "Test", "Disable": "Disable", - "DisableSuccessMsg": "Deactivation Successful", - "DisabledAsset": "Disabled", - "DisabledUser": "Disabled", - "Disk": "Hard Disk", "DisplayName": "Name", - "DocType": "Document Type", - "Docs": "Documents", - "Domain": "Network Domain", + "Docs": "Document", + "Domain": "Domain", "DomainCreate": "Create Domain", - "DomainDetail": "Network Field Details", + "DomainDetail": "Domain Details", "DomainEnabled": "Enable Domain", - "DomainHelpMessage": "The domain function is added to solve the problem that some environments (such as: hybrid cloud) cannot directly connect, and the principle is to log in through the gateway server. JMS => Domain Gateway => target asset", - "DomainList": "Domain list", + "DomainHelpMessage": "Domain Function Is Designed To Solve The Problem That Some Environments (Such As: Hybrid Cloud) Cannot Be Directly Connected, And A New Function Is Added. The Principle Is To Log In Through The Gateway Server. JMS => Domain Gateway => Target Assets", + "DomainList": "Domain", "DomainUpdate": "Update Domain", "Download": "Download", "DownloadCenter": "Download Center", - "DownloadFTPFileTip": "Current Action does not record files, or file size exceeds the threshold (default 100M), or has not yet been saved to the corresponding storage", - "DownloadFile": "Download File", + "DownloadFTPFileTip": "The current action does not record files, or the file size exceeds the threshold (default 100M), or it has not yet been saved to the corresponding storage", "DownloadImportTemplateMsg": "Download Creation Template", "DownloadReplay": "Download Recording", "DownloadUpdateTemplateMsg": "Download Update Template", - "DragUploadFileInfo": "Drag files here or click to upload", - "DryRun": "Test Run", - "DuplicateFileExists": "Uploading files with the same name is not permitted, please delete the files with the same name", - "Duration": "Duration", + "DragUploadFileInfo": "Drag files here, or click here to upload", + "DuplicateFileExists": "Uploading a file with the same name is not allowed, please delete the file with the same name", "DynamicUsername": "Dynamic Username", "Edit": "Edit", "Edition": "Version", "Email": "Email", - "EmailContent": "Email Content Customization", - "EmailCustomUserCreatedBody": "Hint: Content of password setting email when creating a user", - "EmailCustomUserCreatedHonorific": "Note: When creating a user, send a set password email salutation (For example: Hello)", - "EmailCustomUserCreatedSignature": "Note: Email signature (for example: jumpserver)", - "EmailCustomUserCreatedSubject": "Note: When Creating a User, The Subject of the Password Setup Email (e.g.: User Creation Successful)", - "EmailEmailFrom": "", - "EmailHost": "SMTP Host", - "EmailHostPassword": "Note: Some email providers may require a token.", - "EmailHostUser": "SMTP Account", - "EmailPort": "SMTP Port", - "EmailRecipient": "Note: Only to be used as a test email recipient", - "EmailSubjectPrefix": "Tip: Some keywords may be blocked by the email service provider, such as JumpServer", + "EmailContent": "Custom Email Content", "EmailTest": "Test Connection", - "EmailUserSSL": "If the SMTP port is 465, SSL usually needs to be enabled", - "EmailUserTLS": "If the SMTP port is 587, enabling TLS is usually necessary", "Empty": "Empty", "Enable": "Enable", - "EnableKoKoSSHHelpText": "Upon launch, the connection to assets will display the SSH Client Start Method", - "EnableOAuth2Auth": "Enable OAuth2 Authentication", - "EnableVaultStorage": "Open Vault Storage", - "EndPoint": "Endpoint", + "EnableKoKoSSHHelpText": "When switched on, connecting to the asset will display SSH Client pull-up method", "Endpoint": "Server Endpoint", - "EndpointListHelpMessage": "The service endpoint is the address (port) that users access the service. When users connect to the asset, they will select the service endpoint according to the endpoint rules and asset labels, and establish a connection as an access entrance, Realize distributed connection assets", + "EndpointListHelpMessage": "The service endpoint is the address (port) for users to access the service. When users connect to assets, they choose service endpoints based on endpoint rules and asset labels, using them as access points to establish connections and achieve distributed connections to assets", "EndpointRule": "Endpoint Rules", - "EndpointRuleListHelpMessage": "For the endpoint selection strategy, there are currently two options supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through asset tags, the tag name is fixed as 'endpoint', and the value is the endpoint name.
Both methods prefer to use the tag match, because IP segments may conflict, and the tag method is designed to supplement the rules.", - "EndpointSuffix": "Endpoint Suffix", - "Endswith": "End with...", - "EnsureThisValueIsGreaterThanOrEqualTo1": "Please ensure that this value is greater than or equal to 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "Please ensure that this value is greater than or equal to 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "Please ensure that this value is greater than or equal to 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure That the Value Is Greater Than or Equal to 6", - "EnterForSearch": "Press Enter to search", - "EnterMessage": "Please enter the problem, press Enter to send", - "EnterRunUser": "Enter Operating User", - "EnterRunningPath": "Enter Runtime Path", - "EnterToContinue": "Press Enter to Continue Typing", + "EndpointRuleListHelpMessage": "For the server endpoint selection strategy, there are currently two options:
1、Specify the endpoint according to the endpoint rule (current page);
2、Choose the endpoint through asset labels, with the fixed label name being 'endpoint' and the value being the name of the endpoint.
The tag matching method is preferred for both methods, as the IP range may conflict, and the tag method exists as a supplement to the rules.", + "Endswith": "Ending with...", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Please Make Sure this Number is Greater Than or Equal to 1", + "EnterForSearch": "Press Enter to Search", + "EnterRunUser": "Enter running user", + "EnterRunningPath": "Enter Running Path", + "EnterToContinue": "Press Enter To Continue Inputting", "EnterUploadPath": "Enter Upload Path", - "Enterprise": "Enterprise Version", + "Enterprise": "Enterprise Edition", "EnterpriseEdition": "Enterprise Edition", - "Equal": "Equal To", + "Equal": "Equals", "Error": "Error", "ErrorMsg": "Error", - "EsDisabled": "Node Unavailable, Please Contact Administrator", - "EsDocType": "es Default Document Type: command", - "EsIndex": "The default index is provided: jumpserver. If enabling index creation by date, the entered value will be used as the index prefix", - "EsUrl": "Cannot contain special character `#`; eg: http://es_user:es_password@es_host:es_port", - "Every": "Each", - "EveryMonth": "Monthly", - "Exclude": "Excludes", + "EsDisabled": "Node is unavailable, please contact administrator", + "EsIndex": "ES provides the default index: JumpServer. If indexing by date is enabled, the entered value will serve as the index prefix", + "EsUrl": "Cannot include special character `#`; eg: http://es_user:es_password@es_host:es_port", + "Every": "Every", + "Exclude": "Does Not Include", "ExcludeAsset": "Skipped Assets", - "ExcludeSymbol": "Exclude Characters", + "ExcludeSymbol": "Exclude Character", "Execute": "Execute", - "ExecuteCycle": "Execution Cycle", - "ExecuteFailedCommand": "Failed Command", "ExecuteOnce": "Execute Once", "Execution": "Execution History", "ExecutionDetail": "Execution History Details", - "ExecutionList": "Action List", - "ExecutionTimes": "Number of Executions", - "ExistError": "This element already exists", + "ExecutionList": "Execution List", + "ExistError": "This Element Already Exists", "Existing": "Already Exists", - "ExpectedNextExecuteTime": "Estimated Next Execution Time", "ExpirationTimeout": "Expiration Timeout (Seconds)", "Expire": "Expired", - "Expired": "Expiration Time", + "Expired": "Expiration Date", "Export": "Export", "ExportAll": "Export All", "ExportOnlyFiltered": "Export Search Results Only", "ExportOnlySelectedItems": "Export Selected Items Only", "ExportRange": "Export Range", - "FAILURE": "Fail", "FC": "Fusion Compute", "Failed": "Failed", - "FailedAsset": "Failed assets", - "FailedConditions": "No Results Meeting the Criteria!", - "False": "No", - "Favicon": "Website Icon", - "FaviconTip": "Tip: Website Icon (Recommended picture size: 16px*16px)", - "Feature": "Function", - "Features": "Function Settings", + "FailedAsset": "Failed Assets", + "FaviconTip": "Note: Website Icon (Suggested Image Size: 16px*16px)", + "Features": "Function settings", "FeiShu": "Feishu", "FeiShuTest": "Test", - "FieldRequiredError": "This Field is Required", - "FileEncryptionPassword": "File Encryption Password", "FileManager": "File", - "FileNameTooLong": "Filename is too long", - "FileSizeExceedsLimit": "File size exceeds limit", + "FileNameTooLong": "Filename too long", + "FileSizeExceedsLimit": "File size exceeds limit\"", "FileTransfer": "File Transfer", "FileTransferNum": "File Transfer Count", "FileType": "File Type", "Filename": "Filename", "FingerPrint": "Fingerprint", - "Finished": "Done", + "Finished": "Complete", "FinishedTicket": "Complete Work Order", "FirstLogin": "First Login", - "FlowDetail": "Process Details", - "FlowSetUp": "Process settings", + "FlowSetUp": "Process Setting", "FormatError": "Format Error", "Friday": "Friday", "From": "From", - "FromTicket": "From Work Order", - "FtpLog": "FTP Log", - "FullName": "Full Name", - "FullySynchronous": "Assets Fully Synchronized", - "FullySynchronousHelpTips": "If the asset conditions do not meet the match policy rules, do we continue to sync such assets", - "FuzzySearch": "Supports fuzzy search", + "FromTicket": "From the work order", + "FullName": "Full name", + "FullySynchronous": "Assets completely synchronized", + "FullySynchronousHelpTips": "Whether to continue synchronizing such assets when the asset conditions do not meet the matching policy rules", "GCP": "Google Cloud", "GPTCreate": "Create Asset-GPT", "GPTUpdate": "Update Assets-GPT", - "Gateway": "Gateway", "GatewayCreate": "Create Gateway", - "GatewayList": "Gateway List", - "GatewayProtocolHelpText": "SSH Gateway, supports proxy SSH, RDP and VNC", + "GatewayList": "Gateway list", "GatewayUpdate": "Update Gateway", - "GeneralAccounts": "General account", + "GeneralAccounts": "General Account", "Generate": "Generate", "GenerateAccounts": "Regenerate Account", - "GenerateSuccessMsg": "Account Successfully Created", - "GetErrorMsg": "Failed to Fetch", - "Go": "Execute", - "GoHomePage": "Go to Home Page", - "Goto": "Go To", - "GrantedAccounts": "Authorized Account", - "GrantedApplications": " Authorized Apps", - "GrantedAssets": "Authorized assets", - "GrantedDatabases": "Authorized Database", - "GrantedK8Ss": "Authorized Kubernetes", - "GrantedRemoteApps": "Authorized Remote Applications", - "GreatEqualThan": "Greater Than or Equal To", + "GenerateSuccessMsg": "Account Creation Successful", + "GoHomePage": "Go to Homepage", + "Goto": "Go to", + "GrantedAssets": "Authorized Assets", + "GreatEqualThan": "Greater than or Equal to", "GroupsAmount": "User Group", - "GroupsHelpMessage": "Please enter user groups, multiple user groups should be separated by commas (please fill in existing user groups)", - "Guide": "Guide", "HandleTicket": "Handle Work Orders", "Hardware": "Hardware Information", "HardwareInfo": "Hardware Information", - "HasImportErrorItemMsg": "There are failed import items, click on the x on the left to see the reason for failure, after editing the table, you can continue to import failed items", - "HasRead": "Read or Not", + "HasImportErrorItemMsg": "There are import failures, click on the left x to view the failure reasons, after editing the table, you can continue to import failures.", "Help": "Help", - "HelpDocument": "Document link", - "HelpDocumentTip": "You can change the website navigation bar Help -> Documentation URL", - "HelpSupport": "Support Link", - "HelpSupportTip": "Website navigation bar can be changed at Help -> Support", - "HighLoad": "High", - "HistoricalSessionNum": "Historic Session Count", + "HelpDocumentTip": "You can change the URL of the website navigation bar Help -> Documentation", + "HelpSupportTip": "Can Change the URL of Help -> Support in Website Navigation Bar", + "HighLoad": "Higher", + "HistoricalSessionNum": "Historical Session Count", "History": "History Record", "HistoryDate": "Date", - "HistoryPassword": "Historical Passwords", - "Home": "Home Directory", - "HomeHelpMessage": "Default Home Directory /home/system username: /home/username", - "HomePage": "Home", - "Host": "Assets", + "HistoryPassword": "Historical Password", + "Host": "Asset", "HostCreate": "Create Asset - Host", - "HostDeployment": "Deploy Release Machine", + "HostDeployment": "Deploy Publishing Machine", "HostList": "Host List", - "HostName": "Hostname", - "HostProtocol": "Host Protocol", - "HostUpdate": "Update Asset-Host", - "Hostname": "Hostname", - "HostnameGroup": "Asset Name", - "HostnameStrategy": "Used to generate asset host names. For example: 1. Instance Name (instanceDemo); 2. Instance Name and Partial IP (last two digits) (instanceDemo-250.1)", - "Hosts": "Host", + "HostUpdate": "Update Assets - Host", + "HostnameStrategy": "Used to Generate Hostnames for Assets. For Example: 1. Instance Name (instanceDemo); 2. Instance Name and Part of IP (last two letters) (instanceDemo-250.1)", "Hour": "Hour", - "HttpPort": "HTTP Port", "HuaweiCloud": "Huawei Cloud", "HuaweiPrivatecloud": "Huawei Private Cloud", "IAgree": "I agree", "ID": "ID", "IP": "IP", - "IP/Host": "IP/Host", - "IPLoginLimit": "IP Login Restriction", - "IPMatch": "IP Match", + "IPLoginLimit": "IP Login Restrictions", + "IPMatch": "IP Matching", "IPNetworkSegment": "IP Segment", - "Icon": "Icon", "Id": "ID", - "IdeaContent": "I'd like you to act as a Linux terminal. I will input commands, and you will provide the output the terminal should display. Please only reply with the terminal output within a unique block of code, nothing else. Don't write explanations. If there's something I need to tell you, I will put the text inside curly brackets {note text}.", + "IdeaContent": "I want you to act as a Linux terminal. I will input the commands, you will respond with what the terminal should display. I hope you to reply only in a unique code block, not others. No interpretations. When I need to tell you something, I'm gonna put the words in braces {note text}", "IdeaTitle": "🌱 Linux Terminal", - "IdpMetadataHelpText": "Either the IDP metadata URL or the IDP metadata XML is required; the IDP metadata URL has priority", - "IdpMetadataUrlHelpText": "Load IDP Metadata from remote address", - "IgnoreCase": "Ignore Case", + "IdpMetadataHelpText": "Either IDP metadata URL or IDP metadata XML is acceptable, with IDP metadata URL having higher priority", + "IdpMetadataUrlHelpText": "Load IDP Metadata from Remote Address", "ImageName": "Image Name", - "Images": "Pictures", + "Images": "Image", "Import": "Import", "ImportAll": "Import All", "ImportFail": "Import Failed", - "ImportLdapUserTip": "Please Submit LDAP Configuration Before Importing", - "ImportLdapUserTitle": "LDAP User List", + "ImportLdapUserTip": "Please submit LDAP configuration before import", + "ImportLdapUserTitle": "LDAP user list", "ImportLicense": "Import License", - "ImportLicenseTip": "Please import the license", - "ImportMessage": "Please Navigate to the Corresponding Page to Import Data", + "ImportLicenseTip": "Please Import License", + "ImportMessage": "Please go to the corresponding type of page to import data", "ImportOrg": "Import Organization", - "ImprovePersonalInformation": "Improve Personal Information", - "InActiveAsset": "Recently Unlogged", - "InActiveUser": "Not Recently Logged-in", + "InActiveAsset": "Not Recently Logged In", + "InActiveUser": "No Recent Login", "InAssetDetail": "Update Account Info in Asset Details", - "InTotal": "Total", - "Inactive": "Disable", - "Include": "Includes", + "Inactive": "Disabled", "Index": "Index", "Info": "Information", - "Inherit": "Inheritance", - "InheritPlatformConfig": "Inherited from the platform configuration, if changes are needed, please modify the configurations in the platform.", - "InitialDeploy": "Initialize Deployment", + "InheritPlatformConfig": "Inherited from platform configuration, to change, please modify the configuration in the platform", + "InitialDeploy": "Initialization Deployment", "Input": "Input", - "InputEmailAddress": "Please enter a correct email address", + "InputEmailAddress": "Please enter the correct email address", "InputMessage": "Enter message...", - "InputNumber": "Please Enter Numeric Type", - "InputPhone": "Please Enter Mobile Number", - "InsecureCommandAlert": "Dangerous Command Warning", - "InsecureCommandEmailUpdate": "Click Me to Set", - "InsecureCommandNotifyToSubscription": "Hazard command notice has been upgraded to message subscription, supporting more notification methods", + "InputPhone": "Please Enter Your Mobile Number", "InstanceAddress": "Instance Address", "InstanceName": "Instance Name", "InstancePlatformName": "Instance Platform Name", - "InstantAdhoc": "Instant Command", "Interface": "Network Interface", - "InterfaceSettings": "Interface Setting", + "InterfaceSettings": "Interface Settings", "IntervalOfCreateUpdatePage": "Unit: Hour", - "Invalid": "Invalid", "InvalidJson": "Invalid JSON", - "Invalidity": "Invalid", - "Invite": "Invite", "InviteSuccess": "Invitation Successful", "InviteUser": "Invite User", - "InviteUserInOrg": "Invite User to Join This Organization", + "InviteUserInOrg": "Invite users to join this organization", "Ip": "IP", "IpGroup": "IP Group", - "IpGroupHelpText": "* Represents matching all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "Please enter a comma-separated group of IP addresses", + "IpGroupHelpText": "* indicates match all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", "IsActive": "Activate", - "IsAlwaysUpdate": "Keep Assets Up to Date", - "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostnames, IPs, system platforms, domains, nodes, etc. each time a synchronization task is performed", - "IsEffective": "Effective", - "IsFinished": "Is it Completed", + "IsAlwaysUpdate": "Keeping Assets Up to Date", + "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostname, IP, platform, domain, node, etc. each time a synchronization task is performed", + "IsFinished": "Is It Done", "IsLocked": "Suspend?", - "IsSuccess": "Successful", - "IsSyncAccountHelpText": "After collection, the collected accounts will be synchronized to the assets", + "IsSuccess": "Success", + "IsSyncAccountHelpText": "Upon Collection Completion, the Collected Account Will Be Synced to Asset", "IsSyncAccountLabel": "Sync to Assets", - "IsValid": "Valid", - "JDCloud": "JD Cloud", - "JMSSSO": "SSO Token Log-in", + "JDCloud": "Jingdong Cloud", "Job": "Action", - "JobCenter": "Job Center", + "JobCenter": "Task Center", "JobCreate": "Create Job", "JobDetail": "Job Details", - "JobExecutionLog": "Action Log", - "JobList": "Job Action", - "JobName": "Assignment Name", - "JobType": "Job Type", + "JobExecutionLog": "Job Log", + "JobList": "Job", "JobUpdate": "Update Job", - "Join": "Join", - "K8s": "Kubernetes", - "K8sPermissionRules": "Kubernetes Authorization Rules", - "Key": "Key", "KingSoftCloud": "Kingsoft Cloud", "KokoSettingUpdate": "Koko Configuration Settings", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes", - "KubernetesAppCount": "Number of Kubernetes Applications", - "KubernetesAppCreate": "Create Kubernetes", - "KubernetesAppDetail": "Kubernetes Details.\"", - "KubernetesAppPermission": "Kubernetes Authorization", - "KubernetesAppPermissionCreate": "Create Kubernetes Authorization Rules", - "KubernetesAppPermissionDetail": "Kubernetes Authorization Details", - "KubernetesAppPermissionUpdate": "Update Kubernetes Authorization Rules", - "KubernetesAppUpdate": "Update Kubernetes", - "LAN": "Local Area Network", - "LDAPServerInfo": "LDAP Server", - "LDAPUser": "LDAP User", - "LOWER_CASEREQUIRED": "Must Include Lowercase Letters", - "Label": "Tag", - "LabelCreate": "Create Tag", - "LabelInputFormatValidation": "Tag format error, correct format is: name:value", - "LabelList": "Tag List", - "LabelUpdate": "Update Label", + "LAN": "Bulk Account Add Results", + "LDAPUser": "LDAP Users", + "Label": "Label", + "LabelCreate": "Create Tags", + "LabelInputFormatValidation": "Label format error, the correct format is: name:value", + "LabelList": "Labels", + "LabelUpdate": "Update Tags", "Language": "Language", - "Last30": "Recent 30 Times", - "Last30Days": "Recent 30 Days", + "Last30": "Recent 30 times", + "Last30Days": "Last 30 Days", "Last7Days": "Past 7 Days", - "LastCannotBeDeleteMsg": "Last Item, Cannot be Deleted", - "LastDay": "Last Day of the Month", - "LastExecutionOutput": "Last Execution Output", - "LastPublishedTime": "Last Release Time", - "LastRun": "Last Run", - "LastRunFailedHosts": "The Last Run Failed Host", - "LastRunSuccessHosts": "Last Successful Host", - "LastWeek": "Last Week of the Month", - "LastWorking": "The Most Recent Working Day", - "LatestSessions": "Recent Login Records", - "LatestSessions10": "Last 10 Login Attempts", - "LatestTop10": "TOP 10", - "LatestVersion": "Latest Version", + "LastPublishedTime": "Last Publish Time", "Ldap": "LDAP", "LdapBulkImport": "User Import", "LdapConnectTest": "Test Connection", @@ -884,303 +577,194 @@ "LessEqualThan": "Less Than or Equal To", "LevelApproval": "Level Approval", "License": "License", - "LicenseDetail": "License Detail", - "LicenseExpired": "Licence Expired", - "LicenseFile": "License file", - "LicenseForTest": "License for Testing Purposes, This License is Only for Testing (PoC) and Demonstrations", + "LicenseExpired": "The license has expired", + "LicenseFile": "License File", + "LicenseForTest": "Test Purpose License, This License is Only for Testing (PoC) and Demonstration", "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", - "LicenseWillBe": "License Expiring In ", - "LinuxAdminUser": "Linux Privileged User", - "LinuxUserAffiliateGroup": "User Affiliated Group", - "LoadStatus": "Load Status", + "LicenseWillBe": "License Expiring Soon", "Loading": "Loading", - "LockedIP": "IP {count} Locked", - "Log": "Logs", + "LockedIP": "Locked IP {count}", + "Log": "Log", "LogData": "Log Data", - "LogOfLoginSuccessNum": "Login Success Log Count", + "LogOfLoginSuccessNum": "The number of successful login logs", "Logging": "Log Record", - "Login": "User Login", - "LoginAssetConfirm": "Asset login review", - "LoginAssetToday": "Today's active assets", + "LoginAssetConfirm": "Asset Login Review", + "LoginAssetToday": "Today's Active Assets", "LoginAssets": "Active Assets", - "LoginCity": "Login City", - "LoginConfig": "Login Configuration", - "LoginConfirm": "Login Review", + "LoginConfirm": "Login review", "LoginCount": "Login Times", "LoginDate": "Login Date", "LoginFailed": "Login Failed", "LoginFrom": "Login Source", - "LoginIP": "Login IP", - "LoginImage": "Login Page Picture.", - "LoginImageTip": "Note: Will be displayed on the Enterprise edition user login page (recommended picture size: 492*472px)", - "LoginLog": "Login log", - "LoginModeHelpMessage": "If you choose manual login mode, username and password may not be filled in", - "LoginModel": "Login Mode", + "LoginImageTip": "Note: It will appear on the enterprise user login page (recommended image size: 492*472px)", + "LoginLog": "Login Log", "LoginNum": "Login Count", - "LoginOption": "Login Options", - "LoginOverview": "Session Statistics", "LoginPasswordSetting": "Login Password Settings", - "LoginRequiredMsg": "Account Logged Out, Please Log in Again", - "LoginSucceeded": "Login successful", - "LoginTitle": "Login Page Title", - "LoginTitleTip": "Tip: This will be displayed on the enterprise user SSH login KoKo login page (eg: Welcome to use JumpServer Open Source Bastion Machine)", - "LoginTo": "Log in", + "LoginRequiredMsg": "The account has logged out, please log in again.", + "LoginSucceeded": "Login Successful", + "LoginTitleTip": "Note: It will be displayed on the enterprise edition user SSH login KoKo login page (e.g.: Welcome to use JumpServer Open Source Bastion)", "LoginUserRanking": "Login Account Ranking", "LoginUserToday": "Number of Accounts Logged in Today", - "LoginUsers": "Active Accounts", - "Login_confirmUser": "Login Review Recipient", - "LogoIndex": "Logo (with text)", - "LogoIndexTip": "Notice: It will be displayed on the top left of the page (Recommended image size: 185px*55px)", - "LogoLogout": "Logo (Without Text)", - "LogoLogoutTip": "Note: It will be displayed on the Web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", + "LoginUsers": "Active Account", + "LogoIndexTip": "Tip: It will be displayed in the upper left corner of the page (Recommended image size: 185px*55px)", + "LogoLogoutTip": "Tip: It will be displayed on the web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", "Logout": "Logout", - "LogsAudit": "Log Audit", + "LogsAudit": "Log auditing", "Lowercase": "Lowercase Letters", "LunaSettingUpdate": "Luna Configuration Settings", - "MFA": "MFA", - "MFAConfirm": "MFA Authorization", - "MFAErrorMsg": "MFA error, please check", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication for increased account security.
After enabling, you will be directed to the multi-factor authentication binding process the next time you log in; you can also directly bind it in (Personal Information->Quick Change->Change Multi-factor Settings)!", - "MFAOfUserFirstLoginUserGuidePage": "To ensure your and the company's safety, please properly manage your account, password, keys, and other important sensitive information; (for example: setting a complex password and enabling multi-factor authentication)
Email, mobile number, WeChat, and other personal information are used solely for user authentication and internal platform notification purposes.", - "MFARequireForSecurity": "For Security, Please Enter MFA", - "MFAVerify": "Verify MFA", - "MIN_LENGTHERROR": "Password Minimum Length {0} Characters", - "MailRecipient": "Email Recipients", - "MailSend": "Email Sent", + "MFAErrorMsg": "MFA errors, please check", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make your account more secure.
After enabling, you will enter the multi-factor authentication binding process the next time you log in; you can also directly bind in (Personal Information->Quick Modification->Change Multi-factor Settings)!", + "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
Personal information such as email, mobile number, and WeChat are only used for user authentication and platform internal message notifications.", + "MailRecipient": "Email Recipient", + "MailSend": "Email Sending", "ManualAccount": "Manual Account", - "ManualAccountTip": "Manually enter username/password at login", - "ManualExecutePlan": "Execute Plan Manually", - "ManualInput": "Manual Input", - "ManyChoose": "Multiple Selection Available", - "Mariadb": "MariaDB", - "MarkAsRead": "Mark as Read", - "Marketplace": "App Store", + "ManualAccountTip": "Manual input of Username/Password upon Login", + "ManualExecutePlan": "Manual Execute Plan", + "ManyChoose": "Select Multiple", + "MarkAsRead": "Mark as read", + "Marketplace": "App Market", "Match": "Match", "MatchIn": "In...", - "MatchResult": "Matching Results", - "MatchedCount": "Match Result", - "Material": "Content", + "MatchResult": "Match Results", + "MatchedCount": "Match Results", "Members": "Members", - "Memory": "Memory", - "MenuAccounts": "Account", - "MenuAssets": "Asset Management", + "MenuAccounts": "Accounts", + "MenuAssets": "Assets", "MenuMore": "More...", - "MenuPermissions": "Authorization Management", - "MenuUsers": "User", + "MenuPermissions": "Policies", + "MenuUsers": "Users", "Message": "Message", - "MessageSub": "Message Subscription", "MessageSubscription": "Message Subscription", "MessageType": "Message Type", - "Meta": "Metadata", - "MfaLevel": " Multi-factor Authentication", + "MfaLevel": "Multi-factor Authentication", "Min": "Minutes", - "Model": "Model", "Modify": "Edit", - "ModifySSHKey": "Edit SSH Key", - "ModifyTheme": "Edit Theme", "Module": "Module", "Monday": "Monday", - "Mongodb": "MongoDB", - "Monitor": "Monitor", + "Monitor": "Monitoring", "Month": "Month", - "Monthly": "By Month", - "More": "More Options", + "More": "More", "MoreActions": "More Actions", - "MoveAssetToNode": "Move Assets to Node", - "MsgSubscribe": "Message subscription", - "MyApps": "My Apps", + "MoveAssetToNode": "Move Assets to Nodes", + "MsgSubscribe": "Message Subscription", "MyAssets": "My Assets", "MyTickets": "I Initiated", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "Mysql_workbenchIp": "Database IP", - "Mysql_workbenchName": "Database Name", - "Mysql_workbenchPassword": "Database Password", - "Mysql_workbenchPort": "Database Port", - "Mysql_workbenchUsername": "Database Account", - "NUMBERREQUIRED": "Must Contain Numbers", "Name": "Name", - "NavHelp": "Navbar Link", - "Navigation": "Navigation", - "NeedAddAppsOrSystemUserErrMsg": "Applications or System Users Required", - "NeedReLogin": "\"Need to Re-login", - "NeedSpecifiedFile": "You need to upload a specified format file", - "NeedUpdatePasswordNextLogin": "Password change required on next login", - "Network": "Network", + "NavHelp": "Navigation Bar Link", + "NeedReLogin": "Need to Re-Login", "New": "Create", "NewChat": "New Chat", "NewCount": "Add", - "NewCron": "Create Cron", - "NewDirectory": "New Directory", - "NewFile": "New File", + "NewCron": "Generate Cron", + "NewDirectory": "Create New Directory", + "NewFile": "Create New File", "NewPassword": "New Password", "NewSyncCount": "New Sync", "No": "No", - "NoAlive": " Offline", - "NoAnnouncement": "No Announcement", "NoContent": "No Content", - "NoData": "No Data", - "NoFiles": "No Files Available", - "NoInputCommand": "No Command Entered", - "NoLicense": "No License Available", - "NoPermission": "No Permission", + "NoData": "No Data Available", + "NoFiles": "No Files Currently", + "NoPermission": "No Permissions", "NoPermission403": "403 No Permission", - "NoPermissionVew": "No permission to view the current page", - "NoPublished": "Unpublished", - "NoSQLProtocol": "Non-Relational Database", - "NoSystemUserWasSelected": "No system user selected", - "NoUnreadMsg": "No unread messages", + "NoPermissionVew": "No Permission to View the Current Page", + "NoUnreadMsg": "No Unread Messages", "Node": "Node", - "NodeAmount": "Node Quantity", - "NodeCount": "Number of Nodes", + "NodeAmount": "Number of Nodes", "NodeInformation": "Node Information", "NodeSearchStrategy": "Node Search Strategy", "NormalLoad": "Normal", - "NotAlphanumericUnderscore": "Can only input letters, numbers, underscores", "NotEqual": "Not Equal To", - "NotParenthesis": "Cannot Include ( )", "NotSet": "Not Set", "NotSpecialEmoji": "Special Emoji Input Not Allowed", "Nothing": "None", - "Notifications": "Notification", + "Notifications": "Notification Settings", "Now": "Now", - "Num": "Number", - "Number": "Serial Number", - "NumberOfVisits": "Number of Visits", + "Number": "Number", + "NumberOfVisits": "Visits", "OAuth2": "OAuth2", - "OAuth2LogoTip": "Hint: Authentication Service Provider (Suggested Image Size: 64px*64px)", + "OAuth2LogoTip": "Note: Authentication Provider (Recommended image size: 64px*64px)", "OIDC": "OIDC", - "OTP": "MFA (OTP)", - "ObjectNotFoundOrDeletedMsg": "No corresponding resources found or they have been deleted", - "OfficialWebsite": "Official Web Link", - "OfficialWebsiteTip": "You can change the URL of the Website Navigation Bar Help ->Official Website", + "ObjectNotFoundOrDeletedMsg": "No corresponding resources found or it has been deleted.", "Offline": "Offline", - "OfflineSuccessMsg": "Offline Successful", + "OfflineSuccessMsg": "Offline Successfully", "OfflineUpload": "Offline Upload", "OldPassword": "Original Password", "OldSSHKey": "Original SSH Public Key", - "On/Off": "Start/Stop", - "OneAssignee": "First Level Acceptance Personnel", - "OneAssigneeType": "First-Level Acceptance Type", - "OneClickRead": "Currently Read", + "OneAssignee": "First-Level Approver", + "OneAssigneeType": "First-Level Handler Type", "OneClickReadMsg": "Are you sure you want to mark the current information as read?", - "OnlineSession": "Online Users", - "OnlineSessionHelpMsg": "Unable to offline the current session as it is an online session of the current user. Currently, only users logged in via the Web are recorded.", - "OnlineSessions": "Online Sessions", + "OnlineSession": "Online users", + "OnlineSessionHelpMsg": "Unable to log out of the current session because it is the current user's online session. Currently only users logged in via Web are being logged.", + "OnlineSessions": "Online Sessions Number", "OnlineUserDevices": "Online User Devices", - "OnlineUsers": "Online Account", - "OnlyCSVFilesTips": "Supports CSV file import only", - "OnlyLatestVersion": "Only Latest Version", - "OnlyMailSend": "Currently only supports email sending", - "OnlySearchCurrentNodePerm": "Search only for the current node authorization", - "Open": "Pending", + "OnlyMailSend": "Current support for email sending", + "OnlySearchCurrentNodePerm": "Only Search the Current Node's Authorization", "OpenCommand": "Open Command", - "OpenId": "OpenID Settings", "OpenStack": "OpenStack", - "OpenStatus": "Under Review", - "OpenTicket": "Create Work Order", - "OperateLog": "Action Log", - "OperateRecord": "Action Record", - "OperationLogNum": "Action Log Count", - "Ops": "Task", - "Options": "Options", - "Oracle": "Oracle", + "OpenStatus": "In Approval", + "OpenTicket": "Create a Ticket", + "OperateLog": "Operation Log", + "OperationLogNum": "Number of Operation Logs", "OrgAdmin": "Organization Admin", - "OrgAuditor": "Organization Auditor", + "OrgAuditor": "Organizational Auditors", "OrgName": "Authorized Organization Name", - "OrgRole": "Organization Roles", - "OrgRoleHelpText": "An organization role is the user's role within the current organization", + "OrgRole": "Organizational Role", + "OrgRoleHelpText": "The organizational role is the user's role within the current organization", "OrgRoles": "Organizational Role", - "OrgUser": "Organizational Users", - "OrganizationCreate": "Create Organization", - "OrganizationDetail": "Organization details", - "OrganizationList": "Organization", + "OrgUser": "Organize Users", + "OrganizationCreate": "Local Area Network", + "OrganizationDetail": "Organization Details", + "OrganizationList": "Organizational Management", "OrganizationLists": "Organization List", - "OrganizationMembership": "Organization Members", - "OrganizationUpdate": "Update organization", - "Os": "Operating System", + "OrganizationUpdate": "Update Organization", "Other": "Other Settings", - "OtherAuth": "Other Authentication", - "OtherProtocol": "Other Protocols", - "OtherRules": "Other Rules", - "Others": "Other", "Output": "Output", "Overview": "Overview", - "PENDING": "Waiting", "PageNext": "Next Page", "PagePrev": "Previous Page", - "Parameter": "Parameters", "Params": "Parameter", - "ParamsHelpText": "Change Password Parameter Settings, currently only effective for assets of the host type.", + "ParamsHelpText": "Password parameter settings, currently only effective for assets of the host type.", "PassKey": "Passkey", "Passkey": "Passkey", - "PasskeyAddDisableInfo": "Your authorization source is {source}, adding Passkey is not supported", + "PasskeyAddDisableInfo": "Your authentication source is {source}, and adding a Passkey is not supported", "Passphrase": "Key Password", "Password": "Password", - "PasswordAccount": "Password Account", "PasswordChangeLog": "Password Change Log", - "PasswordCheckRule": "Password Strength Rules", - "PasswordConfirm": "Password Authentication", - "PasswordExpired": "Password has expired", - "PasswordHelpMessage": "Password or Key Password", - "PasswordLength": "Password Length", - "PasswordOrPassphrase": "Password or Key Password", - "PasswordOrToken": "Password / Token", + "PasswordExpired": "Password Expired", "PasswordPlaceholder": "Please Enter Password", - "PasswordRecord": "Password Log", - "PasswordRequireForSecurity": "Please Enter Password for Security", + "PasswordRecord": "Password Record", "PasswordRule": "Password Rules", "PasswordSecurity": "Password Security", - "PasswordSelector": "Password Input Selector", "PasswordStrategy": "Ciphertext Generation Strategy", - "PasswordWillExpiredPrefixMsg": "Password is about to be in", - "PasswordWillExpiredSuffixMsg": "Expires in days, please change your password as soon as possible.", - "PasswordWithoutSpecialCharHelpText": "Cannot Include Special Characters", + "PasswordWillExpiredPrefixMsg": "Password will be in ", + "PasswordWillExpiredSuffixMsg": "It will expire in days, please change your password as soon as possible.", "Paste": "Paste", - "Pattern": "Mode", "Pause": "Pause", - "PauseTaskSendSuccessMsg": "The Task Has Been Paused and Issued, Please Refresh Later", + "PauseTaskSendSuccessMsg": "Task Pausing Issued, Please Refresh and Check Later", "Pending": "Pending", - "Periodic": "Execution Cycle", - "PeriodicPerform": "Schedule Execution", - "Perm": "Authorization", "PermAccount": "Authorized Account", - "PermName": "Authorization Name", - "PermUserList": "Authorize User", - "PermissionCompany": "Authorize Company", + "PermUserList": "Authorized Users", + "PermissionCompany": "Authorized Companies", "PermissionName": "Authorization Rule Name", - "Permissions": "Permissions", - "Perms": "权限管理", - "PersonalInformationImprovement": "Personal information completion", - "Phone": "Phone Number", - "Plan": "Schedule", - "Platform": "System Platform", - "PlatformCreate": "Create System Platform", - "PlatformDetail": "System Platform Details", - "PlatformList": "Platform List", + "Permissions": "Permission", + "PersonalInformationImprovement": "Complete Personal Information", + "Plan": "Plan", + "Platform": "Platform", + "PlatformCreate": "Create a Platform", + "PlatformDetail": "Platform Details", + "PlatformList": "Platforms", "PlatformProtocolConfig": "Platform Protocol Configuration", - "PlatformSimple": "Platform", - "PlatformUpdate": "Update System Platform", + "PlatformUpdate": "Update Platform", "PlaybookDetail": "Playbook Details", - "PlaybookManage": "Playbook管理", + "PlaybookManage": "Playbook", "PlaybookUpdate": "Update Playbook", - "PleaseAgreeToTheTerms": "Please Accept the Terms", - "PleaseClickLeftApplicationToViewApplicationAccount": "Application Account List, click on the application on the left to view", - "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, click on the asset on the left to view", - "PleaseClickLeftAssetToViewGatheredUser": "Collect user list, click on the asset on the left to view", - "PleaseSelect": "Please Select", + "PleaseAgreeToTheTerms": "Please Agree to the Terms", "PolicyName": "Policy Name", "Port": "Port", "Ports": "Port", - "Postgresql": "PostgreSQL", - "Primary": "Main", - "PrimaryProtocol": "Main Protocol, the most basic and commonly used asset protocol, can and must set up one", "Priority": "Priority", - "PriorityHelpMessage": "1-100, 1 is the lowest priority, 100 is the highest. When authorizing multiple users, the system user with the highest priority will be the default login user", "PrivateCloud": "Private Cloud", "PrivateKey": "Private Key", - "PrivilegeFirst": "Priority is for Privileged Accounts", - "PrivilegeOnly": "Only Select Privileged Accounts", "Privileged": "Privilege Account", "PrivilegedFirst": "Priority Privilege Account", "PrivilegedOnly": "Privileged Accounts Only", @@ -1188,659 +772,440 @@ "Product": "Product", "Profile": "Personal Information", "ProfileSetting": "Personal Information Settings", - "Project": "Project name", - "Prompt": "Hint Word", + "Project": "Project Name", + "Prompt": "Prompt", "Proportion": "Proportion", - "ProportionOfAssetTypes": "Asset Type Proportions", + "ProportionOfAssetTypes": "Asset Type Proportion", "Protocol": "Protocol", - "Protocols": "Protocol", - "ProtocolsEnabled": "Enable Protocol", - "ProtocolsGroup": "Agreement", - "Provider": "Cloud Service Provider", - "Proxy": "Proxy", - "Public": "Public", + "Protocols": "Agreement", + "Proxy": "Agent", "PublicCloud": "Public Cloud", - "PublicIp": "Public IP", "PublicKey": "Public Key", - "PublicProtocol": "Displayed when public protocol is used to connect assets", "Publish": "Publish", "PublishAllApplets": "Publish All Applications", - "PublishStatus": "Publish Status", + "PublishStatus": "Release Status", "Push": "Push", "PushAccount": "Push Account", - "PushAllSystemUsersToAsset": "Push All System Users to Assets", "PushParams": "Push Parameters", - "PushSelected": "Push Selected", - "PushSelectedSystemUsersToAsset": "Push Selected System User to Asset", - "PushSystemUserNow": "Push System User", "Qcloud": "Tencent Cloud", - "QcloudLighthouse": "Tencent Cloud (Light Application Server)", - "QingyunPrivatecloud": "QingCloud Private Cloud", + "QcloudLighthouse": "Tencent Cloud (Lightweight Application Server)", + "QingyunPrivatecloud": "Qingyun Private Cloud", "Queue": "Queue", - "QuickAccess": "Quick Access", "QuickAdd": "Quick Add", - "QuickJob": "Shortcut Command", - "QuickSelect": "Quick Selection", + "QuickJob": "Shortcut command", "QuickUpdate": "Quick Update", - "RDBProtocol": "Relational Database", - "RUNNING": "Running", "Radius": "Radius", "Ranking": "Ranking", - "Ratio": "Ratio", - "RazorNotSupport": "RDP client session, monitoring not supported", - "ReLogin": "Re-log in", - "ReLoginErr": "Login duration has exceeded 5 minutes, please log in again", - "ReLoginTitle": "Current third-party logged-in users (CAS/SAML), not bound with MFA and doesn't support password validation, please log in again.", - "RealTimeData": "Real-time Data", + "RazorNotSupport": "RDP Client Session, Monitoring Not Supported", + "ReLogin": "Log in Again", + "ReLoginTitle": "Current Third-party Login User (CAS/SAML), Not Bound to MFA and Does Not Support Password Verification, Please Log in Again.", + "RealTimeData": "Real-Time Data", "Reason": "Reason", "Receivers": "Recipient", "RecentLogin": "Recent Login", - "RecentSession": "Recent Sessions", - "RecentlyUsed": "Recent Use", - "RecipientHelpText": "If both A and B are set as recipients, the key to the account will be split into two parts", + "RecentSession": "Recent sessions", + "RecentlyUsed": "Recently Used", + "RecipientHelpText": "If both recipient A and B are set, the account's key will be split into two parts", "RecipientServer": "Receiving Server", "Reconnect": "Reconnect", - "Redis": "Redis", "Refresh": "Refresh", - "RefreshFail": "Refresh Failed", "RefreshHardware": "Update Hardware Information", - "RefreshLdapCache": "Refreshing Ldap cache, please wait", - "RefreshLdapUser": "Refresh Cache", - "RefreshPermissionCache": "Refresh Authorization Cache", - "RefreshSuccess": "Refresh Successful", "Regex": "Regular Expression", "Region": "Region", - "RegularlyPerform": "Scheduled Execution", - "Reject": "Reject", + "RegularlyPerform": "Periodic Execution", + "Reject": "Refuse", "Rejected": "Rejected", - "RelAnd": "And", - "RelNot": "Not", - "RelOr": "Or", - "Relation": "Relationship", "ReleasedCount": "Released", "RelevantApp": "Application", - "RelevantAsset": "Asset", + "RelevantAsset": "Assets", "RelevantAssignees": "Related Recipient", "RelevantCommand": "Command", "RelevantSystemUser": "System User", "RemoteAddr": "Remote Address", - "RemoteApp": "Remote Applications", - "RemoteAppCount": "Number of Remote Applications", - "RemoteAppDetail": "Remote Application Details", - "RemoteAppListHelpMessage": "Before using this feature, please make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download Application Loader", - "RemoteAppPermission": "Remote App Authorization", - "RemoteAppPermissionCreate": "Create Remote Application Authorization Rule", - "RemoteAppPermissionDetail": "Remote Application Authorization Details", - "RemoteAppPermissionRules": "Remote Application Authorization Rules", - "RemoteAppPermissionUpdate": "Update Remote Application Authorization Rules", - "RemoteAppUpdate": "Update Remote Application", - "RemoteApps": "Remote Application", - "RemoteType": "Application Type", "Remove": "Remove", - "RemoveAssetFromNode": "Remove Assets From Node", - "RemoveErrorMsg": "Removal Failed:", - "RemoveFromCurrentNode": "Remove from node", - "RemoveFromOrgWarningMsg": "Are you sure you want to remove from organization ", - "RemoveSuccessMsg": "Removal Successful", - "RemoveWarningMsg": "Are you sure you want to remove", + "RemoveAssetFromNode": "Remove Asset From Node", + "RemoveSuccessMsg": "Successfully removed", "Rename": "Rename", - "RenameNode": "Rename Node", - "ReplaceNodeAssetsAdminUser": "Replace the administrator of the node assets", - "ReplaceNodeAssetsAdminUserWithThis": "Replace the administrator of assets", + "RenameNode": "Rename Nodes", + "ReplaceNodeAssetsAdminUserWithThis": "Replace Asset Admin", "Replay": "Playback", - "ReplaySession": "Session Playback", + "ReplaySession": "Session Replay", "ReplayStorage": "Object Storage", - "ReplayStorageCreateUpdateHelpMessage": "Note: SFTP Storage Currently only supports account backup and does not support video storage.", - "ReplayStorageUpdate": "Update Object Storage", + "ReplayStorageCreateUpdateHelpMessage": "Notice: Current SFTP storage only supports account backup, video storage is not yet supported.", + "ReplayStorageUpdate": "Update object storage", "Reply": "Reply", - "RequestApplicationPerm": "Apply for App Authorization", "RequestAssetPerm": "Apply for Asset Authorization", "RequestPerm": "Authorization Request", - "RequestTickets": "Application Work Order", - "Required": "Required", - "RequiredAssetOrNode": "Please select at least one asset or node", - "RequiredContent": "Please Enter Command", - "RequiredEntryFile": "This file serves as the entry point for running and must exist", - "RequiredHasUserNameMapped": "A map that must contain the username field, such as 'uid': 'username'", - "RequiredProtocol": "Mandatory Protocol, must be selected when adding assets, multiple can be set", - "RequiredRunas": "Please Enter the Running User", - "RequiredSystemUserErrMsg": "Please Select an Account", - "RequiredUploadFile": "Please Upload File!", + "RequestTickets": "Apply for Work Order", + "RequiredAssetOrNode": "Please Select at Least One Asset or Node", + "RequiredContent": "Please Input Command", + "RequiredEntryFile": "This file acts as the entry point for running and must be present", + "RequiredRunas": "Please Enter the Execution User", + "RequiredSystemUserErrMsg": "Please Select Account", + "RequiredUploadFile": "Please upload the file!", "Reset": "Restore", "ResetAndDownloadSSHKey": "Reset and Download Key", - "ResetDingTalk": "Unbind DingTalk", - "ResetDingTalkLoginSuccessMsg": "Reset successful, user can re-bind DingTalk", - "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", "ResetMFA": "Reset MFA", "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", - "ResetMFAdSuccessMsg": "'MFA Reset Successful, User Can Reset MFA Again", + "ResetMFAdSuccessMsg": "MFA Reset Successful, User Can Reset MFA Again", "ResetPassword": "Reset Password", - "ResetPasswordSuccessMsg": "Password Reset Message Has Been Sent to User", - "ResetPasswordWarningMsg": "Are you sure you want to send a password reset email?", + "ResetPasswordSuccessMsg": "Reset Password Message Sent to User", + "ResetPasswordWarningMsg": "Are you sure you want to send the password reset email for the user", "ResetPublicKeyAndDownload": "Reset and Download SSH Key", - "ResetSSHKey": "Reset SSH Key", - "ResetSSHKeySuccessMsg": "Email sending task has been submitted, users will receive a reset key email later", - "ResetSSHKeyWarningMsg": "Are you sure you want to send out the reset user's SSH Key email?", - "ResetWechat": "Unbind Corporate WeChat", - "ResetWechatLoginSuccessMsg": "Reset Successful. User can rebind with enterprise WeChat", - "ResetWechatLoginWarningMsg": "Are you sure you want to unbind the user's WeChat for Business?", + "ResetSSHKey": "Reset SSH key", + "ResetSSHKeySuccessMsg": "Email Task Submitted, User Will Receive a Key Reset Email Shortly", + "ResetSSHKeyWarningMsg": "Are you sure you want to send a reset SSH Key email to the user?", "Resource": "Resources", "ResourceType": "Resource Type", - "Resources": "Resources", - "RestoreButton": "Restore Defaults", - "RestoreDefault": "Restore Default", - "RestoreDialogMessage": "Are you sure you'd like to restore to default initialization?", - "RestoreDialogTitle": "Are you sure", + "RestPasswordNextLogin": "Password Must Be Changed During Next Log In", + "RestoreButton": "Reset to Default", + "RestoreDefault": "Reset to Default", + "RestoreDialogMessage": "Are you sure you want to restore to default initialization?", + "RestoreDialogTitle": "Do you confirm?", "Result": "Result", - "Resume": "Restore", - "ResumeTaskSendSuccessMsg": "Recovery action has been dispatched, please refresh and check later", + "Resume": "Recovery", + "ResumeTaskSendSuccessMsg": "Recovery Task Issued, Please Refresh Later", "Retry": "Retry", - "Reviewer": "Approver", - "Revise": "Modify", - "RiskLevel": "Risk level", + "Reviewer": "Approvers", "Role": "Role", - "RoleCreate": "Create Character", + "RoleCreate": "Create role", "RoleDetail": "Role Details", "RoleInfo": "Role Information", - "RoleList": "Role List", - "RolePerms": "Role Permissions", + "RoleList": "Roles", "RoleUpdate": "Update Role", - "RoleUsers": "Authorized User", + "RoleUsers": "Authorized Users", "Rows": "Row", "Rule": "Condition", "RuleCount": "Condition Quantity", - "RuleDetail": "Rule details", + "RuleDetail": "Rule Details", "RuleRelation": "Relationship Conditions", - "RuleRelationHelpTips": "And: Action will be executed only when all conditions are met; Or: Action will be executed as long as one condition is met", - "RuleSetting": "Condition Setting", + "RuleRelationHelpTips": "And: the action will be executed only when all conditions are met; Or: the action will be executed as long as one condition is met", + "RuleSetting": "Condition Settings", "Rules": "Rules", "Run": "Execute", "RunAgain": "Execute Again", - "RunAs": "Run as User", + "RunAs": "Run User", "RunCommand": "Run Command", "RunJob": "Run Job", - "RunSucceed": "Task Execution Success", - "RunTaskManually": "Manual Action", - "RunTimes": "Execution Count", - "RunUser": "Run User", - "RunasHelpText": "Enter the username for running the script", + "RunSucceed": "Task Successfully Completed", + "RunTaskManually": "Manually Execute", + "RunasHelpText": "Enter Username for Running Script", "RunasPolicy": "Account Policy", - "RunasPolicyHelpText": "What account selection strategy should be taken when there is no such running user on the current asset. Skip: Don't Execute. Privileged Account Priority: If there is a privileged account, select the privileged account first, if not, then choose a common account. Only Privileged Accounts: Select only from privileged accounts, if none, then don't execute", - "Running": "Running", - "RunningPath": "Run Path", - "RunningPathHelpText": "Enter the running path of the script, this setting only applies to shell scripts", + "RunasPolicyHelpText": "When the current asset does not have this running user, what kind of account selection strategy should be adopted? Skip: do not perform. Preferring privileged account: If there is a privileged account, choose the privileged account first. If not, choose the regular account. Only privileged accounts: Choose only from privileged accounts. If not, do not execute", + "RunningPath": "Running Path", + "RunningPathHelpText": "Enter the run path of the script, this setting only applies to shell scripts", "RunningTimes": "Last 5 Run Times", - "SAML2Auth": "SAML2 Authentication", "SCP": "Sangfor Cloud Platform", - "SFTPHelpMessage": "Start Path of SFTP, Home Directory Can Be Entered As: HOME.
Supported Variables: ${ACCOUNT} Account Username Linked, ${USER} Current User's Username, such as /tmp/${ACCOUNT}", "SMS": "Message", "SMSProvider": "SMS Service Provider", "SMTP": "Email Server", - "SPECIAL_CHARREQUIRED": "Must Include Special Characters", "SSHKey": "SSH Public Key", - "SSHKeyOfProfileSSHUpdatePage": "Paste Your Public Key Here", - "SSHKeySetting": "Setting SSH Public Key", + "SSHKeyOfProfileSSHUpdatePage": "Copy Your Public Key Here", + "SSHKeySetting": "SSH Public Key Settings", "SSHPort": "SSH Port", - "SSHSecretKey": "SSH key", - "SSO": "Single sign-on", - "SUCCESS": "Success", - "SafeCommand": "Safe Command", - "SameAccount": "Account with Same Name", - "SameAccountTip": "Account with the same username as authorized user", + "SSHSecretKey": "SSH Key", + "SafeCommand": "Secure Command", + "SameAccount": "Duplicate Account", + "SameAccountTip": "Accounts with the Same Username as Authorized Users", "SameTypeAccountTip": "An account with the same username and key type already exists", "Saturday": "Saturday", "Save": "Save", "SaveAdhoc": "Save Command", - "SaveAndAddAnother": "Save and continue to add", + "SaveAndAddAnother": "Save and Continue Adding", "SaveCommand": "Save Command", - "SaveCommandSuccess": "\"Save Command Successful", + "SaveCommandSuccess": "Command Saved Successfully", "SaveSetting": "Synchronization Settings", "SaveSuccess": "Save Successful", - "SaveSuccessContinueMsg": "Created successfully, you can continue to add after updating content", - "Scope": "Category", - "Script": "Script List", - "ScriptDetail": "Script Details", - "ScrollToBottom": "Scroll to Bottom", + "SaveSuccessContinueMsg": "Creation Successful, you can continue to add content after updating.", + "ScrollToBottom": "Scroll to the Bottom", "ScrollToTop": "Scroll to Top", "Search": "Search", - "SearchAncestorNodePerm": "Search for the authorization of the current node and ancestor nodes at the same time", + "SearchAncestorNodePerm": "Search for authorizations simultaneously on the current node and ancestor nodes", "Secret": "Password", "SecretKey": "Key", - "SecretKeyStrategy": "Password Strategy", - "SecretType": "Ciphertext Type", + "SecretKeyStrategy": "Password Policy", "Secure": "Security", "Security": "Security Settings", - "SecurityCommandExecution": "Batch commands", - "SecurityInsecureCommand": "Once enabled, an alarm notification will be sent via email when hazardous commands are executed on the asset", - "SecurityInsecureCommandEmailReceiver": "When there are multiple emails, separate them with a comma ','", - "SecurityLoginLimitCount": "Limit Login Failure Attempts", - "SecurityLoginLimitTime": "Disable Login Interval", - "SecurityMaxIdleTime": "Max Idle Connection Time", - "SecurityMfaAuth": "Multi-factor Authentication", - "SecurityPasswordExpirationTime": "Password Expiry Time", - "SecurityPasswordLowerCase": "Must Include Lowercase Letters", - "SecurityPasswordMinLength": "Password Minimum Length", - "SecurityPasswordNumber": "Numeric Characters Required", - "SecurityPasswordSpecialChar": "Must contain special characters", - "SecurityPasswordUpperCase": "Must Include Uppercase Letters", - "SecurityServiceAccountRegistration": "Component Registration", - "SecuritySetting": "Security Settings", "Select": "Select", - "SelectAccount": "Select Account", "SelectAdhoc": "Select Command", "SelectAll": "Select All", - "SelectAssetsMessage": "Select assets on the left, choose the running system user, execute commands in bulk", - "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", - "SelectAttrs": "Select attributes", - "SelectByAttr": "Property filter", - "SelectCreateMethod": "Select Creation Method", - "SelectFile": "Select File", + "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", + "SelectAttrs": "Select Attributes", + "SelectByAttr": "Attribute Filter", + "SelectFile": "Select File.", "SelectKeyOrCreateNew": "Select Tag Key or Create New One", - "SelectLabelFilter": "Select Search Labels", - "SelectPlatforms": "Select platform", - "SelectProperties": "Select Attributes", + "SelectLabelFilter": "Select Tag Search", + "SelectPlatforms": "Select Platform", + "SelectProperties": "Select Attribute", "SelectResource": "Select Resources", "SelectTemplate": "Select Template", - "SelectValueOrCreateNew": "Select Tag Value or Create New", + "SelectValueOrCreateNew": "Select Tag Value or Create New One", "Selected": "Selected", - "SelectedAssets": "Selected Assets:", "Selection": "Selectable", "Selector": "Selector", "Send": "Send", "SendVerificationCode": "Send Verification Code", - "Sender": "Sender", - "Senior": "Advanced", - "SerialNumber": "Serial number", + "SerialNumber": "Serial Number", "ServerAccountKey": "Service Account Key", "ServerError": "Server Error", "ServerTime": "Server Time", - "ServiceRatio": "Component Load Statistics", "Session": "Session", - "SessionActiveCount": "Online Session Amount", "SessionData": "Session Data", "SessionDetail": "Session Details", "SessionID": "Session ID", - "SessionList": "Session Log", - "SessionMonitor": "Monitoring", + "SessionList": "Conversation History", + "SessionMonitor": "Monitor", "SessionOffline": "Historical Sessions", - "SessionOnline": "Online Sessions", - "SessionSecurity": "Session Security", + "SessionOnline": "Online Session", + "SessionSecurity": "Session security", "SessionState": "Session Status", - "SessionTerminate": "Conversation Ended", - "SessionTrend": "Session Trend", - "Sessions": "Session ", + "SessionTerminate": "Session Termination", + "SessionTrend": "Session Trends", + "Sessions": "Session管理", "SessionsAudit": "Session Audit", "SessionsNum": "Number of Sessions", - "Set": "Already set", - "SetAdDomainNoDisabled": "Create standard account using privileged account on assets, can't be modified if AD domain is set (Windows)", - "SetDingTalk": "Set up DingTalk Authentication", - "SetFailed": "Settings Failed", - "SetFeiShu": "Setup Feishu Authentication", - "SetMFA": "Set Up Multi-Factor Authentication", - "SetPublicKey": "Set SSH Public Key", - "SetSlack": "Set up Slack authentication", - "SetStatus": "Set Status", - "SetSuccess": "Settings applied", + "Set": "Configured", + "SetDingTalk": "Configure DingTalk Authentication", + "SetFailed": "Setting Failed", + "SetFeiShu": "Set Feishu Authentication", + "SetMFA": "Set Multi-factor Authentication", + "SetSlack": "Set-up Slack Authentication", + "SetStatus": "Status Setting", + "SetSuccess": "Successfully Set", "SetToDefault": "Set as Default", - "SetToDefaultStorage": "Set as default storage", - "SetWeCom": "Setting Enterprise WeChat Authorization", + "SetToDefaultStorage": "Set as Default Storage", + "SetWeCom": "Set up Enterprise WeChat Authentication", "Setting": "Settings", - "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Component Settings / service endpoints", + "SettingInEndpointHelpText": "Configure service address and port in System Settings / Component Settings / Server Endpoints", "Settings": "System Settings", "Show": "Display", - "ShowAssetAllChildrenNode": "Show All Sub-node Assets", - "ShowAssetOnlyCurrentNode": "Show Assets of Current Node Only", + "ShowAssetAllChildrenNode": "Show All Sub-nodes Assets", + "ShowAssetOnlyCurrentNode": "Only Show Current Node Assets", "ShowNodeInfo": "Show Node Details", - "SignChannelNum": "Signature Channel Number", - "SignaturesAndTemplates": "Signatures and Templates", - "SiteMessage": "Internal Mail", - "SiteMessageList": "Internal Message", - "SiteUrl": "Current Site URL", - "Skip": "Ignore the current asset", + "SignChannelNum": "Channel Number Signature", + "SiteMessage": "Site Message", + "SiteMessageList": "Internal Mail", + "Skip": "Ignore Current Asset", "Skipped": "Skipped", "Slack": "Slack", "Source": "Source", - "SourceIP": "Source Address\"", - "SourcePort": "Source port", + "SourceIP": "Source Address", + "SourcePort": "Source Port", "Spec": "Specify", - "SpecAccount": "Specify Account", - "SpecAccountTip": "Specify Username Select Authorized Account", - "SpecialSymbol": "Special Characters", - "SpecificInfo": "Special information", - "Sqlserver": "SQLServer", + "SpecAccount": "Designated Account", + "SpecAccountTip": "Specify username to choose authorized account", + "SpecialSymbol": "Special Character", + "SpecificInfo": "Special Information", "SshKeyFingerprint": "SSH Fingerprint", - "SshPort": "SSH Port", - "Sshkey": "sshkey", - "SshkeyAccount": "Key Account", - "StartEvery": "Start, Each", - "Startswith": "Beginning with...", - "Stat": "Success/ Failure/ Total", + "Startswith": "Starts with...", "State": "Status", - "StateClosed": "Turned Off", + "StateClosed": "Is Closed", "Status": "Status", - "StatusGreen": "Recent Good Status", - "StatusRed": "Last Task Execution Failure", - "StatusYellow": "Recent Execution Failures", + "StatusGreen": "Recently in Good Condition", + "StatusRed": "Last Task Execution Failed", + "StatusYellow": "There have been recent failures", "Stop": "Stop", - "Storage": "Storage", - "StorageConfiguration": "Store Configuration", + "StorageSetting": "Storage Settings", "Strategy": "Strategy", - "StrategyCreate": "Create policy", + "StrategyCreate": "Create Policy", "StrategyDetail": "Policy Details", - "StrategyHelpTips": "Determine the unique attribute of the asset (such as the platform) based on the policy priority. When multiple configurations are possible for the asset attribute (such as the node), all Actions of the policies will be executed", - "StrategyList": "Strategy List", + "StrategyHelpTips": "Identify the unique attributes of assets (such as platforms) based on priority of strategies; when an asset's attribute (like nodes) can be configured to multiple, all Actions of the strategies will be executed.", + "StrategyList": "Policy List", "StrategyUpdate": "Update Policy", "SuFrom": "Switch From", - "Subject": "Theme", "Submit": "Submit", - "SubmitSelector": "Submit button selector", - "Subscription": "Message Subscription", - "SubscriptionID": "Subscription Authorization ID", - "Success": "Successful", + "Success": "Success", "SuccessAsset": "Successful Assets", - "SuccessfulOperation": "Operation Successful", - "SudoHelpMessage": "Separate multiple commands with a comma, such as: /bin/whoami,/sbin/ifconfig", - "Summary(success/total)": "Overview ( Success/Total )", + "SuccessfulOperation": "Action successful", + "Summary(success/total)": " Overview( Successful/Total )", "Sunday": "Sunday", "SuperAdmin": "Super Administrator", - "SuperOrgAdmin": "Super Administrator + Organization Administrator", + "SuperOrgAdmin": "Super Admin + Organization Admin", "Support": "Support", - "SupportedProtocol": "Supported Protocol", - "SupportedProtocolHelpText": "Set the protocols supported by assets. Clicking the settings button can modify custom configurations for protocols, such as SFTP directory, RDP AD domain, etc.", - "SwitchPage": "Switch Views", - "SwitchToUser": "Su User", - "SwitchToUserListTips": "When connecting to assets through the following users, the current system user will be used to log in and then switch.", - "SymbolSet": "Special Symbols Collection", - "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If the randomly generated password contains special characters that this type of database does not support, the change password plan will fail", - "Sync": "Synchronization", - "SyncDelete": "Sync Delete", - "SyncInstanceTaskCreate": "Create Synchronization Task", - "SyncInstanceTaskDetail": " Synchronization task details", - "SyncInstanceTaskHistoryAssetList": "Sync Instance List", - "SyncInstanceTaskHistoryList": "Sync History List", - "SyncInstanceTaskList": "Sync Task List", + "SupportedProtocol": "Supported Protocols", + "SupportedProtocolHelpText": "Set supported protocols for the asset, you can modify the custom configurations, such as SFTP directory, RDP AD domain, etc., by clicking on the set button", + "Sync": "Sync", + "SyncDelete": "Synchronous Delete", + "SyncInstanceTaskCreate": "Create Sync Task", + "SyncInstanceTaskDetail": "Sync Task Details", + "SyncInstanceTaskHistoryAssetList": "Synchronize instance list", + "SyncInstanceTaskHistoryList": "Synchronization History List", + "SyncInstanceTaskList": "Synchronization Task List", "SyncInstanceTaskUpdate": "Update Sync Task", - "SyncProtocolToAsset": "Synchronize Agreement to Assets", "SyncSelected": "Sync Selected", "SyncSetting": "Sync Settings", - "SyncStrategy": "Sync Policy", - "SyncSuccessMsg": "Synchronization Successful", - "SyncTask": "Synchronized Task", - "SyncUpdateAccountInfo": "Synchronize account information", - "SyncUser": "Synchronize User", + "SyncStrategy": "Synchronization Policy", + "SyncSuccessMsg": "Synchronization Succeeded", + "SyncTask": "Synchronize Tasks", + "SyncUpdateAccountInfo": "Synchronize Account Info Update", + "SyncUser": "Synchronize Users", "SyncedCount": "Synchronized", - "SystemCpuLoad": "CPU Load", - "SystemDiskUsedPercent": "Disk Usage Rate", "SystemError": "System Error", - "SystemMemoryUsedPercent": "Memory Usage Rate", - "SystemMessageSubscription": "System Message Subscription", "SystemRole": "System Roles", - "SystemRoles": "System Role", + "SystemRoles": "System Roles", "SystemSetting": "System Settings", "SystemTools": "System Tools", - "SystemUser": "System User", - "SystemUserAmount": "System User Count", - "SystemUserCount": "System User", - "SystemUserCreate": "Create System User", - "SystemUserDetail": "System user details", - "SystemUserId": "System User Id", - "SystemUserList": "System Users", - "SystemUserListHelpMessage": "System User is the account JumpServer uses when logging in to assets, such as root `ssh root@host`, instead of logging in to the asset with this username (ssh admin@host)`;
Privileged User is an existing asset user who has advanced privileges. JumpServer uses this user to `push system users`, `acquire hardware information about the assets`, etc;
Regular User can preexist on an asset, or can be created automatically by the Privileged User.", - "SystemUserName": "System Username", - "SystemUserUpdate": "Update System User", - "SystemUsers": "System Users", - "System_usersAmount": "System User", - "System_users_nameGroup": "System Username", - "System_users_protocolGroup": "System User Agreement", - "System_users_usernameGroup": "System Username", - "TableColSettingInfo": "Please select the detailed information you would like to display on the list.", + "TableColSettingInfo": "Please select the list details you want to display.", "Target": "Target", "TargetResources": "Target Resource", "Task": "Task", - "TaskCenter": "Task Center", "TaskDetail": "Task Details", - "TaskDispatch": "Task Issued Successfully", - "TaskDone": "Task Ended", + "TaskDone": "Task Finished", "TaskID": "Task ID", "TaskList": "Task List", "TaskMonitor": "Task Monitoring", - "TaskName": "Task Name", - "TaskVersions": "Task Versions", - "Tasks": "Task", "TechnologyConsult": "Technical Consultation", - "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after usage", + "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", "Template": "Template", - "TemplateAdd": "Template Addition", + "TemplateAdd": "Template Added", "TemplateCreate": "Create Template", - "TemplateDetail": "Template Details", - "TemplateHelpText": "When choosing to add by template, accounts not existing under the asset will be automatically created and pushed", - "TemplateUpdate": "Update Template", - "Templates": "Template", + "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", "TencentCloud": "Tencent Cloud", "Terminal": "Component Settings", - "TerminalAssetListPageSize": "Asset Pagination Per Page Quantity", - "TerminalAssetListSortBy": "Sort Asset List", "TerminalDetail": "Terminal Details", - "TerminalHeartbeatInterval": "Heartbeat Interval", - "TerminalPasswordAuth": "Password Authentication", - "TerminalPublicKeyAuth": "Key Authentication", - "TerminalSessionKeepDuration": "Session Retention Duration", - "TerminalStat": "CPU/Memory/Disk", - "TerminalTelnetRegex": "Telnet Successful Regular Expression", "TerminalUpdate": "Update Terminal", "TerminalUpdateStorage": "Update Terminal Storage", "Terminate": "Termination", - "TerminateTaskSendSuccessMsg": "The termination task has been issued, please refresh later to check", + "TerminateTaskSendSuccessMsg": "Task termination has been issued, please refresh and check later", "TermsAndConditions": "Terms and Conditions", "Test": "Test", "TestAccountConnective": "Test Account Connectivity", - "TestAllSystemUsersConnective": "Test All System Users' Connectivity", "TestAssetsConnective": "Test Asset Connectivity", "TestConnection": "Test Connection", - "TestGatewayHelpMessage": "If you are using NAT port mapping, set it to the port that SSH really listens to", - "TestGatewayTestConnection": "Test Gateway Connection", - "TestHelpText": "Please Enter Destination Address for Testing", - "TestLdapLoginSubtitle": "Please submit LDAP configuration before test login", + "TestGatewayHelpMessage": "If NAT port mapping is used, please set it to the real port listened to by SSH", + "TestGatewayTestConnection": "Test Connect to Gateway", "TestLdapLoginTitle": "Test LDAP user login", - "TestMultiPort": "Separate Multiple Ports with a Comma", - "TestNodeAssetConnectivity": "Test Asset Node Connectivity", - "TestParam": "Parameter", - "TestPortErrorMsg": "Wrong port, please enter again", - "TestSelected": "Test Selected", - "TestSelectedSystemUsersConnective": "Test Connectivity of Selected System User", - "TestSuccessMsg": "Test Successful", - "The": "Number", - "ThisPeriodic": "This is a periodic job", + "TestNodeAssetConnectivity": "Test Connectivity of Asset Nodes", + "TestPortErrorMsg": "Port Error, Please Re-enter", + "TestSuccessMsg": "Test Succeeded", "Thursday": "Thursday", - "Ticket": "Work Order", - "TicketCreate": "Create Work Order", + "Ticket": "Work Orders", "TicketDetail": "Work Order Details", "TicketFlow": "Work Order Flow", "TicketFlowCreate": "Create Approval Flow", "TicketFlowUpdate": "Update Approval Flow", - "Tickets": "Ticket List", - "TicketsDone": "Completed Work Order", - "TicketsNew": "Submit Work Order", - "TicketsTodo": "Pending Work Orders", + "Tickets": "Work Order List", "Time": "Time", "TimeDelta": "Running Time", "TimeExpression": "Time Expression", - "TimePeriod": "Time Period", "Timeout": "Timeout", - "TimeoutHelpText": "When this value is -1, no timeout period is specified", - "Timer": "Scheduled Execution", - "TimerPeriod": "Scheduled Execution Cycle", - "TimesWeekUnit": "Times/Week", + "TimeoutHelpText": "When this value is -1, no timeout is specified.", + "Timer": "Schedule Execution", "Title": "Title", "To": "To", "Today": "Today", - "TodayFailedConnections": "Number of Failed Connections Today", + "TodayFailedConnections": "Failed Connections Today", "Token": "Token", - "TokenHTTPMethod": "Token Acquisition Method", - "TopAssetsOfWeek": "Weekly TOP10 Assets", - "TopUsersOfWeek": "Top 10 Weekly Users", "Total": "Total", - "TotalJobFailed": "Number of Failed Jobs", - "TotalJobLog": "Job Execution Total", - "TotalJobRunning": "Number of jobs in action", - "TotalVersions": "Version Count", + "TotalJobFailed": "Number of Failed Execution Actions", + "TotalJobLog": "Total Number of Job Executions", + "TotalJobRunning": "Number of Running Jobs", "Transfer": "Transfer", - "True": "Yes", "Tuesday": "Tuesday", - "TwoAssignee": "Secondary Receiver", - "TwoAssigneeType": "Second-Level Acceptance Type", + "TwoAssignee": "Subscribe to Authorization ID", + "TwoAssigneeType": "Secondary Recipient Type", "Type": "Type", "Types": "Type", - "UCloud": "UCloud", - "UPPER_CASEREQUIRED": "Must include uppercase letters", - "UnSyncCount": "Un-synced", - "Unbind": "Unbind", - "UnbindHelpText": "Local users are from this authentication source and cannot be unlinked", + "UCloud": "UCloud UHost", + "UnSyncCount": "Not Synced", + "Unbind": "Unlink", + "UnbindHelpText": "Local users are the source of this authentication and cannot be unbound", "Unblock": "Unlock", "UnblockSuccessMsg": "Unlock Successful", "UnblockUser": "Unlock User", - "UniqueError": "Only one of the following attributes can be set", - "Unknown": "Unknown", - "UnlockSuccessMsg": "Unlock Success", - "Unreachable": "Cannot Connect", - "UnselectedAssets": "No assets selected or selected assets do not support SSH protocol connection", - "UnselectedNodes": "No Node Selected", + "UniqueError": "Only One of the Following Properties Can Be Set", + "UnlockSuccessMsg": "Unlock Successful", "UnselectedOrg": "No Organization Selected", - "UnselectedUser": "No user selected", - "UpDownload": "Upload Download", + "UnselectedUser": "No User Selected", + "UpDownload": "Upload & Download", "Update": "Update", "UpdateAccount": "Update Account", - "UpdateAccountMsg": "Please Update System User Account Info", "UpdateAccountTemplate": "Update Account Template", - "UpdateAssetDetail": "Configure More Information", + "UpdateAssetDetail": "Configure more information", "UpdateAssetUserToken": "Update Account Authentication Information", "UpdateEndpoint": "Update Endpoint", "UpdateEndpointRule": "Update Endpoint Rules", "UpdateErrorMsg": "Update Failed", - "UpdateMFA": "Change Multi-Factor Authentication", "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", - "UpdatePassword": "Update Password", "UpdateSSHKey": "Update SSH Public Key", - "UpdateSecret": "Update Ciphertext", "UpdateSelected": "Update Selected", "UpdateSuccessMsg": "Update Successful", "Updated": "Updated", - "UpdatedBy": "Updater", "Upload": "Upload", - "UploadCsvLth10MHelpText": "Only csv/xlsx files can be uploaded, and must not exceed 10M", + "UploadCsvLth10MHelpText": "Only csv/xlsx can be uploaded, and no more than 10M", "UploadDir": "Upload Directory", - "UploadFailed": "Upload Failed", - "UploadFile": "Upload File", - "UploadFileLthHelpText": "Only files less than {limit} MB can be uploaded", + "UploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded", "UploadPlaybook": "Upload Playbook", - "UploadSucceed": "Upload Successful", - "UploadZipTips": "Please Upload a Zip Format File", - "Uploading": "File Upload in Progress", - "Uppercase": "Capital Letters", - "UseParameterDefine": "Define Parameters", - "UseProtocol": "Use Protocol", + "UploadSucceed": "Upload Succeeded", + "UploadZipTips": "Please upload a file in zip format", + "Uploading": "Uploading File", + "Uppercase": "Uppercase Letter", + "UseProtocol": "User Agreement", "UseSSL": "Use SSL/TLS", "User": "User", - "UserAclDetail": "User Login Rule Details", - "UserAclList": "User Login", "UserAclLists": "User Login Rules", "UserAssetActivity": "Account/Asset Activity", - "UserCount": "User count", "UserCreate": "Create User", "UserData": "Account Data", "UserDetail": "User Details", - "UserFirstLogin": "First Login", - "UserGroupCount": "Number of user groups", "UserGroupCreate": "Create User Group", "UserGroupDetail": "User Group Details", - "UserGroupList": "User Group", + "UserGroupList": "Groups", "UserGroupUpdate": "Update User Group", - "UserGroups": "User Group", - "UserGuide": "User Guide", - "UserGuideUrl": "User Guide URL", - "UserIP": "Login IP", + "UserGroups": "User Groups", "UserInformation": "User Information", - "UserList": "User List", - "UserLoginACL": "User Login", - "UserLoginACLCreate": "Create User Login Rule", - "UserLoginACLDetail": "User Login Restrictions", - "UserLoginACLHelpMsg": "When logging in the system, you may audit based on the user's login IP and time period to decide whether to grant system access (effective globally)", - "UserLoginACLUpdate": "Update User Login Rules", + "UserList": "Users", + "UserLoginACLHelpMsg": "When logging into the system, the user's login IP and time range can be audited to determine whether they are allowed to log into the system (effective globally)", "UserLoginAclCreate": "Create User Login Control", "UserLoginAclDetail": "User Login Control Details", "UserLoginAclList": "User Login", "UserLoginAclUpdate": "Update User Login Control", "UserLoginLimit": "User Login Restriction", "UserLoginTrend": "Account Login Trend", - "UserName": "Name", - "UserNameSelector": "Username Input Box Selector", - "UserPage": "User View", "UserProfile": "Personal Information", - "UserRatio": "User Proportion Statistics", - "UserSession": "User Session", + "UserSession": "User Sessions", "UserSetting": "Preference Settings", - "UserSwitch": "User switch", - "UserSwitchFrom": "Switch From", "UserUpdate": "Update User", - "UserUsername": "User (Username)", "Username": "Username", - "UsernameGroup": "Username", - "UsernameHelpMessage": "Username is dynamic, use the current user's username when logging in to assets", - "UsernameOfCreateUpdatePage": "On target host, the username of the user; if existing, modifies the password; if it does not exist, add the user and set the password,", - "UsernamePlaceholder": "Enter Username", + "UsernamePlaceholder": "Please Enter Username", "Users": "User", "UsersAmount": "User", "UsersAndUserGroups": "User/User Group", - "UsersTotal": "Total Accounts", - "Valid": "Valid", - "Validity": "Valid", - "Value": "Value", + "UsersTotal": "Total Number of Accounts", + "Valid": "Effective", "Variable": "Variable", - "VariableHelpText": "You can use {{ key }} to read built-in variables in the command", - "Vault": "Password Box", - "VaultHelpText": "1. Due to security reasons, the Vault storage needs to be activated in the configuration file.
2. Once activated, fill in the other configurations and conduct testing.
3. Perform data synchronization, which is unidirectional - it only syncs from the local database to the remote Vault. Once synchronization is finished, the local database will no longer store passwords. Please backup your data.
4. If you need to modify the Vault configuration a second time, the service needs to be restarted.", - "Vendor": "Manufacturer", + "VariableHelpText": "You Can Use {{ key }} to Read Built-in Variables in Commands", + "VaultHelpText": "1. For security reasons, Vault storage must be enabled in the configuration file.
2. After enabled, fill in other configurations, and perform tests.
3. Carry out data synchronization, which is one-way, only syncing from the local database to the distant Vault, once synchronization is completed, the local database will no longer store passwords, please back up your data.
4. After modifying Vault configuration the second time, you need to restart the service.", "VerificationCodeSent": "Verification code has been sent", "VerifySignTmpl": "Verification Code SMS Template", "Version": "Version", - "VersionDetail": "Version Details", - "VersionRunExecution": "Execute History", "View": "View", - "ViewBlockedIPSHelpText": "View the list of locked IPs", - "ViewMore": "See More", + "ViewBlockedIPSHelpText": "View List of Locked IPs", + "ViewMore": "View More", "ViewPerm": "View Authorization", - "ViewSecret": "View Cipher Text", - "VirtualAccountDetail": "Virtual Account Details", + "ViewSecret": "View Ciphertext", + "VirtualAccountDetail": "Details of virtual account", "VirtualAccountUpdate": "Virtual Account Update", - "VirtualAccounts": "Virtual Account", - "VirtualApp": " Virtual Apps", - "VirtualAppDetail": "Virtual Application Details", - "VirtualApps": "Virtual Apps", - "VmwareClient": "vSphere Client", - "VmwarePassword": "Login Password", - "VmwareTarget": "Target Address", - "VmwareUsername": "Login Account", - "WeCom": "Enterprise WeChat", + "VirtualAccounts": "Virtual Accounts", + "VirtualApp": "Virtual Application", + "VirtualAppDetail": "Virtual App Details", + "VirtualApps": "Virtual Application", + "WeCom": "WeChat for Business", "WeComTest": "Test", - "WebCreate": "Create Assets-Web", - "WebFTP": "File", - "WebHelpMessage": "Web type assets depend on remote applications. Please configure in remote applications in the system settings", - "WebSocketDisconnect": "WebSocket Disconnection", + "WebCreate": "Create Asset-Web", + "WebHelpMessage": "Web type assets depend on remote applications, please go to system settings and configure in remote applications", + "WebSocketDisconnect": "WebSocket Disconnected", "WebTerminal": "Web Terminal", "WebUpdate": "Update Asset-Web", "Wednesday": "Wednesday", "Week": "Week", - "WeekAdd": "Added This Week", - "WeekOf": "Days of the Week", + "WeekAdd": "New this Week", "WeekOrTime": "Day/Time", - "Weekly": "Weekly", - "WildcardsAllowed": "Permitted Wildcards", - "WindowsAdminUser": "Windows Privileged User", - "WindowsPushHelpText": "Windows Assets do not Support Key Pushing", + "WildcardsAllowed": "Allowed Wildcards", + "WindowsPushHelpText": "Windows assets temporarily do not support key push", "WordSep": "", - "WorkBench": "Workbench", - "Workbench": "Workbench", + "Workbench": "Workspace", "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} \ No newline at end of file +} diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 09d1577f9..7145a3e7f 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -1,8 +1,5 @@ { - "": "", "APIKey": "API Key", - "AWSChina": "AWS(中国)", - "AWSInt": "AWS(国际)", "About": "关于", "Accept": "同意", "AccessIP": "IP 白名单", @@ -15,19 +12,12 @@ "AccountCreate": "创建账户", "AccountDeleteConfirmMsg": "删除账号,是否继续?", "AccountDetail": "账户详情", - "AccountEnabled": "启用切换账号", "AccountExportTips": "导出信息中包含账号密文涉及敏感信息,导出的格式为一个加密的zip文件(若没有设置加密密码,请前往个人信息中设置文件加密密码)。", - "AccountGather": "账号收集", "AccountGatherList": "收集任务", "AccountGatherTaskCreate": "创建任务", - "AccountGatherTaskExecutionList": "任务执行列表", "AccountGatherTaskList": "账号收集", "AccountGatherTaskUpdate": "更新任务", - "AccountHelpText": "云账号是用来连接云服务商的账号,用于获取云服务商的资源信息", - "AccountHistoryHelpMessage": "记录当前账号的历史版本", - "AccountKey": "账户密钥", "AccountList": "云账号", - "AccountName": "账户名称", "AccountPolicy": "账号策略", "AccountPushCreate": "账号推送创建", "AccountPushExecutionList": "执行列表", @@ -37,27 +27,18 @@ "AccountTemplate": "账号模版", "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", "AccountUpdate": "更新账户", - "AccountUsername": "账号(用户名)", "Accounts": "账号管理", - "AccountsHelp": "所有账号: 资产上已添加的所有账号;
指定账号:指定资产下账号的用户名;
手动账号: 用户名/密码 登录时手动输入;
同名账号: 与被授权人用户名相同的账号;", - "Acl": "访问控制", - "Acls": "访问控制", "Action": "动作", "ActionCount": "动作数量", "ActionSetting": "动作设置", "Actions": "动作", "ActionsTips": "各个权限作用协议不尽相同,点击权限后面的图标查看", "Activate": "激活", - "ActivateSuccessMsg": "激活成功", "Active": "激活中", "ActiveAsset": "近期被登录过", "ActiveAssetRanking": "登录资产排名", - "ActiveSelected": "激活所选", "ActiveUser": "近期登录过", - "ActiveUserAssetsRatioTitle": "占比统计", "Activity": "活动", - "AdDomain": "AD域名", - "AdDomainHelpText": "提供给域用户登录的AD域名", "Add": "新增", "AddAccount": "添加账号", "AddAccountResult": "账号批量添加结果", @@ -65,18 +46,11 @@ "AddAsset": "添加资产", "AddAssetToNode": "添加资产到节点", "AddAssetToThisPermission": "添加资产", - "AddDatabaseAppToThisPermission": "添加数据库应用", - "AddFailMsg": "添加失败", - "AddK8sAppToThisPermission": "添加Kubernetes应用", "AddNode": "添加节点", "AddNodeToThisPermission": "添加节点", - "AddOrgMembers": "添加组织成员", "AddPassKey": "添加 Passkey(通行密钥)", - "AddRemoteAppToThisPermission": "添加远程应用", "AddRolePermissions": "创建/更新成功后,详情中添加权限", "AddSuccessMsg": "添加成功", - "AddSystemUser": "添加系统用户", - "AddSystemUserToThisPermission": "添加系统用户", "AddUserGroupToThisPermission": "添加用户组", "AddUserToThisPermission": "添加用户", "Address": "地址", @@ -84,19 +58,10 @@ "AdhocDetail": "命令详情", "AdhocManage": "命令管理", "AdhocUpdate": "更新命令", - "Admin": "管理员", - "AdminUser": "特权用户", - "AdminUserCreate": "创建管理用户", - "AdminUserDetail": "管理用户详情", - "AdminUserList": "管理用户", - "AdminUserListHelpMessage": "特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。", - "AdminUserUpdate": "更新管理用户", - "Admin_usersAmount": "特权用户", "Advanced": "高级设置", "AfterChange": "变更后", "AjaxError404": "404 请求错误", "AlibabaCloud": "阿里云", - "Alive": "在线", "Aliyun": "阿里云", "All": "全部", "AllAccountTip": "资产上已添加的所有账号", @@ -111,19 +76,10 @@ "ApiKey": "API Key", "ApiKeyList": "使用 Api key 签名请求头进行认证,每个请求的头部是不一样的, 相对于 Token 方式,更加安全,请查阅文档使用;
为降低泄露风险,Secret 仅在生成时可以查看, 每个用户最多支持创建 10 个", "ApiKeyWarning": "为降低 AccessKey 泄露的风险,只在创建时提供 Secret,后续不可再进行查询,请妥善保存。", - "App": "应用", - "AppAmount": "应用数量", - "AppAuth": "App认证", "AppEndpoint": "应用接入地址", - "AppList": "应用列表", - "AppName": "应用名称", "AppOps": "任务中心", - "AppPath": "应用路径", "AppProvider": "应用提供者", "AppProviderDetail": "应用提供者详情", - "AppType": "应用类型", - "App_permsAmount": "应用授权", - "AppletCreate": "创建远程应用", "AppletDetail": "远程应用", "AppletHelpText": "在上传过程中,如果应用不存在,则创建该应用;如果已存在,则进行应用更新。", "AppletHostCreate": "添加远程应用发布机", @@ -134,36 +90,20 @@ "AppletHosts": "应用发布机", "Applets": "远程应用", "Applicant": "申请人", - "Application": "请输入逗号分割的应用名称组", - "ApplicationAccount": "应用账号", - "ApplicationDetail": "应用详情", - "ApplicationPermission": "应用授权", - "ApplicationPermissionCreate": "创建应用授权规则", - "ApplicationPermissionDetail": "应用授权详情", - "ApplicationPermissionRules": "应用授权规则", - "ApplicationPermissionUpdate": "更新应用授权规则", "Applications": "应用管理", - "ApplicationsAmount": "应用", "ApplyAsset": "申请资产", "ApplyFromCMDFilterRule": "命令过滤规则", "ApplyFromSession": "会话", "ApplyInfo": "申请信息", "ApplyRunAsset": "申请运行的资产", "ApplyRunCommand": "申请运行的命令", - "ApplyRunSystemUser": "申请运行的系统用户", "ApplyRunUser": "申请运行的用户", - "Apply_loginAccount": "申请登录账号", - "Apply_loginAsset": "申请登录资产", - "Apply_loginUser": "申请登录用户", - "Apply_login_systemUser": "申请登录系统用户", "Appoint": "指定", "ApprovaLevel": "审批信息", "ApprovalLevel": "审批级别", "ApprovalProcess": "审批流程", "Approved": "已同意", "ApproverNumbers": "审批人数量", - "AppsCount": "应用数量", - "AppsList": "应用列表", "ApsaraStack": "阿里云专有云", "Asset": "资产", "AssetAccount": "账号列表", @@ -179,30 +119,20 @@ "AssetChangeSecretCreate": "创建账号改密", "AssetChangeSecretUpdate": "更新账号改密", "AssetCount": "资产数量", - "AssetCreate": "创建资产", "AssetData": "资产数据", "AssetDetail": "资产详情", - "AssetHistoryAccount": "资产历史账号", "AssetList": "资产列表", "AssetListHelpMessage": "左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产\n", "AssetLoginACLHelpMsg": "登录资产时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录资产", "AssetName": "资产名称", - "AssetNumber": "资产编号", "AssetPermission": "资产授权", "AssetPermissionCreate": "创建资产授权规则", "AssetPermissionDetail": "资产授权详情", "AssetPermissionHelpMsg": "资产授权允许您选择用户和资产,将资产授权给用户以便访问。一旦授权完成,用户便可便捷地浏览这些资产。此外,您还可以设置特定的权限位,以进一步定义用户对资产的权限范围。", - "AssetPermissionList": "资产授权列表", "AssetPermissionRules": "资产授权规则", "AssetPermissionUpdate": "更新资产授权规则", "AssetProtocolHelpText": "资产支持的协议受平台限制,点击设置按钮可以查看协议的设置。 如果需要更新,请更新平台", - "AssetRatio": "资产占比统计", - "AssetResultDetail": "资产结果", "AssetTree": "资产树", - "AssetUpdate": "更新资产", - "AssetUserList": "资产用户", - "Asset_ipGroup": "资产IP", - "Asset_permsAmount": "资产授权", "Assets": "资产管理", "AssetsAmount": "资产", "AssetsTotal": "资产总数", @@ -211,72 +141,35 @@ "AssignedTicketList": "待我审批", "Assignee": "处理人", "Assignees": "待处理人", - "AssociateApplication": "关联应用", - "AssociateAssets": "关联资产", - "AssociateNodes": "关联节点", - "AssociateSystemUsers": "关联系统用户", "AttrName": "属性名", "AttrValue": "属性值", - "Auditor": "审计员", "Audits": "审计台", "Auth": "认证设置", - "AuthCASAttrMap": "用户属性映射", - "AuthLdap": "启用LDAP认证", - "AuthLdapBindDn": "绑定DN", - "AuthLdapBindPassword": "密码", - "AuthLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", - "AuthLdapSearchOu": "使用|分隔各OU", - "AuthLdapServerUri": "LDAP地址", - "AuthLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", "AuthLimit": "登录限制", - "AuthMethod": "认证方式", - "AuthSAML2AdvancedSettings": "高级配置", - "AuthSAML2MetadataUrl": "IDP metadata URL", - "AuthSAML2Xml": "IDP metadata XML", "AuthSAMLCertHelpText": "上传证书密钥后保存, 然后查看 SP Metadata", "AuthSAMLKeyHelpText": "SP 证书和密钥 是用来和 IDP 加密通信的", "AuthSaml2UserAttrMapHelpText": "左侧的键为 SAML2 用户属性,右侧的值为认证平台用户属性", "AuthSecurity": "认证安全", "AuthSetting": "认证设置", "AuthSettings": "认证配置", - "AuthUserAttrMap": "用户属性映射", "AuthUserAttrMapHelpText": "左侧的键为 JumpServer 用户属性,右侧的值为认证平台用户属性", - "AuthUsername": "使用用户名认证", "Authentication": "认证", - "Author": "作者", - "Auto": "自动", - "AutoCreate": "自动创建", - "AutoEnabled": "启用自动化", - "AutoGenerateKey": "随机生成密码", "AutoPush": "自动推送", "Automations": "自动化", "AverageTimeCost": "平均花费时间", "Azure": "Azure(中国)", - "AzureInt": "Azure(国际)", "Backup": "备份", "BadConflictErrorMsg": "正在刷新中,请稍后再试", "BadRequestErrorMsg": "请求错误,请检查填写内容", "BadRoleErrorMsg": "请求错误,无该操作权限", "BaiduCloud": "百度云", - "BasePlatform": "基础平台", "BasePort": "监听端口", "Basic": "基本设置", "BasicInfo": "基本信息", "BasicSetting": "基本设置", - "BasicTools": "基本工具", - "BatchActivate": "批量激活", - "BatchApproval": "批量审批", - "BatchCommand": "批量命令", - "BatchCommandNotExecuted": "未执行批量命令", "BatchConsent": "批量同意", - "BatchDelete": "批量删除", - "BatchDisable": "批量禁用", "BatchProcessing": "批量处理(选中 {Number} 项)", "BatchReject": "批量拒绝", - "BatchRemoval": "批量移除", - "BatchScript": "批量脚本", - "BatchUpdate": "批量更新", - "Become": "Become", "BeforeChange": "变更前", "Beian": "备案", "BelongAll": "同时包含", @@ -286,9 +179,6 @@ "BindResource": "关联资源", "BindSuccess": "绑定成功", "BlockedIPS": "已锁定的 IP", - "Bucket": "桶名称", - "Builtin": "内置", - "BuiltinTree": "类型树", "BuiltinVariable": "内置变量", "BulkClearErrorMsg": "批量清除失败:", "BulkCreateStrategy": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", @@ -296,8 +186,6 @@ "BulkDeleteSuccessMsg": "批量删除成功", "BulkDeploy": "批量部署", "BulkOffline": "批量下线", - "BulkRemoveErrorMsg": "批量移除失败: ", - "BulkRemoveSuccessMsg": "批量移除成功", "BulkSyncDelete": "批量同步删除", "BulkSyncErrorMsg": "批量同步失败: ", "BulkTransfer": "批量传输", @@ -305,7 +193,6 @@ "BulkUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", "CACertificate": "CA 证书", "CAS": "CAS", - "CASSetting": "CAS 配置", "CMPP2": "CMPP v2.0", "CTYunPrivate": "天翼私有云", "CalculationResults": "cron 表达式错误", @@ -313,29 +200,21 @@ "Cancel": "取消", "CancelCollection": "取消收藏", "CannotAccess": "无法访问当前页面", - "Cas": "CAS设置", "Category": "类别", "CeleryTaskLog": "Celery任务日志", "Certificate": "证书", "CertificateKey": "客户端密钥", "ChangeField": "变更字段", - "ChangePassword": "更改密码", + "ChangePassword": "更新密码", "ChangeReceiver": "修改消息接收人", "ChangeSecretParams": "改密参数", "ChangeViewHelpText": "点击切换不同视图", - "Charset": "字符集", "Chat": "聊天", "ChatAI": "智能问答", "ChatHello": "你好!我能为你提供什么帮助?", "ChdirHelpText": "默认执行目录为执行用户的 home 目录", "CheckAssetsAmount": "校对资产数量", "CheckViewAcceptor": "点击查看受理人", - "ChinaRed": "中国红", - "Chrome": "Chrome", - "ChromePassword": "登录密码", - "ChromeTarget": "目标URL", - "ChromeUsername": "登录账号", - "ClassicGreen": "经典绿", "CleanHelpText": "定期清理任务会在 每天凌晨 2 点执行, 清理后的数据将无法恢复", "Cleaning": "定期清理", "Clear": "清除", @@ -344,12 +223,8 @@ "ClearSelection": "清空选择", "ClearSuccessMsg": "清除成功", "ClickCopy": "点击复制", - "Clickhouse": "ClickHouse", "ClientCertificate": "客户端证书", - "ClipBoard": "剪切板", - "ClipboardCopy": "剪切板复制", "ClipboardCopyPaste": "剪贴板复制粘贴", - "ClipboardPaste": "剪切板粘贴", "Clone": "克隆", "CloneFrom": "副本", "Close": "关闭", @@ -357,40 +232,22 @@ "CloseConfirmMessage": "文件发生变化,是否保存?", "CloseStatus": "已完成", "Closed": "已完成", - "Cloud": "云应用", - "CloudCenter": "云管中心", "CloudCreate": "创建资产-云平台", - "CloudPlatform": "云平台", "CloudSource": "同步源", "CloudSync": "云同步", "CloudUpdate": "更新资产-云平台", - "Clouds": "云平台", "Cluster": "集群", - "ClusterHelpTextMessage": "例如:https://172.16.8.8:8443", - "CmdFilter": "命令过滤器", - "CollapseSidebar": "收起侧边栏", - "CollectHardwareInfo": "启用收集硬件信息", "CollectionSucceed": "收藏成功", "Command": "命令", - "Command filter": "命令过滤器", "CommandConfirm": "命令复核", - "CommandExecutions": "命令执行", "CommandFilterACL": "命令过滤", "CommandFilterACLHelpMsg": "通过命令过滤,您可以控制命令是否可以发送到资产上。根据您设定的规则,某些命令可以被放行,而另一些命令则被禁止。", "CommandFilterAclCreate": "创建命令过滤规则", "CommandFilterAclDetail": "命令过滤规则详情", "CommandFilterAclList": "命令过滤", "CommandFilterAclUpdate": "更新命令过滤规则", - "CommandFilterCreate": "创建命令过滤器", - "CommandFilterDetail": "命令过滤器详情", - "CommandFilterHelpMessage": "系统用户支持绑定多个命令过滤器实现禁止输入某些命令的效果;过滤器中可配置多个规则,在使用该系统用户连接资产时,输入的命令按照过滤器中配置的规则优先级生效。
例:首先匹配到的规则是“允许”,则该命令执行,首先匹配到的规则为“禁止”,则禁止该命令执行;如果最后未匹配到规则,则允许执行。", - "CommandFilterList": "命令过滤规则", "CommandFilterRuleContentHelpText": "每行一个命令", - "CommandFilterRulePriorityHelpText": "优先级可选范围为1-100,1最低优先级,100最高优先级", "CommandFilterRules": "命令过滤器规则", - "CommandFilterRulesCreate": "创建命令过滤器规则", - "CommandFilterRulesUpdate": "更新命令过滤器规则", - "CommandFilterUpdate": "更新命令过滤器", "CommandGroup": "命令组", "CommandGroupCreate": "创建命令组", "CommandGroupDetail": "命令组详情", @@ -398,12 +255,9 @@ "CommandGroupUpdate": "更新命令组", "CommandStorage": "命令存储", "CommandStorageUpdate": "更新命令存储", - "Command_filterList": "命令过滤器列表", "Commands": "命令记录", "Comment": "备注", "CommentHelpText": "注意:备注信息会在 Luna 页面的用户授权资产树中进行悬停显示,普通用户可以查看,请不要填写敏感信息。", - "Common": "普通", - "CommonUser": "普通用户", "CommunityEdition": "社区版", "Component": "组件", "ComponentMonitor": "组件监控", @@ -412,46 +266,34 @@ "Config": "配置", "Confirm": "确认", "ConfirmPassword": "确认密码", - "Connect": "连接", "ConnectMethod": "连接方式", "ConnectMethodACLHelpMsg": "通过连接方式过滤,您可以控制用户是否可以使用某种连接方式登录到资产上。根据您设定的规则,某些连接方式可以被放行,而另一些连接方式则被禁止(全局生效)。", "ConnectMethodAclCreate": "创建连接方式控制", "ConnectMethodAclDetail": "连接方式控制详情", "ConnectMethodAclList": "连接方式", "ConnectMethodAclUpdate": "更新连接方式控制", - "ConnectUsers": "连接账号", "ConnectWebSocketError": "连接 WebSocket 失败", "ConnectionDropped": "连接已断开", "ConnectionToken": "连接令牌", "ConnectionTokenList": "连接令牌是将身份验证和连接资产结合起来使用的一种认证信息,支持用户一键登录到资产,目前支持的组件包括:KoKo、Lion、Magnus、Razor 等", - "Connectivity": "可连接", "Console": "控制台", "Consult": "咨询", "ContainAttachment": "含附件", - "ContainerName": "容器名称", "Containers": "容器", "Contains": "包含", - "Content": "内容", - "Contents": "内容", "Continue": "继续", - "ContinueImport": "继续导入", "ConvenientOperate": "便捷操作", "Copy": "复制", "CopySuccess": "复制成功", "Corporation": "公司", - "Correlation": "关联", - "Cpu": "CPU", "Create": "创建", "CreateAccessKey": "创建访问密钥", "CreateAccountTemplate": "创建账号模版", - "CreateAdhoc": "创建命令", - "CreateBy": "创建者", "CreateCommandStorage": "创建命令存储", "CreateEndpoint": "创建端点", "CreateEndpointRule": "创建端点规则", "CreateErrorMsg": "创建失败", "CreateNode": "创建节点", - "CreateOrgMsg": "请去组织详情内添加用户", "CreatePlaybook": "创建 Playbook", "CreateReplayStorage": "创建对象存储", "CreateSuccessMsg": "导入创建成功,总共:{count}", @@ -460,46 +302,26 @@ "CreatedBy": "创建者", "CriticalLoad": "严重", "CronExpression": "crontab完整表达式", - "CrontabHelpTips": "eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行", "CrontabOfCreateUpdatePage": "例如:每周日 03:05 执行 <5 3 * * 0>
使用5位 Linux crontab 表达式 <分 时 日 月 星期> (在线工具
如果同时设置了定期执行和周期执行,优先使用定期执行", "CurrentConnections": "当前连接数", "CurrentUserVerify": "验证当前用户", "Custom": "自定义", - "CustomCmdline": "运行参数", "CustomCol": "自定义列表字段", "CustomCreate": "创建资产-自定义", "CustomFields": "自定义属性", "CustomFile": "请将自定义的文件放到指定目录下(data/sms/main.py),并在 config.txt 中启用配置项 SMS_CUSTOM_FILE_MD5=<文件md5值>", "CustomHelpMessage": "自定义类型资产,依赖于远程应用,请前往系统设置在远程应用中配置", "CustomParams": "左侧为短信平台接收的参数,右侧为JumpServer待格式化参数,最终如下:
{\"phone_numbers\": \"123,134\", \"content\": \"验证码为: 666666\"}", - "CustomPassword": "登录密码", - "CustomTarget": "目标地址", - "CustomTree": "自定义树", - "CustomType": "自定义类型", "CustomUpdate": "更新资产-自定义", "CustomUser": "自定义用户", - "CustomUsername": "登录账号", "CycleFromWeek": "周期从星期", "CyclePerform": "周期执行", - "DBInfo": "数据库信息", "DangerCommand": "危险命令", "DangerousCommandNum": "危险命令数", "Dashboard": "仪表盘", "Database": "数据库", - "DatabaseApp": "数据库应用", - "DatabaseAppCount": "数据库应用数量", - "DatabaseAppCreate": "创建数据库应用", - "DatabaseAppDetail": "数据库详情", - "DatabaseAppPermission": "数据库授权", - "DatabaseAppPermissionCreate": "创建数据库授权规则", - "DatabaseAppPermissionDetail": "数据库授权详情", - "DatabaseAppPermissionUpdate": "更新数据库授权规则", - "DatabaseAppUpdate": "数据库应用更新", "DatabaseCreate": "创建资产-数据库", - "DatabaseId": "数据库Id", - "DatabasePermissionRules": "数据库授权规则", "DatabasePort": "数据库协议端口", - "DatabaseProtocol": "数据库协议", "DatabaseUpdate": "更新资产-数据库", "Date": "日期", "DateCreated": "创建时间", @@ -512,30 +334,20 @@ "DateLastHarfYear": "最近半年", "DateLastLogin": "最后登录日期", "DateLastMonth": "最近一月", - "DateLastRun": "上次运行日期", "DateLastSync": "最后同步日期", "DateLastWeek": "最近一周", "DateLastYear": "最近一年", "DatePasswordLastUpdated": "最后更新密码日期", - "DatePasswordUpdated": "密码更新日期", "DateStart": "开始日期", "DateSync": "同步日期", "DateUpdated": "更新日期", - "Datetime": "日期", "Day": "日", - "Db": "数据库应用", - "DeactiveSelected": "禁用所选", "DeclassificationLogNum": "改密日志数", - "Default": "默认的", "DefaultDatabase": "默认数据库", "DefaultPort": "默认端口", - "DefaultProtocol": "默认协议, 添加资产时默认会选择", - "Defaults": "默认值", "Delete": "删除", "DeleteConfirmMessage": "删除后无法恢复,是否继续?", "DeleteErrorMsg": "删除失败", - "DeleteFailedMsg": "删除失败", - "DeleteFile": "删除文件", "DeleteNode": "删除节点", "DeleteOrgMsg": "用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权规则", "DeleteOrgTitle": "请确保组织内的以下信息已删除", @@ -543,26 +355,18 @@ "DeleteSuccess": "删除成功", "DeleteSuccessMsg": "删除成功", "DeleteWarningMsg": "你确定要删除", - "DeliveryTime": "发送时间", "Deploy": "部署", - "DescribeOfGuide": "欢迎使用JumpServer堡垒机系统,获取更多信息请点击", "Description": "描述", "DestinationIP": "目的地址", "DestinationPort": "目的端口", "Detail": "详情", - "Device": "网络设备", "DeviceCreate": "创建资产-网络设备", "DeviceUpdate": "更新资产-网络设备", "Digit": "数字", "DingTalk": "钉钉", "DingTalkTest": "测试", "Disable": "禁用", - "DisableSuccessMsg": "禁用成功", - "DisabledAsset": "禁用的", - "DisabledUser": "禁用的", - "Disk": "硬盘", "DisplayName": "名称", - "DocType": "文档类型", "Docs": "文档", "Domain": "网域", "DomainCreate": "创建网域", @@ -574,51 +378,27 @@ "Download": "下载", "DownloadCenter": "下载中心", "DownloadFTPFileTip": "当前动作不记录文件,或者文件大小超过阈值(默认100M),或者还未保存到对应存储中", - "DownloadFile": "下载文件", "DownloadImportTemplateMsg": "下载创建模板", "DownloadReplay": "下载录像", "DownloadUpdateTemplateMsg": "下载更新模板", "DragUploadFileInfo": "将文件拖到此处,或点击此处上传", - "DryRun": "测试运行", "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", - "Duration": "时长", "DynamicUsername": "动态用户名", "Edit": "编辑", "Edition": "版本", "Email": "邮箱", "EmailContent": "邮件内容定制", - "EmailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", - "EmailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", - "EmailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", - "EmailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", - "EmailEmailFrom": "", - "EmailHost": "SMTP主机", - "EmailHostPassword": "提示:一些邮件提供商需要输入的是Token", - "EmailHostUser": "SMTP账号", - "EmailPort": "SMTP端口", - "EmailRecipient": "提示:仅用来作为测试邮件收件人", - "EmailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", "EmailTest": "测试连接", - "EmailUserSSL": "如果SMTP端口是465,通常需要启用SSL", - "EmailUserTLS": "如果SMTP端口是587,通常需要启用TLS", "Empty": "空", "Enable": "启用", "EnableKoKoSSHHelpText": "开启时连接资产会显示 SSH Client 拉起方式", - "EnableOAuth2Auth": "开启 OAuth2 认证", - "EnableVaultStorage": "开启 Vault 存储", - "EndPoint": "端点", "Endpoint": "服务端点", "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", "EndpointRule": "端点规则", "EndpointRuleListHelpMessage": "对于服务端点选择策略,目前支持两种:
1、根据端点规则指定端点(当前页面);
2、通过资产标签选择端点,标签名固定是 endpoint,值是端点的名称。
两种方式优先使用标签匹配,因为 IP 段可能冲突,标签方式是作为规则的补充存在的。", - "EndpointSuffix": "端点后缀", "Endswith": "以...结尾", "EnsureThisValueIsGreaterThanOrEqualTo1": "请确保该值大于或者等于 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "请确保该值大于或者等于 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "请确保该值大于或者等于 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "请确保该值大于或者等于 6", "EnterForSearch": "按下 Enter 进行搜索", - "EnterMessage": "请输入问题, Enter 发送", "EnterRunUser": "输入运行用户", "EnterRunningPath": "输入运行路径", "EnterToContinue": "按下 Enter 继续输入", @@ -629,25 +409,19 @@ "Error": "错误", "ErrorMsg": "错误", "EsDisabled": "节点不可用, 请联系管理员", - "EsDocType": "es 默认文档类型:command", "EsIndex": "es 提供默认 index:jumpserver。如果开启按日期建立索引,那么输入的值会作为索引前缀", "EsUrl": "不能包含特殊字符 `#`;eg: http://es_user:es_password@es_host:es_port", "Every": "每", - "EveryMonth": "每月", "Exclude": "不包含", "ExcludeAsset": "跳过的资产", "ExcludeSymbol": "排除字符", "Execute": "执行", - "ExecuteCycle": "执行周期", - "ExecuteFailedCommand": "执行失败命令", "ExecuteOnce": "执行一次", "Execution": "执行历史", "ExecutionDetail": "执行历史详情", "ExecutionList": "执行列表", - "ExecutionTimes": "执行次数", "ExistError": "这个元素已经存在", "Existing": "已存在", - "ExpectedNextExecuteTime": "预计下次执行时间", "ExpirationTimeout": "过期超时时间(秒)", "Expire": " 过期", "Expired": "过期时间", @@ -656,20 +430,13 @@ "ExportOnlyFiltered": "仅导出搜索结果", "ExportOnlySelectedItems": "仅导出选择项", "ExportRange": "导出范围", - "FAILURE": "失败", "FC": "Fusion Compute", "Failed": "失败", "FailedAsset": "失败的资产", - "FailedConditions": "没有达到条件的结果!", - "False": "否", - "Favicon": "网站图标", "FaviconTip": "提示:网站图标(建议图片大小为: 16px*16px)", - "Feature": "功能", "Features": "功能设置", "FeiShu": "飞书", "FeiShuTest": "测试", - "FieldRequiredError": "这个字段是必填项", - "FileEncryptionPassword": "文件加密密码", "FileManager": "文件管理", "FileNameTooLong": "文件名太长", "FileSizeExceedsLimit": "文件大小超出限制", @@ -681,90 +448,61 @@ "Finished": "完成", "FinishedTicket": "完成工单", "FirstLogin": "首次登录", - "FlowDetail": "流程详情", "FlowSetUp": "流程设置", "FormatError": "格式错误", "Friday": "周五", "From": "从", "FromTicket": "来自工单", - "FtpLog": "FTP日志", "FullName": "全称", "FullySynchronous": "资产完全同步", "FullySynchronousHelpTips": "当资产条件不满足匹配策略规则时,是否继续同步此类资产", - "FuzzySearch": "支持模糊搜索", "GCP": "谷歌云", "GPTCreate": "创建资产-GPT", "GPTUpdate": "更新资产-GPT", - "Gateway": "网关", "GatewayCreate": "创建网关", "GatewayList": "网关列表", - "GatewayProtocolHelpText": "SSH网关,支持代理SSH,RDP和VNC", "GatewayUpdate": "更新网关", "GeneralAccounts": "普通账号", "Generate": "生成", "GenerateAccounts": "重新生成账号", "GenerateSuccessMsg": "账号生成成功", - "GetErrorMsg": "获取失败", - "Go": "执行", "GoHomePage": "去往首页", "Goto": "转到", - "GrantedAccounts": "授权的账号", - "GrantedApplications": "授权的应用", "GrantedAssets": "授权的资产", - "GrantedDatabases": "授权的数据库", - "GrantedK8Ss": "授权的Kubernetes", - "GrantedRemoteApps": "授权的远程应用", "GreatEqualThan": "大于等于", "GroupsAmount": "用户组", - "GroupsHelpMessage": "请输入用户组,多个用户组使用逗号分隔(需填写已存在的用户组)", - "Guide": "向导", "HandleTicket": "处理工单", "Hardware": "硬件信息", "HardwareInfo": "硬件信息", "HasImportErrorItemMsg": "存在导入失败项,点击左侧 x 查看失败原因,点击表格编辑后,可以继续导入失败项", - "HasRead": "是否已读", "Help": "帮助", - "HelpDocument": "文档链接", "HelpDocumentTip": "可以更改网站导航栏 帮助 -> 文档 的网址", - "HelpSupport": "支持链接", "HelpSupportTip": "可以更改网站导航栏 帮助 -> 支持 的网址", "HighLoad": "较高", "HistoricalSessionNum": "历史会话数", "History": "历史记录", "HistoryDate": "日期", "HistoryPassword": "历史密码", - "Home": "家目录", - "HomeHelpMessage": "默认家目录 /home/系统用户名: /home/username", - "HomePage": "首页", "Host": "资产", "HostCreate": "创建资产-主机", "HostDeployment": "发布机部署", "HostList": "主机列表", - "HostName": "主机名", - "HostProtocol": "主机协议", "HostUpdate": "更新资产-主机", - "Hostname": "主机名", - "HostnameGroup": "资产名", "HostnameStrategy": "用于生成资产主机名。例如:1. 实例名称 (instanceDemo);2. 实例名称和部分IP(后两位) (instanceDemo-250.1)", - "Hosts": "主机", "Hour": "小时", - "HttpPort": "HTTP端口", "HuaweiCloud": "华为云", "HuaweiPrivatecloud": "华为私有云", "IAgree": "我同意", "ID": "ID", "IP": "IP", - "IP/Host": "IP/主机", "IPLoginLimit": "IP 登录限制", "IPMatch": "IP 匹配", "IPNetworkSegment": "IP网段", - "Icon": "图标", "Id": "ID", "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。", "IdeaTitle": "🌱 Linux 终端", "IdpMetadataHelpText": "IDP metadata URL 和 IDP metadata XML参数二选一即可,IDP metadata URL的优先级高", "IdpMetadataUrlHelpText": "从远端地址中加载 IDP Metadata", - "IgnoreCase": "忽略大小写", "ImageName": "镜像名", "Images": "图片", "Import": "导入", @@ -776,85 +514,51 @@ "ImportLicenseTip": "请导入许可证", "ImportMessage": "请前往对应类型的页面导入数据", "ImportOrg": "导入组织", - "ImprovePersonalInformation": "完善个人信息", "InActiveAsset": "近期未被登录", "InActiveUser": "近期未登录过", "InAssetDetail": "在资产详情中更新账号信息", - "InTotal": "总共", "Inactive": "禁用", - "Include": "包含", "Index": "索引", "Info": "信息", - "Inherit": "继承", "InheritPlatformConfig": "继承自平台配置,如需更改,请更改平台中的配置。", "InitialDeploy": "初始化部署", "Input": "输入", "InputEmailAddress": "请输入正确的邮箱地址", "InputMessage": "输入消息...", - "InputNumber": "请输入数字类型", "InputPhone": "请输入手机号码", - "InsecureCommandAlert": "危险命令告警", - "InsecureCommandEmailUpdate": "点我设置", - "InsecureCommandNotifyToSubscription": "危险命令通知已升级到消息订阅中,支持更多通知方式", "InstanceAddress": "实例地址", "InstanceName": "实例名称", "InstancePlatformName": "实例平台名称", - "InstantAdhoc": "即时命令", "Interface": "网络接口", "InterfaceSettings": "界面设置", "IntervalOfCreateUpdatePage": "单位:时", - "Invalid": "无效", "InvalidJson": "不是合法 JSON", - "Invalidity": "无效", - "Invite": "邀请", "InviteSuccess": "邀请成功", "InviteUser": "邀请用户", "InviteUserInOrg": "邀请用户加入此组织", "Ip": "IP", "IpGroup": "IP 组", "IpGroupHelpText": "* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "请输入逗号分割的IP地址组", "IsActive": "激活", "IsAlwaysUpdate": "资产保持最新", - "IsAlwaysUpdateHelpTips": "每次执行同步任务时,是否同步更新资产的信息,包括主机名、IP、系统平台、网域、节点等信息", - "IsEffective": "已生效的", + "IsAlwaysUpdateHelpTips": "每次执行同步任务时,是否同步更新资产的信息,包括主机名、IP、平台、网域、节点等信息", "IsFinished": "是否完成", "IsLocked": "是否暂停", "IsSuccess": "成功", "IsSyncAccountHelpText": "收集完成后会把收集的账号同步到资产", "IsSyncAccountLabel": "同步到资产", - "IsValid": "有效", "JDCloud": "京东云", - "JMSSSO": "SSO Token 登录", "Job": "作业", "JobCenter": "作业中心", "JobCreate": "创建作业", "JobDetail": "作业详情", "JobExecutionLog": "作业日志", "JobList": "作业管理", - "JobName": "作业名称", - "JobType": "作业类型", "JobUpdate": "更新作业", - "Join": "加入", - "K8s": "Kubernetes", - "K8sPermissionRules": "Kubernetes授权规则", - "Key": "键", "KingSoftCloud": "金山云", "KokoSettingUpdate": "Koko 配置设置", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes", - "KubernetesAppCount": "Kubernetes应用数量", - "KubernetesAppCreate": "创建Kubernetes", - "KubernetesAppDetail": "Kubernetes详情", - "KubernetesAppPermission": "Kubernetes授权", - "KubernetesAppPermissionCreate": "创建Kubernetes授权规则", - "KubernetesAppPermissionDetail": "Kubernetes授权详情", - "KubernetesAppPermissionUpdate": "更新Kubernetes授权规则", - "KubernetesAppUpdate": "更新Kubernetes", "LAN": "局域网", - "LDAPServerInfo": "LDAP 服务器", "LDAPUser": "LDAP 用户", - "LOWER_CASEREQUIRED": "须包含小写字母", "Label": "标签", "LabelCreate": "创建标签", "LabelInputFormatValidation": "标签格式错误,正确格式为:name:value", @@ -864,19 +568,7 @@ "Last30": "最近 30 次", "Last30Days": "近30天", "Last7Days": "近7天", - "LastCannotBeDeleteMsg": "最后一项,不能被删除", - "LastDay": "本月最后一天", - "LastExecutionOutput": "最后执行输出", "LastPublishedTime": "最后发布时间", - "LastRun": "最后运行", - "LastRunFailedHosts": "最后运行失败的主机", - "LastRunSuccessHosts": "最后运行成功的主机", - "LastWeek": "本月最后一个星期", - "LastWorking": "最近的那个工作日", - "LatestSessions": "最近登录记录", - "LatestSessions10": "最近10次登录", - "LatestTop10": "TOP 10", - "LatestVersion": "最新版本", "Ldap": "LDAP", "LdapBulkImport": "用户导入", "LdapConnectTest": "测试连接", @@ -885,129 +577,81 @@ "LessEqualThan": "小于等于", "LevelApproval": "级审批", "License": "许可证", - "LicenseDetail": "许可证详情", "LicenseExpired": "许可证已经过期", "LicenseFile": "许可证文件", "LicenseForTest": "测试用途许可证, 本许可证仅用于 测试(PoC)和演示", "LicenseReachedAssetAmountLimit": "资产数量已经超过许可证数量限制", "LicenseWillBe": "许可证即将在 ", - "LinuxAdminUser": "Linux 特权用户", - "LinuxUserAffiliateGroup": "用户附属组", - "LoadStatus": "负载状态", "Loading": "加载中", "LockedIP": "已锁定 IP {count} 个", "Log": "日志", "LogData": "日志数据", "LogOfLoginSuccessNum": "登录成功日志数", "Logging": "日志记录", - "Login": "用户登录", "LoginAssetConfirm": "资产登录复核", "LoginAssetToday": "今日活跃资产数", "LoginAssets": "活跃资产", - "LoginCity": "登录城市", - "LoginConfig": "登录配置", "LoginConfirm": "登录复核", "LoginCount": "登录次数", "LoginDate": "登录日期", "LoginFailed": "登录失败", "LoginFrom": "登录来源", - "LoginIP": "登录IP", - "LoginImage": "登录页面图片", "LoginImageTip": "提示:将会显示在企业版用户登录页面(建议图片大小为: 492*472px)", "LoginLog": "登录日志", - "LoginModeHelpMessage": "如果选择手动登录模式,用户名和密码可以不填写", - "LoginModel": "登录模式", "LoginNum": "登录数", - "LoginOption": "登录选项", - "LoginOverview": "会话统计", "LoginPasswordSetting": "登录密码设置", "LoginRequiredMsg": "账号已退出,请重新登录", "LoginSucceeded": "登录成功", - "LoginTitle": "登录页面标题", "LoginTitleTip": "提示:将会显示在企业版用户 SSH 登录 KoKo 登录页面(eg: 欢迎使用JumpServer开源堡垒机)", - "LoginTo": "登录了", "LoginUserRanking": "登录账号排名", "LoginUserToday": "今日登录账号数", "LoginUsers": "活跃账号", - "Login_confirmUser": "登录复核 受理人", - "LogoIndex": "Logo (带文字)", "LogoIndexTip": "提示:将会显示在管理页面左上方(建议图片大小为: 185px*55px)", - "LogoLogout": "Logo (不带文字)", "LogoLogoutTip": "提示:将会显示在企业版用户的 Web 终端页面(建议图片大小为:82px*82px)", "Logout": "退出登录", "LogsAudit": "日志审计", "Lowercase": "小写字母", "LunaSettingUpdate": "Luna 配置设置", - "MFA": "MFA", - "MFAConfirm": "MFA 认证", "MFAErrorMsg": "MFA错误,请检查", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "启用多因子认证,使账号更加安全。
启用之后您将会在下次登录时进入多因子认证绑定流程;您也可以在(个人信息->快速修改->更改多因子设置)中直接绑定!", "MFAOfUserFirstLoginUserGuidePage": "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:设置复杂密码,并启用多因子认证)
邮箱、手机号、微信等个人信息,仅作为用户认证和平台内部消息通知使用。", - "MFARequireForSecurity": "为了安全请输入MFA", - "MFAVerify": "验证 MFA", - "MIN_LENGTHERROR": "密码最小长度 {0} 位", "MailRecipient": "邮件收件人", "MailSend": "邮件发送", "ManualAccount": "手动账号", "ManualAccountTip": "登录时手动输入 用户名/密码", "ManualExecutePlan": "手动执行计划", - "ManualInput": "手动输入", "ManyChoose": "可多选", - "Mariadb": "MariaDB", "MarkAsRead": "标记已读", "Marketplace": "应用市场", "Match": "匹配", "MatchIn": "在...中", "MatchResult": "匹配结果", "MatchedCount": "匹配结果", - "Material": "内容", "Members": "成员", - "Memory": "内存", "MenuAccounts": "账号管理", "MenuAssets": "资产管理", "MenuMore": "更多...", "MenuPermissions": "授权管理", "MenuUsers": "用户管理", "Message": "消息", - "MessageSub": "消息订阅", "MessageSubscription": "消息订阅", "MessageType": "消息类型", - "Meta": "元数据", "MfaLevel": "多因子认证", "Min": "分钟", - "Model": "型号", "Modify": "修改", - "ModifySSHKey": "修改 SSH Key", - "ModifyTheme": "修改主题", "Module": "模块", "Monday": "周一", - "Mongodb": "MongoDB", "Monitor": "监控", "Month": "月", - "Monthly": "按月", - "More": "更多选项", + "More": "更多", "MoreActions": "更多操作", "MoveAssetToNode": "移动资产到节点", "MsgSubscribe": "消息订阅", - "MyApps": "我的应用", "MyAssets": "我的资产", "MyTickets": "我发起的", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "Mysql_workbenchIp": "数据库IP", - "Mysql_workbenchName": "数据库名", - "Mysql_workbenchPassword": "数据库密码", - "Mysql_workbenchPort": "数据库端口", - "Mysql_workbenchUsername": "数据库账号", - "NUMBERREQUIRED": "须包含数字", "Name": "名称", "NavHelp": "导航栏链接", - "Navigation": "导航", - "NeedAddAppsOrSystemUserErrMsg": "需要添加应用或系统用户", "NeedReLogin": "需要重新登录", - "NeedSpecifiedFile": "需上传指定格式文件", - "NeedUpdatePasswordNextLogin": "下次登录须修改密码", - "Network": "网络", "New": "新建", "NewChat": "新聊天", "NewCount": "新增", @@ -1017,75 +661,49 @@ "NewPassword": "新密码", "NewSyncCount": "新同步", "No": "否", - "NoAlive": "离线", - "NoAnnouncement": "暂无公告", "NoContent": "暂无内容", "NoData": "暂无数据", "NoFiles": "暂无文件", - "NoInputCommand": "未输入命令", - "NoLicense": "暂无许可证", "NoPermission": "暂无权限", "NoPermission403": "403 暂无权限", "NoPermissionVew": "没有权限查看当前页面", - "NoPublished": "未发布", - "NoSQLProtocol": "非关系数据库", - "NoSystemUserWasSelected": "未选择系统用户", "NoUnreadMsg": "暂无未读消息", "Node": "节点", "NodeAmount": "节点数量", - "NodeCount": "节点数量", "NodeInformation": "节点信息", "NodeSearchStrategy": "节点搜索策略", "NormalLoad": "正常", - "NotAlphanumericUnderscore": "只能输入字母、数字、下划线", "NotEqual": "不等于", - "NotParenthesis": "不能包含 ( )", "NotSet": "未设置", "NotSpecialEmoji": "不允许输入特殊表情符号", "Nothing": "无", - "Notifications": "通知", "Now": "现在", - "Num": "号", "Number": "编号", "NumberOfVisits": "访问次数", "OAuth2": "OAuth2", "OAuth2LogoTip": "提示:认证服务提供商(建议图片大小为: 64px*64px)", "OIDC": "OIDC", - "OTP": "MFA (OTP)", "ObjectNotFoundOrDeletedMsg": "没有找到对应资源或者已被删除", - "OfficialWebsite": "官网链接", - "OfficialWebsiteTip": "可以更改网站导航栏 帮助 -> 官网 的网址", "Offline": "离线", "OfflineSuccessMsg": "下线成功", "OfflineUpload": "离线上传", "OldPassword": "原密码", "OldSSHKey": "原来SSH公钥", - "On/Off": "启/停", "OneAssignee": "一级受理人", "OneAssigneeType": "一级受理人类型", - "OneClickRead": "当前已读", "OneClickReadMsg": "你确定要将当前信息标记为已读吗?", "OnlineSession": "在线用户", "OnlineSessionHelpMsg": "无法下线当前会话,因为该会话是当前用户的在线会话。当前只记录以 Web 方式登录的用户。", "OnlineSessions": "在线会话数", "OnlineUserDevices": "在线用户设备", - "OnlineUsers": "在线账号", - "OnlyCSVFilesTips": "仅支持csv文件导入", - "OnlyLatestVersion": "仅最新版本", "OnlyMailSend": "当前只支持邮件发送", "OnlySearchCurrentNodePerm": "仅搜索当前节点的授权", - "Open": "待处理", "OpenCommand": "打开命令", - "OpenId": "OpenID设置", "OpenStack": "OpenStack", "OpenStatus": "审批中", "OpenTicket": "创建工单", "OperateLog": "操作日志", - "OperateRecord": "操作记录", "OperationLogNum": "操作日志数", - "Ops": "任务", - "Options": "选项", - "Oracle": "Oracle", "OrgAdmin": "组织管理员", "OrgAuditor": "组织审计员", "OrgName": "授权组织名称", @@ -1097,20 +715,12 @@ "OrganizationDetail": "组织详情", "OrganizationList": "组织管理", "OrganizationLists": "组织列表", - "OrganizationMembership": "组织成员", "OrganizationUpdate": "更新组织", - "Os": "操作系统", "Other": "其它设置", - "OtherAuth": "其它认证", - "OtherProtocol": "其它协议", - "OtherRules": "其它规则", - "Others": "其它", "Output": "输出", "Overview": "概览", - "PENDING": "等待中", "PageNext": "下一页", "PagePrev": "上一页", - "Parameter": "参数", "Params": "参数", "ParamsHelpText": "改密参数设置,目前仅对平台种类为主机的资产生效。", "PassKey": "Passkey", @@ -1118,70 +728,42 @@ "PasskeyAddDisableInfo": "你的认证来源是 {source}, 不支持添加 Passkey", "Passphrase": "密钥密码", "Password": "密码", - "PasswordAccount": "密码账号", "PasswordChangeLog": "改密日志", - "PasswordCheckRule": "密码强弱规则", - "PasswordConfirm": "密码认证", "PasswordExpired": "密码过期了", - "PasswordHelpMessage": "密码或密钥密码", - "PasswordLength": "密码长度", - "PasswordOrPassphrase": "密码或密钥密码", - "PasswordOrToken": "密码 / 令牌", "PasswordPlaceholder": "请输入密码", "PasswordRecord": "密码记录", - "PasswordRequireForSecurity": "为了安全请输入密码", "PasswordRule": "密码规则", "PasswordSecurity": "密码安全", - "PasswordSelector": "密码输入框选择器", "PasswordStrategy": "密文生成策略", "PasswordWillExpiredPrefixMsg": "密码即将在 ", "PasswordWillExpiredSuffixMsg": "天 后过期,请尽快修改您的密码。", - "PasswordWithoutSpecialCharHelpText": "不能包含特殊字符", "Paste": "粘贴", - "Pattern": "模式", "Pause": "暂停", "PauseTaskSendSuccessMsg": "暂停任务已下发,请稍后刷新查看", "Pending": "待处理", - "Periodic": "执行周期", - "PeriodicPerform": "定时执行", - "Perm": "授权", "PermAccount": "授权账号", - "PermName": "授权名称", "PermUserList": "授权用户", "PermissionCompany": "授权公司", "PermissionName": "授权规则名称", "Permissions": "权限", - "Perms": "权限管理", "PersonalInformationImprovement": "个人信息完善", - "Phone": "手机号", "Plan": "计划", - "Platform": "系统平台", - "PlatformCreate": "创建系统平台", - "PlatformDetail": "系统平台详情", + "Platform": "平台", + "PlatformCreate": "创建平台", + "PlatformDetail": "平台详情", "PlatformList": "平台列表", "PlatformProtocolConfig": "平台协议配置", - "PlatformSimple": "平台", - "PlatformUpdate": "更新系统平台", + "PlatformUpdate": "更新平台", "PlaybookDetail": "Playbook详情", "PlaybookManage": "Playbook管理", "PlaybookUpdate": "更新Playbook", "PleaseAgreeToTheTerms": "请同意条款", - "PleaseClickLeftApplicationToViewApplicationAccount": "应用账号列表,点击左侧应用进行查看", - "PleaseClickLeftAssetToViewAssetAccount": "资产账号列表,点击左侧资产进行查看", - "PleaseClickLeftAssetToViewGatheredUser": "收集用户列表,点击左侧资产进行查看", - "PleaseSelect": "请选择", "PolicyName": "策略名称", "Port": "端口", "Ports": "端口", - "Postgresql": "PostgreSQL", - "Primary": "主要的", - "PrimaryProtocol": "主要协议, 资产最基本最常用的协议,只能且必须设置一个", "Priority": "优先级", - "PriorityHelpMessage": "1-100, 1最低优先级,100最高优先级。授权多个用户时,高优先级的系统用户将会作为默认登录用户", "PrivateCloud": "私有云", "PrivateKey": "私钥", - "PrivilegeFirst": "优先选择特权账号", - "PrivilegeOnly": "仅选择特权账号", "Privileged": "特权账号", "PrivilegedFirst": "优先特权账号", "PrivilegedOnly": "仅特权账号", @@ -1195,42 +777,26 @@ "ProportionOfAssetTypes": "资产类型占比", "Protocol": "协议", "Protocols": "协议", - "ProtocolsEnabled": "启用协议", - "ProtocolsGroup": "协议", - "Provider": "云服务商", "Proxy": "代理", - "Public": "公共的", "PublicCloud": "公有云", - "PublicIp": "公网IP", "PublicKey": "公钥", - "PublicProtocol": "如果是公共协议在连接资产时会显示", "Publish": "发布", "PublishAllApplets": "发布所有应用", "PublishStatus": "发布状态", "Push": "推送", "PushAccount": "推送账号", - "PushAllSystemUsersToAsset": "推送所有系统用户到资产", "PushParams": "推送参数", - "PushSelected": "推送所选", - "PushSelectedSystemUsersToAsset": "推送所选系统用户到资产", - "PushSystemUserNow": "推送系统用户", "Qcloud": "腾讯云", "QcloudLighthouse": "腾讯云(轻量应用服务器)", "QingyunPrivatecloud": "青云私有云", "Queue": "队列", - "QuickAccess": "快速访问", "QuickAdd": "快速添加", "QuickJob": "快捷命令", - "QuickSelect": "快速选择", "QuickUpdate": "快速更新", - "RDBProtocol": "关系型数据库", - "RUNNING": "运行中", "Radius": "Radius", "Ranking": "排名", - "Ratio": "比例", "RazorNotSupport": "RDP 客户端会话, 暂不支持监控", "ReLogin": "重新登录", - "ReLoginErr": "登录时长已超过 5 分钟,请重新登录", "ReLoginTitle": "当前三方登录用户(CAS/SAML),未绑定 MFA 且不支持密码校验,请重新登录。", "RealTimeData": "实时数据", "Reason": "原因", @@ -1241,23 +807,13 @@ "RecipientHelpText": "若收件人 A B 都设置,账号的密钥将被拆分成前后两部分", "RecipientServer": "接收服务器", "Reconnect": "重新连接", - "Redis": "Redis", "Refresh": "刷新", - "RefreshFail": "刷新失败", "RefreshHardware": "更新硬件信息", - "RefreshLdapCache": "刷新Ldap缓存,请稍后", - "RefreshLdapUser": "刷新缓存", - "RefreshPermissionCache": "刷新授权缓存", - "RefreshSuccess": "刷新成功", "Regex": "正则表达式", "Region": "地域", "RegularlyPerform": "定期执行", "Reject": "拒绝", "Rejected": "已拒绝", - "RelAnd": "与", - "RelNot": "非", - "RelOr": "或", - "Relation": "关系", "ReleasedCount": "已释放", "RelevantApp": "应用", "RelevantAsset": "资产", @@ -1265,28 +821,11 @@ "RelevantCommand": "命令", "RelevantSystemUser": "系统用户", "RemoteAddr": "远端地址", - "RemoteApp": "远程应用", - "RemoteAppCount": "远程应用数量", - "RemoteAppDetail": "远程应用详情", - "RemoteAppListHelpMessage": "使用此功能前,请确保已将应用加载器上传到应用服务器并成功发布为一个 RemoteApp 应用 下载应用加载器", - "RemoteAppPermission": "远程应用授权", - "RemoteAppPermissionCreate": "创建远程应用授权规则", - "RemoteAppPermissionDetail": "远程应用授权详情", - "RemoteAppPermissionRules": "远程应用授权规则", - "RemoteAppPermissionUpdate": "更新远程应用授权规则", - "RemoteAppUpdate": "更新远程应用", - "RemoteApps": "远程应用", - "RemoteType": "应用类型", "Remove": "移除", "RemoveAssetFromNode": "从节点移除资产", - "RemoveErrorMsg": "移除失败: ", - "RemoveFromCurrentNode": "从节点移除", - "RemoveFromOrgWarningMsg": "你确定从组织移除 ", "RemoveSuccessMsg": "移除成功", - "RemoveWarningMsg": "你确定要移除", "Rename": "重命名", "RenameNode": "重命名节点", - "ReplaceNodeAssetsAdminUser": "替换节点资产的管理员", "ReplaceNodeAssetsAdminUserWithThis": "替换资产的管理员", "Replay": "回放", "ReplaySession": "回放会话", @@ -1294,24 +833,17 @@ "ReplayStorageCreateUpdateHelpMessage": "注意:目前 SFTP 存储仅支持账号备份,暂不支持录像存储。", "ReplayStorageUpdate": "更新对象存储", "Reply": "回复", - "RequestApplicationPerm": "申请应用授权", "RequestAssetPerm": "申请资产授权", "RequestPerm": "授权申请", "RequestTickets": "申请工单", - "Required": "必需的", "RequiredAssetOrNode": "请至少选择一个资产或节点", "RequiredContent": "请输入命令", "RequiredEntryFile": "此文件作为运行的入口文件,必须存在", - "RequiredHasUserNameMapped": "必须包含 username 字段的映射,如 { 'uid': 'username' }", - "RequiredProtocol": "必需协议, 添加资产时必须选择, 可以设置多个", "RequiredRunas": "请输入运行用户", "RequiredSystemUserErrMsg": "请选择账号", "RequiredUploadFile": "请上传文件!", "Reset": "还原", "ResetAndDownloadSSHKey": "重置并下载密钥", - "ResetDingTalk": "解绑钉钉", - "ResetDingTalkLoginSuccessMsg": "重置成功, 用户可以重新绑定钉钉了", - "ResetDingTalkLoginWarningMsg": "你确定要解绑用户的 钉钉 吗?", "ResetMFA": "重置MFA", "ResetMFAWarningMsg": "你确定要重置用户的 MFA 吗?", "ResetMFAdSuccessMsg": "重置MFA成功, 用户可以重新设置MFA了", @@ -1322,12 +854,9 @@ "ResetSSHKey": "重置SSH密钥", "ResetSSHKeySuccessMsg": "发送邮件任务已提交, 用户稍后会收到重置密钥邮件", "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", - "ResetWechat": "解绑企业微信", - "ResetWechatLoginSuccessMsg": "重置成功, 用户可以重新绑定企业微信了", - "ResetWechatLoginWarningMsg": "你确定要解绑用户的 企业微信 吗?", "Resource": "资源", "ResourceType": "资源类型", - "Resources": "资源", + "RestPasswordNextLogin": "下次登录须修改密码", "RestoreButton": "恢复默认", "RestoreDefault": "恢复默认", "RestoreDialogMessage": "您确定要恢复默认初始化吗?", @@ -1337,14 +866,11 @@ "ResumeTaskSendSuccessMsg": "恢复任务已下发,请稍后刷新查看", "Retry": "重试", "Reviewer": "审批人", - "Revise": "修改", - "RiskLevel": "风险等级", "Role": "角色", "RoleCreate": "创建角色", "RoleDetail": "角色详情", "RoleInfo": "角色信息", "RoleList": "角色列表", - "RolePerms": "角色权限", "RoleUpdate": "更新角色", "RoleUsers": "授权用户", "Rows": "行", @@ -1362,29 +888,21 @@ "RunJob": "运行作业", "RunSucceed": "任务执行成功", "RunTaskManually": "手动执行", - "RunTimes": "执行次数", - "RunUser": "运行用户", "RunasHelpText": "填写运行脚本的用户名", "RunasPolicy": "账号策略", "RunasPolicyHelpText": "当前资产上没此运行用户时,采取什么账号选择策略。跳过:不执行。优先特权账号:如果有特权账号先选特权账号,如果没有就选普通账号。仅特权账号:只从特权账号中选择,如果没有则不执行", - "Running": "运行中", "RunningPath": "运行路径", "RunningPathHelpText": "填写脚本的运行路径,此设置仅 shell 脚本生效", "RunningTimes": "最近5次运行时间", - "SAML2Auth": "SAML2 认证", "SCP": "深信服云平台", - "SFTPHelpMessage": "SFTP 的起始路径,家目录可以填: HOME.
支持变量: ${ACCOUNT} 连接的账号用户名, ${USER} 当前用户用户名, 如 /tmp/${ACCOUNT}", "SMS": "短信", "SMSProvider": "短信服务商", "SMTP": "邮件服务器", - "SPECIAL_CHARREQUIRED": "须包含特殊字符", "SSHKey": "SSH公钥", "SSHKeyOfProfileSSHUpdatePage": "复制你的公钥到这里", "SSHKeySetting": "SSH公钥设置", "SSHPort": "SSH 端口", "SSHSecretKey": "SSH 密钥", - "SSO": "单点认证", - "SUCCESS": "成功", "SafeCommand": "安全命令", "SameAccount": "同名账号", "SameAccountTip": "与被授权人用户名相同的账号", @@ -1398,9 +916,6 @@ "SaveSetting": "同步设置", "SaveSuccess": "保存成功", "SaveSuccessContinueMsg": "创建成功,更新内容后可以继续添加", - "Scope": "类别", - "Script": "脚本列表", - "ScriptDetail": "脚本详情", "ScrollToBottom": "滚动到底部", "ScrollToTop": "滚动到顶部", "Search": "搜索", @@ -1408,33 +923,14 @@ "Secret": "密码", "SecretKey": "密钥", "SecretKeyStrategy": "密码策略", - "SecretType": "密文类型", "Secure": "安全", "Security": "安全设置", - "SecurityCommandExecution": "批量命令", - "SecurityInsecureCommand": "开启后,当资产上有危险命令执行时,会发送邮件告警通知", - "SecurityInsecureCommandEmailReceiver": "多个邮箱时,以半角逗号','分隔", - "SecurityLoginLimitCount": "限制登录失败次数", - "SecurityLoginLimitTime": "禁止登录时间间隔", - "SecurityMaxIdleTime": "连接最大空闲时间", - "SecurityMfaAuth": "多因子认证", - "SecurityPasswordExpirationTime": "密码过期时间", - "SecurityPasswordLowerCase": "必须包含小写字母", - "SecurityPasswordMinLength": "密码最小长度", - "SecurityPasswordNumber": "必须包含数字字符", - "SecurityPasswordSpecialChar": "必须包含特殊字符", - "SecurityPasswordUpperCase": "必须包含大写字母", - "SecurityServiceAccountRegistration": "组件注册", - "SecuritySetting": "安全设置", "Select": "选择", - "SelectAccount": "选择账号", "SelectAdhoc": "选择命令", "SelectAll": "全选", - "SelectAssetsMessage": "选择左侧资产, 选择运行的系统用户,批量执行命令", "SelectAtLeastOneAssetOrNodeErrMsg": "资产或者节点至少选择一项", "SelectAttrs": "选择属性", "SelectByAttr": "属性筛选", - "SelectCreateMethod": "选择创建方式", "SelectFile": "选择文件", "SelectKeyOrCreateNew": "选择标签键或创建新的", "SelectLabelFilter": "选择标签搜索", @@ -1444,20 +940,15 @@ "SelectTemplate": "选择模版", "SelectValueOrCreateNew": "选择标签值或创建新的", "Selected": "已选择", - "SelectedAssets": "已选择资产:", "Selection": "可选择", "Selector": "选择器", "Send": "发送", "SendVerificationCode": "发送验证码", - "Sender": "发送人", - "Senior": "高级", "SerialNumber": "序列号", "ServerAccountKey": "服务账号密钥", "ServerError": "服务器错误", "ServerTime": "服务器时间", - "ServiceRatio": "组件负载统计", "Session": "会话", - "SessionActiveCount": "在线会话数量", "SessionData": "会话数据", "SessionDetail": "会话详情", "SessionID": "会话ID", @@ -1473,12 +964,10 @@ "SessionsAudit": "会话审计", "SessionsNum": "会话数", "Set": "已设置", - "SetAdDomainNoDisabled": "使用特权账号在资产上创建普通账号,如果设置了AD域名不能修改(Windows)", "SetDingTalk": "设置钉钉认证", "SetFailed": "设置失败", "SetFeiShu": "设置飞书认证", "SetMFA": "设置多因子认证", - "SetPublicKey": "设置SSH公钥", "SetSlack": "设置Slack认证", "SetStatus": "设置状态", "SetSuccess": "设置成功", @@ -1493,10 +982,8 @@ "ShowAssetOnlyCurrentNode": "仅显示当前节点资产", "ShowNodeInfo": "显示节点详情", "SignChannelNum": "签名通道号", - "SignaturesAndTemplates": "Signatures and Templates", "SiteMessage": "站内信", "SiteMessageList": "站内信", - "SiteUrl": "当前站点URL", "Skip": "忽略当前资产", "Skipped": "已跳过", "Slack": "Slack", @@ -1508,14 +995,8 @@ "SpecAccountTip": "指定用户名选择授权账号", "SpecialSymbol": "特殊字符", "SpecificInfo": "特殊信息", - "Sqlserver": "SQLServer", "SshKeyFingerprint": "SSH 指纹", - "SshPort": "SSH端口", - "Sshkey": "sshkey", - "SshkeyAccount": "密钥账号", - "StartEvery": "开始,每", "Startswith": "以...开头", - "Stat": "成功/失败/总", "State": "状态", "StateClosed": "已关闭", "Status": "状态", @@ -1523,8 +1004,7 @@ "StatusRed": "上一次任务执行失败", "StatusYellow": "近期存在在执行失败", "Stop": "停止", - "Storage": "存储", - "StorageConfiguration": "存储配置", + "StorageSetting": "存储设置", "Strategy": "策略", "StrategyCreate": "创建策略", "StrategyDetail": "策略详情", @@ -1532,15 +1012,11 @@ "StrategyList": "策略列表", "StrategyUpdate": "更新策略", "SuFrom": "切换自", - "Subject": "主题", "Submit": "提交", - "SubmitSelector": "提交按钮选择器", - "Subscription": "消息订阅", "SubscriptionID": "订阅授权ID", "Success": "成功", "SuccessAsset": "成功的资产", "SuccessfulOperation": "操作成功", - "SudoHelpMessage": "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig", "Summary(success/total)": "概况( 成功/总数 )", "Sunday": "周日", "SuperAdmin": "超级管理员", @@ -1548,11 +1024,6 @@ "Support": "支持", "SupportedProtocol": "支持的协议", "SupportedProtocolHelpText": "设置资产支持的协议,点击设置按钮可以为协议修改自定义配置,如 SFTP 目录,RDP AD 域等", - "SwitchPage": "切换视图", - "SwitchToUser": "Su 用户", - "SwitchToUserListTips": "通过以下用户连接资产时,会使用当前系统用户登录再进行切换。", - "SymbolSet": "特殊符号集合", - "SymbolSetHelpText": "请输入此类型数据库支持的特殊符号集合,若生成的随机密码中有此类数据库不支持的特殊字符,改密计划将会失败", "Sync": "同步", "SyncDelete": "同步删除", "SyncInstanceTaskCreate": "创建同步任务", @@ -1561,7 +1032,6 @@ "SyncInstanceTaskHistoryList": "同步历史列表", "SyncInstanceTaskList": "同步任务列表", "SyncInstanceTaskUpdate": "更新同步任务", - "SyncProtocolToAsset": "同步协议到资产", "SyncSelected": "同步所选", "SyncSetting": "同步设置", "SyncStrategy": "同步策略", @@ -1570,64 +1040,29 @@ "SyncUpdateAccountInfo": "同步更新账号信息", "SyncUser": "同步用户", "SyncedCount": "已同步", - "SystemCpuLoad": "CPU负载", - "SystemDiskUsedPercent": "硬盘使用率", "SystemError": "系统错误", - "SystemMemoryUsedPercent": "内存使用率", - "SystemMessageSubscription": "系统消息订阅", "SystemRole": "系统角色", "SystemRoles": "系统角色", "SystemSetting": "系统设置", "SystemTools": "系统工具", - "SystemUser": "系统用户", - "SystemUserAmount": "系统用户数量", - "SystemUserCount": "系统用户", - "SystemUserCreate": "创建系统用户", - "SystemUserDetail": "系统用户详情", - "SystemUserId": "系统用户Id", - "SystemUserList": "系统用户", - "SystemUserListHelpMessage": "系统用户 是JumpServer 登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`;
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
普通用户 可以在资产上预先存在,也可以由 特权用户 来自动创建。", - "SystemUserName": "系统用户名", - "SystemUserUpdate": "更新系统用户", - "SystemUsers": "系统用户", - "System_usersAmount": "系统用户", - "System_users_nameGroup": "系统用户名称", - "System_users_protocolGroup": "系统用户协议", - "System_users_usernameGroup": "系统用户名", "TableColSettingInfo": "请选择您想显示的列表详细信息。", "Target": "目标", "TargetResources": "目标资源", "Task": "任务", - "TaskCenter": "任务中心", "TaskDetail": "任务详情", - "TaskDispatch": "任务下发成功", "TaskDone": "任务结束", "TaskID": "任务 ID", "TaskList": "任务列表", "TaskMonitor": "任务监控", - "TaskName": "任务名称", - "TaskVersions": "任务各版本", - "Tasks": "任务", "TechnologyConsult": "技术咨询", "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", "Template": "模版管理", "TemplateAdd": "模版添加", "TemplateCreate": "创建模版", - "TemplateDetail": "模版详情", "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", - "TemplateUpdate": "更新模版", - "Templates": "模版管理", "TencentCloud": "腾讯云", "Terminal": "组件设置", - "TerminalAssetListPageSize": "资产分页每页数量", - "TerminalAssetListSortBy": "资产列表排序", "TerminalDetail": "终端详情", - "TerminalHeartbeatInterval": "心跳间隔", - "TerminalPasswordAuth": "密码认证", - "TerminalPublicKeyAuth": "密钥认证", - "TerminalSessionKeepDuration": "会话保留时长", - "TerminalStat": "CPU/内存/磁盘", - "TerminalTelnetRegex": "Telnet 成功正则表达式", "TerminalUpdate": "更新终端", "TerminalUpdateStorage": "更新终端存储", "Terminate": "终断", @@ -1635,65 +1070,43 @@ "TermsAndConditions": "条款和条件", "Test": "测试", "TestAccountConnective": "测试账号可连接性", - "TestAllSystemUsersConnective": "测试所有系统用户可连接性", "TestAssetsConnective": "测试资产可连接性", "TestConnection": "测试连接", "TestGatewayHelpMessage": "如果使用了nat端口映射,请设置为ssh真实监听的端口", "TestGatewayTestConnection": "测试连接网关", - "TestHelpText": "请输入目的地址进行测试", - "TestLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", "TestLdapLoginTitle": "测试LDAP 用户登录", - "TestMultiPort": "多个端口用,分隔", "TestNodeAssetConnectivity": "测试资产节点可连接性", - "TestParam": "参数", "TestPortErrorMsg": "端口错误,请重新输入", - "TestSelected": "测试所选", - "TestSelectedSystemUsersConnective": "测试所选系统用户可连接性", "TestSuccessMsg": "测试成功", - "The": "第", - "ThisPeriodic": "这是一个周期作业", "Thursday": "周四", "Ticket": "工单", - "TicketCreate": "创建工单", "TicketDetail": "工单详情", "TicketFlow": "工单流", "TicketFlowCreate": "创建审批流", "TicketFlowUpdate": "更新审批流", "Tickets": "工单列表", - "TicketsDone": "已办工单", - "TicketsNew": "提交工单", - "TicketsTodo": "待办工单", "Time": "时间", "TimeDelta": "运行时间", "TimeExpression": "时间表达式", - "TimePeriod": "时段", "Timeout": "超时", "TimeoutHelpText": "当此值为-1时,不指定超时时间", "Timer": "定时执行", - "TimerPeriod": "定时执行周期", - "TimesWeekUnit": "次/周", "Title": "标题", "To": "至", "Today": "今天", "TodayFailedConnections": "今日连接失败数", "Token": "令牌", - "TokenHTTPMethod": "Token 获取方法", - "TopAssetsOfWeek": "周资产 TOP10", - "TopUsersOfWeek": "周用户 TOP10", "Total": "总共", "TotalJobFailed": "执行失败作业数", "TotalJobLog": "作业执行总数", "TotalJobRunning": "运行中作业数", - "TotalVersions": "版本数量", "Transfer": "传输", - "True": "是", "Tuesday": "周二", "TwoAssignee": "二级受理人", "TwoAssigneeType": "二级受理人类型", "Type": "类型", "Types": "类型", "UCloud": "UCloud优刻得", - "UPPER_CASEREQUIRED": "须包含大写字母", "UnSyncCount": "未同步", "Unbind": "解绑", "UnbindHelpText": "本地用户为此认证来源用户,无法解绑", @@ -1701,111 +1114,71 @@ "UnblockSuccessMsg": "解锁成功", "UnblockUser": "解锁用户", "UniqueError": "以下属性只能设置一个", - "Unknown": "未知", "UnlockSuccessMsg": "解锁成功", - "Unreachable": "不可连接", - "UnselectedAssets": "未选择资产或所选择的资产不支持SSH协议连接", - "UnselectedNodes": "未选择节点", "UnselectedOrg": "没有选择组织", "UnselectedUser": "没有选择用户", "UpDownload": "上传下载", "Update": "更新", "UpdateAccount": "更新账号", - "UpdateAccountMsg": "请更新系统用户的账号信息", "UpdateAccountTemplate": "更新账号模版", "UpdateAssetDetail": "配置更多信息", "UpdateAssetUserToken": "更新账号认证信息", "UpdateEndpoint": "更新端点", "UpdateEndpointRule": "更新端点规则", "UpdateErrorMsg": "更新失败", - "UpdateMFA": "更改多因子认证", "UpdateNodeAssetHardwareInfo": "更新节点资产硬件信息", - "UpdatePassword": "更新密码", "UpdateSSHKey": "更新SSH公钥", - "UpdateSecret": "更新密文", "UpdateSelected": "更新所选", "UpdateSuccessMsg": "更新成功", "Updated": "已更新", - "UpdatedBy": "更新者", "Upload": "上传", "UploadCsvLth10MHelpText": "只能上传 csv/xlsx, 且不超过 10M", "UploadDir": "上传目录", - "UploadFailed": "上传失败", - "UploadFile": "上传文件", "UploadFileLthHelpText": "只能上传小于{limit}MB文件", "UploadPlaybook": "上传 Playbook", "UploadSucceed": "上传成功", "UploadZipTips": "请上传 zip 格式的文件", "Uploading": "文件上传中", "Uppercase": "大写字母", - "UseParameterDefine": "定义参数", "UseProtocol": "使用协议", "UseSSL": "使用 SSL/TLS", "User": "用户", - "UserAclDetail": "用户登录规则详情", - "UserAclList": "用户登录", "UserAclLists": "用户登录规则", "UserAssetActivity": "账号/资产活跃情况", - "UserCount": "用户数量", "UserCreate": "创建用户", "UserData": "账号数据", "UserDetail": "用户详情", - "UserFirstLogin": "首次登录", - "UserGroupCount": "用户组数量", "UserGroupCreate": "创建用户组", "UserGroupDetail": "用户组详情", "UserGroupList": "用户组", "UserGroupUpdate": "更新用户组", "UserGroups": "用户组", - "UserGuide": "用户向导", - "UserGuideUrl": "用户向导URL", - "UserIP": "登录 IP", "UserInformation": "用户信息", "UserList": "用户列表", - "UserLoginACL": "用户登录", - "UserLoginACLCreate": "创建用户登录规则", - "UserLoginACLDetail": "用户登录限制", "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统(全局生效)", - "UserLoginACLUpdate": "更新用户登录规则", "UserLoginAclCreate": "创建用户登录控制", "UserLoginAclDetail": "用户登录控制详情", "UserLoginAclList": "用户登录", "UserLoginAclUpdate": "更新用户登录控制", "UserLoginLimit": "用户登录限制", "UserLoginTrend": "账号登录趋势", - "UserName": "姓名", - "UserNameSelector": "用户名输入框选择器", - "UserPage": "用户视图", "UserProfile": "个人信息", - "UserRatio": "用户占比统计", "UserSession": "用户会话", "UserSetting": "偏好设置", - "UserSwitch": "用户切换", - "UserSwitchFrom": "切换自", "UserUpdate": "更新用户", - "UserUsername": "用户(用户名)", "Username": "用户名", - "UsernameGroup": "用户名", - "UsernameHelpMessage": "用户名是动态的,登录资产时使用当前用户的用户名登录", - "UsernameOfCreateUpdatePage": "目标主机上用户的用户名;如果已️存在,修改用户密码;如果不存在,添加用户并设置密码;", "UsernamePlaceholder": "请输入用户名", "Users": "用户", "UsersAmount": "用户", "UsersAndUserGroups": "用户/用户组", "UsersTotal": "账号总数", "Valid": "有效", - "Validity": "有效", - "Value": "值", "Variable": "变量", "VariableHelpText": "您可以在命令中使用 {{ key }} 读取内置变量", - "Vault": "密码匣子", "VaultHelpText": "1. 由于安全原因,需要配置文件中开启 Vault 存储。
2. 开启后,填写其他配置,进行测试。
3. 进行数据同步,同步是单向的,只会从本地数据库同步到远端 Vault,同步完成本地数据库不再存储密码,请备份好数据。
4. 二次修改 Vault 配置后需重启服务。", - "Vendor": "制造商", "VerificationCodeSent": "验证码已发送", "VerifySignTmpl": "验证码短信模板", "Version": "版本", - "VersionDetail": "版本详情", - "VersionRunExecution": "执行历史", "View": "查看", "ViewBlockedIPSHelpText": "查看已被锁定的 IP 列表", "ViewMore": "查看更多", @@ -1817,14 +1190,9 @@ "VirtualApp": "虚拟应用", "VirtualAppDetail": "虚拟应用详情", "VirtualApps": "虚拟应用", - "VmwareClient": "vSphere Client", - "VmwarePassword": "登录密码", - "VmwareTarget": "目标地址", - "VmwareUsername": "登录账号", "WeCom": "企业微信", "WeComTest": "测试", "WebCreate": "创建资产-Web", - "WebFTP": "文件管理", "WebHelpMessage": "Web 类型资产依赖于远程应用,请前往系统设置在远程应用中配置", "WebSocketDisconnect": "WebSocket 断开", "WebTerminal": "Web终端", @@ -1832,16 +1200,13 @@ "Wednesday": "周三", "Week": "周", "WeekAdd": "本周新增", - "WeekOf": "周的星期", "WeekOrTime": "星期/时间", - "Weekly": "按周", "WildcardsAllowed": "允许的通配符", - "WindowsAdminUser": "Windows 特权用户", "WindowsPushHelpText": "windows 资产暂不支持推送密钥", "WordSep": "", - "WorkBench": "工作台", "Workbench": "工作台", "Workspace": "工作空间", "Yes": "是", + "Notifications": "通知设置", "ZStack": "ZStack" } diff --git a/apps/ops/migrations/0017_auto_20200306_1747.py b/apps/ops/migrations/0017_auto_20200306_1747.py index 8eb64257c..efcea5d4d 100644 --- a/apps/ops/migrations/0017_auto_20200306_1747.py +++ b/apps/ops/migrations/0017_auto_20200306_1747.py @@ -13,11 +13,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='task', name='crontab', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform'), + field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab'), ), migrations.AlterField( model_name='task', name='interval', - field=models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform'), + field=models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval'), ), ] diff --git a/apps/ops/migrations/0023_auto_20220912_0021.py b/apps/ops/migrations/0023_auto_20220912_0021.py index a55ba48f1..4079d88ab 100644 --- a/apps/ops/migrations/0023_auto_20220912_0021.py +++ b/apps/ops/migrations/0023_auto_20220912_0021.py @@ -61,8 +61,8 @@ class Migration(migrations.Migration): ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), - ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), - ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), + ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), + ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), ('instant', models.BooleanField(default=False)), ('args', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Args')), @@ -165,8 +165,8 @@ class Migration(migrations.Migration): ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), - ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Cycle perform')), - ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), + ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), + ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), ('instant', models.BooleanField(default=False)), ('args', models.CharField(blank=True, default='', max_length=1024, null=True, verbose_name='Args')), diff --git a/apps/ops/mixin.py b/apps/ops/mixin.py index 549e422ee..49dc47640 100644 --- a/apps/ops/mixin.py +++ b/apps/ops/mixin.py @@ -20,14 +20,14 @@ class PeriodTaskModelMixin(models.Model): name = models.CharField( max_length=128, unique=False, verbose_name=_("Name") ) - is_periodic = models.BooleanField(default=False, verbose_name=_("Periodic perform")) + is_periodic = models.BooleanField(default=False, verbose_name=_("Periodic run")) interval = models.IntegerField( default=24, null=True, blank=True, - verbose_name=_("Cycle perform"), + verbose_name=_("Interval"), ) crontab = models.CharField( - null=True, blank=True, max_length=128, - verbose_name=_("Regularly perform"), + blank=True, max_length=128, + verbose_name=_("Crontab"), ) @abc.abstractmethod @@ -85,9 +85,9 @@ class PeriodTaskModelMixin(models.Model): @property def periodic_display(self): if self.is_periodic and self.crontab: - return _('Regularly perform') + " ( {} )".format(self.crontab) + return _('Crontab') + " ( {} )".format(self.crontab) if self.is_periodic and self.interval: - return _('Cycle perform') + " ( {} h )".format(self.interval) + return _('Interval') + " ( {} h )".format(self.interval) return '-' @property @@ -101,14 +101,15 @@ class PeriodTaskModelMixin(models.Model): class PeriodTaskSerializerMixin(serializers.Serializer): - is_periodic = serializers.BooleanField(default=True, label=_("Periodic perform")) + is_periodic = serializers.BooleanField(default=True, label=_("Periodic run")) crontab = serializers.CharField( max_length=128, allow_blank=True, - allow_null=True, required=False, label=_('Regularly perform') + allow_null=True, required=False, label=_('Crontab') ) interval = serializers.IntegerField( default=24, allow_null=True, required=False, label=_('Interval') ) + periodic_display = serializers.CharField(read_only=True, label=_('Run period')) INTERVAL_MAX = 65535 INTERVAL_MIN = 1 @@ -135,6 +136,6 @@ class PeriodTaskSerializerMixin(serializers.Serializer): crontab = self.initial_data.get('crontab') interval = self.initial_data.get('interval') if ok and not any([crontab, interval]): - msg = _("Require periodic or regularly perform setting") + msg = _("Require interval or crontab setting") raise serializers.ValidationError(msg) return ok diff --git a/apps/ops/models/celery.py b/apps/ops/models/celery.py index f17ffe685..a48538273 100644 --- a/apps/ops/models/celery.py +++ b/apps/ops/models/celery.py @@ -32,7 +32,9 @@ class CeleryTask(models.Model): @property def state(self): - last_five_executions = CeleryTaskExecution.objects.filter(name=self.name).order_by('-date_published')[:5] + last_five_executions = CeleryTaskExecution.objects \ + .filter(name=self.name) \ + .order_by('-date_published')[:5] if len(last_five_executions) > 0: if last_five_executions[0].state == 'FAILURE': diff --git a/apps/ops/serializers/celery.py b/apps/ops/serializers/celery.py index a4e9c7e8d..a1824098d 100644 --- a/apps/ops/serializers/celery.py +++ b/apps/ops/serializers/celery.py @@ -30,8 +30,10 @@ class CeleryPeriodTaskSerializer(serializers.ModelSerializer): class CeleryTaskSerializer(serializers.ModelSerializer): - exec_cycle = serializers.CharField(read_only=True) - next_exec_time = serializers.DateTimeField(format="%Y/%m/%d %H:%M:%S", read_only=True) + exec_cycle = serializers.CharField(read_only=True, label=_('Execution cycle')) + next_exec_time = serializers.DateTimeField( + format="%Y/%m/%d %H:%M:%S", read_only=True, label=_('Next execution time') + ) class Meta: model = CeleryTask diff --git a/apps/ops/serializers/job.py b/apps/ops/serializers/job.py index 75729f988..ca0ff4d61 100644 --- a/apps/ops/serializers/job.py +++ b/apps/ops/serializers/job.py @@ -48,6 +48,9 @@ class JobSerializer(BulkOrgResourceModelSerializer, PeriodTaskSerializerMixin): "is_periodic", "interval", "crontab", "nodes", "run_after_save" ] + extra_kwargs = { + 'average_time_cost': {'label': _('Average time cost')}, + } class FileSerializer(serializers.Serializer): diff --git a/apps/orgs/serializers.py b/apps/orgs/serializers.py index efa1fa311..fd4c16059 100644 --- a/apps/orgs/serializers.py +++ b/apps/orgs/serializers.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ from rest_framework import serializers from rest_framework.serializers import ModelSerializer @@ -6,15 +7,15 @@ from .utils import get_current_org class ResourceStatisticsSerializer(serializers.Serializer): - users_amount = serializers.IntegerField(required=False) - groups_amount = serializers.IntegerField(required=False) + users_amount = serializers.IntegerField(required=False, label=_('Users amount')) + groups_amount = serializers.IntegerField(required=False, label=_('User groups amount')) - assets_amount = serializers.IntegerField(required=False) - nodes_amount = serializers.IntegerField(required=False) - domains_amount = serializers.IntegerField(required=False) - gateways_amount = serializers.IntegerField(required=False) + assets_amount = serializers.IntegerField(required=False, label=_('Assets amount')) + nodes_amount = serializers.IntegerField(required=False, label=_('Nodes amount')) + domains_amount = serializers.IntegerField(required=False, label=_('Domains amount')) + gateways_amount = serializers.IntegerField(required=False, label=_('Gateways amount')) - asset_perms_amount = serializers.IntegerField(required=False) + asset_perms_amount = serializers.IntegerField(required=False, label=_('Asset permissions amount')) class OrgSerializer(ModelSerializer): diff --git a/apps/perms/serializers/permission.py b/apps/perms/serializers/permission.py index 3e32b40e1..012c6f7e1 100644 --- a/apps/perms/serializers/permission.py +++ b/apps/perms/serializers/permission.py @@ -35,6 +35,10 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali ) assets = ObjectRelatedField(queryset=Asset.objects, many=True, required=False, label=_('Asset')) nodes = ObjectRelatedField(queryset=Node.objects, many=True, required=False, label=_('Node')) + users_amount = serializers.IntegerField(read_only=True, label=_("Users amount")) + user_groups_amount = serializers.IntegerField(read_only=True, label=_("User groups amount")) + assets_amount = serializers.IntegerField(read_only=True, label=_("Assets amount")) + nodes_amount = serializers.IntegerField(read_only=True, label=_("Nodes amount")) actions = ActionChoicesField(required=False, allow_null=True, label=_("Actions")) is_valid = serializers.BooleanField(read_only=True, label=_("Is valid")) is_expired = serializers.BooleanField(read_only=True, label=_("Is expired")) @@ -46,13 +50,14 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali class Meta: model = AssetPermission fields_mini = ["id", "name"] + amount_fields = ["users_amount", "user_groups_amount", "assets_amount", "nodes_amount"] fields_generic = [ "accounts", "protocols", "actions", "created_by", "date_created", "date_start", "date_expired", "is_active", "is_expired", "is_valid", "comment", "from_ticket", ] fields_small = fields_mini + fields_generic - fields_m2m = ["users", "user_groups", "assets", "nodes", "labels"] + fields_m2m = ["users", "user_groups", "assets", "nodes", "labels"] + amount_fields fields = fields_mini + fields_m2m + fields_generic read_only_fields = ["created_by", "date_created", "from_ticket"] extra_kwargs = { @@ -183,15 +188,9 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali class AssetPermissionListSerializer(AssetPermissionSerializer): - users_amount = serializers.IntegerField(read_only=True, label=_("Users amount")) - user_groups_amount = serializers.IntegerField(read_only=True, label=_("User groups amount")) - assets_amount = serializers.IntegerField(read_only=True, label=_("Assets amount")) - nodes_amount = serializers.IntegerField(read_only=True, label=_("Nodes amount")) - class Meta(AssetPermissionSerializer.Meta): - amount_fields = ["users_amount", "user_groups_amount", "assets_amount", "nodes_amount"] remove_fields = {"users", "assets", "nodes", "user_groups"} - fields = list(set(AssetPermissionSerializer.Meta.fields + amount_fields) - remove_fields) + fields = list(set(AssetPermissionSerializer.Meta.fields) - remove_fields) @classmethod def setup_eager_loading(cls, queryset): diff --git a/apps/rbac/serializers/role.py b/apps/rbac/serializers/role.py index 2e925c0c8..84c597396 100644 --- a/apps/rbac/serializers/role.py +++ b/apps/rbac/serializers/role.py @@ -24,7 +24,7 @@ class RoleSerializer(serializers.ModelSerializer): ] extra_kwargs = { 'permissions': {'write_only': True}, - 'users_amount': {'label': _('Users')}, + 'users_amount': {'label': _('Users amount')}, 'display_name': {'label': _('Display name')} } diff --git a/apps/settings/serializers/auth/ldap.py b/apps/settings/serializers/auth/ldap.py index 054fe6144..e4739251c 100644 --- a/apps/settings/serializers/auth/ldap.py +++ b/apps/settings/serializers/auth/ldap.py @@ -63,14 +63,14 @@ class LDAPSettingSerializer(serializers.Serializer): required=False, label=_('Organization'), max_length=36 ) AUTH_LDAP_SYNC_IS_PERIODIC = serializers.BooleanField( - required=False, label=_('Periodic perform') + required=False, label=_('Periodic run') ) AUTH_LDAP_SYNC_CRONTAB = serializers.CharField( required=False, max_length=128, allow_null=True, allow_blank=True, - label=_('Regularly perform') + label=_('Crontab') ) AUTH_LDAP_SYNC_INTERVAL = serializers.IntegerField( - required=False, default=24, allow_null=True, label=_('Cycle perform') + required=False, default=24, allow_null=True, label=_('Interval') ) AUTH_LDAP_CONNECT_TIMEOUT = serializers.IntegerField( min_value=1, max_value=300, diff --git a/apps/terminal/serializers/terminal.py b/apps/terminal/serializers/terminal.py index a65249551..e47fcf93e 100644 --- a/apps/terminal/serializers/terminal.py +++ b/apps/terminal/serializers/terminal.py @@ -39,14 +39,14 @@ class TerminalSmallSerializer(serializers.ModelSerializer): class TerminalSerializer(BulkModelSerializer): - session_online = serializers.ReadOnlyField(source='get_online_session_count') - is_alive = serializers.BooleanField(read_only=True) + session_online = serializers.ReadOnlyField(source='get_online_session_count', label=_('Online sessions')) + is_alive = serializers.BooleanField(read_only=True, label=_('Is alive')) is_active = serializers.BooleanField(read_only=True, label='Is active') load = LabeledChoiceField( read_only=True, choices=const.ComponentLoad.choices, label=_('Load status') ) - stat = StatSerializer(read_only=True, source='last_stat') + stat = StatSerializer(read_only=True, source='last_stat', label=_('Stat')) class Meta: model = Terminal diff --git a/apps/users/serializers/group.py b/apps/users/serializers/group.py index b87ba4a0e..0c6470d42 100644 --- a/apps/users/serializers/group.py +++ b/apps/users/serializers/group.py @@ -57,5 +57,4 @@ class UserGroupListSerializer(UserGroupSerializer): fields = list(set(UserGroupSerializer.Meta.fields + ['users_amount']) - {'users'}) extra_kwargs = { **UserGroupSerializer.Meta.extra_kwargs, - 'users_amount': {'label': _('Users amount')}, } diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 12dd15869..692ae5ab7 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -165,6 +165,9 @@ class UserSerializer(RolesSerializerMixin, CommonBulkSerializerMixin, ResourceLa "groups": { "label": _("Groups"), }, + "is_superuser": { + "label": _("Superuser") + }, "public_key": {"write_only": True}, "is_first_login": {"label": _("Is first login"), "read_only": True}, "is_active": {"label": _("Is active")}, From 74dd6e97a23d99bbf185a417d660e5bb230a16da Mon Sep 17 00:00:00 2001 From: ibuler Date: Sun, 4 Feb 2024 10:23:54 +0800 Subject: [PATCH 011/343] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/core/en/LC_MESSAGES/django.mo | 3 + apps/i18n/core/en/LC_MESSAGES/django.po | 8870 +++++++++++++++++++++++ apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 1192 +-- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 19 +- apps/i18n/lina/en.bak.json | 6 +- apps/i18n/lina/en.json | 49 +- apps/i18n/lina/zh.json | 5 +- apps/users/serializers/user.py | 4 +- 10 files changed, 9679 insertions(+), 477 deletions(-) create mode 100644 apps/i18n/core/en/LC_MESSAGES/django.mo create mode 100644 apps/i18n/core/en/LC_MESSAGES/django.po diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo new file mode 100644 index 000000000..b28164822 --- /dev/null +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d4d85e83261024b7f2bf9a22cb597cf7c596d63e867c77ccf989bf395eda6b4 +size 893 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po new file mode 100644 index 000000000..aaa672ba9 --- /dev/null +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -0,0 +1,8870 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-02 16:51+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: accounts/api/automations/base.py:79 tickets/api/ticket.py:132 +msgid "The parameter 'action' must be [{}]" +msgstr "" + +#: accounts/const/account.py:6 +#: accounts/serializers/automations/change_secret.py:32 +#: assets/models/_user.py:24 audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:9 authentication/confirm/password.py:24 +#: authentication/confirm/password.py:26 authentication/forms.py:32 +#: authentication/templates/authentication/login.html:330 +#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 +#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:104 +#: users/templates/users/_msg_user_created.html:13 +#: users/templates/users/user_password_verify.html:18 +#: xpack/plugins/cloud/serializers/account_attrs.py:28 +msgid "Password" +msgstr "" + +#: accounts/const/account.py:7 +#: accounts/serializers/automations/change_secret.py:33 +#: terminal/serializers/storage.py:124 +msgid "SSH key" +msgstr "" + +#: accounts/const/account.py:8 authentication/models/access_key.py:42 +msgid "Access key" +msgstr "" + +#: accounts/const/account.py:9 assets/models/_user.py:48 +#: authentication/backends/passkey/models.py:16 +#: authentication/models/sso_token.py:14 settings/serializers/feature.py:52 +msgid "Token" +msgstr "" + +#: accounts/const/account.py:10 +msgid "API key" +msgstr "" + +#: accounts/const/account.py:14 common/db/fields.py:235 +#: settings/serializers/terminal.py:14 +msgid "All" +msgstr "" + +#: accounts/const/account.py:15 accounts/models/virtual.py:26 +msgid "Manual input" +msgstr "" + +#: accounts/const/account.py:16 +msgid "Dynamic user" +msgstr "" + +#: accounts/const/account.py:17 +msgid "Anonymous account" +msgstr "" + +#: accounts/const/account.py:25 users/models/user.py:742 +msgid "Local" +msgstr "" + +#: accounts/const/account.py:26 +msgid "Collected" +msgstr "" + +#: accounts/const/account.py:27 accounts/serializers/account/account.py:28 +#: settings/serializers/auth/sms.py:79 +msgid "Template" +msgstr "" + +#: accounts/const/account.py:31 ops/const.py:46 +msgid "Skip" +msgstr "" + +#: accounts/const/account.py:32 audits/const.py:24 rbac/tree.py:239 +#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 +msgid "Update" +msgstr "" + +#: accounts/const/account.py:33 +#: accounts/serializers/automations/change_secret.py:150 audits/const.py:62 +#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19 +#: ops/const.py:75 terminal/const.py:79 xpack/plugins/cloud/const.py:46 +msgid "Failed" +msgstr "" + +#: accounts/const/automation.py:24 rbac/tree.py:52 +msgid "Push account" +msgstr "" + +#: accounts/const/automation.py:25 +msgid "Change secret" +msgstr "" + +#: accounts/const/automation.py:26 +msgid "Verify account" +msgstr "" + +#: accounts/const/automation.py:27 accounts/tasks/remove_account.py:24 +#: accounts/tasks/remove_account.py:33 +msgid "Remove account" +msgstr "" + +#: accounts/const/automation.py:28 +msgid "Gather accounts" +msgstr "" + +#: accounts/const/automation.py:29 +msgid "Verify gateway account" +msgstr "" + +#: accounts/const/automation.py:47 +msgid "Specific secret" +msgstr "" + +#: accounts/const/automation.py:48 +msgid "Random generate" +msgstr "" + +#: accounts/const/automation.py:52 ops/const.py:13 +msgid "Append SSH KEY" +msgstr "" + +#: accounts/const/automation.py:53 ops/const.py:14 +msgid "Empty and append SSH KEY" +msgstr "" + +#: accounts/const/automation.py:54 ops/const.py:15 +msgid "Replace (Replace only keys pushed by JumpServer) " +msgstr "" + +#: accounts/const/automation.py:59 +msgid "On asset create" +msgstr "" + +#: accounts/const/automation.py:62 +msgid "On perm add user" +msgstr "" + +#: accounts/const/automation.py:64 +msgid "On perm add user group" +msgstr "" + +#: accounts/const/automation.py:66 +msgid "On perm add asset" +msgstr "" + +#: accounts/const/automation.py:68 +msgid "On perm add node" +msgstr "" + +#: accounts/const/automation.py:70 +msgid "On perm add account" +msgstr "" + +#: accounts/const/automation.py:72 +msgid "On asset join node" +msgstr "" + +#: accounts/const/automation.py:74 +msgid "On user join group" +msgstr "" + +#: accounts/const/automation.py:82 +msgid "On perm change" +msgstr "" + +#: accounts/const/automation.py:89 +msgid "Inherit from group or node" +msgstr "" + +#: accounts/const/automation.py:97 +msgid "Create and push" +msgstr "" + +#: accounts/const/automation.py:98 +msgid "Only create" +msgstr "" + +#: accounts/const/automation.py:103 +#: authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 +#: settings/serializers/msg.py:64 users/forms/profile.py:102 +#: users/forms/profile.py:109 users/models/user.py:802 +#: users/templates/users/forgot_password.html:117 +#: users/views/profile/reset.py:93 +msgid "Email" +msgstr "" + +#: accounts/const/automation.py:105 terminal/const.py:87 +msgid "SFTP" +msgstr "" + +#: accounts/const/vault.py:8 assets/const/category.py:12 +#: assets/models/asset/database.py:9 assets/models/asset/database.py:24 +msgid "Database" +msgstr "" + +#: accounts/const/vault.py:9 settings/serializers/feature.py:43 +msgid "HCP Vault" +msgstr "" + +#: accounts/mixins.py:35 +msgid "Export all" +msgstr "" + +#: accounts/mixins.py:37 +msgid "Export only selected items" +msgstr "" + +#: accounts/mixins.py:42 +#, python-format +msgid "Export filtered: %s" +msgstr "" + +#: accounts/mixins.py:48 +#, python-format +msgid "User %s view/export secret" +msgstr "" + +#: accounts/models/account.py:49 +#: accounts/models/automations/gather_account.py:16 +#: accounts/serializers/account/account.py:215 +#: accounts/serializers/account/account.py:260 +#: accounts/serializers/account/gathered_account.py:10 +#: accounts/serializers/automations/change_secret.py:106 +#: accounts/serializers/automations/change_secret.py:126 +#: accounts/templates/accounts/asset_account_change_info.html:7 +#: acls/serializers/base.py:123 assets/models/asset/common.py:95 +#: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 +#: audits/models.py:58 authentication/models/connection_token.py:36 +#: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 +#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 +#: terminal/notifications.py:155 terminal/serializers/command.py:17 +#: terminal/serializers/session.py:26 +#: terminal/templates/terminal/_msg_command_warning.html:4 +#: terminal/templates/terminal/_msg_session_sharing.html:4 +#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:256 +msgid "Asset" +msgstr "" + +#: accounts/models/account.py:53 accounts/models/template.py:16 +#: accounts/serializers/account/account.py:222 +#: accounts/serializers/account/account.py:270 +#: accounts/serializers/account/template.py:27 +#: authentication/serializers/connect_token_secret.py:50 +msgid "Su from" +msgstr "" + +#: accounts/models/account.py:55 assets/const/protocol.py:169 +#: settings/serializers/auth/cas.py:20 settings/serializers/auth/feishu.py:20 +#: terminal/models/applet/applet.py:35 +#: terminal/models/virtualapp/virtualapp.py:21 +msgid "Version" +msgstr "" + +#: accounts/models/account.py:57 accounts/serializers/account/account.py:217 +#: users/models/user.py:845 +msgid "Source" +msgstr "" + +#: accounts/models/account.py:58 +msgid "Source ID" +msgstr "" + +#: accounts/models/account.py:61 +#: accounts/serializers/automations/change_secret.py:107 +#: accounts/serializers/automations/change_secret.py:127 +#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 +#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 +#: audits/models.py:59 authentication/api/connection_token.py:405 +#: ops/models/base.py:18 perms/models/asset_permission.py:75 +#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/templates/terminal/_msg_command_warning.html:8 +#: terminal/templates/terminal/_msg_session_sharing.html:8 +#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 +msgid "Account" +msgstr "" + +#: accounts/models/account.py:67 +msgid "Can view asset account secret" +msgstr "" + +#: accounts/models/account.py:68 +msgid "Can view asset history account" +msgstr "" + +#: accounts/models/account.py:69 +msgid "Can view asset history account secret" +msgstr "" + +#: accounts/models/account.py:70 +msgid "Can verify account" +msgstr "" + +#: accounts/models/account.py:71 +msgid "Can push account" +msgstr "" + +#: accounts/models/account.py:72 +msgid "Can remove account" +msgstr "" + +#: accounts/models/automations/backup_account.py:27 +msgid "Backup Type" +msgstr "" + +#: accounts/models/automations/backup_account.py:28 +#: accounts/models/automations/backup_account.py:29 +msgid "Is Password Divided" +msgstr "" + +#: accounts/models/automations/backup_account.py:32 +msgid "Recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:36 +msgid "Recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:40 +msgid "Object Storage Recipient part one" +msgstr "" + +#: accounts/models/automations/backup_account.py:44 +msgid "Object Storage Recipient part two" +msgstr "" + +#: accounts/models/automations/backup_account.py:47 +#: accounts/serializers/account/backup.py:20 +msgid "Zip Encrypt Password" +msgstr "" + +#: accounts/models/automations/backup_account.py:55 +#: accounts/models/automations/backup_account.py:138 +msgid "Account backup plan" +msgstr "" + +#: accounts/models/automations/backup_account.py:119 +#: assets/models/automations/base.py:115 audits/models.py:65 +#: ops/models/base.py:55 ops/models/celery.py:65 ops/models/job.py:235 +#: ops/templates/ops/celery_task_log.html:75 +#: perms/models/asset_permission.py:78 terminal/models/applet/host.py:141 +#: terminal/models/session/session.py:44 +#: tickets/models/ticket/apply_application.py:30 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Date start" +msgstr "" + +#: accounts/models/automations/backup_account.py:122 +#: authentication/templates/authentication/_msg_oauth_bind.html:11 +#: notifications/notifications.py:186 +msgid "Time" +msgstr "" + +#: accounts/models/automations/backup_account.py:126 +msgid "Account backup snapshot" +msgstr "" + +#: accounts/models/automations/backup_account.py:130 +#: accounts/serializers/account/backup.py:48 +#: accounts/serializers/automations/base.py:54 +#: assets/models/automations/base.py:122 +#: assets/serializers/automations/base.py:39 +msgid "Trigger mode" +msgstr "" + +#: accounts/models/automations/backup_account.py:133 audits/models.py:203 +#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/models.py:208 +msgid "Reason" +msgstr "" + +#: accounts/models/automations/backup_account.py:135 +#: accounts/serializers/automations/change_secret.py:105 +#: accounts/serializers/automations/change_secret.py:128 +#: ops/serializers/job.py:67 terminal/serializers/session.py:49 +msgid "Is success" +msgstr "Success" + +#: accounts/models/automations/backup_account.py:143 +msgid "Account backup execution" +msgstr "" + +#: accounts/models/automations/base.py:18 +msgid "Account automation task" +msgstr "" + +#: accounts/models/automations/base.py:32 +msgid "Automation execution" +msgstr "" + +#: accounts/models/automations/base.py:33 +msgid "Automation executions" +msgstr "" + +#: accounts/models/automations/base.py:35 +msgid "Can view change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:36 +msgid "Can add change secret execution" +msgstr "" + +#: accounts/models/automations/base.py:38 +msgid "Can view gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:39 +msgid "Can add gather accounts execution" +msgstr "" + +#: accounts/models/automations/base.py:41 +msgid "Can view push account execution" +msgstr "" + +#: accounts/models/automations/base.py:42 +msgid "Can add push account execution" +msgstr "" + +#: accounts/models/automations/base.py:54 +msgid "SSH key change strategy" +msgstr "" + +#: accounts/models/automations/change_secret.py:15 +#: accounts/models/automations/gather_account.py:58 +#: accounts/serializers/account/backup.py:40 +#: accounts/serializers/automations/change_secret.py:56 +msgid "Recipient" +msgstr "" + +#: accounts/models/automations/change_secret.py:22 +msgid "Change secret automation" +msgstr "" + +#: accounts/models/automations/change_secret.py:39 +msgid "Old secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:40 +msgid "New secret" +msgstr "" + +#: accounts/models/automations/change_secret.py:41 +msgid "Date started" +msgstr "" + +#: accounts/models/automations/change_secret.py:42 +#: assets/models/automations/base.py:116 ops/models/base.py:56 +#: ops/models/celery.py:66 ops/models/job.py:236 +#: terminal/models/applet/host.py:142 +msgid "Date finished" +msgstr "" + +#: accounts/models/automations/change_secret.py:43 +#: assets/models/automations/base.py:113 audits/models.py:208 +#: audits/serializers.py:54 ops/models/base.py:49 ops/models/job.py:227 +#: terminal/models/applet/applet.py:320 terminal/models/applet/host.py:140 +#: terminal/models/component/status.py:30 +#: terminal/models/virtualapp/virtualapp.py:99 +#: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:136 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:283 +#: tickets/serializers/super_ticket.py:13 +#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:204 +#: xpack/plugins/cloud/models.py:260 +msgid "Status" +msgstr "" + +#: accounts/models/automations/change_secret.py:44 +#: accounts/serializers/account/account.py:262 assets/const/automation.py:8 +#: authentication/templates/authentication/passkey.html:173 +#: authentication/views/base.py:42 authentication/views/base.py:43 +#: authentication/views/base.py:44 common/const/choices.py:20 +msgid "Error" +msgstr "" + +#: accounts/models/automations/change_secret.py:48 +msgid "Change secret record" +msgstr "" + +#: accounts/models/automations/gather_account.py:14 +msgid "Present" +msgstr "" + +#: accounts/models/automations/gather_account.py:15 +msgid "Date last login" +msgstr "" + +#: accounts/models/automations/gather_account.py:17 +#: accounts/models/automations/push_account.py:15 accounts/models/base.py:65 +#: accounts/serializers/account/virtual.py:21 acls/serializers/base.py:19 +#: acls/serializers/base.py:50 assets/models/_user.py:23 audits/models.py:188 +#: authentication/forms.py:25 authentication/forms.py:27 +#: authentication/models/temp_token.py:9 +#: authentication/templates/authentication/_msg_different_city.html:9 +#: authentication/templates/authentication/_msg_oauth_bind.html:9 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:115 users/models/user.py:798 +#: users/templates/users/_msg_user_created.html:12 +#: xpack/plugins/cloud/serializers/account_attrs.py:26 +msgid "Username" +msgstr "" + +#: accounts/models/automations/gather_account.py:18 +msgid "Address last login" +msgstr "" + +#: accounts/models/automations/gather_account.py:44 +msgid "Gather account automation" +msgstr "" + +#: accounts/models/automations/gather_account.py:56 +#, fuzzy +#| msgid "Sync account" +msgid "Is sync account" +msgstr "Sync account" + +#: accounts/models/automations/gather_account.py:75 +#: accounts/tasks/gather_accounts.py:29 +msgid "Gather asset accounts" +msgstr "" + +#: accounts/models/automations/push_account.py:14 +msgid "Triggers" +msgstr "" + +#: accounts/models/automations/push_account.py:16 acls/models/base.py:41 +#: acls/serializers/base.py:57 assets/models/cmd_filter.py:81 +#: audits/models.py:92 audits/serializers.py:84 +#: authentication/serializers/connect_token_secret.py:119 +#: authentication/templates/authentication/_access_key_modal.html:34 +msgid "Action" +msgstr "" + +#: accounts/models/automations/push_account.py:57 +msgid "Push asset account" +msgstr "" + +#: accounts/models/automations/verify_account.py:15 +msgid "Verify asset account" +msgstr "" + +#: accounts/models/base.py:37 accounts/models/base.py:67 +#: accounts/serializers/account/account.py:442 +#: accounts/serializers/account/base.py:17 +#: accounts/serializers/automations/change_secret.py:45 +#: authentication/serializers/connect_token_secret.py:42 +#: authentication/serializers/connect_token_secret.py:51 +#: terminal/serializers/storage.py:140 +msgid "Secret type" +msgstr "" + +#: accounts/models/base.py:39 accounts/models/mixins/vault.py:49 +#: accounts/serializers/account/base.py:20 +#: authentication/models/temp_token.py:10 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:19 +msgid "Secret" +msgstr "" + +#: accounts/models/base.py:42 +#: accounts/serializers/automations/change_secret.py:39 +msgid "Secret strategy" +msgstr "" + +#: accounts/models/base.py:44 accounts/serializers/account/template.py:24 +#: accounts/serializers/automations/change_secret.py:44 +msgid "Password rules" +msgstr "" + +#: accounts/models/base.py:64 accounts/serializers/account/virtual.py:20 +#: acls/models/base.py:35 acls/models/base.py:96 acls/models/command_acl.py:21 +#: acls/serializers/base.py:35 applications/models.py:9 +#: assets/models/_user.py:22 assets/models/asset/common.py:93 +#: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 +#: assets/models/domain.py:19 assets/models/group.py:17 +#: assets/models/label.py:18 assets/models/platform.py:16 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:229 +#: authentication/backends/passkey/models.py:10 +#: authentication/serializers/connect_token_secret.py:113 +#: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 +#: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 +#: ops/models/celery.py:59 ops/models/job.py:136 ops/models/playbook.py:28 +#: ops/serializers/job.py:18 orgs/models.py:82 +#: perms/models/asset_permission.py:61 rbac/models/role.py:29 +#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 +#: terminal/models/component/endpoint.py:95 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/terminal.py:84 +#: terminal/models/virtualapp/provider.py:10 +#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 +#: users/forms/profile.py:33 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user.py:800 +#: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 +#: xpack/plugins/cloud/serializers/task.py:70 +msgid "Name" +msgstr "" + +#: accounts/models/base.py:69 +msgid "Privileged" +msgstr "" + +#: accounts/models/base.py:70 assets/models/asset/common.py:166 +#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 +#: assets/models/label.py:22 +#: authentication/serializers/connect_token_secret.py:117 +#: terminal/models/applet/applet.py:40 +#: terminal/models/component/endpoint.py:106 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 +msgid "Is active" +msgstr "" + +#: accounts/models/template.py:18 assets/models/_user.py:53 +msgid "Auto push" +msgstr "" + +#: accounts/models/template.py:21 +msgid "Platforms" +msgstr "" + +#: accounts/models/template.py:23 +msgid "Push params" +msgstr "" + +#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:333 +msgid "Account template" +msgstr "" + +#: accounts/models/template.py:31 +msgid "Can view asset account template secret" +msgstr "" + +#: accounts/models/template.py:32 +msgid "Can change asset account template secret" +msgstr "" + +#: accounts/models/virtual.py:13 +msgid "Alias" +msgstr "" + +#: accounts/models/virtual.py:14 +msgid "Secret from login" +msgstr "" + +#: accounts/models/virtual.py:27 +msgid "Same with user" +msgstr "" + +#: accounts/models/virtual.py:36 +msgid "Non-asset account, Input username/password on connect" +msgstr "" + +#: accounts/models/virtual.py:37 +msgid "The account username name same with user on connect" +msgstr "" + +#: accounts/models/virtual.py:38 +msgid "" +"Connect asset without using a username and password, and it only supports " +"web-based and custom-type assets" +msgstr "" + +#: accounts/notifications.py:11 accounts/notifications.py:36 +msgid "Notification of account backup route task results" +msgstr "" + +#: accounts/notifications.py:21 accounts/notifications.py:45 +msgid "" +"{} - The account backup passage task has been completed. See the attachment " +"for details" +msgstr "" + +#: accounts/notifications.py:24 +msgid "" +"{} - The account backup passage task has been completed: the encryption " +"password has not been set - please go to personal information -> Basic file " +"encryption password for preference settings" +msgstr "" + +#: accounts/notifications.py:55 +msgid "Notification of implementation result of encryption change plan" +msgstr "" + +#: accounts/notifications.py:65 +msgid "" +"{} - The encryption change task has been completed. See the attachment for " +"details" +msgstr "" + +#: accounts/notifications.py:68 +msgid "" +"{} - The encryption change task has been completed: the encryption password " +"has not been set - please go to personal information -> file encryption " +"password to set the encryption password" +msgstr "" + +#: accounts/notifications.py:79 +msgid "Gather account change information" +msgstr "" + +#: accounts/serializers/account/account.py:31 +msgid "Push now" +msgstr "" + +#: accounts/serializers/account/account.py:36 +msgid "Params" +msgstr "" + +#: accounts/serializers/account/account.py:40 +msgid "Exist policy" +msgstr "" + +#: accounts/serializers/account/account.py:195 applications/models.py:11 +#: assets/models/label.py:21 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 +#: assets/serializers/platform.py:140 assets/serializers/platform.py:230 +#: perms/serializers/user_permission.py:26 settings/models.py:35 +#: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 +msgid "Category" +msgstr "" + +#: accounts/serializers/account/account.py:196 +#: accounts/serializers/automations/base.py:53 acls/models/command_acl.py:24 +#: acls/serializers/command_acl.py:19 applications/models.py:14 +#: assets/models/_user.py:50 assets/models/automations/base.py:20 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:97 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 +#: assets/serializers/platform.py:139 audits/serializers.py:53 +#: audits/serializers.py:170 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 +#: terminal/models/component/storage.py:57 +#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 +#: terminal/serializers/session.py:21 terminal/serializers/storage.py:264 +#: terminal/serializers/storage.py:276 tickets/models/comment.py:26 +#: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 +#: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 +#: tickets/serializers/ticket/ticket.py:19 +msgid "Type" +msgstr "" + +#: accounts/serializers/account/account.py:211 +msgid "Asset not found" +msgstr "" + +#: accounts/serializers/account/account.py:251 +msgid "Has secret" +msgstr "" + +#: accounts/serializers/account/account.py:261 ops/models/celery.py:62 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:45 +#: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14 +#: tickets/serializers/ticket/ticket.py:21 +msgid "State" +msgstr "" + +#: accounts/serializers/account/account.py:263 +msgid "Changed" +msgstr "" + +#: accounts/serializers/account/account.py:273 +#: accounts/serializers/automations/base.py:22 acls/models/base.py:97 +#: acls/templates/acls/asset_login_reminder.html:6 +#: assets/models/automations/base.py:19 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:30 +#: authentication/api/connection_token.py:404 ops/models/base.py:17 +#: ops/models/job.py:146 ops/serializers/job.py:19 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +msgid "Assets" +msgstr "" + +#: accounts/serializers/account/account.py:328 +msgid "Account already exists" +msgstr "" + +#: accounts/serializers/account/account.py:378 +#, python-format +msgid "Asset does not support this secret type: %s" +msgstr "" + +#: accounts/serializers/account/account.py:410 +msgid "Account has exist" +msgstr "" + +#: accounts/serializers/account/account.py:443 +#: authentication/serializers/connect_token_secret.py:159 +#: authentication/templates/authentication/_access_key_modal.html:30 +#: perms/models/perm_node.py:21 users/serializers/group.py:33 +msgid "ID" +msgstr "" + +#: accounts/serializers/account/account.py:453 acls/serializers/base.py:116 +#: acls/templates/acls/asset_login_reminder.html:5 +#: acls/templates/acls/user_login_reminder.html:5 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 +#: audits/models.py:90 audits/models.py:172 audits/models.py:269 +#: audits/serializers.py:171 authentication/models/connection_token.py:32 +#: authentication/models/sso_token.py:16 +#: notifications/models/notification.py:12 +#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 +#: perms/serializers/permission.py:32 rbac/builtin.py:124 +#: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 +#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29 +#: terminal/models/session/sharing.py:34 terminal/notifications.py:156 +#: terminal/notifications.py:205 terminal/serializers/command.py:16 +#: terminal/templates/terminal/_msg_command_warning.html:6 +#: terminal/templates/terminal/_msg_session_sharing.html:6 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 +#: users/models/user.py:1041 users/serializers/group.py:21 +msgid "User" +msgstr "" + +#: accounts/serializers/account/account.py:454 +#: authentication/templates/authentication/_access_key_modal.html:33 +#: terminal/notifications.py:158 terminal/notifications.py:207 +msgid "Date" +msgstr "" + +#: accounts/serializers/account/backup.py:38 +#: accounts/serializers/automations/base.py:36 +msgid "Executed amount" +msgstr "" + +#: accounts/serializers/account/backup.py:41 +#: accounts/serializers/automations/change_secret.py:57 +msgid "Currently only mail sending is supported" +msgstr "" + +#: accounts/serializers/account/backup.py:43 +msgid "Asset type" +msgstr "" + +#: accounts/serializers/account/base.py:25 terminal/serializers/storage.py:149 +msgid "Key password" +msgstr "" + +#: accounts/serializers/account/base.py:78 +#: assets/serializers/asset/common.py:381 +msgid "Spec info" +msgstr "" + +#: accounts/serializers/account/base.py:80 +msgid "" +"Tip: If no username is required for authentication, fill in `null`, If AD " +"account, like `username@domain`" +msgstr "" + +#: accounts/serializers/account/template.py:13 +msgid "Password length" +msgstr "" + +#: accounts/serializers/account/template.py:14 +msgid "Lowercase" +msgstr "" + +#: accounts/serializers/account/template.py:15 +msgid "Uppercase" +msgstr "" + +#: accounts/serializers/account/template.py:16 +msgid "Digit" +msgstr "" + +#: accounts/serializers/account/template.py:17 +msgid "Special symbol" +msgstr "" + +#: accounts/serializers/account/template.py:19 +msgid "Exclude symbol" +msgstr "" + +#: accounts/serializers/account/template.py:38 +msgid "Secret generation strategy for account creation" +msgstr "" + +#: accounts/serializers/account/template.py:39 +msgid "Whether to automatically push the account to the asset" +msgstr "" + +#: accounts/serializers/account/template.py:42 +msgid "" +"Associated platform, you can configure push parameters. If not associated, " +"default parameters will be used" +msgstr "" + +#: accounts/serializers/account/virtual.py:19 assets/models/_user.py:27 +#: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 +#: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26 +#: ops/models/job.py:152 ops/models/playbook.py:31 rbac/models/role.py:37 +#: settings/models.py:38 terminal/models/applet/applet.py:45 +#: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 +#: terminal/models/component/endpoint.py:25 +#: terminal/models/component/endpoint.py:105 +#: terminal/models/session/session.py:46 +#: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:297 users/models/user.py:836 +#: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 +msgid "Comment" +msgstr "Description" + +#: accounts/serializers/account/virtual.py:24 +msgid "" +"Current only support login from AD/LDAP. Secret priority: Same account in " +"asset secret > Login secret > Manual input.
For security, please set " +"config CACHE_LOGIN_PASSWORD_ENABLED to true" +msgstr "" + +#: accounts/serializers/automations/base.py:23 +#: assets/serializers/automations/base.py:21 +msgid "Nodes" +msgstr "" + +#: accounts/serializers/automations/base.py:43 +msgid "Name already exists" +msgstr "" + +#: accounts/serializers/automations/base.py:52 +#: assets/models/automations/base.py:118 +#: assets/serializers/automations/base.py:38 +msgid "Automation snapshot" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:42 +msgid "SSH Key strategy" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:79 +msgid "* Please enter the correct password length" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:83 +msgid "* Password length range 6-30 bits" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:109 +#: assets/models/automations/base.py:127 +msgid "Automation task execution" +msgstr "" + +#: accounts/serializers/automations/change_secret.py:149 audits/const.py:61 +#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 +#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:48 +#: terminal/const.py:78 terminal/models/session/sharing.py:121 +#: tickets/views/approve.py:117 +#, fuzzy +#| msgid "Is success" +msgid "Success" +msgstr "Success" + +# msgid "Success" +# msgstr "" +#: accounts/signal_handlers.py:46 +#, python-format +msgid "Push related accounts to assets: %s, by system" +msgstr "" + +#: accounts/signal_handlers.py:55 +#, python-format +msgid "Add account: %s" +msgstr "" + +#: accounts/signal_handlers.py:57 +#, python-format +msgid "Delete account: %s" +msgstr "" + +#: accounts/tasks/automation.py:25 +msgid "Account execute automation" +msgstr "" + +#: accounts/tasks/automation.py:51 accounts/tasks/automation.py:62 +msgid "Execute automation record" +msgstr "" + +#: accounts/tasks/backup_account.py:25 +msgid "Execute account backup plan" +msgstr "" + +#: accounts/tasks/gather_accounts.py:34 +msgid "Gather assets accounts" +msgstr "" + +#: accounts/tasks/push_account.py:15 accounts/tasks/push_account.py:23 +msgid "Push accounts to assets" +msgstr "" + +#: accounts/tasks/remove_account.py:44 +msgid "Clean historical accounts" +msgstr "" + +#: accounts/tasks/remove_account.py:76 +msgid "Remove historical accounts that are out of range." +msgstr "" + +#: accounts/tasks/template.py:11 +msgid "Template sync info to related accounts" +msgstr "" + +#: accounts/tasks/vault.py:31 +msgid "Sync secret to vault" +msgstr "" + +#: accounts/tasks/verify_account.py:49 +msgid "Verify asset account availability" +msgstr "" + +#: accounts/tasks/verify_account.py:55 +msgid "Verify accounts connectivity" +msgstr "" + +#: accounts/templates/accounts/asset_account_change_info.html:8 +msgid "Added account" +msgstr "" + +#: accounts/templates/accounts/asset_account_change_info.html:9 +msgid "Deleted account" +msgstr "" + +#: accounts/utils.py:52 +msgid "" +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." +msgstr "" + +#: accounts/utils.py:59 +msgid "private key invalid or passphrase error" +msgstr "" + +#: acls/apps.py:7 +msgid "App Acls" +msgstr "" + +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:45 +#: tickets/templates/tickets/approve_check_password.html:47 +msgid "Reject" +msgstr "" + +#: acls/const.py:7 audits/const.py:33 terminal/const.py:9 +msgid "Accept" +msgstr "" + +#: acls/const.py:8 audits/const.py:34 +msgid "Review" +msgstr "" + +#: acls/const.py:9 terminal/const.py:10 +msgid "Warning" +msgstr "" + +#: acls/const.py:10 audits/const.py:35 +msgid "Notifications" +msgstr "" + +#: acls/models/base.py:37 assets/models/_user.py:51 +#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:98 +#: xpack/plugins/cloud/models.py:282 +msgid "Priority" +msgstr "" + +#: acls/models/base.py:38 assets/models/_user.py:51 +#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:99 +#: xpack/plugins/cloud/models.py:283 +msgid "1-100, the lower the value will be match first" +msgstr "" + +#: acls/models/base.py:42 assets/models/cmd_filter.py:86 +#: authentication/serializers/connect_token_secret.py:91 +msgid "Reviewers" +msgstr "" + +#: acls/models/base.py:43 authentication/models/access_key.py:25 +#: authentication/models/connection_token.py:53 +#: authentication/templates/authentication/_access_key_modal.html:32 +#: perms/models/asset_permission.py:82 terminal/models/session/sharing.py:29 +#: tickets/const.py:37 +msgid "Active" +msgstr "Active" + +#: acls/models/base.py:81 users/models/preference.py:16 +#: users/serializers/user.py:293 +msgid "Users" +msgstr "" + +#: acls/models/base.py:98 assets/models/automations/base.py:17 +#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 +#: rbac/tree.py:35 +msgid "Accounts" +msgstr "" + +#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 +#: ops/serializers/job.py:66 terminal/const.py:86 +#: terminal/models/session/session.py:42 terminal/serializers/command.py:18 +#: terminal/templates/terminal/_msg_command_alert.html:12 +#: terminal/templates/terminal/_msg_command_execute_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:23 +msgid "Command" +msgstr "" + +#: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59 +#: xpack/plugins/cloud/models.py:299 +msgid "Regex" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +#: settings/models.py:182 settings/serializers/feature.py:19 +#: xpack/plugins/license/models.py:30 +msgid "Content" +msgstr "" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +msgid "One line one command" +msgstr "" + +#: acls/models/command_acl.py:27 assets/models/cmd_filter.py:80 +msgid "Ignore case" +msgstr "" + +#: acls/models/command_acl.py:33 acls/models/command_acl.py:97 +#: acls/serializers/command_acl.py:29 +#: authentication/serializers/connect_token_secret.py:88 +#: terminal/templates/terminal/_msg_command_warning.html:14 +msgid "Command group" +msgstr "" + +#: acls/models/command_acl.py:86 +msgid "The generated regular expression is incorrect: {}" +msgstr "" + +#: acls/models/command_acl.py:103 +#: terminal/templates/terminal/_msg_command_warning.html:12 +msgid "Command acl" +msgstr "" + +#: acls/models/command_acl.py:112 tickets/const.py:11 +msgid "Command confirm" +msgstr "" + +#: acls/models/connect_method.py:10 +msgid "Connect methods" +msgstr "" + +#: acls/models/connect_method.py:13 +msgid "Connect method acl" +msgstr "" + +#: acls/models/login_acl.py:11 acls/models/login_asset_acl.py:9 +#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:13 +msgid "Rule" +msgstr "" + +#: acls/models/login_acl.py:14 +msgid "Login acl" +msgstr "" + +#: acls/models/login_acl.py:27 tickets/const.py:10 +msgid "Login confirm" +msgstr "" + +#: acls/models/login_asset_acl.py:12 +msgid "Login asset acl" +msgstr "" + +#: acls/models/login_asset_acl.py:22 tickets/const.py:12 +msgid "Login asset confirm" +msgstr "" + +#: acls/notifications.py:12 +msgid "User login reminder" +msgstr "" + +#: acls/notifications.py:42 +msgid "Asset login reminder" +msgstr "" + +#: acls/serializers/base.py:11 acls/serializers/login_acl.py:11 +msgid "With * indicating a match all. " +msgstr "" + +#: acls/serializers/base.py:26 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " +"support)" +msgstr "" + +#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 +msgid "IP/Host" +msgstr "" + +#: acls/serializers/base.py:91 +msgid "Recipients" +msgstr "" + +#: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77 +msgid "The organization `{}` does not exist" +msgstr "" + +#: acls/serializers/base.py:109 +msgid "None of the reviewers belong to Organization `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:20 +#: xpack/plugins/cloud/serializers/task.py:145 +msgid "IP address invalid: `{}`" +msgstr "" + +#: acls/serializers/rules/rules.py:25 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " +msgstr "" + +#: acls/serializers/rules/rules.py:33 +#: authentication/templates/authentication/_msg_oauth_bind.html:12 +#: authentication/templates/authentication/_msg_rest_password_success.html:8 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:8 +#: settings/serializers/terminal.py:10 +msgid "IP" +msgstr "" + +#: acls/serializers/rules/rules.py:35 +msgid "Time Period" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:3 +#: acls/templates/acls/user_login_reminder.html:3 +msgid "Respectful" +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:10 +msgid "" +"The user has just logged in to the asset. Please ensure that this is an " +"authorized operation. If you suspect that this is an unauthorized access, " +"please take appropriate measures immediately." +msgstr "" + +#: acls/templates/acls/asset_login_reminder.html:12 +#: acls/templates/acls/user_login_reminder.html:13 +msgid "Thank you" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:7 audits/models.py:194 +#: audits/models.py:263 +#: authentication/templates/authentication/_msg_different_city.html:11 +#: tickets/models/ticket/login_confirm.py:11 +msgid "Login city" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:8 audits/models.py:197 +#: audits/models.py:264 audits/serializers.py:68 +msgid "User agent" +msgstr "" + +#: acls/templates/acls/user_login_reminder.html:11 +msgid "" +"The user has just successfully logged into the system. Please ensure that " +"this is an authorized operation. If you suspect that this is an unauthorized " +"access, please take appropriate measures immediately." +msgstr "" + +#: applications/apps.py:9 +msgid "App Applications" +msgstr "" + +#: applications/models.py:16 xpack/plugins/cloud/models.py:37 +#: xpack/plugins/cloud/serializers/account.py:67 +msgid "Attrs" +msgstr "" + +#: applications/models.py:19 +msgid "Application" +msgstr "" + +#: applications/models.py:23 +msgid "Can match application" +msgstr "" + +#: assets/api/asset/asset.py:179 +msgid "Cannot create asset directly, you should create a host or other" +msgstr "" + +#: assets/api/domain.py:64 +msgid "Number required" +msgstr "" + +#: assets/api/node.py:57 +msgid "You can't update the root node name" +msgstr "" + +#: assets/api/node.py:64 +msgid "You can't delete the root node ({})" +msgstr "" + +#: assets/api/node.py:67 +msgid "Deletion failed and the node contains assets" +msgstr "" + +#: assets/api/tree.py:49 assets/serializers/node.py:42 +msgid "The same level node name cannot be the same" +msgstr "" + +#: assets/apps.py:9 +msgid "App Assets" +msgstr "" + +#: assets/automations/base/manager.py:188 +msgid "{} disabled" +msgstr "" + +#: assets/automations/base/manager.py:251 +msgid " - Platform {} ansible disabled" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:33 +#: authentication/models/connection_token.py:128 +msgid "No account" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:36 +msgid "Asset, {}, using account {}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:55 +#, python-brace-format +msgid "Unable to connect to port {port} on {address}" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:58 +#: authentication/middleware.py:93 xpack/plugins/cloud/providers/fc.py:47 +msgid "Authentication failed" +msgstr "" + +#: assets/automations/ping_gateway/manager.py:60 +#: assets/automations/ping_gateway/manager.py:86 terminal/const.py:102 +msgid "Connect failed" +msgstr "" + +#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:44 +#: audits/signal_handlers/activity_log.py:62 common/utils/ip/geoip/utils.py:31 +#: common/utils/ip/geoip/utils.py:37 common/utils/ip/utils.py:104 +msgid "Unknown" +msgstr "" + +#: assets/const/automation.py:7 +msgid "Ok" +msgstr "" + +#: assets/const/automation.py:12 +msgid "Ping" +msgstr "" + +#: assets/const/automation.py:13 +msgid "Ping gateway" +msgstr "" + +#: assets/const/automation.py:14 +msgid "Gather facts" +msgstr "" + +#: assets/const/base.py:32 audits/const.py:55 +#: terminal/serializers/applet_host.py:32 +msgid "Disabled" +msgstr "" + +#: assets/const/base.py:33 settings/serializers/basic.py:8 +#: users/serializers/preference/koko.py:19 +#: users/serializers/preference/lina.py:39 +#: users/serializers/preference/luna.py:73 +msgid "Basic" +msgstr "" + +#: assets/const/base.py:34 assets/const/protocol.py:252 +#: assets/models/asset/web.py:13 +msgid "Script" +msgstr "" + +#: assets/const/category.py:10 assets/models/asset/host.py:8 +#: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:71 +#: settings/serializers/feature.py:49 settings/serializers/msg.py:31 +#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17 +#: xpack/plugins/cloud/serializers/account_attrs.py:72 +msgid "Host" +msgstr "" + +#: assets/const/category.py:11 assets/models/asset/device.py:8 +msgid "Device" +msgstr "" + +#: assets/const/category.py:13 +msgid "Cloud service" +msgstr "" + +#: assets/const/category.py:14 assets/models/asset/gpt.py:11 +#: assets/models/asset/web.py:16 audits/const.py:42 +#: terminal/models/applet/applet.py:27 users/const.py:59 +msgid "Web" +msgstr "" + +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +msgid "Custom type" +msgstr "" + +#: assets/const/cloud.py:7 +msgid "Public cloud" +msgstr "" + +#: assets/const/cloud.py:8 +msgid "Private cloud" +msgstr "" + +#: assets/const/cloud.py:9 +msgid "Kubernetes" +msgstr "" + +#: assets/const/device.py:7 terminal/models/applet/applet.py:26 +#: tickets/const.py:8 +msgid "General" +msgstr "" + +#: assets/const/device.py:8 +msgid "Switch" +msgstr "" + +#: assets/const/device.py:9 +msgid "Router" +msgstr "" + +#: assets/const/device.py:10 +msgid "Firewall" +msgstr "" + +#: assets/const/gpt.py:7 +msgid "ChatGPT" +msgstr "" + +#: assets/const/host.py:12 rbac/tree.py:28 +msgid "Other" +msgstr "" + +#: assets/const/protocol.py:49 +msgid "SFTP root" +msgstr "" + +#: assets/const/protocol.py:51 +#, python-brace-format +msgid "" +"SFTP root directory, Support variable:
- ${ACCOUNT} The connected " +"account username
- ${HOME} The home directory of the connected account " +"
- ${USER} The username of the user" +msgstr "" + +#: assets/const/protocol.py:66 +msgid "Console" +msgstr "" + +#: assets/const/protocol.py:67 +msgid "Connect to console session" +msgstr "" + +#: assets/const/protocol.py:71 +msgid "Any" +msgstr "" + +#: assets/const/protocol.py:73 settings/serializers/security.py:228 +msgid "Security" +msgstr "" + +#: assets/const/protocol.py:74 +msgid "Security layer to use for the connection" +msgstr "" + +#: assets/const/protocol.py:80 +msgid "AD domain" +msgstr "" + +#: assets/const/protocol.py:95 +msgid "Username prompt" +msgstr "" + +#: assets/const/protocol.py:96 +msgid "We will send username when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:101 +msgid "Password prompt" +msgstr "" + +#: assets/const/protocol.py:102 +msgid "We will send password when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:107 +msgid "Success prompt" +msgstr "" + +#: assets/const/protocol.py:108 +msgid "We will consider login success when we see this prompt" +msgstr "" + +#: assets/const/protocol.py:119 assets/models/asset/database.py:10 +#: settings/serializers/msg.py:47 +msgid "Use SSL" +msgstr "" + +#: assets/const/protocol.py:154 +msgid "SYSDBA" +msgstr "" + +#: assets/const/protocol.py:155 +msgid "Connect as SYSDBA" +msgstr "" + +#: assets/const/protocol.py:170 +msgid "" +"SQL Server version, Different versions have different connection drivers" +msgstr "" + +#: assets/const/protocol.py:199 +msgid "Auth username" +msgstr "" + +#: assets/const/protocol.py:222 +msgid "Safe mode" +msgstr "" + +#: assets/const/protocol.py:224 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "" + +#: assets/const/protocol.py:229 assets/models/asset/web.py:9 +#: assets/serializers/asset/info/spec.py:16 +msgid "Autofill" +msgstr "" + +#: assets/const/protocol.py:237 assets/models/asset/web.py:10 +msgid "Username selector" +msgstr "" + +#: assets/const/protocol.py:242 assets/models/asset/web.py:11 +msgid "Password selector" +msgstr "" + +#: assets/const/protocol.py:247 assets/models/asset/web.py:12 +msgid "Submit selector" +msgstr "" + +#: assets/const/protocol.py:270 +msgid "API mode" +msgstr "" + +#: assets/const/types.py:247 +msgid "All types" +msgstr "" + +#: assets/const/web.py:7 +msgid "Website" +msgstr "" + +#: assets/exceptions.py:12 +msgid "This function is not supported temporarily" +msgstr "" + +#: assets/models/_user.py:25 +msgid "SSH private key" +msgstr "" + +#: assets/models/_user.py:26 +msgid "SSH public key" +msgstr "" + +#: assets/models/_user.py:28 assets/models/automations/base.py:114 +#: assets/models/cmd_filter.py:41 assets/models/group.py:19 +#: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 +#: ops/models/job.py:234 users/models/user.py:1042 +msgid "Date created" +msgstr "" + +#: assets/models/_user.py:29 assets/models/cmd_filter.py:42 +#: common/db/models.py:35 users/models/user.py:854 +msgid "Date updated" +msgstr "" + +#: assets/models/_user.py:30 assets/models/cmd_filter.py:44 +#: assets/models/cmd_filter.py:91 assets/models/group.py:18 +#: common/db/models.py:32 users/models/user.py:843 +#: users/serializers/group.py:32 +msgid "Created by" +msgstr "" + +#: assets/models/_user.py:40 +msgid "Automatic managed" +msgstr "" + +#: assets/models/_user.py:41 +msgid "Manually input" +msgstr "" + +#: assets/models/_user.py:45 +msgid "Common user" +msgstr "" + +#: assets/models/_user.py:46 assets/models/_user.py:95 +msgid "Admin user" +msgstr "" + +#: assets/models/_user.py:49 +msgid "Username same with user" +msgstr "" + +#: assets/models/_user.py:52 authentication/models/connection_token.py:41 +#: authentication/serializers/connect_token_secret.py:114 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 +#: terminal/models/virtualapp/virtualapp.py:24 +#: terminal/serializers/session.py:19 terminal/serializers/session.py:45 +#: terminal/serializers/storage.py:71 +msgid "Protocol" +msgstr "" + +#: assets/models/_user.py:54 +msgid "Sudo" +msgstr "" + +#: assets/models/_user.py:55 ops/const.py:50 ops/const.py:60 +msgid "Shell" +msgstr "" + +#: assets/models/_user.py:56 +msgid "Login mode" +msgstr "" + +#: assets/models/_user.py:57 terminal/serializers/storage.py:152 +msgid "SFTP Root" +msgstr "" + +#: assets/models/_user.py:58 +msgid "Home" +msgstr "" + +#: assets/models/_user.py:59 +msgid "System groups" +msgstr "" + +#: assets/models/_user.py:62 +msgid "User switch" +msgstr "" + +#: assets/models/_user.py:63 +msgid "Switch from" +msgstr "" + +#: assets/models/_user.py:69 +msgid "System user" +msgstr "" + +#: assets/models/_user.py:71 +msgid "Can match system user" +msgstr "" + +#: assets/models/asset/cloud.py:11 +msgid "Cloud" +msgstr "" + +#: assets/models/asset/common.py:94 assets/models/platform.py:17 +#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 +#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "" + +#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 +msgid "Address" +msgstr "" + +#: assets/models/asset/common.py:161 assets/models/platform.py:126 +#: authentication/backends/passkey/models.py:12 +#: authentication/serializers/connect_token_secret.py:118 +#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:329 +msgid "Platform" +msgstr "" + +#: assets/models/asset/common.py:163 assets/models/domain.py:22 +#: authentication/serializers/connect_token_secret.py:136 +#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:331 +msgid "Domain" +msgstr "" + +#: assets/models/asset/common.py:165 assets/models/automations/base.py:18 +#: assets/models/cmd_filter.py:32 assets/models/node.py:546 +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:37 +#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:330 +msgid "Node" +msgstr "" + +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:382 +#: assets/serializers/asset/host.py:11 +msgid "Gathered info" +msgstr "" + +#: assets/models/asset/common.py:168 assets/serializers/asset/custom.py:14 +msgid "Custom info" +msgstr "" + +#: assets/models/asset/common.py:353 +msgid "Can refresh asset hardware info" +msgstr "" + +#: assets/models/asset/common.py:354 +msgid "Can test asset connectivity" +msgstr "" + +#: assets/models/asset/common.py:355 +msgid "Can match asset" +msgstr "" + +#: assets/models/asset/common.py:356 +msgid "Can change asset nodes" +msgstr "" + +#: assets/models/asset/custom.py:8 +msgid "Custom asset" +msgstr "" + +#: assets/models/asset/database.py:11 +msgid "CA cert" +msgstr "" + +#: assets/models/asset/database.py:12 +msgid "Client cert" +msgstr "" + +#: assets/models/asset/database.py:13 +msgid "Client key" +msgstr "" + +#: assets/models/asset/database.py:14 +msgid "Allow invalid cert" +msgstr "" + +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:84 +msgid "Proxy" +msgstr "" + +#: assets/models/automations/base.py:22 ops/models/job.py:230 +#: settings/serializers/auth/sms.py:103 +msgid "Parameters" +msgstr "" + +#: assets/models/automations/base.py:29 assets/models/automations/base.py:111 +msgid "Automation task" +msgstr "" + +#: assets/models/automations/base.py:104 +msgid "Asset automation task" +msgstr "" + +#: assets/models/automations/gather_facts.py:15 +msgid "Gather asset facts" +msgstr "" + +#: assets/models/automations/ping.py:15 +msgid "Ping asset" +msgstr "" + +#: assets/models/base.py:19 +msgid "Connectivity" +msgstr "" + +#: assets/models/base.py:21 authentication/models/temp_token.py:12 +msgid "Date verified" +msgstr "" + +#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 +#: perms/serializers/permission.py:34 users/models/group.py:25 +#: users/models/user.py:806 +msgid "User group" +msgstr "" + +#: assets/models/cmd_filter.py:52 +msgid "Command filter" +msgstr "" + +#: assets/models/cmd_filter.py:66 +msgid "Deny" +msgstr "" + +#: assets/models/cmd_filter.py:67 +msgid "Allow" +msgstr "" + +#: assets/models/cmd_filter.py:68 +msgid "Reconfirm" +msgstr "" + +#: assets/models/cmd_filter.py:72 +msgid "Filter" +msgstr "" + +#: assets/models/cmd_filter.py:95 +msgid "Command filter rule" +msgstr "" + +#: assets/models/favorite_asset.py:17 +msgid "Favorite asset" +msgstr "" + +#: assets/models/gateway.py:34 assets/serializers/domain.py:18 +msgid "Gateway" +msgstr "" + +#: assets/models/group.py:27 +msgid "Asset group" +msgstr "" + +#: assets/models/group.py:31 assets/models/platform.py:20 +#: assets/serializers/platform.py:121 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "" + +#: assets/models/group.py:31 +msgid "Default asset group" +msgstr "" + +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1027 +msgid "System" +msgstr "" + +#: assets/models/label.py:19 assets/models/node.py:532 +#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18 +#: assets/serializers/cagegory.py:24 +#: authentication/models/connection_token.py:29 +#: authentication/serializers/connect_token_secret.py:125 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:34 +#: users/models/preference.py:13 +msgid "Value" +msgstr "" + +#: assets/models/label.py:40 assets/serializers/cagegory.py:10 +#: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 +#: assets/serializers/platform.py:119 +#: authentication/serializers/connect_token_secret.py:124 +#: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 +#: labels/serializers.py:45 settings/serializers/msg.py:90 +msgid "Label" +msgstr "" + +#: assets/models/node.py:165 +msgid "New node" +msgstr "" + +#: assets/models/node.py:460 audits/backends/db.py:65 audits/backends/db.py:66 +msgid "empty" +msgstr "" + +#: assets/models/node.py:531 perms/models/perm_node.py:28 +msgid "Key" +msgstr "" + +#: assets/models/node.py:533 assets/serializers/node.py:20 +msgid "Full value" +msgstr "" + +#: assets/models/node.py:537 perms/models/perm_node.py:30 +msgid "Parent key" +msgstr "" + +#: assets/models/node.py:549 +msgid "Can match node" +msgstr "" + +#: assets/models/platform.py:18 +msgid "Primary" +msgstr "" + +#: assets/models/platform.py:19 +msgid "Required" +msgstr "" + +#: assets/models/platform.py:21 +msgid "Public" +msgstr "" + +#: assets/models/platform.py:22 assets/serializers/platform.py:49 +#: settings/serializers/settings.py:66 +#: users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "" + +#: assets/models/platform.py:39 audits/const.py:56 +#: authentication/backends/passkey/models.py:11 settings/models.py:37 +#: terminal/serializers/applet_host.py:33 +msgid "Enabled" +msgstr "" + +#: assets/models/platform.py:40 +msgid "Ansible config" +msgstr "" + +#: assets/models/platform.py:42 assets/serializers/platform.py:33 +msgid "Ping enabled" +msgstr "" + +#: assets/models/platform.py:43 assets/serializers/platform.py:34 +msgid "Ping method" +msgstr "" + +#: assets/models/platform.py:44 +msgid "Ping params" +msgstr "" + +#: assets/models/platform.py:46 assets/models/platform.py:70 +#: assets/serializers/platform.py:35 +msgid "Gather facts enabled" +msgstr "" + +#: assets/models/platform.py:48 assets/models/platform.py:72 +#: assets/serializers/platform.py:36 +msgid "Gather facts method" +msgstr "" + +#: assets/models/platform.py:50 assets/models/platform.py:74 +msgid "Gather facts params" +msgstr "" + +#: assets/models/platform.py:52 assets/serializers/platform.py:39 +msgid "Change secret enabled" +msgstr "" + +#: assets/models/platform.py:54 assets/serializers/platform.py:40 +msgid "Change secret method" +msgstr "" + +#: assets/models/platform.py:56 +msgid "Change secret params" +msgstr "" + +#: assets/models/platform.py:58 assets/serializers/platform.py:41 +msgid "Push account enabled" +msgstr "" + +#: assets/models/platform.py:60 assets/serializers/platform.py:42 +msgid "Push account method" +msgstr "" + +#: assets/models/platform.py:62 +msgid "Push account params" +msgstr "" + +#: assets/models/platform.py:64 assets/serializers/platform.py:37 +msgid "Verify account enabled" +msgstr "" + +#: assets/models/platform.py:66 assets/serializers/platform.py:38 +msgid "Verify account method" +msgstr "" + +#: assets/models/platform.py:68 +msgid "Verify account params" +msgstr "" + +#: assets/models/platform.py:76 +msgid "Remove account enabled" +msgstr "" + +#: assets/models/platform.py:78 +msgid "Remove account method" +msgstr "" + +#: assets/models/platform.py:80 +msgid "Remove account params" +msgstr "" + +#: assets/models/platform.py:98 tickets/models/ticket/general.py:300 +msgid "Meta" +msgstr "" + +#: assets/models/platform.py:99 labels/models.py:13 +msgid "Internal" +msgstr "Builtin" + +#: assets/models/platform.py:103 assets/serializers/platform.py:138 +msgid "Charset" +msgstr "" + +#: assets/models/platform.py:105 assets/serializers/platform.py:167 +msgid "Domain enabled" +msgstr "" + +#: assets/models/platform.py:107 assets/serializers/platform.py:166 +msgid "Su enabled" +msgstr "" + +#: assets/models/platform.py:108 assets/serializers/platform.py:144 +msgid "Su method" +msgstr "" + +#: assets/models/platform.py:109 assets/serializers/platform.py:147 +msgid "Custom fields" +msgstr "" + +#: assets/models/utils.py:18 +#, python-format +msgid "%(value)s is not an even number" +msgstr "" + +#: assets/notifications.py:12 +msgid "" +"Batch update platform in assets, skipping assets that do not meet platform " +"type" +msgstr "" + +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 +#: authentication/serializers/connect_token_secret.py:30 +#: authentication/serializers/connect_token_secret.py:75 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:46 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:332 +#: xpack/plugins/cloud/serializers/task.py:33 +msgid "Protocols" +msgstr "" + +#: assets/serializers/asset/common.py:129 +#: assets/serializers/asset/common.py:151 +msgid "Node path" +msgstr "" + +#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:383 +msgid "Auto info" +msgstr "" + +#: assets/serializers/asset/common.py:242 +msgid "Platform not exist" +msgstr "" + +#: assets/serializers/asset/common.py:278 +msgid "port out of range (0-65535)" +msgstr "" + +#: assets/serializers/asset/common.py:285 +msgid "Protocol is required: {}" +msgstr "" + +#: assets/serializers/asset/common.py:313 +msgid "Invalid data" +msgstr "" + +#: assets/serializers/asset/database.py:13 +msgid "Default database" +msgstr "" + +#: assets/serializers/asset/gpt.py:20 +msgid "" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" +msgstr "" + +#: assets/serializers/asset/gpt.py:24 +msgid "HTTP proxy" +msgstr "" + +#: assets/serializers/asset/gpt.py:31 +msgid "Proxy must start with http:// or https://" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:6 +msgid "Vendor" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:7 +msgid "Model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:8 +#: tickets/models/ticket/general.py:299 +msgid "Serial number" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:9 +msgid "CPU model" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:10 +msgid "CPU count" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:11 +msgid "CPU cores" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:12 +msgid "CPU vcpus" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:13 +msgid "Memory" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:14 +msgid "Disk total" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:16 +#: authentication/serializers/connect_token_secret.py:115 +msgid "OS" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:17 +msgid "OS version" +msgstr "" + +#: assets/serializers/asset/info/gathered.py:18 +msgid "OS arch" +msgstr "" + +#: assets/serializers/cagegory.py:13 +msgid "Constraints" +msgstr "" + +#: assets/serializers/cagegory.py:19 +msgid "Types" +msgstr "" + +#: assets/serializers/domain.py:20 orgs/serializers.py:13 +#: perms/serializers/permission.py:40 +msgid "Assets amount" +msgstr "" + +#: assets/serializers/gateway.py:23 common/validators.py:34 +msgid "This field must be unique." +msgstr "" + +#: assets/serializers/node.py:17 +msgid "value" +msgstr "" + +#: assets/serializers/node.py:31 +msgid "Can't contains: /" +msgstr "" + +#: assets/serializers/platform.py:43 +msgid "Gather accounts enabled" +msgstr "" + +#: assets/serializers/platform.py:44 +msgid "Gather accounts method" +msgstr "" + +#: assets/serializers/platform.py:50 +msgid "Port from addr" +msgstr "" + +#: assets/serializers/platform.py:62 +msgid "" +"This protocol is primary, and it must be set when adding assets. " +"Additionally, there can only be one primary protocol." +msgstr "" + +#: assets/serializers/platform.py:67 +msgid "This protocol is required, and it must be set when adding assets." +msgstr "" + +#: assets/serializers/platform.py:70 +msgid "" +"This protocol is default, when adding assets, it will be displayed by " +"default." +msgstr "" + +#: assets/serializers/platform.py:73 +msgid "This protocol is public, asset will show this protocol to user" +msgstr "" + +#: assets/serializers/platform.py:122 +msgid "Help text" +msgstr "" + +#: assets/serializers/platform.py:123 +msgid "Choices" +msgstr "" + +#: assets/serializers/platform.py:142 +msgid "Automation" +msgstr "" + +#: assets/serializers/platform.py:168 +msgid "Default Domain" +msgstr "" + +#: assets/serializers/platform.py:189 +msgid "type is required" +msgstr "" + +#: assets/serializers/platform.py:205 +msgid "Protocols is required" +msgstr "" + +#: assets/signal_handlers/asset.py:26 assets/tasks/ping.py:35 +msgid "Test assets connectivity " +msgstr "" + +#: assets/signal_handlers/asset.py:36 +msgid "Gather asset hardware info" +msgstr "" + +#: assets/tasks/automation.py:24 +msgid "Asset execute automation" +msgstr "" + +#: assets/tasks/gather_facts.py:21 assets/tasks/gather_facts.py:27 +msgid "Gather assets facts" +msgstr "" + +#: assets/tasks/gather_facts.py:39 +msgid "Update assets hardware info: " +msgstr "" + +#: assets/tasks/gather_facts.py:47 +msgid "Update node asset hardware information: " +msgstr "" + +#: assets/tasks/nodes_amount.py:16 +msgid "Check the amount of assets under the node" +msgstr "" + +#: assets/tasks/nodes_amount.py:28 +msgid "" +"The task of self-checking is already running and cannot be started repeatedly" +msgstr "" + +#: assets/tasks/nodes_amount.py:33 +msgid "Periodic check the amount of assets under the node" +msgstr "" + +#: assets/tasks/ping.py:20 assets/tasks/ping.py:26 +msgid "Test assets connectivity" +msgstr "" + +#: assets/tasks/ping.py:42 +msgid "Test if the assets under the node are connectable " +msgstr "" + +#: assets/tasks/ping_gateway.py:19 assets/tasks/ping_gateway.py:25 +#: assets/tasks/ping_gateway.py:34 +msgid "Test gateways connectivity" +msgstr "" + +#: assets/tasks/utils.py:16 +msgid "Asset has been disabled, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:20 +msgid "Asset may not be support ansible, skipped: {}" +msgstr "" + +#: assets/tasks/utils.py:38 +msgid "For security, do not push user {}" +msgstr "" + +#: assets/tasks/utils.py:54 +msgid "No assets matched, stop task" +msgstr "" + +#: audits/apps.py:9 +msgid "App Audits" +msgstr "" + +#: audits/backends/db.py:16 +msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgstr "" + +#: audits/backends/db.py:91 +msgid "Tips" +msgstr "" + +#: audits/const.py:12 +msgid "Mkdir" +msgstr "" + +#: audits/const.py:13 +msgid "Rmdir" +msgstr "" + +#: audits/const.py:14 audits/const.py:25 +#: authentication/templates/authentication/_access_key_modal.html:65 +#: rbac/tree.py:240 +msgid "Delete" +msgstr "" + +#: audits/const.py:15 +msgid "Upload" +msgstr "" + +#: audits/const.py:16 +msgid "Rename" +msgstr "" + +#: audits/const.py:17 +msgid "Symlink" +msgstr "" + +#: audits/const.py:18 audits/const.py:28 terminal/api/session/session.py:146 +msgid "Download" +msgstr "" + +#: audits/const.py:19 +msgid "Rename dir" +msgstr "" + +#: audits/const.py:23 rbac/tree.py:238 terminal/api/session/session.py:257 +#: terminal/templates/terminal/_msg_command_warning.html:18 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +msgid "View" +msgstr "" + +#: audits/const.py:26 +#: authentication/templates/authentication/_access_key_modal.html:22 +#: rbac/tree.py:237 +msgid "Create" +msgstr "" + +#: audits/const.py:29 +msgid "Connect" +msgstr "" + +#: audits/const.py:30 authentication/templates/authentication/login.html:296 +#: authentication/templates/authentication/login.html:369 +#: templates/_header_bar.html:95 +msgid "Login" +msgstr "" + +#: audits/const.py:31 ops/const.py:9 +msgid "Change password" +msgstr "" + +#: audits/const.py:37 tickets/const.py:46 +msgid "Approve" +msgstr "" + +#: audits/const.py:38 +#: authentication/templates/authentication/_access_key_modal.html:155 +#: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/const.py:44 +msgid "Close" +msgstr "" + +#: audits/const.py:43 settings/serializers/terminal.py:6 +#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:52 +#: terminal/serializers/session.py:66 +msgid "Terminal" +msgstr "" + +#: audits/const.py:48 audits/models.py:132 +msgid "Operate log" +msgstr "" + +#: audits/const.py:49 +msgid "Session log" +msgstr "" + +#: audits/const.py:50 +msgid "Login log" +msgstr "" + +#: audits/const.py:51 terminal/models/applet/host.py:144 +#: terminal/models/component/task.py:22 +msgid "Task" +msgstr "" + +#: audits/const.py:57 +msgid "-" +msgstr "" + +#: audits/handler.py:117 +msgid "Yes" +msgstr "" + +#: audits/handler.py:117 +msgid "No" +msgstr "" + +#: audits/models.py:47 +msgid "Job audit log" +msgstr "" + +#: audits/models.py:56 audits/models.py:100 audits/models.py:175 +#: terminal/models/session/session.py:38 terminal/models/session/sharing.py:113 +msgid "Remote addr" +msgstr "" + +#: audits/models.py:61 audits/serializers.py:38 +msgid "Operate" +msgstr "" + +#: audits/models.py:63 +msgid "Filename" +msgstr "" + +#: audits/models.py:66 common/serializers/common.py:98 +msgid "File" +msgstr "" + +#: audits/models.py:67 terminal/backends/command/models.py:21 +#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:20 +#: terminal/models/session/sharing.py:95 +#: terminal/templates/terminal/_msg_command_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:17 +#: tickets/models/ticket/command_confirm.py:15 +msgid "Session" +msgstr "" + +#: audits/models.py:70 +msgid "File transfer log" +msgstr "" + +#: audits/models.py:94 audits/serializers.py:86 +msgid "Resource Type" +msgstr "" + +#: audits/models.py:95 audits/models.py:98 audits/models.py:144 +#: audits/serializers.py:85 labels/serializers.py:46 +msgid "Resource" +msgstr "" + +#: audits/models.py:101 audits/models.py:147 audits/models.py:177 +#: terminal/serializers/command.py:75 +msgid "Datetime" +msgstr "" + +#: audits/models.py:140 +msgid "Activity type" +msgstr "" + +#: audits/models.py:150 +msgid "Detail" +msgstr "" + +#: audits/models.py:153 +msgid "Detail ID" +msgstr "" + +#: audits/models.py:157 +msgid "Activity log" +msgstr "" + +#: audits/models.py:173 +msgid "Change by" +msgstr "" + +#: audits/models.py:183 +msgid "Password change log" +msgstr "" + +#: audits/models.py:190 audits/models.py:265 +msgid "Login type" +msgstr "" + +#: audits/models.py:192 audits/models.py:261 +#: tickets/models/ticket/login_confirm.py:10 +msgid "Login IP" +msgstr "" + +#: audits/models.py:200 audits/serializers.py:52 +#: authentication/templates/authentication/_mfa_confirm_modal.html:14 +#: users/forms/profile.py:65 users/models/user.py:823 +#: users/serializers/profile.py:102 +msgid "MFA" +msgstr "" + +#: audits/models.py:210 +msgid "Date login" +msgstr "" + +#: audits/models.py:212 audits/models.py:266 audits/serializers.py:70 +#: audits/serializers.py:184 +msgid "Authentication backend" +msgstr "" + +#: audits/models.py:256 +msgid "User login log" +msgstr "" + +#: audits/models.py:262 +msgid "Session key" +msgstr "" + +#: audits/models.py:306 +msgid "User session" +msgstr "" + +#: audits/models.py:308 +msgid "Offline user session" +msgstr "" + +#: audits/serializers.py:33 ops/models/adhoc.py:25 ops/models/base.py:16 +#: ops/models/base.py:53 ops/models/job.py:145 ops/models/job.py:233 +#: ops/models/playbook.py:30 terminal/models/session/sharing.py:25 +msgid "Creator" +msgstr "" + +#: audits/serializers.py:69 +msgid "Reason display" +msgstr "" + +#: audits/serializers.py:134 +#, python-format +msgid "User %s %s this resource" +msgstr "" + +#: audits/serializers.py:172 authentication/models/connection_token.py:47 +#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 +#: tickets/models/ticket/apply_application.py:31 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:841 +msgid "Date expired" +msgstr "" + +#: audits/signal_handlers/activity_log.py:26 +#, python-format +msgid "User %s use account %s login asset %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:34 +#, python-format +msgid "User %s login system %s" +msgstr "" + +#: audits/signal_handlers/activity_log.py:64 +#, python-format +msgid "User %s perform a task for this resource: %s" +msgstr "" + +#: audits/signal_handlers/login_log.py:33 +msgid "SSH Key" +msgstr "" + +#: audits/signal_handlers/login_log.py:35 settings/serializers/auth/sso.py:13 +msgid "SSO" +msgstr "" + +#: audits/signal_handlers/login_log.py:36 +msgid "Auth Token" +msgstr "" + +#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 +#: authentication/views/login.py:77 notifications/backends/__init__.py:11 +#: settings/serializers/auth/wecom.py:10 users/models/user.py:749 +#: users/models/user.py:855 +msgid "WeCom" +msgstr "" + +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:87 +#: authentication/views/login.py:89 notifications/backends/__init__.py:14 +#: settings/serializers/auth/feishu.py:10 +#: settings/serializers/auth/feishu.py:13 users/models/user.py:751 +#: users/models/user.py:857 +msgid "FeiShu" +msgstr "" + +#: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 +#: authentication/views/slack.py:87 notifications/backends/__init__.py:15 +#: settings/serializers/auth/slack.py:10 users/models/user.py:752 +#: users/models/user.py:858 +msgid "Slack" +msgstr "" + +#: audits/signal_handlers/login_log.py:40 authentication/views/dingtalk.py:160 +#: authentication/views/login.py:83 notifications/backends/__init__.py:12 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:750 +#: users/models/user.py:856 +msgid "DingTalk" +msgstr "" + +#: audits/signal_handlers/login_log.py:41 +#: authentication/models/temp_token.py:16 +msgid "Temporary token" +msgstr "" + +#: audits/signal_handlers/login_log.py:42 authentication/views/login.py:101 +#: settings/serializers/auth/passkey.py:8 +msgid "Passkey" +msgstr "" + +#: audits/tasks.py:101 users/signal_handlers.py:166 +msgid "Clean audits session task log" +msgstr "" + +#: audits/tasks.py:114 +msgid "Upload FTP file to external storage" +msgstr "" + +#: authentication/api/access_key.py:39 +msgid "Access keys can be created at most 10" +msgstr "" + +#: authentication/api/common.py:34 settings/serializers/auth/sms.py:117 +#, python-format +msgid "The value in the parameter must contain %s" +msgstr "" + +#: authentication/api/confirm.py:50 +msgid "This action require verify your MFA" +msgstr "" + +#: authentication/api/connection_token.py:260 +msgid "Reusable connection token is not allowed, global setting not enabled" +msgstr "" + +#: authentication/api/connection_token.py:374 +msgid "Anonymous account is not supported for this asset" +msgstr "" + +#: authentication/api/connection_token.py:393 +msgid "Account not found" +msgstr "" + +#: authentication/api/connection_token.py:396 +msgid "Permission expired" +msgstr "" + +#: authentication/api/connection_token.py:426 +msgid "ACL action is reject: {}({})" +msgstr "" + +#: authentication/api/connection_token.py:430 +msgid "ACL action is review" +msgstr "" + +#: authentication/api/mfa.py:59 +msgid "Current user not support mfa type: {}" +msgstr "" + +#: authentication/api/password.py:33 terminal/api/session/session.py:305 +#: users/views/profile/reset.py:62 +msgid "User does not exist: {}" +msgstr "" + +#: authentication/api/password.py:33 users/views/profile/reset.py:163 +msgid "No user matched" +msgstr "" + +#: authentication/api/password.py:37 +msgid "" +"The user is from {}, please go to the corresponding system to change the " +"password" +msgstr "" + +#: authentication/api/password.py:65 +#: authentication/templates/authentication/login.html:361 +#: users/templates/users/forgot_password.html:27 +#: users/templates/users/forgot_password.html:28 +#: users/templates/users/forgot_password_previewing.html:13 +#: users/templates/users/forgot_password_previewing.html:14 +msgid "Forgot password" +msgstr "" + +#: authentication/apps.py:7 +msgid "App Authentication" +msgstr "" + +#: authentication/backends/custom.py:59 +#: authentication/backends/oauth2/backends.py:170 +msgid "User invalid, disabled or expired" +msgstr "" + +#: authentication/backends/drf.py:50 +msgid "Invalid token header. No credentials provided." +msgstr "" + +#: authentication/backends/drf.py:53 +msgid "Invalid token header. Sign string should not contain spaces." +msgstr "" + +#: authentication/backends/drf.py:59 +msgid "" +"Invalid token header. Sign string should not contain invalid characters." +msgstr "" + +#: authentication/backends/drf.py:72 +msgid "Invalid token or cache refreshed." +msgstr "" + +#: authentication/backends/passkey/api.py:37 +msgid "Only register passkey for local user" +msgstr "" + +#: authentication/backends/passkey/api.py:65 +msgid "Auth failed" +msgstr "" + +#: authentication/backends/passkey/fido.py:148 +msgid "This key is not registered" +msgstr "" + +#: authentication/backends/passkey/models.py:13 +msgid "Added on" +msgstr "" + +#: authentication/backends/passkey/models.py:14 +#: authentication/models/access_key.py:26 +#: authentication/models/private_token.py:8 +msgid "Date last used" +msgstr "" + +#: authentication/backends/passkey/models.py:15 +msgid "Credential ID" +msgstr "" + +#: authentication/confirm/password.py:16 +msgid "Authentication failed password incorrect" +msgstr "" + +#: authentication/confirm/relogin.py:10 +msgid "Login time has exceeded {} minutes, please login again" +msgstr "" + +#: authentication/errors/const.py:18 +msgid "Username/password check failed" +msgstr "" + +#: authentication/errors/const.py:19 +msgid "Password decrypt failed" +msgstr "" + +#: authentication/errors/const.py:20 +msgid "MFA failed" +msgstr "" + +#: authentication/errors/const.py:21 +msgid "MFA unset" +msgstr "" + +#: authentication/errors/const.py:22 +msgid "Username does not exist" +msgstr "" + +#: authentication/errors/const.py:23 +msgid "Password expired" +msgstr "" + +#: authentication/errors/const.py:24 +msgid "Disabled or expired" +msgstr "" + +#: authentication/errors/const.py:25 +msgid "This account is inactive." +msgstr "" + +#: authentication/errors/const.py:26 +msgid "This account is expired" +msgstr "" + +#: authentication/errors/const.py:27 +msgid "Auth backend not match" +msgstr "" + +#: authentication/errors/const.py:28 +msgid "ACL is not allowed" +msgstr "" + +#: authentication/errors/const.py:29 +msgid "Only local users are allowed" +msgstr "" + +#: authentication/errors/const.py:39 +msgid "No session found, check your cookie" +msgstr "" + +#: authentication/errors/const.py:41 +#, python-brace-format +msgid "" +"The username or password you entered is incorrect, please enter it again. " +"You can also try {times_try} times (The account will be temporarily locked " +"for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:47 authentication/errors/const.py:55 +msgid "" +"The account has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:51 +msgid "" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" + +#: authentication/errors/const.py:59 +#, python-brace-format +msgid "" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" + +#: authentication/errors/const.py:63 +msgid "MFA required" +msgstr "" + +#: authentication/errors/const.py:64 +msgid "MFA not set, please set it first" +msgstr "" + +#: authentication/errors/const.py:65 +msgid "Login confirm required" +msgstr "" + +#: authentication/errors/const.py:66 +msgid "Wait login confirm ticket for accept" +msgstr "" + +#: authentication/errors/const.py:67 +msgid "Login confirm ticket was {}" +msgstr "" + +#: authentication/errors/failed.py:145 +msgid "Current IP and Time period is not allowed" +msgstr "" + +#: authentication/errors/failed.py:150 +msgid "Please enter MFA code" +msgstr "" + +#: authentication/errors/failed.py:155 +msgid "Please enter SMS code" +msgstr "" + +#: authentication/errors/failed.py:160 users/exceptions.py:15 +msgid "Phone not set" +msgstr "" + +#: authentication/errors/mfa.py:8 +msgid "SSO auth closed" +msgstr "" + +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:59 +msgid "WeCom is already bound" +msgstr "" + +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:159 +#: authentication/views/wecom.py:201 +msgid "WeCom is not bound" +msgstr "" + +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:212 +#: authentication/views/dingtalk.py:254 +msgid "DingTalk is not bound" +msgstr "" + +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:128 +msgid "FeiShu is not bound" +msgstr "" + +#: authentication/errors/mfa.py:38 authentication/views/slack.py:127 +msgid "Slack is not bound" +msgstr "" + +#: authentication/errors/mfa.py:43 +msgid "Your password is invalid" +msgstr "" + +#: authentication/errors/mfa.py:48 +#, python-format +msgid "Please wait for %s seconds before retry" +msgstr "" + +#: authentication/errors/redirect.py:85 authentication/mixins.py:323 +msgid "Your password is too simple, please change it for security" +msgstr "" + +#: authentication/errors/redirect.py:93 authentication/mixins.py:330 +msgid "You should to change your password before login" +msgstr "" + +#: authentication/errors/redirect.py:101 authentication/mixins.py:337 +msgid "Your password has expired, please reset before logging in" +msgstr "" + +#: authentication/forms.py:45 +msgid "{} days auto login" +msgstr "" + +#: authentication/forms.py:56 +msgid "MFA Code" +msgstr "" + +#: authentication/forms.py:57 +msgid "MFA type" +msgstr "" + +#: authentication/forms.py:65 +#: authentication/templates/authentication/_captcha_field.html:15 +msgid "Captcha" +msgstr "" + +#: authentication/forms.py:70 users/forms/profile.py:28 +msgid "MFA code" +msgstr "" + +#: authentication/forms.py:72 +msgid "Dynamic code" +msgstr "" + +#: authentication/mfa/base.py:7 +msgid "Please input security code" +msgstr "" + +#: authentication/mfa/custom.py:20 +msgid "MFA Custom code invalid" +msgstr "" + +#: authentication/mfa/custom.py:26 +msgid "MFA custom verification code" +msgstr "" + +#: authentication/mfa/custom.py:56 +msgid "MFA custom global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/otp.py:7 +msgid "OTP code invalid, or server time error" +msgstr "" + +#: authentication/mfa/otp.py:12 +msgid "OTP" +msgstr "" + +#: authentication/mfa/otp.py:13 +msgid "OTP verification code" +msgstr "" + +#: authentication/mfa/otp.py:48 +msgid "Virtual OTP based MFA" +msgstr "" + +#: authentication/mfa/radius.py:7 +msgid "Radius verify code invalid" +msgstr "" + +#: authentication/mfa/radius.py:13 +msgid "Radius verification code" +msgstr "" + +#: authentication/mfa/radius.py:44 +msgid "Radius global enabled, cannot disable" +msgstr "" + +#: authentication/mfa/sms.py:7 +msgid "SMS verify code invalid" +msgstr "" + +#: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 +#: authentication/serializers/password_mfa.py:24 +#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 +#: users/forms/profile.py:109 users/templates/users/forgot_password.html:112 +#: users/views/profile/reset.py:99 +msgid "SMS" +msgstr "" + +#: authentication/mfa/sms.py:13 +msgid "SMS verification code" +msgstr "" + +#: authentication/mfa/sms.py:57 +msgid "Set phone number to enable" +msgstr "" + +#: authentication/mfa/sms.py:61 +msgid "Clear phone number to disable" +msgstr "" + +#: authentication/middleware.py:94 settings/utils/ldap.py:676 +msgid "Authentication failed (before login check failed): {}" +msgstr "" + +#: authentication/mixins.py:82 +msgid "User is invalid" +msgstr "" + +#: authentication/mixins.py:97 +msgid "" +"The administrator has enabled 'Only allow login from user source'. \n" +" The current user source is {}. Please contact the administrator." +msgstr "" + +#: authentication/mixins.py:273 +msgid "The MFA type ({}) is not enabled" +msgstr "" + +#: authentication/mixins.py:313 +msgid "Please change your password" +msgstr "" + +#: authentication/models/access_key.py:22 +#: terminal/models/component/endpoint.py:96 +msgid "IP group" +msgstr "" + +#: authentication/models/connection_token.py:38 +#: terminal/serializers/storage.py:114 +msgid "Account name" +msgstr "" + +#: authentication/models/connection_token.py:39 +msgid "Input username" +msgstr "" + +#: authentication/models/connection_token.py:40 +#: authentication/serializers/connection_token.py:18 +msgid "Input secret" +msgstr "" + +#: authentication/models/connection_token.py:42 +msgid "Connect method" +msgstr "" + +#: authentication/models/connection_token.py:43 +msgid "Connect options" +msgstr "" + +#: authentication/models/connection_token.py:44 +msgid "User display" +msgstr "" + +#: authentication/models/connection_token.py:45 +msgid "Asset display" +msgstr "" + +#: authentication/models/connection_token.py:46 +msgid "Reusable" +msgstr "" + +#: authentication/models/connection_token.py:51 +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "" + +#: authentication/models/connection_token.py:58 +msgid "Can expire connection token" +msgstr "" + +#: authentication/models/connection_token.py:59 +msgid "Can reuse connection token" +msgstr "" + +#: authentication/models/connection_token.py:61 +msgid "Connection token" +msgstr "" + +#: authentication/models/connection_token.py:115 +msgid "Connection token inactive" +msgstr "" + +#: authentication/models/connection_token.py:119 +msgid "Connection token expired at: {}" +msgstr "" + +#: authentication/models/connection_token.py:122 +msgid "No user or invalid user" +msgstr "" + +#: authentication/models/connection_token.py:125 +msgid "No asset or inactive asset" +msgstr "" + +#: authentication/models/connection_token.py:269 +msgid "Can view super connection token secret" +msgstr "" + +#: authentication/models/connection_token.py:271 +msgid "Super connection token" +msgstr "" + +#: authentication/models/private_token.py:11 +msgid "Private Token" +msgstr "" + +#: authentication/models/sso_token.py:15 +msgid "Expired" +msgstr "" + +#: authentication/models/sso_token.py:20 +msgid "SSO token" +msgstr "" + +#: authentication/models/temp_token.py:11 +msgid "Verified" +msgstr "" + +#: authentication/notifications.py:19 +msgid "Different city login reminder" +msgstr "" + +#: authentication/notifications.py:52 +msgid "binding reminder" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:116 +msgid "Is builtin" +msgstr "Builtin" + +#: authentication/serializers/connect_token_secret.py:120 +msgid "Options" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:127 +msgid "Component" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:138 +msgid "Expired now" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:169 +#: terminal/models/virtualapp/virtualapp.py:25 +msgid "Image name" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:170 +#: terminal/models/virtualapp/virtualapp.py:27 +msgid "Image port" +msgstr "" + +#: authentication/serializers/connect_token_secret.py:171 +#: terminal/models/virtualapp/virtualapp.py:26 +msgid "Image protocol" +msgstr "" + +#: authentication/serializers/connection_token.py:16 +msgid "Expired time" +msgstr "" + +#: authentication/serializers/connection_token.py:20 +msgid "Ticket info" +msgstr "" + +#: authentication/serializers/connection_token.py:21 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:42 +#: perms/serializers/permission.py:64 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:18 +msgid "Actions" +msgstr "" + +#: authentication/serializers/connection_token.py:42 +#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 +#: users/serializers/user.py:97 users/serializers/user.py:177 +msgid "Is expired" +msgstr "Expired" + +#: authentication/serializers/password_mfa.py:29 +#: users/templates/users/forgot_password.html:108 +msgid "The {} cannot be empty" +msgstr "" + +#: authentication/serializers/token.py:22 +msgid "Access IP" +msgstr "" + +#: authentication/serializers/token.py:92 perms/serializers/permission.py:43 +#: perms/serializers/permission.py:66 users/serializers/user.py:98 +#: users/serializers/user.py:174 +#, fuzzy +#| msgid "Valid" +msgid "Is valid" +msgstr "Valid" + +#: authentication/tasks.py:11 +msgid "Clean expired session" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:6 +msgid "API key list" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:18 +msgid "Using api key sign api header, every requests header difference" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:19 +msgid "docs" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:48 +msgid "Show" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:66 +#: users/const.py:37 users/models/user.py:644 users/serializers/profile.py:92 +#: users/templates/users/user_verify_mfa.html:36 +msgid "Disable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:67 +#: users/const.py:38 users/models/user.py:645 users/serializers/profile.py:93 +#: users/templates/users/mfa_setting.html:26 +#: users/templates/users/mfa_setting.html:68 +msgid "Enable" +msgstr "" + +#: authentication/templates/authentication/_access_key_modal.html:147 +msgid "Delete success" +msgstr "" + +#: authentication/templates/authentication/_captcha_field.html:8 +msgid "Play CAPTCHA as audio file" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:5 +msgid "MFA confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:17 +msgid "Need MFA for view auth" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:20 +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:37 +#: templates/_modal.html:23 templates/flash_message_standalone.html:37 +#: users/templates/users/user_password_verify.html:20 +msgid "Confirm" +msgstr "" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:25 +msgid "Code error" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:3 +#: authentication/templates/authentication/_msg_oauth_bind.html:3 +#: authentication/templates/authentication/_msg_reset_password.html:3 +#: authentication/templates/authentication/_msg_reset_password_code.html:9 +#: authentication/templates/authentication/_msg_rest_password_success.html:2 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 +#: jumpserver/conf.py:459 +#: perms/templates/perms/_msg_item_permissions_expire.html:3 +#: perms/templates/perms/_msg_permed_items_expire.html:3 +#: tickets/templates/tickets/approve_check_password.html:32 +#: users/templates/users/_msg_account_expire_reminder.html:4 +#: users/templates/users/_msg_password_expire_reminder.html:4 +#: users/templates/users/_msg_reset_mfa.html:4 +#: users/templates/users/_msg_reset_ssh_key.html:4 +msgid "Hello" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:6 +msgid "Your account has remote login behavior, please pay attention" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:10 +msgid "Login time" +msgstr "" + +#: authentication/templates/authentication/_msg_different_city.html:16 +msgid "" +"If you suspect that the login behavior is abnormal, please modify the " +"account password in time." +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:6 +msgid "Your account has just been bound to" +msgstr "" + +#: authentication/templates/authentication/_msg_oauth_bind.html:17 +msgid "If the operation is not your own, unbind and change the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:6 +msgid "" +"Please click the link below to reset your password, if not your request, " +"concern your account security" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:10 +msgid "Click here reset password" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:16 +#: users/templates/users/_msg_user_created.html:22 +msgid "This link is valid for 1 hour. After it expires" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password.html:17 +#: users/templates/users/_msg_user_created.html:23 +msgid "request new one" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:12 +#: terminal/models/session/sharing.py:27 terminal/models/session/sharing.py:97 +#: terminal/templates/terminal/_msg_session_sharing.html:12 +#: users/forms/profile.py:107 users/templates/users/forgot_password.html:66 +msgid "Verify code" +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:15 +msgid "" +"Copy the verification code to the Reset Password page to reset the password." +msgstr "" + +#: authentication/templates/authentication/_msg_reset_password_code.html:18 +msgid "The validity period of the verification code is one minute" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:5 +msgid "Your password has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:9 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:9 +msgid "Browser" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:13 +msgid "" +"If the password update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_password_success.html:14 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:14 +msgid "If you have any questions, you can contact the administrator" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:5 +msgid "Your public key has just been successfully updated" +msgstr "" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:13 +msgid "" +"If the public key update was not initiated by you, your account may have " +"security issues" +msgstr "" + +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 +#: templates/flash_message_standalone.html:28 tickets/const.py:17 +msgid "Cancel" +msgstr "" + +#: authentication/templates/authentication/login.html:276 +msgid "" +"Configuration file has problems and cannot be logged in. Please contact the " +"administrator or view latest docs" +msgstr "" + +#: authentication/templates/authentication/login.html:277 +msgid "If you are administrator, you can update the config resolve it, set" +msgstr "" + +#: authentication/templates/authentication/login.html:376 +msgid "More login options" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:6 +msgid "MFA Auth" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:19 +#: users/templates/users/user_otp_check_password.html:12 +#: users/templates/users/user_otp_enable_bind.html:24 +#: users/templates/users/user_otp_enable_install_app.html:29 +#: users/templates/users/user_verify_mfa.html:30 +msgid "Next" +msgstr "" + +#: authentication/templates/authentication/login_mfa.html:22 +msgid "Can't provide security? Please contact the administrator!" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:41 +msgid "Refresh" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:46 +msgid "Copy link" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:51 +msgid "Return" +msgstr "" + +#: authentication/templates/authentication/login_wait_confirm.html:116 +msgid "Copy success" +msgstr "" + +#: authentication/templates/authentication/passkey.html:162 +msgid "" +"This page is not served over HTTPS. Please use HTTPS to ensure security of " +"your credentials." +msgstr "" + +#: authentication/templates/authentication/passkey.html:173 +msgid "Do you want to retry ?" +msgstr "" + +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:32 +msgid "LAN" +msgstr "" + +#: authentication/views/base.py:73 +#: perms/templates/perms/_msg_permed_items_expire.html:21 +msgid "If you have any question, please contact the administrator" +msgstr "" + +#: authentication/views/base.py:138 +#, python-format +msgid "%s query user failed" +msgstr "" + +#: authentication/views/base.py:147 +#, python-format +msgid "The %s is already bound to another user" +msgstr "" + +#: authentication/views/base.py:154 +#, python-format +msgid "Binding %s successfully" +msgstr "" + +#: authentication/views/dingtalk.py:42 +msgid "DingTalk Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:211 +msgid "DingTalk Error" +msgstr "" + +#: authentication/views/dingtalk.py:57 authentication/views/feishu.py:47 +#: authentication/views/slack.py:47 authentication/views/wecom.py:55 +msgid "" +"The system configuration is incorrect. Please contact your administrator" +msgstr "" + +#: authentication/views/dingtalk.py:61 +msgid "DingTalk is already bound" +msgstr "" + +#: authentication/views/dingtalk.py:129 +msgid "Invalid user_id" +msgstr "" + +#: authentication/views/dingtalk.py:145 +msgid "DingTalk query user failed" +msgstr "" + +#: authentication/views/dingtalk.py:154 +msgid "The DingTalk is already bound to another user" +msgstr "" + +#: authentication/views/dingtalk.py:161 +msgid "Binding DingTalk successfully" +msgstr "" + +#: authentication/views/dingtalk.py:213 authentication/views/dingtalk.py:248 +msgid "Failed to get user from DingTalk" +msgstr "" + +#: authentication/views/dingtalk.py:255 +msgid "Please login with a password and then bind the DingTalk" +msgstr "" + +#: authentication/views/feishu.py:35 authentication/views/feishu.py:127 +msgid "FeiShu Error" +msgstr "" + +#: authentication/views/feishu.py:63 +msgid "FeiShu is already bound" +msgstr "" + +#: authentication/views/feishu.py:129 +msgid "Failed to get user from FeiShu" +msgstr "" + +#: authentication/views/login.py:217 +msgid "Redirecting" +msgstr "" + +#: authentication/views/login.py:218 +msgid "Redirecting to {} authentication" +msgstr "" + +#: authentication/views/login.py:241 +msgid "Login timeout, please try again." +msgstr "" + +#: authentication/views/login.py:284 +msgid "User email already exists ({})" +msgstr "" + +#: authentication/views/login.py:362 +msgid "" +"Wait for {} confirm, You also can copy link to her/him
\n" +" Don't close this page" +msgstr "" + +#: authentication/views/login.py:367 +msgid "No ticket found" +msgstr "" + +#: authentication/views/login.py:403 +msgid "Logout success" +msgstr "" + +#: authentication/views/login.py:404 +msgid "Logout success, return login page" +msgstr "" + +#: authentication/views/slack.py:35 authentication/views/slack.py:126 +msgid "Slack Error" +msgstr "" + +#: authentication/views/slack.py:63 +msgid "Slack is already bound" +msgstr "" + +#: authentication/views/slack.py:128 +msgid "Failed to get user from Slack" +msgstr "" + +#: authentication/views/wecom.py:40 +msgid "WeCom Error, Please contact your system administrator" +msgstr "" + +#: authentication/views/wecom.py:43 authentication/views/wecom.py:158 +msgid "WeCom Error" +msgstr "" + +#: authentication/views/wecom.py:118 +msgid "Wecom" +msgstr "" + +#: authentication/views/wecom.py:160 authentication/views/wecom.py:195 +msgid "Failed to get user from WeCom" +msgstr "" + +#: authentication/views/wecom.py:202 +msgid "Please login with a password and then bind the WeCom" +msgstr "" + +#: common/api/action.py:51 +msgid "Request file format may be wrong" +msgstr "" + +#: common/const/choices.py:10 +msgid "Manual trigger" +msgstr "" + +#: common/const/choices.py:11 +msgid "Timing trigger" +msgstr "" + +#: common/const/choices.py:15 +msgid "Ready" +msgstr "" + +#: common/const/choices.py:16 terminal/const.py:77 tickets/const.py:29 +#: tickets/const.py:39 +msgid "Pending" +msgstr "" + +#: common/const/choices.py:17 ops/const.py:72 +msgid "Running" +msgstr "" + +#: common/const/choices.py:21 +msgid "Canceled" +msgstr "" + +#: common/const/common.py:5 +#, python-format +msgid "%(name)s was created successfully" +msgstr "" + +#: common/const/common.py:6 +#, python-format +msgid "%(name)s was updated successfully" +msgstr "" + +#: common/db/encoder.py:11 +msgid "gettext_lazy" +msgstr "" + +#: common/db/fields.py:106 +msgid "Marshal dict data to char field" +msgstr "" + +#: common/db/fields.py:110 +msgid "Marshal dict data to text field" +msgstr "" + +#: common/db/fields.py:122 +msgid "Marshal list data to char field" +msgstr "" + +#: common/db/fields.py:126 +msgid "Marshal list data to text field" +msgstr "" + +#: common/db/fields.py:130 +msgid "Marshal data to char field" +msgstr "" + +#: common/db/fields.py:134 +msgid "Marshal data to text field" +msgstr "" + +#: common/db/fields.py:167 +msgid "Encrypt field using Secret Key" +msgstr "" + +#: common/db/fields.py:573 +msgid "" +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"'match': 'exact', 'value': '1.1.1.1'}}" +msgstr "" + +#: common/db/fields.py:580 +msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" +msgstr "" + +#: common/db/fields.py:583 +msgid "Invalid ids for ids, should be a list" +msgstr "" + +#: common/db/fields.py:585 common/db/fields.py:590 +#: common/serializers/fields.py:133 tickets/serializers/ticket/common.py:58 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +#: xpack/plugins/cloud/serializers/account_attrs.py:79 +#: xpack/plugins/cloud/serializers/account_attrs.py:150 +msgid "This field is required." +msgstr "" + +#: common/db/fields.py:588 common/db/fields.py:593 +msgid "Invalid attrs, should be a list of dict" +msgstr "" + +#: common/db/fields.py:595 +msgid "Invalid attrs, should be has name and value" +msgstr "" + +#: common/db/mixins.py:32 +msgid "is discard" +msgstr "" + +#: common/db/mixins.py:33 +msgid "discard time" +msgstr "" + +#: common/db/models.py:33 users/models/user.py:844 +msgid "Updated by" +msgstr "" + +#: common/db/validators.py:9 +msgid "Invalid port range, should be like and within {}-{}" +msgstr "" + +#: common/drf/exc_handlers.py:26 +msgid "Object" +msgstr "" + +#: common/drf/metadata.py:127 +msgid "Organization ID" +msgstr "" + +#: common/drf/parsers/base.py:21 +msgid "The file content overflowed (The maximum length `{}` bytes)" +msgstr "" + +#: common/drf/parsers/base.py:199 +msgid "Parse file error: {}" +msgstr "" + +#: common/drf/parsers/excel.py:14 +msgid "Invalid excel file" +msgstr "" + +#: common/drf/renders/base.py:207 +msgid "" +"{} - The encryption password has not been set - please go to personal " +"information -> file encryption password to set the encryption password" +msgstr "" + +#: common/exceptions.py:15 +#, python-format +msgid "%s object does not exist." +msgstr "" + +#: common/exceptions.py:25 +msgid "Someone else is doing this. Please wait for complete" +msgstr "" + +#: common/exceptions.py:30 +msgid "Your request timeout" +msgstr "" + +#: common/exceptions.py:35 +msgid "M2M reverse not allowed" +msgstr "" + +#: common/exceptions.py:41 +msgid "Is referenced by other objects and cannot be deleted" +msgstr "" + +#: common/exceptions.py:51 +msgid "This action require confirm current user" +msgstr "" + +#: common/exceptions.py:59 +msgid "Unexpect error occur" +msgstr "" + +#: common/plugins/es.py:31 +msgid "Invalid elasticsearch config" +msgstr "" + +#: common/plugins/es.py:36 +msgid "Not Support Elasticsearch8" +msgstr "" + +#: common/sdk/im/exceptions.py:23 +msgid "Network error, please contact system administrator" +msgstr "" + +#: common/sdk/im/slack/__init__.py:77 +msgid "Unknown error occur" +msgstr "" + +#: common/sdk/im/wecom/__init__.py:16 +msgid "WeCom error, please contact system administrator" +msgstr "" + +#: common/sdk/sms/alibaba.py:56 +msgid "Signature does not match" +msgstr "" + +#: common/sdk/sms/cmpp2.py:44 +msgid "sp_id is 6 bits" +msgstr "" + +#: common/sdk/sms/cmpp2.py:214 +msgid "Failed to connect to the CMPP gateway server, err: {}" +msgstr "" + +#: common/sdk/sms/custom_file.py:41 +msgid "The custom sms file is invalid" +msgstr "" + +#: common/sdk/sms/custom_file.py:47 +#, python-format +msgid "SMS sending failed[%s]: %s" +msgstr "" + +#: common/sdk/sms/endpoint.py:16 +msgid "Alibaba cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:17 +msgid "Tencent cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:18 xpack/plugins/cloud/const.py:13 +msgid "Huawei Cloud" +msgstr "" + +#: common/sdk/sms/endpoint.py:19 +msgid "CMPP v2.0" +msgstr "" + +#: common/sdk/sms/endpoint.py:21 +msgid "Custom type (File)" +msgstr "" + +#: common/sdk/sms/endpoint.py:32 +msgid "SMS provider not support: {}" +msgstr "" + +#: common/sdk/sms/endpoint.py:54 +msgid "SMS verification code signature or template invalid" +msgstr "" + +#: common/sdk/sms/exceptions.py:8 +msgid "The verification code has expired. Please resend it" +msgstr "" + +#: common/sdk/sms/exceptions.py:13 +msgid "The verification code is incorrect" +msgstr "" + +#: common/sdk/sms/exceptions.py:18 +msgid "Please wait {} seconds before sending" +msgstr "" + +#: common/serializers/common.py:90 +msgid "Children" +msgstr "" + +#: common/serializers/fields.py:134 +#, python-brace-format +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "" + +#: common/serializers/fields.py:135 +#, python-brace-format +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "" + +#: common/serializers/fields.py:209 +msgid "Invalid data type, should be list" +msgstr "" + +#: common/serializers/fields.py:224 +msgid "Invalid choice: {}" +msgstr "" + +#: common/serializers/mixin.py:397 +msgid "Labels" +msgstr "" + +#: common/tasks.py:31 common/utils/verify_code.py:16 +msgid "Send email" +msgstr "" + +#: common/tasks.py:58 +msgid "Send email attachment" +msgstr "" + +#: common/tasks.py:80 terminal/tasks.py:62 +msgid "Upload session replay to external storage" +msgstr "" + +#: common/utils/ip/geoip/utils.py:26 +msgid "Invalid ip" +msgstr "" + +#: common/utils/ip/utils.py:98 +msgid "Invalid address" +msgstr "" + +#: common/utils/translate.py:45 +#, python-format +msgid "Hello %s" +msgstr "" + +#: common/validators.py:16 +msgid "Special char not allowed" +msgstr "" + +#: common/validators.py:42 +msgid "Should not contains special characters" +msgstr "" + +#: common/validators.py:47 +msgid "The mobile phone number format is incorrect" +msgstr "" + +#: jumpserver/conf.py:453 +#, python-brace-format +msgid "The verification code is: {code}" +msgstr "" + +#: jumpserver/conf.py:458 +msgid "Create account successfully" +msgstr "" + +#: jumpserver/conf.py:460 +msgid "Your account has been created successfully" +msgstr "" + +#: jumpserver/context_processor.py:12 +msgid "JumpServer Open Source Bastion Host" +msgstr "" + +#: jumpserver/views/celery_flower.py:22 +msgid "

Flower service unavailable, check it

" +msgstr "" + +#: jumpserver/views/other.py:26 +msgid "" +"
Luna is a separately deployed program, you need to deploy Luna, koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: jumpserver/views/other.py:70 +msgid "Websocket server run on port: {}, you should proxy it on nginx" +msgstr "" + +#: jumpserver/views/other.py:84 +msgid "" +"
Koko is a separately deployed program, you need to deploy Koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" + +#: labels/apps.py:8 +msgid "App Labels" +msgstr "" + +#: labels/models.py:36 +msgid "Resource ID" +msgstr "" + +#: labels/models.py:41 +msgid "Labeled resource" +msgstr "" + +#: labels/serializers.py:22 +msgid "Resource count" +msgstr "" + +#: labels/serializers.py:28 +msgid "Cannot contain \":,\"" +msgstr "" + +#: labels/serializers.py:43 +msgid "Resource type" +msgstr "" + +#: notifications/apps.py:7 +msgid "App Notifications" +msgstr "" + +#: notifications/backends/__init__.py:13 +msgid "Site message" +msgstr "" + +#: notifications/models/notification.py:14 +msgid "receive backend" +msgstr "" + +#: notifications/models/notification.py:18 +msgid "User message" +msgstr "" + +#: notifications/models/notification.py:21 +msgid "{} subscription" +msgstr "" + +#: notifications/models/notification.py:34 +msgid "System message" +msgstr "" + +#: notifications/notifications.py:46 +msgid "Publish the station message" +msgstr "" + +#: ops/ansible/inventory.py:97 ops/models/job.py:62 +msgid "No account available" +msgstr "" + +#: ops/ansible/inventory.py:264 +msgid "Ansible disabled" +msgstr "" + +#: ops/ansible/inventory.py:280 +msgid "Skip hosts below:" +msgstr "" + +#: ops/api/celery.py:65 ops/api/celery.py:80 +msgid "Waiting task start" +msgstr "" + +#: ops/api/celery.py:203 +msgid "Task {} not found" +msgstr "" + +#: ops/api/celery.py:208 +msgid "Task {} args or kwargs error" +msgstr "" + +#: ops/api/job.py:132 +msgid "Duplicate file exists" +msgstr "" + +#: ops/api/job.py:137 +#, python-brace-format +msgid "" +"File size exceeds maximum limit. Please select a file smaller than {limit}MB" +msgstr "" + +#: ops/api/playbook.py:39 +msgid "Currently playbook is being used in a job" +msgstr "" + +#: ops/api/playbook.py:93 +msgid "Unsupported file content" +msgstr "" + +#: ops/api/playbook.py:95 ops/api/playbook.py:141 ops/api/playbook.py:189 +msgid "Invalid file path" +msgstr "" + +#: ops/api/playbook.py:167 +msgid "This file can not be rename" +msgstr "" + +#: ops/api/playbook.py:186 +msgid "File already exists" +msgstr "" + +#: ops/api/playbook.py:204 +msgid "File key is required" +msgstr "" + +#: ops/api/playbook.py:207 +msgid "This file can not be delete" +msgstr "" + +#: ops/apps.py:9 +msgid "App Ops" +msgstr "" + +#: ops/const.py:6 +msgid "Push" +msgstr "" + +#: ops/const.py:7 +msgid "Verify" +msgstr "" + +#: ops/const.py:8 +msgid "Collect" +msgstr "" + +#: ops/const.py:19 +msgid "Custom password" +msgstr "" + +#: ops/const.py:20 +msgid "All assets use the same random password" +msgstr "" + +#: ops/const.py:21 +msgid "All assets use different random password" +msgstr "" + +#: ops/const.py:33 +msgid "Blank" +msgstr "" + +#: ops/const.py:34 +msgid "VCS" +msgstr "" + +#: ops/const.py:38 ops/models/adhoc.py:44 +msgid "Adhoc" +msgstr "" + +#: ops/const.py:39 ops/models/job.py:143 +msgid "Playbook" +msgstr "" + +#: ops/const.py:40 +msgid "Upload File" +msgstr "" + +#: ops/const.py:44 +msgid "Privileged Only" +msgstr "" + +#: ops/const.py:45 +msgid "Privileged First" +msgstr "" + +#: ops/const.py:51 ops/const.py:61 +msgid "Powershell" +msgstr "" + +#: ops/const.py:52 ops/const.py:62 +msgid "Python" +msgstr "" + +#: ops/const.py:53 ops/const.py:63 +msgid "MySQL" +msgstr "" + +#: ops/const.py:54 ops/const.py:65 +msgid "PostgreSQL" +msgstr "" + +#: ops/const.py:55 ops/const.py:66 +msgid "SQLServer" +msgstr "" + +#: ops/const.py:56 ops/const.py:68 +msgid "Raw" +msgstr "" + +#: ops/const.py:64 +msgid "MariaDB" +msgstr "" + +#: ops/const.py:67 +msgid "Oracle" +msgstr "" + +#: ops/const.py:74 +msgid "Timeout" +msgstr "" + +#: ops/exception.py:6 +msgid "no valid program entry found." +msgstr "" + +#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +msgid "Periodic run" +msgstr "" + +#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: settings/serializers/auth/ldap.py:73 +msgid "Interval" +msgstr "" + +#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: settings/serializers/auth/ldap.py:70 +msgid "Crontab" +msgstr "" + +#: ops/mixin.py:112 +msgid "Run period" +msgstr "" + +#: ops/mixin.py:121 +msgid "* Please enter a valid crontab expression" +msgstr "" + +#: ops/mixin.py:128 +msgid "Range {} to {}" +msgstr "" + +#: ops/mixin.py:139 +msgid "Require interval or crontab setting" +msgstr "" + +#: ops/models/adhoc.py:21 +msgid "Pattern" +msgstr "" + +#: ops/models/adhoc.py:23 ops/models/job.py:140 +msgid "Module" +msgstr "" + +#: ops/models/adhoc.py:24 ops/models/celery.py:60 ops/models/job.py:138 +#: terminal/models/component/task.py:14 +msgid "Args" +msgstr "" + +#: ops/models/base.py:19 +msgid "Account policy" +msgstr "" + +#: ops/models/base.py:20 +msgid "Last execution" +msgstr "" + +#: ops/models/base.py:22 ops/serializers/job.py:17 +msgid "Date last run" +msgstr "" + +#: ops/models/base.py:51 ops/models/job.py:231 +#: xpack/plugins/cloud/models.py:202 +msgid "Result" +msgstr "" + +#: ops/models/base.py:52 ops/models/job.py:232 +msgid "Summary" +msgstr "" + +#: ops/models/celery.py:16 +msgid "Date last publish" +msgstr "" + +#: ops/models/celery.py:49 +msgid "Celery Task" +msgstr "" + +#: ops/models/celery.py:52 +msgid "Can view task monitor" +msgstr "" + +#: ops/models/celery.py:61 terminal/models/component/task.py:15 +msgid "Kwargs" +msgstr "" + +#: ops/models/celery.py:63 terminal/models/session/sharing.py:128 +#: tickets/const.py:25 +msgid "Finished" +msgstr "" + +#: ops/models/celery.py:64 +msgid "Date published" +msgstr "" + +#: ops/models/celery.py:89 +msgid "Celery Task Execution" +msgstr "" + +#: ops/models/job.py:141 +msgid "Chdir" +msgstr "" + +#: ops/models/job.py:142 +msgid "Timeout (Seconds)" +msgstr "" + +#: ops/models/job.py:147 +msgid "Use Parameter Define" +msgstr "" + +#: ops/models/job.py:148 +msgid "Parameters define" +msgstr "" + +#: ops/models/job.py:149 +msgid "Runas" +msgstr "" + +#: ops/models/job.py:151 +msgid "Runas policy" +msgstr "" + +#: ops/models/job.py:215 +msgid "Job" +msgstr "" + +#: ops/models/job.py:238 +msgid "Material" +msgstr "" + +#: ops/models/job.py:240 +msgid "Material Type" +msgstr "" + +#: ops/models/job.py:557 +msgid "Job Execution" +msgstr "" + +#: ops/models/playbook.py:33 +msgid "CreateMethod" +msgstr "" + +#: ops/models/playbook.py:34 +msgid "VCS URL" +msgstr "" + +#: ops/notifications.py:17 rbac/tree.py:57 +msgid "App ops" +msgstr "" + +#: ops/notifications.py:18 +msgid "Server performance" +msgstr "" + +#: ops/notifications.py:24 +msgid "Terminal health check warning" +msgstr "" + +#: ops/notifications.py:69 +#, python-brace-format +msgid "The terminal is offline: {name}" +msgstr "" + +#: ops/notifications.py:74 +#, python-brace-format +msgid "Disk used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:79 +#, python-brace-format +msgid "Memory used more than {max_threshold}%: => {value}" +msgstr "" + +#: ops/notifications.py:84 +#, python-brace-format +msgid "CPU load more than {max_threshold}: => {value}" +msgstr "" + +#: ops/serializers/celery.py:33 +msgid "Execution cycle" +msgstr "" + +#: ops/serializers/celery.py:35 +msgid "Next execution time" +msgstr "" + +#: ops/serializers/job.py:15 +msgid "Run after save" +msgstr "" + +#: ops/serializers/job.py:52 +msgid "Average time cost" +msgstr "" + +#: ops/serializers/job.py:65 +msgid "Job type" +msgstr "" + +#: ops/serializers/job.py:68 terminal/serializers/session.py:53 +msgid "Is finished" +msgstr "Finished" + +#: ops/serializers/job.py:69 +msgid "Time cost" +msgstr "" + +#: ops/tasks.py:37 +msgid "Run ansible task" +msgstr "" + +#: ops/tasks.py:71 +msgid "Run ansible task execution" +msgstr "" + +#: ops/tasks.py:93 +msgid "Clear celery periodic tasks" +msgstr "" + +#: ops/tasks.py:114 +msgid "Create or update periodic tasks" +msgstr "" + +#: ops/tasks.py:122 +msgid "Periodic check service performance" +msgstr "" + +#: ops/tasks.py:128 +msgid "Clean up unexpected jobs" +msgstr "" + +#: ops/tasks.py:135 +msgid "Clean job_execution db record" +msgstr "" + +#: ops/templates/ops/celery_task_log.html:4 +msgid "Task log" +msgstr "" + +#: ops/templates/ops/celery_task_log.html:71 terminal/serializers/task.py:10 +msgid "Task name" +msgstr "" + +#: ops/variables.py:24 +msgid "The current user`s username of JumpServer" +msgstr "" + +#: ops/variables.py:25 +msgid "The id of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:26 +msgid "The type of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:27 +msgid "The category of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:28 +msgid "The name of the asset in the JumpServer" +msgstr "" + +#: ops/variables.py:29 +msgid "Address used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:30 +msgid "Port used to connect this asset in JumpServer" +msgstr "" + +#: ops/variables.py:31 +msgid "ID of the job" +msgstr "" + +#: ops/variables.py:32 +msgid "Name of the job" +msgstr "" + +#: orgs/api.py:62 +msgid "The current organization ({}) cannot be deleted" +msgstr "" + +#: orgs/api.py:67 +msgid "" +"LDAP synchronization is set to the current organization. Please switch to " +"another organization before deleting" +msgstr "" + +#: orgs/api.py:77 +msgid "The organization have resource ({}) cannot be deleted" +msgstr "" + +#: orgs/apps.py:7 +msgid "App Organizations" +msgstr "" + +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 +#: rbac/const.py:7 rbac/models/rolebinding.py:56 +#: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 +#: terminal/templates/terminal/_msg_command_warning.html:21 +#: terminal/templates/terminal/_msg_session_sharing.html:14 +#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 +msgid "Organization" +msgstr "" + +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "" + +#: orgs/models.py:14 +msgid "GLOBAL" +msgstr "" + +#: orgs/models.py:16 +msgid "DEFAULT" +msgstr "" + +#: orgs/models.py:18 +msgid "SYSTEM" +msgstr "" + +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 +#: terminal/models/applet/applet.py:41 +msgid "Builtin" +msgstr "Builtin" + +#: orgs/models.py:93 +msgid "Can view root org" +msgstr "" + +#: orgs/models.py:94 +msgid "Can view all joined org" +msgstr "" + +#: orgs/models.py:233 +msgid "Can not delete virtual org" +msgstr "" + +#: orgs/serializers.py:10 perms/serializers/permission.py:38 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "" + +#: orgs/serializers.py:11 perms/serializers/permission.py:39 +msgid "User groups amount" +msgstr "" + +#: orgs/serializers.py:14 perms/serializers/permission.py:41 +msgid "Nodes amount" +msgstr "" + +#: orgs/serializers.py:15 +msgid "Domains amount" +msgstr "" + +#: orgs/serializers.py:16 +msgid "Gateways amount" +msgstr "" + +#: orgs/serializers.py:18 +msgid "Asset permissions amount" +msgstr "" + +#: orgs/tasks.py:9 +msgid "Refresh organization cache" +msgstr "" + +#: perms/apps.py:9 +msgid "App Permissions" +msgstr "" + +#: perms/const.py:12 +msgid "Connect (All protocols)" +msgstr "" + +#: perms/const.py:13 +msgid "Upload (RDP, SFTP)" +msgstr "" + +#: perms/const.py:14 +msgid "Download (RDP, SFTP)" +msgstr "" + +#: perms/const.py:15 +msgid "Copy (RDP, VNC)" +msgstr "" + +#: perms/const.py:16 +msgid "Paste (RDP, VNC)" +msgstr "" + +#: perms/const.py:17 +msgid "Delete (SFTP)" +msgstr "" + +#: perms/const.py:18 +msgid "Share (SSH)" +msgstr "" + +#: perms/const.py:28 +msgid "Transfer" +msgstr "" + +#: perms/const.py:29 +msgid "Clipboard" +msgstr "" + +#: perms/models/asset_permission.py:89 +msgid "Asset permission" +msgstr "" + +#: perms/models/perm_node.py:68 +msgid "Ungrouped" +msgstr "" + +#: perms/models/perm_node.py:70 +msgid "Favorite" +msgstr "" + +#: perms/models/perm_node.py:121 +msgid "Permed asset" +msgstr "" + +#: perms/models/perm_node.py:123 +msgid "Can view my assets" +msgstr "" + +#: perms/models/perm_node.py:124 +msgid "Can view user assets" +msgstr "" + +#: perms/models/perm_node.py:125 +msgid "Can view usergroup assets" +msgstr "" + +#: perms/models/perm_node.py:136 +msgid "Permed account" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +msgid "today" +msgstr "" + +#: perms/notifications.py:12 perms/notifications.py:44 +#: settings/serializers/feature.py:117 +msgid "day" +msgstr "" + +#: perms/notifications.py:15 +msgid "You permed assets is about to expire" +msgstr "" + +#: perms/notifications.py:20 +msgid "permed assets" +msgstr "" + +#: perms/notifications.py:59 +msgid "Asset permissions is about to expire" +msgstr "" + +#: perms/notifications.py:64 +msgid "asset permissions of organization {}" +msgstr "" + +#: perms/tasks.py:27 +msgid "Check asset permission expired" +msgstr "" + +#: perms/tasks.py:40 +msgid "Send asset permission expired notification" +msgstr "" + +#: perms/templates/perms/_msg_item_permissions_expire.html:7 +#: perms/templates/perms/_msg_permed_items_expire.html:7 +#, python-format +msgid "" +"\n" +" The following %(item_type)s will expire in %(count)s\n" +" " +msgstr "" + +#: rbac/api/role.py:35 +msgid "Internal role, can't be destroy" +msgstr "" + +#: rbac/api/role.py:40 +msgid "The role has been bound to users, can't be destroy" +msgstr "" + +#: rbac/api/role.py:100 +msgid "Internal role, can't be update" +msgstr "" + +#: rbac/api/rolebinding.py:45 +msgid "{} at least one system role" +msgstr "" + +#: rbac/apps.py:7 +msgid "App RBAC" +msgstr "" + +#: rbac/builtin.py:115 +msgid "SystemAdmin" +msgstr "" + +#: rbac/builtin.py:118 +msgid "SystemAuditor" +msgstr "" + +#: rbac/builtin.py:121 +msgid "SystemComponent" +msgstr "" + +#: rbac/builtin.py:127 +msgid "OrgAdmin" +msgstr "Org Admin" + +#: rbac/builtin.py:130 +msgid "OrgAuditor" +msgstr "Org Auditor" + +#: rbac/builtin.py:133 +msgid "OrgUser" +msgstr "Org User" + +#: rbac/models/menu.py:13 +msgid "Menu permission" +msgstr "" + +#: rbac/models/menu.py:15 +msgid "Can view console view" +msgstr "" + +#: rbac/models/menu.py:16 +msgid "Can view audit view" +msgstr "" + +#: rbac/models/menu.py:17 +msgid "Can view workbench view" +msgstr "" + +#: rbac/models/menu.py:18 +msgid "Can view web terminal" +msgstr "" + +#: rbac/models/menu.py:19 +msgid "Can view file manager" +msgstr "" + +#: rbac/models/menu.py:20 +msgid "Can view System Tools" +msgstr "" + +#: rbac/models/permission.py:78 rbac/models/role.py:34 +msgid "Permissions" +msgstr "" + +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:36 +msgid "Scope" +msgstr "" + +#: rbac/models/role.py:46 rbac/models/rolebinding.py:52 +#: users/models/user.py:810 +msgid "Role" +msgstr "" + +#: rbac/models/role.py:144 +msgid "System role" +msgstr "" + +#: rbac/models/role.py:152 +msgid "Organization role" +msgstr "" + +#: rbac/models/rolebinding.py:61 +msgid "Role binding" +msgstr "" + +#: rbac/models/rolebinding.py:161 +msgid "All organizations" +msgstr "" + +#: rbac/models/rolebinding.py:190 +msgid "" +"User last role in org, can not be delete, you can remove user from org " +"instead" +msgstr "" + +#: rbac/models/rolebinding.py:197 +msgid "Organization role binding" +msgstr "" + +#: rbac/models/rolebinding.py:212 +msgid "System role binding" +msgstr "" + +#: rbac/serializers/permission.py:25 users/serializers/profile.py:108 +msgid "Perms" +msgstr "" + +#: rbac/serializers/role.py:28 terminal/models/applet/applet.py:34 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "" + +#: rbac/serializers/rolebinding.py:60 +msgid "Has bound this role" +msgstr "" + +#: rbac/tree.py:17 rbac/tree.py:18 +msgid "All permissions" +msgstr "" + +#: rbac/tree.py:24 +msgid "Console view" +msgstr "" + +#: rbac/tree.py:25 +msgid "Workbench view" +msgstr "" + +#: rbac/tree.py:26 +msgid "Audit view" +msgstr "" + +#: rbac/tree.py:27 settings/models.py:159 +msgid "System setting" +msgstr "" + +#: rbac/tree.py:37 +msgid "Session audits" +msgstr "" + +#: rbac/tree.py:49 +msgid "Cloud import" +msgstr "" + +#: rbac/tree.py:50 +msgid "Backup account" +msgstr "" + +#: rbac/tree.py:51 +msgid "Gather account" +msgstr "" + +#: rbac/tree.py:53 +msgid "Asset change auth" +msgstr "" + +#: rbac/tree.py:54 +msgid "Terminal setting" +msgstr "" + +#: rbac/tree.py:55 +msgid "Task Center" +msgstr "" + +#: rbac/tree.py:56 +msgid "My assets" +msgstr "" + +#: rbac/tree.py:58 terminal/models/applet/applet.py:52 +#: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 +#: terminal/serializers/applet.py:15 +msgid "Applet" +msgstr "" + +#: rbac/tree.py:128 +msgid "App organizations" +msgstr "" + +#: rbac/tree.py:129 +msgid "Ticket comment" +msgstr "" + +#: rbac/tree.py:130 settings/serializers/feature.py:109 +#: tickets/models/ticket/general.py:307 +msgid "Ticket" +msgstr "" + +#: rbac/tree.py:131 +msgid "Common setting" +msgstr "" + +#: rbac/tree.py:132 +msgid "View permission tree" +msgstr "" + +#: settings/api/chat.py:40 +msgid "Chat AI is not enabled" +msgstr "" + +#: settings/api/chat.py:79 settings/api/dingtalk.py:31 +#: settings/api/feishu.py:36 settings/api/slack.py:34 settings/api/sms.py:160 +#: settings/api/vault.py:40 settings/api/wecom.py:37 +msgid "Test success" +msgstr "" + +#: settings/api/email.py:22 +msgid "Test mail sent to {}, please check" +msgstr "" + +#: settings/api/ldap.py:101 +msgid "" +"Users are not synchronized, please click the user synchronization button" +msgstr "" + +#: settings/api/ldap.py:137 +msgid "Get ldap users is None" +msgstr "" + +#: settings/api/ldap.py:147 +msgid "Imported {} users successfully (Organization: {})" +msgstr "" + +#: settings/api/sms.py:142 +msgid "Invalid SMS platform" +msgstr "" + +#: settings/api/sms.py:148 +msgid "test_phone is required" +msgstr "" + +#: settings/apps.py:7 +msgid "App Settings" +msgstr "" + +#: settings/models.py:36 users/models/preference.py:14 +msgid "Encrypted" +msgstr "" + +#: settings/models.py:161 +msgid "Can change email setting" +msgstr "" + +#: settings/models.py:162 +msgid "Can change auth setting" +msgstr "" + +#: settings/models.py:163 +msgid "Can change auth ops" +msgstr "" + +#: settings/models.py:164 +msgid "Can change auth ticket" +msgstr "" + +#: settings/models.py:165 +msgid "Can change virtual app setting" +msgstr "" + +#: settings/models.py:166 +msgid "Can change auth announcement" +msgstr "" + +#: settings/models.py:167 +msgid "Can change vault setting" +msgstr "" + +#: settings/models.py:168 +msgid "Can change chat ai setting" +msgstr "" + +#: settings/models.py:169 +msgid "Can change system msg sub setting" +msgstr "" + +#: settings/models.py:170 +msgid "Can change sms setting" +msgstr "" + +#: settings/models.py:171 +msgid "Can change security setting" +msgstr "" + +#: settings/models.py:172 +msgid "Can change clean setting" +msgstr "" + +#: settings/models.py:173 +msgid "Can change interface setting" +msgstr "" + +#: settings/models.py:174 +msgid "Can change license setting" +msgstr "" + +#: settings/models.py:175 +msgid "Can change terminal setting" +msgstr "" + +#: settings/models.py:176 +msgid "Can change other setting" +msgstr "" + +#: settings/models.py:186 +msgid "Chat prompt" +msgstr "" + +#: settings/serializers/auth/base.py:10 +msgid "Authentication" +msgstr "" + +#: settings/serializers/auth/base.py:12 +msgid "LDAP Auth" +msgstr "" + +#: settings/serializers/auth/base.py:13 +msgid "CAS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:14 +msgid "OPENID Auth" +msgstr "" + +#: settings/serializers/auth/base.py:15 +msgid "SAML2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:16 +msgid "OAuth2 Auth" +msgstr "" + +#: settings/serializers/auth/base.py:17 +msgid "RADIUS Auth" +msgstr "" + +#: settings/serializers/auth/base.py:18 +msgid "DingTalk Auth" +msgstr "" + +#: settings/serializers/auth/base.py:19 +msgid "FeiShu Auth" +msgstr "" + +#: settings/serializers/auth/base.py:20 +msgid "Slack Auth" +msgstr "" + +#: settings/serializers/auth/base.py:21 +msgid "WeCom Auth" +msgstr "" + +#: settings/serializers/auth/base.py:22 +msgid "SSO Auth" +msgstr "" + +#: settings/serializers/auth/base.py:23 +msgid "Passkey Auth" +msgstr "" + +#: settings/serializers/auth/base.py:26 +msgid "Forgot Password URL" +msgstr "" + +#: settings/serializers/auth/base.py:29 +msgid "Enable login redirect msg" +msgstr "" + +#: settings/serializers/auth/cas.py:10 +msgid "CAS" +msgstr "" + +#: settings/serializers/auth/cas.py:12 +msgid "Enable CAS Auth" +msgstr "" + +#: settings/serializers/auth/cas.py:13 settings/serializers/auth/oidc.py:54 +msgid "Server url" +msgstr "" + +#: settings/serializers/auth/cas.py:16 +msgid "Proxy server url" +msgstr "" + +#: settings/serializers/auth/cas.py:18 settings/serializers/auth/oauth2.py:54 +#: settings/serializers/auth/saml2.py:33 +msgid "Logout completely" +msgstr "" + +#: settings/serializers/auth/cas.py:23 +msgid "Username attr" +msgstr "" + +#: settings/serializers/auth/cas.py:26 +msgid "Enable attributes map" +msgstr "" + +#: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 +msgid "Rename attr" +msgstr "" + +#: settings/serializers/auth/cas.py:29 +msgid "Create user if not" +msgstr "" + +#: settings/serializers/auth/dingtalk.py:15 +msgid "Enable DingTalk Auth" +msgstr "" + +#: settings/serializers/auth/feishu.py:16 +msgid "Enable FeiShu Auth" +msgstr "" + +#: settings/serializers/auth/ldap.py:39 +msgid "LDAP" +msgstr "" + +#: settings/serializers/auth/ldap.py:42 +msgid "LDAP server" +msgstr "" + +#: settings/serializers/auth/ldap.py:43 +msgid "eg: ldap://localhost:389" +msgstr "" + +#: settings/serializers/auth/ldap.py:45 +msgid "Bind DN" +msgstr "" + +#: settings/serializers/auth/ldap.py:50 +msgid "User OU" +msgstr "" + +#: settings/serializers/auth/ldap.py:51 +msgid "Use | split multi OUs" +msgstr "" + +#: settings/serializers/auth/ldap.py:54 +msgid "User search filter" +msgstr "" + +#: settings/serializers/auth/ldap.py:55 +#, python-format +msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:58 settings/serializers/auth/oauth2.py:56 +#: settings/serializers/auth/oidc.py:37 +msgid "User attr map" +msgstr "" + +#: settings/serializers/auth/ldap.py:59 +msgid "" +"User attr map present how to map LDAP user attr to jumpserver, username,name," +"email is jumpserver attr" +msgstr "" + +#: settings/serializers/auth/ldap.py:77 +msgid "Connect timeout (s)" +msgstr "" + +#: settings/serializers/auth/ldap.py:79 +msgid "Search paged size (piece)" +msgstr "" + +#: settings/serializers/auth/ldap.py:81 +msgid "Enable LDAP auth" +msgstr "" + +#: settings/serializers/auth/oauth2.py:18 +msgid "OAuth2" +msgstr "" + +#: settings/serializers/auth/oauth2.py:21 +msgid "Enable OAuth2 Auth" +msgstr "" + +#: settings/serializers/auth/oauth2.py:24 +msgid "Logo" +msgstr "" + +#: settings/serializers/auth/oauth2.py:27 +msgid "Service provider" +msgstr "" + +#: settings/serializers/auth/oauth2.py:30 settings/serializers/auth/oidc.py:19 +msgid "Client Id" +msgstr "" + +#: settings/serializers/auth/oauth2.py:33 settings/serializers/auth/oidc.py:22 +#: xpack/plugins/cloud/serializers/account_attrs.py:38 +msgid "Client Secret" +msgstr "" + +#: settings/serializers/auth/oauth2.py:39 settings/serializers/auth/oidc.py:68 +msgid "Provider auth endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:42 settings/serializers/auth/oidc.py:71 +msgid "Provider token endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 +msgid "Client authentication method" +msgstr "" + +#: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77 +msgid "Provider userinfo endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:52 settings/serializers/auth/oidc.py:80 +msgid "Provider end session endpoint" +msgstr "" + +#: settings/serializers/auth/oauth2.py:59 settings/serializers/auth/oidc.py:98 +#: settings/serializers/auth/saml2.py:34 +msgid "Always update user" +msgstr "" + +#: settings/serializers/auth/oidc.py:12 +msgid "OIDC" +msgstr "" + +#: settings/serializers/auth/oidc.py:16 +msgid "Base site URL" +msgstr "" + +#: settings/serializers/auth/oidc.py:32 +msgid "Share session" +msgstr "" + +#: settings/serializers/auth/oidc.py:34 +msgid "Ignore ssl verification" +msgstr "" + +#: settings/serializers/auth/oidc.py:38 +msgid "" +"User attr map present how to map OpenID user attr to jumpserver, username," +"name,email is jumpserver attr" +msgstr "" + +#: settings/serializers/auth/oidc.py:41 +msgid "Enable PKCE" +msgstr "" + +#: settings/serializers/auth/oidc.py:43 +msgid "Code challenge method" +msgstr "" + +#: settings/serializers/auth/oidc.py:51 +msgid "Use Keycloak" +msgstr "" + +#: settings/serializers/auth/oidc.py:57 +msgid "Realm name" +msgstr "" + +#: settings/serializers/auth/oidc.py:63 +msgid "Enable OPENID Auth" +msgstr "" + +#: settings/serializers/auth/oidc.py:65 +msgid "Provider endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:74 +msgid "Provider jwks endpoint" +msgstr "" + +#: settings/serializers/auth/oidc.py:83 +msgid "Provider sign alg" +msgstr "" + +#: settings/serializers/auth/oidc.py:86 +msgid "Provider sign key" +msgstr "" + +#: settings/serializers/auth/oidc.py:88 +msgid "Scopes" +msgstr "" + +#: settings/serializers/auth/oidc.py:90 +msgid "Id token max age (s)" +msgstr "" + +#: settings/serializers/auth/oidc.py:93 +msgid "Id token include claims" +msgstr "" + +#: settings/serializers/auth/oidc.py:95 +msgid "Use state" +msgstr "" + +#: settings/serializers/auth/oidc.py:96 +msgid "Use nonce" +msgstr "" + +#: settings/serializers/auth/passkey.py:11 +msgid "Enable passkey Auth" +msgstr "" + +#: settings/serializers/auth/passkey.py:12 +msgid "Only SSL domain can use passkey auth" +msgstr "" + +#: settings/serializers/auth/passkey.py:15 +msgid "FIDO server ID" +msgstr "" + +#: settings/serializers/auth/passkey.py:17 +msgid "" +"The hostname can using passkey auth, If not set, will use request host and " +"the request host in DOMAINS, If multiple domains, use comma to separate" +msgstr "" + +#: settings/serializers/auth/passkey.py:22 +msgid "FIDO server name" +msgstr "" + +#: settings/serializers/auth/radius.py:13 +msgid "Radius" +msgstr "" + +#: settings/serializers/auth/radius.py:15 +msgid "Enable Radius Auth" +msgstr "" + +#: settings/serializers/auth/radius.py:21 +msgid "OTP in Radius" +msgstr "" + +#: settings/serializers/auth/saml2.py:10 +msgid "SAML2" +msgstr "" + +#: settings/serializers/auth/saml2.py:13 +msgid "Enable SAML2 Auth" +msgstr "" + +#: settings/serializers/auth/saml2.py:16 +msgid "IDP metadata URL" +msgstr "" + +#: settings/serializers/auth/saml2.py:19 +msgid "IDP metadata XML" +msgstr "" + +#: settings/serializers/auth/saml2.py:22 +msgid "SP advanced settings" +msgstr "" + +#: settings/serializers/auth/saml2.py:26 +msgid "SP private key" +msgstr "" + +#: settings/serializers/auth/saml2.py:30 +msgid "SP cert" +msgstr "" + +#: settings/serializers/auth/slack.py:12 +msgid "Enable Slack Auth" +msgstr "" + +#: settings/serializers/auth/sms.py:17 +msgid "Enable SMS" +msgstr "" + +#: settings/serializers/auth/sms.py:19 +msgid "SMS provider / Protocol" +msgstr "" + +#: settings/serializers/auth/sms.py:22 +msgid "SMS code length" +msgstr "" + +#: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49 +#: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66 +#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83 +msgid "Signature" +msgstr "" + +#: settings/serializers/auth/sms.py:28 settings/serializers/auth/sms.py:50 +#: settings/serializers/auth/sms.py:58 settings/serializers/auth/sms.py:67 +msgid "Template code" +msgstr "" + +#: settings/serializers/auth/sms.py:35 +msgid "Test phone" +msgstr "" + +#: settings/serializers/auth/sms.py:64 +msgid "App Access Address" +msgstr "" + +#: settings/serializers/auth/sms.py:65 +msgid "Signature channel number" +msgstr "" + +#: settings/serializers/auth/sms.py:73 +msgid "Enterprise code(SP id)" +msgstr "" + +#: settings/serializers/auth/sms.py:74 +msgid "Shared secret(Shared secret)" +msgstr "" + +#: settings/serializers/auth/sms.py:75 +msgid "Original number(Src id)" +msgstr "" + +#: settings/serializers/auth/sms.py:76 +msgid "Business type(Service id)" +msgstr "" + +#: settings/serializers/auth/sms.py:80 +#, python-brace-format +msgid "" +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." +msgstr "" + +#: settings/serializers/auth/sms.py:89 +#, python-brace-format +msgid "The template needs to contain {code}" +msgstr "" + +#: settings/serializers/auth/sms.py:92 +msgid "Signature + Template must not exceed 65 words" +msgstr "" + +#: settings/serializers/auth/sms.py:101 +msgid "URL" +msgstr "" + +#: settings/serializers/auth/sms.py:106 +msgid "Request method" +msgstr "" + +#: settings/serializers/auth/sso.py:16 +msgid "Enable SSO auth" +msgstr "" + +#: settings/serializers/auth/sso.py:17 +msgid "Other service can using SSO token login to JumpServer without password" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +msgid "SSO auth key TTL" +msgstr "" + +#: settings/serializers/auth/sso.py:20 +#: xpack/plugins/cloud/serializers/account_attrs.py:200 +msgid "Unit: second" +msgstr "" + +#: settings/serializers/auth/wecom.py:15 +msgid "Enable WeCom Auth" +msgstr "" + +#: settings/serializers/basic.py:11 +msgid "Site URL" +msgstr "" + +#: settings/serializers/basic.py:13 +msgid "" +"External URL, email links or other system callbacks are used to access it, " +"eg: http://dev.jumpserver.org:8080" +msgstr "" + +#: settings/serializers/basic.py:18 +msgid "User guide url" +msgstr "" + +#: settings/serializers/basic.py:19 +msgid "User first login update profile done redirect to it" +msgstr "" + +#: settings/serializers/basic.py:22 +msgid "Global organization" +msgstr "" + +#: settings/serializers/basic.py:23 +msgid "The name of global organization to display" +msgstr "" + +#: settings/serializers/basic.py:26 +msgid "Help Docs URL" +msgstr "" + +#: settings/serializers/basic.py:27 +msgid "default: http://docs.jumpserver.org" +msgstr "" + +#: settings/serializers/basic.py:30 +msgid "Help Support URL" +msgstr "" + +#: settings/serializers/basic.py:31 +msgid "default: http://www.jumpserver.org/support/" +msgstr "" + +#: settings/serializers/basic.py:44 +msgid "Organization name already exists" +msgstr "" + +#: settings/serializers/cleaning.py:11 +msgid "Period clean" +msgstr "" + +#: settings/serializers/cleaning.py:15 +msgid "Login log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:19 +msgid "Task log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:23 +msgid "Operate log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:27 +msgid "FTP log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:31 +msgid "Cloud sync record keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:35 +msgid "job execution keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:39 +msgid "Activity log keep days (day)" +msgstr "" + +#: settings/serializers/cleaning.py:42 +msgid "Session keep duration (day)" +msgstr "" + +#: settings/serializers/cleaning.py:44 +msgid "" +"Session, record, command will be delete if more than duration, only in " +"database, OSS will not be affected." +msgstr "" + +#: settings/serializers/feature.py:18 +msgid "Subject" +msgstr "" + +#: settings/serializers/feature.py:22 +msgid "More URL" +msgstr "" + +#: settings/serializers/feature.py:36 settings/serializers/feature.py:39 +msgid "Announcement" +msgstr "" + +#: settings/serializers/feature.py:38 +msgid "Enable announcement" +msgstr "" + +#: settings/serializers/feature.py:46 +msgid "Enable Vault" +msgstr "" + +#: settings/serializers/feature.py:55 +msgid "Mount Point" +msgstr "" + +#: settings/serializers/feature.py:60 +msgid "Historical accounts retained count" +msgstr "" + +#: settings/serializers/feature.py:62 +msgid "" +"If the specific value is less than 999, the system will automatically " +"perform a task every night: check and delete historical accounts that exceed " +"the predetermined number. If the value reaches or exceeds 999, no historical " +"account deletion will be performed." +msgstr "" + +#: settings/serializers/feature.py:71 +msgid "Chat AI" +msgstr "" + +#: settings/serializers/feature.py:75 +msgid "Enable Chat AI" +msgstr "" + +#: settings/serializers/feature.py:78 +msgid "Base URL" +msgstr "" + +#: settings/serializers/feature.py:81 templates/_header_bar.html:90 +msgid "API Key" +msgstr "" + +#: settings/serializers/feature.py:87 +msgid "GPT Model" +msgstr "" + +#: settings/serializers/feature.py:111 +msgid "Enable tickets" +msgstr "" + +#: settings/serializers/feature.py:114 +msgid "Ticket authorize default time" +msgstr "" + +#: settings/serializers/feature.py:117 +msgid "hour" +msgstr "" + +#: settings/serializers/feature.py:118 +msgid "Ticket authorize default time unit" +msgstr "" + +#: settings/serializers/feature.py:123 +msgid "Feature" +msgstr "" + +#: settings/serializers/feature.py:126 +msgid "Operation center" +msgstr "" + +#: settings/serializers/feature.py:127 +msgid "Allow user run batch command or not using ansible" +msgstr "" + +#: settings/serializers/feature.py:131 +msgid "Operation center command blacklist" +msgstr "" + +#: settings/serializers/feature.py:132 +msgid "Commands that are not allowed execute." +msgstr "" + +#: settings/serializers/feature.py:137 +#: terminal/models/virtualapp/provider.py:17 +#: terminal/models/virtualapp/virtualapp.py:36 +#: terminal/models/virtualapp/virtualapp.py:97 +#: terminal/serializers/virtualapp.py:32 +msgid "Virtual app" +msgstr "" + +#: settings/serializers/feature.py:140 +msgid "Enable virtual app" +msgstr "" + +#: settings/serializers/msg.py:25 +msgid "SMTP" +msgstr "" + +#: settings/serializers/msg.py:26 +msgid "EXCHANGE" +msgstr "" + +#: settings/serializers/msg.py:36 +msgid "Tips: Some provider use token except password" +msgstr "" + +#: settings/serializers/msg.py:39 +msgid "Send user" +msgstr "" + +#: settings/serializers/msg.py:40 +msgid "Tips: Send mail account, default SMTP account as the send account" +msgstr "" + +#: settings/serializers/msg.py:43 +msgid "Test recipient" +msgstr "" + +#: settings/serializers/msg.py:44 +msgid "Tips: Used only as a test mail recipient" +msgstr "" + +#: settings/serializers/msg.py:48 +msgid "If SMTP port is 465, may be select" +msgstr "" + +#: settings/serializers/msg.py:51 +msgid "Use TLS" +msgstr "" + +#: settings/serializers/msg.py:52 +msgid "If SMTP port is 587, may be select" +msgstr "" + +#: settings/serializers/msg.py:55 +msgid "Subject prefix" +msgstr "" + +#: settings/serializers/msg.py:58 +msgid "Email suffix" +msgstr "" + +#: settings/serializers/msg.py:59 +msgid "" +"This is used by default if no email is returned during SSO authentication" +msgstr "" + +#: settings/serializers/msg.py:68 +msgid "Create user email subject" +msgstr "" + +#: settings/serializers/msg.py:69 +msgid "" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" +msgstr "" + +#: settings/serializers/msg.py:73 +msgid "Create user honorific" +msgstr "" + +#: settings/serializers/msg.py:74 +msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" +msgstr "" + +#: settings/serializers/msg.py:78 +msgid "Create user email content" +msgstr "" + +#: settings/serializers/msg.py:80 +#, python-brace-format +msgid "" +"Tips: When creating a user, send the content of the email, support " +"{username} {name} {email} label" +msgstr "" + +#: settings/serializers/msg.py:84 +msgid "Tips: Email signature (eg:jumpserver)" +msgstr "" + +#: settings/serializers/other.py:8 +msgid "More..." +msgstr "" + +#: settings/serializers/other.py:11 +msgid "Perm ungroup node" +msgstr "" + +#: settings/serializers/other.py:12 +msgid "Perm single to ungroup node" +msgstr "" + +#: settings/serializers/security.py:17 +msgid "User password expiration (day)" +msgstr "" + +#: settings/serializers/security.py:19 +msgid "" +"If the user does not update the password during the time, the user password " +"will expire failure;The password expiration reminder mail will be automatic " +"sent to the user by system within 5 days (daily) before the password expires" +msgstr "" + +#: settings/serializers/security.py:26 +msgid "Number of repeated historical passwords" +msgstr "" + +#: settings/serializers/security.py:28 +msgid "" +"Tip: When the user resets the password, it cannot be the previous n " +"historical passwords of the user" +msgstr "" + +#: settings/serializers/security.py:34 +msgid "Password minimum length" +msgstr "" + +#: settings/serializers/security.py:38 +msgid "Admin user password minimum length" +msgstr "" + +#: settings/serializers/security.py:41 +msgid "Must contain capital" +msgstr "" + +#: settings/serializers/security.py:44 +msgid "Must contain lowercase" +msgstr "" + +#: settings/serializers/security.py:47 +msgid "Must contain numeric" +msgstr "" + +#: settings/serializers/security.py:50 +msgid "Must contain special" +msgstr "" + +#: settings/serializers/security.py:55 +msgid "" +"If the user has failed to log in for a limited number of times, no login is " +"allowed during this time interval." +msgstr "" + +#: settings/serializers/security.py:63 +msgid "Limit the number of user login failures" +msgstr "" + +#: settings/serializers/security.py:67 +msgid "Block user login interval (minute)" +msgstr "" + +#: settings/serializers/security.py:73 +msgid "Limit the number of IP login failures" +msgstr "" + +#: settings/serializers/security.py:77 +msgid "Block IP login interval (minute)" +msgstr "" + +#: settings/serializers/security.py:81 +msgid "Login IP White List" +msgstr "" + +#: settings/serializers/security.py:86 +msgid "Login IP Black List" +msgstr "" + +#: settings/serializers/security.py:91 +msgid "Only single device login" +msgstr "" + +#: settings/serializers/security.py:92 +msgid "" +"After the user logs in on the new device, other logged-in devices will " +"automatically log out" +msgstr "" + +#: settings/serializers/security.py:95 +msgid "Only exist user login" +msgstr "" + +#: settings/serializers/security.py:97 +msgid "" +"If enabled, non-existent users will not be allowed to log in; if disabled, " +"users of other authentication methods except local authentication methods " +"are allowed to log in and automatically create users (if the user does not " +"exist)" +msgstr "" + +#: settings/serializers/security.py:103 +msgid "Only from source login" +msgstr "" + +#: settings/serializers/security.py:105 +msgid "" +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " +"authentication methods in a certain order when logging in, and as long as " +"one of the authentication methods is successful, they can log in directly" +msgstr "" + +#: settings/serializers/security.py:116 +msgid "Not enabled" +msgstr "" + +#: settings/serializers/security.py:117 +msgid "All users" +msgstr "" + +#: settings/serializers/security.py:118 +msgid "Only admin users" +msgstr "" + +#: settings/serializers/security.py:120 +msgid "Global MFA auth" +msgstr "" + +#: settings/serializers/security.py:124 +msgid "Third-party login users perform MFA authentication" +msgstr "" + +#: settings/serializers/security.py:125 +msgid "The third-party login modes include OIDC, CAS, and SAML2" +msgstr "" + +#: settings/serializers/security.py:128 +msgid "OTP issuer name" +msgstr "" + +#: settings/serializers/security.py:132 +msgid "OTP valid window" +msgstr "" + +#: settings/serializers/security.py:136 +msgid "MFA verify TTL" +msgstr "" + +#: settings/serializers/security.py:138 +msgid "" +"Unit: second, The verification MFA takes effect only when you view the " +"account password" +msgstr "" + +#: settings/serializers/security.py:143 +msgid "MFA in login page" +msgstr "" + +#: settings/serializers/security.py:144 +msgid "Eu security regulations(GDPR) require MFA to be on the login page" +msgstr "" + +#: settings/serializers/security.py:148 +msgid "Verify code TTL (second)" +msgstr "" + +#: settings/serializers/security.py:149 +msgid "Reset password and send SMS code expiration time" +msgstr "" + +#: settings/serializers/security.py:153 +msgid "Enable Login dynamic code" +msgstr "" + +#: settings/serializers/security.py:154 +msgid "" +"The password and additional code are sent to a third party authentication " +"system for verification" +msgstr "" + +#: settings/serializers/security.py:158 +msgid "Enable Login captcha" +msgstr "" + +#: settings/serializers/security.py:159 +msgid "Enable captcha to prevent robot authentication" +msgstr "" + +#: settings/serializers/security.py:162 +msgid "Remote Login Protection" +msgstr "" + +#: settings/serializers/security.py:164 +msgid "" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" +msgstr "" + +#: settings/serializers/security.py:170 +msgid "Unused user timeout (day)" +msgstr "" + +#: settings/serializers/security.py:171 +msgid "" +"Detect infrequent users daily and disable them if they exceed the " +"predetermined time limit." +msgstr "" + +#: settings/serializers/security.py:191 +msgid "Enable watermark" +msgstr "" + +#: settings/serializers/security.py:192 +msgid "Enabled, the web session and replay contains watermark information" +msgstr "" + +#: settings/serializers/security.py:196 +msgid "Connection max idle time (minute)" +msgstr "" + +#: settings/serializers/security.py:197 +msgid "If idle time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:201 +msgid "Session max connection time (hour)" +msgstr "" + +#: settings/serializers/security.py:202 +msgid "If session connection time more than it, disconnect connection." +msgstr "" + +#: settings/serializers/security.py:205 +msgid "Remember manual auth" +msgstr "" + +#: settings/serializers/security.py:208 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +msgid "Session share" +msgstr "" + +#: settings/serializers/security.py:209 +msgid "Enabled, Allows user active session to be shared with other users" +msgstr "" + +#: settings/serializers/security.py:215 +msgid "Insecure command alert" +msgstr "" + +#: settings/serializers/security.py:218 +msgid "Email recipient" +msgstr "" + +#: settings/serializers/security.py:219 +msgid "Multiple user using , split" +msgstr "" + +#: settings/serializers/settings.py:70 +#, python-format +msgid "[%s] %s" +msgstr "" + +#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "" + +#: settings/serializers/terminal.py:15 +msgid "Auto" +msgstr "" + +#: settings/serializers/terminal.py:22 +msgid "Enable terminal register" +msgstr "" + +#: settings/serializers/terminal.py:24 +msgid "" +"Allow terminal register, after all terminal setup, you should disable this " +"for security" +msgstr "" + +#: settings/serializers/terminal.py:27 +msgid "Password auth" +msgstr "" + +#: settings/serializers/terminal.py:29 +msgid "Public key auth" +msgstr "" + +#: settings/serializers/terminal.py:30 +msgid "" +"Tips: If use other auth method, like AD/LDAP, you should disable this to " +"avoid being able to log in after deleting" +msgstr "" + +#: settings/serializers/terminal.py:34 +msgid "List sort by" +msgstr "" + +#: settings/serializers/terminal.py:37 +msgid "List page size" +msgstr "" + +#: settings/serializers/terminal.py:39 +msgid "Enable database proxy" +msgstr "" + +#: settings/serializers/terminal.py:40 +msgid "Enable Razor" +msgstr "" + +#: settings/serializers/terminal.py:41 +msgid "Enable SSH Client" +msgstr "" + +#: settings/tasks/ldap.py:24 +msgid "Periodic import ldap user" +msgstr "" + +#: settings/tasks/ldap.py:45 +msgid "Registration periodic import ldap user task" +msgstr "" + +#: settings/utils/ldap.py:491 +msgid "ldap:// or ldaps:// protocol is used." +msgstr "" + +#: settings/utils/ldap.py:502 +msgid "Host or port is disconnected: {}" +msgstr "" + +#: settings/utils/ldap.py:504 +msgid "The port is not the port of the LDAP service: {}" +msgstr "" + +#: settings/utils/ldap.py:506 +msgid "Please add certificate: {}" +msgstr "" + +#: settings/utils/ldap.py:510 settings/utils/ldap.py:537 +#: settings/utils/ldap.py:567 settings/utils/ldap.py:595 +msgid "Unknown error: {}" +msgstr "" + +#: settings/utils/ldap.py:524 +msgid "Bind DN or Password incorrect" +msgstr "" + +#: settings/utils/ldap.py:531 +msgid "Please enter Bind DN: {}" +msgstr "" + +#: settings/utils/ldap.py:533 +msgid "Please enter Password: {}" +msgstr "" + +#: settings/utils/ldap.py:535 +msgid "Please enter correct Bind DN and Password: {}" +msgstr "" + +#: settings/utils/ldap.py:553 +msgid "Invalid User OU or User search filter: {}" +msgstr "" + +#: settings/utils/ldap.py:584 +msgid "LDAP User attr map not include: {}" +msgstr "" + +#: settings/utils/ldap.py:591 +msgid "LDAP User attr map is not dict" +msgstr "" + +#: settings/utils/ldap.py:610 +msgid "LDAP authentication is not enabled" +msgstr "" + +#: settings/utils/ldap.py:628 +msgid "Error (Invalid LDAP server): {}" +msgstr "" + +#: settings/utils/ldap.py:630 +msgid "Error (Invalid Bind DN): {}" +msgstr "" + +#: settings/utils/ldap.py:632 +msgid "Error (Invalid LDAP User attr map): {}" +msgstr "" + +#: settings/utils/ldap.py:634 +msgid "Error (Invalid User OU or User search filter): {}" +msgstr "" + +#: settings/utils/ldap.py:636 +msgid "Error (Not enabled LDAP authentication): {}" +msgstr "" + +#: settings/utils/ldap.py:638 +msgid "Error (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:641 +msgid "Succeed: Match {} s user" +msgstr "" + +#: settings/utils/ldap.py:652 +msgid "Please test the connection first" +msgstr "" + +#: settings/utils/ldap.py:674 +msgid "Authentication failed (configuration incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:678 +msgid "Authentication failed (username or password incorrect): {}" +msgstr "" + +#: settings/utils/ldap.py:680 +msgid "Authentication failed (Unknown): {}" +msgstr "" + +#: settings/utils/ldap.py:683 +msgid "Authentication success: {}" +msgstr "" + +#: templates/_csv_import_export.html:8 +msgid "Export" +msgstr "" + +#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 +msgid "Import" +msgstr "" + +#: templates/_csv_import_modal.html:12 +msgid "Download the imported template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_import_modal.html:13 +msgid "Download the import template" +msgstr "" + +#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 +msgid "Select the CSV file to import" +msgstr "" + +#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 +msgid "Please select file" +msgstr "" + +#: templates/_csv_update_modal.html:12 +msgid "Download the update template or use the exported CSV file format" +msgstr "" + +#: templates/_csv_update_modal.html:13 +msgid "Download the update template" +msgstr "" + +#: templates/_header_bar.html:12 +msgid "Help" +msgstr "" + +#: templates/_header_bar.html:19 +msgid "Docs" +msgstr "" + +#: templates/_header_bar.html:27 +msgid "Commercial support" +msgstr "" + +#: templates/_header_bar.html:79 users/forms/profile.py:44 +msgid "Profile" +msgstr "" + +#: templates/_header_bar.html:83 +msgid "Admin page" +msgstr "" + +#: templates/_header_bar.html:86 +msgid "User page" +msgstr "" + +#: templates/_header_bar.html:91 +msgid "Logout" +msgstr "" + +#: templates/_message.html:6 +msgid "" +"\n" +" Your account has expired, please contact the administrator.\n" +" " +msgstr "" + +#: templates/_message.html:13 +msgid "Your account will at" +msgstr "" + +#: templates/_message.html:13 templates/_message.html:30 +msgid "expired. " +msgstr "" + +#: templates/_message.html:23 +#, python-format +msgid "" +"\n" +" Your password has expired, please click this link update password.\n" +" " +msgstr "" + +#: templates/_message.html:30 +msgid "Your password will at" +msgstr "" + +#: templates/_message.html:31 +#, python-format +msgid "" +"\n" +" please click this " +"link to update your password.\n" +" " +msgstr "" + +#: templates/_message.html:43 +#, python-format +msgid "" +"\n" +" Your information was incomplete. Please click this link to complete your information.\n" +" " +msgstr "" + +#: templates/_message.html:56 +#, python-format +msgid "" +"\n" +" Your ssh public key not set or expired. Please click this link to update\n" +" " +msgstr "" + +#: templates/_mfa_login_field.html:28 +msgid "Send verification code" +msgstr "" + +#: templates/_mfa_login_field.html:106 +#: users/templates/users/forgot_password.html:130 +msgid "Wait: " +msgstr "" + +#: templates/_mfa_login_field.html:116 +#: users/templates/users/forgot_password.html:146 +msgid "The verification code has been sent" +msgstr "" + +#: templates/_without_nav_base.html:26 +msgid "Home page" +msgstr "" + +#: templates/resource_download.html:18 templates/resource_download.html:33 +#: users/const.py:60 +msgid "Client" +msgstr "" + +#: templates/resource_download.html:20 +msgid "" +"JumpServer Client, currently used to launch the client, now only support " +"launch RDP SSH client, The Telnet client will next" +msgstr "" + +#: templates/resource_download.html:33 +msgid "Microsoft" +msgstr "" + +#: templates/resource_download.html:33 +msgid "Official" +msgstr "" + +#: templates/resource_download.html:35 +msgid "" +"macOS needs to download the client to connect RDP asset, which comes with " +"Windows" +msgstr "" + +#: templates/resource_download.html:44 +msgid "Windows Remote application publisher tools" +msgstr "" + +#: templates/resource_download.html:45 +msgid "" +"OpenSSH is a program used to connect remote applications in the Windows " +"Remote Application Publisher" +msgstr "" + +#: templates/resource_download.html:53 +msgid "Offline video player" +msgstr "" + +#: terminal/api/applet/applet.py:50 terminal/api/applet/applet.py:53 +#: terminal/api/virtualapp/virtualapp.py:43 +#: terminal/api/virtualapp/virtualapp.py:46 +msgid "Invalid zip file" +msgstr "" + +#: terminal/api/applet/applet.py:72 +msgid "This is enterprise edition applet" +msgstr "" + +#: terminal/api/component/endpoint.py:32 +msgid "Not found protocol query params" +msgstr "" + +#: terminal/api/component/storage.py:30 +msgid "Deleting the default storage is not allowed" +msgstr "" + +#: terminal/api/component/storage.py:33 +msgid "Cannot delete storage that is being used" +msgstr "" + +#: terminal/api/component/storage.py:74 terminal/api/component/storage.py:75 +msgid "Command storages" +msgstr "" + +#: terminal/api/component/storage.py:81 +msgid "Invalid" +msgstr "" + +#: terminal/api/component/storage.py:129 terminal/tasks.py:142 +msgid "Test failure: {}" +msgstr "" + +#: terminal/api/component/storage.py:132 +msgid "Test successful" +msgstr "" + +#: terminal/api/component/storage.py:134 +msgid "Test failure: Please check configuration" +msgstr "" + +#: terminal/api/component/terminal.py:55 +msgid "Have online sessions" +msgstr "" + +#: terminal/api/session/session.py:46 +#, python-format +msgid "User %s %s session %s replay" +msgstr "" + +#: terminal/api/session/session.py:297 +msgid "Session does not exist: {}" +msgstr "" + +#: terminal/api/session/session.py:300 +msgid "Session is finished or the protocol not supported" +msgstr "" + +#: terminal/api/session/session.py:313 +msgid "User does not have permission" +msgstr "" + +#: terminal/api/session/sharing.py:29 +msgid "Secure session sharing settings is disabled" +msgstr "" + +#: terminal/apps.py:9 +msgid "App Terminals" +msgstr "" + +#: terminal/backends/command/models.py:19 +msgid "Input" +msgstr "" + +#: terminal/backends/command/models.py:20 terminal/serializers/command.py:73 +msgid "Output" +msgstr "" + +#: terminal/backends/command/models.py:24 terminal/serializers/command.py:22 +#: terminal/templates/terminal/_msg_command_warning.html:10 +msgid "Risk level" +msgstr "" + +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "" + +#: terminal/connect_methods.py:30 +msgid "SSH Guide" +msgstr "" + +#: terminal/connect_methods.py:31 +msgid "SFTP Client" +msgstr "" + +#: terminal/connect_methods.py:33 +msgid "DB Guide" +msgstr "" + +#: terminal/connect_methods.py:34 +msgid "DB Client" +msgstr "" + +#: terminal/connect_methods.py:36 +msgid "Remote Desktop" +msgstr "" + +#: terminal/const.py:12 +msgid "Review & Reject" +msgstr "" + +#: terminal/const.py:13 +msgid "Review & Accept" +msgstr "" + +#: terminal/const.py:14 +msgid "Review & Cancel" +msgstr "" + +#: terminal/const.py:45 +msgid "Critical" +msgstr "" + +#: terminal/const.py:46 +msgid "High" +msgstr "" + +#: terminal/const.py:47 terminal/const.py:84 +#: users/templates/users/reset_password.html:50 +msgid "Normal" +msgstr "" + +#: terminal/const.py:48 +msgid "Offline" +msgstr "" + +#: terminal/const.py:80 +msgid "Mismatch" +msgstr "" + +#: terminal/const.py:85 +msgid "Tunnel" +msgstr "" + +#: terminal/const.py:91 +msgid "Read only" +msgstr "" + +#: terminal/const.py:92 +msgid "Writable" +msgstr "" + +#: terminal/const.py:96 +msgid "Kill session" +msgstr "" + +#: terminal/const.py:97 +msgid "Lock session" +msgstr "" + +#: terminal/const.py:98 +msgid "Unlock session" +msgstr "" + +#: terminal/const.py:103 +msgid "Replay create failed" +msgstr "" + +#: terminal/const.py:104 +msgid "Replay upload failed" +msgstr "" + +#: terminal/const.py:105 +msgid "Replay convert failed" +msgstr "" + +#: terminal/const.py:106 +msgid "Replay unsupported" +msgstr "" + +#: terminal/exceptions.py:8 +msgid "Bulk create not support" +msgstr "" + +#: terminal/exceptions.py:13 +msgid "Storage is invalid" +msgstr "" + +#: terminal/models/applet/applet.py:30 xpack/plugins/license/models.py:88 +msgid "Community edition" +msgstr "" + +#: terminal/models/applet/applet.py:31 +msgid "Enterprise" +msgstr "" + +#: terminal/models/applet/applet.py:36 +#: terminal/models/virtualapp/virtualapp.py:22 +msgid "Author" +msgstr "" + +#: terminal/models/applet/applet.py:38 terminal/serializers/applet.py:31 +msgid "Edition" +msgstr "" + +#: terminal/models/applet/applet.py:43 +msgid "Can concurrent" +msgstr "" + +#: terminal/models/applet/applet.py:44 +#: terminal/models/virtualapp/virtualapp.py:29 +msgid "Tags" +msgstr "" + +#: terminal/models/applet/applet.py:48 terminal/serializers/storage.py:197 +msgid "Hosts" +msgstr "" + +#: terminal/models/applet/applet.py:93 +#: terminal/models/virtualapp/virtualapp.py:66 +msgid "Applet pkg not valid, Missing file {}" +msgstr "" + +#: terminal/models/applet/applet.py:112 +msgid "Load platform.yml failed: {}" +msgstr "" + +#: terminal/models/applet/applet.py:115 +msgid "Only support custom platform" +msgstr "" + +#: terminal/models/applet/applet.py:120 +msgid "Missing type in platform.yml" +msgstr "" + +#: terminal/models/applet/applet.py:319 terminal/models/applet/host.py:36 +#: terminal/models/applet/host.py:138 +msgid "Hosting" +msgstr "" + +#: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:69 +msgid "Deploy options" +msgstr "" + +#: terminal/models/applet/host.py:19 +msgid "Auto create accounts" +msgstr "" + +#: terminal/models/applet/host.py:20 +msgid "Accounts create amount" +msgstr "" + +#: terminal/models/applet/host.py:21 +msgid "Inited" +msgstr "" + +#: terminal/models/applet/host.py:22 +msgid "Date inited" +msgstr "" + +#: terminal/models/applet/host.py:23 +msgid "Date synced" +msgstr "" + +#: terminal/models/applet/host.py:28 +msgid "Using same account" +msgstr "" + +#: terminal/models/applet/host.py:139 +msgid "Initial" +msgstr "" + +#: terminal/models/component/endpoint.py:15 +msgid "HTTPS port" +msgstr "" + +#: terminal/models/component/endpoint.py:16 +msgid "HTTP port" +msgstr "" + +#: terminal/models/component/endpoint.py:17 +msgid "SSH port" +msgstr "" + +#: terminal/models/component/endpoint.py:18 +msgid "RDP port" +msgstr "" + +#: terminal/models/component/endpoint.py:19 +msgid "MySQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:20 +msgid "MariaDB port" +msgstr "" + +#: terminal/models/component/endpoint.py:21 +msgid "PostgreSQL port" +msgstr "" + +#: terminal/models/component/endpoint.py:22 +msgid "Redis port" +msgstr "" + +#: terminal/models/component/endpoint.py:23 +msgid "SQLServer port" +msgstr "" + +#: terminal/models/component/endpoint.py:30 +#: terminal/models/component/endpoint.py:103 +#: terminal/serializers/endpoint.py:73 terminal/serializers/storage.py:41 +#: terminal/serializers/storage.py:53 terminal/serializers/storage.py:83 +#: terminal/serializers/storage.py:93 terminal/serializers/storage.py:101 +msgid "Endpoint" +msgstr "" + +#: terminal/models/component/endpoint.py:109 +msgid "Endpoint rule" +msgstr "" + +#: terminal/models/component/status.py:15 +msgid "Session Online" +msgstr "" + +#: terminal/models/component/status.py:16 +msgid "CPU Load" +msgstr "" + +#: terminal/models/component/status.py:17 +msgid "Memory Used" +msgstr "" + +#: terminal/models/component/status.py:18 +msgid "Disk Used" +msgstr "" + +#: terminal/models/component/status.py:19 +msgid "Connections" +msgstr "" + +#: terminal/models/component/status.py:20 +msgid "Threads" +msgstr "" + +#: terminal/models/component/status.py:21 +msgid "Boot Time" +msgstr "" + +#: terminal/models/component/storage.py:28 +msgid "Default storage" +msgstr "" + +#: terminal/models/component/storage.py:140 +#: terminal/models/component/terminal.py:90 +msgid "Command storage" +msgstr "" + +#: terminal/models/component/storage.py:204 +#: terminal/models/component/terminal.py:91 +msgid "Replay storage" +msgstr "" + +#: terminal/models/component/terminal.py:87 +msgid "type" +msgstr "" + +#: terminal/models/component/terminal.py:89 terminal/serializers/command.py:76 +msgid "Remote Address" +msgstr "" + +#: terminal/models/component/terminal.py:92 +msgid "Application User" +msgstr "" + +#: terminal/models/component/terminal.py:176 +msgid "Can view terminal config" +msgstr "" + +#: terminal/models/session/command.py:66 +msgid "Command record" +msgstr "" + +#: terminal/models/session/replay.py:12 +msgid "Session replay" +msgstr "" + +#: terminal/models/session/replay.py:14 +msgid "Can upload session replay" +msgstr "" + +#: terminal/models/session/replay.py:15 +msgid "Can download session replay" +msgstr "" + +#: terminal/models/session/session.py:34 +msgid "Account id" +msgstr "" + +#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:118 +msgid "Login from" +msgstr "" + +#: terminal/models/session/session.py:41 +msgid "Replay" +msgstr "" + +#: terminal/models/session/session.py:45 +msgid "Date end" +msgstr "" + +#: terminal/models/session/session.py:47 terminal/serializers/session.py:65 +msgid "Command amount" +msgstr "" + +#: terminal/models/session/session.py:48 terminal/serializers/session.py:28 +msgid "Error reason" +msgstr "" + +#: terminal/models/session/session.py:282 +msgid "Session record" +msgstr "" + +#: terminal/models/session/session.py:284 +msgid "Can monitor session" +msgstr "" + +#: terminal/models/session/session.py:285 +msgid "Can share session" +msgstr "" + +#: terminal/models/session/session.py:286 +msgid "Can terminate session" +msgstr "" + +#: terminal/models/session/session.py:287 +msgid "Can validate session action perm" +msgstr "" + +#: terminal/models/session/sharing.py:32 +msgid "Expired time (min)" +msgstr "" + +#: terminal/models/session/sharing.py:36 terminal/serializers/sharing.py:20 +#: terminal/serializers/sharing.py:52 +msgid "Action permission" +msgstr "" + +#: terminal/models/session/sharing.py:38 +msgid "Origin" +msgstr "" + +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:261 +msgid "Session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:44 +msgid "Can add super session sharing" +msgstr "" + +#: terminal/models/session/sharing.py:83 +msgid "Link not active" +msgstr "" + +#: terminal/models/session/sharing.py:85 +msgid "Link expired" +msgstr "" + +#: terminal/models/session/sharing.py:87 +msgid "User not allowed to join" +msgstr "" + +#: terminal/models/session/sharing.py:104 terminal/serializers/sharing.py:71 +msgid "Joiner" +msgstr "" + +#: terminal/models/session/sharing.py:107 +msgid "Date joined" +msgstr "" + +#: terminal/models/session/sharing.py:110 +msgid "Date left" +msgstr "" + +#: terminal/models/session/sharing.py:133 +msgid "Session join record" +msgstr "" + +#: terminal/models/session/sharing.py:149 +msgid "Invalid verification code" +msgstr "" + +#: terminal/models/session/sharing.py:156 +msgid "You have already joined this session" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:32 +msgid "Providers" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:94 +#: terminal/serializers/virtualapp.py:34 +msgid "App Provider" +msgstr "" + +#: terminal/models/virtualapp/virtualapp.py:102 +msgid "Virtual app publication" +msgstr "" + +#: terminal/notifications.py:25 +msgid "Sessions" +msgstr "" + +#: terminal/notifications.py:72 +msgid "Command warning" +msgstr "" + +#: terminal/notifications.py:130 +msgid "Command reject" +msgstr "" + +#: terminal/notifications.py:157 terminal/notifications.py:206 +msgid "Level" +msgstr "" + +#: terminal/notifications.py:175 +msgid "Batch danger command alert" +msgstr "" + +#: terminal/notifications.py:224 +msgid "Command and replay storage" +msgstr "" + +#: terminal/notifications.py:225 +msgid "Connectivity alarm" +msgstr "" + +#: terminal/notifications.py:240 terminal/tasks.py:146 +msgid "Test failure: Account invalid" +msgstr "" + +#: terminal/notifications.py:250 +#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 +msgid "Invalid storage" +msgstr "" + +#: terminal/serializers/applet.py:28 terminal/serializers/virtualapp.py:15 +msgid "Icon" +msgstr "" + +#: terminal/serializers/applet_host.py:24 +msgid "Per Session" +msgstr "" + +#: terminal/serializers/applet_host.py:25 +msgid "Per Device" +msgstr "" + +#: terminal/serializers/applet_host.py:37 +msgid "Core API" +msgstr "" + +#: terminal/serializers/applet_host.py:38 +msgid "" +" \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" +"
\n" +" eg: https://172.16.10.110 or https://dev.jumpserver.com\n" +" " +msgstr "" + +#: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:208 +msgid "Ignore Certificate Verification" +msgstr "" + +#: terminal/serializers/applet_host.py:47 +msgid "Existing RDS license" +msgstr "" + +#: terminal/serializers/applet_host.py:48 +msgid "RDS License Server" +msgstr "" + +#: terminal/serializers/applet_host.py:49 +msgid "RDS Licensing Mode" +msgstr "" + +#: terminal/serializers/applet_host.py:51 +msgid "RDS Single Session Per User" +msgstr "" + +#: terminal/serializers/applet_host.py:53 +msgid "RDS Max Disconnection Time (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:55 +msgid "" +"Tips: Set the maximum duration for keeping a disconnected session active on " +"the server (log off the session after 60000 milliseconds)." +msgstr "" + +#: terminal/serializers/applet_host.py:60 +msgid "RDS Remote App Logoff Time Limit (ms)" +msgstr "" + +#: terminal/serializers/applet_host.py:62 +msgid "" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." +msgstr "" + +#: terminal/serializers/applet_host.py:71 terminal/serializers/terminal.py:47 +#: terminal/serializers/virtualapp_provider.py:13 +msgid "Load status" +msgstr "" + +#: terminal/serializers/applet_host.py:85 +msgid "" +"These accounts are used to connect to the published application, the account " +"is now divided into two types, one is dedicated to each account, each user " +"has a private account, the other is public, when the application does not " +"support multiple open and the special has been used, the public account will " +"be used to connect" +msgstr "" + +#: terminal/serializers/applet_host.py:92 +msgid "The number of public accounts created automatically" +msgstr "" + +#: terminal/serializers/applet_host.py:95 +msgid "" +"Connect to the host using the same account first. For security reasons, " +"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " +"restart the service to enable it." +msgstr "" + +#: terminal/serializers/command.py:19 +msgid "Session ID" +msgstr "" + +#: terminal/serializers/command.py:41 +msgid "Command Filter ACL" +msgstr "" + +#: terminal/serializers/command.py:44 +msgid "Command Group" +msgstr "" + +#: terminal/serializers/command.py:55 +msgid "Invalid command filter ACL id" +msgstr "" + +#: terminal/serializers/command.py:59 +msgid "Invalid command group id" +msgstr "" + +#: terminal/serializers/command.py:63 +msgid "Invalid session id" +msgstr "" + +#: terminal/serializers/command.py:72 +msgid "Account " +msgstr "" + +#: terminal/serializers/command.py:74 +msgid "Timestamp" +msgstr "" + +#: terminal/serializers/endpoint.py:15 +msgid "Oracle port" +msgstr "" + +#: terminal/serializers/endpoint.py:18 +msgid "Oracle port range" +msgstr "" + +#: terminal/serializers/endpoint.py:20 +msgid "" +"Oracle proxy server listen port is dynamic, Each additional Oracle database " +"instance adds a port listener" +msgstr "" + +#: terminal/serializers/endpoint.py:38 +msgid "" +"The host address accessed when connecting to assets, if it is empty, the " +"access address of the current browser will be used (the default endpoint " +"does not allow modification of the host)" +msgstr "" + +#: terminal/serializers/endpoint.py:64 +msgid "" +"The assets within this IP range, the following endpoint will be used for the " +"connection" +msgstr "" + +#: terminal/serializers/endpoint.py:65 +msgid "" +"If asset IP addresses under different endpoints conflict, use asset labels" +msgstr "" + +#: terminal/serializers/endpoint.py:69 +msgid "Asset IP" +msgstr "" + +#: terminal/serializers/session.py:23 terminal/serializers/session.py:50 +msgid "Can replay" +msgstr "" + +#: terminal/serializers/session.py:24 terminal/serializers/session.py:51 +msgid "Can join" +msgstr "" + +#: terminal/serializers/session.py:25 terminal/serializers/session.py:54 +msgid "Can terminate" +msgstr "" + +#: terminal/serializers/session.py:46 +msgid "User ID" +msgstr "" + +#: terminal/serializers/session.py:47 +msgid "Asset ID" +msgstr "" + +#: terminal/serializers/session.py:48 +msgid "Login from display" +msgstr "" + +#: terminal/serializers/session.py:55 +msgid "Terminal display" +msgstr "" + +#: terminal/serializers/storage.py:23 +msgid "Endpoint invalid: remove path `{}`" +msgstr "" + +#: terminal/serializers/storage.py:29 +msgid "Bucket" +msgstr "" + +#: terminal/serializers/storage.py:33 +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "" + +#: terminal/serializers/storage.py:37 +#: xpack/plugins/cloud/serializers/account_attrs.py:20 +msgid "Access key secret" +msgstr "" + +#: terminal/serializers/storage.py:68 xpack/plugins/cloud/models.py:253 +msgid "Region" +msgstr "" + +#: terminal/serializers/storage.py:112 +msgid "Container name" +msgstr "" + +#: terminal/serializers/storage.py:115 +msgid "Account key" +msgstr "" + +#: terminal/serializers/storage.py:118 +msgid "Endpoint suffix" +msgstr "" + +#: terminal/serializers/storage.py:129 +msgid "HOST" +msgstr "" + +#: terminal/serializers/storage.py:146 users/models/user.py:830 +#: xpack/plugins/cloud/serializers/account_attrs.py:213 +msgid "Private key" +msgstr "" + +#: terminal/serializers/storage.py:173 +msgid "The address cannot contain the special character `#`" +msgstr "" + +#: terminal/serializers/storage.py:175 +msgid "The address format is incorrect" +msgstr "" + +#: terminal/serializers/storage.py:182 +msgid "Host invalid" +msgstr "" + +#: terminal/serializers/storage.py:185 +msgid "Port invalid" +msgstr "" + +#: terminal/serializers/storage.py:200 +msgid "Index by date" +msgstr "" + +#: terminal/serializers/storage.py:201 +msgid "Whether to create an index by date" +msgstr "" + +#: terminal/serializers/storage.py:204 +msgid "Index" +msgstr "" + +#: terminal/serializers/storage.py:206 +msgid "Doc type" +msgstr "" + +#: terminal/serializers/task.py:9 +msgid "Session id" +msgstr "" + +#: terminal/serializers/terminal.py:42 +msgid "Online sessions" +msgstr "" + +#: terminal/serializers/terminal.py:43 +#, fuzzy +#| msgid "Alive" +msgid "Is alive" +msgstr "Alive" + +#: terminal/serializers/terminal.py:49 +msgid "Stat" +msgstr "" + +#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 +msgid "Not found" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:26 +msgid "Container ID" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:27 +msgid "Container Image" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:28 +msgid "Container Name" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:29 +msgid "Container Status" +msgstr "" + +#: terminal/serializers/virtualapp_provider.py:30 +msgid "Container Ports" +msgstr "" + +#: terminal/tasks.py:33 +msgid "Periodic delete terminal status" +msgstr "" + +#: terminal/tasks.py:42 +msgid "Clean orphan session" +msgstr "" + +#: terminal/tasks.py:91 +msgid "Run applet host deployment" +msgstr "" + +#: terminal/tasks.py:101 +msgid "Install applet" +msgstr "" + +#: terminal/tasks.py:112 +msgid "Generate applet host accounts" +msgstr "" + +#: terminal/tasks.py:124 +msgid "Check command replay storage connectivity" +msgstr "" + +#: terminal/templates/terminal/_msg_command_alert.html:10 +msgid "view" +msgstr "" + +#: terminal/utils/db_port_mapper.py:85 +msgid "" +"No available port is matched. The number of databases may have exceeded the " +"number of ports open to the database agent service, Contact the " +"administrator to open more ports." +msgstr "" + +#: terminal/utils/db_port_mapper.py:113 +msgid "" +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." +msgstr "" + +#: terminal/utils/db_port_mapper.py:115 +msgid "All available port count: {}, Already use port count: {}" +msgstr "" + +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:288 +msgid "Applicant" +msgstr "" + +#: tickets/apps.py:7 +msgid "App Tickets" +msgstr "" + +#: tickets/const.py:9 +msgid "Apply for asset" +msgstr "" + +#: tickets/const.py:16 tickets/const.py:24 tickets/const.py:43 +msgid "Open" +msgstr "" + +#: tickets/const.py:18 tickets/const.py:31 +msgid "Reopen" +msgstr "" + +#: tickets/const.py:19 tickets/const.py:32 +msgid "Approved" +msgstr "" + +#: tickets/const.py:20 tickets/const.py:33 +msgid "Rejected" +msgstr "" + +#: tickets/const.py:30 tickets/const.py:38 +msgid "Closed" +msgstr "" + +#: tickets/const.py:50 +msgid "One level" +msgstr "" + +#: tickets/const.py:51 +msgid "Two level" +msgstr "" + +#: tickets/const.py:55 +msgid "Org admin" +msgstr "" + +#: tickets/const.py:56 +msgid "Custom user" +msgstr "" + +#: tickets/const.py:57 +msgid "Super admin" +msgstr "" + +#: tickets/const.py:58 +msgid "Super admin and org admin" +msgstr "" + +#: tickets/errors.py:9 +msgid "Ticket already closed" +msgstr "" + +#: tickets/handlers/apply_asset.py:36 +msgid "" +"Created by the ticket ticket title: {} ticket applicant: {} ticket " +"processor: {} ticket ID: {}" +msgstr "" + +#: tickets/handlers/base.py:85 +msgid "Change field" +msgstr "" + +#: tickets/handlers/base.py:85 +msgid "Before change" +msgstr "" + +#: tickets/handlers/base.py:85 +msgid "After change" +msgstr "" + +#: tickets/handlers/base.py:97 +msgid "{} {} the ticket" +msgstr "" + +#: tickets/models/comment.py:14 +msgid "common" +msgstr "" + +#: tickets/models/comment.py:23 +msgid "User display name" +msgstr "" + +#: tickets/models/comment.py:24 +msgid "Body" +msgstr "" + +#: tickets/models/flow.py:19 tickets/models/flow.py:61 +#: tickets/models/ticket/general.py:41 +msgid "Approve level" +msgstr "" + +#: tickets/models/flow.py:24 tickets/serializers/flow.py:17 +msgid "Approve strategy" +msgstr "" + +#: tickets/models/flow.py:29 tickets/serializers/flow.py:19 +msgid "Assignees" +msgstr "" + +#: tickets/models/flow.py:33 +msgid "Ticket flow approval rule" +msgstr "" + +#: tickets/models/flow.py:66 +msgid "Ticket flow" +msgstr "" + +#: tickets/models/relation.py:12 +msgid "Ticket session relation" +msgstr "" + +#: tickets/models/ticket/apply_application.py:10 +#: tickets/models/ticket/apply_asset.py:13 +msgid "Permission name" +msgstr "" + +#: tickets/models/ticket/apply_application.py:19 +msgid "Apply applications" +msgstr "" + +#: tickets/models/ticket/apply_application.py:22 +msgid "Apply system users" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 +msgid "Select at least one asset or node" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:17 +msgid "Apply accounts" +msgstr "" + +#: tickets/models/ticket/apply_asset.py:26 +msgid "Apply Asset Ticket" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:9 +msgid "Run user" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:11 +msgid "Run asset" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:12 +msgid "Run command" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:19 +msgid "Command filter acl" +msgstr "" + +#: tickets/models/ticket/command_confirm.py:23 +msgid "Apply Command Ticket" +msgstr "" + +#: tickets/models/ticket/general.py:76 +msgid "Ticket step" +msgstr "" + +#: tickets/models/ticket/general.py:94 +msgid "Ticket assignee" +msgstr "" + +#: tickets/models/ticket/general.py:272 +msgid "Title" +msgstr "" + +#: tickets/models/ticket/general.py:292 +msgid "TicketFlow" +msgstr "" + +#: tickets/models/ticket/general.py:295 +msgid "Approval step" +msgstr "" + +#: tickets/models/ticket/general.py:298 +msgid "Relation snapshot" +msgstr "" + +#: tickets/models/ticket/general.py:401 +msgid "Please try again" +msgstr "" + +#: tickets/models/ticket/general.py:470 +msgid "Super ticket" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:11 +msgid "Login user" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:14 +msgid "Login asset" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:17 +msgid "Login account" +msgstr "" + +#: tickets/models/ticket/login_asset_confirm.py:27 +msgid "Apply Login Asset Ticket" +msgstr "" + +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login datetime" +msgstr "" + +#: tickets/models/ticket/login_confirm.py:15 +msgid "Apply Login Ticket" +msgstr "" + +#: tickets/notifications.py:63 +msgid "Ticket basic info" +msgstr "" + +#: tickets/notifications.py:64 +msgid "Ticket applied info" +msgstr "" + +#: tickets/notifications.py:111 +msgid "Your has a new ticket, applicant - {}" +msgstr "" + +#: tickets/notifications.py:115 +msgid "{}: New Ticket - {} ({})" +msgstr "" + +#: tickets/notifications.py:159 +msgid "Your ticket has been processed, processor - {}" +msgstr "" + +#: tickets/notifications.py:163 +msgid "Ticket has processed - {} ({})" +msgstr "" + +#: tickets/serializers/flow.py:20 +msgid "Assignees display" +msgstr "" + +#: tickets/serializers/flow.py:46 +msgid "Please select the Assignees" +msgstr "" + +#: tickets/serializers/flow.py:74 +msgid "The current organization type already exists" +msgstr "" + +#: tickets/serializers/super_ticket.py:15 +msgid "Processor" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:16 +msgid "Support fuzzy search, and display up to 10 items" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:22 +msgid "Apply assets" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:26 +msgid "Apply nodes" +msgstr "" + +#: tickets/serializers/ticket/apply_asset.py:28 +msgid "Apply actions" +msgstr "" + +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:75 +msgid "Created by ticket ({}-{})" +msgstr "" + +#: tickets/serializers/ticket/common.py:67 +msgid "The expiration date should be greater than the start date" +msgstr "" + +#: tickets/serializers/ticket/common.py:82 +msgid "Permission named `{}` already exists" +msgstr "" + +#: tickets/serializers/ticket/ticket.py:89 +msgid "The ticket flow `{}` does not exist" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:21 +msgid "View details" +msgstr "" + +#: tickets/templates/tickets/_msg_ticket.html:26 +msgid "Direct approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:11 +msgid "Ticket information" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:28 +#: tickets/views/approve.py:40 tickets/views/approve.py:77 +msgid "Ticket approval" +msgstr "" + +#: tickets/templates/tickets/approve_check_password.html:43 +msgid "Approval" +msgstr "" + +#: tickets/views/approve.py:41 +msgid "" +"This ticket does not exist, the process has ended, or this link has expired" +msgstr "" + +#: tickets/views/approve.py:69 +msgid "Click the button below to approve or reject" +msgstr "" + +#: tickets/views/approve.py:78 +msgid "After successful authentication, this ticket can be approved directly" +msgstr "" + +#: tickets/views/approve.py:95 +msgid "Illegal approval action" +msgstr "" + +#: tickets/views/approve.py:108 +msgid "This user is not authorized to approve this ticket" +msgstr "" + +#: users/api/user.py:137 +msgid "Can not invite self" +msgstr "" + +#: users/api/user.py:190 +msgid "Could not reset self otp, use profile reset instead" +msgstr "" + +#: users/apps.py:9 +msgid "App Users" +msgstr "" + +#: users/const.py:10 +msgid "System administrator" +msgstr "" + +#: users/const.py:11 +msgid "System auditor" +msgstr "" + +#: users/const.py:12 +msgid "Organization administrator" +msgstr "" + +#: users/const.py:13 +msgid "Organization auditor" +msgstr "" + +#: users/const.py:18 +msgid "Reset link will be generated and sent to the user" +msgstr "" + +#: users/const.py:19 +msgid "Set password" +msgstr "" + +#: users/const.py:23 +msgid "AUTO" +msgstr "" + +#: users/const.py:31 +msgid "Full screen" +msgstr "" + +#: users/const.py:32 +msgid "Multi screen" +msgstr "" + +#: users/const.py:33 +msgid "Drives redirect" +msgstr "" + +#: users/const.py:64 +msgid "Replace" +msgstr "" + +#: users/const.py:65 +msgid "Suffix" +msgstr "" + +#: users/exceptions.py:10 +msgid "MFA not enabled" +msgstr "" + +#: users/exceptions.py:20 +msgid "Unable to delete all users" +msgstr "" + +#: users/forms/profile.py:50 +msgid "" +"When enabled, you will enter the MFA binding process the next time you log " +"in. you can also directly bind in \"personal information -> quick " +"modification -> change MFA Settings\"!" +msgstr "" + +#: users/forms/profile.py:61 +msgid "* Enable MFA to make the account more secure." +msgstr "" + +#: users/forms/profile.py:70 +msgid "" +"In order to protect you and your company, please keep your account, password " +"and key sensitive information properly. (for example: setting complex " +"password, enabling MFA)" +msgstr "" + +#: users/forms/profile.py:77 +msgid "Finish" +msgstr "" + +#: users/forms/profile.py:84 +msgid "New password" +msgstr "" + +#: users/forms/profile.py:89 +msgid "Confirm password" +msgstr "" + +#: users/forms/profile.py:97 +msgid "Password does not match" +msgstr "" + +#: users/forms/profile.py:105 +msgid "The phone number must contain an area code, for example, +86" +msgstr "" + +#: users/forms/profile.py:121 +msgid "Old password" +msgstr "" + +#: users/forms/profile.py:131 +msgid "Old password error" +msgstr "" + +#: users/forms/profile.py:141 +msgid "Automatically configure and download the SSH key" +msgstr "" + +#: users/forms/profile.py:143 +msgid "ssh public key" +msgstr "" + +#: users/forms/profile.py:144 +msgid "ssh-rsa AAAA..." +msgstr "" + +#: users/forms/profile.py:145 +msgid "Paste your id_rsa.pub here." +msgstr "" + +#: users/forms/profile.py:158 +msgid "Public key should not be the same as your old one." +msgstr "" + +#: users/forms/profile.py:162 users/serializers/profile.py:76 +#: users/serializers/profile.py:164 users/serializers/profile.py:191 +msgid "Not a valid ssh public key" +msgstr "" + +#: users/forms/profile.py:173 users/models/user.py:833 +#: xpack/plugins/cloud/serializers/account_attrs.py:210 +msgid "Public key" +msgstr "" + +#: users/models/preference.py:38 +msgid "Preference" +msgstr "" + +#: users/models/user.py:646 users/serializers/profile.py:94 +msgid "Force enable" +msgstr "" + +#: users/models/user.py:812 users/serializers/user.py:175 +#, fuzzy +#| msgid "Service account" +msgid "Is service account" +msgstr "Service account" + +#: users/models/user.py:814 +msgid "Avatar" +msgstr "" + +#: users/models/user.py:817 +msgid "Wechat" +msgstr "" + +#: users/models/user.py:820 users/serializers/user.py:106 +msgid "Phone" +msgstr "" + +#: users/models/user.py:826 +msgid "OTP secret key" +msgstr "" + +#: users/models/user.py:838 users/serializers/profile.py:128 +#: users/serializers/user.py:172 +#, fuzzy +#| msgid "First login" +msgid "Is first login" +msgstr "First login" + +#: users/models/user.py:848 +msgid "Date password last updated" +msgstr "" + +#: users/models/user.py:851 +msgid "Need update password" +msgstr "" + +#: users/models/user.py:853 +msgid "Date api key used" +msgstr "" + +#: users/models/user.py:985 +msgid "Can not delete admin user" +msgstr "" + +#: users/models/user.py:1012 +msgid "Can invite user" +msgstr "" + +#: users/models/user.py:1013 +msgid "Can remove user" +msgstr "" + +#: users/models/user.py:1014 +msgid "Can match user" +msgstr "" + +#: users/models/user.py:1023 +msgid "Administrator" +msgstr "" + +#: users/models/user.py:1026 +msgid "Administrator is the super user of system" +msgstr "" + +#: users/models/user.py:1051 +msgid "User password history" +msgstr "" + +#: users/notifications.py:55 +#: users/templates/users/_msg_password_expire_reminder.html:17 +#: users/templates/users/reset_password.html:5 +#: users/templates/users/reset_password.html:6 +msgid "Reset password" +msgstr "" + +#: users/notifications.py:85 users/views/profile/reset.py:230 +msgid "Reset password success" +msgstr "" + +#: users/notifications.py:117 +msgid "Reset public key success" +msgstr "" + +#: users/notifications.py:143 +msgid "Password is about expire" +msgstr "" + +#: users/notifications.py:171 +msgid "Account is about expire" +msgstr "" + +#: users/notifications.py:193 +msgid "Reset SSH Key" +msgstr "" + +#: users/notifications.py:214 +msgid "Reset MFA" +msgstr "" + +#: users/serializers/preference/koko.py:10 +msgid "File name conflict resolution" +msgstr "" + +#: users/serializers/preference/koko.py:14 +msgid "Terminal theme name" +msgstr "" + +#: users/serializers/preference/lina.py:13 +msgid "New file encryption password" +msgstr "" + +#: users/serializers/preference/lina.py:18 +msgid "Confirm file encryption password" +msgstr "" + +#: users/serializers/preference/lina.py:31 users/serializers/profile.py:48 +msgid "The newly set password is inconsistent" +msgstr "" + +#: users/serializers/preference/luna.py:26 +msgid "Async loading of asset tree" +msgstr "" + +#: users/serializers/preference/luna.py:33 +msgid "RDP resolution" +msgstr "" + +#: users/serializers/preference/luna.py:37 +msgid "Keyboard layout" +msgstr "" + +#: users/serializers/preference/luna.py:41 +msgid "RDP client option" +msgstr "" + +#: users/serializers/preference/luna.py:45 +msgid "RDP color quality" +msgstr "" + +#: users/serializers/preference/luna.py:49 +msgid "Rdp smart size" +msgstr "" + +#: users/serializers/preference/luna.py:50 +msgid "" +"Determines whether the client computer should scale the content on the " +"remote computer to fit the window size of the client computer when the " +"window is resized." +msgstr "" + +#: users/serializers/preference/luna.py:55 +msgid "Remote application connection method" +msgstr "" + +#: users/serializers/preference/luna.py:62 +msgid "Character terminal font size" +msgstr "" + +#: users/serializers/preference/luna.py:65 +msgid "Backspace as Ctrl+H" +msgstr "" + +#: users/serializers/preference/luna.py:68 +msgid "Right click quickly paste" +msgstr "" + +#: users/serializers/preference/luna.py:74 +msgid "Graphics" +msgstr "" + +#: users/serializers/preference/luna.py:75 +msgid "Command line" +msgstr "" + +#: users/serializers/profile.py:29 +msgid "The old password is incorrect" +msgstr "" + +#: users/serializers/profile.py:36 users/serializers/profile.py:178 +msgid "Password does not match security rules" +msgstr "" + +#: users/serializers/profile.py:40 +msgid "The new password cannot be the last {} passwords" +msgstr "" + +#: users/serializers/user.py:42 +msgid "System roles" +msgstr "" + +#: users/serializers/user.py:46 +msgid "Org roles" +msgstr "" + +#: users/serializers/user.py:90 +msgid "Password strategy" +msgstr "" + +#: users/serializers/user.py:92 +msgid "MFA enabled" +msgstr "" + +#: users/serializers/user.py:94 +msgid "MFA force enabled" +msgstr "" + +#: users/serializers/user.py:96 +msgid "Login blocked" +msgstr "" + +#: users/serializers/user.py:99 users/serializers/user.py:181 +#, fuzzy +#| msgid "OTP bound" +msgid "Is OTP bound" +msgstr "OTP bound" + +#: users/serializers/user.py:101 +msgid "Can public key authentication" +msgstr "" + +#: users/serializers/user.py:166 +msgid "Groups" +msgstr "" + +#: users/serializers/user.py:169 +msgid "Superuser" +msgstr "" + +#: users/serializers/user.py:176 +msgid "Is org admin" +msgstr "Org admin" + +#: users/serializers/user.py:178 +msgid "Avatar url" +msgstr "" + +#: users/serializers/user.py:182 +msgid "MFA level" +msgstr "MFA" + +#: users/serializers/user.py:294 +msgid "" +"For security, only a partial list of users is displayed. You can try to " +"search for more" +msgstr "" + +#: users/serializers/user.py:327 +msgid "name not unique" +msgstr "" + +#: users/signal_handlers.py:32 +msgid "" +"The administrator has enabled \"Only allow existing users to log in\", \n" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" + +#: users/tasks.py:25 +msgid "Check password expired" +msgstr "" + +#: users/tasks.py:39 +msgid "Periodic check password expired" +msgstr "" + +#: users/tasks.py:53 +msgid "Check user expired" +msgstr "" + +#: users/tasks.py:70 +msgid "Periodic check user expired" +msgstr "" + +#: users/tasks.py:84 +msgid "Check unused users" +msgstr "" + +#: users/tasks.py:123 +msgid "The user has not logged in recently and has been disabled." +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:7 +msgid "Your account will expire in" +msgstr "" + +#: users/templates/users/_msg_account_expire_reminder.html:8 +msgid "" +"In order not to affect your normal work, please contact the administrator " +"for confirmation." +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:7 +msgid "Your password will expire in" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:8 +msgid "" +"For your account security, please click on the link below to update your " +"password in time" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:11 +msgid "Click here update password" +msgstr "" + +#: users/templates/users/_msg_password_expire_reminder.html:16 +msgid "If your password has expired, please click the link below to" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:7 +msgid "Your MFA has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:8 +#: users/templates/users/_msg_reset_ssh_key.html:8 +msgid "Please click the link below to set" +msgstr "" + +#: users/templates/users/_msg_reset_mfa.html:11 +#: users/templates/users/_msg_reset_ssh_key.html:11 +msgid "Click here set" +msgstr "" + +#: users/templates/users/_msg_reset_ssh_key.html:7 +msgid "Your ssh public key has been reset by site administrator" +msgstr "" + +#: users/templates/users/_msg_user_created.html:15 +msgid "click here to set your password" +msgstr "" + +#: users/templates/users/forgot_password.html:32 +msgid "Input your email account, that will send a email to your" +msgstr "" + +#: users/templates/users/forgot_password.html:35 +msgid "" +"Enter your mobile number and a verification code will be sent to your phone" +msgstr "" + +#: users/templates/users/forgot_password.html:57 +msgid "Email account" +msgstr "" + +#: users/templates/users/forgot_password.html:61 +msgid "Mobile number" +msgstr "" + +#: users/templates/users/forgot_password.html:69 +msgid "Send" +msgstr "" + +#: users/templates/users/forgot_password.html:73 +#: users/templates/users/forgot_password_previewing.html:30 +msgid "Submit" +msgstr "" + +#: users/templates/users/forgot_password_previewing.html:21 +msgid "Please enter the username for which you want to retrieve the password" +msgstr "" + +#: users/templates/users/mfa_setting.html:24 +msgid "Enable MFA" +msgstr "" + +#: users/templates/users/mfa_setting.html:30 +msgid "MFA force enable, cannot disable" +msgstr "" + +#: users/templates/users/mfa_setting.html:48 +msgid "MFA setting" +msgstr "" + +#: users/templates/users/mfa_setting.html:61 +msgid "Reset" +msgstr "" + +#: users/templates/users/reset_password.html:23 +msgid "Your password must satisfy" +msgstr "" + +#: users/templates/users/reset_password.html:24 +msgid "Password strength" +msgstr "" + +#: users/templates/users/reset_password.html:48 +msgid "Very weak" +msgstr "" + +#: users/templates/users/reset_password.html:49 +msgid "Weak" +msgstr "" + +#: users/templates/users/reset_password.html:51 +msgid "Medium" +msgstr "" + +#: users/templates/users/reset_password.html:52 +msgid "Strong" +msgstr "" + +#: users/templates/users/reset_password.html:53 +msgid "Very strong" +msgstr "" + +#: users/templates/users/user_otp_check_password.html:6 +msgid "Enable OTP" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:6 +msgid "Bind one-time password authenticator" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:13 +msgid "" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" +msgstr "" + +#: users/templates/users/user_otp_enable_bind.html:22 +#: users/templates/users/user_verify_mfa.html:27 +msgid "Six figures" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:6 +msgid "Install app" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:13 +msgid "" +"Download and install the MFA Authenticator application on your phone or " +"applet of WeChat" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:18 +msgid "Android downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:23 +msgid "iPhone downloads" +msgstr "" + +#: users/templates/users/user_otp_enable_install_app.html:26 +msgid "" +"After installation, click the next step to enter the binding page (if " +"installed, go to the next step directly)." +msgstr "" + +#: users/templates/users/user_password_verify.html:8 +#: users/templates/users/user_password_verify.html:9 +msgid "Verify password" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:9 +msgid "Authenticate" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:15 +msgid "" +"The account protection has been opened, please complete the following " +"operations according to the prompts" +msgstr "" + +#: users/templates/users/user_verify_mfa.html:17 +msgid "Open MFA Authenticator and enter the 6-bit dynamic code" +msgstr "" + +#: users/views/profile/otp.py:85 +msgid "Already bound" +msgstr "" + +#: users/views/profile/otp.py:86 +msgid "MFA already bound, disable first, then bound" +msgstr "" + +#: users/views/profile/otp.py:113 +msgid "OTP enable success" +msgstr "" + +#: users/views/profile/otp.py:114 +msgid "OTP enable success, return login page" +msgstr "" + +#: users/views/profile/otp.py:156 +msgid "Disable OTP" +msgstr "" + +#: users/views/profile/otp.py:162 +msgid "OTP disable success" +msgstr "" + +#: users/views/profile/otp.py:163 +msgid "OTP disable success, return login page" +msgstr "" + +#: users/views/profile/password.py:33 users/views/profile/password.py:38 +msgid "Password invalid" +msgstr "" + +#: users/views/profile/reset.py:65 +msgid "" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" +msgstr "" + +#: users/views/profile/reset.py:185 users/views/profile/reset.py:196 +msgid "Token invalid or expired" +msgstr "" + +#: users/views/profile/reset.py:201 +msgid "User auth from {}, go there change password" +msgstr "" + +#: users/views/profile/reset.py:208 +msgid "* Your password does not meet the requirements" +msgstr "" + +#: users/views/profile/reset.py:214 +msgid "* The new password cannot be the last {} passwords" +msgstr "" + +#: users/views/profile/reset.py:231 +msgid "Reset password success, return to login page" +msgstr "" + +#: xpack/apps.py:8 +msgid "XPACK" +msgstr "" + +#: xpack/exceptions.py:7 +msgid "" +"The current task is not synchronized with unmatched policy assets, skipping" +msgstr "" + +#: xpack/plugins/cloud/api.py:56 +msgid "Test connection successful" +msgstr "" + +#: xpack/plugins/cloud/api.py:58 +msgid "Test connection failed: {}" +msgstr "" + +#: xpack/plugins/cloud/const.py:8 +msgid "Alibaba Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:9 +msgid "AWS (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:10 +msgid "AWS (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:11 +msgid "Azure (China)" +msgstr "" + +#: xpack/plugins/cloud/const.py:12 +msgid "Azure (International)" +msgstr "" + +#: xpack/plugins/cloud/const.py:14 +msgid "Baidu Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:15 +msgid "JD Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:16 +msgid "KingSoft Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:17 +msgid "Tencent Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:18 +msgid "Tencent Cloud (Lighthouse)" +msgstr "" + +#: xpack/plugins/cloud/const.py:19 +msgid "Google Cloud Platform" +msgstr "" + +#: xpack/plugins/cloud/const.py:20 +msgid "UCloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:22 +msgid "VMware" +msgstr "" + +#: xpack/plugins/cloud/const.py:23 xpack/plugins/cloud/providers/nutanix.py:15 +msgid "Nutanix" +msgstr "" + +#: xpack/plugins/cloud/const.py:24 +msgid "Huawei Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:25 +msgid "Qingyun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:26 +msgid "CTYun Private Cloud" +msgstr "" + +#: xpack/plugins/cloud/const.py:27 +msgid "OpenStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:28 xpack/plugins/cloud/providers/zstack.py:21 +msgid "ZStack" +msgstr "" + +#: xpack/plugins/cloud/const.py:29 +msgid "Fusion Compute" +msgstr "" + +#: xpack/plugins/cloud/const.py:30 +msgid "SCP" +msgstr "" + +#: xpack/plugins/cloud/const.py:31 +msgid "Apsara Stack" +msgstr "" + +#: xpack/plugins/cloud/const.py:36 +msgid "Private IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:37 +msgid "Public IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:41 xpack/plugins/cloud/models.py:303 +msgid "Instance name" +msgstr "" + +#: xpack/plugins/cloud/const.py:42 +msgid "Instance name and Partial IP" +msgstr "" + +#: xpack/plugins/cloud/const.py:47 +msgid "Succeed" +msgstr "" + +#: xpack/plugins/cloud/const.py:51 +msgid "Unsync" +msgstr "" + +#: xpack/plugins/cloud/const.py:52 +msgid "New Sync" +msgstr "" + +#: xpack/plugins/cloud/const.py:53 +msgid "Synced" +msgstr "" + +#: xpack/plugins/cloud/const.py:54 +msgid "Released" +msgstr "" + +#: xpack/plugins/cloud/const.py:58 +msgid "And" +msgstr "" + +#: xpack/plugins/cloud/const.py:59 +msgid "Or" +msgstr "" + +#: xpack/plugins/cloud/manager.py:56 +msgid "Account unavailable" +msgstr "" + +#: xpack/plugins/cloud/meta.py:9 +msgid "Cloud center" +msgstr "" + +#: xpack/plugins/cloud/models.py:34 +msgid "Provider" +msgstr "" + +#: xpack/plugins/cloud/models.py:38 +msgid "Validity" +msgstr "" + +#: xpack/plugins/cloud/models.py:43 +msgid "Cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:45 +msgid "Test cloud account" +msgstr "" + +#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers/task.py:159 +msgid "Regions" +msgstr "" + +#: xpack/plugins/cloud/models.py:95 +msgid "Hostname strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:100 +#: xpack/plugins/cloud/serializers/task.py:162 +msgid "IP network segment group" +msgstr "" + +#: xpack/plugins/cloud/models.py:103 +#: xpack/plugins/cloud/serializers/task.py:167 +msgid "Sync IP type" +msgstr "" + +#: xpack/plugins/cloud/models.py:106 +#: xpack/plugins/cloud/serializers/task.py:185 +msgid "Always update" +msgstr "" + +#: xpack/plugins/cloud/models.py:108 +msgid "Fully synchronous" +msgstr "" + +#: xpack/plugins/cloud/models.py:113 +msgid "Date last sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:116 xpack/plugins/cloud/models.py:321 +#: xpack/plugins/cloud/models.py:345 +msgid "Strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:121 xpack/plugins/cloud/models.py:200 +msgid "Sync instance task" +msgstr "" + +#: xpack/plugins/cloud/models.py:211 xpack/plugins/cloud/models.py:263 +msgid "Date sync" +msgstr "" + +#: xpack/plugins/cloud/models.py:215 +msgid "Sync instance snapshot" +msgstr "" + +#: xpack/plugins/cloud/models.py:219 +msgid "Sync instance task execution" +msgstr "" + +#: xpack/plugins/cloud/models.py:243 +msgid "Sync task" +msgstr "" + +#: xpack/plugins/cloud/models.py:247 +msgid "Sync instance task history" +msgstr "" + +#: xpack/plugins/cloud/models.py:250 +msgid "Instance" +msgstr "" + +#: xpack/plugins/cloud/models.py:267 +msgid "Sync instance detail" +msgstr "" + +#: xpack/plugins/cloud/models.py:279 xpack/plugins/cloud/serializers/task.py:72 +msgid "Rule relation" +msgstr "" + +#: xpack/plugins/cloud/models.py:288 +msgid "Task strategy" +msgstr "" + +#: xpack/plugins/cloud/models.py:292 +msgid "Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:293 +msgid "Not Equal" +msgstr "" + +#: xpack/plugins/cloud/models.py:294 +msgid "In" +msgstr "" + +#: xpack/plugins/cloud/models.py:295 +msgid "Contains" +msgstr "" + +#: xpack/plugins/cloud/models.py:296 +msgid "Exclude" +msgstr "" + +#: xpack/plugins/cloud/models.py:297 +msgid "Startswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:298 +msgid "Endswith" +msgstr "" + +#: xpack/plugins/cloud/models.py:304 +msgid "Instance platform" +msgstr "" + +#: xpack/plugins/cloud/models.py:305 +msgid "Instance address" +msgstr "" + +#: xpack/plugins/cloud/models.py:312 +msgid "Rule attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:316 +msgid "Rule match" +msgstr "" + +#: xpack/plugins/cloud/models.py:318 +msgid "Rule value" +msgstr "" + +#: xpack/plugins/cloud/models.py:325 xpack/plugins/cloud/serializers/task.py:75 +msgid "Strategy rule" +msgstr "" + +#: xpack/plugins/cloud/models.py:340 +msgid "Action attr" +msgstr "" + +#: xpack/plugins/cloud/models.py:342 +msgid "Action value" +msgstr "" + +#: xpack/plugins/cloud/models.py:349 xpack/plugins/cloud/serializers/task.py:78 +msgid "Strategy action" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:18 +msgid "China (Beijing)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:19 +msgid "China (Ningxia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:22 +msgid "US East (Ohio)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:23 +msgid "US East (N. Virginia)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:24 +msgid "US West (N. California)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:25 +msgid "US West (Oregon)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:26 +msgid "Africa (Cape Town)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:27 +msgid "Asia Pacific (Hong Kong)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:28 +msgid "Asia Pacific (Mumbai)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:29 +msgid "Asia Pacific (Osaka-Local)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:30 +msgid "Asia Pacific (Seoul)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:31 +msgid "Asia Pacific (Singapore)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:32 +msgid "Asia Pacific (Sydney)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:33 +msgid "Asia Pacific (Tokyo)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:34 +msgid "Canada (Central)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:35 +msgid "Europe (Frankfurt)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:36 +msgid "Europe (Ireland)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:37 +msgid "Europe (London)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:38 +msgid "Europe (Milan)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:39 +msgid "Europe (Paris)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:40 +msgid "Europe (Stockholm)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:41 +msgid "Middle East (Bahrain)" +msgstr "" + +#: xpack/plugins/cloud/providers/aws_international.py:42 +msgid "South America (São Paulo)" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:54 +#: xpack/plugins/cloud/providers/jdcloud.py:125 +msgid "CN North-Beijing" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:55 +#: xpack/plugins/cloud/providers/huaweicloud.py:42 +#: xpack/plugins/cloud/providers/jdcloud.py:128 +msgid "CN South-Guangzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:56 +msgid "CN East-Suzhou" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:57 +#: xpack/plugins/cloud/providers/huaweicloud.py:49 +msgid "CN-Hong Kong" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:58 +msgid "CN Center-Wuhan" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:59 +msgid "CN North-Baoding" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:60 +#: xpack/plugins/cloud/providers/jdcloud.py:127 +msgid "CN East-Shanghai" +msgstr "" + +#: xpack/plugins/cloud/providers/baiducloud.py:61 +#: xpack/plugins/cloud/providers/huaweicloud.py:51 +msgid "AP-Singapore" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:39 +msgid "CN North-Beijing1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:40 +msgid "CN North-Beijing4" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:41 +msgid "CN North-Ulanqab1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:43 +msgid "CN South-Shenzhen" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:44 +msgid "CN South-Guangzhou-InvitationOnly" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:45 +msgid "CN East-Shanghai2" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:46 +msgid "CN East-Shanghai1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:48 +msgid "CN Southwest-Guiyang1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:50 +msgid "AP-Bangkok" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:53 +msgid "AF-Johannesburg" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:54 +msgid "LA-Mexico City1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:55 +msgid "LA-Santiago" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:56 +msgid "LA-Sao Paulo1" +msgstr "" + +#: xpack/plugins/cloud/providers/huaweicloud.py:58 +msgid "TR-Istanbul" +msgstr "" + +#: xpack/plugins/cloud/providers/jdcloud.py:126 +msgid "CN East-Suqian" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:68 +msgid "Validity display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account.py:69 +msgid "Provider display" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:35 +msgid "Client ID" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:41 +msgid "Tenant ID" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:44 +msgid "Subscription ID" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:98 +#: xpack/plugins/cloud/serializers/account_attrs.py:102 +#: xpack/plugins/cloud/serializers/account_attrs.py:126 +#: xpack/plugins/cloud/serializers/account_attrs.py:156 +#: xpack/plugins/cloud/serializers/account_attrs.py:206 +msgid "API Endpoint" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "Auth url" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:109 +msgid "eg: http://openstack.example.com:5000/v3" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:112 +msgid "User domain" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:127 +msgid "Cert File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:128 +msgid "Key File" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:144 +msgid "Service account key" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:145 +msgid "The file is in JSON format" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:163 +msgid "IP address invalid `{}`, {}" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:179 +msgid "Such as: 192.168.1.0/24, 10.0.0.0-10.0.0.255" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:182 +msgid "" +"The port is used to detect the validity of the IP address. When the " +"synchronization task is executed, only the valid IP address will be " +"synchronized.
If the port is 0, all IP addresses are valid." +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:190 +msgid "Hostname prefix" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:193 +msgid "IP segment" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:197 +msgid "Test port" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:200 +msgid "Test timeout" +msgstr "" + +#: xpack/plugins/cloud/serializers/account_attrs.py:216 +msgid "Project" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:151 +msgid "" +"Only instances matching the IP range will be synced.
If the instance " +"contains multiple IP addresses, the first IP address that matches will be " +"used as the IP for the created asset.
The default value of * means sync " +"all instances and randomly match IP addresses.
Such as: 192.168.1.0/24, " +"10.1.1.1-10.1.1.20" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:157 +msgid "History count" +msgstr "" + +#: xpack/plugins/cloud/serializers/task.py:158 +msgid "Instance count" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:27 +msgid "Run sync instance task" +msgstr "" + +#: xpack/plugins/cloud/tasks.py:41 +msgid "Period clean sync instance task execution" +msgstr "" + +#: xpack/plugins/interface/api.py:52 +msgid "Restore default successfully." +msgstr "" + +#: xpack/plugins/interface/meta.py:9 +msgid "Interface settings" +msgstr "" + +#: xpack/plugins/interface/models.py:23 +msgid "Title of login page" +msgstr "" + +#: xpack/plugins/interface/models.py:27 +msgid "Image of login page" +msgstr "" + +#: xpack/plugins/interface/models.py:31 +msgid "Website icon" +msgstr "" + +#: xpack/plugins/interface/models.py:35 +msgid "Logo of management page" +msgstr "" + +#: xpack/plugins/interface/models.py:39 +msgid "Logo of logout page" +msgstr "" + +#: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 +msgid "Theme" +msgstr "" + +#: xpack/plugins/interface/models.py:42 +msgid "Beian link" +msgstr "" + +#: xpack/plugins/interface/models.py:43 +msgid "Beian text" +msgstr "" + +#: xpack/plugins/interface/models.py:46 xpack/plugins/interface/models.py:87 +msgid "Interface setting" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + +#: xpack/plugins/license/api.py:52 +msgid "License import successfully" +msgstr "" + +#: xpack/plugins/license/api.py:53 +msgid "License is invalid" +msgstr "" + +#: xpack/plugins/license/meta.py:10 xpack/plugins/license/models.py:144 +msgid "License" +msgstr "" + +#: xpack/plugins/license/models.py:80 +msgid "Basic edition" +msgstr "" + +#: xpack/plugins/license/models.py:82 +msgid "Standard edition" +msgstr "" + +#: xpack/plugins/license/models.py:84 +msgid "Professional edition" +msgstr "" + +#: xpack/plugins/license/models.py:86 +msgid "Ultimate edition" +msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index ffa670794..41d45e196 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0778092e58577ae2dafca3771481323420aef21ac917a29d302f4623f6523598 -size 171209 +oid sha256:a57ad4a418754f6e29a79e49e6fa8375e158a000331b1d5ee32d1d0eefceb5c0 +size 170096 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 968052f73..06b27d1a8 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-03 11:23+0800\n" +"POT-Creation-Date: 2024-02-02 11:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,8 +29,9 @@ msgstr "パラメータ 'action' は [{}] でなければなりません。" #: authentication/confirm/password.py:26 authentication/forms.py:32 #: authentication/templates/authentication/login.html:330 #: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:47 -#: terminal/serializers/storage.py:123 terminal/serializers/storage.py:142 -#: users/forms/profile.py:22 users/serializers/user.py:104 +#: settings/serializers/msg.py:35 terminal/serializers/storage.py:123 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:104 #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:28 @@ -200,10 +201,10 @@ msgstr "作成のみ" #: authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 -#: settings/serializers/msg.py:57 users/forms/profile.py:102 +#: settings/serializers/msg.py:64 users/forms/profile.py:102 #: users/forms/profile.py:109 users/models/user.py:802 #: users/templates/users/forgot_password.html:117 -#: users/views/profile/reset.py:92 +#: users/views/profile/reset.py:93 msgid "Email" msgstr "メール" @@ -240,8 +241,8 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: accounts/models/account.py:49 #: accounts/models/automations/gather_account.py:16 -#: accounts/serializers/account/account.py:213 -#: accounts/serializers/account/account.py:258 +#: accounts/serializers/account/account.py:215 +#: accounts/serializers/account/account.py:260 #: accounts/serializers/account/gathered_account.py:10 #: accounts/serializers/automations/change_secret.py:106 #: accounts/serializers/automations/change_secret.py:126 @@ -250,9 +251,9 @@ msgstr "ユーザー %s がパスワードを閲覧/導き出しました" #: assets/models/asset/common.py:350 assets/models/cmd_filter.py:36 #: audits/models.py:58 authentication/models/connection_token.py:36 #: perms/models/asset_permission.py:69 perms/serializers/permission.py:36 -#: terminal/backends/command/models.py:17 -#: terminal/models/session/session.py:31 terminal/notifications.py:155 -#: terminal/serializers/command.py:17 terminal/serializers/session.py:26 +#: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 +#: terminal/notifications.py:155 terminal/serializers/command.py:17 +#: terminal/serializers/session.py:26 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:256 @@ -260,8 +261,8 @@ msgid "Asset" msgstr "資産" #: accounts/models/account.py:53 accounts/models/template.py:16 -#: accounts/serializers/account/account.py:220 -#: accounts/serializers/account/account.py:268 +#: accounts/serializers/account/account.py:222 +#: accounts/serializers/account/account.py:270 #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" @@ -274,7 +275,7 @@ msgstr "から切り替え" msgid "Version" msgstr "バージョン" -#: accounts/models/account.py:57 accounts/serializers/account/account.py:215 +#: accounts/models/account.py:57 accounts/serializers/account/account.py:217 #: users/models/user.py:845 msgid "Source" msgstr "ソース" @@ -286,17 +287,15 @@ msgstr "ソース ID" #: accounts/models/account.py:61 #: accounts/serializers/automations/change_secret.py:107 #: accounts/serializers/automations/change_secret.py:127 -#: acls/serializers/base.py:124 -#: acls/templates/acls/asset_login_reminder.html:7 -#: assets/serializers/asset/common.py:125 assets/serializers/gateway.py:28 +#: acls/serializers/base.py:124 acls/templates/acls/asset_login_reminder.html:7 +#: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:41 terminal/backends/command/models.py:18 -#: terminal/models/session/session.py:33 +#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 +#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 -#: tickets/models/ticket/command_confirm.py:13 -#: xpack/plugins/cloud/models.py:89 +#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 msgid "Account" msgstr "アカウント" @@ -361,7 +360,7 @@ msgstr "アカウントバックアップ計画" #: accounts/models/automations/backup_account.py:119 #: assets/models/automations/base.py:115 audits/models.py:65 -#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:235 +#: ops/models/base.py:55 ops/models/celery.py:65 ops/models/job.py:235 #: ops/templates/ops/celery_task_log.html:75 #: perms/models/asset_permission.py:78 terminal/models/applet/host.py:141 #: terminal/models/session/session.py:44 @@ -381,10 +380,10 @@ msgid "Account backup snapshot" msgstr "アカウントのバックアップスナップショット" #: accounts/models/automations/backup_account.py:130 -#: accounts/serializers/account/backup.py:49 -#: accounts/serializers/automations/base.py:55 +#: accounts/serializers/account/backup.py:48 +#: accounts/serializers/automations/base.py:54 #: assets/models/automations/base.py:122 -#: assets/serializers/automations/base.py:40 +#: assets/serializers/automations/base.py:39 msgid "Trigger mode" msgstr "トリガーモード" @@ -396,7 +395,7 @@ msgstr "理由" #: accounts/models/automations/backup_account.py:135 #: accounts/serializers/automations/change_secret.py:105 #: accounts/serializers/automations/change_secret.py:128 -#: ops/serializers/job.py:64 terminal/serializers/session.py:49 +#: ops/serializers/job.py:67 terminal/serializers/session.py:49 msgid "Is success" msgstr "成功は" @@ -446,7 +445,7 @@ msgstr "SSHキープッシュ方式" #: accounts/models/automations/change_secret.py:15 #: accounts/models/automations/gather_account.py:58 -#: accounts/serializers/account/backup.py:41 +#: accounts/serializers/account/backup.py:40 #: accounts/serializers/automations/change_secret.py:56 msgid "Recipient" msgstr "受信者" @@ -469,7 +468,7 @@ msgstr "開始日" #: accounts/models/automations/change_secret.py:42 #: assets/models/automations/base.py:116 ops/models/base.py:56 -#: ops/models/celery.py:64 ops/models/job.py:236 +#: ops/models/celery.py:66 ops/models/job.py:236 #: terminal/models/applet/host.py:142 msgid "Date finished" msgstr "終了日" @@ -489,7 +488,7 @@ msgid "Status" msgstr "ステータス" #: accounts/models/automations/change_secret.py:44 -#: accounts/serializers/account/account.py:260 assets/const/automation.py:8 +#: accounts/serializers/account/account.py:262 assets/const/automation.py:8 #: authentication/templates/authentication/passkey.html:173 #: authentication/views/base.py:42 authentication/views/base.py:43 #: authentication/views/base.py:44 common/const/choices.py:20 @@ -561,7 +560,7 @@ msgid "Verify asset account" msgstr "アカウントの確認" #: accounts/models/base.py:37 accounts/models/base.py:67 -#: accounts/serializers/account/account.py:440 +#: accounts/serializers/account/account.py:442 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:45 #: authentication/serializers/connect_token_secret.py:42 @@ -595,21 +594,19 @@ msgstr "パスワードルール" #: assets/models/asset/common.py:159 assets/models/cmd_filter.py:21 #: assets/models/domain.py:19 assets/models/group.py:17 #: assets/models/label.py:18 assets/models/platform.py:16 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 -#: assets/serializers/platform.py:118 assets/serializers/platform.py:235 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:149 +#: assets/serializers/platform.py:118 assets/serializers/platform.py:229 #: authentication/backends/passkey/models.py:10 #: authentication/serializers/connect_token_secret.py:113 #: authentication/serializers/connect_token_secret.py:168 labels/models.py:11 #: ops/mixin.py:21 ops/models/adhoc.py:20 ops/models/celery.py:15 -#: ops/models/celery.py:57 ops/models/job.py:136 ops/models/playbook.py:28 +#: ops/models/celery.py:59 ops/models/job.py:136 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:82 -#: terminal/models/applet/applet.py:33 -#: terminal/models/component/endpoint.py:12 +#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 +#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:95 -#: terminal/models/component/storage.py:26 -#: terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:84 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -630,7 +627,7 @@ msgstr "特権アカウント" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:106 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:167 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 msgid "Is active" msgstr "アクティブです。" @@ -672,7 +669,8 @@ msgstr "ユーザーと同じユーザー名" #: accounts/models/virtual.py:36 msgid "Non-asset account, Input username/password on connect" -msgstr "アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" +msgstr "" +"アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" #: accounts/models/virtual.py:37 msgid "The account username name same with user on connect" @@ -682,7 +680,9 @@ msgstr "接続時にユーザー名と同じユーザー名を使用します" msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタイプのアセットのみをサポートします" +msgstr "" +"ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタ" +"イプのアセットのみをサポートします" #: accounts/notifications.py:11 accounts/notifications.py:36 msgid "Notification of account backup route task results" @@ -692,7 +692,9 @@ msgstr "アカウントバックアップルートタスクの結果の通知" msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" -msgstr "{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご覧ください" +msgstr "" +"{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご" +"覧ください" #: accounts/notifications.py:24 msgid "" @@ -700,8 +702,9 @@ msgid "" "password has not been set - please go to personal information -> Basic file " "encryption password for preference settings" msgstr "" -"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " -"プリファレンス設定の基本的なファイル暗号化パスワードの設定" +"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定" +"されていません-個人情報にアクセスしてください-> プリファレンス設定の基本的な" +"ファイル暗号化パスワードの設定" #: accounts/notifications.py:55 msgid "Notification of implementation result of encryption change plan" @@ -719,8 +722,8 @@ msgid "" "has not been set - please go to personal information -> file encryption " "password to set the encryption password" msgstr "" -"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " -"ファイル暗号化パスワードを設定してください" +"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人" +"情報にアクセスしてください-> ファイル暗号化パスワードを設定してください" #: accounts/notifications.py:79 msgid "Gather account change information" @@ -730,30 +733,36 @@ msgstr "アカウント変更情報" msgid "Push now" msgstr "今すぐプッシュ" -#: accounts/serializers/account/account.py:38 +#: accounts/serializers/account/account.py:36 +#, fuzzy +#| msgid "Parameters" +msgid "Params" +msgstr "パラメータ" + +#: accounts/serializers/account/account.py:40 msgid "Exist policy" msgstr "アカウントの存在ポリシー" -#: accounts/serializers/account/account.py:193 applications/models.py:11 +#: accounts/serializers/account/account.py:195 applications/models.py:11 #: assets/models/label.py:21 assets/models/platform.py:96 -#: assets/serializers/asset/common.py:122 assets/serializers/cagegory.py:12 -#: assets/serializers/platform.py:140 assets/serializers/platform.py:236 +#: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 +#: assets/serializers/platform.py:140 assets/serializers/platform.py:230 #: perms/serializers/user_permission.py:26 settings/models.py:35 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "カテゴリ" -#: accounts/serializers/account/account.py:194 -#: accounts/serializers/automations/base.py:54 acls/models/command_acl.py:24 +#: accounts/serializers/account/account.py:196 +#: accounts/serializers/automations/base.py:53 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 applications/models.py:14 #: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/cmd_filter.py:74 assets/models/platform.py:97 -#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:120 +#: assets/serializers/asset/common.py:126 assets/serializers/platform.py:120 #: assets/serializers/platform.py:139 audits/serializers.py:53 #: audits/serializers.py:170 -#: authentication/serializers/connect_token_secret.py:126 -#: ops/models/job.py:144 perms/serializers/user_permission.py:27 -#: terminal/models/applet/applet.py:39 terminal/models/component/storage.py:57 +#: authentication/serializers/connect_token_secret.py:126 ops/models/job.py:144 +#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:39 +#: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/serializers/session.py:21 terminal/serializers/storage.py:264 #: terminal/serializers/storage.py:276 tickets/models/comment.py:26 @@ -763,72 +772,70 @@ msgstr "カテゴリ" msgid "Type" msgstr "タイプ" -#: accounts/serializers/account/account.py:209 +#: accounts/serializers/account/account.py:211 msgid "Asset not found" msgstr "資産が存在しません" -#: accounts/serializers/account/account.py:249 +#: accounts/serializers/account/account.py:251 msgid "Has secret" msgstr "エスクローされたパスワード" -#: accounts/serializers/account/account.py:259 ops/models/celery.py:60 +#: accounts/serializers/account/account.py:261 ops/models/celery.py:62 #: tickets/models/comment.py:13 tickets/models/ticket/general.py:45 #: tickets/models/ticket/general.py:279 tickets/serializers/super_ticket.py:14 #: tickets/serializers/ticket/ticket.py:21 msgid "State" msgstr "状態" -#: accounts/serializers/account/account.py:261 +#: accounts/serializers/account/account.py:263 msgid "Changed" msgstr "編集済み" -#: accounts/serializers/account/account.py:271 +#: accounts/serializers/account/account.py:273 #: accounts/serializers/automations/base.py:22 acls/models/base.py:97 #: acls/templates/acls/asset_login_reminder.html:6 #: assets/models/automations/base.py:19 -#: assets/serializers/automations/base.py:20 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:30 #: authentication/api/connection_token.py:404 ops/models/base.py:17 #: ops/models/job.py:146 ops/serializers/job.py:19 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 msgid "Assets" msgstr "資産" -#: accounts/serializers/account/account.py:326 +#: accounts/serializers/account/account.py:328 msgid "Account already exists" msgstr "アカウントはすでに存在しています" -#: accounts/serializers/account/account.py:376 +#: accounts/serializers/account/account.py:378 #, python-format msgid "Asset does not support this secret type: %s" msgstr "アセットはアカウント タイプをサポートしていません: %s" -#: accounts/serializers/account/account.py:408 +#: accounts/serializers/account/account.py:410 msgid "Account has exist" msgstr "アカウントはすでに存在しています" -#: accounts/serializers/account/account.py:441 +#: accounts/serializers/account/account.py:443 #: authentication/serializers/connect_token_secret.py:159 #: authentication/templates/authentication/_access_key_modal.html:30 #: perms/models/perm_node.py:21 users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:451 acls/serializers/base.py:116 +#: accounts/serializers/account/account.py:453 acls/serializers/base.py:116 #: acls/templates/acls/asset_login_reminder.html:5 #: acls/templates/acls/user_login_reminder.html:5 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 -#: audits/models.py:54 audits/models.py:90 audits/models.py:172 -#: audits/models.py:269 audits/serializers.py:171 -#: authentication/models/connection_token.py:32 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:54 +#: audits/models.py:90 audits/models.py:172 audits/models.py:269 +#: audits/serializers.py:171 authentication/models/connection_token.py:32 #: authentication/models/sso_token.py:16 #: notifications/models/notification.py:12 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 #: perms/serializers/permission.py:32 rbac/builtin.py:124 #: rbac/models/rolebinding.py:49 rbac/serializers/rolebinding.py:17 -#: terminal/backends/command/models.py:16 -#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:34 -#: terminal/notifications.py:156 terminal/notifications.py:205 -#: terminal/serializers/command.py:16 +#: terminal/backends/command/models.py:16 terminal/models/session/session.py:29 +#: terminal/models/session/sharing.py:34 terminal/notifications.py:156 +#: terminal/notifications.py:205 terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 @@ -836,7 +843,7 @@ msgstr "ID" msgid "User" msgstr "ユーザー" -#: accounts/serializers/account/account.py:452 +#: accounts/serializers/account/account.py:454 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:158 terminal/notifications.py:207 msgid "Date" @@ -844,22 +851,15 @@ msgstr "日付" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:36 -#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:104 -#: settings/serializers/auth/ldap.py:66 -msgid "Periodic perform" -msgstr "定期的なパフォーマンス" - -#: accounts/serializers/account/backup.py:39 -#: accounts/serializers/automations/base.py:37 msgid "Executed amount" msgstr "実行回数" -#: accounts/serializers/account/backup.py:42 +#: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:57 msgid "Currently only mail sending is supported" msgstr "現在、メール送信のみがサポートされています" -#: accounts/serializers/account/backup.py:44 +#: accounts/serializers/account/backup.py:43 msgid "Asset type" msgstr "資産タイプ" @@ -868,7 +868,7 @@ msgid "Key password" msgstr "キーパスワード" #: accounts/serializers/account/base.py:78 -#: assets/serializers/asset/common.py:379 +#: assets/serializers/asset/common.py:381 msgid "Spec info" msgstr "特別情報" @@ -877,7 +877,8 @@ msgid "" "Tip: If no username is required for authentication, fill in `null`, If AD " "account, like `username@domain`" msgstr "" -"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの場合は、`username@domain`のようになります。" +"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの" +"場合は、`username@domain`のようになります。" #: accounts/serializers/account/template.py:13 msgid "Password length" @@ -938,21 +939,23 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: 資産シークレット内の同じアカウント > ログインシークレット > " -"手動入力.
セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定してください。 " +"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: " +"資産シークレット内の同じアカウント > ログインシークレット > 手動入力.
" +"セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定して" +"ください。 " #: accounts/serializers/automations/base.py:23 #: assets/serializers/automations/base.py:21 msgid "Nodes" msgstr "ノード" -#: accounts/serializers/automations/base.py:44 +#: accounts/serializers/automations/base.py:43 msgid "Name already exists" msgstr "名前は既に存在します。" -#: accounts/serializers/automations/base.py:53 +#: accounts/serializers/automations/base.py:52 #: assets/models/automations/base.py:118 -#: assets/serializers/automations/base.py:39 +#: assets/serializers/automations/base.py:38 msgid "Automation snapshot" msgstr "自動スナップショット" @@ -975,7 +978,7 @@ msgstr "自動タスク実行履歴" #: accounts/serializers/automations/change_secret.py:149 audits/const.py:61 #: audits/models.py:64 audits/signal_handlers/activity_log.py:33 -#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:46 +#: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:117 msgid "Success" @@ -1050,16 +1053,19 @@ msgstr "アカウントの削除" #: accounts/utils.py:52 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not" -" allowed." -msgstr "パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" +"If the password starts with {{` and ends with }} `, then the password is not " +"allowed." +msgstr "" +"パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" #: accounts/utils.py:59 msgid "private key invalid or passphrase error" msgstr "秘密鍵が無効またはpassphraseエラー" #: acls/apps.py:7 -msgid "Acls" +#, fuzzy +#| msgid "Acls" +msgid "App Acls" msgstr "Acls" #: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:45 @@ -1079,7 +1085,7 @@ msgstr "レビュー担当者" msgid "Warning" msgstr "警告" -#: acls/const.py:10 audits/const.py:35 notifications/apps.py:7 +#: acls/const.py:10 audits/const.py:35 msgid "Notifications" msgstr "通知" @@ -1108,18 +1114,19 @@ msgstr "レビュー担当者" msgid "Active" msgstr "アクティブ" -#: acls/models/base.py:81 users/apps.py:9 users/models/preference.py:16 +#: acls/models/base.py:81 users/models/preference.py:16 +#: users/serializers/user.py:293 msgid "Users" msgstr "ユーザー" #: acls/models/base.py:98 assets/models/automations/base.py:17 -#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:378 -#: perms/serializers/user_permission.py:75 rbac/tree.py:35 +#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 +#: rbac/tree.py:35 msgid "Accounts" msgstr "アカウント" #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 -#: ops/serializers/job.py:63 terminal/const.py:86 +#: ops/serializers/job.py:66 terminal/const.py:86 #: terminal/models/session/session.py:42 terminal/serializers/command.py:18 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 @@ -1213,9 +1220,9 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* はすべて一致することを示します。例: " -"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64" -" (ドメイン名サポート)" +"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" +"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ" +"ポート)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -1243,8 +1250,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* はすべて一致することを示します。例: " -"192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" +"* はすべて一致することを示します。例: 192.168.10.1、192.168.1.0/24、" +"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:33 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -1269,7 +1276,8 @@ msgid "" "authorized operation. If you suspect that this is an unauthorized access, " "please take appropriate measures immediately." msgstr "" -"ユーザーは資産にログインしています。許可されたアクションであることを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" +"ユーザーは資産にログインしています。許可されたアクションであることを確認して" +"ください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" #: acls/templates/acls/asset_login_reminder.html:12 #: acls/templates/acls/user_login_reminder.html:13 @@ -1291,14 +1299,18 @@ msgstr "ユーザーエージェント" #: acls/templates/acls/user_login_reminder.html:11 msgid "" "The user has just successfully logged into the system. Please ensure that " -"this is an authorized operation. If you suspect that this is an unauthorized" -" access, please take appropriate measures immediately." +"this is an authorized operation. If you suspect that this is an unauthorized " +"access, please take appropriate measures immediately." msgstr "" -"ユーザーはシステムに正常にログインしたばかりです。許可されたアクションであることを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取ってください。" +"ユーザーはシステムに正常にログインしたばかりです。許可されたアクションである" +"ことを確認してください。不正アクセスが疑われる場合は、すぐに適切な措置を取っ" +"てください。" #: applications/apps.py:9 -msgid "Applications" -msgstr "アプリケーション" +#, fuzzy +#| msgid "Apply applications" +msgid "App Applications" +msgstr "アプリケーションの適用" #: applications/models.py:16 xpack/plugins/cloud/models.py:37 #: xpack/plugins/cloud/serializers/account.py:67 @@ -1315,7 +1327,9 @@ msgstr "アプリケーションを一致させることができます" #: assets/api/asset/asset.py:179 msgid "Cannot create asset directly, you should create a host or other" -msgstr "資産を直接作成することはできません。ホストまたはその他を作成する必要があります" +msgstr "" +"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" +"す" #: assets/api/domain.py:64 msgid "Number required" @@ -1338,7 +1352,9 @@ msgid "The same level node name cannot be the same" msgstr "同じレベルのノード名を同じにすることはできません。" #: assets/apps.py:9 -msgid "App assets" +#, fuzzy +#| msgid "App assets" +msgid "App Assets" msgstr "アプリ資産" #: assets/automations/base/manager.py:188 @@ -1414,8 +1430,8 @@ msgstr "脚本" #: assets/const/category.py:10 assets/models/asset/host.py:8 #: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:71 -#: settings/serializers/feature.py:49 terminal/models/component/endpoint.py:13 -#: terminal/serializers/applet.py:17 +#: settings/serializers/feature.py:49 settings/serializers/msg.py:31 +#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "ホスト" @@ -1486,7 +1502,9 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントのユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}ユーザーのユーザー名" +"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントの" +"ユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}" +"ユーザーのユーザー名" #: assets/const/protocol.py:66 msgid "Console" @@ -1537,7 +1555,7 @@ msgid "We will consider login success when we see this prompt" msgstr "このプロンプトが表示されたらログイン成功とみなします" #: assets/const/protocol.py:119 assets/models/asset/database.py:10 -#: settings/serializers/msg.py:40 +#: settings/serializers/msg.py:47 msgid "Use SSL" msgstr "SSLの使用" @@ -1566,7 +1584,9 @@ msgstr "安全モード" msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへのアクセスなど、一部の操作が無効になります" +msgstr "" +"安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへ" +"のアクセスなど、一部の操作が無効になります" #: assets/const/protocol.py:229 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 @@ -1650,7 +1670,7 @@ msgstr "ユーザーと同じユーザー名" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:114 -#: terminal/models/applet/applet.py:42 +#: settings/serializers/msg.py:29 terminal/models/applet/applet.py:42 #: terminal/models/virtualapp/virtualapp.py:24 #: terminal/serializers/session.py:19 terminal/serializers/session.py:45 #: terminal/serializers/storage.py:71 @@ -1703,12 +1723,12 @@ msgstr "クラウド サービス" #: assets/models/asset/common.py:94 assets/models/platform.py:17 #: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:72 -#: terminal/serializers/storage.py:133 +#: settings/serializers/msg.py:32 terminal/serializers/storage.py:133 #: xpack/plugins/cloud/serializers/account_attrs.py:73 msgid "Port" msgstr "ポート" -#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:147 +#: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 msgid "Address" msgstr "アドレス" @@ -1732,7 +1752,7 @@ msgstr "ドメイン" msgid "Node" msgstr "ノード" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:380 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:382 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "資産ハードウェア情報の収集" @@ -1881,7 +1901,7 @@ msgstr "値" #: assets/serializers/platform.py:119 #: authentication/serializers/connect_token_secret.py:124 #: common/serializers/common.py:85 labels/models.py:17 labels/models.py:33 -#: labels/serializers.py:45 settings/serializers/msg.py:83 +#: labels/serializers.py:45 settings/serializers/msg.py:90 msgid "Label" msgstr "ラベル" @@ -2048,40 +2068,42 @@ msgstr "%(value)s は偶数ではありません" msgid "" "Batch update platform in assets, skipping assets that do not meet platform " "type" -msgstr "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プラットフォーム" +msgstr "" +"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" +"ラットフォーム" -#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:141 +#: assets/serializers/asset/common.py:127 assets/serializers/platform.py:141 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:75 -#: perms/models/asset_permission.py:76 perms/serializers/permission.py:42 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:46 #: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:332 #: xpack/plugins/cloud/serializers/task.py:33 msgid "Protocols" msgstr "プロトコル" -#: assets/serializers/asset/common.py:126 -#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:129 +#: assets/serializers/asset/common.py:151 msgid "Node path" msgstr "ノードパスです" -#: assets/serializers/asset/common.py:145 -#: assets/serializers/asset/common.py:381 +#: assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:383 msgid "Auto info" msgstr "自動情報" -#: assets/serializers/asset/common.py:239 +#: assets/serializers/asset/common.py:242 msgid "Platform not exist" msgstr "プラットフォームが存在しません" -#: assets/serializers/asset/common.py:275 +#: assets/serializers/asset/common.py:278 msgid "port out of range (0-65535)" msgstr "ポート番号が範囲外です (0-65535)" -#: assets/serializers/asset/common.py:282 +#: assets/serializers/asset/common.py:285 msgid "Protocol is required: {}" msgstr "プロトコルが必要です: {}" -#: assets/serializers/asset/common.py:310 +#: assets/serializers/asset/common.py:313 msgid "Invalid data" msgstr "無効なデータ" @@ -2091,10 +2113,11 @@ msgstr "デフォルト・データベース" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an" -" HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an " +"HTTP proxy. e.g. http(s)://host:port" msgstr "" -"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要があります。例: http(s)://host:port" +"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要" +"があります。例: http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -2162,7 +2185,8 @@ msgstr "制約" msgid "Types" msgstr "タイプ" -#: assets/serializers/domain.py:53 perms/serializers/permission.py:188 +#: assets/serializers/domain.py:20 orgs/serializers.py:13 +#: perms/serializers/permission.py:40 msgid "Assets amount" msgstr "資産数量" @@ -2194,7 +2218,9 @@ msgstr "アドレスからのポート" msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." -msgstr "このプロトコルはプライマリであり、資産を追加するときに設定する必要があります。また、プライマリプロトコルは1つしかありません" +msgstr "" +"このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま" +"す。また、プライマリプロトコルは1つしかありません" #: assets/serializers/platform.py:67 msgid "This protocol is required, and it must be set when adding assets." @@ -2204,11 +2230,14 @@ msgstr "このプロトコルは必須であり、資産を追加するときに msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." -msgstr "このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されます" +msgstr "" +"このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま" +"す" #: assets/serializers/platform.py:73 msgid "This protocol is public, asset will show this protocol to user" -msgstr "このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" +msgstr "" +"このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" #: assets/serializers/platform.py:122 msgid "Help text" @@ -2230,7 +2259,7 @@ msgstr "デフォルト ドメイン" msgid "type is required" msgstr "タイプ このフィールドは必須です." -#: assets/serializers/platform.py:211 +#: assets/serializers/platform.py:205 msgid "Protocols is required" msgstr "同意が必要です" @@ -2264,9 +2293,10 @@ msgstr "ノード下のアセット数を確認する" #: assets/tasks/nodes_amount.py:28 msgid "" -"The task of self-checking is already running and cannot be started " -"repeatedly" -msgstr "セルフチェックのタスクはすでに実行されており、繰り返し開始することはできません" +"The task of self-checking is already running and cannot be started repeatedly" +msgstr "" +"セルフチェックのタスクはすでに実行されており、繰り返し開始することはできませ" +"ん" #: assets/tasks/nodes_amount.py:33 msgid "Periodic check the amount of assets under the node" @@ -2302,12 +2332,13 @@ msgid "No assets matched, stop task" msgstr "一致する資産がない、タスクを停止" #: audits/apps.py:9 -msgid "Audits" +#, fuzzy +#| msgid "Audits" +msgid "App Audits" msgstr "監査" #: audits/backends/db.py:16 -msgid "" -"The text content is too long. Use Elasticsearch to store operation logs" +msgid "The text content is too long. Use Elasticsearch to store operation logs" msgstr "文章の内容が長すぎる。Elasticsearchで操作履歴を保存する" #: audits/backends/db.py:91 @@ -2387,8 +2418,8 @@ msgstr "閉じる" #: audits/const.py:43 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:174 -#: terminal/models/virtualapp/provider.py:14 -#: terminal/serializers/session.py:52 terminal/serializers/session.py:66 +#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:52 +#: terminal/serializers/session.py:66 msgid "Terminal" msgstr "ターミナル" @@ -2426,8 +2457,7 @@ msgid "Job audit log" msgstr "ジョブ監査ログ" #: audits/models.py:56 audits/models.py:100 audits/models.py:175 -#: terminal/models/session/session.py:38 -#: terminal/models/session/sharing.py:113 +#: terminal/models/session/session.py:38 terminal/models/session/sharing.py:113 msgid "Remote addr" msgstr "リモートaddr" @@ -2646,7 +2676,9 @@ msgstr "この操作には、MFAを検証する必要があります" #: authentication/api/connection_token.py:260 msgid "Reusable connection token is not allowed, global setting not enabled" -msgstr "再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効になっていません" +msgstr "" +"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に" +"なっていません" #: authentication/api/connection_token.py:374 msgid "Anonymous account is not supported for this asset" @@ -2672,22 +2704,24 @@ msgstr "ACL アクションはレビューです" msgid "Current user not support mfa type: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" -#: authentication/api/password.py:34 terminal/api/session/session.py:305 -#: users/views/profile/reset.py:61 +#: authentication/api/password.py:33 terminal/api/session/session.py:305 +#: users/views/profile/reset.py:62 msgid "User does not exist: {}" msgstr "ユーザーが存在しない: {}" -#: authentication/api/password.py:34 users/views/profile/reset.py:163 +#: authentication/api/password.py:33 users/views/profile/reset.py:163 msgid "No user matched" msgstr "ユーザーにマッチしなかった" -#: authentication/api/password.py:38 +#: authentication/api/password.py:37 msgid "" "The user is from {}, please go to the corresponding system to change the " "password" -msgstr "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してください。" +msgstr "" +"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" +"さい。" -#: authentication/api/password.py:67 +#: authentication/api/password.py:65 #: authentication/templates/authentication/login.html:361 #: users/templates/users/forgot_password.html:27 #: users/templates/users/forgot_password.html:28 @@ -2696,8 +2730,10 @@ msgstr "ユーザーは {}からです。対応するシステムにアクセス msgid "Forgot password" msgstr "パスワードを忘れた" -#: authentication/apps.py:7 settings/serializers/auth/base.py:10 -msgid "Authentication" +#: authentication/apps.py:7 +#, fuzzy +#| msgid "Authentication" +msgid "App Authentication" msgstr "認証" #: authentication/backends/custom.py:59 @@ -2716,7 +2752,8 @@ msgstr "無効なトークンヘッダー。記号文字列にはスペースを #: authentication/backends/drf.py:59 msgid "" "Invalid token header. Sign string should not contain invalid characters." -msgstr "無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" +msgstr "" +"無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" #: authentication/backends/drf.py:72 msgid "Invalid token or cache refreshed." @@ -2815,27 +2852,34 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 {times_try} 回試すこともできます (アカウントは " -"{block_time} 分の間一時的にロックされます)" +"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 " +"{times_try} 回試すこともできます (アカウントは {block_time} 分の間一時的に" +"ロックされます)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後にもう一度お試しください)" +msgstr "" +"アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後" +"にもう一度お試しください)" #: authentication/errors/const.py:51 msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" -msgstr "IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行してください)" +msgstr "" +"IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行" +"してください)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily" -" locked for {block_time} minutes)" -msgstr "{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間一時的にロックされます)" +"{error}, You can also try {times_try} times (The account will be temporarily " +"locked for {block_time} minutes)" +msgstr "" +"{error},{times_try} 回も試すことができます (アカウントは {block_time} 分の間" +"一時的にロックされます)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -2918,7 +2962,8 @@ msgstr "ログインする前にパスワードを変更する必要がありま #: authentication/errors/redirect.py:101 authentication/mixins.py:337 msgid "Your password has expired, please reset before logging in" -msgstr "パスワードの有効期限が切れました。ログインする前にリセットしてください。" +msgstr "" +"パスワードの有効期限が切れました。ログインする前にリセットしてください。" #: authentication/forms.py:45 msgid "{} days auto login" @@ -2959,7 +3004,8 @@ msgstr "カスタム MFA 検証コード" #: authentication/mfa/custom.py:56 msgid "MFA custom global enabled, cannot disable" -msgstr "カスタム MFA はグローバルに有効になっており、無効にすることはできません" +msgstr "" +"カスタム MFA はグローバルに有効になっており、無効にすることはできません" #: authentication/mfa/otp.py:7 msgid "OTP code invalid, or server time error" @@ -2997,7 +3043,7 @@ msgstr "メッセージ検証コードが無効" #: authentication/serializers/password_mfa.py:24 #: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 #: users/forms/profile.py:109 users/templates/users/forgot_password.html:112 -#: users/views/profile/reset.py:98 +#: users/views/profile/reset.py:99 msgid "SMS" msgstr "メッセージ" @@ -3025,7 +3071,9 @@ msgstr "無効なユーザーです" msgid "" "The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the administrator." -msgstr "管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユーザーソースは {} です。管理者に連絡してください。" +msgstr "" +"管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユー" +"ザーソースは {} です。管理者に連絡してください。" #: authentication/mixins.py:273 msgid "The MFA type ({}) is not enabled" @@ -3179,16 +3227,16 @@ msgid "Ticket info" msgstr "作業指示情報" #: authentication/serializers/connection_token.py:21 -#: perms/models/asset_permission.py:77 perms/serializers/permission.py:38 -#: perms/serializers/permission.py:59 +#: perms/models/asset_permission.py:77 perms/serializers/permission.py:42 +#: perms/serializers/permission.py:64 #: tickets/models/ticket/apply_application.py:28 #: tickets/models/ticket/apply_asset.py:18 msgid "Actions" msgstr "アクション" #: authentication/serializers/connection_token.py:42 -#: perms/serializers/permission.py:40 perms/serializers/permission.py:60 -#: users/serializers/user.py:97 users/serializers/user.py:171 +#: perms/serializers/permission.py:44 perms/serializers/permission.py:65 +#: users/serializers/user.py:97 users/serializers/user.py:177 msgid "Is expired" msgstr "期限切れです" @@ -3201,9 +3249,9 @@ msgstr "{} 空にしてはならない" msgid "Access IP" msgstr "Access IP" -#: authentication/serializers/token.py:92 perms/serializers/permission.py:39 -#: perms/serializers/permission.py:61 users/serializers/user.py:98 -#: users/serializers/user.py:168 +#: authentication/serializers/token.py:92 perms/serializers/permission.py:43 +#: perms/serializers/permission.py:66 users/serializers/user.py:98 +#: users/serializers/user.py:174 msgid "Is valid" msgstr "有効です" @@ -3273,7 +3321,7 @@ msgstr "コードエラー" #: authentication/templates/authentication/_msg_reset_password_code.html:9 #: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2 -#: jumpserver/conf.py:457 +#: jumpserver/conf.py:459 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:32 @@ -3296,7 +3344,9 @@ msgstr "ログイン時間" msgid "" "If you suspect that the login behavior is abnormal, please modify the " "account password in time." -msgstr "ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変更してください。" +msgstr "" +"ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変" +"更してください。" #: authentication/templates/authentication/_msg_oauth_bind.html:6 msgid "Your account has just been bound to" @@ -3310,7 +3360,9 @@ msgstr "操作が独自のものでない場合は、パスワードをバイン msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" -msgstr "下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場合は、アカウントのセキュリティに関係します。" +msgstr "" +"下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場" +"合は、アカウントのセキュリティに関係します。" #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -3355,7 +3407,9 @@ msgstr "ブラウザ" msgid "" "If the password update was not initiated by you, your account may have " "security issues" -msgstr "パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" +msgstr "" +"パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題があ" +"る可能性があります" #: authentication/templates/authentication/_msg_rest_password_success.html:14 #: authentication/templates/authentication/_msg_rest_public_key_success.html:14 @@ -3370,7 +3424,9 @@ msgstr "公開鍵が正常に更新されました" msgid "" "If the public key update was not initiated by you, your account may have " "security issues" -msgstr "公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" +msgstr "" +"公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可" +"能性があります" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 #: templates/flash_message_standalone.html:28 tickets/const.py:17 @@ -3381,7 +3437,9 @@ msgstr "キャンセル" msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" -msgstr "設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のドキュメントを参照してください。" +msgstr "" +"設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のド" +"キュメントを参照してください。" #: authentication/templates/authentication/login.html:277 msgid "If you are administrator, you can update the config resolve it, set" @@ -3427,13 +3485,15 @@ msgstr "コピー成功" msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." -msgstr "このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリティを確保してください。" +msgstr "" +"このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリ" +"ティを確保してください。" #: authentication/templates/authentication/passkey.html:173 msgid "Do you want to retry ?" msgstr "再試行しますか?" -#: authentication/utils.py:23 common/utils/ip/geoip/utils.py:24 +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 #: xpack/plugins/cloud/const.py:32 msgid "LAN" msgstr "ローカルエリアネットワーク" @@ -3653,12 +3713,13 @@ msgstr "Secret Keyを使用したフィールドの暗号化" #: common/db/fields.py:573 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" -" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " +"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 {'type':'ids','ids':[]}或 " -"#タイプ:属性、属性:[#名前:ip、照合:正確、値:1.1.1.1}" +"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 " +"{'type':'ids','ids':[]}或 #タイプ:属性、属性:[#名前:ip、照合:正確、" +"値:1.1.1.1}" #: common/db/fields.py:580 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -3724,7 +3785,9 @@ msgstr "無効 excel 書類" msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" -msgstr "{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワードに暗号化パスワードを設定してください" +msgstr "" +"{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワード" +"に暗号化パスワードを設定してください" #: common/exceptions.py:15 #, python-format @@ -3767,7 +3830,7 @@ msgstr "サポートされていません Elasticsearch8" msgid "Network error, please contact system administrator" msgstr "ネットワークエラー、システム管理者に連絡してください" -#: common/sdk/im/slack/__init__.py:79 +#: common/sdk/im/slack/__init__.py:77 msgid "Unknown error occur" msgstr "不明なエラーが発生しました" @@ -3858,19 +3921,19 @@ msgstr "間違ったデータ タイプです。リストにする必要があ msgid "Invalid choice: {}" msgstr "無効なオプション: {}" -#: common/serializers/mixin.py:397 labels/apps.py:8 +#: common/serializers/mixin.py:397 msgid "Labels" msgstr "ラベル" -#: common/tasks.py:21 common/utils/verify_code.py:16 +#: common/tasks.py:31 common/utils/verify_code.py:16 msgid "Send email" msgstr "メールを送る" -#: common/tasks.py:48 +#: common/tasks.py:58 msgid "Send email attachment" msgstr "メールの添付ファイルを送信" -#: common/tasks.py:69 terminal/tasks.py:62 +#: common/tasks.py:80 terminal/tasks.py:62 msgid "Upload session replay to external storage" msgstr "セッションの記録を外部ストレージにアップロードする" @@ -3899,16 +3962,16 @@ msgstr "特殊文字を含むべきではない" msgid "The mobile phone number format is incorrect" msgstr "携帯電話番号の形式が正しくありません" -#: jumpserver/conf.py:452 +#: jumpserver/conf.py:453 #, python-brace-format msgid "The verification code is: {code}" msgstr "認証コードは: {code}" -#: jumpserver/conf.py:456 +#: jumpserver/conf.py:458 msgid "Create account successfully" msgstr "アカウントを正常に作成" -#: jumpserver/conf.py:458 +#: jumpserver/conf.py:460 msgid "Your account has been created successfully" msgstr "アカウントが正常に作成されました" @@ -3926,13 +3989,16 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
" -"Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要があります。urlディストリビューションにnginxを設定します。
" -" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" +"
Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要" +"があります。urlディストリビューションにnginxを設定します。
この" +"ページが表示されている場合は、nginxリスニングポートにアクセスしていないことを" +"証明してください。頑張ってください。" #: jumpserver/views/other.py:70 msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要があります。" +msgstr "" +"Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要がありま" +"す。" #: jumpserver/views/other.py:84 msgid "" @@ -3940,8 +4006,16 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要があります。URL配布用にnginxを設定します。
" -" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" +"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要が" +"あります。URL配布用にnginxを設定します。
このページが表示されて" +"いる場合は、nginxリスニングポートにアクセスしていないことを証明してください。" +"頑張ってください。" + +#: labels/apps.py:8 +#, fuzzy +#| msgid "Labels" +msgid "App Labels" +msgstr "ラベル" #: labels/models.py:36 msgid "Resource ID" @@ -3963,6 +4037,12 @@ msgstr "\":,\"を含めることはできません" msgid "Resource type" msgstr "リソースタイプ" +#: notifications/apps.py:7 +#, fuzzy +#| msgid "Notifications" +msgid "App Notifications" +msgstr "通知" + #: notifications/backends/__init__.py:13 msgid "Site message" msgstr "サイトメッセージ" @@ -4019,7 +4099,9 @@ msgstr "重複したファイルが存在する" #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" -msgstr "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択してください。" +msgstr "" +"ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" +"てください。" #: ops/api/playbook.py:39 msgid "Currently playbook is being used in a job" @@ -4049,8 +4131,10 @@ msgstr "ファイルキーこのフィールドは必須です" msgid "This file can not be delete" msgstr "このファイルを削除できません" -#: ops/apps.py:9 ops/notifications.py:17 rbac/tree.py:57 -msgid "App ops" +#: ops/apps.py:9 +#, fuzzy +#| msgid "App ops" +msgid "App Ops" msgstr "アプリ操作" #: ops/const.py:6 @@ -4145,29 +4229,42 @@ msgstr "タイムアウト" msgid "no valid program entry found." msgstr "利用可能なプログラムポータルがありません" -#: ops/mixin.py:26 ops/mixin.py:90 settings/serializers/auth/ldap.py:73 -msgid "Cycle perform" -msgstr "サイクル実行" +#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +#, fuzzy +#| msgid "Periodic perform" +msgid "Periodic run" +msgstr "定期的なパフォーマンス" -#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 -#: settings/serializers/auth/ldap.py:70 -msgid "Regularly perform" -msgstr "定期的に実行する" - -#: ops/mixin.py:110 +#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: settings/serializers/auth/ldap.py:73 msgid "Interval" msgstr "間隔" -#: ops/mixin.py:120 +#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: settings/serializers/auth/ldap.py:70 +#, fuzzy +#| msgid "Contains" +msgid "Crontab" +msgstr "含む" + +#: ops/mixin.py:112 +#, fuzzy +#| msgid "Run user" +msgid "Run period" +msgstr "ユーザーの実行" + +#: ops/mixin.py:121 msgid "* Please enter a valid crontab expression" msgstr "* 有効なcrontab式を入力してください" -#: ops/mixin.py:127 +#: ops/mixin.py:128 msgid "Range {} to {}" msgstr "{} から {} までの範囲" -#: ops/mixin.py:138 -msgid "Require periodic or regularly perform setting" +#: ops/mixin.py:139 +#, fuzzy +#| msgid "Require periodic or regularly perform setting" +msgid "Require interval or crontab setting" msgstr "定期的または定期的に設定を行う必要があります" #: ops/models/adhoc.py:21 @@ -4178,7 +4275,7 @@ msgstr "パターン" msgid "Module" msgstr "モジュール" -#: ops/models/adhoc.py:24 ops/models/celery.py:58 ops/models/job.py:138 +#: ops/models/adhoc.py:24 ops/models/celery.py:60 ops/models/job.py:138 #: terminal/models/component/task.py:14 msgid "Args" msgstr "アルグ" @@ -4210,28 +4307,28 @@ msgstr "概要" msgid "Date last publish" msgstr "発売日" -#: ops/models/celery.py:47 +#: ops/models/celery.py:49 msgid "Celery Task" msgstr "Celery タスク#タスク#" -#: ops/models/celery.py:50 +#: ops/models/celery.py:52 msgid "Can view task monitor" msgstr "タスクモニターを表示できます" -#: ops/models/celery.py:59 terminal/models/component/task.py:15 +#: ops/models/celery.py:61 terminal/models/component/task.py:15 msgid "Kwargs" msgstr "クワーグ" -#: ops/models/celery.py:61 terminal/models/session/sharing.py:128 +#: ops/models/celery.py:63 terminal/models/session/sharing.py:128 #: tickets/const.py:25 msgid "Finished" msgstr "終了" -#: ops/models/celery.py:62 +#: ops/models/celery.py:64 msgid "Date published" msgstr "発売日" -#: ops/models/celery.py:87 +#: ops/models/celery.py:89 msgid "Celery Task Execution" msgstr "Celery タスク実行" @@ -4283,6 +4380,10 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" +#: ops/notifications.py:17 rbac/tree.py:57 +msgid "App ops" +msgstr "アプリ操作" + #: ops/notifications.py:18 msgid "Server performance" msgstr "サーバーのパフォーマンス" @@ -4311,19 +4412,37 @@ msgstr "{max_threshold}%: => {value} を超える使用メモリ" msgid "CPU load more than {max_threshold}: => {value}" msgstr "{max_threshold} を超えるCPUロード: => {value}" +#: ops/serializers/celery.py:33 +#, fuzzy +#| msgid "Job Execution" +msgid "Execution cycle" +msgstr "ジョブ実行" + +#: ops/serializers/celery.py:35 +#, fuzzy +#| msgid "Last execution" +msgid "Next execution time" +msgstr "最後の実行" + #: ops/serializers/job.py:15 msgid "Run after save" msgstr "保存後に実行" -#: ops/serializers/job.py:62 +#: ops/serializers/job.py:52 +#, fuzzy +#| msgid "Time cost" +msgid "Average time cost" +msgstr "時を過ごす" + +#: ops/serializers/job.py:65 msgid "Job type" msgstr "タスクの種類" -#: ops/serializers/job.py:65 terminal/serializers/session.py:53 +#: ops/serializers/job.py:68 terminal/serializers/session.py:53 msgid "Is finished" msgstr "終了しました" -#: ops/serializers/job.py:66 +#: ops/serializers/job.py:69 msgid "Time cost" msgstr "時を過ごす" @@ -4407,14 +4526,17 @@ msgstr "現在の組織 ({}) は削除できません" msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" -msgstr "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" +msgstr "" +"LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" #: orgs/api.py:77 msgid "The organization have resource ({}) cannot be deleted" msgstr "組織のリソース ({}) は削除できません" -#: orgs/apps.py:7 rbac/tree.py:128 -msgid "App organizations" +#: orgs/apps.py:7 +#, fuzzy +#| msgid "App organizations" +msgid "App Organizations" msgstr "アプリ組織" #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 @@ -4422,8 +4544,7 @@ msgstr "アプリ組織" #: rbac/serializers/rolebinding.py:44 settings/serializers/auth/ldap.py:63 #: terminal/templates/terminal/_msg_command_warning.html:21 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:302 -#: tickets/serializers/ticket/ticket.py:60 +#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 msgid "Organization" msgstr "組織" @@ -4460,12 +4581,45 @@ msgstr "参加しているすべての組織を表示できます" msgid "Can not delete virtual org" msgstr "仮想組織を削除できませんでした" +#: orgs/serializers.py:10 perms/serializers/permission.py:38 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "ユーザー数" + +#: orgs/serializers.py:11 perms/serializers/permission.py:39 +msgid "User groups amount" +msgstr "ユーザーグループの数" + +#: orgs/serializers.py:14 perms/serializers/permission.py:41 +msgid "Nodes amount" +msgstr "ノード数" + +#: orgs/serializers.py:15 +#, fuzzy +#| msgid "Command amount" +msgid "Domains amount" +msgstr "コマンド量" + +#: orgs/serializers.py:16 +#, fuzzy +#| msgid "Gather account" +msgid "Gateways amount" +msgstr "アカウントを集める" + +#: orgs/serializers.py:18 +#, fuzzy +#| msgid "Asset permission" +msgid "Asset permissions amount" +msgstr "資産権限" + #: orgs/tasks.py:9 msgid "Refresh organization cache" msgstr "組織キャッシュを更新する" #: perms/apps.py:9 -msgid "App permissions" +#, fuzzy +#| msgid "App permissions" +msgid "App Permissions" msgstr "アプリの権限" #: perms/const.py:12 @@ -4561,19 +4715,6 @@ msgstr "資産権限の有効期限が近づいています" msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" -#: perms/serializers/permission.py:186 rbac/serializers/role.py:27 -#: users/serializers/group.py:54 users/serializers/group.py:60 -msgid "Users amount" -msgstr "ユーザー数" - -#: perms/serializers/permission.py:187 -msgid "User groups amount" -msgstr "ユーザーグループの数" - -#: perms/serializers/permission.py:189 -msgid "Nodes amount" -msgstr "ノード数" - #: perms/tasks.py:27 msgid "Check asset permission expired" msgstr "アセット認証ルールの有効期限が切れていることを確認する" @@ -4611,7 +4752,9 @@ msgid "{} at least one system role" msgstr "{} 少なくとも1つのシステムロール" #: rbac/apps.py:7 -msgid "RBAC" +#, fuzzy +#| msgid "RBAC" +msgid "App RBAC" msgstr "RBAC" #: rbac/builtin.py:115 @@ -4700,7 +4843,8 @@ msgstr "全ての組織" msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" -msgstr "ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" +msgstr "" +"ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" #: rbac/models/rolebinding.py:197 msgid "Organization role binding" @@ -4781,6 +4925,10 @@ msgstr "私の資産" msgid "Applet" msgstr "リモートアプリケーション" +#: rbac/tree.py:128 +msgid "App organizations" +msgstr "アプリ組織" + #: rbac/tree.py:129 msgid "Ticket comment" msgstr "チケットコメント" @@ -4808,14 +4956,16 @@ msgstr "チャットAIがオンになっていない" msgid "Test success" msgstr "テストの成功" -#: settings/api/email.py:21 +#: settings/api/email.py:22 msgid "Test mail sent to {}, please check" msgstr "{}に送信されたテストメールを確認してください" #: settings/api/ldap.py:101 msgid "" "Users are not synchronized, please click the user synchronization button" -msgstr "ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてください。" +msgstr "" +"ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてくださ" +"い。" #: settings/api/ldap.py:137 msgid "Get ldap users is None" @@ -4834,7 +4984,9 @@ msgid "test_phone is required" msgstr "携帯番号をテストこのフィールドは必須です" #: settings/apps.py:7 -msgid "Settings" +#, fuzzy +#| msgid "Settings" +msgid "App Settings" msgstr "設定" #: settings/models.py:36 users/models/preference.py:14 @@ -4909,6 +5061,10 @@ msgstr "他の設定を変えることができます" msgid "Chat prompt" msgstr "チャットのヒント" +#: settings/serializers/auth/base.py:10 +msgid "Authentication" +msgstr "認証" + #: settings/serializers/auth/base.py:12 msgid "LDAP Auth" msgstr "LDAP 認証" @@ -5050,11 +5206,11 @@ msgstr "ユーザー属性マッピング" #: settings/serializers/auth/ldap.py:59 msgid "" -"User attr map present how to map LDAP user attr to jumpserver, " -"username,name,email is jumpserver attr" +"User attr map present how to map LDAP user attr to jumpserver, username,name," +"email is jumpserver attr" msgstr "" -"ユーザー属性マッピングは、LDAPのユーザー属性をjumpserverユーザーにマッピングする方法、username, " -"name,emailはjumpserverのユーザーが必要とする属性です" +"ユーザー属性マッピングは、LDAPのユーザー属性をjumpserverユーザーにマッピング" +"する方法、username, name,emailはjumpserverのユーザーが必要とする属性です" #: settings/serializers/auth/ldap.py:77 msgid "Connect timeout (s)" @@ -5136,11 +5292,11 @@ msgstr "Ssl検証を無視する" #: settings/serializers/auth/oidc.py:38 msgid "" -"User attr map present how to map OpenID user attr to jumpserver, " -"username,name,email is jumpserver attr" +"User attr map present how to map OpenID user attr to jumpserver, username," +"name,email is jumpserver attr" msgstr "" -"ユーザー属性マッピングは、OpenIDのユーザー属性をjumpserverユーザーにマッピングする方法、username, " -"name,emailはjumpserverのユーザーが必要とする属性です" +"ユーザー属性マッピングは、OpenIDのユーザー属性をjumpserverユーザーにマッピン" +"グする方法、username, name,emailはjumpserverのユーザーが必要とする属性です" #: settings/serializers/auth/oidc.py:41 msgid "Enable PKCE" @@ -5215,7 +5371,9 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストとDOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切ります" +"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストと" +"DOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切り" +"ます" #: settings/serializers/auth/passkey.py:22 msgid "FIDO server name" @@ -5279,7 +5437,7 @@ msgstr "認証コード長" #: settings/serializers/auth/sms.py:27 settings/serializers/auth/sms.py:49 #: settings/serializers/auth/sms.py:57 settings/serializers/auth/sms.py:66 -#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:76 +#: settings/serializers/auth/sms.py:77 settings/serializers/msg.py:83 msgid "Signature" msgstr "署名" @@ -5319,11 +5477,13 @@ msgstr "ビジネス・タイプ(Service id)" #: settings/serializers/auth/sms.py:80 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed" -" 67 words. For example, your verification code is {code}, which is valid for" -" 5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed " +"67 words. For example, your verification code is {code}, which is valid for " +"5 minutes. Please do not disclose it to others." msgstr "" -"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わないでください。" +"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未" +"満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わない" +"でください。" #: settings/serializers/auth/sms.py:89 #, python-brace-format @@ -5348,7 +5508,8 @@ msgstr "SSO Token認証の有効化" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" -msgstr "他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" +msgstr "" +"他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -5372,7 +5533,8 @@ msgid "" "External URL, email links or other system callbacks are used to access it, " "eg: http://dev.jumpserver.org:8080" msgstr "" -"外部URL、メールリンクまたは他のシステムコールバックにアクセスするには、http://dev.jumpserver.org:8080などを使用します" +"外部URL、メールリンクまたは他のシステムコールバックにアクセスするには、" +"http://dev.jumpserver.org:8080などを使用します" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -5451,7 +5613,8 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (データベースのバックアップに影響し、OSS などには影響しません)" +"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (デー" +"タベースのバックアップに影響し、OSS などには影響しません)" #: settings/serializers/feature.py:18 msgid "Subject" @@ -5484,12 +5647,13 @@ msgstr "保持されている過去のアカウントの数" #: settings/serializers/feature.py:62 msgid "" "If the specific value is less than 999, the system will automatically " -"perform a task every night: check and delete historical accounts that exceed" -" the predetermined number. If the value reaches or exceeds 999, no " -"historical account deletion will be performed." +"perform a task every night: check and delete historical accounts that exceed " +"the predetermined number. If the value reaches or exceeds 999, no historical " +"account deletion will be performed." msgstr "" -"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、所定の数を超える履歴アカウントを確認して削除します。 値が 999 " -"以上の場合、履歴アカウントの削除は実行されません。" +"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、" +"所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" +"歴アカウントの削除は実行されません。" #: settings/serializers/feature.py:71 msgid "Chat AI" @@ -5559,97 +5723,98 @@ msgstr "仮想アプリケーション" msgid "Enable virtual app" msgstr "仮想アプリケーションの有効化" -#: settings/serializers/msg.py:24 -msgid "SMTP host" +#: settings/serializers/msg.py:25 +#, fuzzy +#| msgid "SMTP host" +msgid "SMTP" msgstr "SMTPホスト" -#: settings/serializers/msg.py:25 -msgid "SMTP port" -msgstr "SMTPポート" - #: settings/serializers/msg.py:26 -msgid "SMTP account" -msgstr "SMTPアカウント" +msgid "EXCHANGE" +msgstr "" -#: settings/serializers/msg.py:28 -msgid "SMTP password" -msgstr "SMTPパスワード" - -#: settings/serializers/msg.py:29 +#: settings/serializers/msg.py:36 msgid "Tips: Some provider use token except password" msgstr "ヒント: 一部のプロバイダーはパスワード以外のトークンを使用します" -#: settings/serializers/msg.py:32 +#: settings/serializers/msg.py:39 msgid "Send user" msgstr "ユーザーを送信" -#: settings/serializers/msg.py:33 +#: settings/serializers/msg.py:40 msgid "Tips: Send mail account, default SMTP account as the send account" -msgstr "ヒント: 送信メールアカウント、送信アカウントとしてのデフォルトのSMTPアカウント" +msgstr "" +"ヒント: 送信メールアカウント、送信アカウントとしてのデフォルトのSMTPアカウン" +"ト" -#: settings/serializers/msg.py:36 +#: settings/serializers/msg.py:43 msgid "Test recipient" msgstr "テスト受信者" -#: settings/serializers/msg.py:37 +#: settings/serializers/msg.py:44 msgid "Tips: Used only as a test mail recipient" msgstr "ヒント: テストメールの受信者としてのみ使用" -#: settings/serializers/msg.py:41 +#: settings/serializers/msg.py:48 msgid "If SMTP port is 465, may be select" msgstr "SMTPポートが465の場合は、" -#: settings/serializers/msg.py:44 +#: settings/serializers/msg.py:51 msgid "Use TLS" msgstr "TLSの使用" -#: settings/serializers/msg.py:45 +#: settings/serializers/msg.py:52 msgid "If SMTP port is 587, may be select" msgstr "SMTPポートが587の場合は、" -#: settings/serializers/msg.py:48 +#: settings/serializers/msg.py:55 msgid "Subject prefix" msgstr "件名プレフィックス" -#: settings/serializers/msg.py:51 +#: settings/serializers/msg.py:58 msgid "Email suffix" msgstr "メールのサフィックス" -#: settings/serializers/msg.py:52 +#: settings/serializers/msg.py:59 msgid "" "This is used by default if no email is returned during SSO authentication" msgstr "これは、SSO認証中にメールが返されない場合にデフォルトで使用されます。" -#: settings/serializers/msg.py:61 +#: settings/serializers/msg.py:68 msgid "Create user email subject" msgstr "ユーザーメール件名の作成" -#: settings/serializers/msg.py:62 +#: settings/serializers/msg.py:69 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account" -" successfully)" -msgstr "ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを正常に作成)" +"Tips: When creating a user, send the subject of the email (eg:Create account " +"successfully)" +msgstr "" +"ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを" +"正常に作成)" -#: settings/serializers/msg.py:66 +#: settings/serializers/msg.py:73 msgid "Create user honorific" msgstr "ユーザー敬語の作成" -#: settings/serializers/msg.py:67 +#: settings/serializers/msg.py:74 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" -msgstr "ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" +msgstr "" +"ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" -#: settings/serializers/msg.py:71 +#: settings/serializers/msg.py:78 msgid "Create user email content" msgstr "ユーザーのメールコンテンツを作成する" -#: settings/serializers/msg.py:73 +#: settings/serializers/msg.py:80 #, python-brace-format msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}{email}ラベルをサポートします。" +msgstr "" +"ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}" +"{email}ラベルをサポートします。" -#: settings/serializers/msg.py:77 +#: settings/serializers/msg.py:84 msgid "Tips: Email signature (eg:jumpserver)" msgstr "ヒント: メール署名 (例: jumpserver)" @@ -5664,7 +5829,9 @@ msgstr "グループ化されていないノードを表示" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" msgstr "" -"グループ化されていないノードに個別に許可された資産を配置し、資産が存在するノードが表示されないようにしますが、そのノードが許可されていないという質問に質問" +"グループ化されていないノードに個別に許可された資産を配置し、資産が存在する" +"ノードが表示されないようにしますが、そのノードが許可されていないという質問に" +"質問" #: settings/serializers/security.py:17 msgid "User password expiration (day)" @@ -5676,8 +5843,10 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) " -"以内に、パスワードの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信されます。" +"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有" +"効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) 以内に、パスワー" +"ドの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信さ" +"れます。" #: settings/serializers/security.py:26 msgid "Number of repeated historical passwords" @@ -5687,7 +5856,9 @@ msgstr "繰り返された履歴パスワードの数" msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" -msgstr "ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワードにすることはできません" +msgstr "" +"ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワード" +"にすることはできません" #: settings/serializers/security.py:34 msgid "Password minimum length" @@ -5717,7 +5888,9 @@ msgstr "特別な" msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." -msgstr "ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログインはできません。" +msgstr "" +"ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログイン" +"はできません。" #: settings/serializers/security.py:63 msgid "Limit the number of user login failures" @@ -5751,7 +5924,9 @@ msgstr "単一デバイスログインのみ" msgid "" "After the user logs in on the new device, other logged-in devices will " "automatically log out" -msgstr "ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動的にログアウトします。" +msgstr "" +"ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動" +"的にログアウトします。" #: settings/serializers/security.py:95 msgid "Only exist user login" @@ -5764,8 +5939,9 @@ msgid "" "are allowed to log in and automatically create users (if the user does not " "exist)" msgstr "" -"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的に作成されます" -" (ユーザーが存在しない場合)。" +"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、" +"ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的" +"に作成されます (ユーザーが存在しない場合)。" #: settings/serializers/security.py:103 msgid "Only from source login" @@ -5773,13 +5949,14 @@ msgstr "ソースログインからのみ" #: settings/serializers/security.py:105 msgid "" -"If it is enabled, the user will only authenticate to the source when logging" -" in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging " +"in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべての認証方法を特定の順序で認証します。" -" 、直接ログインできます" +"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効" +"な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべ" +"ての認証方法を特定の順序で認証します。 、直接ログインできます" #: settings/serializers/security.py:116 msgid "Not enabled" @@ -5829,7 +6006,8 @@ msgstr "ログインページのMFA" #: settings/serializers/security.py:144 msgid "Eu security regulations(GDPR) require MFA to be on the login page" -msgstr "Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" +msgstr "" +"Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" #: settings/serializers/security.py:148 msgid "Verify code TTL (second)" @@ -5847,7 +6025,9 @@ msgstr "ログイン動的コードの有効化" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "パスワードと追加コードは、検証のためにサードパーティの認証システムに送信されます" +msgstr "" +"パスワードと追加コードは、検証のためにサードパーティの認証システムに送信され" +"ます" #: settings/serializers/security.py:158 msgid "Enable Login captcha" @@ -5863,11 +6043,13 @@ msgstr "リモートログイン保護" #: settings/serializers/security.py:164 msgid "" -"The system determines whether the login IP address belongs to a common login" -" city. If the account is logged in from a common login city, the system " -"sends a remote login reminder" +"The system determines whether the login IP address belongs to a common login " +"city. If the account is logged in from a common login city, the system sends " +"a remote login reminder" msgstr "" -"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断します。アカウントが共通のログイン都市からログインしている場合、システムはリモートログインリマインダーを送信します" +"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断" +"します。アカウントが共通のログイン都市からログインしている場合、システムはリ" +"モートログインリマインダーを送信します" #: settings/serializers/security.py:170 msgid "Unused user timeout (day)" @@ -5877,7 +6059,9 @@ msgstr "未使用のユーザータイムアウト(日)" msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit." -msgstr "毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効にします。" +msgstr "" +"毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効に" +"します。" #: settings/serializers/security.py:191 msgid "Enable watermark" @@ -5914,7 +6098,8 @@ msgstr "セッション共有" #: settings/serializers/security.py:209 msgid "Enabled, Allows user active session to be shared with other users" -msgstr "ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" +msgstr "" +"ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" #: settings/serializers/security.py:215 msgid "Insecure command alert" @@ -5933,8 +6118,7 @@ msgstr "複数のユーザーを使用して、分割" msgid "[%s] %s" msgstr "[%s] %s" -#: settings/serializers/terminal.py:9 -#: terminal/models/virtualapp/provider.py:11 +#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 msgid "Hostname" msgstr "ホスト名" @@ -5950,7 +6134,9 @@ msgstr "ターミナルレジスタの有効化" msgid "" "Allow terminal register, after all terminal setup, you should disable this " "for security" -msgstr "ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティのためにこれを無効にする必要があります" +msgstr "" +"ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティ" +"のためにこれを無効にする必要があります" #: settings/serializers/terminal.py:27 msgid "Password auth" @@ -5965,7 +6151,8 @@ msgid "" "Tips: If use other auth method, like AD/LDAP, you should disable this to " "avoid being able to log in after deleting" msgstr "" -"ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの削除後にこの項目を無効にする必要があります, ログインも可能" +"ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの" +"削除後にこの項目を無効にする必要があります, ログインも可能" #: settings/serializers/terminal.py:34 msgid "List sort by" @@ -6106,7 +6293,9 @@ msgstr "インポート" #: templates/_csv_import_modal.html:12 msgid "Download the imported template or use the exported CSV file format" -msgstr "インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" +msgstr "" +"インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形" +"式を使用する" #: templates/_csv_import_modal.html:13 msgid "Download the import template" @@ -6122,7 +6311,9 @@ msgstr "ファイルを選択してください" #: templates/_csv_update_modal.html:12 msgid "Download the update template or use the exported CSV file format" -msgstr "更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" +msgstr "" +"更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用す" +"る" #: templates/_csv_update_modal.html:13 msgid "Download the update template" @@ -6163,7 +6354,8 @@ msgid "" " " msgstr "" "\n" -" アカウントが期限切れになったので、管理者に連絡してください。 " +" アカウントが期限切れになったので、管理者に連絡してくださ" +"い。 " #: templates/_message.html:13 msgid "Your account will at" @@ -6177,11 +6369,13 @@ msgstr "期限切れです。" #, python-format msgid "" "\n" -" Your password has expired, please click this link update password.\n" +" Your password has expired, please click this link update password.\n" " " msgstr "" "\n" -" パスワードが期限切れになりましたので、クリックしてください リンク パスワードの更新\n" +" パスワードが期限切れになりましたので、クリックしてください " +" リンク パスワードの更新\n" " " #: templates/_message.html:30 @@ -6192,33 +6386,39 @@ msgstr "あなたのパスワードは" #, python-format msgid "" "\n" -" please click this link to update your password.\n" +" please click this " +"link to update your password.\n" " " msgstr "" "\n" -" クリックしてください リンク パスワードの更新\n" +" クリックしてください リンク パスワードの更新\n" " " #: templates/_message.html:43 #, python-format msgid "" "\n" -" Your information was incomplete. Please click this link to complete your information.\n" +" Your information was incomplete. Please click this link to complete your information.\n" " " msgstr "" "\n" -" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" +" あなたの情報が不完全なので、クリックしてください。 リンク 補完\n" " " #: templates/_message.html:56 #, python-format msgid "" "\n" -" Your ssh public key not set or expired. Please click this link to update\n" +" Your ssh public key not set or expired. Please click this link to update\n" " " msgstr "" "\n" -" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" +" SSHキーが設定されていないか無効になっている場合は、 リンク 更新\n" " " #: templates/_mfa_login_field.html:28 @@ -6249,8 +6449,9 @@ msgid "" "JumpServer Client, currently used to launch the client, now only support " "launch RDP SSH client, The Telnet client will next" msgstr "" -"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起するために使用されており、現在はRDP " -"SSHクライアントのみをサポートしています。「Telnetは将来的にサポートする" +"JumpServerクライアントは、現在特定のクライアントプログラムの接続資産を喚起す" +"るために使用されており、現在はRDP SSHクライアントのみをサポートしています。" +"「Telnetは将来的にサポートする" #: templates/resource_download.html:33 msgid "Microsoft" @@ -6264,7 +6465,9 @@ msgstr "公式" msgid "" "macOS needs to download the client to connect RDP asset, which comes with " "Windows" -msgstr "MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロードする必要があります" +msgstr "" +"MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロード" +"する必要があります" #: templates/resource_download.html:44 msgid "Windows Remote application publisher tools" @@ -6274,7 +6477,9 @@ msgstr "Windowsリモートアプリケーション発行者ツール" msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" -msgstr "OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続するプログラムです" +msgstr "" +"OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続する" +"プログラムです" #: templates/resource_download.html:53 msgid "Offline video player" @@ -6348,7 +6553,9 @@ msgid "Secure session sharing settings is disabled" msgstr "安全なセッション共有設定が無効になっています" #: terminal/apps.py:9 -msgid "Terminals" +#, fuzzy +#| msgid "Terminals" +msgid "App Terminals" msgstr "ターミナル管理" #: terminal/backends/command/models.py:19 @@ -6679,8 +6886,7 @@ msgstr "セッション再生をダウンロードできます" msgid "Account id" msgstr "アカウント ID" -#: terminal/models/session/session.py:36 -#: terminal/models/session/sharing.py:118 +#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:118 msgid "Login from" msgstr "ログイン元" @@ -6733,8 +6939,8 @@ msgstr "アクションパーミッション" msgid "Origin" msgstr "ソース" -#: terminal/models/session/sharing.py:42 -#: terminal/models/session/sharing.py:100 terminal/notifications.py:261 +#: terminal/models/session/sharing.py:42 terminal/models/session/sharing.py:100 +#: terminal/notifications.py:261 msgid "Session sharing" msgstr "セッション共有" @@ -6847,16 +7053,21 @@ msgstr "コア サービス アドレス" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core service. \n" -" If the release machine and the Core service are on the same network segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" +" Tips: The application release machine communicates with the Core " +"service. \n" +" If the release machine and the Core service are on the same network " +"segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in " +"the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリース マシンとコア サービスが同じネットワーク " -"セグメント上にある場合は、イントラネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト URL を入力します。
例: " -"https://172.16.10.110 または https://dev.jumpserver.com" +"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリー" +"ス マシンとコア サービスが同じネットワーク セグメント上にある場合は、イントラ" +"ネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト " +"URL を入力します。
例: https://172.16.10.110 または https://dev." +"jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:208 msgid "Ignore Certificate Verification" @@ -6886,7 +7097,9 @@ msgstr "最大切断時間(ミリ秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時間を設定します(60000ミリ秒後にセッションをログオフ)。" +msgstr "" +"ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時" +"間を設定します(60000ミリ秒後にセッションをログオフ)。" #: terminal/serializers/applet_host.py:60 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -6894,10 +7107,11 @@ msgstr "RDSリモートアプリケーションのログアウト時間制限( #: terminal/serializers/applet_host.py:62 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" -" programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " +"programs (0 milliseconds, log off the session immediately)." msgstr "" -"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ時間を設定します(0ミリ秒、セッションを即座にログオフ)。" +"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ" +"時間を設定します(0ミリ秒、セッションを即座にログオフ)。" #: terminal/serializers/applet_host.py:71 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -6906,13 +7120,17 @@ msgstr "ロードステータス" #: terminal/serializers/applet_host.py:85 msgid "" -"These accounts are used to connect to the published application, the account" -" is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account " +"is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will" -" be used to connect" +"support multiple open and the special has been used, the public account will " +"be used to connect" msgstr "" -"これらのアカウントは、公開されたアプリケーションに接続するために使用されます。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公開されています。アプリケーションが複数のオープンをサポートしていない場合、および特別なものが使用されている場合、公開アカウントが使用されます。" +"これらのアカウントは、公開されたアプリケーションに接続するために使用されま" +"す。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専" +"用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公" +"開されています。アプリケーションが複数のオープンをサポートしていない場合、お" +"よび特別なものが使用されている場合、公開アカウントが使用されます。" #: terminal/serializers/applet_host.py:92 msgid "The number of public accounts created automatically" @@ -6924,8 +7142,9 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項目 CACHE_LOGIN_PASSWORD_ENABLED=true " -"を設定してサービスを再起動して有効にしてください。" +"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項" +"目 CACHE_LOGIN_PASSWORD_ENABLED=true を設定してサービスを再起動して有効にして" +"ください。" #: terminal/serializers/command.py:19 msgid "Session ID" @@ -6971,7 +7190,9 @@ msgstr "Oracle がリッスンするポート範囲" msgid "" "Oracle proxy server listen port is dynamic, Each additional Oracle database " "instance adds a port listener" -msgstr "Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データベースインスタンスはポートリスナーを追加します" +msgstr "" +"Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データ" +"ベースインスタンスはポートリスナーを追加します" #: terminal/serializers/endpoint.py:38 msgid "" @@ -6979,19 +7200,22 @@ msgid "" "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" msgstr "" -"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラウザのアクセス アドレスが使用されます " -"(デフォルトのエンドポイントではホストの変更は許可されません)。" +"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラ" +"ウザのアクセス アドレスが使用されます (デフォルトのエンドポイントではホストの" +"変更は許可されません)。" #: terminal/serializers/endpoint.py:64 msgid "" -"The assets within this IP range, the following endpoint will be used for the" -" connection" +"The assets within this IP range, the following endpoint will be used for the " +"connection" msgstr "このIP範囲内のアセットは、以下のエンドポイントを使用して接続されます" #: terminal/serializers/endpoint.py:65 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" -msgstr "異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用して実装します" +msgstr "" +"異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用" +"して実装します" #: terminal/serializers/endpoint.py:69 msgid "Asset IP" @@ -7104,6 +7328,24 @@ msgstr "Docタイプ" msgid "Session id" msgstr "セッション" +#: terminal/serializers/terminal.py:42 +#, fuzzy +#| msgid "Have online sessions" +msgid "Online sessions" +msgstr "オンラインセッションを持つ" + +#: terminal/serializers/terminal.py:43 +#, fuzzy +#| msgid "Is active" +msgid "Is alive" +msgstr "アクティブです。" + +#: terminal/serializers/terminal.py:49 +#, fuzzy +#| msgid "State" +msgid "Stat" +msgstr "状態" + #: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 msgid "Not found" msgstr "見つかりません" @@ -7163,13 +7405,16 @@ msgid "" "administrator to open more ports." msgstr "" "利用可能なポートと一致しません。データベースの数が、データベース プロキシ " -"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開くには、管理者に連絡してください。" +"サービスによって開かれたポートの数を超えた可能性があります。さらにポートを開" +"くには、管理者に連絡してください。" #: terminal/utils/db_port_mapper.py:113 msgid "" -"No ports can be used, check and modify the limit on the number of ports that" -" Magnus listens on in the configuration file." -msgstr "使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の制限を確認して変更してください. " +"No ports can be used, check and modify the limit on the number of ports that " +"Magnus listens on in the configuration file." +msgstr "" +"使用できるポートがありません。設定ファイルで Magnus がリッスンするポート数の" +"制限を確認して変更してください. " #: terminal/utils/db_port_mapper.py:115 msgid "All available port count: {}, Already use port count: {}" @@ -7180,7 +7425,9 @@ msgid "Applicant" msgstr "応募者" #: tickets/apps.py:7 -msgid "Tickets" +#, fuzzy +#| msgid "Tickets" +msgid "App Tickets" msgstr "チケット" #: tickets/const.py:9 @@ -7239,7 +7486,9 @@ msgstr "チケットはすでに閉じています" msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: {}" +msgstr "" +"チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: " +"{}" #: tickets/handlers/base.py:85 msgid "Change field" @@ -7493,7 +7742,9 @@ msgstr "承認" #: tickets/views/approve.py:41 msgid "" "This ticket does not exist, the process has ended, or this link has expired" -msgstr "このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効になっています" +msgstr "" +"このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効に" +"なっています" #: tickets/views/approve.py:69 msgid "Click the button below to approve or reject" @@ -7519,6 +7770,12 @@ msgstr "自分自身を招待することはできません" msgid "Could not reset self otp, use profile reset instead" msgstr "自己otpをリセットできませんでした、代わりにプロファイルリセットを使用" +#: users/apps.py:9 +#, fuzzy +#| msgid "App assets" +msgid "App Users" +msgstr "アプリ資産" + #: users/const.py:10 msgid "System administrator" msgstr "システム管理者" @@ -7581,7 +7838,8 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入ります。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" +"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま" +"す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" #: users/forms/profile.py:61 msgid "* Enable MFA to make the account more secure." @@ -7589,11 +7847,12 @@ msgstr "* アカウントをより安全にするためにMFAを有効にしま #: users/forms/profile.py:70 msgid "" -"In order to protect you and your company, please keep your account, password" -" and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password " +"and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" +"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報" +"を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" #: users/forms/profile.py:77 msgid "Finish" @@ -7661,7 +7920,7 @@ msgstr "ユーザー設定" msgid "Force enable" msgstr "強制有効" -#: users/models/user.py:812 users/serializers/user.py:169 +#: users/models/user.py:812 users/serializers/user.py:175 msgid "Is service account" msgstr "サービスアカウントです" @@ -7684,7 +7943,7 @@ msgstr "OTP 秘密" # msgid "Private key" # msgstr "ssh秘密鍵" #: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:166 +#: users/serializers/user.py:172 msgid "Is first login" msgstr "最初のログインです" @@ -7809,7 +8068,9 @@ msgid "" "remote computer to fit the window size of the client computer when the " "window is resized." msgstr "" -"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコンピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように拡大または縮小するかどうかを決定します。" +"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコン" +"ピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように" +"拡大または縮小するかどうかを決定します。" # msgid "" # "Determines whether the client computer should scale the content on the " @@ -7879,7 +8140,7 @@ msgstr "MFAフォース有効化" msgid "Login blocked" msgstr "ログインがロックされました" -#: users/serializers/user.py:99 users/serializers/user.py:175 +#: users/serializers/user.py:99 users/serializers/user.py:181 msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" @@ -7887,35 +8148,46 @@ msgstr "仮想MFAがバインドされているか" msgid "Can public key authentication" msgstr "公開鍵認証が可能" -#: users/serializers/user.py:170 +#: users/serializers/user.py:166 +msgid "Groups" +msgstr "" + +#: users/serializers/user.py:169 +#, fuzzy +#| msgid "Send user" +msgid "Superuser" +msgstr "ユーザーを送信" + +#: users/serializers/user.py:176 msgid "Is org admin" msgstr "組織管理者です" -#: users/serializers/user.py:172 +#: users/serializers/user.py:178 msgid "Avatar url" msgstr "アバターURL" -#: users/serializers/user.py:176 +#: users/serializers/user.py:182 msgid "MFA level" msgstr "MFA レベル" -#: users/serializers/user.py:287 -msgid "Select users" -msgstr "ユーザーの選択" +#: users/serializers/user.py:294 +msgid "" +"For security, only a partial list of users is displayed. You can try to " +"search for more" +msgstr "" -#: users/serializers/user.py:288 -msgid "For security, only list several users" -msgstr "セキュリティのために、複数のユーザーのみをリストします" - -#: users/serializers/user.py:321 +#: users/serializers/user.py:327 msgid "name not unique" msgstr "名前が一意ではない" #: users/signal_handlers.py:32 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the administrator." -msgstr "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザーはユーザーリストにありません。管理者に連絡してください。" +" and the current user is not in the user list. Please contact the " +"administrator." +msgstr "" +"管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" +"はユーザーリストにありません。管理者に連絡してください。" #: users/tasks.py:25 msgid "Check password expired" @@ -7949,7 +8221,8 @@ msgstr "アカウントの有効期限は" msgid "" "In order not to affect your normal work, please contact the administrator " "for confirmation." -msgstr "通常の作業に影響を与えないように、確認のために管理者に連絡してください。" +msgstr "" +"通常の作業に影響を与えないように、確認のために管理者に連絡してください。" #: users/templates/users/_msg_password_expire_reminder.html:7 msgid "Your password will expire in" @@ -7959,7 +8232,9 @@ msgstr "パスワードは" msgid "" "For your account security, please click on the link below to update your " "password in time" -msgstr "アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間内に更新してください" +msgstr "" +"アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間" +"内に更新してください" #: users/templates/users/_msg_password_expire_reminder.html:11 msgid "Click here update password" @@ -7967,7 +8242,8 @@ msgstr "ここをクリック更新パスワード" #: users/templates/users/_msg_password_expire_reminder.html:16 msgid "If your password has expired, please click the link below to" -msgstr "パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" +msgstr "" +"パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" #: users/templates/users/_msg_reset_mfa.html:7 msgid "Your MFA has been reset by site administrator" @@ -8075,9 +8351,11 @@ msgstr "ワンタイムパスワード認証子のバインド" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a " -"6-bit verification code" -msgstr "MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コードでスキャンします。" +"Use the MFA Authenticator application to scan the following qr code for a 6-" +"bit verification code" +msgstr "" +"MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コード" +"でスキャンします。" #: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_verify_mfa.html:27 @@ -8092,7 +8370,9 @@ msgstr "アプリのインストール" msgid "" "Download and install the MFA Authenticator application on your phone or " "applet of WeChat" -msgstr "携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウンロードしてインストールします" +msgstr "" +"携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウン" +"ロードしてインストールします" #: users/templates/users/user_otp_enable_install_app.html:18 msgid "Android downloads" @@ -8106,7 +8386,9 @@ msgstr "IPhoneのダウンロード" msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." -msgstr "インストール後、次のステップをクリックしてバインディングページに入ります (インストールされている場合は、次のステップに直接進みます)。" +msgstr "" +"インストール後、次のステップをクリックしてバインディングページに入ります (イ" +"ンストールされている場合は、次のステップに直接進みます)。" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -8121,7 +8403,8 @@ msgstr "認証" msgid "" "The account protection has been opened, please complete the following " "operations according to the prompts" -msgstr "アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" +msgstr "" +"アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" #: users/templates/users/user_verify_mfa.html:17 msgid "Open MFA Authenticator and enter the 6-bit dynamic code" @@ -8133,7 +8416,8 @@ msgstr "すでにバインド済み" #: users/views/profile/otp.py:86 msgid "MFA already bound, disable first, then bound" -msgstr "MFAはすでにバインドされており、最初に無効にしてからバインドされています。" +msgstr "" +"MFAはすでにバインドされており、最初に無効にしてからバインドされています。" #: users/views/profile/otp.py:113 msgid "OTP enable success" @@ -8159,11 +8443,13 @@ msgstr "OTP無効化成功、ログインページを返す" msgid "Password invalid" msgstr "パスワード無効" -#: users/views/profile/reset.py:64 +#: users/views/profile/reset.py:65 msgid "" -"Non-local users can log in only from third-party platforms and cannot change" -" their passwords: {}" -msgstr "ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが許可され、パスワードの変更はサポートされていません: {}" +"Non-local users can log in only from third-party platforms and cannot change " +"their passwords: {}" +msgstr "" +"ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが" +"許可され、パスワードの変更はサポートされていません: {}" #: users/views/profile/reset.py:185 users/views/profile/reset.py:196 msgid "Token invalid or expired" @@ -8358,8 +8644,7 @@ msgstr "クラウドアカウント" msgid "Test cloud account" msgstr "クラウドアカウントのテスト" -#: xpack/plugins/cloud/models.py:92 -#: xpack/plugins/cloud/serializers/task.py:159 +#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers/task.py:159 msgid "Regions" msgstr "リージョン" @@ -8427,8 +8712,7 @@ msgstr "インスタンス" msgid "Sync instance detail" msgstr "同期インスタンスの詳細" -#: xpack/plugins/cloud/models.py:279 -#: xpack/plugins/cloud/serializers/task.py:72 +#: xpack/plugins/cloud/models.py:279 xpack/plugins/cloud/serializers/task.py:72 msgid "Rule relation" msgstr "条件関係" @@ -8484,8 +8768,7 @@ msgstr "ルール一致" msgid "Rule value" msgstr "ルール値" -#: xpack/plugins/cloud/models.py:325 -#: xpack/plugins/cloud/serializers/task.py:75 +#: xpack/plugins/cloud/models.py:325 xpack/plugins/cloud/serializers/task.py:75 msgid "Strategy rule" msgstr "戦略ルール" @@ -8497,8 +8780,7 @@ msgstr "アクション属性" msgid "Action value" msgstr "アクション値" -#: xpack/plugins/cloud/models.py:349 -#: xpack/plugins/cloud/serializers/task.py:78 +#: xpack/plugins/cloud/models.py:349 xpack/plugins/cloud/serializers/task.py:78 msgid "Strategy action" msgstr "戦略アクション" @@ -8762,8 +9044,9 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが実行されると、有効な IP アドレスのみが同期されます。 " -"
ポートが0の場合、すべてのIPアドレスが有効です。" +"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが" +"実行されると、有効な IP アドレスのみが同期されます。
ポートが0の場合、す" +"べてのIPアドレスが有効です。" #: xpack/plugins/cloud/serializers/account_attrs.py:190 msgid "Hostname prefix" @@ -8793,8 +9076,10 @@ msgid "" "all instances and randomly match IP addresses.
Such as: 192.168.1.0/24, " "10.1.1.1-10.1.1.20" msgstr "" -"IP範囲に一致するインスタンスのみが同期されます。
インスタンスに複数のIPアドレスが含まれている場合、一致する最初のIPアドレスが作成されたアセットのIPとして使用されます。" -"
デフォルト値の*は、すべてのインスタンスを同期し、IPアドレスをランダムに一致させることを意味します。
例: " +"IP範囲に一致するインスタンスのみが同期されます。
インスタンスに複数のIPア" +"ドレスが含まれている場合、一致する最初のIPアドレスが作成されたアセットのIPと" +"して使用されます。
デフォルト値の*は、すべてのインスタンスを同期し、IPア" +"ドレスをランダムに一致させることを意味します。
例: " "192.168.1.0/24,10.1.1.1-10.1.1.20。" #: xpack/plugins/cloud/serializers/task.py:157 @@ -8842,6 +9127,7 @@ msgid "Logo of logout page" msgstr "ログアウトページのロゴ" #: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "テーマ" @@ -8857,6 +9143,14 @@ msgstr "公安網登録番号" msgid "Interface setting" msgstr "インターフェイスの設定" +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "ライセンスのインポートに成功" @@ -8885,6 +9179,30 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Applications" +#~ msgstr "アプリケーション" + +#~ msgid "Cycle perform" +#~ msgstr "サイクル実行" + +#~ msgid "Regularly perform" +#~ msgstr "定期的に実行する" + +#~ msgid "SMTP port" +#~ msgstr "SMTPポート" + +#~ msgid "SMTP account" +#~ msgstr "SMTPアカウント" + +#~ msgid "SMTP password" +#~ msgstr "SMTPパスワード" + +#~ msgid "Select users" +#~ msgstr "ユーザーの選択" + +#~ msgid "For security, only list several users" +#~ msgstr "セキュリティのために、複数のユーザーのみをリストします" + #~ msgid "Password can not contains `{{` or `}}`" #~ msgstr "パスワードには `{` または `}` 文字を含めることはできません" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index bed5c148e..d14aba4f4 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ed5116e7c5bd0a781865ae6ee44ad2f7ea0724b1fbe692302348bcf1c354b27 -size 140700 +oid sha256:4cf70b44c5a7e9b76558aac8a6974c50916f6357e2e9d8f15f043d145faf0522 +size 140567 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 3abe16f7d..de9800978 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-31 19:55+0800\n" +"POT-Creation-Date: 2024-02-02 11:06+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -1107,6 +1107,7 @@ msgid "Active" msgstr "激活中" #: acls/models/base.py:81 users/models/preference.py:16 +#: users/serializers/user.py:293 msgid "Users" msgstr "用户" @@ -7991,13 +7992,11 @@ msgstr "头像路径" msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:293 -msgid "Select users" -msgstr "选择用户" - #: users/serializers/user.py:294 -msgid "For security, only list several users" -msgstr "为了安全,仅列出几个用户" +msgid "" +"For security, only a partial list of users is displayed. You can try to " +"search for more" +msgstr "" #: users/serializers/user.py:327 msgid "name not unique" @@ -8986,6 +8985,12 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Select users" +#~ msgstr "选择用户" + +#~ msgid "For security, only list several users" +#~ msgstr "为了安全,仅列出几个用户" + #~ msgid "Period" #~ msgstr "周期" diff --git a/apps/i18n/lina/en.bak.json b/apps/i18n/lina/en.bak.json index b84ae271e..109da8229 100644 --- a/apps/i18n/lina/en.bak.json +++ b/apps/i18n/lina/en.bak.json @@ -1099,7 +1099,7 @@ "OrganizationMembership": "Organization Members", "OrganizationUpdate": "Update organization", "Os": "Operating System", - "Other": "Other Settings", + "Other": "Other", "OtherAuth": "Other Authentication", "OtherProtocol": "Other Protocols", "OtherRules": "Other Rules", @@ -1547,6 +1547,7 @@ "Support": "Support", "SupportedProtocol": "Supported Protocol", "SupportedProtocolHelpText": "Set the protocols supported by assets. Clicking the settings button can modify custom configurations for protocols, such as SFTP directory, RDP AD domain, etc.", + "SwitchFrom": "Switch From", "SwitchPage": "Switch Views", "SwitchToUser": "Su User", "SwitchToUserListTips": "When connecting to assets through the following users, the current system user will be used to log in and then switch.", @@ -1780,7 +1781,6 @@ "UserSession": "User Session", "UserSetting": "Preference Settings", "UserSwitch": "User switch", - "SwitchFrom": "Switch From", "UserUpdate": "Update User", "UserUsername": "User (Username)", "Username": "Username", @@ -1843,4 +1843,4 @@ "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} +} \ No newline at end of file diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 12bcf674f..c35f40775 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -34,6 +34,7 @@ "Actions": "Action", "ActionsTips": "The effects of each authority's agreement are different, click on the icon behind the authority to view", "Activate": "Activate", + "ActivateSelected": "Activate selected", "Active": "Activating", "ActiveAsset": "Recently Logged in", "ActiveAssetRanking": "Login Asset Ranking", @@ -105,13 +106,13 @@ "Approved": "Agreed", "ApproverNumbers": "Number of Approvers", "ApsaraStack": "Alibaba Cloud Private Cloud", - "Asset": "Create an Organization", + "Asset": "Asset", "AssetAccount": "Account", "AssetAccountDetail": "Account Details", - "AssetAclCreate": "Create Asset Login Rules", - "AssetAclDetail": "Asset Login Rule Details", - "AssetAclList": "Asset Login", - "AssetAclUpdate": "Update Asset Login Rules", + "AssetAclCreate": "Create Asset Connect Rules", + "AssetAclDetail": "Asset Connect Rule Details", + "AssetAclList": "Asset Connect", + "AssetAclUpdate": "Update Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", "AssetAmount": "Number of Assets", "AssetAndNode": "Assets/Nodes", @@ -249,7 +250,7 @@ "CommandFilterRuleContentHelpText": "One command per line", "CommandFilterRules": "Command Filter Rules", "CommandGroup": "Command Group", - "CommandGroupCreate": "Create Command Set", + "CommandGroupCreate": "Create Command Group", "CommandGroupDetail": "Command Set Details", "CommandGroupList": "Command Group", "CommandGroupUpdate": "Update Command Group", @@ -266,12 +267,12 @@ "Config": "Settings", "Confirm": "Confirm", "ConfirmPassword": "Confirm Password", - "ConnectMethod": "Connection Method", - "ConnectMethodACLHelpMsg": "Connection methods can be filtered to control whether users can use a certain connection method to log in to the asset. According to your set rules, some connection methods can be allowed, while others can be prohibited (globally effective).", - "ConnectMethodAclCreate": "Create Connection Method Control", - "ConnectMethodAclDetail": "Connection Method Control Details", - "ConnectMethodAclList": "Connection Method", - "ConnectMethodAclUpdate": "Update Connection Method Control", + "ConnectMethod": "Connect Method", + "ConnectMethodACLHelpMsg": "Connect Methods can be filtered to control whether users can use a certain Connect Method to log in to the asset. According to your set rules, some Connect Methods can be allowed, while others can be prohibited (globally effective).", + "ConnectMethodAclCreate": "Create Connect Method Control", + "ConnectMethodAclDetail": "Connect Method Control Details", + "ConnectMethodAclList": "Connect Method", + "ConnectMethodAclUpdate": "Update Connect Method Control", "ConnectWebSocketError": "Connection to WebSocket Failed", "ConnectionDropped": "Connection Disconnected", "ConnectionToken": "Connection token", @@ -306,7 +307,7 @@ "CurrentConnections": "Current Number of Connections", "CurrentUserVerify": "Verify Current User", "Custom": "Custom", - "CustomCol": "Customize List Fields", + "CustomCol": "Customize Display Columns", "CustomCreate": "Create Asset-Custom", "CustomFields": "Custom Attributes", "CustomFile": "Please Place Custom Files in the Specified Directory (data/sms/main.py), and Enable Configuration Item SMS_CUSTOM_FILE_MD5= in config.txt", @@ -352,6 +353,7 @@ "DeleteOrgMsg": "User List, User Group, Asset List, Network Domain List, Manage Users, System Users, Tag Management, Asset Authorization Rules", "DeleteOrgTitle": "Please Ensure the Following Information within the Organization has been Deleted", "DeleteReleasedAssets": "Delete Released Assets", + "DeleteSelected": "Delete selected", "DeleteSuccess": "Delete Successfully", "DeleteSuccessMsg": "Delete Successful", "DeleteWarningMsg": "Are You Sure You Want to Delete", @@ -366,6 +368,7 @@ "DingTalk": "DingTalk", "DingTalkTest": "Test", "Disable": "Disable", + "DisableSelected": "Disable selected", "DisplayName": "Name", "Docs": "Document", "Domain": "Domain", @@ -428,7 +431,7 @@ "Export": "Export", "ExportAll": "Export All", "ExportOnlyFiltered": "Export Search Results Only", - "ExportOnlySelectedItems": "Export Selected Items Only", + "ExportOnlySelectedItems": "Export selected Items Only", "ExportRange": "Export Range", "FC": "Fusion Compute", "Failed": "Failed", @@ -534,7 +537,7 @@ "IntervalOfCreateUpdatePage": "Unit: Hour", "InvalidJson": "Invalid JSON", "InviteSuccess": "Invitation Successful", - "InviteUser": "Invite User", + "InviteUser": "Invite Member", "InviteUserInOrg": "Invite users to join this organization", "Ip": "IP", "IpGroup": "IP Group", @@ -588,7 +591,7 @@ "LogData": "Log Data", "LogOfLoginSuccessNum": "The number of successful login logs", "Logging": "Log Record", - "LoginAssetConfirm": "Asset Login Review", + "LoginAssetConfirm": "Asset Connect Review", "LoginAssetToday": "Today's Active Assets", "LoginAssets": "Active Assets", "LoginConfirm": "Login review", @@ -629,6 +632,7 @@ "MatchedCount": "Match Results", "Members": "Members", "MenuAccounts": "Accounts", + "MenuAcls": "ACLs", "MenuAssets": "Assets", "MenuMore": "More...", "MenuPermissions": "Policies", @@ -644,7 +648,7 @@ "Monitor": "Monitoring", "Month": "Month", "More": "More", - "MoreActions": "More Actions", + "MoreActions": "Actions", "MoveAssetToNode": "Move Assets to Nodes", "MsgSubscribe": "Message Subscription", "MyAssets": "My Assets", @@ -708,7 +712,7 @@ "OrgAdmin": "Organization Admin", "OrgAuditor": "Organizational Auditors", "OrgName": "Authorized Organization Name", - "OrgRole": "Organizational Role", + "OrgRole": "Organizational Roles", "OrgRoleHelpText": "The organizational role is the user's role within the current organization", "OrgRoles": "Organizational Role", "OrgUser": "Organize Users", @@ -824,6 +828,7 @@ "RemoteAddr": "Remote Address", "Remove": "Remove", "RemoveAssetFromNode": "Remove Asset From Node", + "RemoveSelected": "Remove selected", "RemoveSuccessMsg": "Successfully removed", "Rename": "Rename", "RenameNode": "Rename Nodes", @@ -1032,7 +1037,7 @@ "SyncInstanceTaskHistoryList": "Synchronization History List", "SyncInstanceTaskList": "Synchronization Task List", "SyncInstanceTaskUpdate": "Update Sync Task", - "SyncSelected": "Sync Selected", + "SyncSelected": "Sync selected", "SyncSetting": "Sync Settings", "SyncStrategy": "Synchronization Policy", "SyncSuccessMsg": "Synchronization Succeeded", @@ -1115,8 +1120,8 @@ "UnblockUser": "Unlock User", "UniqueError": "Only One of the Following Properties Can Be Set", "UnlockSuccessMsg": "Unlock Successful", - "UnselectedOrg": "No Organization Selected", - "UnselectedUser": "No User Selected", + "UnselectedOrg": "No Organization selected", + "UnselectedUser": "No User selected", "UpDownload": "Upload & Download", "Update": "Update", "UpdateAccount": "Update Account", @@ -1128,7 +1133,7 @@ "UpdateErrorMsg": "Update Failed", "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", "UpdateSSHKey": "Update SSH Public Key", - "UpdateSelected": "Update Selected", + "UpdateSelected": "Update selected", "UpdateSuccessMsg": "Update Successful", "Updated": "Updated", "Upload": "Upload", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 7145a3e7f..54ff92613 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -629,6 +629,7 @@ "MatchedCount": "匹配结果", "Members": "成员", "MenuAccounts": "账号管理", + "MenuAcls": "访问控制", "MenuAssets": "资产管理", "MenuMore": "更多...", "MenuPermissions": "授权管理", @@ -677,6 +678,7 @@ "NotSet": "未设置", "NotSpecialEmoji": "不允许输入特殊表情符号", "Nothing": "无", + "Notifications": "通知设置", "Now": "现在", "Number": "编号", "NumberOfVisits": "访问次数", @@ -1207,6 +1209,5 @@ "Workbench": "工作台", "Workspace": "工作空间", "Yes": "是", - "Notifications": "通知设置", "ZStack": "ZStack" -} +} \ No newline at end of file diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 692ae5ab7..d5ba62c17 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -290,8 +290,8 @@ class InviteSerializer(RolesSerializerMixin, serializers.Serializer): users = serializers.PrimaryKeyRelatedField( queryset=User.get_nature_users(), many=True, - label=_("Select users"), - help_text=_("For security, only list several users"), + label=_("Users"), + help_text=_("For security, only a partial list of users is displayed. You can try to search for more"), ) system_roles = None From 886cf6ed1fbbaf2e455d5fe31244652e6e8fae25 Mon Sep 17 00:00:00 2001 From: ibuler Date: Sun, 4 Feb 2024 16:46:33 +0800 Subject: [PATCH 012/343] =?UTF-8?q?perf:=20=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/accounts/serializers/automations/base.py | 3 +- apps/assets/serializers/automations/base.py | 2 +- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 8 +- apps/i18n/lina/en.json | 117 +++++++++--------- apps/i18n/lina/zh.json | 3 +- 6 files changed, 71 insertions(+), 66 deletions(-) diff --git a/apps/accounts/serializers/automations/base.py b/apps/accounts/serializers/automations/base.py index 83dc52097..f02ecdc6d 100644 --- a/apps/accounts/serializers/automations/base.py +++ b/apps/accounts/serializers/automations/base.py @@ -24,7 +24,8 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe class Meta: read_only_fields = [ - 'date_created', 'date_updated', 'created_by', 'periodic_display', 'executed_amount' + 'date_created', 'date_updated', 'created_by', + 'periodic_display', 'executed_amount' ] fields = read_only_fields + [ 'id', 'name', 'is_periodic', 'interval', 'crontab', 'comment', diff --git a/apps/assets/serializers/automations/base.py b/apps/assets/serializers/automations/base.py index bbd52cc99..4622c0674 100644 --- a/apps/assets/serializers/automations/base.py +++ b/apps/assets/serializers/automations/base.py @@ -1,4 +1,4 @@ -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from rest_framework import serializers from assets.models import Asset, Node, BaseAutomation, AutomationExecution diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index b28164822..0a3cc3d8c 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d4d85e83261024b7f2bf9a22cb597cf7c596d63e867c77ccf989bf395eda6b4 -size 893 +oid sha256:64f067fcfbca5cfbfd7e61d7e62b083c6e8b63971a01e386dc5c4b699a46d103 +size 1085 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index aaa672ba9..bf0ac2cb4 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -266,7 +266,7 @@ msgstr "" #: accounts/serializers/account/template.py:27 #: authentication/serializers/connect_token_secret.py:50 msgid "Su from" -msgstr "" +msgstr "Switch from" #: accounts/models/account.py:55 assets/const/protocol.py:169 #: settings/serializers/auth/cas.py:20 settings/serializers/auth/feishu.py:20 @@ -631,7 +631,7 @@ msgstr "" #: terminal/models/component/endpoint.py:106 #: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 msgid "Is active" -msgstr "" +msgstr "Active" #: accounts/models/template.py:18 assets/models/_user.py:53 msgid "Auto push" @@ -842,7 +842,7 @@ msgstr "" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:36 msgid "Executed amount" -msgstr "" +msgstr "Executions" #: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:57 @@ -855,7 +855,7 @@ msgstr "" #: accounts/serializers/account/base.py:25 terminal/serializers/storage.py:149 msgid "Key password" -msgstr "" +msgstr "Passphrase" #: accounts/serializers/account/base.py:78 #: assets/serializers/asset/common.py:381 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index c35f40775..4ebefcb55 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -8,34 +8,35 @@ "AccountBackup": "Account Backup", "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update Account Backup", - "AccountChangeSecret": "Change password", + "AccountChangeSecret": "Password Change", "AccountCreate": "Create Account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountDetail": "Account Details", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", "AccountGatherList": "Collection Task", "AccountGatherTaskCreate": "Create Task", - "AccountGatherTaskList": "Account Collection", + "GatheredAccounts": "Collected Accounts", + "AccountGatherTaskList": "Account Collect", "AccountGatherTaskUpdate": "Update Task", "AccountList": "Cloud Account", "AccountPolicy": "Account Policy", "AccountPushCreate": "Account Push Creation", - "AccountPushExecutionList": "Action List", + "AccountPushExecutionList": "Execute History", "AccountPushList": "Account Push", "AccountPushUpdate": "Account Push Update", "AccountStorage": "Account Storage", "AccountTemplate": "Account Template", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the ciphertext is updated, the ciphertext of the accounts created through the template will be updated.", "AccountUpdate": "Update Account", - "Accounts": "Account ", + "Accounts": "Account", "Action": "Action", - "ActionCount": "Number of Actions", + "ActionCount": "Actions", "ActionSetting": "Action Settings", "Actions": "Action", "ActionsTips": "The effects of each authority's agreement are different, click on the icon behind the authority to view", "Activate": "Activate", "ActivateSelected": "Activate selected", - "Active": "Activating", + "Active": "Active", "ActiveAsset": "Recently Logged in", "ActiveAssetRanking": "Login Asset Ranking", "ActiveUser": "Logged in recently", @@ -81,15 +82,15 @@ "AppOps": "Task Center", "AppProvider": "Application Providers", "AppProviderDetail": "Application Provider Details", - "AppletDetail": "Remote Application", + "AppletDetail": "Remote Apps", "AppletHelpText": "In the upload process, if the application does not exist, create the application; If it exists, update the application.", "AppletHostCreate": "Add Remote Application Release Machine", "AppletHostDetail": "Remote Application Publishing Machine Details", "AppletHostDomainHelpText": "This domain belongs to the System Organization", "AppletHostSelectHelpMessage": "When connecting to an asset, the selection of the application publishing machine is random (but the last used one is preferred). If you want to assign a specific publishing machine to an asset, you can tag it as or ;
When selecting an account for the publishing machine, the following situations will choose the user's own account with the same name or proprietary account (starting with js), otherwise use a public account (starting with jms):
  1. Both the publishing machine and application support concurrent;
  2. The publishing machine supports concurrent, but the application does not, and the current application does not use a proprietary account;
  3. The publishing machine does not support concurrent, the application either supports or does not support concurrent, and no application uses a proprietary account;
Note: Whether the application supports concurrent connections is decided by the developer, and whether the host supports concurrent connections is decided by the single user single session setting in the publishing machine configuration", "AppletHostUpdate": "Update Remote App Publishing Machine", - "AppletHosts": "Application Release Machine", - "Applets": "Remote Application", + "AppletHosts": "Remote App Machine", + "Applets": "Remote Apps", "Applicant": "Applicant", "Applications": "Assets", "ApplyAsset": "Apply for Assets", @@ -104,17 +105,17 @@ "ApprovalLevel": "Approval Level", "ApprovalProcess": "Approval Process", "Approved": "Agreed", - "ApproverNumbers": "Number of Approvers", + "ApproverNumbers": "Approvers", "ApsaraStack": "Alibaba Cloud Private Cloud", "Asset": "Asset", - "AssetAccount": "Account", + "AssetAccount": "Accounts", "AssetAccountDetail": "Account Details", "AssetAclCreate": "Create Asset Connect Rules", "AssetAclDetail": "Asset Connect Rule Details", "AssetAclList": "Asset Connect", "AssetAclUpdate": "Update Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", - "AssetAmount": "Number of Assets", + "AssetAmount": "Assets", "AssetAndNode": "Assets/Nodes", "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", "AssetChangeSecretCreate": "Create Account Password Change", @@ -145,13 +146,13 @@ "AttrName": "Attribute Name", "AttrValue": "Attribute value", "Audits": "Audit Console", - "Auth": "Authentication Settings", + "Auth": "Authentication", "AuthLimit": "Login Restrictions", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", "AuthSAMLKeyHelpText": "SP Certificates and keys are used for encrypted communication with IDP", "AuthSaml2UserAttrMapHelpText": "The keys on the left are SAML2 user attributes, the values on the right are authentication platform user attributes", "AuthSecurity": "Authentication Security", - "AuthSetting": "Authentication Settings", + "AuthSetting": "Authentication", "AuthSettings": "Authentication Configuration", "AuthUserAttrMapHelpText": "The Key on the Left Belongs to the JumpServer User Properties, and the Value on the Right Belongs to the Authentication Platform User Properties", "Authentication": "Authentication", @@ -165,9 +166,9 @@ "BadRoleErrorMsg": "Request Error, No Permission for this Action", "BaiduCloud": "Baidu Cloud", "BasePort": "Listening Ports", - "Basic": "Basic Settings", + "Basic": "Basic", "BasicInfo": "Basic Information", - "BasicSetting": "Basic Settings", + "BasicSetting": "Basic", "BatchConsent": "Batch Approval", "BatchProcessing": "Bulk Processing (Selected {Number} Items)", "BatchReject": "Bulk Deny", @@ -220,7 +221,7 @@ "Cleaning": "Regular Clean-up", "Clear": "Clear", "ClearScreen": "Clear Screen", - "ClearSecret": "Clear Ciphertext", + "ClearSecret": "Clear selected secret", "ClearSelection": "Clear Selection", "ClearSuccessMsg": "Clear Successful", "ClickCopy": "Click to Copy", @@ -263,7 +264,7 @@ "Component": "Component", "ComponentMonitor": "Component Monitoring", "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Respond with nothing except the output of the code.", - "ConceptTitle": "🤔 Python Interpreter ", + "ConceptTitle": "🤔 Python Interpreter", "Config": "Settings", "Confirm": "Confirm", "ConfirmPassword": "Confirm Password", @@ -304,7 +305,7 @@ "CriticalLoad": "Serious", "CronExpression": "Complete crontab expression", "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expressions (Online Tool)
If both regular execution and cycle execution are set, regular execution is prioritized", - "CurrentConnections": "Current Number of Connections", + "CurrentConnections": "Current Connections", "CurrentUserVerify": "Verify Current User", "Custom": "Custom", "CustomCol": "Customize Display Columns", @@ -376,7 +377,7 @@ "DomainDetail": "Domain Details", "DomainEnabled": "Enable Domain", "DomainHelpMessage": "Domain Function Is Designed To Solve The Problem That Some Environments (Such As: Hybrid Cloud) Cannot Be Directly Connected, And A New Function Is Added. The Principle Is To Log In Through The Gateway Server. JMS => Domain Gateway => Target Assets", - "DomainList": "Domain", + "DomainList": "Domains", "DomainUpdate": "Update Domain", "Download": "Download", "DownloadCenter": "Download Center", @@ -390,6 +391,7 @@ "Edit": "Edit", "Edition": "Version", "Email": "Email", + "FieldRequiredError": "This field is required", "EmailContent": "Custom Email Content", "EmailTest": "Test Connection", "Empty": "Empty", @@ -413,16 +415,16 @@ "ErrorMsg": "Error", "EsDisabled": "Node is unavailable, please contact administrator", "EsIndex": "ES provides the default index: JumpServer. If indexing by date is enabled, the entered value will serve as the index prefix", - "EsUrl": "Cannot include special character `#`; eg: http://es_user:es_password@es_host:es_port", + "EsUrl": "Cannot include special Char `#`; eg: http://es_user:es_password@es_host:es_port", "Every": "Every", "Exclude": "Does Not Include", "ExcludeAsset": "Skipped Assets", - "ExcludeSymbol": "Exclude Character", + "ExcludeSymbol": "Exclude Char", "Execute": "Execute", "ExecuteOnce": "Execute Once", "Execution": "Execution History", "ExecutionDetail": "Execution History Details", - "ExecutionList": "Execution List", + "ExecutionList": "Execute History", "ExistError": "This Element Already Exists", "Existing": "Already Exists", "ExpirationTimeout": "Expiration Timeout (Seconds)", @@ -437,7 +439,7 @@ "Failed": "Failed", "FailedAsset": "Failed Assets", "FaviconTip": "Note: Website Icon (Suggested Image Size: 16px*16px)", - "Features": "Function settings", + "Features": "Features", "FeiShu": "Feishu", "FeiShuTest": "Test", "FileManager": "File", @@ -455,6 +457,7 @@ "FormatError": "Format Error", "Friday": "Friday", "From": "From", + "TypeTree": "Type Tree", "FromTicket": "From the work order", "FullName": "Full name", "FullySynchronous": "Assets completely synchronized", @@ -465,7 +468,7 @@ "GatewayCreate": "Create Gateway", "GatewayList": "Gateway list", "GatewayUpdate": "Update Gateway", - "GeneralAccounts": "General Account", + "GeneralAccounts": "General Accounts", "Generate": "Generate", "GenerateAccounts": "Regenerate Account", "GenerateSuccessMsg": "Account Creation Successful", @@ -533,7 +536,7 @@ "InstanceName": "Instance Name", "InstancePlatformName": "Instance Platform Name", "Interface": "Network Interface", - "InterfaceSettings": "Interface Settings", + "InterfaceSettings": "Interface", "IntervalOfCreateUpdatePage": "Unit: Hour", "InvalidJson": "Invalid JSON", "InviteSuccess": "Invitation Successful", @@ -583,13 +586,13 @@ "LicenseExpired": "The license has expired", "LicenseFile": "License File", "LicenseForTest": "Test Purpose License, This License is Only for Testing (PoC) and Demonstration", - "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", + "LicenseReachedAssetAmountLimit": "The assets has exceeded the license limit", "LicenseWillBe": "License Expiring Soon", "Loading": "Loading", "LockedIP": "Locked IP {count}", "Log": "Log", "LogData": "Log Data", - "LogOfLoginSuccessNum": "The number of successful login logs", + "LogOfLoginSuccessNum": "The successful login logs", "Logging": "Log Record", "LoginAssetConfirm": "Asset Connect Review", "LoginAssetToday": "Today's Active Assets", @@ -607,13 +610,13 @@ "LoginSucceeded": "Login Successful", "LoginTitleTip": "Note: It will be displayed on the enterprise edition user SSH login KoKo login page (e.g.: Welcome to use JumpServer Open Source Bastion)", "LoginUserRanking": "Login Account Ranking", - "LoginUserToday": "Number of Accounts Logged in Today", + "LoginUserToday": "Accounts Logged in Today", "LoginUsers": "Active Account", "LogoIndexTip": "Tip: It will be displayed in the upper left corner of the page (Recommended image size: 185px*55px)", "LogoLogoutTip": "Tip: It will be displayed on the web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", "Logout": "Logout", "LogsAudit": "Log auditing", - "Lowercase": "Lowercase Letters", + "Lowercase": "Lowercase", "LunaSettingUpdate": "Luna Configuration Settings", "MFAErrorMsg": "MFA errors, please check", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make your account more secure.
After enabling, you will enter the multi-factor authentication binding process the next time you log in; you can also directly bind in (Personal Information->Quick Modification->Change Multi-factor Settings)!", @@ -673,7 +676,7 @@ "NoPermissionVew": "No Permission to View the Current Page", "NoUnreadMsg": "No Unread Messages", "Node": "Node", - "NodeAmount": "Number of Nodes", + "NodeAmount": "Nodes", "NodeInformation": "Node Information", "NodeSearchStrategy": "Node Search Strategy", "NormalLoad": "Normal", @@ -681,7 +684,7 @@ "NotSet": "Not Set", "NotSpecialEmoji": "Special Emoji Input Not Allowed", "Nothing": "None", - "Notifications": "Notification Settings", + "Notifications": "Notification", "Now": "Now", "Number": "Number", "NumberOfVisits": "Visits", @@ -708,20 +711,20 @@ "OpenStatus": "In Approval", "OpenTicket": "Create a Ticket", "OperateLog": "Operation Log", - "OperationLogNum": "Number of Operation Logs", + "OperationLogNum": "Operation Logs", "OrgAdmin": "Organization Admin", - "OrgAuditor": "Organizational Auditors", + "OrgAuditor": "Org Auditors", "OrgName": "Authorized Organization Name", - "OrgRole": "Organizational Roles", - "OrgRoleHelpText": "The organizational role is the user's role within the current organization", - "OrgRoles": "Organizational Role", + "OrgRole": "Org Roles", + "OrgRoleHelpText": "The Org role is the user's role within the current organization", + "OrgRoles": "Org Role", "OrgUser": "Organize Users", "OrganizationCreate": "Local Area Network", "OrganizationDetail": "Organization Details", - "OrganizationList": "Organizational Management", + "OrganizationList": "Organizations", "OrganizationLists": "Organization List", "OrganizationUpdate": "Update Organization", - "Other": "Other Settings", + "Other": "Other", "Output": "Output", "Overview": "Overview", "PageNext": "Next Page", @@ -739,8 +742,8 @@ "PasswordRecord": "Password Record", "PasswordRule": "Password Rules", "PasswordSecurity": "Password Security", - "PasswordStrategy": "Ciphertext Generation Strategy", - "PasswordWillExpiredPrefixMsg": "Password will be in ", + "PasswordStrategy": "Secret Strategy", + "PasswordWillExpiredPrefixMsg": "Password will be in", "PasswordWillExpiredSuffixMsg": "It will expire in days, please change your password as soon as possible.", "Paste": "Paste", "Pause": "Pause", @@ -775,7 +778,7 @@ "PrivilegedTemplate": "Privileged", "Product": "Product", "Profile": "Personal Information", - "ProfileSetting": "Personal Information Settings", + "ProfileSetting": "Personal Information", "Project": "Project Name", "Prompt": "Prompt", "Proportion": "Proportion", @@ -930,7 +933,7 @@ "SecretKey": "Key", "SecretKeyStrategy": "Password Policy", "Secure": "Security", - "Security": "Security Settings", + "Security": "Security", "Select": "Select", "SelectAdhoc": "Select Command", "SelectAll": "Select All", @@ -968,7 +971,7 @@ "SessionTrend": "Session Trends", "Sessions": "Session管理", "SessionsAudit": "Session Audit", - "SessionsNum": "Number of Sessions", + "SessionsNum": "Sessions", "Set": "Configured", "SetDingTalk": "Configure DingTalk Authentication", "SetFailed": "Setting Failed", @@ -999,7 +1002,7 @@ "Spec": "Specify", "SpecAccount": "Designated Account", "SpecAccountTip": "Specify username to choose authorized account", - "SpecialSymbol": "Special Character", + "SpecialSymbol": "Special Char", "SpecificInfo": "Special Information", "SshKeyFingerprint": "SSH Fingerprint", "Startswith": "Starts with...", @@ -1010,7 +1013,7 @@ "StatusRed": "Last Task Execution Failed", "StatusYellow": "There have been recent failures", "Stop": "Stop", - "StorageSetting": "Storage Settings", + "StorageSetting": "Storage", "Strategy": "Strategy", "StrategyCreate": "Create Policy", "StrategyDetail": "Policy Details", @@ -1057,16 +1060,16 @@ "TaskDetail": "Task Details", "TaskDone": "Task Finished", "TaskID": "Task ID", - "TaskList": "Task List", + "TaskList": "System Tasks", "TaskMonitor": "Task Monitoring", "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", "Template": "Template", - "TemplateAdd": "Template Added", + "TemplateAdd": "Add from template", "TemplateCreate": "Create Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", "TencentCloud": "Tencent Cloud", - "Terminal": "Component Settings", + "Terminal": "Components", "TerminalDetail": "Terminal Details", "TerminalUpdate": "Update Terminal", "TerminalUpdateStorage": "Update Terminal Storage", @@ -1091,7 +1094,7 @@ "TicketFlowUpdate": "Update Approval Flow", "Tickets": "Work Order List", "Time": "Time", - "TimeDelta": "Running Time", + "TimeDelta": "Time Cost", "TimeExpression": "Time Expression", "Timeout": "Timeout", "TimeoutHelpText": "When this value is -1, no timeout is specified.", @@ -1102,9 +1105,9 @@ "TodayFailedConnections": "Failed Connections Today", "Token": "Token", "Total": "Total", - "TotalJobFailed": "Number of Failed Execution Actions", - "TotalJobLog": "Total Number of Job Executions", - "TotalJobRunning": "Number of Running Jobs", + "TotalJobFailed": "Failed Execution Actions", + "TotalJobLog": "Total Job Executions", + "TotalJobRunning": "Running Jobs", "Transfer": "Transfer", "Tuesday": "Tuesday", "TwoAssignee": "Subscribe to Authorization ID", @@ -1144,7 +1147,7 @@ "UploadSucceed": "Upload Succeeded", "UploadZipTips": "Please upload a file in zip format", "Uploading": "Uploading File", - "Uppercase": "Uppercase Letter", + "Uppercase": "Uppercase", "UseProtocol": "User Agreement", "UseSSL": "Use SSL/TLS", "User": "User", @@ -1169,15 +1172,15 @@ "UserLoginTrend": "Account Login Trend", "UserProfile": "Personal Information", "UserSession": "User Sessions", - "UserSetting": "Preference Settings", + "UserSetting": "Preference", "UserUpdate": "Update User", "Username": "Username", "UsernamePlaceholder": "Please Enter Username", "Users": "User", "UsersAmount": "User", "UsersAndUserGroups": "User/User Group", - "UsersTotal": "Total Number of Accounts", - "Valid": "Effective", + "UsersTotal": "Total Accounts", + "Valid": "Valid", "Variable": "Variable", "VariableHelpText": "You Can Use {{ key }} to Read Built-in Variables in Commands", "VaultHelpText": "1. For security reasons, Vault storage must be enabled in the configuration file.
2. After enabled, fill in other configurations, and perform tests.
3. Carry out data synchronization, which is one-way, only syncing from the local database to the distant Vault, once synchronization is completed, the local database will no longer store passwords, please back up your data.
4. After modifying Vault configuration the second time, you need to restart the service.", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 54ff92613..0a4ba4396 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -22,6 +22,7 @@ "AccountPushCreate": "账号推送创建", "AccountPushExecutionList": "执行列表", "AccountPushList": "账号推送", + "FieldRequiredError": "此字段是必填项", "AccountPushUpdate": "账号推送更新", "AccountStorage": "账号存储", "AccountTemplate": "账号模版", @@ -1210,4 +1211,4 @@ "Workspace": "工作空间", "Yes": "是", "ZStack": "ZStack" -} \ No newline at end of file +} From f99396ec506d02177461710a8b9c61c5c25e3651 Mon Sep 17 00:00:00 2001 From: ibuler Date: Sun, 4 Feb 2024 19:31:51 +0800 Subject: [PATCH 013/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 4 ++-- apps/i18n/lina/en.json | 18 +++++++++--------- apps/i18n/lina/zh.json | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 0a3cc3d8c..2ced23ae3 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64f067fcfbca5cfbfd7e61d7e62b083c6e8b63971a01e386dc5c4b699a46d103 -size 1085 +oid sha256:4072e28aeee949d188b48b5969b5554d7896674cad9aa18630791fdfca5086ed +size 1157 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index bf0ac2cb4..f85a0fffd 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -4127,7 +4127,7 @@ msgstr "" #: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 msgid "Periodic run" -msgstr "" +msgstr "Periodic" #: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 #: settings/serializers/auth/ldap.py:73 @@ -4141,7 +4141,7 @@ msgstr "" #: ops/mixin.py:112 msgid "Run period" -msgstr "" +msgstr "Period" #: ops/mixin.py:121 msgid "* Please enter a valid crontab expression" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 4ebefcb55..211ad2471 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -20,13 +20,13 @@ "AccountGatherTaskUpdate": "Update Task", "AccountList": "Cloud Account", "AccountPolicy": "Account Policy", - "AccountPushCreate": "Account Push Creation", + "AccountPushCreate": "Create Account Push", "AccountPushExecutionList": "Execute History", "AccountPushList": "Account Push", - "AccountPushUpdate": "Account Push Update", + "AccountPushUpdate": "Update Account Push", "AccountStorage": "Account Storage", "AccountTemplate": "Account Template", - "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the ciphertext is updated, the ciphertext of the accounts created through the template will be updated.", + "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", "AccountUpdate": "Update Account", "Accounts": "Account", "Action": "Action", @@ -110,7 +110,7 @@ "Asset": "Asset", "AssetAccount": "Accounts", "AssetAccountDetail": "Account Details", - "AssetAclCreate": "Create Asset Connect Rules", + "AssetAclCreate": "Create Asset Connect Rule", "AssetAclDetail": "Asset Connect Rule Details", "AssetAclList": "Asset Connect", "AssetAclUpdate": "Update Asset Connect Rules", @@ -244,10 +244,10 @@ "CommandConfirm": "Command Review", "CommandFilterACL": "Command Filter", "CommandFilterACLHelpMsg": "By filtering commands, you can control if commands can be sent to assets. Based on your set rules, some commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Create Command Filter Rules", - "CommandFilterAclDetail": "Details of Command Filtering Rules", - "CommandFilterAclList": "Command filtering", - "CommandFilterAclUpdate": "Update Command Filter Rules", + "CommandFilterAclCreate": "Create Command Filter Rule", + "CommandFilterAclDetail": "Details of Command Filter Rule", + "CommandFilterAclList": "Command Filter", + "CommandFilterAclUpdate": "Update Command Filter Rule", "CommandFilterRuleContentHelpText": "One command per line", "CommandFilterRules": "Command Filter Rules", "CommandGroup": "Command Group", @@ -1045,7 +1045,7 @@ "SyncStrategy": "Synchronization Policy", "SyncSuccessMsg": "Synchronization Succeeded", "SyncTask": "Synchronize Tasks", - "SyncUpdateAccountInfo": "Synchronize Account Info Update", + "SyncUpdateAccountInfo": "Update Self and Account Secret", "SyncUser": "Synchronize Users", "SyncedCount": "Synchronized", "SystemError": "System Error", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 0a4ba4396..f8ff02d98 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -19,7 +19,7 @@ "AccountGatherTaskUpdate": "更新任务", "AccountList": "云账号", "AccountPolicy": "账号策略", - "AccountPushCreate": "账号推送创建", + "AccountPushCreate": "创建账号推送", "AccountPushExecutionList": "执行列表", "AccountPushList": "账号推送", "FieldRequiredError": "此字段是必填项", From 314e4301f3fd530b4277c6fcae09341ec1192107 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 5 Feb 2024 14:13:07 +0800 Subject: [PATCH 014/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/serializers/mixin.py | 5 ++++- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 8 ++------ apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/apps/common/serializers/mixin.py b/apps/common/serializers/mixin.py index 81fac91d9..5d952933b 100644 --- a/apps/common/serializers/mixin.py +++ b/apps/common/serializers/mixin.py @@ -347,6 +347,7 @@ class SomeFieldsMixin: def order_fields(fields): bool_fields = [] datetime_fields = [] + common_fields = [] other_fields = [] for name, field in fields.items(): @@ -355,9 +356,11 @@ class SomeFieldsMixin: bool_fields.append(to_add) elif isinstance(field, serializers.DateTimeField): datetime_fields.append(to_add) + elif name in ('comment', 'created_by', 'updated_by'): + common_fields.append(to_add) else: other_fields.append(to_add) - _fields = [*other_fields, *bool_fields, *datetime_fields] + _fields = [*other_fields, *bool_fields, *datetime_fields, *common_fields] fields = OrderedDict() for name, field in _fields: fields[name] = field diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 2ced23ae3..455e3bc71 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4072e28aeee949d188b48b5969b5554d7896674cad9aa18630791fdfca5086ed -size 1157 +oid sha256:0f38416ee042bf98512fadd5dc339c7476f1c40c99f8e4fd4fa6834c894c4345 +size 1398 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 6b67ef0f5..bc56fd751 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -7710,14 +7710,12 @@ msgstr "" #: users/models/user.py:838 users/serializers/profile.py:128 #: users/serializers/user.py:172 -#, fuzzy -#| msgid "First login" msgid "Is first login" msgstr "First login" #: users/models/user.py:848 msgid "Date password last updated" -msgstr "" +msgstr "Password last updated" #: users/models/user.py:851 msgid "Need update password" @@ -7898,14 +7896,12 @@ msgid "Login blocked" msgstr "" #: users/serializers/user.py:99 users/serializers/user.py:181 -#, fuzzy -#| msgid "OTP bound" msgid "Is OTP bound" msgstr "OTP bound" #: users/serializers/user.py:101 msgid "Can public key authentication" -msgstr "" +msgstr "Public key auth" #: users/serializers/user.py:166 msgid "Groups" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 41d45e196..774452a8f 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a57ad4a418754f6e29a79e49e6fa8375e158a000331b1d5ee32d1d0eefceb5c0 -size 170096 +oid sha256:d58d2e5e46b76fdd73a85a6620279ba3cfe8ff402fcbbf859d67f3d7c011aaf4 +size 170717 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index d14aba4f4..78c08e1e7 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4cf70b44c5a7e9b76558aac8a6974c50916f6357e2e9d8f15f043d145faf0522 -size 140567 +oid sha256:03ddc4852b8fec1981d4ec0aa746bee83f524cb2823359e3a3bf86e8d3b7497a +size 141101 From 9d80aed46870ea3d62bc10887f9c0f7a060105db Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 6 Feb 2024 15:51:39 +0800 Subject: [PATCH 015/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.bak.json | 1846 ------------------------------------ apps/i18n/lina/en.json | 26 +- apps/i18n/lina/zh.json | 4 +- apps/users/models/user.py | 8 +- 4 files changed, 20 insertions(+), 1864 deletions(-) delete mode 100644 apps/i18n/lina/en.bak.json diff --git a/apps/i18n/lina/en.bak.json b/apps/i18n/lina/en.bak.json deleted file mode 100644 index 109da8229..000000000 --- a/apps/i18n/lina/en.bak.json +++ /dev/null @@ -1,1846 +0,0 @@ -{ - "APIKey": "API Key", - "AWSChina": "AWS(China)", - "AWSInt": "AWS (International)", - "About": "About", - "Accept": "Agree", - "AccessIP": "IP Whitelist", - "AccessKey": "Access Key", - "Account": "Account Information", - "AccountBackup": "Account Backup", - "AccountBackupCreate": "Create Account Backup", - "AccountBackupUpdate": "Update Account Backup", - "AccountChangeSecret": "Account Password Change", - "AccountCreate": "Create Account", - "AccountDeleteConfirmMsg": "Delete account, do you want to continue?", - "AccountDetail": "Account Details", - "AccountEnabled": "Enable Account Switch", - "AccountExportTips": "The export information includes the ciphertext of the account and contains sensitive information. The format of the export is an encrypted zip file (if no encryption password has been set, please go to personal information to set the file encryption password).", - "AccountGather": "Account Collection", - "AccountGatherList": "Collection task", - "AccountGatherTaskCreate": "Create Task", - "AccountGatherTaskExecutionList": "Task Execution List", - "AccountGatherTaskList": "Account Collection", - "AccountGatherTaskUpdate": "Update Action", - "AccountHelpText": "Cloud account is used to connect to the cloud service provider's account to obtain resource information from the cloud service provider", - "AccountHistoryHelpMessage": "Record Current Account History Versions", - "AccountKey": "Account Key", - "AccountList": "Cloud Account", - "AccountName": "Account Name", - "AccountPolicy": "Account Strategy", - "AccountPushCreate": "Account Push Create", - "AccountPushExecutionList": "Execution List", - "AccountPushList": "Account Push", - "AccountPushUpdate": "Account Push Update", - "AccountStorage": "Account Storage", - "AccountTemplate": "Account Template", - "AccountTemplateUpdateSecretHelpText": "Account list displays accounts created through the template. When updating the ciphertext, it will also update the ciphertext of accounts created through the template.", - "AccountUpdate": "Update Account", - "AccountUsername": "Account (Username)", - "Accounts": "Account", - "AccountsHelp": "All Accounts: All accounts added on the asset;
Specified Account: The username of the designated account under the asset;
Manual Account: Manually enter username and password during login;
Same Name Account: Account with the same username as the authorized person;", - "Acl": "Access control", - "Acls": "Access Control", - "Action": "Action", - "ActionCount": "Action Count", - "ActionSetting": "Action Setting", - "Actions": "Action", - "ActionsTips": "The functions of each permission's protocol differ. Click the icon behind the permission to view.", - "Activate": "Activate", - "ActivateSuccessMsg": "Activation Success", - "Active": "Activating", - "ActiveAsset": "Recently Logged In", - "ActiveAssetRanking": "Login Asset Ranking", - "ActiveSelected": "Activate Selected", - "ActiveUser": "Logged in Recently", - "ActiveUserAssetsRatioTitle": "Percentage Statistics", - "Activity": "Action", - "AdDomain": "AD Domain Name", - "AdDomainHelpText": "AD Domain Name provided for Domain User Login", - "Add": "Add", - "AddAccount": "Add Account", - "AddAccountResult": "Account Batch Addition Results", - "AddAllMembersWarningMsg": "Are you sure you want to add all members?", - "AddAsset": "Add Assets", - "AddAssetToNode": "Add Assets to Node", - "AddAssetToThisPermission": "Add Asset", - "AddDatabaseAppToThisPermission": "Add Database Application", - "AddFailMsg": "Addition Failed", - "AddK8sAppToThisPermission": "Add Kubernetes Application", - "AddNode": "Add node", - "AddNodeToThisPermission": "Add Node", - "AddOrgMembers": "Add organization member", - "AddPassKey": "Add Passkey", - "AddRemoteAppToThisPermission": "Add Remote App", - "AddRolePermissions": "Add Permissions in Details After Successful Creation/Update", - "AddSuccessMsg": "Successfully Added", - "AddSystemUser": "Add System User", - "AddSystemUserToThisPermission": "Add System User", - "AddUserGroupToThisPermission": "Add User Group", - "AddUserToThisPermission": "Add User", - "Address": "Address", - "Addressee": "Recipient", - "AdhocDetail": "Command Details", - "AdhocManage": "Action Management", - "AdhocUpdate": "Update Command", - "Admin": "Administrator", - "AdminUser": "Privileged User", - "AdminUserCreate": "Create Management User", - "AdminUserDetail": "User Details", - "AdminUserList": "User", - "AdminUserListHelpMessage": "Privileged Users exist already in the system, and they possess advanced system rights, such as root or those with `NOPASSWD: ALL` sudo permissions. JumpServer uses this user to `push system users`, `retrieve asset hardware information`, etc.", - "AdminUserUpdate": "Update User Management", - "Admin_usersAmount": "Privileged User", - "Advanced": "Advanced Settings", - "AfterChange": "Change Afterwards", - "AjaxError404": "404 Request Error", - "AlibabaCloud": "Alibaba Cloud", - "Alive": "Online", - "Aliyun": "Aliyun", - "All": "All", - "AllAccountTip": "All Accounts Added to the Asset", - "AllAccounts": "All Accounts", - "AllClickRead": "All Read", - "AllMembers": "All Members", - "AllOrganization": "Organization List", - "AllowInvalidCert": "Ignore Certificate Check", - "Announcement": "Announcement", - "AnonymousAccount": "Anonymous Account", - "AnonymousAccountTip": "When connecting to assets, do not use username and password, only supports web type and custom type assets", - "ApiKey": "API Key", - "ApiKeyList": "Use an API key to sign the request header for authentication, each request has a unique header, this method is more secure than the Token method, please refer to the documentation for use; \nTo minimize the risk of leakage, secrets are only visible when generated, and each user can support the creation of up to 10", - "ApiKeyWarning": "To reduce the risk of AccessKey leakage, a Secret is provided only at creation and cannot be queried afterwards. Please save it carefully.", - "App": "Application", - "AppAmount": "Number of Applications", - "AppAuth": "App Authentication", - "AppEndpoint": "Application Access Address", - "AppList": "App List", - "AppName": "Application Name", - "AppOps": "Task Center", - "AppPath": "Application Path", - "AppProvider": "Application Provider", - "AppProviderDetail": "Application Provider Details", - "AppType": "Application Type", - "App_permsAmount": "Application Authorization", - "AppletCreate": "Create Remote Application", - "AppletDetail": "Remote Application", - "AppletHelpText": "In the upload process, if the application does not exist, the application is created; if it exists, the application is updated.", - "AppletHostCreate": "Add Remote Application Server", - "AppletHostDetail": "Details of Remote Application Release Machine", - "AppletHostDomainHelpText": "The net domain here belongs to the System organization", - "AppletHostSelectHelpMessage": "When connecting assets, the app publishing machine selection is random (but prioritizes the last one used). If you want to fix a publishing machine for an asset, you can specify the tag or ;
When selecting an account to connect to this publisher, the following situations will select the user's identically-named account or proprietary account (starts with js), otherwise the public account (starts with jms) will be used:
  1. Both the publisher and the app support concurrency;
  2. The publisher supports concurrency, the app does not support concurrency, and the current app does not use a proprietary account;
  3. The publisher does not support concurrency, the app supports or does not support concurrency, and no app uses a proprietary account;
Note: Whether the app supports concurrency is decided by the developer, and whether the host supports it is determined by the publisher configuration's single user single session", - "AppletHostUpdate": "Update Remote Application Release Machine", - "AppletHosts": "App Publishing Machine", - "Applets": "Remote App", - "Applicant": "Applicant", - "Application": "Please input comma-separated application names", - "ApplicationAccount": "App Account", - "ApplicationDetail": "Application Details", - "ApplicationPermission": "App Authorization", - "ApplicationPermissionCreate": "Create App Authorization Rule", - "ApplicationPermissionDetail": "Application Authorization Details", - "ApplicationPermissionRules": "Application Authorization Rules", - "ApplicationPermissionUpdate": "Update App Authorization Rules", - "Applications": "App Action", - "ApplicationsAmount": "Application", - "ApplyAsset": "Apply for assets", - "ApplyFromCMDFilterRule": "Command Filter Rules", - "ApplyFromSession": "Session", - "ApplyInfo": "Application Information", - "ApplyRunAsset": "Assets applying for operation", - "ApplyRunCommand": "Commands to Run", - "ApplyRunSystemUser": "Applied for System User", - "ApplyRunUser": "The user who applies to run", - "Apply_loginAccount": "Applied Login Account", - "Apply_loginAsset": "Apply for Asset Login", - "Apply_loginUser": "Application Login User", - "Apply_login_systemUser": "Apply to Login System User", - "Appoint": "Specify", - "ApprovaLevel": "Approval Information", - "ApprovalLevel": "Approval Level", - "ApprovalProcess": "Approval Process", - "Approved": "Agreed", - "ApproverNumbers": "Number of Approver", - "AppsCount": "Application Quantity", - "AppsList": "Application list", - "ApsaraStack": "Alibaba Cloud Private Cloud", - "Asset": "Assets", - "AssetAccount": "Account List", - "AssetAccountDetail": "Account Details", - "AssetAclCreate": "Create Asset Login Rule", - "AssetAclDetail": "Asset Login Rule Details", - "AssetAclList": "Asset Login", - "AssetAclUpdate": "Update Asset Login Rules", - "AssetAddress": "Asset (IP/Hostname)", - "AssetAmount": "Number of Assets", - "AssetAndNode": "Assets/Nodes", - "AssetBulkUpdateTips": "Network devices, cloud services, web, bulk domain updates not supported", - "AssetChangeSecretCreate": "Create Account Password Change", - "AssetChangeSecretUpdate": "Update Account Password", - "AssetCount": "Asset Quantity", - "AssetCreate": "Create Asset", - "AssetData": "Asset Data", - "AssetDetail": "Asset Details", - "AssetHistoryAccount": "Asset History Account", - "AssetList": "Asset List", - "AssetListHelpMessage": "The assets tree is on the left, right-click to create, delete, change the tree node, assets authorization is also organized in a node way, the assets on the right are the ones under the node\n", - "AssetLoginACLHelpMsg": "When logging in to assets, auditing can be performed based on the user's login IP and time period to determine whether they can log in to the assets", - "AssetName": "Asset Name", - "AssetNumber": "Asset Number", - "AssetPermission": "Asset Authorization", - "AssetPermissionCreate": "Create Asset Authorization Rules", - "AssetPermissionDetail": "Asset Authorization Details", - "AssetPermissionHelpMsg": "Asset authorization allows you to choose users and assets to authorize assets to users for convenient access. Once authorized, users can easily browse these assets. In addition, you can set specific privilege bits to further define the scope of a user’s authority over assets.", - "AssetPermissionList": "Asset Authorization List", - "AssetPermissionRules": "Asset Authorization Rules", - "AssetPermissionUpdate": "Update Asset Authorization Rules", - "AssetProtocolHelpText": "The protocols supported by the asset are limited by the platform. You can view the settings of the protocol by clicking the settings button. If an update is needed, please update the platform", - "AssetRatio": "Asset Proportion Statistics", - "AssetResultDetail": "Asset results", - "AssetTree": "Asset Tree", - "AssetUpdate": "Update Assets", - "AssetUserList": "Asset User", - "Asset_ipGroup": "Asset IP", - "Asset_permsAmount": "Asset authorization", - "Assets": "Asset Management", - "AssetsAmount": "Assets", - "AssetsTotal": "Total Number of Assets", - "AssignedInfo": "Approval Information", - "AssignedMe": "Pending My Approval", - "AssignedTicketList": "Waiting for My Approval", - "Assignee": "Action Taker", - "Assignees": "Person to be Addressed", - "AssociateApplication": "Associated Applications", - "AssociateAssets": "Associated Assets", - "AssociateNodes": "Associated Nodes", - "AssociateSystemUsers": "Link System User", - "AttrName": "Attribute name", - "AttrValue": "Attribute Value", - "Auditor": "Auditor", - "Audits": "Audit Console", - "Auth": "Authentication Settings", - "AuthCASAttrMap": "User Attribute Mapping", - "AuthLdap": "Enable LDAP Authentication", - "AuthLdapBindDn": "Bind DN", - "AuthLdapBindPassword": "Password", - "AuthLdapSearchFilter": "The possible options are (cn or uid or sAMAccountName=%(user)s)", - "AuthLdapSearchOu": "Use | to separate each OU", - "AuthLdapServerUri": "LDAP Address", - "AuthLdapUserAttrMap": "User attribute mapping represents how to map LDAP user attributes to JumpServer users. Username, name, email are the properties of JumpServer", - "AuthLimit": "Login Restrictions", - "AuthMethod": "Authentication Method", - "AuthSAML2AdvancedSettings": "Advanced Configuration", - "AuthSAML2MetadataUrl": "IDP Metadata URL", - "AuthSAML2Xml": "IDP metadata XML", - "AuthSAMLCertHelpText": "Save after upload of certificate key, then check SP Metadata", - "AuthSAMLKeyHelpText": "SP Certificates and Keys are used for encrypted communication with IDP", - "AuthSaml2UserAttrMapHelpText": "Left keys are SAML2 user attributes, the values on the right are authentication platform user attributes", - "AuthSecurity": "Certification Security", - "AuthSetting": "Authentication Settings", - "AuthSettings": "Authentication Configuration", - "AuthUserAttrMap": "User Attribute Mapping", - "AuthUserAttrMapHelpText": "The Key on the Left is the JumpServer User Attribute, and the Value on the Right is the Authentication Platform User Attribute", - "AuthUsername": "Use Username Authentication", - "Authentication": "Authentication", - "Author": "Author", - "Auto": "Automatic", - "AutoCreate": "Auto Create", - "AutoEnabled": "Enable Automation", - "AutoGenerateKey": "Randomly Generated Password", - "AutoPush": "Auto Push", - "Automations": "Automation", - "AverageTimeCost": "Average Time Spent", - "Azure": "Azure (China)", - "AzureInt": "Azure(International)", - "Backup": "Backup", - "BadConflictErrorMsg": "Refreshing, please try again later", - "BadRequestErrorMsg": "Request Error, Please Check Input Content", - "BadRoleErrorMsg": "Request error, no permission for this Action", - "BaiduCloud": "Baidu Cloud", - "BasePlatform": "Basic Platform", - "BasePort": "Listening Port", - "Basic": "Basic Settings", - "BasicInfo": "Basic Information", - "BasicSetting": "Basic Settings", - "BasicTools": "Basic Tools", - "BatchActivate": "Bulk Activation", - "BatchApproval": "Bulk Approval", - "BatchCommand": "Batch Command", - "BatchCommandNotExecuted": "Batch commands not executed", - "BatchConsent": "Bulk Agree", - "BatchDelete": "Batch Delete", - "BatchDisable": "Batch Disable", - "BatchProcessing": "Bulk Handling (Selected {Number} Items)", - "BatchReject": "Reject in Bulk", - "BatchRemoval": "Batch Removal", - "BatchScript": "Bulk Scripts", - "BatchUpdate": "Bulk Update", - "Become": "Become", - "BeforeChange": "Before Changes", - "Beian": "Record", - "BelongAll": "Contains both", - "BelongTo": "Please Include", - "Bind": "Bind", - "BindLabel": "Associated Tags", - "BindResource": "Related Resources", - "BindSuccess": "Successfully Bound", - "BlockedIPS": "Locked IPs", - "Bucket": "Bucket Name", - "Builtin": "Built-In", - "BuiltinTree": "Type Tree", - "BuiltinVariable": "Built-in Variables", - "BulkClearErrorMsg": "Bulk Clearing Failed:", - "BulkCreateStrategy": "During creation, for accounts that do not meet requirements, such as: non-compliant key types, unique key constraints, you may choose the above strategies.", - "BulkDeleteErrorMsg": "Bulk Deletion Failed:", - "BulkDeleteSuccessMsg": "Bulk deletion successful", - "BulkDeploy": "Bulk Deployment", - "BulkOffline": "Batch Offline", - "BulkRemoveErrorMsg": "Failed to remove in bulk:", - "BulkRemoveSuccessMsg": "Bulk Removal Successful", - "BulkSyncDelete": "Batch Sync Delete", - "BulkSyncErrorMsg": "Batch Sync Failed: ", - "BulkTransfer": "Bulk Transfers", - "BulkUnblock": "Batch Unlock", - "BulkUpdatePlatformHelpText": "Only when the original platform type of the asset matches the selected platform type will update, if the platform types before and after update are different, it will not be updated.", - "CACertificate": "CA Certificate", - "CAS": "CAS", - "CASSetting": "CAS Configuration", - "CMPP2": "CMPP v2.0", - "CTYunPrivate": "Tianyi Private Cloud", - "CalculationResults": "cron Expression Error", - "CanDragSelect": "Draggable time range selection", - "Cancel": "Cancel", - "CancelCollection": "Cancel Favorites", - "CannotAccess": "Unable to Access Current Page", - "Cas": "CAS Settings", - "Category": "Category", - "CeleryTaskLog": "Celery Task Log", - "Certificate": "Certificate", - "CertificateKey": "Client Key", - "ChangeField": "Change Field", - "ChangePassword": "Change Password", - "ChangeReceiver": "Edit Message Recipient", - "ChangeSecretParams": "Password Change Parameters", - "ChangeViewHelpText": "Click to Switch Views", - "Charset": "Charset", - "Chat": "Chat", - "ChatAI": "Smart Q&A", - "ChatHello": "Hello! What can I assist you with?", - "ChdirHelpText": "The default execution directory is the execution user's home directory", - "CheckAssetsAmount": "Check asset quantity", - "CheckViewAcceptor": "Click to View the Handler", - "ChinaRed": "China Red", - "Chrome": "Chrome", - "ChromePassword": "Login Password", - "ChromeTarget": "Target URL", - "ChromeUsername": "Login Account", - "ClassicGreen": "Classic Green", - "CleanHelpText": "Regular cleanup tasks will be performed at 2 a.m. every day, and the cleaned data cannot be restored", - "Cleaning": "Regular Clean up", - "Clear": "Clear", - "ClearScreen": "Clear Screen", - "ClearSecret": "Clear Ciphertext", - "ClearSelection": "Clear Selection", - "ClearSuccessMsg": "Clear Successfully", - "ClickCopy": "Click to Copy", - "Clickhouse": "ClickHouse", - "ClientCertificate": "Client Certificate", - "ClipBoard": "Clipboard", - "ClipboardCopy": " Clipboard Copy", - "ClipboardCopyPaste": "Clipboard Copy and Paste", - "ClipboardPaste": "Clipboard Pasting", - "Clone": "Clone", - "CloneFrom": "Replica", - "Close": "Close", - "CloseConfirm": "Confirm Closure", - "CloseConfirmMessage": "File has changed, save?", - "CloseStatus": "Completed", - "Closed": "Completed", - "Cloud": "Cloud Application", - "CloudCenter": "Cloud Action Center", - "CloudCreate": "Create Assets-Cloud Platform", - "CloudPlatform": "Cloud platform", - "CloudSource": "Synchronization source", - "CloudSync": "Cloud Sync", - "CloudUpdate": "Update Assets - Cloud Platform", - "Clouds": "Cloud Platform", - "Cluster": "Cluster", - "ClusterHelpTextMessage": "For example: https://172.16.8.8:8443", - "CmdFilter": "Command Filter", - "CollapseSidebar": "Collapse Sidebar", - "CollectHardwareInfo": "Enable Hardware Information Collection", - "CollectionSucceed": "Collection Successful", - "Command": "Command", - "Command filter": "Command Filter", - "CommandConfirm": "Command Review", - "CommandExecutions": "Command Execution", - "CommandFilterACL": "Command Filtering", - "CommandFilterACLHelpMsg": "Through command filtering, you can control whether commands can be sent to the asset. Based on your set rules, some commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Create Command Filtering Rule", - "CommandFilterAclDetail": "Command Filter Rule Details", - "CommandFilterAclList": "Command Filtering", - "CommandFilterAclUpdate": "Update Command Filter Rules", - "CommandFilterCreate": "Create Command Filter", - "CommandFilterDetail": "Command Filter Details", - "CommandFilterHelpMessage": "The system user supports binding multiple command filters to achieve the effect of prohibiting the input of certain commands; Multiple rules can be configured in the filter, and the commands entered when using this system user to connect to the assets take effect in accordance with the rules configured in the filter.
Ex: If the first matched rule is \"Allow\", then this command is executed, if the first matched rule is \"Disallow\", then the command is not executed; if no rules are matched in the end, then it is allowed to proceed.", - "CommandFilterList": "Command Filter Rules", - "CommandFilterRuleContentHelpText": "One command per line", - "CommandFilterRulePriorityHelpText": "Priority range is 1-100, 1 is the lowest priority, 100 is the highest", - "CommandFilterRules": "Command Filter Rules", - "CommandFilterRulesCreate": "Create Command Filter Rule", - "CommandFilterRulesUpdate": "Update Command Filter Rules", - "CommandFilterUpdate": "Update Command Filter", - "CommandGroup": "Command Group", - "CommandGroupCreate": "Create Command Group", - "CommandGroupDetail": "Command Group Details", - "CommandGroupList": "Command Group", - "CommandGroupUpdate": "Update Command Group", - "CommandStorage": "Command Storage", - "CommandStorageUpdate": "Update Command Storage", - "Command_filterList": "Command Filter List", - "Commands": "Command log", - "Comment": "Comment", - "CommentHelpText": "Note: The remarks information will be displayed on hover in the user authorized asset tree on the Luna page, and ordinary users can view it, please do not fill in sensitive information.", - "Common": "Regular", - "CommonUser": "Ordinary User", - "CommunityEdition": "Community Edition", - "Component": "Component", - "ComponentMonitor": "Component Monitoring", - "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any interpretation. Apart from the output of the code, do not respond with anything else.", - "ConceptTitle": "🤔 Python Interpreter", - "Config": "Configuration", - "Confirm": "Confirm", - "ConfirmPassword": "Confirm Password", - "Connect": "Connect", - "ConnectMethod": "Connection Method", - "ConnectMethodACLHelpMsg": "By filtering through connection methods, you can control whether users can use specific connection methods to log into assets. Based on your established rules, some connection methods could be allowed, while others are prohibited (global effect).'", - "ConnectMethodAclCreate": "Create Connection Mode Control", - "ConnectMethodAclDetail": "Connection Mode Control Details", - "ConnectMethodAclList": "Connect Method", - "ConnectMethodAclUpdate": "Update Connection Control", - "ConnectUsers": "Connect Account", - "ConnectWebSocketError": "WebSocket Connection Failed", - "ConnectionDropped": "Connection Disconnected", - "ConnectionToken": "Connection Token", - "ConnectionTokenList": "A Connection Token is an authentication information that combines identity verification and asset connection, it enables user to log in to assets with one click. The current supported components include: KoKo, Lion, Magnus, Razor, etc", - "Connectivity": "Can Connect", - "Console": "Console", - "Consult": "Inquire", - "ContainAttachment": "With Attachment", - "ContainerName": "Container Name", - "Containers": "Container", - "Contains": "Includes", - "Content": "Content", - "Contents": "Content", - "Continue": "Continue", - "ContinueImport": "Continue Import", - "ConvenientOperate": "Easy Operation", - "Copy": "Copy", - "CopySuccess": "Copy Successful", - "Corporation": "Company", - "Correlation": "Associate", - "Cpu": "CPU", - "Create": "Create", - "CreateAccessKey": "Create Access Key", - "CreateAccountTemplate": "Create Account Template", - "CreateAdhoc": "Create Command", - "CreateBy": "Creator", - "CreateCommandStorage": "Create Command Storage", - "CreateEndpoint": "Create Endpoint", - "CreateEndpointRule": "Create Endpoint Rules", - "CreateErrorMsg": "Creation Failed", - "CreateNode": "Create Node", - "CreateOrgMsg": "Please add users in the organization details", - "CreatePlaybook": "Create Playbook", - "CreateReplayStorage": "Create Object Storage", - "CreateSuccessMsg": "Import Successful, Total: {count}", - "CreateUserSetting": "Create User Content", - "Created": "Created", - "CreatedBy": "Creator", - "CriticalLoad": "Severe", - "CronExpression": "Crontab Full Expression", - "CrontabHelpTips": "eg:Execute every Sunday at 03:05 <5 3 * * 0>
Reminder: Use the 5-digit Linux crontab expression (Online tool)
Note: If both regular execution and cyclic execution are set, priority will be given to regular execution", - "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expression (Online Tool)
If both regular and cyclic execution are set, regular execution is prioritized", - "CurrentConnections": "Current Connection Count", - "CurrentUserVerify": "Validate Current User", - "Custom": "Customize", - "CustomCmdline": "Operating Parameters", - "CustomCol": "Customize List Field", - "CustomCreate": "Create Asset - Custom", - "CustomFields": "Custom Attributes", - "CustomFile": "Please place your custom files in the specified directory (data/sms/main.py), and activate the configuration item SMS_CUSTOM_FILE_MD5= in config.txt", - "CustomHelpMessage": "Custom type assets, dependent on remote apps, please go to system settings to configure in remote apps", - "CustomParams": "On the left are the parameters received by the SMS platform, and on the right are the parameters to be formatted by JumpServer, finally as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"The verification code is: 666666\"}", - "CustomPassword": "Login Password", - "CustomTarget": "Target Address", - "CustomTree": "Custom Tree", - "CustomType": "Custom Types", - "CustomUpdate": "Update Assets - Customization", - "CustomUser": "Custom User", - "CustomUsername": "Login Account", - "CycleFromWeek": "Starting Day of the Cycle", - "CyclePerform": "Periodic Execution", - "DBInfo": "Database Info", - "DangerCommand": "Dangerous Command", - "DangerousCommandNum": "Dangerous Command Count", - "Dashboard": "Dashboard", - "Database": "Database", - "DatabaseApp": "Database Application", - "DatabaseAppCount": "Database Application Number", - "DatabaseAppCreate": "Create Database Application", - "DatabaseAppDetail": "Database Details", - "DatabaseAppPermission": "Database Authorization", - "DatabaseAppPermissionCreate": "Create Database Authorization Rule", - "DatabaseAppPermissionDetail": "Database Authorization Details", - "DatabaseAppPermissionUpdate": "Update Database Authorization Rules", - "DatabaseAppUpdate": "Database App Update", - "DatabaseCreate": "Create Asset-Database", - "DatabaseId": "Database ID", - "DatabasePermissionRules": "Database Authorization Rules", - "DatabasePort": "Database Protocol Port", - "DatabaseProtocol": "Database Protocol", - "DatabaseUpdate": "Update Assets-Database", - "Date": "Date", - "DateCreated": "Creation Time", - "DateEnd": "End date", - "DateExpired": "Expiration Date", - "DateFinished": "Completion Date", - "DateJoined": "Creation Date", - "DateLast24Hours": "Past Day", - "DateLast3Months": "Past Three Months", - "DateLastHarfYear": "Last Six Months", - "DateLastLogin": "Last Login Date", - "DateLastMonth": "Last Month", - "DateLastRun": "Last Run Date", - "DateLastSync": "Last Sync Date", - "DateLastWeek": "Last Week", - "DateLastYear": "Past Year", - "DatePasswordLastUpdated": "Last Password Update Date", - "DatePasswordUpdated": "Password Update Date", - "DateStart": "Start Date", - "DateSync": "Sync Date", - "DateUpdated": "Update Date", - "Datetime": "Date", - "Day": "Day", - "Db": "Database Applications", - "DeactiveSelected": "Disable Selected", - "DeclassificationLogNum": "Password Change Log number", - "Default": "Default", - "DefaultDatabase": "Default Database", - "DefaultPort": "Default Port", - "DefaultProtocol": "Default protocol, will be chosen when adding assets", - "Defaults": "Default Value", - "Delete": "Delete", - "DeleteConfirmMessage": "Cannot be recovered after deletion, do you want to continue?", - "DeleteErrorMsg": "Delete Failed", - "DeleteFailedMsg": "Failed to Delete", - "DeleteFile": "Delete File", - "DeleteNode": "Delete Node", - "DeleteOrgMsg": "User List, User Groups, Asset Lists, Domain Lists, User Management, System Users, Tag Management, Asset Authorization Rules", - "DeleteOrgTitle": "Please ensure the following information in the organization has been deleted", - "DeleteReleasedAssets": "Delete Released Assets", - "DeleteSuccess": "Delete Successfully", - "DeleteSuccessMsg": "Delete Successfully", - "DeleteWarningMsg": "Are you sure you want to delete", - "DeliveryTime": "Sending Time", - "Deploy": "Deployment", - "DescribeOfGuide": "Welcome to use JumpServer Bastion System, for more information please click", - "Description": "Description", - "DestinationIP": "Destination Address", - "DestinationPort": "Destination Port", - "Detail": "Details", - "Device": "Network Devices", - "DeviceCreate": "Create Asset - Network Device", - "DeviceUpdate": "Update Assets-Network Equipment", - "Digit": "Number", - "DingTalk": "DingTalk", - "DingTalkTest": "Test", - "Disable": "Disable", - "DisableSuccessMsg": "Deactivation Successful", - "DisabledAsset": "Disabled", - "DisabledUser": "Disabled", - "Disk": "Hard Disk", - "DisplayName": "Name", - "DocType": "Document Type", - "Docs": "Documents", - "Domain": "Network Domain", - "DomainCreate": "Create Domain", - "DomainDetail": "Network Field Details", - "DomainEnabled": "Enable Domain", - "DomainHelpMessage": "The domain function is added to solve the problem that some environments (such as: hybrid cloud) cannot directly connect, and the principle is to log in through the gateway server. JMS => Domain Gateway => target asset", - "DomainList": "Domain list", - "DomainUpdate": "Update Domain", - "Download": "Download", - "DownloadCenter": "Download Center", - "DownloadFTPFileTip": "Current Action does not record files, or file size exceeds the threshold (default 100M), or has not yet been saved to the corresponding storage", - "DownloadFile": "Download File", - "DownloadImportTemplateMsg": "Download Creation Template", - "DownloadReplay": "Download Recording", - "DownloadUpdateTemplateMsg": "Download Update Template", - "DragUploadFileInfo": "Drag files here or click to upload", - "DryRun": "Test Run", - "DuplicateFileExists": "Uploading files with the same name is not permitted, please delete the files with the same name", - "Duration": "Duration", - "DynamicUsername": "Dynamic Username", - "Edit": "Edit", - "Edition": "Version", - "Email": "Email", - "EmailContent": "Email Content Customization", - "EmailCustomUserCreatedBody": "Hint: Content of password setting email when creating a user", - "EmailCustomUserCreatedHonorific": "Note: When creating a user, send a set password email salutation (For example: Hello)", - "EmailCustomUserCreatedSignature": "Note: Email signature (for example: jumpserver)", - "EmailCustomUserCreatedSubject": "Note: When Creating a User, The Subject of the Password Setup Email (e.g.: User Creation Successful)", - "EmailEmailFrom": "", - "EmailHost": "SMTP Host", - "EmailHostPassword": "Note: Some email providers may require a token.", - "EmailHostUser": "SMTP Account", - "EmailPort": "SMTP Port", - "EmailRecipient": "Note: Only to be used as a test email recipient", - "EmailSubjectPrefix": "Tip: Some keywords may be blocked by the email service provider, such as JumpServer", - "EmailTest": "Test Connection", - "EmailUserSSL": "If the SMTP port is 465, SSL usually needs to be enabled", - "EmailUserTLS": "If the SMTP port is 587, enabling TLS is usually necessary", - "Empty": "Empty", - "Enable": "Enable", - "EnableKoKoSSHHelpText": "Upon launch, the connection to assets will display the SSH Client Start Method", - "EnableOAuth2Auth": "Enable OAuth2 Authentication", - "EnableVaultStorage": "Open Vault Storage", - "EndPoint": "Endpoint", - "Endpoint": "Server Endpoint", - "EndpointListHelpMessage": "The service endpoint is the address (port) that users access the service. When users connect to the asset, they will select the service endpoint according to the endpoint rules and asset labels, and establish a connection as an access entrance, Realize distributed connection assets", - "EndpointRule": "Endpoint Rules", - "EndpointRuleListHelpMessage": "For the endpoint selection strategy, there are currently two options supported:
1. Specify the endpoint according to the endpoint rule (current page);
2. Select the endpoint through asset tags, the tag name is fixed as 'endpoint', and the value is the endpoint name.
Both methods prefer to use the tag match, because IP segments may conflict, and the tag method is designed to supplement the rules.", - "EndpointSuffix": "Endpoint Suffix", - "Endswith": "End with...", - "EnsureThisValueIsGreaterThanOrEqualTo1": "Please ensure that this value is greater than or equal to 1", - "EnsureThisValueIsGreaterThanOrEqualTo3": "Please ensure that this value is greater than or equal to 3", - "EnsureThisValueIsGreaterThanOrEqualTo5": "Please ensure that this value is greater than or equal to 5", - "EnsureThisValueIsGreaterThanOrEqualTo6": "Ensure That the Value Is Greater Than or Equal to 6", - "EnterForSearch": "Press Enter to search", - "EnterMessage": "Please enter the problem, press Enter to send", - "EnterRunUser": "Enter Operating User", - "EnterRunningPath": "Enter Runtime Path", - "EnterToContinue": "Press Enter to Continue Typing", - "EnterUploadPath": "Enter Upload Path", - "Enterprise": "Enterprise Version", - "EnterpriseEdition": "Enterprise Edition", - "Equal": "Equal To", - "Error": "Error", - "ErrorMsg": "Error", - "EsDisabled": "Node Unavailable, Please Contact Administrator", - "EsDocType": "es Default Document Type: command", - "EsIndex": "The default index is provided: jumpserver. If enabling index creation by date, the entered value will be used as the index prefix", - "EsUrl": "Cannot contain special character `#`; eg: http://es_user:es_password@es_host:es_port", - "Every": "Each", - "EveryMonth": "Monthly", - "Exclude": "Excludes", - "ExcludeAsset": "Skipped Assets", - "ExcludeSymbol": "Exclude Characters", - "Execute": "Execute", - "ExecuteCycle": "Execution Cycle", - "ExecuteFailedCommand": "Failed Command", - "ExecuteOnce": "Execute Once", - "Execution": "Execution History", - "ExecutionDetail": "Execution History Details", - "ExecutionList": "Action List", - "ExecutionTimes": "Number of Executions", - "ExistError": "This element already exists", - "Existing": "Already Exists", - "ExpectedNextExecuteTime": "Estimated Next Execution Time", - "ExpirationTimeout": "Expiration Timeout (Seconds)", - "Expire": "Expired", - "Expired": "Expiration Time", - "Export": "Export", - "ExportAll": "Export All", - "ExportOnlyFiltered": "Export Search Results Only", - "ExportOnlySelectedItems": "Export Selected Items Only", - "ExportRange": "Export Range", - "FAILURE": "Fail", - "FC": "Fusion Compute", - "Failed": "Failed", - "FailedAsset": "Failed assets", - "FailedConditions": "No Results Meeting the Criteria!", - "False": "No", - "Favicon": "Website Icon", - "FaviconTip": "Tip: Website Icon (Recommended picture size: 16px*16px)", - "Feature": "Function", - "Features": "Function Settings", - "FeiShu": "Feishu", - "FeiShuTest": "Test", - "FieldRequiredError": "This Field is Required", - "FileEncryptionPassword": "File Encryption Password", - "FileManager": "File", - "FileNameTooLong": "Filename is too long", - "FileSizeExceedsLimit": "File size exceeds limit", - "FileTransfer": "File Transfer", - "FileTransferNum": "File Transfer Count", - "FileType": "File Type", - "Filename": "Filename", - "FingerPrint": "Fingerprint", - "Finished": "Done", - "FinishedTicket": "Complete Work Order", - "FirstLogin": "First Login", - "FlowDetail": "Process Details", - "FlowSetUp": "Process settings", - "FormatError": "Format Error", - "Friday": "Friday", - "From": "From", - "FromTicket": "From Work Order", - "FtpLog": "FTP Log", - "FullName": "Full Name", - "FullySynchronous": "Assets Fully Synchronized", - "FullySynchronousHelpTips": "If the asset conditions do not meet the match policy rules, do we continue to sync such assets", - "FuzzySearch": "Supports fuzzy search", - "GCP": "Google Cloud", - "GPTCreate": "Create Asset-GPT", - "GPTUpdate": "Update Assets-GPT", - "Gateway": "Gateway", - "GatewayCreate": "Create Gateway", - "GatewayList": "Gateway List", - "GatewayProtocolHelpText": "SSH Gateway, supports proxy SSH, RDP and VNC", - "GatewayUpdate": "Update Gateway", - "GeneralAccounts": "General account", - "Generate": "Generate", - "GenerateAccounts": "Regenerate Account", - "GenerateSuccessMsg": "Account Successfully Created", - "GetErrorMsg": "Failed to Fetch", - "Go": "Execute", - "GoHomePage": "Go to Home Page", - "Goto": "Go To", - "GrantedAccounts": "Authorized Account", - "GrantedApplications": " Authorized Apps", - "GrantedAssets": "Authorized assets", - "GrantedDatabases": "Authorized Database", - "GrantedK8Ss": "Authorized Kubernetes", - "GrantedRemoteApps": "Authorized Remote Applications", - "GreatEqualThan": "Greater Than or Equal To", - "GroupsAmount": "User Group", - "GroupsHelpMessage": "Please enter user groups, multiple user groups should be separated by commas (please fill in existing user groups)", - "Guide": "Guide", - "HandleTicket": "Handle Work Orders", - "Hardware": "Hardware Information", - "HardwareInfo": "Hardware Information", - "HasImportErrorItemMsg": "There are failed import items, click on the x on the left to see the reason for failure, after editing the table, you can continue to import failed items", - "HasRead": "Read or Not", - "Help": "Help", - "HelpDocument": "Document link", - "HelpDocumentTip": "You can change the website navigation bar Help -> Documentation URL", - "HelpSupport": "Support Link", - "HelpSupportTip": "Website navigation bar can be changed at Help -> Support", - "HighLoad": "High", - "HistoricalSessionNum": "Historic Session Count", - "History": "History Record", - "HistoryDate": "Date", - "HistoryPassword": "Historical Passwords", - "Home": "Home Directory", - "HomeHelpMessage": "Default Home Directory /home/system username: /home/username", - "HomePage": "Home", - "Host": "Assets", - "HostCreate": "Create Asset - Host", - "HostDeployment": "Deploy Release Machine", - "HostList": "Host List", - "HostName": "Hostname", - "HostProtocol": "Host Protocol", - "HostUpdate": "Update Asset-Host", - "Hostname": "Hostname", - "HostnameGroup": "Asset Name", - "HostnameStrategy": "Used to generate asset host names. For example: 1. Instance Name (instanceDemo); 2. Instance Name and Partial IP (last two digits) (instanceDemo-250.1)", - "Hosts": "Host", - "Hour": "Hour", - "HttpPort": "HTTP Port", - "HuaweiCloud": "Huawei Cloud", - "HuaweiPrivatecloud": "Huawei Private Cloud", - "IAgree": "I agree", - "ID": "ID", - "IP": "IP", - "IP/Host": "IP/Host", - "IPLoginLimit": "IP Login Restriction", - "IPMatch": "IP Match", - "IPNetworkSegment": "IP Segment", - "Icon": "Icon", - "Id": "ID", - "IdeaContent": "I'd like you to act as a Linux terminal. I will input commands, and you will provide the output the terminal should display. Please only reply with the terminal output within a unique block of code, nothing else. Don't write explanations. If there's something I need to tell you, I will put the text inside curly brackets {note text}.", - "IdeaTitle": "🌱 Linux Terminal", - "IdpMetadataHelpText": "Either the IDP metadata URL or the IDP metadata XML is required; the IDP metadata URL has priority", - "IdpMetadataUrlHelpText": "Load IDP Metadata from remote address", - "IgnoreCase": "Ignore Case", - "ImageName": "Image Name", - "Images": "Pictures", - "Import": "Import", - "ImportAll": "Import All", - "ImportFail": "Import Failed", - "ImportLdapUserTip": "Please Submit LDAP Configuration Before Importing", - "ImportLdapUserTitle": "LDAP User List", - "ImportLicense": "Import License", - "ImportLicenseTip": "Please import the license", - "ImportMessage": "Please Navigate to the Corresponding Page to Import Data", - "ImportOrg": "Import Organization", - "ImprovePersonalInformation": "Improve Personal Information", - "InActiveAsset": "Recently Unlogged", - "InActiveUser": "Not Recently Logged-in", - "InAssetDetail": "Update Account Info in Asset Details", - "InTotal": "Total", - "Inactive": "Disable", - "Include": "Includes", - "Index": "Index", - "Info": "Information", - "Inherit": "Inheritance", - "InheritPlatformConfig": "Inherited from the platform configuration, if changes are needed, please modify the configurations in the platform.", - "InitialDeploy": "Initialize Deployment", - "Input": "Input", - "InputEmailAddress": "Please enter a correct email address", - "InputMessage": "Enter message...", - "InputNumber": "Please Enter Numeric Type", - "InputPhone": "Please Enter Mobile Number", - "InsecureCommandAlert": "Dangerous Command Warning", - "InsecureCommandEmailUpdate": "Click Me to Set", - "InsecureCommandNotifyToSubscription": "Hazard command notice has been upgraded to message subscription, supporting more notification methods", - "InstanceAddress": "Instance Address", - "InstanceName": "Instance Name", - "InstancePlatformName": "Instance Platform Name", - "InstantAdhoc": "Instant Command", - "Interface": "Network Interface", - "InterfaceSettings": "Interface Setting", - "IntervalOfCreateUpdatePage": "Unit: Hour", - "Invalid": "Invalid", - "InvalidJson": "Invalid JSON", - "Invalidity": "Invalid", - "Invite": "Invite", - "InviteSuccess": "Invitation Successful", - "InviteUser": "Invite User", - "InviteUserInOrg": "Invite User to Join This Organization", - "Ip": "IP", - "IpGroup": "IP Group", - "IpGroupHelpText": "* Represents matching all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "Ips": "Please enter a comma-separated group of IP addresses", - "IsActive": "Activate", - "IsAlwaysUpdate": "Keep Assets Up to Date", - "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostnames, IPs, system platforms, domains, nodes, etc. each time a synchronization task is performed", - "IsEffective": "Effective", - "IsFinished": "Is it Completed", - "IsLocked": "Suspend?", - "IsSuccess": "Successful", - "IsSyncAccountHelpText": "After collection, the collected accounts will be synchronized to the assets", - "IsSyncAccountLabel": "Sync to Assets", - "IsValid": "Valid", - "JDCloud": "JD Cloud", - "JMSSSO": "SSO Token Log-in", - "Job": "Action", - "JobCenter": "Job Center", - "JobCreate": "Create Job", - "JobDetail": "Job Details", - "JobExecutionLog": "Action Log", - "JobList": "Job Action", - "JobName": "Assignment Name", - "JobType": "Job Type", - "JobUpdate": "Update Job", - "Join": "Join", - "K8s": "Kubernetes", - "K8sPermissionRules": "Kubernetes Authorization Rules", - "Key": "Key", - "KingSoftCloud": "Kingsoft Cloud", - "KokoSettingUpdate": "Koko Configuration Settings", - "Kubernetes": "Kubernetes", - "KubernetesApp": "Kubernetes", - "KubernetesAppCount": "Number of Kubernetes Applications", - "KubernetesAppCreate": "Create Kubernetes", - "KubernetesAppDetail": "Kubernetes Details.\"", - "KubernetesAppPermission": "Kubernetes Authorization", - "KubernetesAppPermissionCreate": "Create Kubernetes Authorization Rules", - "KubernetesAppPermissionDetail": "Kubernetes Authorization Details", - "KubernetesAppPermissionUpdate": "Update Kubernetes Authorization Rules", - "KubernetesAppUpdate": "Update Kubernetes", - "LAN": "Local Area Network", - "LDAPServerInfo": "LDAP Server", - "LDAPUser": "LDAP User", - "LOWER_CASEREQUIRED": "Must Include Lowercase Letters", - "Label": "Tag", - "LabelCreate": "Create Tag", - "LabelInputFormatValidation": "Tag format error, correct format is: name:value", - "LabelList": "Tag List", - "LabelUpdate": "Update Label", - "Language": "Language", - "Last30": "Recent 30 Times", - "Last30Days": "Recent 30 Days", - "Last7Days": "Past 7 Days", - "LastCannotBeDeleteMsg": "Last Item, Cannot be Deleted", - "LastDay": "Last Day of the Month", - "LastExecutionOutput": "Last Execution Output", - "LastPublishedTime": "Last Release Time", - "LastRun": "Last Run", - "LastRunFailedHosts": "The Last Run Failed Host", - "LastRunSuccessHosts": "Last Successful Host", - "LastWeek": "Last Week of the Month", - "LastWorking": "The Most Recent Working Day", - "LatestSessions": "Recent Login Records", - "LatestSessions10": "Last 10 Login Attempts", - "LatestTop10": "TOP 10", - "LatestVersion": "Latest Version", - "Ldap": "LDAP", - "LdapBulkImport": "User Import", - "LdapConnectTest": "Test Connection", - "LdapLoginTest": "Test Login", - "Length": "Length", - "LessEqualThan": "Less Than or Equal To", - "LevelApproval": "Level Approval", - "License": "License", - "LicenseDetail": "License Detail", - "LicenseExpired": "Licence Expired", - "LicenseFile": "License file", - "LicenseForTest": "License for Testing Purposes, This License is Only for Testing (PoC) and Demonstrations", - "LicenseReachedAssetAmountLimit": "The number of assets has exceeded the license limit", - "LicenseWillBe": "License Expiring In ", - "LinuxAdminUser": "Linux Privileged User", - "LinuxUserAffiliateGroup": "User Affiliated Group", - "LoadStatus": "Load Status", - "Loading": "Loading", - "LockedIP": "IP {count} Locked", - "Log": "Logs", - "LogData": "Log Data", - "LogOfLoginSuccessNum": "Login Success Log Count", - "Logging": "Log Record", - "Login": "User Login", - "LoginAssetConfirm": "Asset login review", - "LoginAssetToday": "Today's active assets", - "LoginAssets": "Active Assets", - "LoginCity": "Login City", - "LoginConfig": "Login Configuration", - "LoginConfirm": "Login Review", - "LoginCount": "Login Times", - "LoginDate": "Login Date", - "LoginFailed": "Login Failed", - "LoginFrom": "Login Source", - "LoginIP": "Login IP", - "LoginImage": "Login Page Picture.", - "LoginImageTip": "Note: Will be displayed on the Enterprise edition user login page (recommended picture size: 492*472px)", - "LoginLog": "Login log", - "LoginModeHelpMessage": "If you choose manual login mode, username and password may not be filled in", - "LoginModel": "Login Mode", - "LoginNum": "Login Count", - "LoginOption": "Login Options", - "LoginOverview": "Session Statistics", - "LoginPasswordSetting": "Login Password Settings", - "LoginRequiredMsg": "Account Logged Out, Please Log in Again", - "LoginSucceeded": "Login successful", - "LoginTitle": "Login Page Title", - "LoginTitleTip": "Tip: This will be displayed on the enterprise user SSH login KoKo login page (eg: Welcome to use JumpServer Open Source Bastion Machine)", - "LoginTo": "Log in", - "LoginUserRanking": "Login Account Ranking", - "LoginUserToday": "Number of Accounts Logged in Today", - "LoginUsers": "Active Accounts", - "Login_confirmUser": "Login Review Recipient", - "LogoIndex": "Logo (with text)", - "LogoIndexTip": "Notice: It will be displayed on the top left of the page (Recommended image size: 185px*55px)", - "LogoLogout": "Logo (Without Text)", - "LogoLogoutTip": "Note: It will be displayed on the Web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", - "Logout": "Logout", - "LogsAudit": "Log Audit", - "Lowercase": "Lowercase Letters", - "LunaSettingUpdate": "Luna Configuration Settings", - "MFA": "MFA", - "MFAConfirm": "MFA Authorization", - "MFAErrorMsg": "MFA error, please check", - "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication for increased account security.
After enabling, you will be directed to the multi-factor authentication binding process the next time you log in; you can also directly bind it in (Personal Information->Quick Change->Change Multi-factor Settings)!", - "MFAOfUserFirstLoginUserGuidePage": "To ensure your and the company's safety, please properly manage your account, password, keys, and other important sensitive information; (for example: setting a complex password and enabling multi-factor authentication)
Email, mobile number, WeChat, and other personal information are used solely for user authentication and internal platform notification purposes.", - "MFARequireForSecurity": "For Security, Please Enter MFA", - "MFAVerify": "Verify MFA", - "MIN_LENGTHERROR": "Password Minimum Length {0} Characters", - "MailRecipient": "Email Recipients", - "MailSend": "Email Sent", - "ManualAccount": "Manual Account", - "ManualAccountTip": "Manually enter username/password at login", - "ManualExecutePlan": "Execute Plan Manually", - "ManualInput": "Manual Input", - "ManyChoose": "Multiple Selection Available", - "Mariadb": "MariaDB", - "MarkAsRead": "Mark as Read", - "Marketplace": "App Store", - "Match": "Match", - "MatchIn": "In...", - "MatchResult": "Matching Results", - "MatchedCount": "Match Result", - "Material": "Content", - "Members": "Members", - "Memory": "Memory", - "MenuAccounts": "Account", - "MenuAssets": "Asset Management", - "MenuMore": "More...", - "MenuPermissions": "Authorization Management", - "MenuUsers": "User", - "Message": "Message", - "MessageSub": "Message Subscription", - "MessageSubscription": "Message Subscription", - "MessageType": "Message Type", - "Meta": "Metadata", - "MfaLevel": " Multi-factor Authentication", - "Min": "Minutes", - "Model": "Model", - "Modify": "Edit", - "ModifySSHKey": "Edit SSH Key", - "ModifyTheme": "Edit Theme", - "Module": "Module", - "Monday": "Monday", - "Mongodb": "MongoDB", - "Monitor": "Monitor", - "Month": "Month", - "Monthly": "By Month", - "More": "More Options", - "MoreActions": "More Actions", - "MoveAssetToNode": "Move Assets to Node", - "MsgSubscribe": "Message subscription", - "MyApps": "My Apps", - "MyAssets": "My Assets", - "MyTickets": "I Initiated", - "Mysql": "Mysql", - "MysqlWorkbench": "MySQL Workbench", - "Mysql_workbenchIp": "Database IP", - "Mysql_workbenchName": "Database Name", - "Mysql_workbenchPassword": "Database Password", - "Mysql_workbenchPort": "Database Port", - "Mysql_workbenchUsername": "Database Account", - "NUMBERREQUIRED": "Must Contain Numbers", - "Name": "Name", - "NavHelp": "Navbar Link", - "Navigation": "Navigation", - "NeedAddAppsOrSystemUserErrMsg": "Applications or System Users Required", - "NeedReLogin": "\"Need to Re-login", - "NeedSpecifiedFile": "You need to upload a specified format file", - "NeedUpdatePasswordNextLogin": "Password change required on next login", - "Network": "Network", - "New": "Create", - "NewChat": "New Chat", - "NewCount": "Add", - "NewCron": "Create Cron", - "NewDirectory": "New Directory", - "NewFile": "New File", - "NewPassword": "New Password", - "NewSyncCount": "New Sync", - "No": "No", - "NoAlive": " Offline", - "NoAnnouncement": "No Announcement", - "NoContent": "No Content", - "NoData": "No Data", - "NoFiles": "No Files Available", - "NoInputCommand": "No Command Entered", - "NoLicense": "No License Available", - "NoPermission": "No Permission", - "NoPermission403": "403 No Permission", - "NoPermissionVew": "No permission to view the current page", - "NoPublished": "Unpublished", - "NoSQLProtocol": "Non-Relational Database", - "NoSystemUserWasSelected": "No system user selected", - "NoUnreadMsg": "No unread messages", - "Node": "Node", - "NodeAmount": "Node Quantity", - "NodeCount": "Number of Nodes", - "NodeInformation": "Node Information", - "NodeSearchStrategy": "Node Search Strategy", - "NormalLoad": "Normal", - "NotAlphanumericUnderscore": "Can only input letters, numbers, underscores", - "NotEqual": "Not Equal To", - "NotParenthesis": "Cannot Include ( )", - "NotSet": "Not Set", - "NotSpecialEmoji": "Special Emoji Input Not Allowed", - "Nothing": "None", - "Notifications": "Notification", - "Now": "Now", - "Num": "Number", - "Number": "Serial Number", - "NumberOfVisits": "Number of Visits", - "OAuth2": "OAuth2", - "OAuth2LogoTip": "Hint: Authentication Service Provider (Suggested Image Size: 64px*64px)", - "OIDC": "OIDC", - "OTP": "MFA (OTP)", - "ObjectNotFoundOrDeletedMsg": "No corresponding resources found or they have been deleted", - "OfficialWebsite": "Official Web Link", - "OfficialWebsiteTip": "You can change the URL of the Website Navigation Bar Help ->Official Website", - "Offline": "Offline", - "OfflineSuccessMsg": "Offline Successful", - "OfflineUpload": "Offline Upload", - "OldPassword": "Original Password", - "OldSSHKey": "Original SSH Public Key", - "On/Off": "Start/Stop", - "OneAssignee": "First Level Acceptance Personnel", - "OneAssigneeType": "First-Level Acceptance Type", - "OneClickRead": "Currently Read", - "OneClickReadMsg": "Are you sure you want to mark the current information as read?", - "OnlineSession": "Online Users", - "OnlineSessionHelpMsg": "Unable to offline the current session as it is an online session of the current user. Currently, only users logged in via the Web are recorded.", - "OnlineSessions": "Online Sessions", - "OnlineUserDevices": "Online User Devices", - "OnlineUsers": "Online Account", - "OnlyCSVFilesTips": "Supports CSV file import only", - "OnlyLatestVersion": "Only Latest Version", - "OnlyMailSend": "Currently only supports email sending", - "OnlySearchCurrentNodePerm": "Search only for the current node authorization", - "Open": "Pending", - "OpenCommand": "Open Command", - "OpenId": "OpenID Settings", - "OpenStack": "OpenStack", - "OpenStatus": "Under Review", - "OpenTicket": "Create Work Order", - "OperateLog": "Action Log", - "OperateRecord": "Action Record", - "OperationLogNum": "Action Log Count", - "Ops": "Task", - "Options": "Options", - "Oracle": "Oracle", - "OrgAdmin": "Organization Admin", - "OrgAuditor": "Organization Auditor", - "OrgName": "Authorized Organization Name", - "OrgRole": "Organization Roles", - "OrgRoleHelpText": "An organization role is the user's role within the current organization", - "OrgRoles": "Organizational Role", - "OrgUser": "Organizational Users", - "OrganizationCreate": "Create Organization", - "OrganizationDetail": "Organization details", - "OrganizationList": "Organization", - "OrganizationLists": "Organization List", - "OrganizationMembership": "Organization Members", - "OrganizationUpdate": "Update organization", - "Os": "Operating System", - "Other": "Other", - "OtherAuth": "Other Authentication", - "OtherProtocol": "Other Protocols", - "OtherRules": "Other Rules", - "Others": "Other", - "Output": "Output", - "Overview": "Overview", - "PENDING": "Waiting", - "PageNext": "Next Page", - "PagePrev": "Previous Page", - "Parameter": "Parameters", - "Params": "Parameter", - "ParamsHelpText": "Change Password Parameter Settings, currently only effective for assets of the host type.", - "PassKey": "Passkey", - "Passkey": "Passkey", - "PasskeyAddDisableInfo": "Your authorization source is {source}, adding Passkey is not supported", - "Passphrase": "Key Password", - "Password": "Password", - "PasswordAccount": "Password Account", - "PasswordChangeLog": "Password Change Log", - "PasswordCheckRule": "Password Strength Rules", - "PasswordConfirm": "Password Authentication", - "PasswordExpired": "Password has expired", - "PasswordHelpMessage": "Password or Key Password", - "PasswordLength": "Password Length", - "PasswordOrPassphrase": "Password or Key Password", - "PasswordOrToken": "Password / Token", - "PasswordPlaceholder": "Please Enter Password", - "PasswordRecord": "Password Log", - "PasswordRequireForSecurity": "Please Enter Password for Security", - "PasswordRule": "Password Rules", - "PasswordSecurity": "Password Security", - "PasswordSelector": "Password Input Selector", - "PasswordStrategy": "Ciphertext Generation Strategy", - "PasswordWillExpiredPrefixMsg": "Password is about to be in", - "PasswordWillExpiredSuffixMsg": "Expires in days, please change your password as soon as possible.", - "PasswordWithoutSpecialCharHelpText": "Cannot Include Special Characters", - "Paste": "Paste", - "Pattern": "Mode", - "Pause": "Pause", - "PauseTaskSendSuccessMsg": "The Task Has Been Paused and Issued, Please Refresh Later", - "Pending": "Pending", - "Periodic": "Execution Cycle", - "PeriodicPerform": "Schedule Execution", - "Perm": "Authorization", - "PermAccount": "Authorized Account", - "PermName": "Authorization Name", - "PermUserList": "Authorize User", - "PermissionCompany": "Authorize Company", - "PermissionName": "Authorization Rule Name", - "Permissions": "Permissions", - "Perms": "权限管理", - "PersonalInformationImprovement": "Personal information completion", - "Phone": "Phone Number", - "Plan": "Schedule", - "Platform": "System Platform", - "PlatformCreate": "Create System Platform", - "PlatformDetail": "System Platform Details", - "PlatformList": "Platform List", - "PlatformProtocolConfig": "Platform Protocol Configuration", - "PlatformSimple": "Platform", - "PlatformUpdate": "Update System Platform", - "PlaybookDetail": "Playbook Details", - "PlaybookManage": "Playbook管理", - "PlaybookUpdate": "Update Playbook", - "PleaseAgreeToTheTerms": "Please Accept the Terms", - "PleaseClickLeftApplicationToViewApplicationAccount": "Application Account List, click on the application on the left to view", - "PleaseClickLeftAssetToViewAssetAccount": "Asset account list, click on the asset on the left to view", - "PleaseClickLeftAssetToViewGatheredUser": "Collect user list, click on the asset on the left to view", - "PleaseSelect": "Please Select", - "PolicyName": "Policy Name", - "Port": "Port", - "Ports": "Port", - "Postgresql": "PostgreSQL", - "Primary": "Main", - "PrimaryProtocol": "Main Protocol, the most basic and commonly used asset protocol, can and must set up one", - "Priority": "Priority", - "PriorityHelpMessage": "1-100, 1 is the lowest priority, 100 is the highest. When authorizing multiple users, the system user with the highest priority will be the default login user", - "PrivateCloud": "Private Cloud", - "PrivateKey": "Private Key", - "PrivilegeFirst": "Priority is for Privileged Accounts", - "PrivilegeOnly": "Only Select Privileged Accounts", - "Privileged": "Privilege Account", - "PrivilegedFirst": "Priority Privilege Account", - "PrivilegedOnly": "Privileged Accounts Only", - "PrivilegedTemplate": "Privileged", - "Product": "Product", - "Profile": "Personal Information", - "ProfileSetting": "Personal Information Settings", - "Project": "Project name", - "Prompt": "Hint Word", - "Proportion": "Proportion", - "ProportionOfAssetTypes": "Asset Type Proportions", - "Protocol": "Protocol", - "Protocols": "Protocol", - "ProtocolsEnabled": "Enable Protocol", - "ProtocolsGroup": "Agreement", - "Provider": "Cloud Service Provider", - "Proxy": "Proxy", - "Public": "Public", - "PublicCloud": "Public Cloud", - "PublicIp": "Public IP", - "PublicKey": "Public Key", - "PublicProtocol": "Displayed when public protocol is used to connect assets", - "Publish": "Publish", - "PublishAllApplets": "Publish All Applications", - "PublishStatus": "Publish Status", - "Push": "Push", - "PushAccount": "Push Account", - "PushAllSystemUsersToAsset": "Push All System Users to Assets", - "PushParams": "Push Parameters", - "PushSelected": "Push Selected", - "PushSelectedSystemUsersToAsset": "Push Selected System User to Asset", - "PushSystemUserNow": "Push System User", - "Qcloud": "Tencent Cloud", - "QcloudLighthouse": "Tencent Cloud (Light Application Server)", - "QingyunPrivatecloud": "QingCloud Private Cloud", - "Queue": "Queue", - "QuickAccess": "Quick Access", - "QuickAdd": "Quick Add", - "QuickJob": "Shortcut Command", - "QuickSelect": "Quick Selection", - "QuickUpdate": "Quick Update", - "RDBProtocol": "Relational Database", - "RUNNING": "Running", - "Radius": "Radius", - "Ranking": "Ranking", - "Ratio": "Ratio", - "RazorNotSupport": "RDP client session, monitoring not supported", - "ReLogin": "Re-log in", - "ReLoginErr": "Login duration has exceeded 5 minutes, please log in again", - "ReLoginTitle": "Current third-party logged-in users (CAS/SAML), not bound with MFA and doesn't support password validation, please log in again.", - "RealTimeData": "Real-time Data", - "Reason": "Reason", - "Receivers": "Recipient", - "RecentLogin": "Recent Login", - "RecentSession": "Recent Sessions", - "RecentlyUsed": "Recent Use", - "RecipientHelpText": "If both A and B are set as recipients, the key to the account will be split into two parts", - "RecipientServer": "Receiving Server", - "Reconnect": "Reconnect", - "Redis": "Redis", - "Refresh": "Refresh", - "RefreshFail": "Refresh Failed", - "RefreshHardware": "Update Hardware Information", - "RefreshLdapCache": "Refreshing Ldap cache, please wait", - "RefreshLdapUser": "Refresh Cache", - "RefreshPermissionCache": "Refresh Authorization Cache", - "RefreshSuccess": "Refresh Successful", - "Regex": "Regular Expression", - "Region": "Region", - "RegularlyPerform": "Scheduled Execution", - "Reject": "Reject", - "Rejected": "Rejected", - "RelAnd": "And", - "RelNot": "Not", - "RelOr": "Or", - "Relation": "Relationship", - "ReleasedCount": "Released", - "RelevantApp": "Application", - "RelevantAsset": "Asset", - "RelevantAssignees": "Related Recipient", - "RelevantCommand": "Command", - "RelevantSystemUser": "System User", - "RemoteAddr": "Remote Address", - "RemoteApp": "Remote Applications", - "RemoteAppCount": "Number of Remote Applications", - "RemoteAppDetail": "Remote Application Details", - "RemoteAppListHelpMessage": "Before using this feature, please make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application Download Application Loader", - "RemoteAppPermission": "Remote App Authorization", - "RemoteAppPermissionCreate": "Create Remote Application Authorization Rule", - "RemoteAppPermissionDetail": "Remote Application Authorization Details", - "RemoteAppPermissionRules": "Remote Application Authorization Rules", - "RemoteAppPermissionUpdate": "Update Remote Application Authorization Rules", - "RemoteAppUpdate": "Update Remote Application", - "RemoteApps": "Remote Application", - "RemoteType": "Application Type", - "Remove": "Remove", - "RemoveAssetFromNode": "Remove Assets From Node", - "RemoveErrorMsg": "Removal Failed:", - "RemoveFromCurrentNode": "Remove from node", - "RemoveFromOrgWarningMsg": "Are you sure you want to remove from organization ", - "RemoveSuccessMsg": "Removal Successful", - "RemoveWarningMsg": "Are you sure you want to remove", - "Rename": "Rename", - "RenameNode": "Rename Node", - "ReplaceNodeAssetsAdminUser": "Replace the administrator of the node assets", - "ReplaceNodeAssetsAdminUserWithThis": "Replace the administrator of assets", - "Replay": "Playback", - "ReplaySession": "Session Playback", - "ReplayStorage": "Object Storage", - "ReplayStorageCreateUpdateHelpMessage": "Note: SFTP Storage Currently only supports account backup and does not support video storage.", - "ReplayStorageUpdate": "Update Object Storage", - "Reply": "Reply", - "RequestApplicationPerm": "Apply for App Authorization", - "RequestAssetPerm": "Apply for Asset Authorization", - "RequestPerm": "Authorization Request", - "RequestTickets": "Application Work Order", - "Required": "Required", - "RequiredAssetOrNode": "Please select at least one asset or node", - "RequiredContent": "Please Enter Command", - "RequiredEntryFile": "This file serves as the entry point for running and must exist", - "RequiredHasUserNameMapped": "A map that must contain the username field, such as 'uid': 'username'", - "RequiredProtocol": "Mandatory Protocol, must be selected when adding assets, multiple can be set", - "RequiredRunas": "Please Enter the Running User", - "RequiredSystemUserErrMsg": "Please Select an Account", - "RequiredUploadFile": "Please Upload File!", - "Reset": "Restore", - "ResetAndDownloadSSHKey": "Reset and Download Key", - "ResetDingTalk": "Unbind DingTalk", - "ResetDingTalkLoginSuccessMsg": "Reset successful, user can re-bind DingTalk", - "ResetDingTalkLoginWarningMsg": "Are you sure you want to unbind the user's DingTalk?", - "ResetMFA": "Reset MFA", - "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", - "ResetMFAdSuccessMsg": "'MFA Reset Successful, User Can Reset MFA Again", - "ResetPassword": "Reset Password", - "ResetPasswordSuccessMsg": "Password Reset Message Has Been Sent to User", - "ResetPasswordWarningMsg": "Are you sure you want to send a password reset email?", - "ResetPublicKeyAndDownload": "Reset and Download SSH Key", - "ResetSSHKey": "Reset SSH Key", - "ResetSSHKeySuccessMsg": "Email sending task has been submitted, users will receive a reset key email later", - "ResetSSHKeyWarningMsg": "Are you sure you want to send out the reset user's SSH Key email?", - "ResetWechat": "Unbind Corporate WeChat", - "ResetWechatLoginSuccessMsg": "Reset Successful. User can rebind with enterprise WeChat", - "ResetWechatLoginWarningMsg": "Are you sure you want to unbind the user's WeChat for Business?", - "Resource": "Resources", - "ResourceType": "Resource Type", - "Resources": "Resources", - "RestoreButton": "Restore Defaults", - "RestoreDefault": "Restore Default", - "RestoreDialogMessage": "Are you sure you'd like to restore to default initialization?", - "RestoreDialogTitle": "Are you sure", - "Result": "Result", - "Resume": "Restore", - "ResumeTaskSendSuccessMsg": "Recovery action has been dispatched, please refresh and check later", - "Retry": "Retry", - "Reviewer": "Approver", - "Revise": "Modify", - "RiskLevel": "Risk level", - "Role": "Role", - "RoleCreate": "Create Character", - "RoleDetail": "Role Details", - "RoleInfo": "Role Information", - "RoleList": "Role List", - "RolePerms": "Role Permissions", - "RoleUpdate": "Update Role", - "RoleUsers": "Authorized User", - "Rows": "Row", - "Rule": "Condition", - "RuleCount": "Condition Quantity", - "RuleDetail": "Rule details", - "RuleRelation": "Relationship Conditions", - "RuleRelationHelpTips": "And: Action will be executed only when all conditions are met; Or: Action will be executed as long as one condition is met", - "RuleSetting": "Condition Setting", - "Rules": "Rules", - "Run": "Execute", - "RunAgain": "Execute Again", - "RunAs": "Run as User", - "RunCommand": "Run Command", - "RunJob": "Run Job", - "RunSucceed": "Task Execution Success", - "RunTaskManually": "Manual Action", - "RunTimes": "Execution Count", - "RunUser": "Run User", - "RunasHelpText": "Enter the username for running the script", - "RunasPolicy": "Account Policy", - "RunasPolicyHelpText": "What account selection strategy should be taken when there is no such running user on the current asset. Skip: Don't Execute. Privileged Account Priority: If there is a privileged account, select the privileged account first, if not, then choose a common account. Only Privileged Accounts: Select only from privileged accounts, if none, then don't execute", - "Running": "Running", - "RunningPath": "Run Path", - "RunningPathHelpText": "Enter the running path of the script, this setting only applies to shell scripts", - "RunningTimes": "Last 5 Run Times", - "SAML2Auth": "SAML2 Authentication", - "SCP": "Sangfor Cloud Platform", - "SFTPHelpMessage": "Start Path of SFTP, Home Directory Can Be Entered As: HOME.
Supported Variables: ${ACCOUNT} Account Username Linked, ${USER} Current User's Username, such as /tmp/${ACCOUNT}", - "SMS": "Message", - "SMSProvider": "SMS Service Provider", - "SMTP": "Email Server", - "SPECIAL_CHARREQUIRED": "Must Include Special Characters", - "SSHKey": "SSH Public Key", - "SSHKeyOfProfileSSHUpdatePage": "Paste Your Public Key Here", - "SSHKeySetting": "Setting SSH Public Key", - "SSHPort": "SSH Port", - "SSHSecretKey": "SSH key", - "SSO": "Single sign-on", - "SUCCESS": "Success", - "SafeCommand": "Safe Command", - "SameAccount": "Account with Same Name", - "SameAccountTip": "Account with the same username as authorized user", - "SameTypeAccountTip": "An account with the same username and key type already exists", - "Saturday": "Saturday", - "Save": "Save", - "SaveAdhoc": "Save Command", - "SaveAndAddAnother": "Save and continue to add", - "SaveCommand": "Save Command", - "SaveCommandSuccess": "\"Save Command Successful", - "SaveSetting": "Synchronization Settings", - "SaveSuccess": "Save Successful", - "SaveSuccessContinueMsg": "Created successfully, you can continue to add after updating content", - "Scope": "Category", - "Script": "Script List", - "ScriptDetail": "Script Details", - "ScrollToBottom": "Scroll to Bottom", - "ScrollToTop": "Scroll to Top", - "Search": "Search", - "SearchAncestorNodePerm": "Search for the authorization of the current node and ancestor nodes at the same time", - "Secret": "Password", - "SecretKey": "Key", - "SecretKeyStrategy": "Password Strategy", - "SecretType": "Ciphertext Type", - "Secure": "Security", - "Security": "Security Settings", - "SecurityCommandExecution": "Batch commands", - "SecurityInsecureCommand": "Once enabled, an alarm notification will be sent via email when hazardous commands are executed on the asset", - "SecurityInsecureCommandEmailReceiver": "When there are multiple emails, separate them with a comma ','", - "SecurityLoginLimitCount": "Limit Login Failure Attempts", - "SecurityLoginLimitTime": "Disable Login Interval", - "SecurityMaxIdleTime": "Max Idle Connection Time", - "SecurityMfaAuth": "Multi-factor Authentication", - "SecurityPasswordExpirationTime": "Password Expiry Time", - "SecurityPasswordLowerCase": "Must Include Lowercase Letters", - "SecurityPasswordMinLength": "Password Minimum Length", - "SecurityPasswordNumber": "Numeric Characters Required", - "SecurityPasswordSpecialChar": "Must contain special characters", - "SecurityPasswordUpperCase": "Must Include Uppercase Letters", - "SecurityServiceAccountRegistration": "Component Registration", - "SecuritySetting": "Security Settings", - "Select": "Select", - "SelectAccount": "Select Account", - "SelectAdhoc": "Select Command", - "SelectAll": "Select All", - "SelectAssetsMessage": "Select assets on the left, choose the running system user, execute commands in bulk", - "SelectAtLeastOneAssetOrNodeErrMsg": "Select at least one asset or node", - "SelectAttrs": "Select attributes", - "SelectByAttr": "Property filter", - "SelectCreateMethod": "Select Creation Method", - "SelectFile": "Select File", - "SelectKeyOrCreateNew": "Select Tag Key or Create New One", - "SelectLabelFilter": "Select Search Labels", - "SelectPlatforms": "Select platform", - "SelectProperties": "Select Attributes", - "SelectResource": "Select Resources", - "SelectTemplate": "Select Template", - "SelectValueOrCreateNew": "Select Tag Value or Create New", - "Selected": "Selected", - "SelectedAssets": "Selected Assets:", - "Selection": "Selectable", - "Selector": "Selector", - "Send": "Send", - "SendVerificationCode": "Send Verification Code", - "Sender": "Sender", - "Senior": "Advanced", - "SerialNumber": "Serial number", - "ServerAccountKey": "Service Account Key", - "ServerError": "Server Error", - "ServerTime": "Server Time", - "ServiceRatio": "Component Load Statistics", - "Session": "Session", - "SessionActiveCount": "Online Session Amount", - "SessionData": "Session Data", - "SessionDetail": "Session Details", - "SessionID": "Session ID", - "SessionList": "Session Log", - "SessionMonitor": "Monitoring", - "SessionOffline": "Historical Sessions", - "SessionOnline": "Online Sessions", - "SessionSecurity": "Session Security", - "SessionState": "Session Status", - "SessionTerminate": "Conversation Ended", - "SessionTrend": "Session Trend", - "Sessions": "Session ", - "SessionsAudit": "Session Audit", - "SessionsNum": "Number of Sessions", - "Set": "Already set", - "SetAdDomainNoDisabled": "Create standard account using privileged account on assets, can't be modified if AD domain is set (Windows)", - "SetDingTalk": "Set up DingTalk Authentication", - "SetFailed": "Settings Failed", - "SetFeiShu": "Setup Feishu Authentication", - "SetMFA": "Set Up Multi-Factor Authentication", - "SetPublicKey": "Set SSH Public Key", - "SetSlack": "Set up Slack authentication", - "SetStatus": "Set Status", - "SetSuccess": "Settings applied", - "SetToDefault": "Set as Default", - "SetToDefaultStorage": "Set as default storage", - "SetWeCom": "Setting Enterprise WeChat Authorization", - "Setting": "Settings", - "SettingInEndpointHelpText": "Configure the service address and port in System Settings / Component Settings / service endpoints", - "Settings": "System Settings", - "Show": "Display", - "ShowAssetAllChildrenNode": "Show All Sub-node Assets", - "ShowAssetOnlyCurrentNode": "Show Assets of Current Node Only", - "ShowNodeInfo": "Show Node Details", - "SignChannelNum": "Signature Channel Number", - "SignaturesAndTemplates": "Signatures and Templates", - "SiteMessage": "Internal Mail", - "SiteMessageList": "Internal Message", - "SiteUrl": "Current Site URL", - "Skip": "Ignore the current asset", - "Skipped": "Skipped", - "Slack": "Slack", - "Source": "Source", - "SourceIP": "Source Address\"", - "SourcePort": "Source port", - "Spec": "Specify", - "SpecAccount": "Specify Account", - "SpecAccountTip": "Specify Username Select Authorized Account", - "SpecialSymbol": "Special Characters", - "SpecificInfo": "Special information", - "Sqlserver": "SQLServer", - "SshKeyFingerprint": "SSH Fingerprint", - "SshPort": "SSH Port", - "Sshkey": "sshkey", - "SshkeyAccount": "Key Account", - "StartEvery": "Start, Each", - "Startswith": "Beginning with...", - "Stat": "Success/ Failure/ Total", - "State": "Status", - "StateClosed": "Turned Off", - "Status": "Status", - "StatusGreen": "Recent Good Status", - "StatusRed": "Last Task Execution Failure", - "StatusYellow": "Recent Execution Failures", - "Stop": "Stop", - "Storage": "Storage", - "StorageConfiguration": "Store Configuration", - "Strategy": "Strategy", - "StrategyCreate": "Create policy", - "StrategyDetail": "Policy Details", - "StrategyHelpTips": "Determine the unique attribute of the asset (such as the platform) based on the policy priority. When multiple configurations are possible for the asset attribute (such as the node), all Actions of the policies will be executed", - "StrategyList": "Strategy List", - "StrategyUpdate": "Update Policy", - "SuFrom": "Switch From", - "Subject": "Theme", - "Submit": "Submit", - "SubmitSelector": "Submit button selector", - "Subscription": "Message Subscription", - "SubscriptionID": "Subscription Authorization ID", - "Success": "Successful", - "SuccessAsset": "Successful Assets", - "SuccessfulOperation": "Operation Successful", - "SudoHelpMessage": "Separate multiple commands with a comma, such as: /bin/whoami,/sbin/ifconfig", - "Summary(success/total)": "Overview ( Success/Total )", - "Sunday": "Sunday", - "SuperAdmin": "Super Administrator", - "SuperOrgAdmin": "Super Administrator + Organization Administrator", - "Support": "Support", - "SupportedProtocol": "Supported Protocol", - "SupportedProtocolHelpText": "Set the protocols supported by assets. Clicking the settings button can modify custom configurations for protocols, such as SFTP directory, RDP AD domain, etc.", - "SwitchFrom": "Switch From", - "SwitchPage": "Switch Views", - "SwitchToUser": "Su User", - "SwitchToUserListTips": "When connecting to assets through the following users, the current system user will be used to log in and then switch.", - "SymbolSet": "Special Symbols Collection", - "SymbolSetHelpText": "Please enter the special symbol set supported by this type of database. If the randomly generated password contains special characters that this type of database does not support, the change password plan will fail", - "Sync": "Synchronization", - "SyncDelete": "Sync Delete", - "SyncInstanceTaskCreate": "Create Synchronization Task", - "SyncInstanceTaskDetail": " Synchronization task details", - "SyncInstanceTaskHistoryAssetList": "Sync Instance List", - "SyncInstanceTaskHistoryList": "Sync History List", - "SyncInstanceTaskList": "Sync Task List", - "SyncInstanceTaskUpdate": "Update Sync Task", - "SyncProtocolToAsset": "Synchronize Agreement to Assets", - "SyncSelected": "Sync Selected", - "SyncSetting": "Sync Settings", - "SyncStrategy": "Sync Policy", - "SyncSuccessMsg": "Synchronization Successful", - "SyncTask": "Synchronized Task", - "SyncUpdateAccountInfo": "Synchronize account information", - "SyncUser": "Synchronize User", - "SyncedCount": "Synchronized", - "SystemCpuLoad": "CPU Load", - "SystemDiskUsedPercent": "Disk Usage Rate", - "SystemError": "System Error", - "SystemMemoryUsedPercent": "Memory Usage Rate", - "SystemMessageSubscription": "System Message Subscription", - "SystemRole": "System Roles", - "SystemRoles": "System Role", - "SystemSetting": "System Settings", - "SystemTools": "System Tools", - "SystemUser": "System User", - "SystemUserAmount": "System User Count", - "SystemUserCount": "System User", - "SystemUserCreate": "Create System User", - "SystemUserDetail": "System user details", - "SystemUserId": "System User Id", - "SystemUserList": "System Users", - "SystemUserListHelpMessage": "System User is the account JumpServer uses when logging in to assets, such as root `ssh root@host`, instead of logging in to the asset with this username (ssh admin@host)`;
Privileged User is an existing asset user who has advanced privileges. JumpServer uses this user to `push system users`, `acquire hardware information about the assets`, etc;
Regular User can preexist on an asset, or can be created automatically by the Privileged User.", - "SystemUserName": "System Username", - "SystemUserUpdate": "Update System User", - "SystemUsers": "System Users", - "System_usersAmount": "System User", - "System_users_nameGroup": "System Username", - "System_users_protocolGroup": "System User Agreement", - "System_users_usernameGroup": "System Username", - "TableColSettingInfo": "Please select the detailed information you would like to display on the list.", - "Target": "Target", - "TargetResources": "Target Resource", - "Task": "Task", - "TaskCenter": "Task Center", - "TaskDetail": "Task Details", - "TaskDispatch": "Task Issued Successfully", - "TaskDone": "Task Ended", - "TaskID": "Task ID", - "TaskList": "Task List", - "TaskMonitor": "Task Monitoring", - "TaskName": "Task Name", - "TaskVersions": "Task Versions", - "Tasks": "Task", - "TechnologyConsult": "Technical Consultation", - "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after usage", - "Template": "Template", - "TemplateAdd": "Template Addition", - "TemplateCreate": "Create Template", - "TemplateDetail": "Template Details", - "TemplateHelpText": "When choosing to add by template, accounts not existing under the asset will be automatically created and pushed", - "TemplateUpdate": "Update Template", - "Templates": "Template", - "TencentCloud": "Tencent Cloud", - "Terminal": "Component Settings", - "TerminalAssetListPageSize": "Asset Pagination Per Page Quantity", - "TerminalAssetListSortBy": "Sort Asset List", - "TerminalDetail": "Terminal Details", - "TerminalHeartbeatInterval": "Heartbeat Interval", - "TerminalPasswordAuth": "Password Authentication", - "TerminalPublicKeyAuth": "Key Authentication", - "TerminalSessionKeepDuration": "Session Retention Duration", - "TerminalStat": "CPU/Memory/Disk", - "TerminalTelnetRegex": "Telnet Successful Regular Expression", - "TerminalUpdate": "Update Terminal", - "TerminalUpdateStorage": "Update Terminal Storage", - "Terminate": "Termination", - "TerminateTaskSendSuccessMsg": "The termination task has been issued, please refresh later to check", - "TermsAndConditions": "Terms and Conditions", - "Test": "Test", - "TestAccountConnective": "Test Account Connectivity", - "TestAllSystemUsersConnective": "Test All System Users' Connectivity", - "TestAssetsConnective": "Test Asset Connectivity", - "TestConnection": "Test Connection", - "TestGatewayHelpMessage": "If you are using NAT port mapping, set it to the port that SSH really listens to", - "TestGatewayTestConnection": "Test Gateway Connection", - "TestHelpText": "Please Enter Destination Address for Testing", - "TestLdapLoginSubtitle": "Please submit LDAP configuration before test login", - "TestLdapLoginTitle": "Test LDAP user login", - "TestMultiPort": "Separate Multiple Ports with a Comma", - "TestNodeAssetConnectivity": "Test Asset Node Connectivity", - "TestParam": "Parameter", - "TestPortErrorMsg": "Wrong port, please enter again", - "TestSelected": "Test Selected", - "TestSelectedSystemUsersConnective": "Test Connectivity of Selected System User", - "TestSuccessMsg": "Test Successful", - "The": "Number", - "ThisPeriodic": "This is a periodic job", - "Thursday": "Thursday", - "Ticket": "Work Order", - "TicketCreate": "Create Work Order", - "TicketDetail": "Work Order Details", - "TicketFlow": "Work Order Flow", - "TicketFlowCreate": "Create Approval Flow", - "TicketFlowUpdate": "Update Approval Flow", - "Tickets": "Ticket List", - "TicketsDone": "Completed Work Order", - "TicketsNew": "Submit Work Order", - "TicketsTodo": "Pending Work Orders", - "Time": "Time", - "TimeDelta": "Running Time", - "TimeExpression": "Time Expression", - "TimePeriod": "Time Period", - "Timeout": "Timeout", - "TimeoutHelpText": "When this value is -1, no timeout period is specified", - "Timer": "Scheduled Execution", - "TimerPeriod": "Scheduled Execution Cycle", - "TimesWeekUnit": "Times/Week", - "Title": "Title", - "To": "To", - "Today": "Today", - "TodayFailedConnections": "Number of Failed Connections Today", - "Token": "Token", - "TokenHTTPMethod": "Token Acquisition Method", - "TopAssetsOfWeek": "Weekly TOP10 Assets", - "TopUsersOfWeek": "Top 10 Weekly Users", - "Total": "Total", - "TotalJobFailed": "Number of Failed Jobs", - "TotalJobLog": "Job Execution Total", - "TotalJobRunning": "Number of jobs in action", - "TotalVersions": "Version Count", - "Transfer": "Transfer", - "True": "Yes", - "Tuesday": "Tuesday", - "TwoAssignee": "Secondary Receiver", - "TwoAssigneeType": "Second-Level Acceptance Type", - "Type": "Type", - "Types": "Type", - "UCloud": "UCloud", - "UPPER_CASEREQUIRED": "Must include uppercase letters", - "UnSyncCount": "Un-synced", - "Unbind": "Unbind", - "UnbindHelpText": "Local users are from this authentication source and cannot be unlinked", - "Unblock": "Unlock", - "UnblockSuccessMsg": "Unlock Successful", - "UnblockUser": "Unlock User", - "UniqueError": "Only one of the following attributes can be set", - "Unknown": "Unknown", - "UnlockSuccessMsg": "Unlock Success", - "Unreachable": "Cannot Connect", - "UnselectedAssets": "No assets selected or selected assets do not support SSH protocol connection", - "UnselectedNodes": "No Node Selected", - "UnselectedOrg": "No Organization Selected", - "UnselectedUser": "No user selected", - "UpDownload": "Upload Download", - "Update": "Update", - "UpdateAccount": "Update Account", - "UpdateAccountMsg": "Please Update System User Account Info", - "UpdateAccountTemplate": "Update Account Template", - "UpdateAssetDetail": "Configure More Information", - "UpdateAssetUserToken": "Update Account Authentication Information", - "UpdateEndpoint": "Update Endpoint", - "UpdateEndpointRule": "Update Endpoint Rules", - "UpdateErrorMsg": "Update Failed", - "UpdateMFA": "Change Multi-Factor Authentication", - "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", - "UpdatePassword": "Update Password", - "UpdateSSHKey": "Update SSH Public Key", - "UpdateSecret": "Update Ciphertext", - "UpdateSelected": "Update Selected", - "UpdateSuccessMsg": "Update Successful", - "Updated": "Updated", - "UpdatedBy": "Updater", - "Upload": "Upload", - "UploadCsvLth10MHelpText": "Only csv/xlsx files can be uploaded, and must not exceed 10M", - "UploadDir": "Upload Directory", - "UploadFailed": "Upload Failed", - "UploadFile": "Upload File", - "UploadFileLthHelpText": "Only files less than {limit} MB can be uploaded", - "UploadPlaybook": "Upload Playbook", - "UploadSucceed": "Upload Successful", - "UploadZipTips": "Please Upload a Zip Format File", - "Uploading": "File Upload in Progress", - "Uppercase": "Capital Letters", - "UseParameterDefine": "Define Parameters", - "UseProtocol": "Use Protocol", - "UseSSL": "Use SSL/TLS", - "User": "User", - "UserAclDetail": "User Login Rule Details", - "UserAclList": "User Login", - "UserAclLists": "User Login Rules", - "UserAssetActivity": "Account/Asset Activity", - "UserCount": "User count", - "UserCreate": "Create User", - "UserData": "Account Data", - "UserDetail": "User Details", - "UserFirstLogin": "First Login", - "UserGroupCount": "Number of user groups", - "UserGroupCreate": "Create User Group", - "UserGroupDetail": "User Group Details", - "UserGroupList": "User Group", - "UserGroupUpdate": "Update User Group", - "UserGroups": "User Group", - "UserGuide": "User Guide", - "UserGuideUrl": "User Guide URL", - "UserIP": "Login IP", - "UserInformation": "User Information", - "UserList": "User List", - "UserLoginACL": "User Login", - "UserLoginACLCreate": "Create User Login Rule", - "UserLoginACLDetail": "User Login Restrictions", - "UserLoginACLHelpMsg": "When logging in the system, you may audit based on the user's login IP and time period to decide whether to grant system access (effective globally)", - "UserLoginACLUpdate": "Update User Login Rules", - "UserLoginAclCreate": "Create User Login Control", - "UserLoginAclDetail": "User Login Control Details", - "UserLoginAclList": "User Login", - "UserLoginAclUpdate": "Update User Login Control", - "UserLoginLimit": "User Login Restriction", - "UserLoginTrend": "Account Login Trend", - "UserName": "Name", - "UserNameSelector": "Username Input Box Selector", - "UserPage": "User View", - "UserProfile": "Personal Information", - "UserRatio": "User Proportion Statistics", - "UserSession": "User Session", - "UserSetting": "Preference Settings", - "UserSwitch": "User switch", - "UserUpdate": "Update User", - "UserUsername": "User (Username)", - "Username": "Username", - "UsernameGroup": "Username", - "UsernameHelpMessage": "Username is dynamic, use the current user's username when logging in to assets", - "UsernameOfCreateUpdatePage": "On target host, the username of the user; if existing, modifies the password; if it does not exist, add the user and set the password,", - "UsernamePlaceholder": "Enter Username", - "Users": "User", - "UsersAmount": "User", - "UsersAndUserGroups": "User/User Group", - "UsersTotal": "Total Accounts", - "Valid": "Valid", - "Validity": "Valid", - "Value": "Value", - "Variable": "Variable", - "VariableHelpText": "You can use {{ key }} to read built-in variables in the command", - "Vault": "Password Box", - "VaultHelpText": "1. Due to security reasons, the Vault storage needs to be activated in the configuration file.
2. Once activated, fill in the other configurations and conduct testing.
3. Perform data synchronization, which is unidirectional - it only syncs from the local database to the remote Vault. Once synchronization is finished, the local database will no longer store passwords. Please backup your data.
4. If you need to modify the Vault configuration a second time, the service needs to be restarted.", - "Vendor": "Manufacturer", - "VerificationCodeSent": "Verification code has been sent", - "VerifySignTmpl": "Verification Code SMS Template", - "Version": "Version", - "VersionDetail": "Version Details", - "VersionRunExecution": "Execute History", - "View": "View", - "ViewBlockedIPSHelpText": "View the list of locked IPs", - "ViewMore": "See More", - "ViewPerm": "View Authorization", - "ViewSecret": "View Cipher Text", - "VirtualAccountDetail": "Virtual Account Details", - "VirtualAccountUpdate": "Virtual Account Update", - "VirtualAccounts": "Virtual Account", - "VirtualApp": " Virtual Apps", - "VirtualAppDetail": "Virtual Application Details", - "VirtualApps": "Virtual Apps", - "VmwareClient": "vSphere Client", - "VmwarePassword": "Login Password", - "VmwareTarget": "Target Address", - "VmwareUsername": "Login Account", - "WeCom": "Enterprise WeChat", - "WeComTest": "Test", - "WebCreate": "Create Assets-Web", - "WebFTP": "File", - "WebHelpMessage": "Web type assets depend on remote applications. Please configure in remote applications in the system settings", - "WebSocketDisconnect": "WebSocket Disconnection", - "WebTerminal": "Web Terminal", - "WebUpdate": "Update Asset-Web", - "Wednesday": "Wednesday", - "Week": "Week", - "WeekAdd": "Added This Week", - "WeekOf": "Days of the Week", - "WeekOrTime": "Day/Time", - "Weekly": "Weekly", - "WildcardsAllowed": "Permitted Wildcards", - "WindowsAdminUser": "Windows Privileged User", - "WindowsPushHelpText": "Windows Assets do not Support Key Pushing", - "WordSep": "", - "WorkBench": "Workbench", - "Workbench": "Workbench", - "Workspace": "Workspace", - "Yes": "Yes", - "ZStack": "ZStack" -} \ No newline at end of file diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 211ad2471..e08c5b990 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -15,7 +15,6 @@ "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", "AccountGatherList": "Collection Task", "AccountGatherTaskCreate": "Create Task", - "GatheredAccounts": "Collected Accounts", "AccountGatherTaskList": "Account Collect", "AccountGatherTaskUpdate": "Update Task", "AccountList": "Cloud Account", @@ -25,7 +24,8 @@ "AccountPushList": "Account Push", "AccountPushUpdate": "Update Account Push", "AccountStorage": "Account Storage", - "AccountTemplate": "Account Template", + "AccountTemplate": "Template", + "AccountTemplateList": "Templates", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", "AccountUpdate": "Update Account", "Accounts": "Account", @@ -40,7 +40,7 @@ "ActiveAsset": "Recently Logged in", "ActiveAssetRanking": "Login Asset Ranking", "ActiveUser": "Logged in recently", - "Activity": "Action", + "Activity": "Activities", "Add": "Add", "AddAccount": "Add Account", "AddAccountResult": "Second-Level Approver", @@ -131,7 +131,7 @@ "AssetPermissionCreate": "Create Asset Authorization Rule", "AssetPermissionDetail": "Asset Authorization Details", "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", - "AssetPermissionRules": "Asset Authorization Rules", + "AssetPermissionRules": "Authorization Rules", "AssetPermissionUpdate": "Update Asset Authorization Rules", "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", "AssetTree": "Asset Tree", @@ -167,7 +167,7 @@ "BaiduCloud": "Baidu Cloud", "BasePort": "Listening Ports", "Basic": "Basic", - "BasicInfo": "Basic Information", + "BasicInfo": "Basic Info", "BasicSetting": "Basic", "BatchConsent": "Batch Approval", "BatchProcessing": "Bulk Processing (Selected {Number} Items)", @@ -212,7 +212,7 @@ "ChangeSecretParams": "Change Password Parameters", "ChangeViewHelpText": "Click to Switch Different Views", "Chat": "Chat", - "ChatAI": "Smart Q&A", + "ChatAI": "Chat AI", "ChatHello": "Hello! How can I assist you?", "ChdirHelpText": "By Default, the execution directory is the user's home directory", "CheckAssetsAmount": "Check Asset Quantity", @@ -227,7 +227,7 @@ "ClickCopy": "Click to Copy", "ClientCertificate": "Client certificate", "ClipboardCopyPaste": "Clipboard Copy and Paste", - "Clone": "Clone", + "Clone": "Duplicate", "CloneFrom": "Duplicate", "Close": "Close", "CloseConfirm": "Confirm Close", @@ -391,7 +391,6 @@ "Edit": "Edit", "Edition": "Version", "Email": "Email", - "FieldRequiredError": "This field is required", "EmailContent": "Custom Email Content", "EmailTest": "Test Connection", "Empty": "Empty", @@ -442,6 +441,7 @@ "Features": "Features", "FeiShu": "Feishu", "FeiShuTest": "Test", + "FieldRequiredError": "This field is required", "FileManager": "File", "FileNameTooLong": "Filename too long", "FileSizeExceedsLimit": "File size exceeds limit\"", @@ -457,7 +457,6 @@ "FormatError": "Format Error", "Friday": "Friday", "From": "From", - "TypeTree": "Type Tree", "FromTicket": "From the work order", "FullName": "Full name", "FullySynchronous": "Assets completely synchronized", @@ -468,6 +467,7 @@ "GatewayCreate": "Create Gateway", "GatewayList": "Gateway list", "GatewayUpdate": "Update Gateway", + "GatheredAccounts": "Collected Accounts", "GeneralAccounts": "General Accounts", "Generate": "Generate", "GenerateAccounts": "Regenerate Account", @@ -851,7 +851,7 @@ "RequiredRunas": "Please Enter the Execution User", "RequiredSystemUserErrMsg": "Please Select Account", "RequiredUploadFile": "Please upload the file!", - "Reset": "Restore", + "Reset": "Reset", "ResetAndDownloadSSHKey": "Reset and Download Key", "ResetMFA": "Reset MFA", "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", @@ -907,9 +907,9 @@ "SMS": "Message", "SMSProvider": "SMS Service Provider", "SMTP": "Email Server", - "SSHKey": "SSH Public Key", + "SSHKey": "SSH Key", "SSHKeyOfProfileSSHUpdatePage": "Copy Your Public Key Here", - "SSHKeySetting": "SSH Public Key Settings", + "SSHKeySetting": "SSH Key Settings", "SSHPort": "SSH Port", "SSHSecretKey": "SSH Key", "SafeCommand": "Secure Command", @@ -1113,6 +1113,7 @@ "TwoAssignee": "Subscribe to Authorization ID", "TwoAssigneeType": "Secondary Recipient Type", "Type": "Type", + "TypeTree": "Type Tree", "Types": "Type", "UCloud": "UCloud UHost", "UnSyncCount": "Not Synced", @@ -1173,6 +1174,7 @@ "UserProfile": "Personal Information", "UserSession": "User Sessions", "UserSetting": "Preference", + "UserSwitchFrom": "Switch from", "UserUpdate": "Update User", "Username": "Username", "UsernamePlaceholder": "Please Enter Username", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index f8ff02d98..df13f44de 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -22,7 +22,6 @@ "AccountPushCreate": "创建账号推送", "AccountPushExecutionList": "执行列表", "AccountPushList": "账号推送", - "FieldRequiredError": "此字段是必填项", "AccountPushUpdate": "账号推送更新", "AccountStorage": "账号存储", "AccountTemplate": "账号模版", @@ -438,6 +437,7 @@ "Features": "功能设置", "FeiShu": "飞书", "FeiShuTest": "测试", + "FieldRequiredError": "此字段是必填项", "FileManager": "文件管理", "FileNameTooLong": "文件名太长", "FileSizeExceedsLimit": "文件大小超出限制", @@ -1211,4 +1211,4 @@ "Workspace": "工作空间", "Yes": "是", "ZStack": "ZStack" -} +} \ No newline at end of file diff --git a/apps/users/models/user.py b/apps/users/models/user.py index f31ec6690..da433899c 100644 --- a/apps/users/models/user.py +++ b/apps/users/models/user.py @@ -67,7 +67,7 @@ class AuthMixin: if self.username: self.date_password_last_updated = timezone.now() post_user_change_password.send(self.__class__, user=self) - super().set_password(raw_password) # noqa + super().set_password(raw_password) # noqa def set_public_key(self, public_key): if self.can_update_ssh_key(): @@ -381,15 +381,15 @@ class RoleMixin: @lazyproperty def console_orgs(self): - return self.cached_orgs['console_orgs'] + return self.cached_orgs.get('console_orgs', []) @lazyproperty def audit_orgs(self): - return self.cached_orgs['audit_orgs'] + return self.cached_orgs.get('audit_orgs', []) @lazyproperty def workbench_orgs(self): - return self.cached_orgs['workbench_orgs'] + return self.cached_orgs.get('workbench_orgs', []) @lazyproperty def joined_orgs(self): From d799725b8a9971336d7eaecddb48bf06c535b0bd Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 20 Feb 2024 19:01:32 +0800 Subject: [PATCH 016/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/core/en/LC_MESSAGES/django.po | 14 ++++++++------ apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/ja/LC_MESSAGES/django.po | 12 +++++++----- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/zh/LC_MESSAGES/django.po | 12 +++++++----- apps/i18n/lina/en.json | 23 +++++++++++++---------- apps/i18n/lina/zh.json | 4 ++-- apps/labels/serializers.py | 2 +- apps/users/serializers/user.py | 2 +- 9 files changed, 43 insertions(+), 34 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index bc56fd751..d0d817901 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-04 19:41+0800\n" +"POT-Creation-Date: 2024-02-20 15:15+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3844,7 +3844,7 @@ msgstr "" msgid "Invalid choice: {}" msgstr "" -#: common/serializers/mixin.py:397 +#: common/serializers/mixin.py:400 msgid "Labels" msgstr "" @@ -3937,8 +3937,10 @@ msgid "Labeled resource" msgstr "" #: labels/serializers.py:22 -msgid "Resource count" -msgstr "" +#, fuzzy +#| msgid "Executed amount" +msgid "Resource amount" +msgstr "Executions" #: labels/serializers.py:28 msgid "Cannot contain \":,\"" @@ -7925,8 +7927,8 @@ msgstr "MFA" #: users/serializers/user.py:294 msgid "" -"For security, only a partial list of users is displayed. You can try to " -"search for more" +"For security, only a partial list of users is displayed. You can search for " +"more" msgstr "" #: users/serializers/user.py:327 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 774452a8f..7402d6e0a 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d58d2e5e46b76fdd73a85a6620279ba3cfe8ff402fcbbf859d67f3d7c011aaf4 -size 170717 +oid sha256:89339329adfc787fe38cd62cc18caf7adfe5824fa7bbddcb7d69598521a18d18 +size 170670 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 1416a0476..e7f00effd 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-04 19:41+0800\n" +"POT-Creation-Date: 2024-02-20 15:15+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3930,7 +3930,7 @@ msgstr "間違ったデータ タイプです。リストにする必要があ msgid "Invalid choice: {}" msgstr "無効なオプション: {}" -#: common/serializers/mixin.py:397 +#: common/serializers/mixin.py:400 msgid "Labels" msgstr "ラベル" @@ -4035,7 +4035,9 @@ msgid "Labeled resource" msgstr "関連リソース" #: labels/serializers.py:22 -msgid "Resource count" +#, fuzzy +#| msgid "Resource count" +msgid "Resource amount" msgstr "リソース数" #: labels/serializers.py:28 @@ -8219,8 +8221,8 @@ msgstr "MFA レベル" #: users/serializers/user.py:294 msgid "" -"For security, only a partial list of users is displayed. You can try to " -"search for more" +"For security, only a partial list of users is displayed. You can search for " +"more" msgstr "" #: users/serializers/user.py:327 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 78c08e1e7..fbeaaf9d6 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03ddc4852b8fec1981d4ec0aa746bee83f524cb2823359e3a3bf86e8d3b7497a -size 141101 +oid sha256:c0874d399c18f41aa406ea85ee8eaf60fb870eadcd31ed7f1d9a70c10e83240e +size 141057 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 65fb79f98..611d916bd 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-04 19:41+0800\n" +"POT-Creation-Date: 2024-02-20 15:15+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -3872,7 +3872,7 @@ msgstr "错误的数据类型,应该是列表" msgid "Invalid choice: {}" msgstr "无效选项: {}" -#: common/serializers/mixin.py:397 +#: common/serializers/mixin.py:400 msgid "Labels" msgstr "标签" @@ -3972,7 +3972,9 @@ msgid "Labeled resource" msgstr "关联的资源" #: labels/serializers.py:22 -msgid "Resource count" +#, fuzzy +#| msgid "Resource count" +msgid "Resource amount" msgstr "资源数量" #: labels/serializers.py:28 @@ -8041,8 +8043,8 @@ msgstr "MFA" #: users/serializers/user.py:294 msgid "" -"For security, only a partial list of users is displayed. You can try to " -"search for more" +"For security, only a partial list of users is displayed. You can search for " +"more" msgstr "" #: users/serializers/user.py:327 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index e08c5b990..c1b233405 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -170,7 +170,7 @@ "BasicInfo": "Basic Info", "BasicSetting": "Basic", "BatchConsent": "Batch Approval", - "BatchProcessing": "Bulk Processing (Selected {Number} Items)", + "BatchProcessing": "{Number} items selected", "BatchReject": "Bulk Deny", "BeforeChange": "Before Change", "Beian": "Record", @@ -206,7 +206,7 @@ "CeleryTaskLog": "Celery Task Log", "Certificate": "Certificate", "CertificateKey": "Client Key", - "ChangeField": "Change Fields", + "ChangeField": "Change Field", "ChangePassword": "Update Password", "ChangeReceiver": "Modify Message Recipient", "ChangeSecretParams": "Change Password Parameters", @@ -376,7 +376,7 @@ "DomainCreate": "Create Domain", "DomainDetail": "Domain Details", "DomainEnabled": "Enable Domain", - "DomainHelpMessage": "Domain Function Is Designed To Solve The Problem That Some Environments (Such As: Hybrid Cloud) Cannot Be Directly Connected, And A New Function Is Added. The Principle Is To Log In Through The Gateway Server. JMS => Domain Gateway => Target Assets", + "DomainHelpMessage": "Domain function is designed to solve the problem that some environments (such as: hybrid cloud) cannot be directly connected, and a new function is added. The principle is to log in through the gateway server. JMS => Domain Gateway => Target Assets.", "DomainList": "Domains", "DomainUpdate": "Update Domain", "Download": "Download", @@ -540,12 +540,12 @@ "IntervalOfCreateUpdatePage": "Unit: Hour", "InvalidJson": "Invalid JSON", "InviteSuccess": "Invitation Successful", - "InviteUser": "Invite Member", + "InviteUser": "Invite member", "InviteUserInOrg": "Invite users to join this organization", "Ip": "IP", "IpGroup": "IP Group", "IpGroupHelpText": "* indicates match all. For example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", - "IsActive": "Activate", + "IsActive": "Active", "IsAlwaysUpdate": "Keeping Assets Up to Date", "IsAlwaysUpdateHelpTips": "Whether to synchronize and update asset information, including hostname, IP, platform, domain, node, etc. each time a synchronization task is performed", "IsFinished": "Is It Done", @@ -637,7 +637,7 @@ "MenuAccounts": "Accounts", "MenuAcls": "ACLs", "MenuAssets": "Assets", - "MenuMore": "More...", + "MenuMore": "Others", "MenuPermissions": "Policies", "MenuUsers": "Users", "Message": "Message", @@ -772,8 +772,8 @@ "Priority": "Priority", "PrivateCloud": "Private Cloud", "PrivateKey": "Private Key", - "Privileged": "Privilege Account", - "PrivilegedFirst": "Priority Privilege Account", + "Privileged": "Privileged", + "PrivilegedFirst": "Privileged First", "PrivilegedOnly": "Privileged Accounts Only", "PrivilegedTemplate": "Privileged", "Product": "Product", @@ -865,12 +865,13 @@ "ResetSSHKeyWarningMsg": "Are you sure you want to send a reset SSH Key email to the user?", "Resource": "Resources", "ResourceType": "Resource Type", - "RestPasswordNextLogin": "Password Must Be Changed During Next Log In", + "ResetPasswordNextLogin": "Password Must Be Changed During Next Log In", "RestoreButton": "Reset to Default", "RestoreDefault": "Reset to Default", "RestoreDialogMessage": "Are you sure you want to restore to default initialization?", "RestoreDialogTitle": "Do you confirm?", "Result": "Result", + "CloudAccountList": "Cloud Accounts", "Resume": "Recovery", "ResumeTaskSendSuccessMsg": "Recovery Task Issued, Please Refresh Later", "Retry": "Retry", @@ -940,7 +941,9 @@ "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", "SelectAttrs": "Select Attributes", "SelectByAttr": "Attribute Filter", - "SelectFile": "Select File.", + "BulkVerify": "Verify selected", + "AccountBatchUpdate": "Updated selected", + "SelectFile": "Select File", "SelectKeyOrCreateNew": "Select Tag Key or Create New One", "SelectLabelFilter": "Select Tag Search", "SelectPlatforms": "Select Platform", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index df13f44de..50a2a3f58 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -859,7 +859,7 @@ "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", "Resource": "资源", "ResourceType": "资源类型", - "RestPasswordNextLogin": "下次登录须修改密码", + "ResetPasswordNextLogin": "下次登录须修改密码", "RestoreButton": "恢复默认", "RestoreDefault": "恢复默认", "RestoreDialogMessage": "您确定要恢复默认初始化吗?", @@ -1211,4 +1211,4 @@ "Workspace": "工作空间", "Yes": "是", "ZStack": "ZStack" -} \ No newline at end of file +} diff --git a/apps/labels/serializers.py b/apps/labels/serializers.py index 62abc1bc8..ace8ab2cf 100644 --- a/apps/labels/serializers.py +++ b/apps/labels/serializers.py @@ -19,7 +19,7 @@ class LabelSerializer(BulkOrgResourceModelSerializer): ] read_only_fields = ('date_created', 'date_updated', 'res_count') extra_kwargs = { - 'res_count': {'label': _('Resource count')}, + 'res_count': {'label': _('Resource amount')}, } @staticmethod diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index d5ba62c17..dc73d6dc1 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -291,7 +291,7 @@ class InviteSerializer(RolesSerializerMixin, serializers.Serializer): queryset=User.get_nature_users(), many=True, label=_("Users"), - help_text=_("For security, only a partial list of users is displayed. You can try to search for more"), + help_text=_("For security, only a partial list of users is displayed. You can search for more"), ) system_roles = None From 251db733b2e98bb98cceebbd62da38f56b00bf1f Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Wed, 21 Feb 2024 18:51:13 +0800 Subject: [PATCH 017/343] perf: i18n modify --- apps/i18n/lina/en.json | 23 ++++++++++++----------- apps/i18n/lina/zh.json | 1 + 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index c1b233405..9de295527 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -145,7 +145,7 @@ "Assignees": "Pending Handler", "AttrName": "Attribute Name", "AttrValue": "Attribute value", - "Audits": "Audit Console", + "Audits": "Audit", "Auth": "Authentication", "AuthLimit": "Login Restrictions", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", @@ -257,7 +257,7 @@ "CommandGroupUpdate": "Update Command Group", "CommandStorage": "Command Storage", "CommandStorageUpdate": "Update Cmd Storage", - "Commands": "Command Record", + "Commands": "Command Records", "Comment": "Note", "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", "CommunityEdition": "Community Version", @@ -344,7 +344,7 @@ "DateSync": "Sync Date", "DateUpdated": "Update Date", "Day": "Day", - "DeclassificationLogNum": "Change Password Log Count", + "DeclassificationLogNum": "Password Change Logs", "DefaultDatabase": "Default Database", "DefaultPort": "Default Port", "Delete": "Delete", @@ -386,6 +386,7 @@ "DownloadReplay": "Download Recording", "DownloadUpdateTemplateMsg": "Download Update Template", "DragUploadFileInfo": "Drag files here, or click here to upload", + "Duration": "Duration", "DuplicateFileExists": "Uploading a file with the same name is not allowed, please delete the file with the same name", "DynamicUsername": "Dynamic Username", "Edit": "Edit", @@ -558,7 +559,7 @@ "JobCenter": "Task Center", "JobCreate": "Create Job", "JobDetail": "Job Details", - "JobExecutionLog": "Job Log", + "JobExecutionLog": "Job Logs", "JobList": "Job", "JobUpdate": "Update Job", "KingSoftCloud": "Kingsoft Cloud", @@ -603,7 +604,7 @@ "LoginFailed": "Login Failed", "LoginFrom": "Login Source", "LoginImageTip": "Note: It will appear on the enterprise user login page (recommended image size: 492*472px)", - "LoginLog": "Login Log", + "LoginLog": "Login Logs", "LoginNum": "Login Count", "LoginPasswordSetting": "Login Password Settings", "LoginRequiredMsg": "The account has logged out, please log in again.", @@ -615,7 +616,7 @@ "LogoIndexTip": "Tip: It will be displayed in the upper left corner of the page (Recommended image size: 185px*55px)", "LogoLogoutTip": "Tip: It will be displayed on the web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", "Logout": "Logout", - "LogsAudit": "Log auditing", + "LogsAudit": "Log audit", "Lowercase": "Lowercase", "LunaSettingUpdate": "Luna Configuration Settings", "MFAErrorMsg": "MFA errors, please check", @@ -702,7 +703,7 @@ "OneClickReadMsg": "Are you sure you want to mark the current information as read?", "OnlineSession": "Online users", "OnlineSessionHelpMsg": "Unable to log out of the current session because it is the current user's online session. Currently only users logged in via Web are being logged.", - "OnlineSessions": "Online Sessions Number", + "OnlineSessions": "Online Sessions Count", "OnlineUserDevices": "Online User Devices", "OnlyMailSend": "Current support for email sending", "OnlySearchCurrentNodePerm": "Only Search the Current Node's Authorization", @@ -710,7 +711,7 @@ "OpenStack": "OpenStack", "OpenStatus": "In Approval", "OpenTicket": "Create a Ticket", - "OperateLog": "Operation Log", + "OperateLog": "Operation Logs", "OperationLogNum": "Operation Logs", "OrgAdmin": "Organization Admin", "OrgAuditor": "Org Auditors", @@ -736,7 +737,7 @@ "PasskeyAddDisableInfo": "Your authentication source is {source}, and adding a Passkey is not supported", "Passphrase": "Key Password", "Password": "Password", - "PasswordChangeLog": "Password Change Log", + "PasswordChangeLog": "Password Change Logs", "PasswordExpired": "Password Expired", "PasswordPlaceholder": "Please Enter Password", "PasswordRecord": "Password Record", @@ -964,10 +965,10 @@ "SessionData": "Session Data", "SessionDetail": "Session Details", "SessionID": "Session ID", - "SessionList": "Conversation History", + "SessionList": "Session Records", "SessionMonitor": "Monitor", "SessionOffline": "Historical Sessions", - "SessionOnline": "Online Session", + "SessionOnline": "Online Sessions", "SessionSecurity": "Session security", "SessionState": "Session Status", "SessionTerminate": "Session Termination", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 50a2a3f58..bca892e27 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -383,6 +383,7 @@ "DownloadUpdateTemplateMsg": "下载更新模板", "DragUploadFileInfo": "将文件拖到此处,或点击此处上传", "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", + "Duration": "时长", "DynamicUsername": "动态用户名", "Edit": "编辑", "Edition": "版本", From 71b6fd53268d412148320ce69b673d1c243a5cfa Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 22 Feb 2024 17:09:02 +0800 Subject: [PATCH 018/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 9de295527..adb3a95fc 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -685,7 +685,7 @@ "NotSet": "Not Set", "NotSpecialEmoji": "Special Emoji Input Not Allowed", "Nothing": "None", - "Notifications": "Notification", + "Notifications": "Notifications", "Now": "Now", "Number": "Number", "NumberOfVisits": "Visits", From 430f45a3ec3f447cb3765fe65578a7b4eee6d745 Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Thu, 22 Feb 2024 14:25:14 +0800 Subject: [PATCH 019/343] perf: permissions i18n modify --- apps/i18n/lina/en.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index adb3a95fc..ce8ef3bd5 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -112,7 +112,7 @@ "AssetAccountDetail": "Account Details", "AssetAclCreate": "Create Asset Connect Rule", "AssetAclDetail": "Asset Connect Rule Details", - "AssetAclList": "Asset Connect", + "AssetAclList": "Asset Connect ACL", "AssetAclUpdate": "Update Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", "AssetAmount": "Assets", @@ -127,7 +127,7 @@ "AssetListHelpMessage": "On the left is the asset tree. Right-click to create, delete or modify tree nodes. Assets are also organized in node form. On the right are the assets under this node. \n", "AssetLoginACLHelpMsg": "When logging into assets, it can be audited based on the user's login IP and time segment to determine whether the assets can be logged into", "AssetName": "Asset Name", - "AssetPermission": "Authorization", + "AssetPermission": "Asset Authorization", "AssetPermissionCreate": "Create Asset Authorization Rule", "AssetPermissionDetail": "Asset Authorization Details", "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", @@ -246,7 +246,7 @@ "CommandFilterACLHelpMsg": "By filtering commands, you can control if commands can be sent to assets. Based on your set rules, some commands can be allowed while others are prohibited.", "CommandFilterAclCreate": "Create Command Filter Rule", "CommandFilterAclDetail": "Details of Command Filter Rule", - "CommandFilterAclList": "Command Filter", + "CommandFilterAclList": "Command Filter ACL", "CommandFilterAclUpdate": "Update Command Filter Rule", "CommandFilterRuleContentHelpText": "One command per line", "CommandFilterRules": "Command Filter Rules", @@ -272,7 +272,7 @@ "ConnectMethodACLHelpMsg": "Connect Methods can be filtered to control whether users can use a certain Connect Method to log in to the asset. According to your set rules, some Connect Methods can be allowed, while others can be prohibited (globally effective).", "ConnectMethodAclCreate": "Create Connect Method Control", "ConnectMethodAclDetail": "Connect Method Control Details", - "ConnectMethodAclList": "Connect Method", + "ConnectMethodAclList": "Connect Method ACL", "ConnectMethodAclUpdate": "Update Connect Method Control", "ConnectWebSocketError": "Connection to WebSocket Failed", "ConnectionDropped": "Connection Disconnected", @@ -639,7 +639,7 @@ "MenuAcls": "ACLs", "MenuAssets": "Assets", "MenuMore": "Others", - "MenuPermissions": "Policies", + "MenuPermissions": "Permissions", "MenuUsers": "Users", "Message": "Message", "MessageSubscription": "Message Subscription", @@ -1171,7 +1171,7 @@ "UserLoginACLHelpMsg": "When logging into the system, the user's login IP and time range can be audited to determine whether they are allowed to log into the system (effective globally)", "UserLoginAclCreate": "Create User Login Control", "UserLoginAclDetail": "User Login Control Details", - "UserLoginAclList": "User Login", + "UserLoginAclList": "User Login ACL", "UserLoginAclUpdate": "Update User Login Control", "UserLoginLimit": "User Login Restriction", "UserLoginTrend": "Account Login Trend", From 35448eea9fdda7c22001a08d760cab25972bbde1 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Thu, 22 Feb 2024 17:46:12 +0800 Subject: [PATCH 020/343] =?UTF-8?q?perf:=20=E7=BF=BB=E8=AF=91=20(#12690)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng <1304903146@qq.com> --- .../migrations/0005_auto_20190228_1715.py | 2 +- .../migrations/0023_auto_20230906_1322.py | 2 +- apps/audits/models.py | 2 +- .../authentication/_msg_different_city.html | 2 +- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 49 +++++-------------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 32 ++++-------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 37 +++++--------- apps/i18n/lina/en.json | 13 +++-- apps/i18n/lina/zh.json | 9 ++-- apps/labels/serializers.py | 2 +- .../migrations/0016_auto_20220609_1758.py | 2 +- apps/tickets/models/ticket/login_confirm.py | 2 +- apps/users/migrations/0001_initial.py | 2 +- 16 files changed, 57 insertions(+), 111 deletions(-) diff --git a/apps/audits/migrations/0005_auto_20190228_1715.py b/apps/audits/migrations/0005_auto_20190228_1715.py index aac747e9b..910644526 100644 --- a/apps/audits/migrations/0005_auto_20190228_1715.py +++ b/apps/audits/migrations/0005_auto_20190228_1715.py @@ -42,7 +42,7 @@ class Migration(migrations.Migration): default=True, max_length=2, verbose_name='Status')), ('datetime', models.DateTimeField(default=django.utils.timezone.now, - verbose_name='Date login')), + verbose_name='Login Date')), ], options={ 'ordering': ['-datetime', 'username'], diff --git a/apps/audits/migrations/0023_auto_20230906_1322.py b/apps/audits/migrations/0023_auto_20230906_1322.py index 34998318c..34928eef6 100644 --- a/apps/audits/migrations/0023_auto_20230906_1322.py +++ b/apps/audits/migrations/0023_auto_20230906_1322.py @@ -24,6 +24,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='userloginlog', name='datetime', - field=models.DateTimeField(db_index=True, default=django.utils.timezone.now, verbose_name='Date login'), + field=models.DateTimeField(db_index=True, default=django.utils.timezone.now, verbose_name='Login Date'), ), ] diff --git a/apps/audits/models.py b/apps/audits/models.py index c4b4486a5..646f63aef 100644 --- a/apps/audits/models.py +++ b/apps/audits/models.py @@ -207,7 +207,7 @@ class UserLoginLog(models.Model): choices=LoginStatusChoices.choices, verbose_name=_("Status"), ) - datetime = models.DateTimeField(default=timezone.now, verbose_name=_("Date login"), db_index=True) + datetime = models.DateTimeField(default=timezone.now, verbose_name=_("Login Date"), db_index=True) backend = models.CharField( max_length=32, default="", verbose_name=_("Authentication backend") ) diff --git a/apps/authentication/templates/authentication/_msg_different_city.html b/apps/authentication/templates/authentication/_msg_different_city.html index 02dbf4271..b3ca09432 100644 --- a/apps/authentication/templates/authentication/_msg_different_city.html +++ b/apps/authentication/templates/authentication/_msg_different_city.html @@ -7,7 +7,7 @@

{% trans 'Username' %}: {{ username }}
- {% trans 'Login time' %}: {{ time }}
+ {% trans 'Login Date' %}: {{ time }}
{% trans 'Login city' %}: {{ city }}({{ ip }})

diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 455e3bc71..7042cc815 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f38416ee042bf98512fadd5dc339c7476f1c40c99f8e4fd4fa6834c894c4345 -size 1398 +oid sha256:d192f1809f7eec4c976f6c0734985eeae75d66965ddd73cd870aaa70000ba9c5 +size 1665 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index d0d817901..b777d1321 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-20 15:15+0800\n" +"POT-Creation-Date: 2024-02-22 17:43+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -404,7 +404,7 @@ msgstr "" #: accounts/serializers/automations/change_secret.py:128 #: ops/serializers/job.py:67 terminal/serializers/session.py:49 msgid "Is success" -msgstr "Success" +msgstr "Is success" #: accounts/models/automations/backup_account.py:143 msgid "Account backup execution" @@ -540,10 +540,8 @@ msgid "Gather account automation" msgstr "" #: accounts/models/automations/gather_account.py:56 -#, fuzzy -#| msgid "Sync account" msgid "Is sync account" -msgstr "Sync account" +msgstr "Is sync account" #: accounts/models/automations/gather_account.py:75 #: accounts/tasks/gather_accounts.py:29 @@ -974,8 +972,6 @@ msgstr "" #: common/const/choices.py:18 ops/const.py:73 ops/serializers/celery.py:48 #: terminal/const.py:78 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:117 -#, fuzzy -#| msgid "Is success" msgid "Success" msgstr "Success" @@ -2501,7 +2497,9 @@ msgid "MFA" msgstr "" #: audits/models.py:210 -msgid "Date login" +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" msgstr "" #: audits/models.py:212 audits/models.py:266 audits/serializers.py:70 @@ -3192,10 +3190,8 @@ msgstr "" #: authentication/serializers/token.py:92 perms/serializers/permission.py:43 #: perms/serializers/permission.py:66 users/serializers/user.py:98 #: users/serializers/user.py:174 -#, fuzzy -#| msgid "Valid" msgid "Is valid" -msgstr "Valid" +msgstr "Is Valid" #: authentication/tasks.py:11 msgid "Clean expired session" @@ -3278,10 +3274,6 @@ msgstr "" msgid "Your account has remote login behavior, please pay attention" msgstr "" -#: authentication/templates/authentication/_msg_different_city.html:10 -msgid "Login time" -msgstr "" - #: authentication/templates/authentication/_msg_different_city.html:16 msgid "" "If you suspect that the login behavior is abnormal, please modify the " @@ -3937,10 +3929,8 @@ msgid "Labeled resource" msgstr "" #: labels/serializers.py:22 -#, fuzzy -#| msgid "Executed amount" -msgid "Resource amount" -msgstr "Executions" +msgid "Resource count" +msgstr "Resource count" #: labels/serializers.py:28 msgid "Cannot contain \":,\"" @@ -7110,10 +7100,8 @@ msgid "Online sessions" msgstr "" #: terminal/serializers/terminal.py:43 -#, fuzzy -#| msgid "Alive" msgid "Is alive" -msgstr "Alive" +msgstr "Is alive" #: terminal/serializers/terminal.py:49 msgid "Stat" @@ -7413,10 +7401,6 @@ msgstr "" msgid "Apply Login Asset Ticket" msgstr "" -#: tickets/models/ticket/login_confirm.py:12 -msgid "Login datetime" -msgstr "" - #: tickets/models/ticket/login_confirm.py:15 msgid "Apply Login Ticket" msgstr "" @@ -7689,10 +7673,8 @@ msgid "Force enable" msgstr "" #: users/models/user.py:812 users/serializers/user.py:175 -#, fuzzy -#| msgid "Service account" msgid "Is service account" -msgstr "Service account" +msgstr "Is service account" #: users/models/user.py:814 msgid "Avatar" @@ -8862,7 +8844,6 @@ msgid "Logo of logout page" msgstr "" #: xpack/plugins/interface/models.py:41 -#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "" @@ -8878,14 +8859,6 @@ msgstr "" msgid "Interface setting" msgstr "" -#: xpack/plugins/interface/serializers/interface.py:37 -msgid "Wide logo on top" -msgstr "" - -#: xpack/plugins/interface/serializers/interface.py:38 -msgid "Small logo without text" -msgstr "" - #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 7402d6e0a..9d0077e5a 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89339329adfc787fe38cd62cc18caf7adfe5824fa7bbddcb7d69598521a18d18 -size 170670 +oid sha256:1b64a2cb215d6258ede3d9794241a80d7104690075054ad966e649834e49910f +size 170574 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index e7f00effd..d056b5c41 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-20 15:15+0800\n" +"POT-Creation-Date: 2024-02-22 17:42+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2550,7 +2550,9 @@ msgid "MFA" msgstr "MFA" #: audits/models.py:210 -msgid "Date login" +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" msgstr "日付ログイン" #: audits/models.py:212 audits/models.py:266 audits/serializers.py:70 @@ -3345,10 +3347,6 @@ msgstr "こんにちは" msgid "Your account has remote login behavior, please pay attention" msgstr "アカウントにリモートログイン動作があります。注意してください" -#: authentication/templates/authentication/_msg_different_city.html:10 -msgid "Login time" -msgstr "ログイン時間" - #: authentication/templates/authentication/_msg_different_city.html:16 msgid "" "If you suspect that the login behavior is abnormal, please modify the " @@ -4036,9 +4034,9 @@ msgstr "関連リソース" #: labels/serializers.py:22 #, fuzzy -#| msgid "Resource count" -msgid "Resource amount" -msgstr "リソース数" +#| msgid "Resource type" +msgid "Resource count" +msgstr "リソースタイプ" #: labels/serializers.py:28 msgid "Cannot contain \":,\"" @@ -7686,10 +7684,6 @@ msgstr "ログインアカウント" msgid "Apply Login Asset Ticket" msgstr "資産ログインレビュー製造オーダ" -#: tickets/models/ticket/login_confirm.py:12 -msgid "Login datetime" -msgstr "ログイン日時" - #: tickets/models/ticket/login_confirm.py:15 msgid "Apply Login Ticket" msgstr "ユーザーログインレビュー製造オーダ" @@ -9180,7 +9174,6 @@ msgid "Logo of logout page" msgstr "ログアウトページのロゴ" #: xpack/plugins/interface/models.py:41 -#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "テーマ" @@ -9196,14 +9189,6 @@ msgstr "公安網登録番号" msgid "Interface setting" msgstr "インターフェイスの設定" -#: xpack/plugins/interface/serializers/interface.py:37 -msgid "Wide logo on top" -msgstr "" - -#: xpack/plugins/interface/serializers/interface.py:38 -msgid "Small logo without text" -msgstr "" - #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "ライセンスのインポートに成功" @@ -9232,6 +9217,9 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Login time" +#~ msgstr "ログイン時間" + #~ msgid "SMTP port" #~ msgstr "SMTPポート" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index fbeaaf9d6..280765547 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0874d399c18f41aa406ea85ee8eaf60fb870eadcd31ed7f1d9a70c10e83240e -size 141057 +oid sha256:048f6988bf37dd7b1c8d20d052009187fbb76548ea3608bb9704880f2dd28eef +size 140998 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 611d916bd..36877af6b 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-20 15:15+0800\n" +"POT-Creation-Date: 2024-02-22 17:43+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -2523,7 +2523,9 @@ msgid "MFA" msgstr "MFA" #: audits/models.py:210 -msgid "Date login" +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" msgstr "登录日期" #: audits/models.py:212 audits/models.py:266 audits/serializers.py:70 @@ -3301,10 +3303,6 @@ msgstr "你好" msgid "Your account has remote login behavior, please pay attention" msgstr "你的账号存在异地登录行为,请关注。" -#: authentication/templates/authentication/_msg_different_city.html:10 -msgid "Login time" -msgstr "登录日期" - #: authentication/templates/authentication/_msg_different_city.html:16 msgid "" "If you suspect that the login behavior is abnormal, please modify the " @@ -3972,9 +3970,7 @@ msgid "Labeled resource" msgstr "关联的资源" #: labels/serializers.py:22 -#, fuzzy -#| msgid "Resource count" -msgid "Resource amount" +msgid "Resource count" msgstr "资源数量" #: labels/serializers.py:28 @@ -4973,10 +4969,8 @@ msgid "Chat prompt" msgstr "聊天提示" #: settings/notifications.py:23 -#, fuzzy -#| msgid "Notification of account backup route task results" msgid "Notification of Synchronized LDAP User Task Results" -msgstr "账号备份任务结果通知" +msgstr "同步 LDAP 用户任务结果的通知" #: settings/serializers/auth/base.py:10 msgid "Authentication" @@ -7521,10 +7515,6 @@ msgstr "登录账号" msgid "Apply Login Asset Ticket" msgstr "资产登录复核工单" -#: tickets/models/ticket/login_confirm.py:12 -msgid "Login datetime" -msgstr "登录日期" - #: tickets/models/ticket/login_confirm.py:15 msgid "Apply Login Ticket" msgstr "用户登录复核工单" @@ -8986,7 +8976,6 @@ msgid "Logo of logout page" msgstr "退出页面 Logo" #: xpack/plugins/interface/models.py:41 -#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "主题" @@ -9002,14 +8991,6 @@ msgstr "公安联网备案号" msgid "Interface setting" msgstr "界面设置" -#: xpack/plugins/interface/serializers/interface.py:37 -msgid "Wide logo on top" -msgstr "顶部宽 Logo" - -#: xpack/plugins/interface/serializers/interface.py:38 -msgid "Small logo without text" -msgstr "方形小 Logo" - #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "许可证导入成功" @@ -9038,6 +9019,12 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Wide logo on top" +#~ msgstr "顶部宽 Logo" + +#~ msgid "Small logo without text" +#~ msgstr "方形小 Logo" + #~ msgid "Password can not contains `{{` or `}}`" #~ msgstr "密码不能包含 `{{` 或 `}}` 字符" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ce8ef3bd5..69c901150 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -139,8 +139,7 @@ "AssetsAmount": "Asset", "AssetsTotal": "Asset Total", "AssignedInfo": "Approval Information", - "AssignedMe": "Pending My Approval", - "AssignedTicketList": "Pending My Approval", + "AwaitingMyApproval": "Awaiting my approval", "Assignee": "Handler", "Assignees": "Pending Handler", "AttrName": "Attribute Name", @@ -190,8 +189,8 @@ "BulkOffline": "Batch Offline", "BulkSyncDelete": "Bulk Sync Delete", "BulkSyncErrorMsg": "Bulk Synchronization Failed:", - "BulkTransfer": "Batch Transfer", - "BulkUnblock": "Batch Unlock", + "BulkTransfer": "Bulk Transfer", + "BulkUnblock": "Bulk Unlock", "BulkUpdatePlatformHelpText": "Updates will only be performed when the original platform type of the asset is the same as the selected platform type. If the platform type is different before and after the update, it will not be updated.", "CACertificate": "CA Certificate", "CAS": "CAS", @@ -443,7 +442,7 @@ "FeiShu": "Feishu", "FeiShuTest": "Test", "FieldRequiredError": "This field is required", - "FileManager": "File", + "FileManagement": "File management", "FileNameTooLong": "Filename too long", "FileSizeExceedsLimit": "File size exceeds limit\"", "FileTransfer": "File Transfer", @@ -560,7 +559,7 @@ "JobCreate": "Create Job", "JobDetail": "Job Details", "JobExecutionLog": "Job Logs", - "JobList": "Job", + "JobManagement": "Job Management", "JobUpdate": "Update Job", "KingSoftCloud": "Kingsoft Cloud", "KokoSettingUpdate": "Koko Configuration Settings", @@ -1068,7 +1067,7 @@ "TaskMonitor": "Task Monitoring", "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", - "Template": "Template", + "TemplateManagement": "Template Management", "TemplateAdd": "Add from template", "TemplateCreate": "Create Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index bca892e27..3a4c18879 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -137,8 +137,7 @@ "AssetsAmount": "资产", "AssetsTotal": "资产总数", "AssignedInfo": "审批信息", - "AssignedMe": "待我审批", - "AssignedTicketList": "待我审批", + "AwaitingMyApproval": "待我审批", "Assignee": "处理人", "Assignees": "待处理人", "AttrName": "属性名", @@ -439,7 +438,7 @@ "FeiShu": "飞书", "FeiShuTest": "测试", "FieldRequiredError": "此字段是必填项", - "FileManager": "文件管理", + "FileManagement": "文件管理", "FileNameTooLong": "文件名太长", "FileSizeExceedsLimit": "文件大小超出限制", "FileTransfer": "文件传输", @@ -555,7 +554,7 @@ "JobCreate": "创建作业", "JobDetail": "作业详情", "JobExecutionLog": "作业日志", - "JobList": "作业管理", + "JobManagement": "作业管理", "JobUpdate": "更新作业", "KingSoftCloud": "金山云", "KokoSettingUpdate": "Koko 配置设置", @@ -1060,7 +1059,7 @@ "TaskMonitor": "任务监控", "TechnologyConsult": "技术咨询", "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", - "Template": "模版管理", + "TemplateManagement": "模版管理", "TemplateAdd": "模版添加", "TemplateCreate": "创建模版", "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", diff --git a/apps/labels/serializers.py b/apps/labels/serializers.py index ace8ab2cf..62abc1bc8 100644 --- a/apps/labels/serializers.py +++ b/apps/labels/serializers.py @@ -19,7 +19,7 @@ class LabelSerializer(BulkOrgResourceModelSerializer): ] read_only_fields = ('date_created', 'date_updated', 'res_count') extra_kwargs = { - 'res_count': {'label': _('Resource amount')}, + 'res_count': {'label': _('Resource count')}, } @staticmethod diff --git a/apps/tickets/migrations/0016_auto_20220609_1758.py b/apps/tickets/migrations/0016_auto_20220609_1758.py index d7f079e5d..51ab30cc9 100644 --- a/apps/tickets/migrations/0016_auto_20220609_1758.py +++ b/apps/tickets/migrations/0016_auto_20220609_1758.py @@ -23,7 +23,7 @@ class Migration(migrations.Migration): primary_key=True, serialize=False, to='tickets.ticket')), ('apply_login_ip', models.GenericIPAddressField(null=True, verbose_name='Login IP')), ('apply_login_city', models.CharField(max_length=64, null=True, verbose_name='Login city')), - ('apply_login_datetime', models.DateTimeField(null=True, verbose_name='Login datetime')), + ('apply_login_datetime', models.DateTimeField(null=True, verbose_name='Login Date')), ], options={ 'abstract': False, diff --git a/apps/tickets/models/ticket/login_confirm.py b/apps/tickets/models/ticket/login_confirm.py index 7b17dd1f8..1f22bbca5 100644 --- a/apps/tickets/models/ticket/login_confirm.py +++ b/apps/tickets/models/ticket/login_confirm.py @@ -9,7 +9,7 @@ __all__ = ['ApplyLoginTicket'] class ApplyLoginTicket(Ticket): apply_login_ip = models.GenericIPAddressField(verbose_name=_('Login IP'), null=True) apply_login_city = models.CharField(max_length=64, verbose_name=_('Login city'), null=True) - apply_login_datetime = models.DateTimeField(verbose_name=_('Login datetime'), null=True) + apply_login_datetime = models.DateTimeField(verbose_name=_('Login Date'), null=True) class Meta: verbose_name = _('Apply Login Ticket') diff --git a/apps/users/migrations/0001_initial.py b/apps/users/migrations/0001_initial.py index 5c0f28a38..b4205d231 100644 --- a/apps/users/migrations/0001_initial.py +++ b/apps/users/migrations/0001_initial.py @@ -100,7 +100,7 @@ class Migration(migrations.Migration): ('ip', models.GenericIPAddressField(verbose_name='Login IP')), ('city', models.CharField(blank=True, max_length=254, null=True, verbose_name='Login city')), ('user_agent', models.CharField(blank=True, max_length=254, null=True, verbose_name='User agent')), - ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date login')), + ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Login Date')), ], options={ 'ordering': ['-datetime', 'username'], From c0e4065a453eea0928567777312826e429f8b700 Mon Sep 17 00:00:00 2001 From: Bai Date: Fri, 23 Feb 2024 14:31:09 +0800 Subject: [PATCH 021/343] perf: i18n settings-basic done. --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 6 ++++-- apps/i18n/lina/en.json | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 7042cc815..fe64a9fbf 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d192f1809f7eec4c976f6c0734985eeae75d66965ddd73cd870aaa70000ba9c5 -size 1665 +oid sha256:970158849c0adeba85da98a2f1e45bd75f963764fb05f6ac1ccdcd19c68f2c6a +size 2025 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index b777d1321..bb78247f4 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -5387,6 +5387,8 @@ msgid "" "External URL, email links or other system callbacks are used to access it, " "eg: http://dev.jumpserver.org:8080" msgstr "" +"Site URL are commonly used in emails sent or as callback addresses for external systems. " +"eg: http://dev.jumpserver.org:8080" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -5406,7 +5408,7 @@ msgstr "" #: settings/serializers/basic.py:26 msgid "Help Docs URL" -msgstr "" +msgstr "Document URL" #: settings/serializers/basic.py:27 msgid "default: http://docs.jumpserver.org" @@ -5414,7 +5416,7 @@ msgstr "" #: settings/serializers/basic.py:30 msgid "Help Support URL" -msgstr "" +msgstr "Support URL" #: settings/serializers/basic.py:31 msgid "default: http://www.jumpserver.org/support/" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 69c901150..3faff8632 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -166,7 +166,7 @@ "BaiduCloud": "Baidu Cloud", "BasePort": "Listening Ports", "Basic": "Basic", - "BasicInfo": "Basic Info", + "BasicInfo": "Basic", "BasicSetting": "Basic", "BatchConsent": "Batch Approval", "BatchProcessing": "{Number} items selected", @@ -482,8 +482,8 @@ "HardwareInfo": "Hardware Information", "HasImportErrorItemMsg": "There are import failures, click on the left x to view the failure reasons, after editing the table, you can continue to import failures.", "Help": "Help", - "HelpDocumentTip": "You can change the URL of the website navigation bar Help -> Documentation", - "HelpSupportTip": "Can Change the URL of Help -> Support in Website Navigation Bar", + "HelpDocumentTip": "Document URL for navigation bar 'Help -> Document' redirection.", + "HelpSupportTip": "Support URL for the navigation bar 'Help -> Support' redirection.", "HighLoad": "Higher", "HistoricalSessionNum": "Historical Session Count", "History": "History Record", @@ -657,7 +657,7 @@ "MyAssets": "My Assets", "MyTickets": "I Initiated", "Name": "Name", - "NavHelp": "Navigation Bar Link", + "NavHelp": "Navigation", "NeedReLogin": "Need to Re-Login", "New": "Create", "NewChat": "New Chat", From 7c5e2ae8ea0150ade979b8325037b56f3dc437bc Mon Sep 17 00:00:00 2001 From: Bai Date: Fri, 23 Feb 2024 15:17:17 +0800 Subject: [PATCH 022/343] perf: i18n settings-org done. --- apps/i18n/lina/en.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 3faff8632..654009caf 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -476,7 +476,7 @@ "Goto": "Go to", "GrantedAssets": "Authorized Assets", "GreatEqualThan": "Greater than or Equal to", - "GroupsAmount": "User Group", + "GroupsAmount": "User group", "HandleTicket": "Handle Work Orders", "Hardware": "Hardware Information", "HardwareInfo": "Hardware Information", @@ -1220,5 +1220,6 @@ "Workbench": "Workspace", "Workspace": "Workspace", "Yes": "Yes", - "ZStack": "ZStack" + "ZStack": "ZStack", + "AssetPermsAmount": "Asset authorization" } From b1fa870de7c6dca87ee1eee6b49fda7c2de93a24 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Fri, 23 Feb 2024 17:22:47 +0800 Subject: [PATCH 023/343] =?UTF-8?q?perf:=20=E5=B7=A5=E4=BD=9C=E5=8F=B0?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BF=BB=E8=AF=91=20(#12700)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng <1304903146@qq.com> Co-authored-by: feng626 <57284900+feng626@users.noreply.github.com> --- apps/i18n/core/en/LC_MESSAGES/django.mo | 2 +- apps/i18n/core/en/LC_MESSAGES/django.po | 6 +++--- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/ja/LC_MESSAGES/django.po | 6 ++++-- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/zh/LC_MESSAGES/django.po | 2 +- apps/i18n/lina/en.json | 9 ++++----- apps/i18n/lina/zh.json | 1 - apps/ops/models/adhoc.py | 2 +- apps/ops/serializers/job.py | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index fe64a9fbf..208a9d2bc 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 oid sha256:970158849c0adeba85da98a2f1e45bd75f963764fb05f6ac1ccdcd19c68f2c6a -size 2025 +size 2025 \ No newline at end of file diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index bb78247f4..1c9015e26 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -926,7 +926,7 @@ msgstr "" #: tickets/models/ticket/general.py:297 users/models/user.py:836 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 msgid "Comment" -msgstr "Description" +msgstr "Comment" #: accounts/serializers/account/virtual.py:24 msgid "" @@ -4308,8 +4308,8 @@ msgid "Next execution time" msgstr "" #: ops/serializers/job.py:15 -msgid "Run after save" -msgstr "" +msgid "Execute after saving" +msgstr "Execute after saving" #: ops/serializers/job.py:52 msgid "Average time cost" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 9d0077e5a..8750a637c 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b64a2cb215d6258ede3d9794241a80d7104690075054ad966e649834e49910f -size 170574 +oid sha256:11f0fb0b7cc4c3187c9e7913be7ca1d310a79a31fc10e950cdb1264b4725562f +size 170524 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index d056b5c41..75754a924 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-22 17:42+0800\n" +"POT-Creation-Date: 2024-02-23 17:11+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4434,7 +4434,9 @@ msgid "Next execution time" msgstr "最後の実行" #: ops/serializers/job.py:15 -msgid "Run after save" +#, fuzzy +#| msgid "Run after save" +msgid "Execute after saving" msgstr "保存後に実行" #: ops/serializers/job.py:52 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 280765547..2ea403d17 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:048f6988bf37dd7b1c8d20d052009187fbb76548ea3608bb9704880f2dd28eef -size 140998 +oid sha256:03746a65d7eff0ef626fad8207b76f3c574b3c81dcac3f05d29b77ea694423e7 +size 141004 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 36877af6b..6aca450ee 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -4351,7 +4351,7 @@ msgid "Next execution time" msgstr "下次执行时间" #: ops/serializers/job.py:15 -msgid "Run after save" +msgid "Execute after saving" msgstr "保存后执行" #: ops/serializers/job.py:52 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 654009caf..f3eec7103 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -115,12 +115,11 @@ "AssetAclList": "Asset Connect ACL", "AssetAclUpdate": "Update Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", - "AssetAmount": "Assets", + "AssetAmount": "Asset amount", "AssetAndNode": "Assets/Nodes", "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", "AssetChangeSecretCreate": "Create Account Password Change", "AssetChangeSecretUpdate": "Update Account Password Change", - "AssetCount": "Asset Quantity", "AssetData": "Asset Data", "AssetDetail": "Asset Details", "AssetList": "Assets", @@ -213,7 +212,7 @@ "Chat": "Chat", "ChatAI": "Chat AI", "ChatHello": "Hello! How can I assist you?", - "ChdirHelpText": "By Default, the execution directory is the user's home directory", + "ChdirHelpText": "The default execution directory is the home directory of the executing user", "CheckAssetsAmount": "Check Asset Quantity", "CheckViewAcceptor": "Click to View the Acceptance Person", "CleanHelpText": "A scheduled cleanup task will be carried out every day at 2 a.m. The data cleaned up will not be recoverable", @@ -554,7 +553,7 @@ "IsSyncAccountHelpText": "Upon Collection Completion, the Collected Account Will Be Synced to Asset", "IsSyncAccountLabel": "Sync to Assets", "JDCloud": "Jingdong Cloud", - "Job": "Action", + "Job": "Job", "JobCenter": "Task Center", "JobCreate": "Create Job", "JobDetail": "Job Details", @@ -900,7 +899,7 @@ "RunTaskManually": "Manually Execute", "RunasHelpText": "Enter Username for Running Script", "RunasPolicy": "Account Policy", - "RunasPolicyHelpText": "When the current asset does not have this running user, what kind of account selection strategy should be adopted? Skip: do not perform. Preferring privileged account: If there is a privileged account, choose the privileged account first. If not, choose the regular account. Only privileged accounts: Choose only from privileged accounts. If not, do not execute", + "RunasPolicyHelpText": "When there are no users currently running on the asset, what account selection strategy should be adopted. Skip: Do not execute. Prioritize privileged accounts: If there are privileged accounts, select them first; if not, select regular accounts. Only privileged accounts: Select only from privileged accounts; if none exist, do not execute.", "RunningPath": "Running Path", "RunningPathHelpText": "Enter the run path of the script, this setting only applies to shell scripts", "RunningTimes": "Last 5 Run Times", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 3a4c18879..e82f3e4c7 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -118,7 +118,6 @@ "AssetBulkUpdateTips": "网络设备、云服务、web,不支持批量更新网域", "AssetChangeSecretCreate": "创建账号改密", "AssetChangeSecretUpdate": "更新账号改密", - "AssetCount": "资产数量", "AssetData": "资产数据", "AssetDetail": "资产详情", "AssetList": "资产列表", diff --git a/apps/ops/models/adhoc.py b/apps/ops/models/adhoc.py index f55b6f3d0..3ca2fa281 100644 --- a/apps/ops/models/adhoc.py +++ b/apps/ops/models/adhoc.py @@ -8,7 +8,7 @@ from common.utils import get_logger __all__ = ["AdHoc"] -from ops.const import AdHocModules +from ops.const import AdHocModules from orgs.mixins.models import JMSOrgBaseModel diff --git a/apps/ops/serializers/job.py b/apps/ops/serializers/job.py index ca0ff4d61..f3aff4ee6 100644 --- a/apps/ops/serializers/job.py +++ b/apps/ops/serializers/job.py @@ -12,7 +12,7 @@ from orgs.mixins.serializers import BulkOrgResourceModelSerializer class JobSerializer(BulkOrgResourceModelSerializer, PeriodTaskSerializerMixin): creator = ReadableHiddenField(default=serializers.CurrentUserDefault()) - run_after_save = serializers.BooleanField(label=_("Run after save"), default=False, required=False) + run_after_save = serializers.BooleanField(label=_("Execute after saving"), default=False, required=False) nodes = serializers.ListField(required=False, child=serializers.CharField()) date_last_run = serializers.DateTimeField(label=_('Date last run'), read_only=True) name = serializers.CharField(label=_('Name'), max_length=128, allow_blank=True, required=False) From ad0f489834f64eedd6c65662f03416da2fb68883 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Fri, 23 Feb 2024 17:52:16 +0800 Subject: [PATCH 024/343] perf: translate (#12701) Co-authored-by: feng <1304903146@qq.com> --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 208a9d2bc..5e890a007 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:970158849c0adeba85da98a2f1e45bd75f963764fb05f6ac1ccdcd19c68f2c6a -size 2025 \ No newline at end of file +oid sha256:e5fd96f5c4a4a03bb017b500312085eea171ff4b009cfbc84b71f4480a6e97f0 +size 2081 From 0fd0d337049b6ef53abbbad34ad94958515b0ea4 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:09:18 +0800 Subject: [PATCH 025/343] perf: i18n settings-notifications done. (#12702) Co-authored-by: Bai Co-authored-by: Bryan --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 72 +++++++++-------------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 77 +++++++++++-------------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 75 +++++++++++------------- apps/i18n/lina/en.json | 17 +++--- apps/ops/notifications.py | 4 +- apps/settings/serializers/auth/sms.py | 10 ++-- apps/settings/serializers/msg.py | 8 +-- apps/terminal/notifications.py | 8 +-- apps/terminal/serializers/command.py | 2 +- 12 files changed, 127 insertions(+), 158 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 5e890a007..96e577e58 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5fd96f5c4a4a03bb017b500312085eea171ff4b009cfbc84b71f4480a6e97f0 -size 2081 +oid sha256:e2f589794db086991c25ed95a157936d429747823eb873211ad5d04340d780fa +size 2186 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 1c9015e26..9f497fce5 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-22 17:43+0800\n" +"POT-Creation-Date: 2024-02-23 17:56+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -298,6 +298,7 @@ msgstr "" #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: perms/serializers/permission.py:45 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -1131,7 +1132,7 @@ msgstr "" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 #: settings/models.py:182 settings/serializers/feature.py:19 -#: xpack/plugins/license/models.py:30 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "" @@ -1426,7 +1427,7 @@ msgstr "" #: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" -msgstr "" +msgstr "Custom" #: assets/const/cloud.py:7 msgid "Public cloud" @@ -1791,7 +1792,7 @@ msgstr "" msgid "Ping asset" msgstr "" -#: assets/models/base.py:19 +#: assets/models/base.py:19 terminal/notifications.py:225 msgid "Connectivity" msgstr "" @@ -2981,8 +2982,9 @@ msgstr "" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 -#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 -#: users/forms/profile.py:109 users/templates/users/forgot_password.html:155 +#: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 +#: users/forms/profile.py:104 users/forms/profile.py:109 +#: users/templates/users/forgot_password.html:155 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "" @@ -3792,7 +3794,7 @@ msgstr "" #: common/sdk/sms/endpoint.py:21 msgid "Custom type (File)" -msgstr "" +msgstr "Custom (File)" #: common/sdk/sms/endpoint.py:32 msgid "SMS provider not support: {}" @@ -4243,7 +4245,7 @@ msgstr "" msgid "Runas policy" msgstr "" -#: ops/models/job.py:216 +#: ops/models/job.py:216 terminal/notifications.py:174 msgid "Job" msgstr "" @@ -4267,8 +4269,8 @@ msgstr "" msgid "VCS URL" msgstr "" -#: ops/notifications.py:17 rbac/tree.py:57 -msgid "App ops" +#: ops/notifications.py:17 +msgid "Components" msgstr "" #: ops/notifications.py:18 @@ -4784,6 +4786,10 @@ msgstr "" msgid "My assets" msgstr "" +#: rbac/tree.py:57 +msgid "App ops" +msgstr "" + #: rbac/tree.py:58 terminal/models/applet/applet.py:52 #: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 @@ -5281,10 +5287,6 @@ msgstr "" msgid "Enable Slack Auth" msgstr "" -#: settings/serializers/auth/sms.py:17 -msgid "Enable SMS" -msgstr "" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "" @@ -5317,19 +5319,19 @@ msgid "Signature channel number" msgstr "" #: settings/serializers/auth/sms.py:73 -msgid "Enterprise code(SP id)" +msgid "Enterprise code" msgstr "" #: settings/serializers/auth/sms.py:74 -msgid "Shared secret(Shared secret)" +msgid "Shared secret" msgstr "" #: settings/serializers/auth/sms.py:75 -msgid "Original number(Src id)" +msgid "Original number" msgstr "" #: settings/serializers/auth/sms.py:76 -msgid "Business type(Service id)" +msgid "Business type" msgstr "" #: settings/serializers/auth/sms.py:80 @@ -5387,8 +5389,8 @@ msgid "" "External URL, email links or other system callbacks are used to access it, " "eg: http://dev.jumpserver.org:8080" msgstr "" -"Site URL are commonly used in emails sent or as callback addresses for external systems. " -"eg: http://dev.jumpserver.org:8080" +"Site URL are commonly used in emails sent or as callback addresses for " +"external systems. eg: http://dev.jumpserver.org:8080" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -5468,7 +5470,7 @@ msgid "" "database, OSS will not be affected." msgstr "" -#: settings/serializers/feature.py:18 +#: settings/serializers/feature.py:18 settings/serializers/msg.py:68 msgid "Subject" msgstr "" @@ -5585,7 +5587,7 @@ msgid "Tips: Some provider use token except password" msgstr "" #: settings/serializers/msg.py:39 -msgid "Send user" +msgid "Sender" msgstr "" #: settings/serializers/msg.py:40 @@ -5625,10 +5627,6 @@ msgid "" "This is used by default if no email is returned during SSO authentication" msgstr "" -#: settings/serializers/msg.py:68 -msgid "Create user email subject" -msgstr "" - #: settings/serializers/msg.py:69 msgid "" "Tips: When creating a user, send the subject of the email (eg:Create account " @@ -5636,17 +5634,13 @@ msgid "" msgstr "" #: settings/serializers/msg.py:73 -msgid "Create user honorific" +msgid "Honorific" msgstr "" #: settings/serializers/msg.py:74 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "" -#: settings/serializers/msg.py:78 -msgid "Create user email content" -msgstr "" - #: settings/serializers/msg.py:80 #, python-brace-format msgid "" @@ -6798,7 +6792,7 @@ msgstr "" msgid "Command warning" msgstr "" -#: terminal/notifications.py:130 +#: terminal/notifications.py:130 terminal/notifications.py:175 msgid "Command reject" msgstr "" @@ -6806,17 +6800,9 @@ msgstr "" msgid "Level" msgstr "" -#: terminal/notifications.py:175 -msgid "Batch danger command alert" -msgstr "" - #: terminal/notifications.py:224 msgid "Command and replay storage" -msgstr "" - -#: terminal/notifications.py:225 -msgid "Connectivity alarm" -msgstr "" +msgstr "Storage" #: terminal/notifications.py:240 terminal/tasks.py:146 msgid "Test failure: Account invalid" @@ -6946,10 +6932,6 @@ msgstr "" msgid "Invalid session id" msgstr "" -#: terminal/serializers/command.py:72 -msgid "Account " -msgstr "" - #: terminal/serializers/command.py:74 msgid "Timestamp" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 8750a637c..5c739fd85 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11f0fb0b7cc4c3187c9e7913be7ca1d310a79a31fc10e950cdb1264b4725562f -size 170524 +oid sha256:25b15c04e4ee68befe30101c371b2b0b1c95e9371e6b85392a77255e91ab75dd +size 170094 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 75754a924..bddfa7fba 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-23 17:11+0800\n" +"POT-Creation-Date: 2024-02-23 17:56+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -298,6 +298,7 @@ msgstr "ソース ID" #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: perms/serializers/permission.py:45 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -1150,7 +1151,7 @@ msgstr "正規情報" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 #: settings/models.py:182 settings/serializers/feature.py:19 -#: xpack/plugins/license/models.py:30 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "コンテンツ" @@ -1831,7 +1832,7 @@ msgstr "資産情報の収集" msgid "Ping asset" msgstr "テストアセット" -#: assets/models/base.py:19 +#: assets/models/base.py:19 terminal/notifications.py:225 msgid "Connectivity" msgstr "接続性" @@ -3052,8 +3053,9 @@ msgstr "メッセージ検証コードが無効" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 -#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 -#: users/forms/profile.py:109 users/templates/users/forgot_password.html:155 +#: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 +#: users/forms/profile.py:104 users/forms/profile.py:109 +#: users/templates/users/forgot_password.html:155 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "メッセージ" @@ -4365,7 +4367,7 @@ msgstr "ユーザーとして実行" msgid "Runas policy" msgstr "ユーザー ポリシー" -#: ops/models/job.py:216 +#: ops/models/job.py:216 terminal/notifications.py:174 msgid "Job" msgstr "ジョブ#ジョブ#" @@ -4389,9 +4391,11 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" -#: ops/notifications.py:17 rbac/tree.py:57 -msgid "App ops" -msgstr "アプリ操作" +#: ops/notifications.py:17 +#, fuzzy +#| msgid "Component" +msgid "Components" +msgstr "コンポーネント" #: ops/notifications.py:18 msgid "Server performance" @@ -4931,6 +4935,10 @@ msgstr "タスクセンター" msgid "My assets" msgstr "私の資産" +#: rbac/tree.py:57 +msgid "App ops" +msgstr "アプリ操作" + #: rbac/tree.py:58 terminal/models/applet/applet.py:52 #: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 @@ -5443,10 +5451,6 @@ msgstr "SP 証明書" msgid "Enable Slack Auth" msgstr "Slack 認証の有効化" -#: settings/serializers/auth/sms.py:17 -msgid "Enable SMS" -msgstr "SMSの有効化" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "SMSプロバイダ / プロトコル" @@ -5479,19 +5483,19 @@ msgid "Signature channel number" msgstr "署名チャネル番号" #: settings/serializers/auth/sms.py:73 -msgid "Enterprise code(SP id)" +msgid "Enterprise code" msgstr "企業コード(SP id)" #: settings/serializers/auth/sms.py:74 -msgid "Shared secret(Shared secret)" +msgid "Shared secret" msgstr "パスワードを共有する(Shared secret)" #: settings/serializers/auth/sms.py:75 -msgid "Original number(Src id)" +msgid "Original number" msgstr "元の番号(Src id)" #: settings/serializers/auth/sms.py:76 -msgid "Business type(Service id)" +msgid "Business type" msgstr "ビジネス・タイプ(Service id)" #: settings/serializers/auth/sms.py:80 @@ -5636,7 +5640,7 @@ msgstr "" "この期間を超えるセッション、録音、およびコマンド レコードは削除されます (デー" "タベースのバックアップに影響し、OSS などには影響しません)" -#: settings/serializers/feature.py:18 +#: settings/serializers/feature.py:18 settings/serializers/msg.py:68 msgid "Subject" msgstr "件名" @@ -5758,7 +5762,7 @@ msgid "Tips: Some provider use token except password" msgstr "ヒント: 一部のプロバイダーはパスワード以外のトークンを使用します" #: settings/serializers/msg.py:39 -msgid "Send user" +msgid "Sender" msgstr "ユーザーを送信" #: settings/serializers/msg.py:40 @@ -5800,10 +5804,6 @@ msgid "" "This is used by default if no email is returned during SSO authentication" msgstr "これは、SSO認証中にメールが返されない場合にデフォルトで使用されます。" -#: settings/serializers/msg.py:68 -msgid "Create user email subject" -msgstr "ユーザーメール件名の作成" - #: settings/serializers/msg.py:69 msgid "" "Tips: When creating a user, send the subject of the email (eg:Create account " @@ -5813,7 +5813,7 @@ msgstr "" "正常に作成)" #: settings/serializers/msg.py:73 -msgid "Create user honorific" +msgid "Honorific" msgstr "ユーザー敬語の作成" #: settings/serializers/msg.py:74 @@ -5821,10 +5821,6 @@ msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "" "ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" -#: settings/serializers/msg.py:78 -msgid "Create user email content" -msgstr "ユーザーのメールコンテンツを作成する" - #: settings/serializers/msg.py:80 #, python-brace-format msgid "" @@ -7042,7 +7038,7 @@ msgstr "セッション" msgid "Command warning" msgstr "コマンド警告" -#: terminal/notifications.py:130 +#: terminal/notifications.py:130 terminal/notifications.py:175 msgid "Command reject" msgstr "コマンド拒否" @@ -7050,18 +7046,10 @@ msgstr "コマンド拒否" msgid "Level" msgstr "レベル" -#: terminal/notifications.py:175 -msgid "Batch danger command alert" -msgstr "一括危険コマンド警告" - #: terminal/notifications.py:224 msgid "Command and replay storage" msgstr "コマンド及び録画記憶" -#: terminal/notifications.py:225 -msgid "Connectivity alarm" -msgstr "接続性アラーム" - #: terminal/notifications.py:240 terminal/tasks.py:146 msgid "Test failure: Account invalid" msgstr "テスト失敗: アカウントが無効" @@ -7207,10 +7195,6 @@ msgstr "無効なコマンドグループID" msgid "Invalid session id" msgstr "無効なセッションID" -#: terminal/serializers/command.py:72 -msgid "Account " -msgstr "アカウント" - #: terminal/serializers/command.py:74 msgid "Timestamp" msgstr "タイムスタンプ" @@ -8199,7 +8183,7 @@ msgstr "" #: users/serializers/user.py:169 #, fuzzy -#| msgid "Send user" +#| msgid "Sender" msgid "Superuser" msgstr "ユーザーを送信" @@ -9219,6 +9203,15 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Email Subject" +#~ msgstr "ユーザーメール件名の作成" + +#~ msgid "Command reject (Job)" +#~ msgstr "一括危険コマンド警告" + +#~ msgid "Account " +#~ msgstr "アカウント" + #~ msgid "Login time" #~ msgstr "ログイン時間" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 2ea403d17..b5ccd2339 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03746a65d7eff0ef626fad8207b76f3c574b3c81dcac3f05d29b77ea694423e7 -size 141004 +oid sha256:7b7274a5844ea33f2c6117210e0ba8baacbd450f15b1baef2af54dde1d588a55 +size 140636 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 6aca450ee..2574d856e 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-22 17:43+0800\n" +"POT-Creation-Date: 2024-02-23 17:56+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -297,6 +297,7 @@ msgstr "来源 ID" #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: perms/serializers/permission.py:45 settings/serializers/msg.py:33 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 +#: terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -1142,7 +1143,7 @@ msgstr "正则表达式" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 #: settings/models.py:182 settings/serializers/feature.py:19 -#: xpack/plugins/license/models.py:30 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "内容" @@ -1815,7 +1816,7 @@ msgstr "收集资产信息" msgid "Ping asset" msgstr "测试资产" -#: assets/models/base.py:19 +#: assets/models/base.py:19 terminal/notifications.py:225 msgid "Connectivity" msgstr "连接性" @@ -3010,8 +3011,9 @@ msgstr "短信验证码校验失败" #: authentication/mfa/sms.py:12 authentication/serializers/password_mfa.py:16 #: authentication/serializers/password_mfa.py:24 -#: settings/serializers/auth/sms.py:32 users/forms/profile.py:104 -#: users/forms/profile.py:109 users/templates/users/forgot_password.html:155 +#: settings/serializers/auth/sms.py:17 settings/serializers/auth/sms.py:32 +#: users/forms/profile.py:104 users/forms/profile.py:109 +#: users/templates/users/forgot_password.html:155 #: users/views/profile/reset.py:100 msgid "SMS" msgstr "短信" @@ -4286,7 +4288,7 @@ msgstr "运行用户" msgid "Runas policy" msgstr "用户策略" -#: ops/models/job.py:216 +#: ops/models/job.py:216 terminal/notifications.py:174 msgid "Job" msgstr "作业" @@ -4310,9 +4312,11 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" -#: ops/notifications.py:17 rbac/tree.py:57 -msgid "App ops" -msgstr "作业中心" +#: ops/notifications.py:17 +#, fuzzy +#| msgid "Component" +msgid "Components" +msgstr "组件" #: ops/notifications.py:18 msgid "Server performance" @@ -4830,6 +4834,10 @@ msgstr "任务中心" msgid "My assets" msgstr "我的资产" +#: rbac/tree.py:57 +msgid "App ops" +msgstr "作业中心" + #: rbac/tree.py:58 terminal/models/applet/applet.py:52 #: terminal/models/applet/applet.py:317 terminal/models/applet/host.py:30 #: terminal/serializers/applet.py:15 @@ -5333,10 +5341,6 @@ msgstr "SP 证书" msgid "Enable Slack Auth" msgstr "启用 Slack 认证" -#: settings/serializers/auth/sms.py:17 -msgid "Enable SMS" -msgstr "启用 SMS" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "短信服务商 / 协议" @@ -5369,19 +5373,19 @@ msgid "Signature channel number" msgstr "签名通道号" #: settings/serializers/auth/sms.py:73 -msgid "Enterprise code(SP id)" +msgid "Enterprise code" msgstr "企业代码(SP id)" #: settings/serializers/auth/sms.py:74 -msgid "Shared secret(Shared secret)" +msgid "Shared secret" msgstr "共享密码(Shared secret)" #: settings/serializers/auth/sms.py:75 -msgid "Original number(Src id)" +msgid "Original number" msgstr "原始号码(Src id)" #: settings/serializers/auth/sms.py:76 -msgid "Business type(Service id)" +msgid "Business type" msgstr "业务类型(Service id)" #: settings/serializers/auth/sms.py:80 @@ -5523,7 +5527,7 @@ msgid "" msgstr "" "会话、录像,命令记录超过该时长将会被清除 (影响数据库存储,OSS 等不受影响)" -#: settings/serializers/feature.py:18 +#: settings/serializers/feature.py:18 settings/serializers/msg.py:68 msgid "Subject" msgstr "主题" @@ -5642,7 +5646,7 @@ msgid "Tips: Some provider use token except password" msgstr "提示:一些邮件提供商需要输入的是授权码" #: settings/serializers/msg.py:39 -msgid "Send user" +msgid "Sender" msgstr "发件人" #: settings/serializers/msg.py:40 @@ -5682,10 +5686,6 @@ msgid "" "This is used by default if no email is returned during SSO authentication" msgstr "SSO认证时,如果没有返回邮件地址,将使用该后缀" -#: settings/serializers/msg.py:68 -msgid "Create user email subject" -msgstr "邮件主题" - #: settings/serializers/msg.py:69 msgid "" "Tips: When creating a user, send the subject of the email (eg:Create account " @@ -5693,17 +5693,13 @@ msgid "" msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" #: settings/serializers/msg.py:73 -msgid "Create user honorific" +msgid "Honorific" msgstr "邮件问候语" #: settings/serializers/msg.py:74 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 你好)" -#: settings/serializers/msg.py:78 -msgid "Create user email content" -msgstr "邮件的内容" - #: settings/serializers/msg.py:80 #, python-brace-format msgid "" @@ -6890,7 +6886,7 @@ msgstr "会话" msgid "Command warning" msgstr "命令告警" -#: terminal/notifications.py:130 +#: terminal/notifications.py:130 terminal/notifications.py:175 msgid "Command reject" msgstr "命令拒绝" @@ -6898,18 +6894,10 @@ msgstr "命令拒绝" msgid "Level" msgstr "级别" -#: terminal/notifications.py:175 -msgid "Batch danger command alert" -msgstr "批量危险命令告警" - #: terminal/notifications.py:224 msgid "Command and replay storage" msgstr "命令及录像存储" -#: terminal/notifications.py:225 -msgid "Connectivity alarm" -msgstr "可连接性告警" - #: terminal/notifications.py:240 terminal/tasks.py:146 msgid "Test failure: Account invalid" msgstr "测试失败: 账号无效" @@ -7051,10 +7039,6 @@ msgstr "无效的 命令组 ID" msgid "Invalid session id" msgstr "无效的 Session ID" -#: terminal/serializers/command.py:72 -msgid "Account " -msgstr "账号" - #: terminal/serializers/command.py:74 msgid "Timestamp" msgstr "时间戳" @@ -9019,6 +9003,15 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Email Subject" +#~ msgstr "邮件主题" + +#~ msgid "Command reject (Job)" +#~ msgstr "批量危险命令告警" + +#~ msgid "Account " +#~ msgstr "账号" + #~ msgid "Wide logo on top" #~ msgstr "顶部宽 Logo" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index f3eec7103..1a4a5f0ca 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -78,7 +78,7 @@ "ApiKey": "API Key", "ApiKeyList": "Authenticate via Api key in the header of each request, which differs from one request to another, offering greater security than Token method. Please consult the documentation for usage.
To minimize the risk of leaks, the Secret can only be viewed upon creation, and each user can create up to 10", "ApiKeyWarning": "To reduce the risk of AccessKey leakage, the Secret is only provided at creation and cannot be queried later, please keep it safe.", - "AppEndpoint": "Application Access Address", + "AppEndpoint": "App Access Address", "AppOps": "Task Center", "AppProvider": "Application Providers", "AppProviderDetail": "Application Provider Details", @@ -206,7 +206,7 @@ "CertificateKey": "Client Key", "ChangeField": "Change Field", "ChangePassword": "Update Password", - "ChangeReceiver": "Modify Message Recipient", + "ChangeReceiver": "Edit Recipient", "ChangeSecretParams": "Change Password Parameters", "ChangeViewHelpText": "Click to Switch Different Views", "Chat": "Chat", @@ -297,7 +297,7 @@ "CreatePlaybook": "Create Playbook", "CreateReplayStorage": "Create Object Storage", "CreateSuccessMsg": "Import Successful, Total: {count}", - "CreateUserSetting": "Create User Content", + "CreateUserSetting": "User creation", "Created": "Created", "CreatedBy": "Creator", "CriticalLoad": "Serious", @@ -390,7 +390,7 @@ "Edit": "Edit", "Edition": "Version", "Email": "Email", - "EmailContent": "Custom Email Content", + "EmailContent": "Custom Content", "EmailTest": "Test Connection", "Empty": "Empty", "Enable": "Enable", @@ -621,7 +621,8 @@ "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make your account more secure.
After enabling, you will enter the multi-factor authentication binding process the next time you log in; you can also directly bind in (Personal Information->Quick Modification->Change Multi-factor Settings)!", "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
Personal information such as email, mobile number, and WeChat are only used for user authentication and platform internal message notifications.", "MailRecipient": "Email Recipient", - "MailSend": "Email Sending", + "MailSend": "Sending", + "Server": "Server", "ManualAccount": "Manual Account", "ManualAccountTip": "Manual input of Username/Password upon Login", "ManualExecutePlan": "Manual Execute Plan", @@ -652,7 +653,7 @@ "More": "More", "MoreActions": "Actions", "MoveAssetToNode": "Move Assets to Nodes", - "MsgSubscribe": "Message Subscription", + "MsgSubscribe": "Subscription", "MyAssets": "My Assets", "MyTickets": "I Initiated", "Name": "Name", @@ -992,7 +993,7 @@ "ShowAssetAllChildrenNode": "Show All Sub-nodes Assets", "ShowAssetOnlyCurrentNode": "Only Show Current Node Assets", "ShowNodeInfo": "Show Node Details", - "SignChannelNum": "Channel Number Signature", + "SignChannelNum": "Channel Signature", "SiteMessage": "Site Message", "SiteMessageList": "Internal Mail", "Skip": "Ignore Current Asset", @@ -1189,7 +1190,7 @@ "VariableHelpText": "You Can Use {{ key }} to Read Built-in Variables in Commands", "VaultHelpText": "1. For security reasons, Vault storage must be enabled in the configuration file.
2. After enabled, fill in other configurations, and perform tests.
3. Carry out data synchronization, which is one-way, only syncing from the local database to the distant Vault, once synchronization is completed, the local database will no longer store passwords, please back up your data.
4. After modifying Vault configuration the second time, you need to restart the service.", "VerificationCodeSent": "Verification code has been sent", - "VerifySignTmpl": "Verification Code SMS Template", + "VerifySignTmpl": "SMS Template", "Version": "Version", "View": "View", "ViewBlockedIPSHelpText": "View List of Locked IPs", diff --git a/apps/ops/notifications.py b/apps/ops/notifications.py index b0c4906e4..c5950228a 100644 --- a/apps/ops/notifications.py +++ b/apps/ops/notifications.py @@ -13,8 +13,8 @@ __all__ = ('ServerPerformanceMessage', 'ServerPerformanceCheckUtil') class ServerPerformanceMessage(SystemMessage): - category = 'Operations' - category_label = _('App ops') + category = 'Components' + category_label = _('Components') message_type_label = _('Server performance') def __init__(self, terms_with_errors): diff --git a/apps/settings/serializers/auth/sms.py b/apps/settings/serializers/auth/sms.py index 1011c9aa6..5a2b8e319 100644 --- a/apps/settings/serializers/auth/sms.py +++ b/apps/settings/serializers/auth/sms.py @@ -14,7 +14,7 @@ __all__ = [ class SMSSettingSerializer(serializers.Serializer): - SMS_ENABLED = serializers.BooleanField(default=False, label=_('Enable SMS')) + SMS_ENABLED = serializers.BooleanField(default=False, label=_('SMS')) SMS_BACKEND = serializers.ChoiceField( choices=BACKENDS.choices, default=BACKENDS.ALIBABA, label=_('SMS provider / Protocol') ) @@ -70,10 +70,10 @@ class HuaweiSMSSettingSerializer(BaseSMSSettingSerializer): class CMPP2SMSSettingSerializer(BaseSMSSettingSerializer): CMPP2_HOST = serializers.CharField(max_length=256, required=True, label=_('Host')) CMPP2_PORT = serializers.IntegerField(default=7890, label=_('Port')) - CMPP2_SP_ID = serializers.CharField(max_length=128, required=True, label=_('Enterprise code(SP id)')) - CMPP2_SP_SECRET = EncryptedField(max_length=256, required=False, label=_('Shared secret(Shared secret)')) - CMPP2_SRC_ID = serializers.CharField(max_length=256, required=False, label=_('Original number(Src id)')) - CMPP2_SERVICE_ID = serializers.CharField(max_length=256, required=True, label=_('Business type(Service id)')) + CMPP2_SP_ID = serializers.CharField(max_length=128, required=True, label=_('Enterprise code')) + CMPP2_SP_SECRET = EncryptedField(max_length=256, required=False, label=_('Shared secret')) + CMPP2_SRC_ID = serializers.CharField(max_length=256, required=False, label=_('Original number')) + CMPP2_SERVICE_ID = serializers.CharField(max_length=256, required=True, label=_('Business type')) CMPP2_VERIFY_SIGN_NAME = serializers.CharField(max_length=256, required=True, label=_('Signature')) CMPP2_VERIFY_TEMPLATE_CODE = serializers.CharField( max_length=69, required=True, label=_('Template'), diff --git a/apps/settings/serializers/msg.py b/apps/settings/serializers/msg.py index ace4ab42c..0a2a222e5 100644 --- a/apps/settings/serializers/msg.py +++ b/apps/settings/serializers/msg.py @@ -36,7 +36,7 @@ class EmailSettingSerializer(serializers.Serializer): help_text=_("Tips: Some provider use token except password") ) EMAIL_FROM = serializers.CharField( - max_length=128, allow_blank=True, required=False, label=_('Send user'), + max_length=128, allow_blank=True, required=False, label=_('Sender'), help_text=_('Tips: Send mail account, default SMTP account as the send account') ) EMAIL_RECIPIENT = serializers.CharField( @@ -65,17 +65,17 @@ class EmailContentSettingSerializer(serializers.Serializer): EMAIL_CUSTOM_USER_CREATED_SUBJECT = serializers.CharField( max_length=1024, allow_blank=True, required=False, - label=_('Create user email subject'), + label=_('Subject'), help_text=_('Tips: When creating a user, send the subject of the email (eg:Create account successfully)') ) EMAIL_CUSTOM_USER_CREATED_HONORIFIC = serializers.CharField( max_length=1024, allow_blank=True, required=False, - label=_('Create user honorific'), + label=_('Honorific'), help_text=_('Tips: When creating a user, send the honorific of the email (eg:Hello)') ) EMAIL_CUSTOM_USER_CREATED_BODY = serializers.CharField( max_length=4096, allow_blank=True, required=False, - label=_('Create user email content'), + label=_('Content'), help_text=_( 'Tips: When creating a user, send the content of the email, support {username} {name} {email} label') ) diff --git a/apps/terminal/notifications.py b/apps/terminal/notifications.py index 0d2501450..ca49f23f2 100644 --- a/apps/terminal/notifications.py +++ b/apps/terminal/notifications.py @@ -170,9 +170,9 @@ class CommandAlertMessage(CommandAlertMixin, SystemMessage): class CommandExecutionAlert(CommandAlertMixin, SystemMessage): - category = CATEGORY - category_label = CATEGORY_LABEL - message_type_label = _('Batch danger command alert') + category = 'Workbench' + category_label = _('Job') + message_type_label = _('Command reject') def __init__(self, command): self.command = command @@ -222,7 +222,7 @@ class CommandExecutionAlert(CommandAlertMixin, SystemMessage): class StorageConnectivityMessage(SystemMessage): category = 'storage' category_label = _('Command and replay storage') - message_type_label = _('Connectivity alarm') + message_type_label = _('Connectivity') def __init__(self, errors): self.errors = errors diff --git a/apps/terminal/serializers/command.py b/apps/terminal/serializers/command.py index 11b16f5ad..907c1fe7c 100644 --- a/apps/terminal/serializers/command.py +++ b/apps/terminal/serializers/command.py @@ -69,7 +69,7 @@ class SessionCommandSerializerMixin(serializers.Serializer): """使用这个类作为基础Command Log Serializer类, 用来序列化""" id = serializers.UUIDField(read_only=True) # 限制 64 字符,不能直接迁移成 128 字符,命令表数据量会比较大 - account = serializers.CharField(label=_("Account ")) + account = serializers.CharField(label=_("Account")) output = serializers.CharField(max_length=2048, allow_blank=True, label=_("Output")) timestamp = serializers.IntegerField(label=_('Timestamp')) timestamp_display = serializers.DateTimeField(read_only=True, label=_('Datetime')) From 859bb91fc7a2c6aa8f65b24e65297fa2fe0c7083 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 26 Feb 2024 15:47:05 +0800 Subject: [PATCH 026/343] perf: i18n settings-Features done. --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/en/LC_MESSAGES/django.po | 45 +++++++------------------ apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/ja/LC_MESSAGES/django.po | 43 +++++++---------------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/zh/LC_MESSAGES/django.po | 43 +++++++---------------- apps/i18n/lina/en.json | 14 ++++---- apps/rbac/tree.py | 2 +- apps/settings/serializers/feature.py | 18 +++++----- 9 files changed, 61 insertions(+), 116 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 96e577e58..d003ce451 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2f589794db086991c25ed95a157936d429747823eb873211ad5d04340d780fa -size 2186 +oid sha256:9b625eab5cb43a5e6ffe64cc68887034be25fa4b2f9134cdfca12966930721fb +size 2301 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 9f497fce5..804e654a3 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-23 17:56+0800\n" +"POT-Creation-Date: 2024-02-26 15:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4778,8 +4778,8 @@ msgstr "" msgid "Terminal setting" msgstr "" -#: rbac/tree.py:55 -msgid "Task Center" +#: rbac/tree.py:55 settings/serializers/feature.py:126 +msgid "Job center" msgstr "" #: rbac/tree.py:56 @@ -4805,7 +4805,7 @@ msgid "Ticket comment" msgstr "" #: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:307 +#: settings/serializers/feature.py:111 tickets/models/ticket/general.py:307 msgid "Ticket" msgstr "" @@ -5478,16 +5478,13 @@ msgstr "" msgid "More URL" msgstr "" -#: settings/serializers/feature.py:36 settings/serializers/feature.py:39 +#: settings/serializers/feature.py:36 settings/serializers/feature.py:38 +#: settings/serializers/feature.py:39 msgid "Announcement" msgstr "" -#: settings/serializers/feature.py:38 -msgid "Enable announcement" -msgstr "" - #: settings/serializers/feature.py:46 -msgid "Enable Vault" +msgid "Vault" msgstr "" #: settings/serializers/feature.py:55 @@ -5496,7 +5493,7 @@ msgstr "" #: settings/serializers/feature.py:60 msgid "Historical accounts retained count" -msgstr "" +msgstr "Retention" #: settings/serializers/feature.py:62 msgid "" @@ -5506,14 +5503,10 @@ msgid "" "account deletion will be performed." msgstr "" -#: settings/serializers/feature.py:71 +#: settings/serializers/feature.py:71 settings/serializers/feature.py:75 msgid "Chat AI" msgstr "" -#: settings/serializers/feature.py:75 -msgid "Enable Chat AI" -msgstr "" - #: settings/serializers/feature.py:78 msgid "Base URL" msgstr "" @@ -5526,12 +5519,8 @@ msgstr "" msgid "GPT Model" msgstr "" -#: settings/serializers/feature.py:111 -msgid "Enable tickets" -msgstr "" - #: settings/serializers/feature.py:114 -msgid "Ticket authorize default time" +msgid "Default period" msgstr "" #: settings/serializers/feature.py:117 @@ -5539,30 +5528,26 @@ msgid "hour" msgstr "" #: settings/serializers/feature.py:118 -msgid "Ticket authorize default time unit" +msgid "Default unit" msgstr "" #: settings/serializers/feature.py:123 msgid "Feature" msgstr "" -#: settings/serializers/feature.py:126 -msgid "Operation center" -msgstr "" - #: settings/serializers/feature.py:127 msgid "Allow user run batch command or not using ansible" msgstr "" #: settings/serializers/feature.py:131 -msgid "Operation center command blacklist" +msgid "Command blacklist" msgstr "" #: settings/serializers/feature.py:132 msgid "Commands that are not allowed execute." msgstr "" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:137 settings/serializers/feature.py:140 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5570,10 +5555,6 @@ msgstr "" msgid "Virtual app" msgstr "" -#: settings/serializers/feature.py:140 -msgid "Enable virtual app" -msgstr "" - #: settings/serializers/msg.py:25 msgid "SMTP" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 5c739fd85..f644edce1 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25b15c04e4ee68befe30101c371b2b0b1c95e9371e6b85392a77255e91ab75dd -size 170094 +oid sha256:e8b0f6631ac25f42278b8a3f287a35dbcd9bc771f9c2cf63d9338c6f7fa633bc +size 169665 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index bddfa7fba..f408f9718 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-23 17:56+0800\n" +"POT-Creation-Date: 2024-02-26 15:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4927,8 +4927,8 @@ msgstr "資産の改ざん" msgid "Terminal setting" msgstr "ターミナル設定" -#: rbac/tree.py:55 -msgid "Task Center" +#: rbac/tree.py:55 settings/serializers/feature.py:126 +msgid "Job center" msgstr "タスクセンター" #: rbac/tree.py:56 @@ -4954,7 +4954,7 @@ msgid "Ticket comment" msgstr "チケットコメント" #: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:307 +#: settings/serializers/feature.py:111 tickets/models/ticket/general.py:307 msgid "Ticket" msgstr "チケット" @@ -5648,16 +5648,13 @@ msgstr "件名" msgid "More URL" msgstr "もっとURL" -#: settings/serializers/feature.py:36 settings/serializers/feature.py:39 +#: settings/serializers/feature.py:36 settings/serializers/feature.py:38 +#: settings/serializers/feature.py:39 msgid "Announcement" msgstr "発表" -#: settings/serializers/feature.py:38 -msgid "Enable announcement" -msgstr "アナウンスの有効化" - #: settings/serializers/feature.py:46 -msgid "Enable Vault" +msgid "Vault" msgstr "有効化 Vault" #: settings/serializers/feature.py:55 @@ -5679,14 +5676,10 @@ msgstr "" "所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" "歴アカウントの削除は実行されません。" -#: settings/serializers/feature.py:71 +#: settings/serializers/feature.py:71 settings/serializers/feature.py:75 msgid "Chat AI" msgstr "チャットAI" -#: settings/serializers/feature.py:75 -msgid "Enable Chat AI" -msgstr "チャットAIを起動する" - #: settings/serializers/feature.py:78 msgid "Base URL" msgstr "基本的なUrl" @@ -5699,12 +5692,8 @@ msgstr "API Key" msgid "GPT Model" msgstr "GPTモデル" -#: settings/serializers/feature.py:111 -msgid "Enable tickets" -msgstr "チケットを有効にする" - #: settings/serializers/feature.py:114 -msgid "Ticket authorize default time" +msgid "Default period" msgstr "デフォルト製造オーダ承認時間" #: settings/serializers/feature.py:117 @@ -5712,30 +5701,26 @@ msgid "hour" msgstr "時" #: settings/serializers/feature.py:118 -msgid "Ticket authorize default time unit" +msgid "Default unit" msgstr "デフォルト製造オーダ承認時間単位" #: settings/serializers/feature.py:123 msgid "Feature" msgstr "機能" -#: settings/serializers/feature.py:126 -msgid "Operation center" -msgstr "職業センター" - #: settings/serializers/feature.py:127 msgid "Allow user run batch command or not using ansible" msgstr "ユーザー実行バッチコマンドを許可するか、ansibleを使用しない" #: settings/serializers/feature.py:131 -msgid "Operation center command blacklist" +msgid "Command blacklist" msgstr "オペレーション センター コマンド ブラックリスト" #: settings/serializers/feature.py:132 msgid "Commands that are not allowed execute." msgstr "実行が許可されていないコマンド" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:137 settings/serializers/feature.py:140 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5743,10 +5728,6 @@ msgstr "実行が許可されていないコマンド" msgid "Virtual app" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:140 -msgid "Enable virtual app" -msgstr "仮想アプリケーションの有効化" - #: settings/serializers/msg.py:25 #, fuzzy #| msgid "SMTP host" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index b5ccd2339..433b274e7 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b7274a5844ea33f2c6117210e0ba8baacbd450f15b1baef2af54dde1d588a55 -size 140636 +oid sha256:d54631a07b63a1dfee00e6833df24fd7835cacd1bf938f94311f6fb6550ded5b +size 140300 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 2574d856e..3306221f9 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-23 17:56+0800\n" +"POT-Creation-Date: 2024-02-26 15:45+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -4826,8 +4826,8 @@ msgstr "资产改密" msgid "Terminal setting" msgstr "终端设置" -#: rbac/tree.py:55 -msgid "Task Center" +#: rbac/tree.py:55 settings/serializers/feature.py:126 +msgid "Job center" msgstr "任务中心" #: rbac/tree.py:56 @@ -4853,7 +4853,7 @@ msgid "Ticket comment" msgstr "工单评论" #: rbac/tree.py:130 settings/serializers/feature.py:109 -#: tickets/models/ticket/general.py:307 +#: settings/serializers/feature.py:111 tickets/models/ticket/general.py:307 msgid "Ticket" msgstr "工单" @@ -5535,16 +5535,13 @@ msgstr "主题" msgid "More URL" msgstr "更多信息 URL" -#: settings/serializers/feature.py:36 settings/serializers/feature.py:39 +#: settings/serializers/feature.py:36 settings/serializers/feature.py:38 +#: settings/serializers/feature.py:39 msgid "Announcement" msgstr "公告" -#: settings/serializers/feature.py:38 -msgid "Enable announcement" -msgstr "启用公告" - #: settings/serializers/feature.py:46 -msgid "Enable Vault" +msgid "Vault" msgstr "启用 Vault" #: settings/serializers/feature.py:55 @@ -5565,14 +5562,10 @@ msgstr "" "若特定数值小于999,系统将在每日晚间自动执行任务:检查并删除超出预定数量的历史" "账号。如果该数值达到或超过999,则不进行任何历史账号的删除操作。" -#: settings/serializers/feature.py:71 +#: settings/serializers/feature.py:71 settings/serializers/feature.py:75 msgid "Chat AI" msgstr "聊天 AI" -#: settings/serializers/feature.py:75 -msgid "Enable Chat AI" -msgstr "启动聊天 AI" - #: settings/serializers/feature.py:78 msgid "Base URL" msgstr "基本地址" @@ -5585,12 +5578,8 @@ msgstr "API Key" msgid "GPT Model" msgstr "GPT 模型" -#: settings/serializers/feature.py:111 -msgid "Enable tickets" -msgstr "启用工单" - #: settings/serializers/feature.py:114 -msgid "Ticket authorize default time" +msgid "Default period" msgstr "默认工单授权时间" #: settings/serializers/feature.py:117 @@ -5598,30 +5587,26 @@ msgid "hour" msgstr "时" #: settings/serializers/feature.py:118 -msgid "Ticket authorize default time unit" +msgid "Default unit" msgstr "默认工单授权时间单位" #: settings/serializers/feature.py:123 msgid "Feature" msgstr "功能" -#: settings/serializers/feature.py:126 -msgid "Operation center" -msgstr "作业中心" - #: settings/serializers/feature.py:127 msgid "Allow user run batch command or not using ansible" msgstr "是否允许用户使用 ansible 执行批量命令" #: settings/serializers/feature.py:131 -msgid "Operation center command blacklist" +msgid "Command blacklist" msgstr "作业中心命令黑名单" #: settings/serializers/feature.py:132 msgid "Commands that are not allowed execute." msgstr "不允许执行的命令" -#: settings/serializers/feature.py:137 +#: settings/serializers/feature.py:137 settings/serializers/feature.py:140 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -5629,10 +5614,6 @@ msgstr "不允许执行的命令" msgid "Virtual app" msgstr "虚拟应用" -#: settings/serializers/feature.py:140 -msgid "Enable virtual app" -msgstr "启用虚拟应用" - #: settings/serializers/msg.py:25 msgid "SMTP" msgstr "SMTP" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 1a4a5f0ca..53c72a2d7 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -23,7 +23,8 @@ "AccountPushExecutionList": "Execute History", "AccountPushList": "Account Push", "AccountPushUpdate": "Update Account Push", - "AccountStorage": "Account Storage", + "AccountStorage": "Account", + "HistoryRecord": "History record", "AccountTemplate": "Template", "AccountTemplateList": "Templates", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", @@ -79,7 +80,7 @@ "ApiKeyList": "Authenticate via Api key in the header of each request, which differs from one request to another, offering greater security than Token method. Please consult the documentation for usage.
To minimize the risk of leaks, the Secret can only be viewed upon creation, and each user can create up to 10", "ApiKeyWarning": "To reduce the risk of AccessKey leakage, the Secret is only provided at creation and cannot be queried later, please keep it safe.", "AppEndpoint": "App Access Address", - "AppOps": "Task Center", + "AppOps": "Job center", "AppProvider": "Application Providers", "AppProviderDetail": "Application Provider Details", "AppletDetail": "Remote Apps", @@ -554,7 +555,7 @@ "IsSyncAccountLabel": "Sync to Assets", "JDCloud": "Jingdong Cloud", "Job": "Job", - "JobCenter": "Task Center", + "JobCenter": "Job center", "JobCreate": "Create Job", "JobDetail": "Job Details", "JobExecutionLog": "Job Logs", @@ -1016,6 +1017,7 @@ "StatusRed": "Last Task Execution Failed", "StatusYellow": "There have been recent failures", "Stop": "Stop", + "Storage": "Storage", "StorageSetting": "Storage", "Strategy": "Strategy", "StrategyCreate": "Create Policy", @@ -1090,7 +1092,7 @@ "TestPortErrorMsg": "Port Error, Please Re-enter", "TestSuccessMsg": "Test Succeeded", "Thursday": "Thursday", - "Ticket": "Work Orders", + "Ticket": "Ticket", "TicketDetail": "Work Order Details", "TicketFlow": "Work Order Flow", "TicketFlowCreate": "Create Approval Flow", @@ -1200,9 +1202,9 @@ "VirtualAccountDetail": "Details of virtual account", "VirtualAccountUpdate": "Virtual Account Update", "VirtualAccounts": "Virtual Accounts", - "VirtualApp": "Virtual Application", + "VirtualApp": "Virtual App", "VirtualAppDetail": "Virtual App Details", - "VirtualApps": "Virtual Application", + "VirtualApps": "Virtual App", "WeCom": "WeChat for Business", "WeComTest": "Test", "WebCreate": "Create Asset-Web", diff --git a/apps/rbac/tree.py b/apps/rbac/tree.py index 8e9a56831..9057f4908 100644 --- a/apps/rbac/tree.py +++ b/apps/rbac/tree.py @@ -52,7 +52,7 @@ extra_nodes_data = [ {"id": "push_account_node", "name": _("Push account"), "pId": "accounts"}, {"id": "asset_change_plan_node", "name": _("Asset change auth"), "pId": "accounts"}, {"id": "terminal_node", "name": _("Terminal setting"), "pId": "view_setting"}, - {'id': "task_center", "name": _("Task Center"), "pId": "view_console"}, + {'id': "task_center", "name": _("Job center"), "pId": "view_console"}, {'id': "my_assets", "name": _("My assets"), "pId": "view_workbench"}, {'id': "operation_center", "name": _('App ops'), "pId": "view_workbench"}, {'id': "remote_application", "name": _("Applet"), "pId": "view_setting"}, diff --git a/apps/settings/serializers/feature.py b/apps/settings/serializers/feature.py index 2fb163cae..79b8943a8 100644 --- a/apps/settings/serializers/feature.py +++ b/apps/settings/serializers/feature.py @@ -35,7 +35,7 @@ class AnnouncementSerializer(serializers.Serializer): class AnnouncementSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Announcement') - ANNOUNCEMENT_ENABLED = serializers.BooleanField(label=_('Enable announcement'), default=True) + ANNOUNCEMENT_ENABLED = serializers.BooleanField(label=_('Announcement'), default=True) ANNOUNCEMENT = AnnouncementSerializer(label=_("Announcement")) @@ -43,7 +43,7 @@ class VaultSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('HCP Vault') VAULT_ENABLED = serializers.BooleanField( - required=False, label=_('Enable Vault'), read_only=True + required=False, label=_('Vault'), read_only=True ) VAULT_HCP_HOST = serializers.CharField( max_length=256, allow_blank=True, required=False, label=_('Host') @@ -72,7 +72,7 @@ class ChatAISettingSerializer(serializers.Serializer): GPT_MODEL_CHOICES = [] CHAT_AI_ENABLED = serializers.BooleanField( - required=False, label=_('Enable Chat AI') + required=False, label=_('Chat AI') ) GPT_BASE_URL = serializers.CharField( max_length=256, allow_blank=True, required=False, label=_('Base URL') @@ -108,14 +108,14 @@ class ChatAISettingSerializer(serializers.Serializer): class TicketSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Ticket') - TICKETS_ENABLED = serializers.BooleanField(required=False, default=True, label=_("Enable tickets")) + TICKETS_ENABLED = serializers.BooleanField(required=False, default=True, label=_("Ticket")) TICKET_AUTHORIZE_DEFAULT_TIME = serializers.IntegerField( min_value=1, max_value=999999, required=False, - label=_("Ticket authorize default time") + label=_("Default period") ) TICKET_AUTHORIZE_DEFAULT_TIME_UNIT = serializers.ChoiceField( choices=[('day', _("day")), ('hour', _("hour"))], - label=_("Ticket authorize default time unit"), required=False, + label=_("Default unit"), required=False, ) @@ -123,12 +123,12 @@ class OpsSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Feature') SECURITY_COMMAND_EXECUTION = serializers.BooleanField( - required=False, label=_('Operation center'), + required=False, label=_('Job center'), help_text=_('Allow user run batch command or not using ansible') ) SECURITY_COMMAND_BLACKLIST = serializers.ListField( child=serializers.CharField(max_length=1024, ), - label=_('Operation center command blacklist'), + label=_('Command blacklist'), help_text=_("Commands that are not allowed execute.") ) @@ -137,5 +137,5 @@ class VirtualAppSerializer(serializers.Serializer): PREFIX_TITLE = _('Virtual app') VIRTUAL_APP_ENABLED = serializers.BooleanField( - required=False, label=_('Enable virtual app'), + required=False, label=_('Virtual app'), ) From 10394dbb1c59ff5267fb6dca74c811cd5916e348 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 26 Feb 2024 16:53:40 +0800 Subject: [PATCH 027/343] perf: i18n settings-Auth done. --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 58 +++----------------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 59 +++------------------ apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 61 +++------------------- apps/i18n/lina/en.json | 4 +- apps/settings/serializers/auth/base.py | 2 +- apps/settings/serializers/auth/cas.py | 13 +++-- apps/settings/serializers/auth/dingtalk.py | 8 +-- apps/settings/serializers/auth/feishu.py | 2 +- apps/settings/serializers/auth/ldap.py | 6 +-- apps/settings/serializers/auth/oauth2.py | 4 +- apps/settings/serializers/auth/oidc.py | 6 +-- apps/settings/serializers/auth/passkey.py | 2 +- apps/settings/serializers/auth/radius.py | 2 +- apps/settings/serializers/auth/saml2.py | 4 +- apps/settings/serializers/auth/slack.py | 2 +- apps/settings/serializers/auth/wecom.py | 2 +- 19 files changed, 58 insertions(+), 189 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index d003ce451..8b20cef55 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b625eab5cb43a5e6ffe64cc68887034be25fa4b2f9134cdfca12966930721fb -size 2301 +oid sha256:3e91350085ae1a963cd47e161976e8712215648bf46d9f9253c0fdec2f7c9869 +size 2329 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 804e654a3..9575cc669 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -2586,7 +2586,7 @@ msgstr "" #: settings/serializers/auth/feishu.py:13 users/models/user.py:751 #: users/models/user.py:857 msgid "FeiShu" -msgstr "" +msgstr "Lark" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 @@ -4989,21 +4989,13 @@ msgid "Forgot Password URL" msgstr "" #: settings/serializers/auth/base.py:29 -msgid "Enable login redirect msg" +msgid "Login redirection prompt" msgstr "" #: settings/serializers/auth/cas.py:10 msgid "CAS" msgstr "" -#: settings/serializers/auth/cas.py:12 -msgid "Enable CAS Auth" -msgstr "" - -#: settings/serializers/auth/cas.py:13 settings/serializers/auth/oidc.py:54 -msgid "Server url" -msgstr "" - #: settings/serializers/auth/cas.py:16 msgid "Proxy server url" msgstr "" @@ -5022,19 +5014,19 @@ msgid "Enable attributes map" msgstr "" #: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 -msgid "Rename attr" +msgid "User attribute" msgstr "" #: settings/serializers/auth/cas.py:29 -msgid "Create user if not" +msgid "Create user" msgstr "" #: settings/serializers/auth/dingtalk.py:15 -msgid "Enable DingTalk Auth" +msgid "Dingtalk" msgstr "" #: settings/serializers/auth/feishu.py:16 -msgid "Enable FeiShu Auth" +msgid "Lark" msgstr "" #: settings/serializers/auth/ldap.py:39 @@ -5042,7 +5034,7 @@ msgid "LDAP" msgstr "" #: settings/serializers/auth/ldap.py:42 -msgid "LDAP server" +msgid "Server" msgstr "" #: settings/serializers/auth/ldap.py:43 @@ -5070,11 +5062,6 @@ msgstr "" msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" msgstr "" -#: settings/serializers/auth/ldap.py:58 settings/serializers/auth/oauth2.py:56 -#: settings/serializers/auth/oidc.py:37 -msgid "User attr map" -msgstr "" - #: settings/serializers/auth/ldap.py:59 msgid "" "User attr map present how to map LDAP user attr to jumpserver, username,name," @@ -5089,17 +5076,10 @@ msgstr "" msgid "Search paged size (piece)" msgstr "" -#: settings/serializers/auth/ldap.py:84 -msgid "Enable LDAP auth" -msgstr "" - #: settings/serializers/auth/oauth2.py:18 msgid "OAuth2" msgstr "" -#: settings/serializers/auth/oauth2.py:21 -msgid "Enable OAuth2 Auth" -msgstr "" #: settings/serializers/auth/oauth2.py:24 msgid "Logo" @@ -5181,10 +5161,6 @@ msgstr "" msgid "Realm name" msgstr "" -#: settings/serializers/auth/oidc.py:63 -msgid "Enable OPENID Auth" -msgstr "" - #: settings/serializers/auth/oidc.py:65 msgid "Provider endpoint" msgstr "" @@ -5221,10 +5197,6 @@ msgstr "" msgid "Use nonce" msgstr "" -#: settings/serializers/auth/passkey.py:11 -msgid "Enable passkey Auth" -msgstr "" - #: settings/serializers/auth/passkey.py:12 msgid "Only SSL domain can use passkey auth" msgstr "" @@ -5247,10 +5219,6 @@ msgstr "" msgid "Radius" msgstr "" -#: settings/serializers/auth/radius.py:15 -msgid "Enable Radius Auth" -msgstr "" - #: settings/serializers/auth/radius.py:21 msgid "OTP in Radius" msgstr "" @@ -5259,10 +5227,6 @@ msgstr "" msgid "SAML2" msgstr "" -#: settings/serializers/auth/saml2.py:13 -msgid "Enable SAML2 Auth" -msgstr "" - #: settings/serializers/auth/saml2.py:16 msgid "IDP metadata URL" msgstr "" @@ -5283,10 +5247,6 @@ msgstr "" msgid "SP cert" msgstr "" -#: settings/serializers/auth/slack.py:12 -msgid "Enable Slack Auth" -msgstr "" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "" @@ -5376,10 +5336,6 @@ msgstr "" msgid "Unit: second" msgstr "" -#: settings/serializers/auth/wecom.py:15 -msgid "Enable WeCom Auth" -msgstr "" - #: settings/serializers/basic.py:11 msgid "Site URL" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index f644edce1..ac3cefa5b 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8b0f6631ac25f42278b8a3f287a35dbcd9bc771f9c2cf63d9338c6f7fa633bc -size 169665 +oid sha256:6da7aefc64a80f4087d6067571d10f37da3b328abf175feb380a717931313257 +size 168890 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index f408f9718..3d1d90989 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -5146,23 +5146,15 @@ msgid "Forgot Password URL" msgstr "パスワードのURLを忘れた" #: settings/serializers/auth/base.py:29 -msgid "Enable login redirect msg" +msgid "Login redirection prompt" msgstr "ログインリダイレクトの有効化msg" #: settings/serializers/auth/cas.py:10 msgid "CAS" msgstr "CAS" -#: settings/serializers/auth/cas.py:12 -msgid "Enable CAS Auth" -msgstr "CAS 認証の有効化" - -#: settings/serializers/auth/cas.py:13 settings/serializers/auth/oidc.py:54 -msgid "Server url" -msgstr "サービス側アドレス" - #: settings/serializers/auth/cas.py:16 -msgid "Proxy server url" +msgid "Proxy Server" msgstr "コールバックアドレス" #: settings/serializers/auth/cas.py:18 settings/serializers/auth/oauth2.py:54 @@ -5179,19 +5171,19 @@ msgid "Enable attributes map" msgstr "属性マップの有効化" #: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 -msgid "Rename attr" +msgid "User attribute" msgstr "マッピングのプロパティ" #: settings/serializers/auth/cas.py:29 -msgid "Create user if not" +msgid "Create user" msgstr "そうでない場合はユーザーを作成" #: settings/serializers/auth/dingtalk.py:15 -msgid "Enable DingTalk Auth" +msgid "Dingtalk" msgstr "ピン認証の有効化" #: settings/serializers/auth/feishu.py:16 -msgid "Enable FeiShu Auth" +msgid "Lark" msgstr "飛本認証の有効化" #: settings/serializers/auth/ldap.py:39 @@ -5199,7 +5191,7 @@ msgid "LDAP" msgstr "LDAP" #: settings/serializers/auth/ldap.py:42 -msgid "LDAP server" +msgid "Server" msgstr "LDAPサーバー" #: settings/serializers/auth/ldap.py:43 @@ -5227,11 +5219,6 @@ msgstr "ユーザー検索フィルター" msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" msgstr "選択は (cnまたはuidまたはsAMAccountName)=%(user)s)" -#: settings/serializers/auth/ldap.py:58 settings/serializers/auth/oauth2.py:56 -#: settings/serializers/auth/oidc.py:37 -msgid "User attr map" -msgstr "ユーザー属性マッピング" - #: settings/serializers/auth/ldap.py:59 msgid "" "User attr map present how to map LDAP user attr to jumpserver, username,name," @@ -5248,18 +5235,10 @@ msgstr "接続タイムアウト (秒)" msgid "Search paged size (piece)" msgstr "ページサイズを検索 (じょう)" -#: settings/serializers/auth/ldap.py:84 -msgid "Enable LDAP auth" -msgstr "LDAP認証の有効化" - #: settings/serializers/auth/oauth2.py:18 msgid "OAuth2" msgstr "OAuth2" -#: settings/serializers/auth/oauth2.py:21 -msgid "Enable OAuth2 Auth" -msgstr "OAuth2認証の有効化" - #: settings/serializers/auth/oauth2.py:24 msgid "Logo" msgstr "アイコン" @@ -5342,10 +5321,6 @@ msgstr "Keycloakを使用する" msgid "Realm name" msgstr "レルム名" -#: settings/serializers/auth/oidc.py:63 -msgid "Enable OPENID Auth" -msgstr "OIDC認証の有効化" - #: settings/serializers/auth/oidc.py:65 msgid "Provider endpoint" msgstr "プロバイダーエンドポイント" @@ -5382,10 +5357,6 @@ msgstr "使用状態" msgid "Use nonce" msgstr "Nonceを使用" -#: settings/serializers/auth/passkey.py:11 -msgid "Enable passkey Auth" -msgstr "パスキー認証を有効にする" - #: settings/serializers/auth/passkey.py:12 msgid "Only SSL domain can use passkey auth" msgstr "SSLドメインのみがパスキー認証を使用できます" @@ -5411,10 +5382,6 @@ msgstr "FIDOサーバー名" msgid "Radius" msgstr "Radius" -#: settings/serializers/auth/radius.py:15 -msgid "Enable Radius Auth" -msgstr "Radius認証の有効化" - #: settings/serializers/auth/radius.py:21 msgid "OTP in Radius" msgstr "Radius のOTP" @@ -5423,10 +5390,6 @@ msgstr "Radius のOTP" msgid "SAML2" msgstr "SAML2" -#: settings/serializers/auth/saml2.py:13 -msgid "Enable SAML2 Auth" -msgstr "SAML2認証の有効化" - #: settings/serializers/auth/saml2.py:16 msgid "IDP metadata URL" msgstr "IDP metadata アドレス" @@ -5447,10 +5410,6 @@ msgstr "SP プライベートキー" msgid "SP cert" msgstr "SP 証明書" -#: settings/serializers/auth/slack.py:12 -msgid "Enable Slack Auth" -msgstr "Slack 認証の有効化" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "SMSプロバイダ / プロトコル" @@ -5544,10 +5503,6 @@ msgstr "Token有効期間" msgid "Unit: second" msgstr "単位: 秒" -#: settings/serializers/auth/wecom.py:15 -msgid "Enable WeCom Auth" -msgstr "企業微信認証の有効化" - #: settings/serializers/basic.py:11 msgid "Site URL" msgstr "サイトURL" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 433b274e7..0e20cf1a9 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d54631a07b63a1dfee00e6833df24fd7835cacd1bf938f94311f6fb6550ded5b -size 140300 +oid sha256:bb1dbb645c2345048bdbeb9b842a695a222533c0362b8101db18b87bfeaaf326 +size 139633 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 3306221f9..9f21daf59 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -5037,23 +5037,15 @@ msgid "Forgot Password URL" msgstr "忘记密码 URL" #: settings/serializers/auth/base.py:29 -msgid "Enable login redirect msg" +msgid "Login redirection prompt" msgstr "启用登录跳转提示" #: settings/serializers/auth/cas.py:10 msgid "CAS" msgstr "CAS" -#: settings/serializers/auth/cas.py:12 -msgid "Enable CAS Auth" -msgstr "启用 CAS 认证" - -#: settings/serializers/auth/cas.py:13 settings/serializers/auth/oidc.py:54 -msgid "Server url" -msgstr "服务端地址" - #: settings/serializers/auth/cas.py:16 -msgid "Proxy server url" +msgid "Proxy Server" msgstr "回调地址" #: settings/serializers/auth/cas.py:18 settings/serializers/auth/oauth2.py:54 @@ -5070,19 +5062,19 @@ msgid "Enable attributes map" msgstr "启用属性映射" #: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 -msgid "Rename attr" +msgid "User attribute" msgstr "映射属性" #: settings/serializers/auth/cas.py:29 -msgid "Create user if not" +msgid "Create user" msgstr "创建用户(如果不存在)" #: settings/serializers/auth/dingtalk.py:15 -msgid "Enable DingTalk Auth" +msgid "Dingtalk" msgstr "启用钉钉认证" #: settings/serializers/auth/feishu.py:16 -msgid "Enable FeiShu Auth" +msgid "Lark" msgstr "启用飞书认证" #: settings/serializers/auth/ldap.py:39 @@ -5090,7 +5082,7 @@ msgid "LDAP" msgstr "LDAP" #: settings/serializers/auth/ldap.py:42 -msgid "LDAP server" +msgid "Server" msgstr "LDAP 地址" #: settings/serializers/auth/ldap.py:43 @@ -5118,11 +5110,6 @@ msgstr "用户过滤器" msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)" -#: settings/serializers/auth/ldap.py:58 settings/serializers/auth/oauth2.py:56 -#: settings/serializers/auth/oidc.py:37 -msgid "User attr map" -msgstr "用户属性映射" - #: settings/serializers/auth/ldap.py:59 msgid "" "User attr map present how to map LDAP user attr to jumpserver, username,name," @@ -5139,18 +5126,10 @@ msgstr "连接超时时间 (秒)" msgid "Search paged size (piece)" msgstr "搜索分页数量 (条)" -#: settings/serializers/auth/ldap.py:84 -msgid "Enable LDAP auth" -msgstr "启用 LDAP 认证" - #: settings/serializers/auth/oauth2.py:18 msgid "OAuth2" msgstr "OAuth2" -#: settings/serializers/auth/oauth2.py:21 -msgid "Enable OAuth2 Auth" -msgstr "启用 OAuth2 认证" - #: settings/serializers/auth/oauth2.py:24 msgid "Logo" msgstr "图标" @@ -5193,10 +5172,6 @@ msgstr "注销会话端点地址" msgid "Always update user" msgstr "总是更新用户信息" -#: settings/serializers/auth/oidc.py:12 -msgid "OIDC" -msgstr "OIDC" - #: settings/serializers/auth/oidc.py:16 msgid "Base site URL" msgstr "JumpServer 地址" @@ -5234,7 +5209,7 @@ msgid "Realm name" msgstr "域" #: settings/serializers/auth/oidc.py:63 -msgid "Enable OPENID Auth" +msgid "OIDC" msgstr "启用 OIDC 认证" #: settings/serializers/auth/oidc.py:65 @@ -5273,10 +5248,6 @@ msgstr "使用状态" msgid "Use nonce" msgstr "临时使用" -#: settings/serializers/auth/passkey.py:11 -msgid "Enable passkey Auth" -msgstr "启用 Passkey 认证" - #: settings/serializers/auth/passkey.py:12 msgid "Only SSL domain can use passkey auth" msgstr "只有 SSL 域名可以使用 Passkey(通行密钥)认证" @@ -5301,10 +5272,6 @@ msgstr "Passkey 服务名称" msgid "Radius" msgstr "Radius" -#: settings/serializers/auth/radius.py:15 -msgid "Enable Radius Auth" -msgstr "启用 Radius 认证" - #: settings/serializers/auth/radius.py:21 msgid "OTP in Radius" msgstr "使用 Radius OTP" @@ -5313,10 +5280,6 @@ msgstr "使用 Radius OTP" msgid "SAML2" msgstr "SAML2" -#: settings/serializers/auth/saml2.py:13 -msgid "Enable SAML2 Auth" -msgstr "启用 SAML2 认证" - #: settings/serializers/auth/saml2.py:16 msgid "IDP metadata URL" msgstr "IDP metadata 地址" @@ -5337,10 +5300,6 @@ msgstr "SP 密钥" msgid "SP cert" msgstr "SP 证书" -#: settings/serializers/auth/slack.py:12 -msgid "Enable Slack Auth" -msgstr "启用 Slack 认证" - #: settings/serializers/auth/sms.py:19 msgid "SMS provider / Protocol" msgstr "短信服务商 / 协议" @@ -5432,10 +5391,6 @@ msgstr "令牌有效期" msgid "Unit: second" msgstr "单位: 秒" -#: settings/serializers/auth/wecom.py:15 -msgid "Enable WeCom Auth" -msgstr "启用企业微信认证" - #: settings/serializers/basic.py:11 msgid "Site URL" msgstr "当前站点 URL" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 53c72a2d7..e7e7ef642 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -439,7 +439,7 @@ "FailedAsset": "Failed Assets", "FaviconTip": "Note: Website Icon (Suggested Image Size: 16px*16px)", "Features": "Features", - "FeiShu": "Feishu", + "FeiShu": "Lark", "FeiShuTest": "Test", "FieldRequiredError": "This field is required", "FileManagement": "File management", @@ -1205,7 +1205,7 @@ "VirtualApp": "Virtual App", "VirtualAppDetail": "Virtual App Details", "VirtualApps": "Virtual App", - "WeCom": "WeChat for Business", + "WeCom": "WeCom", "WeComTest": "Test", "WebCreate": "Create Asset-Web", "WebHelpMessage": "Web type assets depend on remote applications, please go to system settings and configure in remote applications", diff --git a/apps/settings/serializers/auth/base.py b/apps/settings/serializers/auth/base.py index b6358c197..41309bc43 100644 --- a/apps/settings/serializers/auth/base.py +++ b/apps/settings/serializers/auth/base.py @@ -26,5 +26,5 @@ class AuthSettingSerializer(serializers.Serializer): label=_("Forgot Password URL") ) LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField( - required=False, label=_("Enable login redirect msg") + required=False, label=_("Login redirection prompt") ) diff --git a/apps/settings/serializers/auth/cas.py b/apps/settings/serializers/auth/cas.py index c85497b00..d66dadd7d 100644 --- a/apps/settings/serializers/auth/cas.py +++ b/apps/settings/serializers/auth/cas.py @@ -9,11 +9,11 @@ __all__ = [ class CASSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('CAS') - AUTH_CAS = serializers.BooleanField(required=False, label=_('Enable CAS Auth')) - CAS_SERVER_URL = serializers.CharField(required=False, max_length=1024, label=_('Server url')) + AUTH_CAS = serializers.BooleanField(required=False, label=_('CAS')) + CAS_SERVER_URL = serializers.CharField(required=False, max_length=1024, label=_('Server')) CAS_ROOT_PROXIED_AS = serializers.CharField( required=False, allow_null=True, allow_blank=True, - max_length=1024, label=_('Proxy server url') + max_length=1024, label=_('Proxy Server') ) CAS_LOGOUT_COMPLETELY = serializers.BooleanField(required=False, label=_('Logout completely')) CAS_VERSION = serializers.IntegerField( @@ -25,5 +25,8 @@ class CASSettingSerializer(serializers.Serializer): CAS_APPLY_ATTRIBUTES_TO_USER = serializers.BooleanField( required=False, label=_('Enable attributes map') ) - CAS_RENAME_ATTRIBUTES = serializers.JSONField(required=False, label=_('Rename attr')) - CAS_CREATE_USER = serializers.BooleanField(required=False, label=_('Create user if not')) + CAS_RENAME_ATTRIBUTES = serializers.JSONField(required=False, label=_('User attribute')) + CAS_CREATE_USER = serializers.BooleanField( + required=False, label=_('Create user'), + help_text=_('Automatically create a new user if not found.') + ) diff --git a/apps/settings/serializers/auth/dingtalk.py b/apps/settings/serializers/auth/dingtalk.py index 418693bb8..d4d4b34d7 100644 --- a/apps/settings/serializers/auth/dingtalk.py +++ b/apps/settings/serializers/auth/dingtalk.py @@ -9,7 +9,7 @@ __all__ = ['DingTalkSettingSerializer'] class DingTalkSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('DingTalk') - DINGTALK_AGENTID = serializers.CharField(max_length=256, required=True, label='AgentId') - DINGTALK_APPKEY = serializers.CharField(max_length=256, required=True, label='AppKey') - DINGTALK_APPSECRET = EncryptedField(max_length=256, required=False, label='AppSecret') - AUTH_DINGTALK = serializers.BooleanField(default=False, label=_('Enable DingTalk Auth')) + DINGTALK_AGENTID = serializers.CharField(max_length=256, required=True, label='Agent ID') + DINGTALK_APPKEY = serializers.CharField(max_length=256, required=True, label='App Key') + DINGTALK_APPSECRET = EncryptedField(max_length=256, required=False, label='App Secret') + AUTH_DINGTALK = serializers.BooleanField(default=False, label=_('Dingtalk')) diff --git a/apps/settings/serializers/auth/feishu.py b/apps/settings/serializers/auth/feishu.py index d3c1edcad..d7bb2bc4d 100644 --- a/apps/settings/serializers/auth/feishu.py +++ b/apps/settings/serializers/auth/feishu.py @@ -13,7 +13,7 @@ class FeiShuSettingSerializer(serializers.Serializer): ('feishu', _('FeiShu')), ('lark', 'Lark') ) - AUTH_FEISHU = serializers.BooleanField(default=False, label=_('Enable FeiShu Auth')) + AUTH_FEISHU = serializers.BooleanField(default=False, label=_('Lark')) FEISHU_APP_ID = serializers.CharField(max_length=256, required=True, label='App ID') FEISHU_APP_SECRET = EncryptedField(max_length=256, required=False, label='App Secret') FEISHU_VERSION = serializers.ChoiceField( diff --git a/apps/settings/serializers/auth/ldap.py b/apps/settings/serializers/auth/ldap.py index 7a696db91..4706c9a39 100644 --- a/apps/settings/serializers/auth/ldap.py +++ b/apps/settings/serializers/auth/ldap.py @@ -39,7 +39,7 @@ class LDAPSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('LDAP') AUTH_LDAP_SERVER_URI = serializers.CharField( - required=True, max_length=1024, label=_('LDAP server'), + required=True, max_length=1024, label=_('Server'), help_text=_('eg: ldap://localhost:389') ) AUTH_LDAP_BIND_DN = serializers.CharField(required=False, max_length=1024, label=_('Bind DN')) @@ -55,7 +55,7 @@ class LDAPSettingSerializer(serializers.Serializer): help_text=_('Choice may be (cn|uid|sAMAccountName)=%(user)s)') ) AUTH_LDAP_USER_ATTR_MAP = serializers.JSONField( - required=True, label=_('User attr map'), + required=True, label=_('User attribute'), help_text=_('User attr map present how to map LDAP user attr to ' 'jumpserver, username,name,email is jumpserver attr') ) @@ -81,7 +81,7 @@ class LDAPSettingSerializer(serializers.Serializer): required=False, label=_('Recipient'), max_length=36 ) - AUTH_LDAP = serializers.BooleanField(required=False, label=_('Enable LDAP auth')) + AUTH_LDAP = serializers.BooleanField(required=False, label=_('LDAP')) @staticmethod def post_save(): diff --git a/apps/settings/serializers/auth/oauth2.py b/apps/settings/serializers/auth/oauth2.py index b5a0dbb62..346f66092 100644 --- a/apps/settings/serializers/auth/oauth2.py +++ b/apps/settings/serializers/auth/oauth2.py @@ -18,7 +18,7 @@ class OAuth2SettingSerializer(serializers.Serializer): PREFIX_TITLE = _('OAuth2') AUTH_OAUTH2 = serializers.BooleanField( - default=False, label=_('Enable OAuth2 Auth') + default=False, label=_('OAuth2') ) AUTH_OAUTH2_LOGO_PATH = SettingImageField( allow_null=True, required=False, label=_('Logo') @@ -53,7 +53,7 @@ class OAuth2SettingSerializer(serializers.Serializer): ) AUTH_OAUTH2_LOGOUT_COMPLETELY = serializers.BooleanField(required=False, label=_('Logout completely')) AUTH_OAUTH2_USER_ATTR_MAP = serializers.JSONField( - required=True, label=_('User attr map') + required=True, label=_('User attribute') ) AUTH_OAUTH2_ALWAYS_UPDATE_USER = serializers.BooleanField( default=True, label=_('Always update user') diff --git a/apps/settings/serializers/auth/oidc.py b/apps/settings/serializers/auth/oidc.py index ae0b69b2f..3e594c3c1 100644 --- a/apps/settings/serializers/auth/oidc.py +++ b/apps/settings/serializers/auth/oidc.py @@ -34,7 +34,7 @@ class CommonSettingSerializer(serializers.Serializer): required=False, label=_('Ignore ssl verification') ) AUTH_OPENID_USER_ATTR_MAP = serializers.JSONField( - required=True, label=_('User attr map'), + required=True, label=_('User attribute'), help_text=_('User attr map present how to map OpenID user attr to ' 'jumpserver, username,name,email is jumpserver attr') ) @@ -51,7 +51,7 @@ class KeycloakSettingSerializer(CommonSettingSerializer): label=_("Use Keycloak"), required=False, default=False ) AUTH_OPENID_SERVER_URL = serializers.CharField( - required=False, max_length=1024, label=_('Server url') + required=False, max_length=1024, label=_('Server') ) AUTH_OPENID_REALM_NAME = serializers.CharField( required=False, max_length=1024, allow_null=True, label=_('Realm name') @@ -60,7 +60,7 @@ class KeycloakSettingSerializer(CommonSettingSerializer): class OIDCSettingSerializer(KeycloakSettingSerializer): # OpenID 新配置参数 (version >= 1.5.9) - AUTH_OPENID = serializers.BooleanField(required=False, label=_('Enable OPENID Auth')) + AUTH_OPENID = serializers.BooleanField(required=False, label=_('OIDC')) AUTH_OPENID_PROVIDER_ENDPOINT = serializers.CharField( required=False, max_length=1024, label=_('Provider endpoint') ) diff --git a/apps/settings/serializers/auth/passkey.py b/apps/settings/serializers/auth/passkey.py index 6d65da26b..fc86b1447 100644 --- a/apps/settings/serializers/auth/passkey.py +++ b/apps/settings/serializers/auth/passkey.py @@ -8,7 +8,7 @@ class PasskeySettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Passkey') AUTH_PASSKEY = serializers.BooleanField( - default=False, label=_('Enable passkey Auth'), + default=False, label=_('Passkey'), help_text=_('Only SSL domain can use passkey auth') ) FIDO_SERVER_ID = serializers.CharField( diff --git a/apps/settings/serializers/auth/radius.py b/apps/settings/serializers/auth/radius.py index b4085c352..859f577e4 100644 --- a/apps/settings/serializers/auth/radius.py +++ b/apps/settings/serializers/auth/radius.py @@ -12,7 +12,7 @@ __all__ = ['RadiusSettingSerializer'] class RadiusSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Radius') - AUTH_RADIUS = serializers.BooleanField(required=False, label=_('Enable Radius Auth')) + AUTH_RADIUS = serializers.BooleanField(required=False, label=_('Radius')) RADIUS_SERVER = serializers.CharField(required=False, allow_blank=True, max_length=1024, label=_('Host')) RADIUS_PORT = serializers.IntegerField(required=False, label=_('Port')) RADIUS_SECRET = EncryptedField( diff --git a/apps/settings/serializers/auth/saml2.py b/apps/settings/serializers/auth/saml2.py index 35a4ef5d5..691d40afc 100644 --- a/apps/settings/serializers/auth/saml2.py +++ b/apps/settings/serializers/auth/saml2.py @@ -10,7 +10,7 @@ class SAML2SettingSerializer(serializers.Serializer): PREFIX_TITLE = _('SAML2') AUTH_SAML2 = serializers.BooleanField( - default=False, required=False, label=_('Enable SAML2 Auth') + default=False, required=False, label=_('SAML2') ) SAML2_IDP_METADATA_URL = serializers.URLField( allow_blank=True, required=False, label=_('IDP metadata URL') @@ -29,6 +29,6 @@ class SAML2SettingSerializer(serializers.Serializer): allow_blank=True, required=False, write_only=True, label=_('SP cert') ) - SAML2_RENAME_ATTRIBUTES = serializers.JSONField(required=False, label=_('Rename attr')) + SAML2_RENAME_ATTRIBUTES = serializers.JSONField(required=False, label=_('User attribute')) SAML2_LOGOUT_COMPLETELY = serializers.BooleanField(required=False, label=_('Logout completely')) AUTH_SAML2_ALWAYS_UPDATE_USER = serializers.BooleanField(required=False, label=_('Always update user')) diff --git a/apps/settings/serializers/auth/slack.py b/apps/settings/serializers/auth/slack.py index 019137f4c..244fd2cbd 100644 --- a/apps/settings/serializers/auth/slack.py +++ b/apps/settings/serializers/auth/slack.py @@ -9,7 +9,7 @@ __all__ = ['SlackSettingSerializer'] class SlackSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Slack') - AUTH_SLACK = serializers.BooleanField(default=False, label=_('Enable Slack Auth')) + AUTH_SLACK = serializers.BooleanField(default=False, label=_('Slack')) SLACK_CLIENT_ID = serializers.CharField(max_length=256, required=True, label='Client ID') SLACK_CLIENT_SECRET = EncryptedField(max_length=256, required=False, label='Client Secret') SLACK_BOT_TOKEN = EncryptedField(max_length=256, required=False, label='Client bot Token') diff --git a/apps/settings/serializers/auth/wecom.py b/apps/settings/serializers/auth/wecom.py index b296eb691..74ef3402f 100644 --- a/apps/settings/serializers/auth/wecom.py +++ b/apps/settings/serializers/auth/wecom.py @@ -12,4 +12,4 @@ class WeComSettingSerializer(serializers.Serializer): WECOM_CORPID = serializers.CharField(max_length=256, required=True, label='corpid') WECOM_AGENTID = serializers.CharField(max_length=256, required=True, label='agentid') WECOM_SECRET = EncryptedField(max_length=256, required=False, label='secret') - AUTH_WECOM = serializers.BooleanField(default=False, label=_('Enable WeCom Auth')) + AUTH_WECOM = serializers.BooleanField(default=False, label=_('WeCom')) From c8b274031fdc19ddcb674e0701238daa608641ff Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 27 Feb 2024 11:25:42 +0800 Subject: [PATCH 028/343] perf: i18n settings-Auth done. --- apps/authentication/backends/saml2/views.py | 4 +-- apps/i18n/core/en/LC_MESSAGES/django.po | 28 +++++++-------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/ja/LC_MESSAGES/django.po | 38 +++++++++------------ apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/zh/LC_MESSAGES/django.po | 36 +++++++++---------- apps/i18n/lina/en.json | 2 +- apps/i18n/lina/zh.json | 2 +- apps/settings/serializers/auth/oauth2.py | 10 +++--- apps/settings/serializers/auth/oidc.py | 22 ++++++------ apps/settings/serializers/auth/passkey.py | 4 +-- apps/settings/serializers/auth/saml2.py | 4 +-- apps/settings/serializers/auth/wecom.py | 6 ++-- 13 files changed, 76 insertions(+), 88 deletions(-) diff --git a/apps/authentication/backends/saml2/views.py b/apps/authentication/backends/saml2/views.py index 235dd2c38..aa676bef4 100644 --- a/apps/authentication/backends/saml2/views.py +++ b/apps/authentication/backends/saml2/views.py @@ -50,7 +50,7 @@ class PrepareRequestMixin: if idp_metadata_xml.strip(): xml_idp_settings = IdPMetadataParse.parse(idp_metadata_xml) except Exception as err: - logger.warning('Failed to get IDP metadata XML settings, error: %s', str(err)) + logger.warning('Failed to get IDP Metadata XML settings, error: %s', str(err)) url_idp_settings = None try: @@ -59,7 +59,7 @@ class PrepareRequestMixin: idp_metadata_url, timeout=20 ) except Exception as err: - logger.warning('Failed to get IDP metadata URL settings, error: %s', str(err)) + logger.warning('Failed to get IDP Metadata URL settings, error: %s', str(err)) idp_settings = url_idp_settings or xml_idp_settings diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 9575cc669..1df7ab6a7 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -5099,11 +5099,11 @@ msgid "Client Secret" msgstr "" #: settings/serializers/auth/oauth2.py:39 settings/serializers/auth/oidc.py:68 -msgid "Provider auth endpoint" +msgid "Authorization endpoint" msgstr "" #: settings/serializers/auth/oauth2.py:42 settings/serializers/auth/oidc.py:71 -msgid "Provider token endpoint" +msgid "Token endpoint" msgstr "" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 @@ -5111,11 +5111,11 @@ msgid "Client authentication method" msgstr "" #: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77 -msgid "Provider userinfo endpoint" +msgid "Userinfo endpoint" msgstr "" #: settings/serializers/auth/oauth2.py:52 settings/serializers/auth/oidc.py:80 -msgid "Provider end session endpoint" +msgid "End session endpoint" msgstr "" #: settings/serializers/auth/oauth2.py:59 settings/serializers/auth/oidc.py:98 @@ -5136,7 +5136,7 @@ msgid "Share session" msgstr "" #: settings/serializers/auth/oidc.py:34 -msgid "Ignore ssl verification" +msgid "Ignore SSL verification" msgstr "" #: settings/serializers/auth/oidc.py:38 @@ -5166,15 +5166,15 @@ msgid "Provider endpoint" msgstr "" #: settings/serializers/auth/oidc.py:74 -msgid "Provider jwks endpoint" +msgid "JWKS endpoint" msgstr "" #: settings/serializers/auth/oidc.py:83 -msgid "Provider sign alg" +msgid "Signature algorithm" msgstr "" #: settings/serializers/auth/oidc.py:86 -msgid "Provider sign key" +msgid "Signing key" msgstr "" #: settings/serializers/auth/oidc.py:88 @@ -5182,11 +5182,11 @@ msgid "Scopes" msgstr "" #: settings/serializers/auth/oidc.py:90 -msgid "Id token max age (s)" +msgid "ID Token max age (s)" msgstr "" #: settings/serializers/auth/oidc.py:93 -msgid "Id token include claims" +msgid "ID Token include claims" msgstr "" #: settings/serializers/auth/oidc.py:95 @@ -5228,11 +5228,11 @@ msgid "SAML2" msgstr "" #: settings/serializers/auth/saml2.py:16 -msgid "IDP metadata URL" +msgid "IDP Metadata URL" msgstr "" #: settings/serializers/auth/saml2.py:19 -msgid "IDP metadata XML" +msgid "IDP Metadata XML" msgstr "" #: settings/serializers/auth/saml2.py:22 @@ -5315,10 +5315,6 @@ msgstr "" msgid "URL" msgstr "" -#: settings/serializers/auth/sms.py:106 -msgid "Request method" -msgstr "" - #: settings/serializers/auth/sso.py:16 msgid "Enable SSO auth" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index ac3cefa5b..2f6208cfd 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6da7aefc64a80f4087d6067571d10f37da3b328abf175feb380a717931313257 -size 168890 +oid sha256:6386a18d95935085c5b31597f5de7f93887f01d7e41a896e28931b6c6b6365b6 +size 168785 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 3d1d90989..d6a30f2f8 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -5257,23 +5257,23 @@ msgid "Client Secret" msgstr "クライアント秘密" #: settings/serializers/auth/oauth2.py:39 settings/serializers/auth/oidc.py:68 -msgid "Provider auth endpoint" +msgid "Authorization endpoint" msgstr "認証エンドポイントアドレス" #: settings/serializers/auth/oauth2.py:42 settings/serializers/auth/oidc.py:71 -msgid "Provider token endpoint" +msgid "Token endpoint" msgstr "プロバイダートークンエンドポイント" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 -msgid "Client authentication method" +msgid "Request method" msgstr "クライアント認証方式" #: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77 -msgid "Provider userinfo endpoint" +msgid "Userinfo endpoint" msgstr "プロバイダーuserinfoエンドポイント" #: settings/serializers/auth/oauth2.py:52 settings/serializers/auth/oidc.py:80 -msgid "Provider end session endpoint" +msgid "End session endpoint" msgstr "プロバイダーのセッション終了エンドポイント" #: settings/serializers/auth/oauth2.py:59 settings/serializers/auth/oidc.py:98 @@ -5294,7 +5294,7 @@ msgid "Share session" msgstr "セッションの共有" #: settings/serializers/auth/oidc.py:34 -msgid "Ignore ssl verification" +msgid "Ignore SSL verification" msgstr "Ssl検証を無視する" #: settings/serializers/auth/oidc.py:38 @@ -5326,15 +5326,15 @@ msgid "Provider endpoint" msgstr "プロバイダーエンドポイント" #: settings/serializers/auth/oidc.py:74 -msgid "Provider jwks endpoint" +msgid "JWKS endpoint" msgstr "プロバイダーjwksエンドポイント" #: settings/serializers/auth/oidc.py:83 -msgid "Provider sign alg" +msgid "Signature algorithm" msgstr "プロビダーサインalg" #: settings/serializers/auth/oidc.py:86 -msgid "Provider sign key" +msgid "Signing key" msgstr "プロバイダ署名キー" #: settings/serializers/auth/oidc.py:88 @@ -5342,11 +5342,11 @@ msgid "Scopes" msgstr "スコープ" #: settings/serializers/auth/oidc.py:90 -msgid "Id token max age (s)" +msgid "ID Token max age (s)" msgstr "IDトークンの最大年齢 (秒)" #: settings/serializers/auth/oidc.py:93 -msgid "Id token include claims" +msgid "ID Token include claims" msgstr "IDトークンにはクレームが含まれます" #: settings/serializers/auth/oidc.py:95 @@ -5362,7 +5362,7 @@ msgid "Only SSL domain can use passkey auth" msgstr "SSLドメインのみがパスキー認証を使用できます" #: settings/serializers/auth/passkey.py:15 -msgid "FIDO server ID" +msgid "FIDO Server ID" msgstr "FIDOサーバーID" #: settings/serializers/auth/passkey.py:17 @@ -5375,7 +5375,7 @@ msgstr "" "ます" #: settings/serializers/auth/passkey.py:22 -msgid "FIDO server name" +msgid "FIDO Server name" msgstr "FIDOサーバー名" #: settings/serializers/auth/radius.py:13 @@ -5391,12 +5391,12 @@ msgid "SAML2" msgstr "SAML2" #: settings/serializers/auth/saml2.py:16 -msgid "IDP metadata URL" -msgstr "IDP metadata アドレス" +msgid "IDP Metadata URL" +msgstr "IDP Metadataアドレス" #: settings/serializers/auth/saml2.py:19 -msgid "IDP metadata XML" -msgstr "IDP metadata XML" +msgid "IDP Metadata XML" +msgstr "IDP Metadata XML" #: settings/serializers/auth/saml2.py:22 msgid "SP advanced settings" @@ -5481,10 +5481,6 @@ msgstr "署名+テンプレートの長さは65文字以内" msgid "URL" msgstr "URL" -#: settings/serializers/auth/sms.py:106 -msgid "Request method" -msgstr "請求方法です" - #: settings/serializers/auth/sso.py:16 msgid "Enable SSO auth" msgstr "SSO Token認証の有効化" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 0e20cf1a9..ee6813865 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb1dbb645c2345048bdbeb9b842a695a222533c0362b8101db18b87bfeaaf326 -size 139633 +oid sha256:07fc143922960ec9d8f76f3353c8fc8c74cd8a68f0c52cd27686cdf05fca925d +size 139535 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 9f21daf59..a8cb08d25 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -5148,23 +5148,23 @@ msgid "Client Secret" msgstr "客户端密钥" #: settings/serializers/auth/oauth2.py:39 settings/serializers/auth/oidc.py:68 -msgid "Provider auth endpoint" +msgid "Authorization endpoint" msgstr "授权端点地址" #: settings/serializers/auth/oauth2.py:42 settings/serializers/auth/oidc.py:71 -msgid "Provider token endpoint" +msgid "Token endpoint" msgstr "token 端点地址" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 -msgid "Client authentication method" +msgid "Request method" msgstr "客户端认证方式" #: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77 -msgid "Provider userinfo endpoint" +msgid "Userinfo endpoint" msgstr "用户信息端点地址" #: settings/serializers/auth/oauth2.py:52 settings/serializers/auth/oidc.py:80 -msgid "Provider end session endpoint" +msgid "End session endpoint" msgstr "注销会话端点地址" #: settings/serializers/auth/oauth2.py:59 settings/serializers/auth/oidc.py:98 @@ -5181,7 +5181,7 @@ msgid "Share session" msgstr "共享会话" #: settings/serializers/auth/oidc.py:34 -msgid "Ignore ssl verification" +msgid "Ignore SSL verification" msgstr "忽略 SSL 证书验证" #: settings/serializers/auth/oidc.py:38 @@ -5217,15 +5217,15 @@ msgid "Provider endpoint" msgstr "端点地址" #: settings/serializers/auth/oidc.py:74 -msgid "Provider jwks endpoint" +msgid "JWKS endpoint" msgstr "jwks 端点地址" #: settings/serializers/auth/oidc.py:83 -msgid "Provider sign alg" +msgid "Signature algorithm" msgstr "签名算法" #: settings/serializers/auth/oidc.py:86 -msgid "Provider sign key" +msgid "Signing key" msgstr "签名 Key" #: settings/serializers/auth/oidc.py:88 @@ -5233,11 +5233,11 @@ msgid "Scopes" msgstr "连接范围" #: settings/serializers/auth/oidc.py:90 -msgid "Id token max age (s)" +msgid "ID Token max age (s)" msgstr "令牌有效时间 (秒)" #: settings/serializers/auth/oidc.py:93 -msgid "Id token include claims" +msgid "ID Token include claims" msgstr "声明" #: settings/serializers/auth/oidc.py:95 @@ -5253,7 +5253,7 @@ msgid "Only SSL domain can use passkey auth" msgstr "只有 SSL 域名可以使用 Passkey(通行密钥)认证" #: settings/serializers/auth/passkey.py:15 -msgid "FIDO server ID" +msgid "FIDO Server ID" msgstr "Passkey 服务域名" #: settings/serializers/auth/passkey.py:17 @@ -5265,7 +5265,7 @@ msgstr "" "DOMAINS中), 如果有多个域名,使用逗号分隔, 不需要端口号" #: settings/serializers/auth/passkey.py:22 -msgid "FIDO server name" +msgid "FIDO Server name" msgstr "Passkey 服务名称" #: settings/serializers/auth/radius.py:13 @@ -5281,12 +5281,12 @@ msgid "SAML2" msgstr "SAML2" #: settings/serializers/auth/saml2.py:16 -msgid "IDP metadata URL" -msgstr "IDP metadata 地址" +msgid "IDP Metadata URL" +msgstr "IDP Metadata 地址" #: settings/serializers/auth/saml2.py:19 msgid "IDP metadata XML" -msgstr "IDP metadata XML" +msgstr "IDP Metadata XML" #: settings/serializers/auth/saml2.py:22 msgid "SP advanced settings" @@ -5370,10 +5370,6 @@ msgstr "模板+签名不能超过65个字" msgid "URL" msgstr "URL" -#: settings/serializers/auth/sms.py:106 -msgid "Request method" -msgstr "请求方式" - #: settings/serializers/auth/sso.py:16 msgid "Enable SSO auth" msgstr "启用 SSO 令牌认证" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index e7e7ef642..efe5992d9 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -507,7 +507,7 @@ "Id": "ID", "IdeaContent": "I want you to act as a Linux terminal. I will input the commands, you will respond with what the terminal should display. I hope you to reply only in a unique code block, not others. No interpretations. When I need to tell you something, I'm gonna put the words in braces {note text}", "IdeaTitle": "🌱 Linux Terminal", - "IdpMetadataHelpText": "Either IDP metadata URL or IDP metadata XML is acceptable, with IDP metadata URL having higher priority", + "IdpMetadataHelpText": "Either IDP Metadata URL or IDP Metadata XML is acceptable, with IDP Metadata URL having higher priority", "IdpMetadataUrlHelpText": "Load IDP Metadata from Remote Address", "ImageName": "Image Name", "Images": "Image", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index e82f3e4c7..f75b62f37 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -501,7 +501,7 @@ "Id": "ID", "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。", "IdeaTitle": "🌱 Linux 终端", - "IdpMetadataHelpText": "IDP metadata URL 和 IDP metadata XML参数二选一即可,IDP metadata URL的优先级高", + "IdpMetadataHelpText": "IDP Metadata URL 和 IDP MetadataXML参数二选一即可,IDP MetadataURL的优先级高", "IdpMetadataUrlHelpText": "从远端地址中加载 IDP Metadata", "ImageName": "镜像名", "Images": "图片", diff --git a/apps/settings/serializers/auth/oauth2.py b/apps/settings/serializers/auth/oauth2.py index 346f66092..d554c03ad 100644 --- a/apps/settings/serializers/auth/oauth2.py +++ b/apps/settings/serializers/auth/oauth2.py @@ -36,20 +36,20 @@ class OAuth2SettingSerializer(serializers.Serializer): required=True, max_length=1024, label=_('Scope'), allow_blank=True ) AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT = serializers.CharField( - required=True, max_length=1024, label=_('Provider auth endpoint') + required=True, max_length=1024, label=_('Authorization endpoint') ) AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT = serializers.CharField( - required=True, max_length=1024, label=_('Provider token endpoint') + required=True, max_length=1024, label=_('Token endpoint') ) AUTH_OAUTH2_ACCESS_TOKEN_METHOD = serializers.ChoiceField( - default='GET', label=_('Client authentication method'), + default='GET', label=_('Request method'), choices=(('GET', 'GET'), ('POST', 'POST-DATA'), ('POST_JSON', 'POST-JSON')) ) AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT = serializers.CharField( - required=True, max_length=1024, label=_('Provider userinfo endpoint') + required=True, max_length=1024, label=_('Userinfo endpoint') ) AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT = serializers.CharField( - required=False, allow_blank=True, max_length=1024, label=_('Provider end session endpoint') + required=False, allow_blank=True, max_length=1024, label=_('End session endpoint') ) AUTH_OAUTH2_LOGOUT_COMPLETELY = serializers.BooleanField(required=False, label=_('Logout completely')) AUTH_OAUTH2_USER_ATTR_MAP = serializers.JSONField( diff --git a/apps/settings/serializers/auth/oidc.py b/apps/settings/serializers/auth/oidc.py index 3e594c3c1..44cecfbd5 100644 --- a/apps/settings/serializers/auth/oidc.py +++ b/apps/settings/serializers/auth/oidc.py @@ -27,11 +27,11 @@ class CommonSettingSerializer(serializers.Serializer): ('client_secret_basic', 'Client Secret Basic'), ('client_secret_post', 'Client Secret Post') ), - label=_('Client authentication method') + label=_('Request method') ) AUTH_OPENID_SHARE_SESSION = serializers.BooleanField(required=False, label=_('Share session')) AUTH_OPENID_IGNORE_SSL_VERIFICATION = serializers.BooleanField( - required=False, label=_('Ignore ssl verification') + required=False, label=_('Ignore SSL verification') ) AUTH_OPENID_USER_ATTR_MAP = serializers.JSONField( required=True, label=_('User attribute'), @@ -65,32 +65,32 @@ class OIDCSettingSerializer(KeycloakSettingSerializer): required=False, max_length=1024, label=_('Provider endpoint') ) AUTH_OPENID_PROVIDER_AUTHORIZATION_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider auth endpoint') + required=False, max_length=1024, label=_('Authorization endpoint') ) AUTH_OPENID_PROVIDER_TOKEN_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider token endpoint') + required=False, max_length=1024, label=_('Token endpoint') ) AUTH_OPENID_PROVIDER_JWKS_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider jwks endpoint') + required=False, max_length=1024, label=_('JWKS endpoint') ) AUTH_OPENID_PROVIDER_USERINFO_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider userinfo endpoint') + required=False, max_length=1024, label=_('Userinfo endpoint') ) AUTH_OPENID_PROVIDER_END_SESSION_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider end session endpoint') + required=False, max_length=1024, label=_('End session endpoint') ) AUTH_OPENID_PROVIDER_SIGNATURE_ALG = serializers.CharField( - required=False, max_length=1024, label=_('Provider sign alg') + required=False, max_length=1024, label=_('Signature algorithm') ) AUTH_OPENID_PROVIDER_SIGNATURE_KEY = serializers.CharField( - required=False, max_length=1024, allow_null=True, label=_('Provider sign key') + required=False, max_length=1024, allow_null=True, label=_('Signing key') ) AUTH_OPENID_SCOPES = serializers.CharField(required=False, max_length=1024, label=_('Scopes')) AUTH_OPENID_ID_TOKEN_MAX_AGE = serializers.IntegerField( - required=False, label=_('Id token max age (s)') + required=False, label=_('ID Token max age (s)') ) AUTH_OPENID_ID_TOKEN_INCLUDE_CLAIMS = serializers.BooleanField( - required=False, label=_('Id token include claims') + required=False, label=_('ID Token include claims') ) AUTH_OPENID_USE_STATE = serializers.BooleanField(required=False, label=_('Use state')) AUTH_OPENID_USE_NONCE = serializers.BooleanField(required=False, label=_('Use nonce')) diff --git a/apps/settings/serializers/auth/passkey.py b/apps/settings/serializers/auth/passkey.py index fc86b1447..fd2155e4c 100644 --- a/apps/settings/serializers/auth/passkey.py +++ b/apps/settings/serializers/auth/passkey.py @@ -12,11 +12,11 @@ class PasskeySettingSerializer(serializers.Serializer): help_text=_('Only SSL domain can use passkey auth') ) FIDO_SERVER_ID = serializers.CharField( - max_length=255, label=_('FIDO server ID'), required=False, allow_blank=True, + max_length=255, label=_('FIDO Server ID'), required=False, allow_blank=True, help_text=_( 'The hostname can using passkey auth, If not set, ' 'will use request host and the request host in DOMAINS, ' 'If multiple domains, use comma to separate' ) ) - FIDO_SERVER_NAME = serializers.CharField(max_length=255, label=_('FIDO server name')) + FIDO_SERVER_NAME = serializers.CharField(max_length=255, label=_('FIDO Server name')) diff --git a/apps/settings/serializers/auth/saml2.py b/apps/settings/serializers/auth/saml2.py index 691d40afc..7e49a3895 100644 --- a/apps/settings/serializers/auth/saml2.py +++ b/apps/settings/serializers/auth/saml2.py @@ -13,10 +13,10 @@ class SAML2SettingSerializer(serializers.Serializer): default=False, required=False, label=_('SAML2') ) SAML2_IDP_METADATA_URL = serializers.URLField( - allow_blank=True, required=False, label=_('IDP metadata URL') + allow_blank=True, required=False, label=_('IDP Metadata URL') ) SAML2_IDP_METADATA_XML = serializers.CharField( - allow_blank=True, required=False, label=_('IDP metadata XML') + allow_blank=True, required=False, label=_('IDP Metadata XML') ) SAML2_SP_ADVANCED_SETTINGS = serializers.JSONField( required=False, label=_('SP advanced settings') diff --git a/apps/settings/serializers/auth/wecom.py b/apps/settings/serializers/auth/wecom.py index 74ef3402f..72c315c24 100644 --- a/apps/settings/serializers/auth/wecom.py +++ b/apps/settings/serializers/auth/wecom.py @@ -9,7 +9,7 @@ __all__ = ['WeComSettingSerializer'] class WeComSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('WeCom') - WECOM_CORPID = serializers.CharField(max_length=256, required=True, label='corpid') - WECOM_AGENTID = serializers.CharField(max_length=256, required=True, label='agentid') - WECOM_SECRET = EncryptedField(max_length=256, required=False, label='secret') + WECOM_CORPID = serializers.CharField(max_length=256, required=True, label='Corporation ID') + WECOM_AGENTID = serializers.CharField(max_length=256, required=True, label='App Agent ID') + WECOM_SECRET = EncryptedField(max_length=256, required=False, label='App Secret') AUTH_WECOM = serializers.BooleanField(default=False, label=_('WeCom')) From 7268f6034381b2b1c1273ed0a09b1a1dc8b8f73b Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 27 Feb 2024 14:59:22 +0800 Subject: [PATCH 029/343] perf: i18n settings-Storage done. --- apps/i18n/core/en/LC_MESSAGES/django.po | 2 +- apps/i18n/core/ja/LC_MESSAGES/django.mo | 2 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 2 +- apps/i18n/core/zh/LC_MESSAGES/django.mo | 2 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 2 +- apps/terminal/serializers/storage.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 1df7ab6a7..477ab5282 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -6943,7 +6943,7 @@ msgstr "" #: terminal/serializers/storage.py:33 #: xpack/plugins/cloud/serializers/account_attrs.py:17 -msgid "Access key id" +msgid "Access key ID" msgstr "" #: terminal/serializers/storage.py:37 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 2f6208cfd..83fa45717 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6386a18d95935085c5b31597f5de7f93887f01d7e41a896e28931b6c6b6365b6 +oid sha256:69201f02364e905a7a671a4c841335ef36f0cde08f263c00891ac472033efaf1 size 168785 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index d6a30f2f8..2f87a497d 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -7212,7 +7212,7 @@ msgstr "バケット" #: terminal/serializers/storage.py:33 #: xpack/plugins/cloud/serializers/account_attrs.py:17 -msgid "Access key id" +msgid "Access key ID" msgstr "アクセスキー" #: terminal/serializers/storage.py:37 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index ee6813865..c6d0b6564 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07fc143922960ec9d8f76f3353c8fc8c74cd8a68f0c52cd27686cdf05fca925d +oid sha256:86fdb677199ef9d4911ec59a16aafd1e2b4b5613d81f8dfbcf477ecc51c2cd24 size 139535 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index a8cb08d25..d100c2b77 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7053,7 +7053,7 @@ msgstr "桶名称" #: terminal/serializers/storage.py:33 #: xpack/plugins/cloud/serializers/account_attrs.py:17 -msgid "Access key id" +msgid "Access key ID" msgstr "Access key ID(AK)" #: terminal/serializers/storage.py:37 diff --git a/apps/terminal/serializers/storage.py b/apps/terminal/serializers/storage.py index 85f52c609..4aabc8436 100644 --- a/apps/terminal/serializers/storage.py +++ b/apps/terminal/serializers/storage.py @@ -30,7 +30,7 @@ class ReplayStorageTypeBaseSerializer(serializers.Serializer): ) ACCESS_KEY = serializers.CharField( max_length=1024, required=False, allow_blank=True, - label=_('Access key id'), allow_null=True, + label=_('Access key ID'), allow_null=True, ) SECRET_KEY = EncryptedField( max_length=1024, required=False, allow_blank=True, From 9e1a3598ab1cfaaff618bd6de3936152b1f80274 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 27 Feb 2024 16:43:44 +0800 Subject: [PATCH 030/343] perf: i18n settings-Components done. --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 14 +++++--------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/ja/LC_MESSAGES/django.po | 16 ++++++---------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/zh/LC_MESSAGES/django.po | 16 ++++++---------- apps/i18n/lina/en.json | 2 +- apps/settings/serializers/terminal.py | 22 +++++++++++----------- 8 files changed, 35 insertions(+), 47 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 8b20cef55..30c9d22f0 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e91350085ae1a963cd47e161976e8712215648bf46d9f9253c0fdec2f7c9869 -size 2329 +oid sha256:7b33b3fc460342e5c344d08fd5217d0d7abbfece053251332607a93d46b3ffbe +size 2319 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 477ab5282..1c5af73be 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -5866,7 +5866,7 @@ msgid "Auto" msgstr "" #: settings/serializers/terminal.py:22 -msgid "Enable terminal register" +msgid "Terminal registration" msgstr "" #: settings/serializers/terminal.py:24 @@ -5885,16 +5885,16 @@ msgstr "" #: settings/serializers/terminal.py:30 msgid "" -"Tips: If use other auth method, like AD/LDAP, you should disable this to " +"Information: If use other auth method, like AD/LDAP, you should disable this to " "avoid being able to log in after deleting" msgstr "" #: settings/serializers/terminal.py:34 -msgid "List sort by" +msgid "Asset list sorting" msgstr "" #: settings/serializers/terminal.py:37 -msgid "List page size" +msgid "Asset list page size" msgstr "" #: settings/serializers/terminal.py:39 @@ -5905,10 +5905,6 @@ msgstr "" msgid "Enable Razor" msgstr "" -#: settings/serializers/terminal.py:41 -msgid "Enable SSH Client" -msgstr "" - #: settings/tasks/ldap.py:28 msgid "Periodic import ldap user" msgstr "" @@ -7801,7 +7797,7 @@ msgid "Is OTP bound" msgstr "OTP bound" #: users/serializers/user.py:101 -msgid "Can public key authentication" +msgid "Can public key auth" msgstr "Public key auth" #: users/serializers/user.py:166 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 83fa45717..8001a7f6d 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69201f02364e905a7a671a4c841335ef36f0cde08f263c00891ac472033efaf1 -size 168785 +oid sha256:b5e7d67f20f1f3dcfe596a68a54e9c8228218ad4dfabed4c9439ebcd675df605 +size 168686 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 2f87a497d..17bbc97b9 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -6075,7 +6075,7 @@ msgid "Auto" msgstr "自動" #: settings/serializers/terminal.py:22 -msgid "Enable terminal register" +msgid "Terminal registration" msgstr "ターミナルレジスタの有効化" #: settings/serializers/terminal.py:24 @@ -6096,18 +6096,18 @@ msgstr "鍵認証" #: settings/serializers/terminal.py:30 msgid "" -"Tips: If use other auth method, like AD/LDAP, you should disable this to " +"Information: If use other auth method, like AD/LDAP, you should disable this to " "avoid being able to log in after deleting" msgstr "" "ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの" "削除後にこの項目を無効にする必要があります, ログインも可能" #: settings/serializers/terminal.py:34 -msgid "List sort by" +msgid "Asset list sorting" msgstr "リストの並べ替え" #: settings/serializers/terminal.py:37 -msgid "List page size" +msgid "Asset list page size" msgstr "ページサイズを一覧表示" #: settings/serializers/terminal.py:39 @@ -6119,7 +6119,7 @@ msgid "Enable Razor" msgstr "Razor の有効化" #: settings/serializers/terminal.py:41 -msgid "Enable SSH Client" +msgid "SSH Client" msgstr "SSH Clientの有効化" #: settings/tasks/ldap.py:28 @@ -6540,10 +6540,6 @@ msgstr "出力" msgid "Risk level" msgstr "リスクレベル" -#: terminal/connect_methods.py:29 -msgid "SSH Client" -msgstr "SSH クライアント" - #: terminal/connect_methods.py:30 msgid "SSH Guide" msgstr "SSH ガイド人" @@ -8106,7 +8102,7 @@ msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" #: users/serializers/user.py:101 -msgid "Can public key authentication" +msgid "Can public key auth" msgstr "公開鍵認証が可能" #: users/serializers/user.py:166 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index c6d0b6564..ea0448de9 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86fdb677199ef9d4911ec59a16aafd1e2b4b5613d81f8dfbcf477ecc51c2cd24 -size 139535 +oid sha256:ea00888ff29f180282bd67dd84e912d02184698ab75da63803c11352240f373a +size 139493 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index d100c2b77..e656bca78 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -5937,7 +5937,7 @@ msgid "Auto" msgstr "自动" #: settings/serializers/terminal.py:22 -msgid "Enable terminal register" +msgid "Terminal registration" msgstr "组件注册" #: settings/serializers/terminal.py:24 @@ -5956,18 +5956,18 @@ msgstr "密钥认证" #: settings/serializers/terminal.py:30 msgid "" -"Tips: If use other auth method, like AD/LDAP, you should disable this to " +"Information: If use other auth method, like AD/LDAP, you should disable this to " "avoid being able to log in after deleting" msgstr "" "提示:如果你使用其它认证方式,如 AD/LDAP,你应该禁用此项,以避免第三方系统删" "除后,还可以登录" #: settings/serializers/terminal.py:34 -msgid "List sort by" +msgid "Asset list sorting" msgstr "资产列表排序" #: settings/serializers/terminal.py:37 -msgid "List page size" +msgid "Asset list page size" msgstr "资产列表每页数量" #: settings/serializers/terminal.py:39 @@ -5979,7 +5979,7 @@ msgid "Enable Razor" msgstr "启用 Razor 服务" #: settings/serializers/terminal.py:41 -msgid "Enable SSH Client" +msgid "SSH Client" msgstr "启用 SSH Client" #: settings/tasks/ldap.py:28 @@ -6388,10 +6388,6 @@ msgstr "输出" msgid "Risk level" msgstr "风险等级" -#: terminal/connect_methods.py:29 -msgid "SSH Client" -msgstr "SSH 客户端" - #: terminal/connect_methods.py:30 msgid "SSH Guide" msgstr "SSH 向导" @@ -7924,7 +7920,7 @@ msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" #: users/serializers/user.py:101 -msgid "Can public key authentication" +msgid "Can public key auth" msgstr "可以使用公钥认证" #: users/serializers/user.py:166 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index efe5992d9..5907ac024 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -261,7 +261,7 @@ "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", "CommunityEdition": "Community Version", "Component": "Component", - "ComponentMonitor": "Component Monitoring", + "ComponentMonitor": "Monitoring", "ConceptContent": "I want you to act like a Python interpreter. I will give you Python code, and you will execute it. Do not provide any explanations. Respond with nothing except the output of the code.", "ConceptTitle": "🤔 Python Interpreter", "Config": "Settings", diff --git a/apps/settings/serializers/terminal.py b/apps/settings/serializers/terminal.py index 42e03eeb7..e69910add 100644 --- a/apps/settings/serializers/terminal.py +++ b/apps/settings/serializers/terminal.py @@ -6,8 +6,8 @@ class TerminalSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Terminal') SORT_BY_CHOICES = ( - ('name', _('Hostname')), - ('ip', _('IP')) + ('name', _('Name')), + ('ip', _('Address')) ) PAGE_SIZE_CHOICES = ( @@ -19,23 +19,23 @@ class TerminalSettingSerializer(serializers.Serializer): ('50', '50'), ) SECURITY_SERVICE_ACCOUNT_REGISTRATION = serializers.BooleanField( - required=True, label=_('Enable terminal register'), + required=True, label=_('Terminal registration'), help_text=_( "Allow terminal register, after all terminal setup, you should disable this for security" ) ) - TERMINAL_PASSWORD_AUTH = serializers.BooleanField(required=False, label=_('Password auth')) + TERMINAL_PASSWORD_AUTH = serializers.BooleanField(required=False, label=_("Password auth")) TERMINAL_PUBLIC_KEY_AUTH = serializers.BooleanField( - required=False, label=_('Public key auth'), - help_text=_('Tips: If use other auth method, like AD/LDAP, you should disable this to ' + required=False, label=_("public key auth"), + help_text=_('Information: If use other auth method, like AD/LDAP, you should disable this to ' 'avoid being able to log in after deleting') ) TERMINAL_ASSET_LIST_SORT_BY = serializers.ChoiceField( - SORT_BY_CHOICES, required=False, label=_('List sort by') + SORT_BY_CHOICES, required=False, label=_('Asset list sorting') ) TERMINAL_ASSET_LIST_PAGE_SIZE = serializers.ChoiceField( - PAGE_SIZE_CHOICES, required=False, label=_('List page size') + PAGE_SIZE_CHOICES, required=False, label=_('Asset list page size') ) - TERMINAL_MAGNUS_ENABLED = serializers.BooleanField(label=_("Enable database proxy")) - TERMINAL_RAZOR_ENABLED = serializers.BooleanField(label=_("Enable Razor")) - TERMINAL_KOKO_SSH_ENABLED = serializers.BooleanField(label=_("Enable SSH Client")) + TERMINAL_MAGNUS_ENABLED = serializers.BooleanField(label="Magnus") + TERMINAL_RAZOR_ENABLED = serializers.BooleanField(label="Razor") + TERMINAL_KOKO_SSH_ENABLED = serializers.BooleanField(label="Koko") From 000c5770f2e38266422b9154c342612fd23a7dc7 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 27 Feb 2024 17:13:59 +0800 Subject: [PATCH 031/343] perf: i18n settings-RemoteApp done. --- apps/i18n/lina/en.json | 6 +++--- apps/i18n/luna/en.json | 2 +- apps/i18n/luna/zh.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 5907ac024..b04c1f52f 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -83,15 +83,15 @@ "AppOps": "Job center", "AppProvider": "Application Providers", "AppProviderDetail": "Application Provider Details", - "AppletDetail": "Remote Apps", + "AppletDetail": "RemoteApp", "AppletHelpText": "In the upload process, if the application does not exist, create the application; If it exists, update the application.", "AppletHostCreate": "Add Remote Application Release Machine", "AppletHostDetail": "Remote Application Publishing Machine Details", "AppletHostDomainHelpText": "This domain belongs to the System Organization", "AppletHostSelectHelpMessage": "When connecting to an asset, the selection of the application publishing machine is random (but the last used one is preferred). If you want to assign a specific publishing machine to an asset, you can tag it as or ;
When selecting an account for the publishing machine, the following situations will choose the user's own account with the same name or proprietary account (starting with js), otherwise use a public account (starting with jms):
  1. Both the publishing machine and application support concurrent;
  2. The publishing machine supports concurrent, but the application does not, and the current application does not use a proprietary account;
  3. The publishing machine does not support concurrent, the application either supports or does not support concurrent, and no application uses a proprietary account;
Note: Whether the application supports concurrent connections is decided by the developer, and whether the host supports concurrent connections is decided by the single user single session setting in the publishing machine configuration", "AppletHostUpdate": "Update Remote App Publishing Machine", - "AppletHosts": "Remote App Machine", - "Applets": "Remote Apps", + "AppletHosts": "RemoteApp machine", + "Applets": "RemoteApp", "Applicant": "Applicant", "Applications": "Assets", "ApplyAsset": "Apply for Assets", diff --git a/apps/i18n/luna/en.json b/apps/i18n/luna/en.json index 8d3cae2a1..2b6a9f6d5 100644 --- a/apps/i18n/luna/en.json +++ b/apps/i18n/luna/en.json @@ -140,7 +140,7 @@ "Refresh": "Refresh", "Remember password": "Remember me", "Remember select": "Remember selected", - "Remote apps": "Remote apps", + "RemoteApp": "RemoteApp", "Reselect connection method": "Reselect asset connection method", "Resume": "Resume", "Resume task has been send": "Resume task has been send", diff --git a/apps/i18n/luna/zh.json b/apps/i18n/luna/zh.json index 2c5b9f527..91c1930db 100644 --- a/apps/i18n/luna/zh.json +++ b/apps/i18n/luna/zh.json @@ -138,7 +138,7 @@ "Refresh": "刷新", "Remember password": "记住密码", "Remember select": "记住选择", - "Remote apps": "远程应用", + "RemoteApp": "远程应用", "Reselect connection method": "可重新选择连接方式", "Resume": "恢复", "Resume task has been send": "恢复任务已发送", From 2328ef0b0c18e3e34f4816a0f4136350ee8da2a5 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Tue, 27 Feb 2024 19:17:40 +0800 Subject: [PATCH 032/343] perf: account translate (#12719) Co-authored-by: feng <1304903146@qq.com> --- apps/i18n/lina/en.json | 15 +++------------ apps/i18n/lina/zh.json | 11 +---------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index b04c1f52f..9ba39b385 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -6,29 +6,20 @@ "AccessKey": "Access Key", "Account": "Account", "AccountBackup": "Account Backup", - "AccountBackupCreate": "Create Account Backup", - "AccountBackupUpdate": "Update Account Backup", - "AccountChangeSecret": "Password Change", - "AccountCreate": "Create Account", + "AccountChangeSecret": "Change Secret", "AccountDeleteConfirmMsg": "Delete Account, continue?", - "AccountDetail": "Account Details", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", "AccountGatherList": "Collection Task", - "AccountGatherTaskCreate": "Create Task", "AccountGatherTaskList": "Account Collect", - "AccountGatherTaskUpdate": "Update Task", "AccountList": "Cloud Account", "AccountPolicy": "Account Policy", - "AccountPushCreate": "Create Account Push", "AccountPushExecutionList": "Execute History", "AccountPushList": "Account Push", - "AccountPushUpdate": "Update Account Push", "AccountStorage": "Account", "HistoryRecord": "History record", "AccountTemplate": "Template", "AccountTemplateList": "Templates", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", - "AccountUpdate": "Update Account", "Accounts": "Account", "Action": "Action", "ActionCount": "Actions", @@ -43,7 +34,6 @@ "ActiveUser": "Logged in recently", "Activity": "Activities", "Add": "Add", - "AddAccount": "Add Account", "AddAccountResult": "Second-Level Approver", "AddAllMembersWarningMsg": "Are you sure you want to add all members?", "AddAsset": "Add Assets", @@ -160,6 +150,7 @@ "AverageTimeCost": "Average spend time", "Azure": "Azure (China)", "Backup": "Backup", + "BatchTest": "Batch Test", "BadConflictErrorMsg": "Refreshing, please try again later", "BadRequestErrorMsg": "Request Error, please check the filled content", "BadRoleErrorMsg": "Request Error, No Permission for this Action", @@ -220,7 +211,7 @@ "Cleaning": "Regular Clean-up", "Clear": "Clear", "ClearScreen": "Clear Screen", - "ClearSecret": "Clear selected secret", + "ClearSecret": "Clear secret", "ClearSelection": "Clear Selection", "ClearSuccessMsg": "Clear Successful", "ClickCopy": "Click to Copy", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index f75b62f37..6b6056ff9 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -6,27 +6,18 @@ "AccessKey": "访问密钥", "Account": "账号信息", "AccountBackup": "账号备份", - "AccountBackupCreate": "创建账号备份", - "AccountBackupUpdate": "更新账号备份", "AccountChangeSecret": "账号改密", - "AccountCreate": "创建账户", "AccountDeleteConfirmMsg": "删除账号,是否继续?", - "AccountDetail": "账户详情", "AccountExportTips": "导出信息中包含账号密文涉及敏感信息,导出的格式为一个加密的zip文件(若没有设置加密密码,请前往个人信息中设置文件加密密码)。", "AccountGatherList": "收集任务", - "AccountGatherTaskCreate": "创建任务", "AccountGatherTaskList": "账号收集", - "AccountGatherTaskUpdate": "更新任务", "AccountList": "云账号", "AccountPolicy": "账号策略", - "AccountPushCreate": "创建账号推送", "AccountPushExecutionList": "执行列表", "AccountPushList": "账号推送", - "AccountPushUpdate": "账号推送更新", "AccountStorage": "账号存储", "AccountTemplate": "账号模版", "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", - "AccountUpdate": "更新账户", "Accounts": "账号管理", "Action": "动作", "ActionCount": "动作数量", @@ -40,7 +31,6 @@ "ActiveUser": "近期登录过", "Activity": "活动", "Add": "新增", - "AddAccount": "添加账号", "AddAccountResult": "账号批量添加结果", "AddAllMembersWarningMsg": "你确定要添加全部成员?", "AddAsset": "添加资产", @@ -157,6 +147,7 @@ "AverageTimeCost": "平均花费时间", "Azure": "Azure(中国)", "Backup": "备份", + "BatchTest": "批量测试", "BadConflictErrorMsg": "正在刷新中,请稍后再试", "BadRequestErrorMsg": "请求错误,请检查填写内容", "BadRoleErrorMsg": "请求错误,无该操作权限", From e3088124292b3f59dc09ff5d410691a51782bae4 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 27 Feb 2024 19:20:41 +0800 Subject: [PATCH 033/343] perf: i18n settings-Security done. --- apps/i18n/core/en/LC_MESSAGES/django.po | 46 ++++++++++--------------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/ja/LC_MESSAGES/django.po | 46 ++++++++++--------------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +-- apps/i18n/core/zh/LC_MESSAGES/django.po | 46 ++++++++++--------------- apps/i18n/lina/en.json | 12 +++---- apps/settings/serializers/security.py | 42 +++++++++++----------- 7 files changed, 88 insertions(+), 112 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 1c5af73be..7682a5ceb 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -5609,7 +5609,7 @@ msgid "" msgstr "" #: settings/serializers/security.py:26 -msgid "Number of repeated historical passwords" +msgid "Recent password count" msgstr "" #: settings/serializers/security.py:28 @@ -5619,27 +5619,27 @@ msgid "" msgstr "" #: settings/serializers/security.py:34 -msgid "Password minimum length" +msgid "Minimum length (User)" msgstr "" #: settings/serializers/security.py:38 -msgid "Admin user password minimum length" +msgid "Minimum length (Admin)" msgstr "" #: settings/serializers/security.py:41 -msgid "Must contain capital" +msgid "Uppercase" msgstr "" #: settings/serializers/security.py:44 -msgid "Must contain lowercase" +msgid "Lowercase" msgstr "" #: settings/serializers/security.py:47 -msgid "Must contain numeric" +msgid "Digits" msgstr "" #: settings/serializers/security.py:50 -msgid "Must contain special" +msgid "Special characters" msgstr "" #: settings/serializers/security.py:55 @@ -5649,27 +5649,19 @@ msgid "" msgstr "" #: settings/serializers/security.py:63 -msgid "Limit the number of user login failures" -msgstr "" - -#: settings/serializers/security.py:67 -msgid "Block user login interval (minute)" -msgstr "" - -#: settings/serializers/security.py:73 -msgid "Limit the number of IP login failures" +msgid "Login failures count" msgstr "" #: settings/serializers/security.py:77 -msgid "Block IP login interval (minute)" +msgid "Login failure period (minute)" msgstr "" #: settings/serializers/security.py:81 -msgid "Login IP White List" +msgid "Login IP whitelist" msgstr "" #: settings/serializers/security.py:86 -msgid "Login IP Black List" +msgid "Login IP blacklist" msgstr "" #: settings/serializers/security.py:91 @@ -5723,7 +5715,7 @@ msgid "Global MFA auth" msgstr "" #: settings/serializers/security.py:124 -msgid "Third-party login users perform MFA authentication" +msgid "Third-party login MFA" msgstr "" #: settings/serializers/security.py:125 @@ -5765,7 +5757,7 @@ msgid "Reset password and send SMS code expiration time" msgstr "" #: settings/serializers/security.py:153 -msgid "Enable Login dynamic code" +msgid "Login dynamic code" msgstr "" #: settings/serializers/security.py:154 @@ -5775,7 +5767,7 @@ msgid "" msgstr "" #: settings/serializers/security.py:158 -msgid "Enable Login captcha" +msgid "Login captcha" msgstr "" #: settings/serializers/security.py:159 @@ -5783,7 +5775,7 @@ msgid "Enable captcha to prevent robot authentication" msgstr "" #: settings/serializers/security.py:162 -msgid "Remote Login Protection" +msgid "Suspicious Login Verification" msgstr "" #: settings/serializers/security.py:164 @@ -5794,7 +5786,7 @@ msgid "" msgstr "" #: settings/serializers/security.py:170 -msgid "Unused user timeout (day)" +msgid "Auto Disable Threshold (day)" msgstr "" #: settings/serializers/security.py:171 @@ -5804,7 +5796,7 @@ msgid "" msgstr "" #: settings/serializers/security.py:191 -msgid "Enable watermark" +msgid "Watermark" msgstr "" #: settings/serializers/security.py:192 @@ -5812,7 +5804,7 @@ msgid "Enabled, the web session and replay contains watermark information" msgstr "" #: settings/serializers/security.py:196 -msgid "Connection max idle time (minute)" +msgid "Max idle time (minute)" msgstr "" #: settings/serializers/security.py:197 @@ -5820,7 +5812,7 @@ msgid "If idle time more than it, disconnect connection." msgstr "" #: settings/serializers/security.py:201 -msgid "Session max connection time (hour)" +msgid "Max online time (hour)" msgstr "" #: settings/serializers/security.py:202 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 8001a7f6d..4d44387a3 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5e7d67f20f1f3dcfe596a68a54e9c8228218ad4dfabed4c9439ebcd675df605 -size 168686 +oid sha256:6927f54b75facae0524e9d6cd4d021104780d96cdc128880f6e960ed72fb4ae5 +size 168378 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 17bbc97b9..ca35fb4a8 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -5797,7 +5797,7 @@ msgstr "" "れます。" #: settings/serializers/security.py:26 -msgid "Number of repeated historical passwords" +msgid "Recent password count" msgstr "繰り返された履歴パスワードの数" #: settings/serializers/security.py:28 @@ -5809,27 +5809,27 @@ msgstr "" "にすることはできません" #: settings/serializers/security.py:34 -msgid "Password minimum length" +msgid "Minimum length (User)" msgstr "パスワードの最小長" #: settings/serializers/security.py:38 -msgid "Admin user password minimum length" +msgid "Minimum length (Admin)" msgstr "管理者ユーザーパスワードの最小長" #: settings/serializers/security.py:41 -msgid "Must contain capital" +msgid "Uppercase" msgstr "資本を含める必要があります" #: settings/serializers/security.py:44 -msgid "Must contain lowercase" +msgid "Lowercase" msgstr "小文字を含める必要があります。" #: settings/serializers/security.py:47 -msgid "Must contain numeric" +msgid "Digits" msgstr "数値を含める必要があります" #: settings/serializers/security.py:50 -msgid "Must contain special" +msgid "Special characters" msgstr "特別な" #: settings/serializers/security.py:55 @@ -5841,27 +5841,19 @@ msgstr "" "はできません。" #: settings/serializers/security.py:63 -msgid "Limit the number of user login failures" +msgid "Login failures count" msgstr "ユーザーログインの失敗数を制限する" #: settings/serializers/security.py:67 -msgid "Block user login interval (minute)" +msgid "Login failure period (minute)" msgstr "ユーザーのログイン間隔をブロックする(分)" -#: settings/serializers/security.py:73 -msgid "Limit the number of IP login failures" -msgstr "IPログイン失敗の数を制限する" - -#: settings/serializers/security.py:77 -msgid "Block IP login interval (minute)" -msgstr "IPログイン間隔をブロックする(分)" - #: settings/serializers/security.py:81 -msgid "Login IP White List" +msgid "Login IP whitelist" msgstr "ログインIPホワイトリスト" #: settings/serializers/security.py:86 -msgid "Login IP Black List" +msgid "Login IP blacklist" msgstr "ログインIPブラックリスト" #: settings/serializers/security.py:91 @@ -5923,7 +5915,7 @@ msgid "Global MFA auth" msgstr "グローバル有効化MFA認証" #: settings/serializers/security.py:124 -msgid "Third-party login users perform MFA authentication" +msgid "Third-party login MFA" msgstr "サードパーティのログインユーザーがMFA認証を実行" #: settings/serializers/security.py:125 @@ -5966,7 +5958,7 @@ msgid "Reset password and send SMS code expiration time" msgstr "パスワードをリセットしてSMSコードの有効期限を送信します" #: settings/serializers/security.py:153 -msgid "Enable Login dynamic code" +msgid "Login dynamic code" msgstr "ログイン動的コードの有効化" #: settings/serializers/security.py:154 @@ -5978,7 +5970,7 @@ msgstr "" "ます" #: settings/serializers/security.py:158 -msgid "Enable Login captcha" +msgid "Login captcha" msgstr "ログインcaptchaの有効化" #: settings/serializers/security.py:159 @@ -5986,7 +5978,7 @@ msgid "Enable captcha to prevent robot authentication" msgstr "Captchaを有効にしてロボット認証を防止する" #: settings/serializers/security.py:162 -msgid "Remote Login Protection" +msgid "Suspicious Login Verification" msgstr "リモートログイン保護" #: settings/serializers/security.py:164 @@ -6000,7 +5992,7 @@ msgstr "" "モートログインリマインダーを送信します" #: settings/serializers/security.py:170 -msgid "Unused user timeout (day)" +msgid "Auto Disable Threshold (day)" msgstr "未使用のユーザータイムアウト(日)" #: settings/serializers/security.py:171 @@ -6012,7 +6004,7 @@ msgstr "" "します。" #: settings/serializers/security.py:191 -msgid "Enable watermark" +msgid "Watermark" msgstr "透かしの有効化" #: settings/serializers/security.py:192 @@ -6020,7 +6012,7 @@ msgid "Enabled, the web session and replay contains watermark information" msgstr "Webセッションとリプレイには透かし情報が含まれています。" #: settings/serializers/security.py:196 -msgid "Connection max idle time (minute)" +msgid "Max idle time (minute)" msgstr "接続最大アイドル時間(分)" #: settings/serializers/security.py:197 @@ -6028,7 +6020,7 @@ msgid "If idle time more than it, disconnect connection." msgstr "この設定以上の操作がない場合、接続は切断されます" #: settings/serializers/security.py:201 -msgid "Session max connection time (hour)" +msgid "Max online time (hour)" msgstr "セッション最大接続時間(時間)" #: settings/serializers/security.py:202 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index ea0448de9..79faccfcd 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea00888ff29f180282bd67dd84e912d02184698ab75da63803c11352240f373a -size 139493 +oid sha256:7422fdff60206636c98e63ee17b1b509d7d6678c95379163e6279c3e55e27eb4 +size 139220 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index e656bca78..db942d08a 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -5672,7 +5672,7 @@ msgstr "" "期前5天内由系统 (每天)自动发送给用户" #: settings/serializers/security.py:26 -msgid "Number of repeated historical passwords" +msgid "Recent password count" msgstr "不能设置近几次密码" #: settings/serializers/security.py:28 @@ -5682,27 +5682,27 @@ msgid "" msgstr "提示:用户重置密码时,不能为该用户前几次使用过的密码" #: settings/serializers/security.py:34 -msgid "Password minimum length" +msgid "Minimum length (User)" msgstr "密码最小长度" #: settings/serializers/security.py:38 -msgid "Admin user password minimum length" +msgid "Minimum length (Admin)" msgstr "管理员密码最小长度" #: settings/serializers/security.py:41 -msgid "Must contain capital" +msgid "Uppercase" msgstr "必须包含大写字符" #: settings/serializers/security.py:44 -msgid "Must contain lowercase" +msgid "Lowercase" msgstr "必须包含小写字符" #: settings/serializers/security.py:47 -msgid "Must contain numeric" +msgid "Digits" msgstr "必须包含数字" #: settings/serializers/security.py:50 -msgid "Must contain special" +msgid "Special characters" msgstr "必须包含特殊字符" #: settings/serializers/security.py:55 @@ -5712,27 +5712,19 @@ msgid "" msgstr "当用户登录失败次数达到限制后,那么在此间隔内禁止登录" #: settings/serializers/security.py:63 -msgid "Limit the number of user login failures" +msgid "Login failures count" msgstr "限制用户登录失败次数" #: settings/serializers/security.py:67 -msgid "Block user login interval (minute)" +msgid "Login failure period (minute)" msgstr "禁止用户登录间隔 (分)" -#: settings/serializers/security.py:73 -msgid "Limit the number of IP login failures" -msgstr "限制 IP 登录失败次数" - -#: settings/serializers/security.py:77 -msgid "Block IP login interval (minute)" -msgstr "禁止 IP 登录间隔 (分)" - #: settings/serializers/security.py:81 -msgid "Login IP White List" +msgid "Login IP whitelist" msgstr "IP 登录白名单" #: settings/serializers/security.py:86 -msgid "Login IP Black List" +msgid "Login IP blacklist" msgstr "IP 登录黑名单" #: settings/serializers/security.py:91 @@ -5790,7 +5782,7 @@ msgid "Global MFA auth" msgstr "全局启用 MFA 认证" #: settings/serializers/security.py:124 -msgid "Third-party login users perform MFA authentication" +msgid "Third-party login MFA" msgstr "第三方认证开启 MFA" #: settings/serializers/security.py:125 @@ -5832,7 +5824,7 @@ msgid "Reset password and send SMS code expiration time" msgstr "重置密码的验证码及发送短信的验证码过期时间" #: settings/serializers/security.py:153 -msgid "Enable Login dynamic code" +msgid "Login dynamic code" msgstr "启用登录附加码" #: settings/serializers/security.py:154 @@ -5844,7 +5836,7 @@ msgstr "" "码+6位数字 完成认证" #: settings/serializers/security.py:158 -msgid "Enable Login captcha" +msgid "Login captcha" msgstr "启用登录验证码" #: settings/serializers/security.py:159 @@ -5852,7 +5844,7 @@ msgid "Enable captcha to prevent robot authentication" msgstr "开启验证码,防止机器人登录" #: settings/serializers/security.py:162 -msgid "Remote Login Protection" +msgid "Suspicious Login Verification" msgstr "异地登录通知" #: settings/serializers/security.py:164 @@ -5865,7 +5857,7 @@ msgstr "" "登录提醒" #: settings/serializers/security.py:170 -msgid "Unused user timeout (day)" +msgid "Auto Disable Threshold (day)" msgstr "不活跃用户自动禁用 (天)" #: settings/serializers/security.py:171 @@ -5875,7 +5867,7 @@ msgid "" msgstr "每天检测一次,超过预设时间的用户自动禁用" #: settings/serializers/security.py:191 -msgid "Enable watermark" +msgid "Watermark" msgstr "开启水印" #: settings/serializers/security.py:192 @@ -5883,7 +5875,7 @@ msgid "Enabled, the web session and replay contains watermark information" msgstr "启用后,Web 会话和录像将包含水印信息" #: settings/serializers/security.py:196 -msgid "Connection max idle time (minute)" +msgid "Max idle time (minute)" msgstr "连接最大空闲时间 (分)" #: settings/serializers/security.py:197 @@ -5891,7 +5883,7 @@ msgid "If idle time more than it, disconnect connection." msgstr "提示:如果超过该配置没有操作,连接会被断开" #: settings/serializers/security.py:201 -msgid "Session max connection time (hour)" +msgid "Max online time (hour)" msgstr "会话连接最大时间 (时)" #: settings/serializers/security.py:202 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 9ba39b385..f7b08f73b 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -136,11 +136,11 @@ "AttrValue": "Attribute value", "Audits": "Audit", "Auth": "Authentication", - "AuthLimit": "Login Restrictions", + "AuthLimit": "Login restriction", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", "AuthSAMLKeyHelpText": "SP Certificates and keys are used for encrypted communication with IDP", "AuthSaml2UserAttrMapHelpText": "The keys on the left are SAML2 user attributes, the values on the right are authentication platform user attributes", - "AuthSecurity": "Authentication Security", + "AuthSecurity": "User Login", "AuthSetting": "Authentication", "AuthSettings": "Authentication Configuration", "AuthUserAttrMapHelpText": "The Key on the Left Belongs to the JumpServer User Properties, and the Value on the Right Belongs to the Authentication Platform User Properties", @@ -492,7 +492,7 @@ "IAgree": "I agree", "ID": "ID", "IP": "IP", - "IPLoginLimit": "IP Login Restrictions", + "IPLoginLimit": "IP restriction", "IPMatch": "IP Matching", "IPNetworkSegment": "IP Segment", "Id": "ID", @@ -733,7 +733,7 @@ "PasswordPlaceholder": "Please Enter Password", "PasswordRecord": "Password Record", "PasswordRule": "Password Rules", - "PasswordSecurity": "Password Security", + "PasswordSecurity": "User Password", "PasswordStrategy": "Secret Strategy", "PasswordWillExpiredPrefixMsg": "Password will be in", "PasswordWillExpiredSuffixMsg": "It will expire in days, please change your password as soon as possible.", @@ -960,7 +960,7 @@ "SessionMonitor": "Monitor", "SessionOffline": "Historical Sessions", "SessionOnline": "Online Sessions", - "SessionSecurity": "Session security", + "SessionSecurity": "Asset Session", "SessionState": "Session Status", "SessionTerminate": "Session Termination", "SessionTrend": "Session Trends", @@ -1165,7 +1165,7 @@ "UserLoginAclDetail": "User Login Control Details", "UserLoginAclList": "User Login ACL", "UserLoginAclUpdate": "Update User Login Control", - "UserLoginLimit": "User Login Restriction", + "UserLoginLimit": "User Restriction", "UserLoginTrend": "Account Login Trend", "UserProfile": "Personal Information", "UserSession": "User Sessions", diff --git a/apps/settings/serializers/security.py b/apps/settings/serializers/security.py index 1fca3be3d..7685eaba6 100644 --- a/apps/settings/serializers/security.py +++ b/apps/settings/serializers/security.py @@ -23,7 +23,7 @@ class SecurityPasswordRuleSerializer(serializers.Serializer): ) OLD_PASSWORD_HISTORY_LIMIT_COUNT = serializers.IntegerField( min_value=0, max_value=99999, required=True, - label=_('Number of repeated historical passwords'), + label=_('Recent password count'), help_text=_( 'Tip: When the user resets the password, it cannot be ' 'the previous n historical passwords of the user' @@ -31,23 +31,23 @@ class SecurityPasswordRuleSerializer(serializers.Serializer): ) SECURITY_PASSWORD_MIN_LENGTH = serializers.IntegerField( min_value=6, max_value=30, required=True, - label=_('Password minimum length') + label=_("Minimum length (User)") ) SECURITY_ADMIN_USER_PASSWORD_MIN_LENGTH = serializers.IntegerField( min_value=6, max_value=30, required=True, - label=_('Admin user password minimum length') + label=_('Minimum length (Admin)') ) SECURITY_PASSWORD_UPPER_CASE = serializers.BooleanField( - required=False, label=_('Must contain capital') + required=False, label=_('Uppercase') ) SECURITY_PASSWORD_LOWER_CASE = serializers.BooleanField( - required=False, label=_('Must contain lowercase') + required=False, label=_('Lowercase') ) SECURITY_PASSWORD_NUMBER = serializers.BooleanField( - required=False, label=_('Must contain numeric') + required=False, label=_('Digits') ) SECURITY_PASSWORD_SPECIAL_CHAR = serializers.BooleanField( - required=False, label=_('Must contain special') + required=False, label=_('Special characters') ) @@ -60,30 +60,30 @@ login_ip_limit_time_help_text = _( class SecurityLoginLimitSerializer(serializers.Serializer): SECURITY_LOGIN_LIMIT_COUNT = serializers.IntegerField( min_value=3, max_value=99999, - label=_('Limit the number of user login failures') + label=_('Login failures count') ) SECURITY_LOGIN_LIMIT_TIME = serializers.IntegerField( min_value=5, max_value=99999, required=True, - label=_('Block user login interval (minute)'), + label=_('Login failure period (minute)'), help_text=login_ip_limit_time_help_text ) SECURITY_LOGIN_IP_LIMIT_COUNT = serializers.IntegerField( min_value=3, max_value=99999, - label=_('Limit the number of IP login failures') + label=_('Login failures count') ) SECURITY_LOGIN_IP_LIMIT_TIME = serializers.IntegerField( min_value=5, max_value=99999, required=True, - label=_('Block IP login interval (minute)'), + label=_('Login failure period (minute)'), help_text=login_ip_limit_time_help_text ) SECURITY_LOGIN_IP_WHITE_LIST = serializers.ListField( - default=[], label=_('Login IP White List'), allow_empty=True, + default=[], label=_('Login IP whitelist'), allow_empty=True, child=serializers.CharField(max_length=1024, validators=[ip_group_child_validator]), help_text=ip_group_help_text ) SECURITY_LOGIN_IP_BLACK_LIST = serializers.ListField( - default=[], label=_('Login IP Black List'), allow_empty=True, + default=[], label=_('Login IP blacklist'), allow_empty=True, child=serializers.CharField(max_length=1024, validators=[ip_group_child_validator]), help_text=ip_group_help_text ) @@ -121,7 +121,7 @@ class SecurityAuthSerializer(serializers.Serializer): ) SECURITY_MFA_AUTH_ENABLED_FOR_THIRD_PARTY = serializers.BooleanField( required=False, default=True, - label=_('Third-party login users perform MFA authentication'), + label=_('Third-party login MFA'), help_text=_('The third-party login modes include OIDC, CAS, and SAML2'), ) OTP_ISSUER_NAME = serializers.CharField( @@ -150,16 +150,16 @@ class SecurityAuthSerializer(serializers.Serializer): ) SECURITY_LOGIN_CHALLENGE_ENABLED = serializers.BooleanField( required=False, default=False, - label=_("Enable Login dynamic code"), + label=_("Login dynamic code"), help_text=_("The password and additional code are sent to a third party " "authentication system for verification") ) SECURITY_LOGIN_CAPTCHA_ENABLED = serializers.BooleanField( - required=False, default=False, label=_("Enable Login captcha"), + required=False, default=False, label=_("Login captcha"), help_text=_("Enable captcha to prevent robot authentication") ) SECURITY_CHECK_DIFFERENT_CITY_LOGIN = serializers.BooleanField( - required=False, label=_('Remote Login Protection'), + required=False, label=_('Suspicious Login Verification'), help_text=_( 'The system determines whether the login IP address belongs to a common login city. ' 'If the account is logged in from a common login city, the system sends a remote login reminder' @@ -167,7 +167,7 @@ class SecurityAuthSerializer(serializers.Serializer): ) SECURITY_UNCOMMON_USERS_TTL = serializers.IntegerField( min_value=30, max_value=99999, required=False, - label=_('Unused user timeout (day)'), + label=_('Auto Disable Threshold (day)'), help_text=_("Detect infrequent users daily and disable them if they exceed the predetermined time limit.") ) @@ -188,17 +188,17 @@ class SecurityAuthSerializer(serializers.Serializer): class SecuritySessionSerializer(serializers.Serializer): SECURITY_WATERMARK_ENABLED = serializers.BooleanField( - required=True, label=_('Enable watermark'), + required=True, label=_('Watermark'), help_text=_('Enabled, the web session and replay contains watermark information') ) SECURITY_MAX_IDLE_TIME = serializers.IntegerField( min_value=1, max_value=99999, required=False, - label=_('Connection max idle time (minute)'), + label=_('Max idle time (minute)'), help_text=_('If idle time more than it, disconnect connection.') ) SECURITY_MAX_SESSION_TIME = serializers.IntegerField( min_value=1, max_value=99999, required=False, - label=_('Session max connection time (hour)'), + label=_('Max online time (hour)'), help_text=_('If session connection time more than it, disconnect connection.') ) SECURITY_LUNA_REMEMBER_AUTH = serializers.BooleanField( From 1744f94910242b4c13282e6d5b28d48b5374061f Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 28 Feb 2024 16:27:41 +0800 Subject: [PATCH 034/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/core/en/LC_MESSAGES/django.po | 2 +- apps/i18n/lina/en.json | 88 +++++++++++++----------- apps/i18n/lina/zh.json | 6 +- apps/static/img/logo_text_white.png | Bin 5767 -> 2749 bytes apps/users/serializers/group.py | 2 +- apps/users/serializers/user.py | 4 +- 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index d0d817901..ed0ec9dc3 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -7717,7 +7717,7 @@ msgstr "First login" #: users/models/user.py:848 msgid "Date password last updated" -msgstr "Password last updated" +msgstr "Password updated" #: users/models/user.py:851 msgid "Need update password" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index c1b233405..98a139798 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -8,6 +8,7 @@ "AccountBackup": "Account Backup", "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update Account Backup", + "AccountBatchUpdate": "Updated selected", "AccountChangeSecret": "Password Change", "AccountCreate": "Create Account", "AccountDeleteConfirmMsg": "Delete Account, continue?", @@ -17,7 +18,7 @@ "AccountGatherTaskCreate": "Create Task", "AccountGatherTaskList": "Account Collect", "AccountGatherTaskUpdate": "Update Task", - "AccountList": "Cloud Account", + "AccountList": "Accounts", "AccountPolicy": "Account Policy", "AccountPushCreate": "Create Account Push", "AccountPushExecutionList": "Execute History", @@ -40,6 +41,7 @@ "ActiveAsset": "Recently Logged in", "ActiveAssetRanking": "Login Asset Ranking", "ActiveUser": "Logged in recently", + "ActiveUsers": "Active Users", "Activity": "Activities", "Add": "Add", "AddAccount": "Add Account", @@ -70,7 +72,6 @@ "AllAccounts": "All Accounts", "AllClickRead": "All Marked as Read", "AllMembers": "All Members", - "AllOrganization": "Organization List", "AllowInvalidCert": "Ignore certificate check", "Announcement": "Announcement", "AnonymousAccount": "Anonymous Account", @@ -145,7 +146,7 @@ "Assignees": "Pending Handler", "AttrName": "Attribute Name", "AttrValue": "Attribute value", - "Audits": "Audit Console", + "Audits": "Audit", "Auth": "Authentication", "AuthLimit": "Login Restrictions", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", @@ -193,6 +194,7 @@ "BulkTransfer": "Batch Transfer", "BulkUnblock": "Batch Unlock", "BulkUpdatePlatformHelpText": "Updates will only be performed when the original platform type of the asset is the same as the selected platform type. If the platform type is different before and after the update, it will not be updated.", + "BulkVerify": "Verify selected", "CACertificate": "CA Certificate", "CAS": "CAS", "CMPP2": "CMPP v2.0", @@ -207,13 +209,14 @@ "Certificate": "Certificate", "CertificateKey": "Client Key", "ChangeField": "Change Field", - "ChangePassword": "Update Password", + "ChangeOrganization": "Change organization", + "ChangePassword": "Change Password", "ChangeReceiver": "Modify Message Recipient", "ChangeSecretParams": "Change Password Parameters", "ChangeViewHelpText": "Click to Switch Different Views", "Chat": "Chat", "ChatAI": "Chat AI", - "ChatHello": "Hello! How can I assist you?", + "ChatHello": "Hello! Can I help you?", "ChdirHelpText": "By Default, the execution directory is the user's home directory", "CheckAssetsAmount": "Check Asset Quantity", "CheckViewAcceptor": "Click to View the Acceptance Person", @@ -234,6 +237,7 @@ "CloseConfirmMessage": "File has changed, save?", "CloseStatus": "Completed", "Closed": "Completed", + "CloudAccountList": "Cloud Accounts", "CloudCreate": "Create Asset - Cloud Platform", "CloudSource": "Sync Source", "CloudSync": "Cloud Sync", @@ -305,6 +309,7 @@ "CriticalLoad": "Serious", "CronExpression": "Complete crontab expression", "CrontabOfCreateUpdatePage": "For example: Perform every Sunday at 03:05 <5 3 * * 0>
Use 5-digit Linux crontab expressions (Online Tool)
If both regular execution and cycle execution are set, regular execution is prioritized", + "CurrentConnectionUsers": "Online Users", "CurrentConnections": "Current Connections", "CurrentUserVerify": "Verify Current User", "Custom": "Custom", @@ -531,7 +536,7 @@ "Input": "Input", "InputEmailAddress": "Please enter the correct email address", "InputMessage": "Enter message...", - "InputPhone": "Please Enter Your Mobile Number", + "InputPhone": "Phone number", "InstanceAddress": "Instance Address", "InstanceName": "Instance Name", "InstancePlatformName": "Instance Platform Name", @@ -540,7 +545,7 @@ "IntervalOfCreateUpdatePage": "Unit: Hour", "InvalidJson": "Invalid JSON", "InviteSuccess": "Invitation Successful", - "InviteUser": "Invite member", + "InviteUser": "Invite", "InviteUserInOrg": "Invite users to join this organization", "Ip": "IP", "IpGroup": "IP Group", @@ -571,9 +576,9 @@ "LabelList": "Labels", "LabelUpdate": "Update Tags", "Language": "Language", - "Last30": "Recent 30 times", - "Last30Days": "Last 30 Days", - "Last7Days": "Past 7 Days", + "Last30": "Recent 30 items", + "Last30Days": "Monthly", + "Last7Days": "Weekly", "LastPublishedTime": "Last Publish Time", "Ldap": "LDAP", "LdapBulkImport": "User Import", @@ -643,7 +648,7 @@ "Message": "Message", "MessageSubscription": "Message Subscription", "MessageType": "Message Type", - "MfaLevel": "Multi-factor Authentication", + "MfaLevel": "MFA", "Min": "Minutes", "Modify": "Edit", "Module": "Module", @@ -669,7 +674,7 @@ "NewSyncCount": "New Sync", "No": "No", "NoContent": "No Content", - "NoData": "No Data Available", + "NoData": "No data available", "NoFiles": "No Files Currently", "NoPermission": "No Permissions", "NoPermission403": "403 No Permission", @@ -702,7 +707,7 @@ "OneClickReadMsg": "Are you sure you want to mark the current information as read?", "OnlineSession": "Online users", "OnlineSessionHelpMsg": "Unable to log out of the current session because it is the current user's online session. Currently only users logged in via Web are being logged.", - "OnlineSessions": "Online Sessions Number", + "OnlineSessions": "Online Sessions", "OnlineUserDevices": "Online User Devices", "OnlyMailSend": "Current support for email sending", "OnlySearchCurrentNodePerm": "Only Search the Current Node's Authorization", @@ -719,16 +724,16 @@ "OrgRoleHelpText": "The Org role is the user's role within the current organization", "OrgRoles": "Org Role", "OrgUser": "Organize Users", - "OrganizationCreate": "Local Area Network", + "OrganizationCreate": "Create new", "OrganizationDetail": "Organization Details", "OrganizationList": "Organizations", - "OrganizationLists": "Organization List", + "OrganizationManage": "Manage orgs", "OrganizationUpdate": "Update Organization", "Other": "Other", "Output": "Output", "Overview": "Overview", - "PageNext": "Next Page", - "PagePrev": "Previous Page", + "PageNext": "Next", + "PagePrev": "Previous", "Params": "Parameter", "ParamsHelpText": "Password parameter settings, currently only effective for assets of the host type.", "PassKey": "Passkey", @@ -766,6 +771,7 @@ "PlaybookManage": "Playbook", "PlaybookUpdate": "Update Playbook", "PleaseAgreeToTheTerms": "Please Agree to the Terms", + "PleaseSelect": "Please select", "PolicyName": "Policy Name", "Port": "Port", "Ports": "Port", @@ -777,8 +783,8 @@ "PrivilegedOnly": "Privileged Accounts Only", "PrivilegedTemplate": "Privileged", "Product": "Product", - "Profile": "Personal Information", - "ProfileSetting": "Personal Information", + "Profile": "Profile", + "ProfileSetting": "Profile Info", "Project": "Project Name", "Prompt": "Prompt", "Proportion": "Proportion", @@ -816,7 +822,7 @@ "RecipientServer": "Receiving Server", "Reconnect": "Reconnect", "Refresh": "Refresh", - "RefreshHardware": "Update Hardware Information", + "RefreshHardware": "Hardware Info", "Regex": "Regular Expression", "Region": "Region", "RegularlyPerform": "Periodic Execution", @@ -857,6 +863,7 @@ "ResetMFAWarningMsg": "Are you sure you want to reset the user's MFA?", "ResetMFAdSuccessMsg": "MFA Reset Successful, User Can Reset MFA Again", "ResetPassword": "Reset Password", + "ResetPasswordNextLogin": "Password must be changed during next log in", "ResetPasswordSuccessMsg": "Reset Password Message Sent to User", "ResetPasswordWarningMsg": "Are you sure you want to send the password reset email for the user", "ResetPublicKeyAndDownload": "Reset and Download SSH Key", @@ -865,13 +872,11 @@ "ResetSSHKeyWarningMsg": "Are you sure you want to send a reset SSH Key email to the user?", "Resource": "Resources", "ResourceType": "Resource Type", - "ResetPasswordNextLogin": "Password Must Be Changed During Next Log In", - "RestoreButton": "Reset to Default", - "RestoreDefault": "Reset to Default", + "RestoreButton": "Restore", + "RestoreDefault": "Reset to default", "RestoreDialogMessage": "Are you sure you want to restore to default initialization?", "RestoreDialogTitle": "Do you confirm?", "Result": "Result", - "CloudAccountList": "Cloud Accounts", "Resume": "Recovery", "ResumeTaskSendSuccessMsg": "Recovery Task Issued, Please Refresh Later", "Retry": "Retry", @@ -941,18 +946,16 @@ "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", "SelectAttrs": "Select Attributes", "SelectByAttr": "Attribute Filter", - "BulkVerify": "Verify selected", - "AccountBatchUpdate": "Updated selected", "SelectFile": "Select File", "SelectKeyOrCreateNew": "Select Tag Key or Create New One", - "SelectLabelFilter": "Select Tag Search", + "SelectLabelFilter": "Select tag for search", "SelectPlatforms": "Select Platform", "SelectProperties": "Select Attribute", "SelectResource": "Select Resources", "SelectTemplate": "Select Template", "SelectValueOrCreateNew": "Select Tag Value or Create New One", "Selected": "Selected", - "Selection": "Selectable", + "Selection": "Selection", "Selector": "Selector", "Send": "Send", "SendVerificationCode": "Send Verification Code", @@ -976,17 +979,17 @@ "SessionsAudit": "Session Audit", "SessionsNum": "Sessions", "Set": "Configured", - "SetDingTalk": "Configure DingTalk Authentication", + "SetDingTalk": "DingTalk OAuth", "SetFailed": "Setting Failed", "SetFeiShu": "Set Feishu Authentication", - "SetMFA": "Set Multi-factor Authentication", - "SetSlack": "Set-up Slack Authentication", + "SetMFA": "Multi-factor Auth", + "SetSlack": "Slack OAuth", "SetStatus": "Status Setting", "SetSuccess": "Successfully Set", "SetToDefault": "Set as Default", "SetToDefaultStorage": "Set as Default Storage", - "SetWeCom": "Set up Enterprise WeChat Authentication", - "Setting": "Settings", + "SetWeCom": "WeCom OAuth", + "Setting": "Setting", "SettingInEndpointHelpText": "Configure service address and port in System Settings / Component Settings / Server Endpoints", "Settings": "System Settings", "Show": "Display", @@ -1056,7 +1059,8 @@ "SystemRoles": "System Roles", "SystemSetting": "System Settings", "SystemTools": "System Tools", - "TableColSettingInfo": "Please select the list details you want to display.", + "TableColSetting": "Select visible attribute columns", + "TableSetting": "Table preference", "Target": "Target", "TargetResources": "Target Resource", "Task": "Task", @@ -1105,7 +1109,7 @@ "Title": "Title", "To": "To", "Today": "Today", - "TodayFailedConnections": "Failed Connections Today", + "TodayFailedConnections": "Failed Session Today", "Token": "Token", "Total": "Total", "TotalJobFailed": "Failed Execution Actions", @@ -1139,7 +1143,7 @@ "UpdateEndpointRule": "Update Endpoint Rules", "UpdateErrorMsg": "Update Failed", "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", - "UpdateSSHKey": "Update SSH Public Key", + "UpdateSSHKey": "Change SSH Public Key", "UpdateSelected": "Update selected", "UpdateSuccessMsg": "Update Successful", "Updated": "Updated", @@ -1155,10 +1159,10 @@ "UseProtocol": "User Agreement", "UseSSL": "Use SSL/TLS", "User": "User", - "UserAclLists": "User Login Rules", + "UserAclLists": "Login ACLs", "UserAssetActivity": "Account/Asset Activity", - "UserCreate": "Create User", - "UserData": "Account Data", + "UserCreate": "Create a User", + "UserData": "User Data", "UserDetail": "User Details", "UserGroupCreate": "Create User Group", "UserGroupDetail": "User Group Details", @@ -1174,8 +1178,8 @@ "UserLoginAclUpdate": "Update User Login Control", "UserLoginLimit": "User Login Restriction", "UserLoginTrend": "Account Login Trend", - "UserProfile": "Personal Information", - "UserSession": "User Sessions", + "UserProfile": "Profile", + "UserSession": "Asset Sessions", "UserSetting": "Preference", "UserSwitchFrom": "Switch from", "UserUpdate": "Update User", @@ -1221,4 +1225,4 @@ "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} +} \ No newline at end of file diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 50a2a3f58..3fd84612b 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -68,7 +68,6 @@ "AllAccounts": "所有账号", "AllClickRead": "全部已读", "AllMembers": "全部成员", - "AllOrganization": "组织列表", "AllowInvalidCert": "忽略证书检查", "Announcement": "公告", "AnonymousAccount": "匿名账号", @@ -205,6 +204,7 @@ "Certificate": "证书", "CertificateKey": "客户端密钥", "ChangeField": "变更字段", + "ChangeOrganization": "更改组织", "ChangePassword": "更新密码", "ChangeReceiver": "修改消息接收人", "ChangeSecretParams": "改密参数", @@ -851,6 +851,7 @@ "ResetMFAWarningMsg": "你确定要重置用户的 MFA 吗?", "ResetMFAdSuccessMsg": "重置MFA成功, 用户可以重新设置MFA了", "ResetPassword": "重置密码", + "ResetPasswordNextLogin": "下次登录须修改密码", "ResetPasswordSuccessMsg": "已向用户发送重置密码消息", "ResetPasswordWarningMsg": "你确定要发送重置用户密码的邮件吗", "ResetPublicKeyAndDownload": "重置并下载SSH密钥", @@ -859,7 +860,6 @@ "ResetSSHKeyWarningMsg": "你确定要发送重置用户的SSH Key的邮件吗?", "Resource": "资源", "ResourceType": "资源类型", - "ResetPasswordNextLogin": "下次登录须修改密码", "RestoreButton": "恢复默认", "RestoreDefault": "恢复默认", "RestoreDialogMessage": "您确定要恢复默认初始化吗?", @@ -1211,4 +1211,4 @@ "Workspace": "工作空间", "Yes": "是", "ZStack": "ZStack" -} +} \ No newline at end of file diff --git a/apps/static/img/logo_text_white.png b/apps/static/img/logo_text_white.png index b793b9e5be009f478fcf2a2159594dd38ac9230c..6268a2b68c8996033d9aa8ed546962977d477609 100644 GIT binary patch literal 2749 zcmcIm`9BkmA0Copl2n`cxRP9xlqlz7l3PrMk z&ArSVQC1_PeER+o-{tRKS{LUq{vi(61KRRx|@PKgb~dcKv7yyABVhZ5A`pGbG_8%hbuz$Qo+Ay03v?!tjqy(DDq{zNwDThp;;cKWNn%t&fH zmu?Ou=4+BeLCUg3K3ik@S=I+J_z<^r6g6JVinbbbjqaKRv7LH;I7a0TTeRl8arbMX zK~+A<=p)aX6|F%m&rYEsrK74X=s8+1H5!y@Kl9`3q0={m2d6U@j%(Vsi3;O(=g+>g zPH6mNkq}xc_xwH30MkwI>sLKd<%7Stw?09?HR5!w$U9|j39YM^EPTvXw972ru(OnP zHqLFgiI&zDVDO*44(=3} zNT0;+JTX4fq*I%r#E^jE<$afMQz~v?Gr4ovEqytN9C+q zyggRI_=|>G3*_#{p5uNj%U6$T71|<(*UDbR8OH;EYsKh6{t>El+^2WergZXpUcue` z=CPILmN88v$w~%W&o9w8P)irt_wz;Iu@#uY}S>=>cURzLmgrg>?1W zb1ooF%T3qGSS9csiqffCJP`@a#pB#jRXRaN} zhsE05m;P&E2p}Mqwg-g$)l`d9j{& zH8%Ik4Nm8SiUJWb9MrN71?~M=f812_tTsTt;lfmu4W>P|xThwSy*r@5Vm%{kKwa-t=;UXgcND|-uu!m`dmf^y1l*|`mlN+bCu2i=*v(PwT)@BlXmC86RJ^TdljGjH05 zEl%rvM{oR50X7je6P7}bR<>!r7FKfBnkkbt`)*I>_jsGruO~wI5-~Ac{dN4@;rRyY zP$Ofqa+c8KRuX>Cd{*gA=AE@MV!x1>A_3au;kHz-`yrCFKCDM|ItD3X<+5|=?^W!_ z=cm)l_|0AWc^i;(H!ur+64MVhqH?oSNmmnnGd~ODH^})$QjY37mpd;L)Mrly>QbHH zZ!bNzACOfAGneB+TRO8SI4dHle5Gx;)is;F0(Gq{Y6rhCPj?s6 zzt_#hk@f(-HLy`{Xu+e-rR3Ok3;i7m$as@NdE?-kXP7;d_hsm)YRHB*BT=!?{>ds@ zL2WMD0zn~21bZ~lz~*5sJy0gpwtRkQ{ZJP2+<7TX75_dNaQkZ&_G5WODXL`4J#CZ& ztgG`L>4=>{wQw=o&$w|T(kOVrFwfq^ON9>o*^2BS;q*Q*vscox<@2?g{Z{~B=!dnw zKHED-zZKfd&P-|w3HVtlw4Z%S4VBnskBS*+jwDEUzOCGn zhj=(z;Xf@c^i`G*dxeM0W4)6`Wz6ez5Og~1N{0E}*aZ;d-mrZN3D z1zLVQBnCjz+^xGJHVz&gNP$++?(lFS{rZQz=6P>SS1R<4&hCQ3g8r%T7x^69pInz1 zIZs2TKjbRuwfne^Dx1^W*Ri*E%yD4!aCh{)HDuGfPsDOc%`C-7*+08Z_5 z-^Q`YI%ASGuK9NV%b_?1v(uJgY*qJxQNpgjx)h_dU{EFS2^1OHdOnzZ zHcxK4hh!`X8|0~PQQQ^~1rlDz{azxNKYHp=n=i3Ui{m&>{aRZ_WTu6*TBE*4UEKIc zw)4JE(y#$;pR;?mc!9Q8uzKuXC)c+IlIr@Y-F*9k($?hXF@)NFpBu6~80{G~D$(Q3 z_LPltX_0uNYjU^#C#7F=N-otqUY=nt-XtHJf?fY9q8Y7Ra< zPj^5pAaK)q`+bznZ{lcA{Kp>8eVehe;}KEBlfd~w9Wuae=q}ke@hYDAz-V0NF9UnBUok40BG(%n|}+* z|9~k2hSd%AdKJud#K~&~)SEa&$*tu2HR&3tiJ^7MsC#{N)Z!ml(u;+1MEBQbj=iVOh3W>&3kzp^vc1y z{TzdXlx_AaWx&VF7xttK;-6a9?G2U{?t3B(i5T|2f!o)?n3ad(ICfY1wZC%^U}|gy JYczC={|_L!k$?aI literal 5767 zcmZ`-Rag^_*B+>VFuJ>>JB0zGdxJ4XcZ`^bG}1_SOc>ogIt47G1Sut?6loaJp@1NN zf0y6IcX9f8&$&9!bIzLxGted_W+Dav0HnG)8gKvrPw=0wNOb?74jEI%{4@7mRiUZ? zKx;b5jl+X~F^7{590~vg^8x^oF#y2zzf|Nd0N^hU0PNWV0H9m|fZnUH*GTbS0pC$y zTLW+xpFaNnU-ZyR$HEr?5as?)@SayG2mDJC`sqS73Acgt_@clE{i@yo0Ii9xhAQIu z(m_#BC}M8$<9n%>MUNg){DQ(%zQJfJ^=Mn7gxhKpXf0!G(9TGVwCjt{?Uy#I# z+#7L~WX7x2mC$Y|)B=`L&X^nM#?F~+NUP>q+e;z1JuAy5WG}j7@itF*k6u2>b{hkn z=8jhrV;hEXz*yzcUR^P_NOTMg8@KBl3#+`^tCFj?Zs`3f|GjK!O`+b1lu&q>XqPy3 z<{83{h^Mxht`^3dw#(|DH6>V5y?kC6ECBWk+cH#2LESieHJWs#xKF4!=Jqpj^lhb- z66&)3KH6dBJ$>sxSIAs9ig@>{;SEy_`@Uv#THKR2;bjb*e#L*W9@+5|!RDk-XLhTY zD*nt>26HMNI7lI)uJ?kzmm@f5bs}bEHKUtlATq4}z^=VomxdYYt}I-sM6e1p76v7q zdu$|uF!#5s1Usba`Ab_*Ve5Gg(%u`+30pi^Yv(%v62M>nz9NnUy&38A$tvey)+vn@ zx?qsX>ubxHNNQ(PiTqveznwJ%p3Ao|QBSCw-W`h-cEo#N8Z2yc#cGx%QL&h^b@WIw z*KTGoJ1}zejfVt0(%^iXu)1v?)l}F-gm%*qtgAFi_S-vtU|i2@tjT9rzdlmVl(XKA zW^3@3vsbH~D7uNeru^ODBAwiDL@yqNSJ|uQvEy&+N=V_eZT*RA+owUTdT;niC51K% z9>8{e1*;ugPzHC`bJ{~2NQUc;@a07B^Cf$<3DgF2Cl}v$x*+VNQ4^6-xt)c?fh+W7 zY&1m=+#9ds@7cvT&O&{y>4bH!O#|yOCe@i*IQKchyDQqg8b@tbF;khMPt~8~gCS!b zh7Sb2Q}}BumTI8aVJ6HLTO-F9bPSdM`!1}x=Cv*P!gwSs>F}!y{Q%3H5NeCxx8Plx zeZ8Z|7k>=)aK;$KM_erkdXOt-$HKW-5SZ~Bv+)>@@99i z;$-2UGP6EEV!)&q30+zgM=edSPVZ`EYe2>i%busoxLMGFO;WMaZJ($d(d)F$u}!M% zvu7xW7RVa{oRwJ~KJ<%b+E806FaMay-pNc#T^zPl4TJuQ^)z9!Kt7~IBYq1gJFfn~ z%~ugX%C_@MtQ)kQtWb`B&97~E&Jhc{Rp+%VpFXTaCr4(1Bkm`Q9unsTVvHJ z>$t0#Ur|rfV!>OwV!177+z`~;&)G~hYnW`pFJK(DKRXj$=b5nZRVQ|-`RP*m!BV}o zkg_(tSy845oy6BWwH4=w6%6a*V)F=O4id7-09-*j1Dr<8bhIB`WhTrMAR zWn%XxeVR9cE(wmjLt1+pOUI}~9O$g%Arg30x)p39I7mozR1KT3E-gkw={)fXwXkl1 z^mHrte!~&hCt>4f>eZUzX;yH}@Dv5bY1+AXpR@Ajk6#MpCVbA74Fea-R1GY`vnS0q zFNNGVufdx7t!`&R^MpITCgUvcR>=;_GP!Rd!!zlv<9tNYJ51?2`>r=H9|xt0to~`G zZ+z}3z@_8;+`Ma1Jk6Y#C~ih1+ELQo^j*3W3jp64Rw9kR*_L|Sl_>c_OS+N(d@A4P z*_L7SKK(kN&yejkK-u42<7p_1y|#`l^IKhxfiFkUPzqG-?6^Q==<;)qYWzWX&UGcF zb_UC@wwzEW>oP3*z=FhQA=+|u5Y&_o=b!nUzn*_Fz&bT$qqtab#@c<-~YfYf=!kB)#s=2=A!DOH={p2|H8$1a_Uiu9k{D z&nPMPgNJE=yc>Q3ufG)dj&k5Bmq&Vhm5L`Hkw)pPBbVU7%d28L&dC~9*NpotPIzYw z{l~`}gqMs{1zJwHn^aRwAl=RWCRxBzm|Qe-Pd=uSIz650bYThwcBUgt1rHwIw`m0L zJMzcNF+bT!dfvUu1MWi9`NX z%-nj`!F^#ij4v~t>HE5~f%NfofIBkgdo9cmCkZ`+VXJO?XKdTnWqueaV@=o;HvRWd z!Zk7-gW1YMr=}XhTxs6iv$`c&s>{!2=iRtX>=xwZ^Ggl0oU)4e&q;EiCpK3mOVdN3 z&5_$aGUDGjt@MffM-Mt-tSR6@RCSSAX=46SLiZoxK}0wdgQ&FF^I%XaKv_Rn3*!Cy z(;!-4!~ZQt9}T{t%td8!`m@hg& z^5demkU3qePww18&T0f@G>!ZYz>$@gQDn+hQKU%WD*}UzouY@ z-?FjI(?{SMpq`>(0JFjOm>sjwZz}PY`<#eBc{5OG)d0{ zmaf)JNIHs64TMauu-=rc`IbxrQwnxAg_mcC zr~P8U`8Ila^S!5WPvyl0_`{@RV7_ytc{EX>L!C|XO+#URJ3%X3;u&MlG2-a@x@hvu zp^rD&=})ibG8B5E2`CHEQ`3^p-_oO#c(To%#0Y-0XZfb?_;rSbM)25u8J|o%%OaL< zXhAIvFrQ0ThJ635JO<7g<>!@(Ig}Qth`=f8k~LeI>5}zy{~*IC4w{O#&OCw7sFPZJ zn&{#i7*zYku$B#VM`rJ>!Wb|u1AG2Z6a!9Sr2XB2Bl*StIgsjLVHF-a=KqU}IIGv4 zmtv|#+}opLjptetW5|#9ZZ%+XI~3)eA=B`x-mqM`!hJ`gV=4$kF0Z=)__B)t-^BUv z=5mYK?~L$rNB%&v`DM}f*%AY*^#q zk=8b~7%zU(78HZ~rp=xc#j0)yI^~UUAb}0O3jLYiHr8EIOs4Kmq>wjKzeZ151nlse zIUS_%hqC>Rl5>^8rzlt)x0+p31kDsBTT@Txi@sSi3cIHjEc-LC#n#;yJk>-m`7&H< zxavNCHKQvdQnvlu-$Rz^o;bzkTrJ8lBB4DSw{c?6Ejo9QwFlTy z_@=|&dba6NGNATMPKq(6{}Iw%Ds@BxMjw9No!LFn{%O%*Nz3T*~rcav}LDAy^ijKTW)AKMNn(-(Y|v5?YgA zZOM4rv*+*<1gLyBdGfmo+ z6KWm7#R$b|5y$mw(MYk8vaU?pjUaW-KT4?InH%Ebh!iRppZ4!sq@vrt@hh)iOmX!x z4okEtq0ZYCK=(51GXC8W25&ytE%fQExJu9GF5zeB1@`7xn6b?;e4JOIK5Ux{w_BVt zzkjf#4Qxt@(qj1#K|K^;hEm|C#;Abt9n!-!obi8sXcs3IxG2tASBP5(nTB8Td&})r ze1OYN55GfA-DEJK93(QC7;cJx%BF}O?8-7D zP)hJvJf8%Zgqivtese#8Cl3tt*@}hYO}chqRAcXWjb$7eW)`3lsf>sA*yBlw%pYyB zL;I2oVkv-I8(xzqKeS#r88QtR7|I(7TvF^iwthhDd>Mk7oZ2)MI*~E`SqSFBYUkFC zCn~4wp06>Q9?K>(Yv^e*XYOQ-w=mq}9#{kCLiZ3<<9j#A~vJ$uV; zx5{eOWgU-q^!^?QGU`X(Y$O;LjKZu)JcsR_Y`>mVRcwa0rBq!xE@?eyU#E=ya=|%> z@N}orju3UCqF$V!hWu8HWf`Vi*^xKJo9KyOX0f~%*=)VxN_7jY+t!f%+4#(Yh7mZQ zNp4}lCgTp@e#=J)&VR0GAM4SU!0OEGMdvD!!4bsLo{J^GH4ze!Ej4ASfopP#Y@>I2 z(Eco1_jNc@2|64_-Yb)FpVEiA{<(#-Hf_c_%MXUq)w?~lli7m0v}7xCsBm?WJsCZA(pH>5Q&<8pCnM(C5Xy zPGwIU=&RJuzlK`b;33B>ePHjNuw{93UNS5Buw+#3wDD+pKk(xAPW^@V=Dh$7oXXS| z&p_N=_JB8Y)Bu;NdU~LxM)cyZpW)C3BvNBZn9l5TeEX*`9pGi%gl3=7UoA0PuNVm6 zkvECd^O)<+Q>M4w>5B~xr0tBVVtcC!i^k&z`gBX%gdk zza=tyTk7zh+~85aSeW3wR94Y~)6z7i3QDX{%*|f;VzFwMom&gay!a0gX}+?D2?lWm zsG^fD*e}}b)-$oo7uNjMvvab08(%D8B>q9}DV1CF5hIkc%%VM0C#Vbu%#S-!?K-Q} zU|X+m-)AOIa3xxkltRB|7^_;0qAzlJe>#O#Z{^pR$tbc2d!+Ap92jek%qGBy#Hw!9 zpyyb!9N+nSvNG?b;jUS~4G1{Ty)>ZlbE9uV+V+}ev7V`gq&TmK%@P?Wp?Y`^BGYAW(5jTpO7|8oe>AmP6KPXhQd@Ys$>QCeGce-H8&5=G2rO@zwL6mfX{Qr1U8njcK4O($S-j+x z`Ge0Z@2mg{-30>QRJ56l2GD34IlW$NSRJ~$s#5q{5qvUv* z8ZCpU7n-H$H*YKpVBtYEyLvzmG*a4?IR&Q>TZW(Ai9(JW&-reRTrJI@7ahM$M_{in zoN)y+b1D@wS_fE=gke@47H=Viw!$;mR(;<%GzXQWy&uHz@w{n?nMBL(Z7JRw!wxnD zRehalFQxtTd!u*nIH+mB=Uc_LKEvpOcQUv;GB)AEN0-jGeE^+dij^LHD1Z3fw2 ziXa-leP6LMsPNvM$~l<6{Mi%97)sNoRigKZUPWYDrz<>~YvjGU%PcA@-7O+lA@QA` zGu|1n23ulqz7bL#V3#Kk)aNk07_z|&{W?k++9 zKVZ Date: Wed, 28 Feb 2024 17:32:29 +0800 Subject: [PATCH 035/343] perf: account translate (#12723) Co-authored-by: feng <1304903146@qq.com> Co-authored-by: feng626 <57284900+feng626@users.noreply.github.com> --- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 107 ++++++++++----------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 114 +++++++++++----------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 120 ++++++++++++------------ apps/i18n/lina/en.json | 59 ++++++------ apps/i18n/lina/zh.json | 30 +++--- apps/ops/notifications.py | 14 +-- apps/settings/serializers/terminal.py | 2 +- 10 files changed, 233 insertions(+), 225 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 30c9d22f0..120248679 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b33b3fc460342e5c344d08fd5217d0d7abbfece053251332607a93d46b3ffbe -size 2319 +oid sha256:354a97baa671b72139dd50723e3a460f4d8e6def32c053722bcd2f4e21063c1a +size 2464 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 105ecb88d..052658858 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-26 15:45+0800\n" +"POT-Creation-Date: 2024-02-28 17:25+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -614,7 +614,8 @@ msgstr "" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 +#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 +#: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:84 @@ -850,7 +851,7 @@ msgstr "" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:37 msgid "Executed amount" -msgstr "Executions" +msgstr "Execution times" #: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:57 @@ -881,10 +882,12 @@ msgid "Password length" msgstr "" #: accounts/serializers/account/template.py:14 +#: settings/serializers/security.py:44 msgid "Lowercase" msgstr "" #: accounts/serializers/account/template.py:15 +#: settings/serializers/security.py:41 msgid "Uppercase" msgstr "" @@ -1243,7 +1246,6 @@ msgstr "" #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 -#: settings/serializers/terminal.py:10 msgid "IP" msgstr "" @@ -1699,6 +1701,7 @@ msgid "Port" msgstr "" #: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 +#: settings/serializers/terminal.py:10 msgid "Address" msgstr "" @@ -2575,8 +2578,8 @@ msgstr "" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 -#: settings/serializers/auth/wecom.py:10 users/models/user.py:749 -#: users/models/user.py:855 +#: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 +#: users/models/user.py:749 users/models/user.py:855 msgid "WeCom" msgstr "" @@ -2590,8 +2593,8 @@ msgstr "Lark" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 -#: settings/serializers/auth/slack.py:10 users/models/user.py:752 -#: users/models/user.py:858 +#: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 +#: users/models/user.py:752 users/models/user.py:858 msgid "Slack" msgstr "" @@ -2609,6 +2612,7 @@ msgstr "" #: audits/signal_handlers/login_log.py:42 authentication/views/login.py:101 #: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 msgid "Passkey" msgstr "" @@ -3136,6 +3140,7 @@ msgid "Options" msgstr "" #: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:17 msgid "Component" msgstr "" @@ -4269,10 +4274,6 @@ msgstr "" msgid "VCS URL" msgstr "" -#: ops/notifications.py:17 -msgid "Components" -msgstr "" - #: ops/notifications.py:18 msgid "Server performance" msgstr "" @@ -4992,12 +4993,17 @@ msgstr "" msgid "Login redirection prompt" msgstr "" -#: settings/serializers/auth/cas.py:10 +#: settings/serializers/auth/cas.py:10 settings/serializers/auth/cas.py:12 msgid "CAS" msgstr "" +#: settings/serializers/auth/cas.py:13 settings/serializers/auth/ldap.py:42 +#: settings/serializers/auth/oidc.py:54 +msgid "Server" +msgstr "" + #: settings/serializers/auth/cas.py:16 -msgid "Proxy server url" +msgid "Proxy Server" msgstr "" #: settings/serializers/auth/cas.py:18 settings/serializers/auth/oauth2.py:54 @@ -5013,14 +5019,20 @@ msgstr "" msgid "Enable attributes map" msgstr "" -#: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 +#: settings/serializers/auth/cas.py:28 settings/serializers/auth/ldap.py:58 +#: settings/serializers/auth/oauth2.py:56 settings/serializers/auth/oidc.py:37 +#: settings/serializers/auth/saml2.py:32 msgid "User attribute" msgstr "" -#: settings/serializers/auth/cas.py:29 +#: settings/serializers/auth/cas.py:30 msgid "Create user" msgstr "" +#: settings/serializers/auth/cas.py:31 +msgid "Automatically create a new user if not found." +msgstr "" + #: settings/serializers/auth/dingtalk.py:15 msgid "Dingtalk" msgstr "" @@ -5029,14 +5041,10 @@ msgstr "" msgid "Lark" msgstr "" -#: settings/serializers/auth/ldap.py:39 +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:84 msgid "LDAP" msgstr "" -#: settings/serializers/auth/ldap.py:42 -msgid "Server" -msgstr "" - #: settings/serializers/auth/ldap.py:43 msgid "eg: ldap://localhost:389" msgstr "" @@ -5077,10 +5085,10 @@ msgid "Search paged size (piece)" msgstr "" #: settings/serializers/auth/oauth2.py:18 +#: settings/serializers/auth/oauth2.py:21 msgid "OAuth2" msgstr "" - #: settings/serializers/auth/oauth2.py:24 msgid "Logo" msgstr "" @@ -5107,7 +5115,8 @@ msgid "Token endpoint" msgstr "" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 -msgid "Client authentication method" +#: settings/serializers/auth/sms.py:106 +msgid "Request method" msgstr "" #: settings/serializers/auth/oauth2.py:49 settings/serializers/auth/oidc.py:77 @@ -5123,7 +5132,7 @@ msgstr "" msgid "Always update user" msgstr "" -#: settings/serializers/auth/oidc.py:12 +#: settings/serializers/auth/oidc.py:12 settings/serializers/auth/oidc.py:63 msgid "OIDC" msgstr "" @@ -5202,7 +5211,7 @@ msgid "Only SSL domain can use passkey auth" msgstr "" #: settings/serializers/auth/passkey.py:15 -msgid "FIDO server ID" +msgid "FIDO Server ID" msgstr "" #: settings/serializers/auth/passkey.py:17 @@ -5212,10 +5221,11 @@ msgid "" msgstr "" #: settings/serializers/auth/passkey.py:22 -msgid "FIDO server name" +msgid "FIDO Server name" msgstr "" #: settings/serializers/auth/radius.py:13 +#: settings/serializers/auth/radius.py:15 msgid "Radius" msgstr "" @@ -5223,7 +5233,7 @@ msgstr "" msgid "OTP in Radius" msgstr "" -#: settings/serializers/auth/saml2.py:10 +#: settings/serializers/auth/saml2.py:10 settings/serializers/auth/saml2.py:13 msgid "SAML2" msgstr "" @@ -5626,14 +5636,6 @@ msgstr "" msgid "Minimum length (Admin)" msgstr "" -#: settings/serializers/security.py:41 -msgid "Uppercase" -msgstr "" - -#: settings/serializers/security.py:44 -msgid "Lowercase" -msgstr "" - #: settings/serializers/security.py:47 msgid "Digits" msgstr "" @@ -5648,11 +5650,11 @@ msgid "" "allowed during this time interval." msgstr "" -#: settings/serializers/security.py:63 +#: settings/serializers/security.py:63 settings/serializers/security.py:73 msgid "Login failures count" msgstr "" -#: settings/serializers/security.py:77 +#: settings/serializers/security.py:67 settings/serializers/security.py:77 msgid "Login failure period (minute)" msgstr "" @@ -5849,10 +5851,6 @@ msgstr "" msgid "[%s] %s" msgstr "" -#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 -msgid "Hostname" -msgstr "" - #: settings/serializers/terminal.py:15 msgid "Auto" msgstr "" @@ -5873,12 +5871,12 @@ msgstr "" #: settings/serializers/terminal.py:29 msgid "Public key auth" -msgstr "" +msgstr "Public key auth" #: settings/serializers/terminal.py:30 msgid "" -"Information: If use other auth method, like AD/LDAP, you should disable this to " -"avoid being able to log in after deleting" +"Information: If use other auth method, like AD/LDAP, you should disable this " +"to avoid being able to log in after deleting" msgstr "" #: settings/serializers/terminal.py:34 @@ -5889,14 +5887,6 @@ msgstr "" msgid "Asset list page size" msgstr "" -#: settings/serializers/terminal.py:39 -msgid "Enable database proxy" -msgstr "" - -#: settings/serializers/terminal.py:40 -msgid "Enable Razor" -msgstr "" - #: settings/tasks/ldap.py:28 msgid "Periodic import ldap user" msgstr "" @@ -6692,6 +6682,10 @@ msgstr "" msgid "You have already joined this session" msgstr "" +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "" + #: terminal/models/virtualapp/virtualapp.py:32 msgid "Providers" msgstr "" @@ -6930,7 +6924,6 @@ msgid "Bucket" msgstr "" #: terminal/serializers/storage.py:33 -#: xpack/plugins/cloud/serializers/account_attrs.py:17 msgid "Access key ID" msgstr "" @@ -7789,8 +7782,8 @@ msgid "Is OTP bound" msgstr "OTP bound" #: users/serializers/user.py:101 -msgid "Can public key auth" -msgstr "Public key auth" +msgid "Can public key authentication" +msgstr "Can public key authentication" #: users/serializers/user.py:166 msgid "Groups" @@ -8612,6 +8605,10 @@ msgstr "" msgid "Provider display" msgstr "" +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "Access key id" + #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 4d44387a3..41b53b5a8 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6927f54b75facae0524e9d6cd4d021104780d96cdc128880f6e960ed72fb4ae5 -size 168378 +oid sha256:3f56e397e2b9120c529fe1a6a7334cd6522df6298ffcb8f0af44e4c234899de4 +size 167973 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index ca35fb4a8..de6f736a3 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-26 15:45+0800\n" +"POT-Creation-Date: 2024-02-28 17:24+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -614,7 +614,8 @@ msgstr "パスワードルール" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 +#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 +#: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:84 @@ -895,10 +896,12 @@ msgid "Password length" msgstr "パスワードの長さ" #: accounts/serializers/account/template.py:14 +#: settings/serializers/security.py:44 msgid "Lowercase" msgstr "小文字" #: accounts/serializers/account/template.py:15 +#: settings/serializers/security.py:41 msgid "Uppercase" msgstr "大文字" @@ -1267,7 +1270,6 @@ msgstr "" #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 -#: settings/serializers/terminal.py:10 msgid "IP" msgstr "IP" @@ -1739,6 +1741,7 @@ msgid "Port" msgstr "ポート" #: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 +#: settings/serializers/terminal.py:10 msgid "Address" msgstr "アドレス" @@ -2628,8 +2631,8 @@ msgstr "認証トークン" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 -#: settings/serializers/auth/wecom.py:10 users/models/user.py:749 -#: users/models/user.py:855 +#: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 +#: users/models/user.py:749 users/models/user.py:855 msgid "WeCom" msgstr "企業微信" @@ -2643,8 +2646,8 @@ msgstr "本を飛ばす" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 -#: settings/serializers/auth/slack.py:10 users/models/user.py:752 -#: users/models/user.py:858 +#: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 +#: users/models/user.py:752 users/models/user.py:858 msgid "Slack" msgstr "" @@ -2662,6 +2665,7 @@ msgstr "仮パスワード" #: audits/signal_handlers/login_log.py:42 authentication/views/login.py:101 #: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 msgid "Passkey" msgstr "Passkey" @@ -3209,6 +3213,7 @@ msgid "Options" msgstr "オプション" #: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:17 msgid "Component" msgstr "コンポーネント" @@ -4391,12 +4396,6 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" -#: ops/notifications.py:17 -#, fuzzy -#| msgid "Component" -msgid "Components" -msgstr "コンポーネント" - #: ops/notifications.py:18 msgid "Server performance" msgstr "サーバーのパフォーマンス" @@ -5149,10 +5148,15 @@ msgstr "パスワードのURLを忘れた" msgid "Login redirection prompt" msgstr "ログインリダイレクトの有効化msg" -#: settings/serializers/auth/cas.py:10 +#: settings/serializers/auth/cas.py:10 settings/serializers/auth/cas.py:12 msgid "CAS" msgstr "CAS" +#: settings/serializers/auth/cas.py:13 settings/serializers/auth/ldap.py:42 +#: settings/serializers/auth/oidc.py:54 +msgid "Server" +msgstr "LDAPサーバー" + #: settings/serializers/auth/cas.py:16 msgid "Proxy Server" msgstr "コールバックアドレス" @@ -5170,14 +5174,20 @@ msgstr "ユーザー名のプロパティ" msgid "Enable attributes map" msgstr "属性マップの有効化" -#: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 +#: settings/serializers/auth/cas.py:28 settings/serializers/auth/ldap.py:58 +#: settings/serializers/auth/oauth2.py:56 settings/serializers/auth/oidc.py:37 +#: settings/serializers/auth/saml2.py:32 msgid "User attribute" msgstr "マッピングのプロパティ" -#: settings/serializers/auth/cas.py:29 +#: settings/serializers/auth/cas.py:30 msgid "Create user" msgstr "そうでない場合はユーザーを作成" +#: settings/serializers/auth/cas.py:31 +msgid "Automatically create a new user if not found." +msgstr "" + #: settings/serializers/auth/dingtalk.py:15 msgid "Dingtalk" msgstr "ピン認証の有効化" @@ -5186,14 +5196,10 @@ msgstr "ピン認証の有効化" msgid "Lark" msgstr "飛本認証の有効化" -#: settings/serializers/auth/ldap.py:39 +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:84 msgid "LDAP" msgstr "LDAP" -#: settings/serializers/auth/ldap.py:42 -msgid "Server" -msgstr "LDAPサーバー" - #: settings/serializers/auth/ldap.py:43 msgid "eg: ldap://localhost:389" msgstr "例: ldap://localhost:389" @@ -5236,6 +5242,7 @@ msgid "Search paged size (piece)" msgstr "ページサイズを検索 (じょう)" #: settings/serializers/auth/oauth2.py:18 +#: settings/serializers/auth/oauth2.py:21 msgid "OAuth2" msgstr "OAuth2" @@ -5265,6 +5272,7 @@ msgid "Token endpoint" msgstr "プロバイダートークンエンドポイント" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 +#: settings/serializers/auth/sms.py:106 msgid "Request method" msgstr "クライアント認証方式" @@ -5281,7 +5289,7 @@ msgstr "プロバイダーのセッション終了エンドポイント" msgid "Always update user" msgstr "常にユーザーを更新" -#: settings/serializers/auth/oidc.py:12 +#: settings/serializers/auth/oidc.py:12 settings/serializers/auth/oidc.py:63 msgid "OIDC" msgstr "OIDC" @@ -5379,6 +5387,7 @@ msgid "FIDO Server name" msgstr "FIDOサーバー名" #: settings/serializers/auth/radius.py:13 +#: settings/serializers/auth/radius.py:15 msgid "Radius" msgstr "Radius" @@ -5386,7 +5395,7 @@ msgstr "Radius" msgid "OTP in Radius" msgstr "Radius のOTP" -#: settings/serializers/auth/saml2.py:10 +#: settings/serializers/auth/saml2.py:10 settings/serializers/auth/saml2.py:13 msgid "SAML2" msgstr "SAML2" @@ -5816,14 +5825,6 @@ msgstr "パスワードの最小長" msgid "Minimum length (Admin)" msgstr "管理者ユーザーパスワードの最小長" -#: settings/serializers/security.py:41 -msgid "Uppercase" -msgstr "資本を含める必要があります" - -#: settings/serializers/security.py:44 -msgid "Lowercase" -msgstr "小文字を含める必要があります。" - #: settings/serializers/security.py:47 msgid "Digits" msgstr "数値を含める必要があります" @@ -5840,11 +5841,11 @@ msgstr "" "ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログイン" "はできません。" -#: settings/serializers/security.py:63 +#: settings/serializers/security.py:63 settings/serializers/security.py:73 msgid "Login failures count" msgstr "ユーザーログインの失敗数を制限する" -#: settings/serializers/security.py:67 +#: settings/serializers/security.py:67 settings/serializers/security.py:77 msgid "Login failure period (minute)" msgstr "ユーザーのログイン間隔をブロックする(分)" @@ -6058,10 +6059,6 @@ msgstr "複数のユーザーを使用して、分割" msgid "[%s] %s" msgstr "[%s] %s" -#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 -msgid "Hostname" -msgstr "ホスト名" - #: settings/serializers/terminal.py:15 msgid "Auto" msgstr "自動" @@ -6083,13 +6080,15 @@ msgid "Password auth" msgstr "パスワード認証" #: settings/serializers/terminal.py:29 +#, fuzzy +#| msgid "Public key auth" msgid "Public key auth" msgstr "鍵認証" #: settings/serializers/terminal.py:30 msgid "" -"Information: If use other auth method, like AD/LDAP, you should disable this to " -"avoid being able to log in after deleting" +"Information: If use other auth method, like AD/LDAP, you should disable this " +"to avoid being able to log in after deleting" msgstr "" "ヒント: AD/LDAPなどの他の認証方法を使用する場合は、サードパーティ製システムの" "削除後にこの項目を無効にする必要があります, ログインも可能" @@ -6102,18 +6101,6 @@ msgstr "リストの並べ替え" msgid "Asset list page size" msgstr "ページサイズを一覧表示" -#: settings/serializers/terminal.py:39 -msgid "Enable database proxy" -msgstr "属性マップの有効化" - -#: settings/serializers/terminal.py:40 -msgid "Enable Razor" -msgstr "Razor の有効化" - -#: settings/serializers/terminal.py:41 -msgid "SSH Client" -msgstr "SSH Clientの有効化" - #: settings/tasks/ldap.py:28 msgid "Periodic import ldap user" msgstr "LDAP ユーザーを定期的にインポートする" @@ -6532,6 +6519,10 @@ msgstr "出力" msgid "Risk level" msgstr "リスクレベル" +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "SSH Clientの有効化" + #: terminal/connect_methods.py:30 msgid "SSH Guide" msgstr "SSH ガイド人" @@ -6937,6 +6928,10 @@ msgstr "検証コードが無効" msgid "You have already joined this session" msgstr "すでにこのセッションに参加しています" +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "ホスト名" + #: terminal/models/virtualapp/virtualapp.py:32 msgid "Providers" msgstr "プロバイダ" @@ -7199,7 +7194,6 @@ msgid "Bucket" msgstr "バケット" #: terminal/serializers/storage.py:33 -#: xpack/plugins/cloud/serializers/account_attrs.py:17 msgid "Access key ID" msgstr "アクセスキー" @@ -8094,7 +8088,9 @@ msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" #: users/serializers/user.py:101 -msgid "Can public key auth" +#, fuzzy +#| msgid "Can public key auth" +msgid "Can public key authentication" msgstr "公開鍵認証が可能" #: users/serializers/user.py:166 @@ -8935,6 +8931,12 @@ msgstr "有効表示" msgid "Provider display" msgstr "プロバイダ表示" +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +#, fuzzy +#| msgid "Access key" +msgid "Access key id" +msgstr "アクセスキー" + #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "クライアントID" @@ -9123,6 +9125,12 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Enable database proxy" +#~ msgstr "属性マップの有効化" + +#~ msgid "Enable Razor" +#~ msgstr "Razor の有効化" + #~ msgid "Email Subject" #~ msgstr "ユーザーメール件名の作成" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 79faccfcd..2f842d6ea 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7422fdff60206636c98e63ee17b1b509d7d6678c95379163e6279c3e55e27eb4 -size 139220 +oid sha256:5b0b4861d76e743aba8af897d77c39f0cadf414cc21b2b66e400e58da0c0249d +size 138962 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index db942d08a..6958569c2 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-26 15:45+0800\n" +"POT-Creation-Date: 2024-02-28 17:25+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -613,7 +613,8 @@ msgstr "密码规则" #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 -#: terminal/models/applet/applet.py:33 terminal/models/component/endpoint.py:12 +#: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 +#: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 #: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:84 @@ -891,10 +892,12 @@ msgid "Password length" msgstr "密码长度" #: accounts/serializers/account/template.py:14 +#: settings/serializers/security.py:44 msgid "Lowercase" msgstr "小写字母" #: accounts/serializers/account/template.py:15 +#: settings/serializers/security.py:41 msgid "Uppercase" msgstr "大写字母" @@ -1258,7 +1261,6 @@ msgstr "" #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 -#: settings/serializers/terminal.py:10 msgid "IP" msgstr "IP" @@ -1723,6 +1725,7 @@ msgid "Port" msgstr "端口" #: assets/models/asset/common.py:160 assets/serializers/asset/common.py:150 +#: settings/serializers/terminal.py:10 msgid "Address" msgstr "地址" @@ -2601,8 +2604,8 @@ msgstr "认证令牌" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 -#: settings/serializers/auth/wecom.py:10 users/models/user.py:749 -#: users/models/user.py:855 +#: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 +#: users/models/user.py:749 users/models/user.py:855 msgid "WeCom" msgstr "企业微信" @@ -2616,8 +2619,8 @@ msgstr "飞书" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 -#: settings/serializers/auth/slack.py:10 users/models/user.py:752 -#: users/models/user.py:858 +#: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 +#: users/models/user.py:752 users/models/user.py:858 msgid "Slack" msgstr "" @@ -2635,6 +2638,7 @@ msgstr "临时密码" #: audits/signal_handlers/login_log.py:42 authentication/views/login.py:101 #: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 msgid "Passkey" msgstr "Passkey" @@ -3165,6 +3169,7 @@ msgid "Options" msgstr "选项" #: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:17 msgid "Component" msgstr "组件" @@ -4312,12 +4317,6 @@ msgstr "创建方式" msgid "VCS URL" msgstr "VCS URL" -#: ops/notifications.py:17 -#, fuzzy -#| msgid "Component" -msgid "Components" -msgstr "组件" - #: ops/notifications.py:18 msgid "Server performance" msgstr "监控告警" @@ -5040,10 +5039,15 @@ msgstr "忘记密码 URL" msgid "Login redirection prompt" msgstr "启用登录跳转提示" -#: settings/serializers/auth/cas.py:10 +#: settings/serializers/auth/cas.py:10 settings/serializers/auth/cas.py:12 msgid "CAS" msgstr "CAS" +#: settings/serializers/auth/cas.py:13 settings/serializers/auth/ldap.py:42 +#: settings/serializers/auth/oidc.py:54 +msgid "Server" +msgstr "LDAP 地址" + #: settings/serializers/auth/cas.py:16 msgid "Proxy Server" msgstr "回调地址" @@ -5061,14 +5065,20 @@ msgstr "用户名属性" msgid "Enable attributes map" msgstr "启用属性映射" -#: settings/serializers/auth/cas.py:28 settings/serializers/auth/saml2.py:32 +#: settings/serializers/auth/cas.py:28 settings/serializers/auth/ldap.py:58 +#: settings/serializers/auth/oauth2.py:56 settings/serializers/auth/oidc.py:37 +#: settings/serializers/auth/saml2.py:32 msgid "User attribute" msgstr "映射属性" -#: settings/serializers/auth/cas.py:29 +#: settings/serializers/auth/cas.py:30 msgid "Create user" msgstr "创建用户(如果不存在)" +#: settings/serializers/auth/cas.py:31 +msgid "Automatically create a new user if not found." +msgstr "" + #: settings/serializers/auth/dingtalk.py:15 msgid "Dingtalk" msgstr "启用钉钉认证" @@ -5077,14 +5087,10 @@ msgstr "启用钉钉认证" msgid "Lark" msgstr "启用飞书认证" -#: settings/serializers/auth/ldap.py:39 +#: settings/serializers/auth/ldap.py:39 settings/serializers/auth/ldap.py:84 msgid "LDAP" msgstr "LDAP" -#: settings/serializers/auth/ldap.py:42 -msgid "Server" -msgstr "LDAP 地址" - #: settings/serializers/auth/ldap.py:43 msgid "eg: ldap://localhost:389" msgstr "如: ldap://localhost:389" @@ -5127,6 +5133,7 @@ msgid "Search paged size (piece)" msgstr "搜索分页数量 (条)" #: settings/serializers/auth/oauth2.py:18 +#: settings/serializers/auth/oauth2.py:21 msgid "OAuth2" msgstr "OAuth2" @@ -5156,6 +5163,7 @@ msgid "Token endpoint" msgstr "token 端点地址" #: settings/serializers/auth/oauth2.py:45 settings/serializers/auth/oidc.py:30 +#: settings/serializers/auth/sms.py:106 msgid "Request method" msgstr "客户端认证方式" @@ -5172,6 +5180,10 @@ msgstr "注销会话端点地址" msgid "Always update user" msgstr "总是更新用户信息" +#: settings/serializers/auth/oidc.py:12 settings/serializers/auth/oidc.py:63 +msgid "OIDC" +msgstr "启用 OIDC 认证" + #: settings/serializers/auth/oidc.py:16 msgid "Base site URL" msgstr "JumpServer 地址" @@ -5208,10 +5220,6 @@ msgstr "使用 Keycloak" msgid "Realm name" msgstr "域" -#: settings/serializers/auth/oidc.py:63 -msgid "OIDC" -msgstr "启用 OIDC 认证" - #: settings/serializers/auth/oidc.py:65 msgid "Provider endpoint" msgstr "端点地址" @@ -5269,6 +5277,7 @@ msgid "FIDO Server name" msgstr "Passkey 服务名称" #: settings/serializers/auth/radius.py:13 +#: settings/serializers/auth/radius.py:15 msgid "Radius" msgstr "Radius" @@ -5276,7 +5285,7 @@ msgstr "Radius" msgid "OTP in Radius" msgstr "使用 Radius OTP" -#: settings/serializers/auth/saml2.py:10 +#: settings/serializers/auth/saml2.py:10 settings/serializers/auth/saml2.py:13 msgid "SAML2" msgstr "SAML2" @@ -5285,7 +5294,7 @@ msgid "IDP Metadata URL" msgstr "IDP Metadata 地址" #: settings/serializers/auth/saml2.py:19 -msgid "IDP metadata XML" +msgid "IDP Metadata XML" msgstr "IDP Metadata XML" #: settings/serializers/auth/saml2.py:22 @@ -5689,14 +5698,6 @@ msgstr "密码最小长度" msgid "Minimum length (Admin)" msgstr "管理员密码最小长度" -#: settings/serializers/security.py:41 -msgid "Uppercase" -msgstr "必须包含大写字符" - -#: settings/serializers/security.py:44 -msgid "Lowercase" -msgstr "必须包含小写字符" - #: settings/serializers/security.py:47 msgid "Digits" msgstr "必须包含数字" @@ -5711,11 +5712,11 @@ msgid "" "allowed during this time interval." msgstr "当用户登录失败次数达到限制后,那么在此间隔内禁止登录" -#: settings/serializers/security.py:63 +#: settings/serializers/security.py:63 settings/serializers/security.py:73 msgid "Login failures count" msgstr "限制用户登录失败次数" -#: settings/serializers/security.py:67 +#: settings/serializers/security.py:67 settings/serializers/security.py:77 msgid "Login failure period (minute)" msgstr "禁止用户登录间隔 (分)" @@ -5920,10 +5921,6 @@ msgstr "多个用户,使用 , 分割" msgid "[%s] %s" msgstr "[%s] %s" -#: settings/serializers/terminal.py:9 terminal/models/virtualapp/provider.py:11 -msgid "Hostname" -msgstr "主机名" - #: settings/serializers/terminal.py:15 msgid "Auto" msgstr "自动" @@ -5944,12 +5941,12 @@ msgstr "密码认证" #: settings/serializers/terminal.py:29 msgid "Public key auth" -msgstr "密钥认证" +msgstr "公钥授权" #: settings/serializers/terminal.py:30 msgid "" -"Information: If use other auth method, like AD/LDAP, you should disable this to " -"avoid being able to log in after deleting" +"Information: If use other auth method, like AD/LDAP, you should disable this " +"to avoid being able to log in after deleting" msgstr "" "提示:如果你使用其它认证方式,如 AD/LDAP,你应该禁用此项,以避免第三方系统删" "除后,还可以登录" @@ -5962,18 +5959,6 @@ msgstr "资产列表排序" msgid "Asset list page size" msgstr "资产列表每页数量" -#: settings/serializers/terminal.py:39 -msgid "Enable database proxy" -msgstr "启用数据库组件" - -#: settings/serializers/terminal.py:40 -msgid "Enable Razor" -msgstr "启用 Razor 服务" - -#: settings/serializers/terminal.py:41 -msgid "SSH Client" -msgstr "启用 SSH Client" - #: settings/tasks/ldap.py:28 msgid "Periodic import ldap user" msgstr "周期导入 LDAP 用户" @@ -6380,6 +6365,10 @@ msgstr "输出" msgid "Risk level" msgstr "风险等级" +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "启用 SSH Client" + #: terminal/connect_methods.py:30 msgid "SSH Guide" msgstr "SSH 向导" @@ -6785,6 +6774,10 @@ msgstr "验证码不正确" msgid "You have already joined this session" msgstr "您已经加入过此会话" +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "主机名" + #: terminal/models/virtualapp/virtualapp.py:32 msgid "Providers" msgstr "提供商" @@ -7040,7 +7033,6 @@ msgid "Bucket" msgstr "桶名称" #: terminal/serializers/storage.py:33 -#: xpack/plugins/cloud/serializers/account_attrs.py:17 msgid "Access key ID" msgstr "Access key ID(AK)" @@ -7912,8 +7904,8 @@ msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" #: users/serializers/user.py:101 -msgid "Can public key auth" -msgstr "可以使用公钥认证" +msgid "Can public key authentication" +msgstr "可以公钥认证吗" #: users/serializers/user.py:166 msgid "Groups" @@ -8738,6 +8730,10 @@ msgstr "有效性显示" msgid "Provider display" msgstr "服务商显示" +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "Access key id" + #: xpack/plugins/cloud/serializers/account_attrs.py:35 msgid "Client ID" msgstr "客户端 ID" @@ -8923,6 +8919,12 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Enable database proxy" +#~ msgstr "启用数据库组件" + +#~ msgid "Enable Razor" +#~ msgstr "启用 Razor 服务" + #~ msgid "Email Subject" #~ msgstr "邮件主题" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ff486f4dd..6cd4d0834 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -6,7 +6,9 @@ "AccessKey": "Access Key", "Account": "Account", "AccountBackup": "Account Backup", - "AccountChangeSecret": "Change Secret", + "AccountChangeSecret": "Account Change Secret", + "AccountGatherList": "Gather Tasks", + "AccountGatherTaskList": "Account Gather", "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update Account Backup", "AccountBatchUpdate": "Updated selected", @@ -14,8 +16,6 @@ "AccountCreate": "Create Account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", - "AccountGatherList": "Collection Task", - "AccountGatherTaskList": "Account Collect", "AccountGatherTaskUpdate": "Update Task", "AccountList": "Accounts", "AccountPolicy": "Account Policy", @@ -26,7 +26,7 @@ "AccountTemplate": "Template", "AccountTemplateList": "Templates", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", - "Accounts": "Account", + "Accounts": "Accounts", "Action": "Action", "ActionCount": "Actions", "ActionSetting": "Action Settings", @@ -167,7 +167,7 @@ "BasicSetting": "Basic", "BatchConsent": "Batch Approval", "BatchProcessing": "{Number} items selected", - "BatchReject": "Bulk Deny", + "BatchReject": "Batch Deny", "BeforeChange": "Before Change", "Beian": "Record", "BelongAll": "Including at the same time", @@ -178,18 +178,17 @@ "BindSuccess": "Binding Successful", "BlockedIPS": "Locked IPs", "BuiltinVariable": "Built-in variables", - "BulkClearErrorMsg": "Bulk Clearing Failed:", - "BulkCreateStrategy": "For accounts that do not meet the requirements during creation, such as: non-compliant key types, unique key constraints, you can choose the above policy.", - "BulkDeleteErrorMsg": "Batch Deletion Failure:", - "BulkDeleteSuccessMsg": "Bulk Deletion Successful", - "BulkDeploy": "Batch Deployment", - "BulkOffline": "Batch Offline", - "BulkSyncDelete": "Bulk Sync Delete", - "BulkSyncErrorMsg": "Bulk Synchronization Failed:", - "BulkTransfer": "Bulk Transfer", - "BulkUnblock": "Bulk Unlock", - "BulkUpdatePlatformHelpText": "Updates will only be performed when the original platform type of the asset is the same as the selected platform type. If the platform type is different before and after the update, it will not be updated.", - "BulkVerify": "Verify selected", + "BatchClearErrorMsg": "Batch Clearing Failed:", + "AccountPolicyHelpText": "For accounts that do not meet the requirements when creating, such as: non-compliant key types and unique key constraints, you can choose the above strategy.", + "BatchDeleteErrorMsg": "Batch deletion failed", + "BatchDeleteSuccessMsg": "Batch deletion successful", + "BatchDeployment": "Batch deployment", + "BatchOffline": "Batch Offline", + "BatchSyncDelete": "Batch sync deletion", + "BatchSyncErrorMsg": "Batch sync Failed", + "BatchTransfer": "Batch Transfer", + "BulkUnblock": "Batch Unlock", + "BatchUpdatePlatformHelpText": "The asset will be updated only if the original platform type is the same as the selected platform type. If the platform types before and after the update are different, it will not be updated.", "CACertificate": "CA Certificate", "CAS": "CAS", "CMPP2": "CMPP v2.0", @@ -354,7 +353,7 @@ "DeleteOrgMsg": "User List, User Group, Asset List, Network Domain List, Manage Users, System Users, Tag Management, Asset Authorization Rules", "DeleteOrgTitle": "Please Ensure the Following Information within the Organization has been Deleted", "DeleteReleasedAssets": "Delete Released Assets", - "DeleteSelected": "Delete selected", + "BatchDelete": "Batch deletion", "DeleteSuccess": "Delete Successfully", "DeleteSuccessMsg": "Delete Successful", "DeleteWarningMsg": "Are You Sure You Want to Delete", @@ -362,7 +361,7 @@ "Description": "Description", "DestinationIP": "Destination Address", "DestinationPort": "Destination Port", - "Detail": "Details", + "Detail": "Detail", "DeviceCreate": "Create Asset-Network Device", "DeviceUpdate": "Update Assets - Network Equipment", "Digit": "Number", @@ -374,7 +373,6 @@ "Docs": "Document", "Domain": "Domain", "DomainCreate": "Create Domain", - "DomainDetail": "Domain Details", "DomainEnabled": "Enable Domain", "DomainHelpMessage": "Domain function is designed to solve the problem that some environments (such as: hybrid cloud) cannot be directly connected, and a new function is added. The principle is to log in through the gateway server. JMS => Domain Gateway => Target Assets.", "DomainList": "Domains", @@ -468,7 +466,7 @@ "GatewayCreate": "Create Gateway", "GatewayList": "Gateway list", "GatewayUpdate": "Update Gateway", - "GatheredAccounts": "Collected Accounts", + "GatheredAccounts": "Gathered Accounts", "GeneralAccounts": "General Accounts", "Generate": "Generate", "GenerateAccounts": "Regenerate Account", @@ -627,7 +625,7 @@ "Server": "Server", "ManualAccount": "Manual Account", "ManualAccountTip": "Manual input of Username/Password upon Login", - "ManualExecutePlan": "Manual Execute Plan", + "ManualExecute": "Manual execution", "ManyChoose": "Select Multiple", "MarkAsRead": "Mark as read", "Marketplace": "App Market", @@ -943,6 +941,7 @@ "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", "SelectAttrs": "Select Attributes", "SelectByAttr": "Attribute Filter", + "BatchUpdate": "Batch update", "SelectFile": "Select File", "SelectKeyOrCreateNew": "Select Tag Key or Create New One", "SelectLabelFilter": "Select tag for search", @@ -1037,20 +1036,20 @@ "SupportedProtocol": "Supported Protocols", "SupportedProtocolHelpText": "Set supported protocols for the asset, you can modify the custom configurations, such as SFTP directory, RDP AD domain, etc., by clicking on the set button", "Sync": "Sync", - "SyncDelete": "Synchronous Delete", + "SyncDelete": "Sync Deletion", "SyncInstanceTaskCreate": "Create Sync Task", "SyncInstanceTaskDetail": "Sync Task Details", "SyncInstanceTaskHistoryAssetList": "Synchronize instance list", "SyncInstanceTaskHistoryList": "Synchronization History List", "SyncInstanceTaskList": "Synchronization Task List", "SyncInstanceTaskUpdate": "Update Sync Task", - "SyncSelected": "Sync selected", + "BatchSync": "Batch sync", "SyncSetting": "Sync Settings", - "SyncStrategy": "Synchronization Policy", - "SyncSuccessMsg": "Synchronization Succeeded", - "SyncTask": "Synchronize Tasks", - "SyncUpdateAccountInfo": "Update Self and Account Secret", - "SyncUser": "Synchronize Users", + "SyncStrategy": "Sync Policy", + "SyncSuccessMsg": "Sync Succeeded", + "SyncTask": "Sync Tasks", + "SyncUpdateAccountInfo": "Sync update account information", + "SyncUser": "Sync Users", "SyncedCount": "Synchronized", "SystemError": "System Error", "SystemRole": "System Roles", @@ -1070,7 +1069,7 @@ "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", "TemplateManagement": "Template Management", - "TemplateAdd": "Add from template", + "TemplateAdd": "Template addition", "TemplateCreate": "Create Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", "TencentCloud": "Tencent Cloud", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index fe30942b8..01f8b8782 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -159,6 +159,8 @@ "BatchProcessing": "批量处理(选中 {Number} 项)", "BatchReject": "批量拒绝", "BeforeChange": "变更前", + "BatchUpdate": "批量更新", + "BatchDelete": "批量删除", "Beian": "备案", "BelongAll": "同时包含", "BelongTo": "任意包含", @@ -168,17 +170,17 @@ "BindSuccess": "绑定成功", "BlockedIPS": "已锁定的 IP", "BuiltinVariable": "内置变量", - "BulkClearErrorMsg": "批量清除失败:", - "BulkCreateStrategy": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", - "BulkDeleteErrorMsg": "批量删除失败: ", - "BulkDeleteSuccessMsg": "批量删除成功", - "BulkDeploy": "批量部署", - "BulkOffline": "批量下线", - "BulkSyncDelete": "批量同步删除", - "BulkSyncErrorMsg": "批量同步失败: ", - "BulkTransfer": "批量传输", - "BulkUnblock": "批量解锁", - "BulkUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", + "BatchClearErrorMsg": "批量清除失败:", + "AccountPolicyHelpText": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", + "BatchDeleteErrorMsg": "批量删除失败", + "BatchDeleteSuccessMsg": "批量删除成功", + "BatchDeployment": "批量部署", + "BatchOffline": "批量下线", + "BatchSyncDelete": "批量同步删除", + "BatchSyncErrorMsg": "批量同步失败: ", + "BatchTransfer": "批量传输", + "BatchUnblock": "批量解锁", + "BatchUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", "CACertificate": "CA 证书", "CAS": "CAS", "CMPP2": "CMPP v2.0", @@ -359,7 +361,6 @@ "Docs": "文档", "Domain": "网域", "DomainCreate": "创建网域", - "DomainDetail": "网域详情", "DomainEnabled": "启用网域", "DomainHelpMessage": "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。JMS => 网域网关 => 目标资产", "DomainList": "网域列表", @@ -610,7 +611,7 @@ "MailSend": "邮件发送", "ManualAccount": "手动账号", "ManualAccountTip": "登录时手动输入 用户名/密码", - "ManualExecutePlan": "手动执行计划", + "ManualExecutePlan": "手动执行", "ManyChoose": "可多选", "MarkAsRead": "标记已读", "Marketplace": "应用市场", @@ -1025,7 +1026,7 @@ "SyncInstanceTaskHistoryList": "同步历史列表", "SyncInstanceTaskList": "同步任务列表", "SyncInstanceTaskUpdate": "更新同步任务", - "SyncSelected": "同步所选", + "BatchSync": "批量同步", "SyncSetting": "同步设置", "SyncStrategy": "同步策略", "SyncSuccessMsg": "同步成功", @@ -1114,6 +1115,7 @@ "Update": "更新", "UpdateAccount": "更新账号", "UpdateAccountTemplate": "更新账号模版", + "AccountTemplateList": "模版列表", "UpdateAssetDetail": "配置更多信息", "UpdateAssetUserToken": "更新账号认证信息", "UpdateEndpoint": "更新端点", diff --git a/apps/ops/notifications.py b/apps/ops/notifications.py index c5950228a..582e908ad 100644 --- a/apps/ops/notifications.py +++ b/apps/ops/notifications.py @@ -1,20 +1,20 @@ -from django.utils.translation import gettext_lazy as _ -from django.utils.translation import gettext from django.template.loader import render_to_string +from django.utils.translation import gettext +from django.utils.translation import gettext_lazy as _ -from notifications.notifications import SystemMessage -from notifications.models import SystemMsgSubscription -from users.models import User from notifications.backends import BACKEND -from terminal.models.component.status import Status +from notifications.models import SystemMsgSubscription +from notifications.notifications import SystemMessage from terminal.models import Terminal +from terminal.models.component.status import Status +from users.models import User __all__ = ('ServerPerformanceMessage', 'ServerPerformanceCheckUtil') class ServerPerformanceMessage(SystemMessage): category = 'Components' - category_label = _('Components') + category_label = _('Component') message_type_label = _('Server performance') def __init__(self, terms_with_errors): diff --git a/apps/settings/serializers/terminal.py b/apps/settings/serializers/terminal.py index e69910add..fe95a571c 100644 --- a/apps/settings/serializers/terminal.py +++ b/apps/settings/serializers/terminal.py @@ -26,7 +26,7 @@ class TerminalSettingSerializer(serializers.Serializer): ) TERMINAL_PASSWORD_AUTH = serializers.BooleanField(required=False, label=_("Password auth")) TERMINAL_PUBLIC_KEY_AUTH = serializers.BooleanField( - required=False, label=_("public key auth"), + required=False, label=_("Public key auth"), help_text=_('Information: If use other auth method, like AD/LDAP, you should disable this to ' 'avoid being able to log in after deleting') ) From c9e12a3027f33d56be19ad7280c88b8ef5332369 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Wed, 28 Feb 2024 18:23:10 +0800 Subject: [PATCH 036/343] perf: Modify some translations --- apps/i18n/lina/en.json | 13 ++++++------- apps/i18n/lina/zh.json | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 6cd4d0834..d92ee4c7b 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -12,7 +12,6 @@ "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update Account Backup", "AccountBatchUpdate": "Updated selected", - "AccountChangeSecret": "Password Change", "AccountCreate": "Create Account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", @@ -115,10 +114,10 @@ "AssetAmount": "Asset amount", "AssetAndNode": "Assets/Nodes", "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", - "AssetChangeSecretCreate": "Create Account Password Change", - "AssetChangeSecretUpdate": "Update Account Password Change", + "AssetChangeSecretCreate": "Create account and change secret", + "AssetChangeSecretUpdate": "Update account and change secret", "AssetData": "Asset Data", - "AssetDetail": "Asset Details", + "AssetDetail": "Asset Detail", "AssetList": "Assets", "AssetListHelpMessage": "On the left is the asset tree. Right-click to create, delete or modify tree nodes. Assets are also organized in node form. On the right are the assets under this node. \n", "AssetLoginACLHelpMsg": "When logging into assets, it can be audited based on the user's login IP and time segment to determine whether the assets can be logged into", @@ -132,7 +131,7 @@ "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", "AssetTree": "Asset Tree", "Assets": "Assets", - "AssetsAmount": "Asset", + "AssetsAmount": "Asset amount", "AssetsTotal": "Asset Total", "AssignedInfo": "Approval Information", "AwaitingMyApproval": "Awaiting my approval", @@ -146,13 +145,13 @@ "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", "AuthSAMLKeyHelpText": "SP Certificates and keys are used for encrypted communication with IDP", "AuthSaml2UserAttrMapHelpText": "The keys on the left are SAML2 user attributes, the values on the right are authentication platform user attributes", - "AuthSecurity": "User Login", + "AuthSecurity": "Auth security", "AuthSetting": "Authentication", "AuthSettings": "Authentication Configuration", "AuthUserAttrMapHelpText": "The Key on the Left Belongs to the JumpServer User Properties, and the Value on the Right Belongs to the Authentication Platform User Properties", "Authentication": "Authentication", "AutoPush": "Auto Push", - "Automations": "Automation", + "Automations": "Automations", "AverageTimeCost": "Average spend time", "Azure": "Azure (China)", "Backup": "Backup", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 01f8b8782..6f2097a27 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -122,7 +122,7 @@ "AssetProtocolHelpText": "资产支持的协议受平台限制,点击设置按钮可以查看协议的设置。 如果需要更新,请更新平台", "AssetTree": "资产树", "Assets": "资产管理", - "AssetsAmount": "资产", + "AssetsAmount": "资产数量", "AssetsTotal": "资产总数", "AssignedInfo": "审批信息", "AwaitingMyApproval": "待我审批", From 88a08a74f73cd324b97d3382aee6258a623c1e5d Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 29 Feb 2024 14:57:38 +0800 Subject: [PATCH 037/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ff486f4dd..aa5b25f33 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -362,7 +362,7 @@ "Description": "Description", "DestinationIP": "Destination Address", "DestinationPort": "Destination Port", - "Detail": "Details", + "Detail": "Detail", "DeviceCreate": "Create Asset-Network Device", "DeviceUpdate": "Update Assets - Network Equipment", "Digit": "Number", @@ -422,7 +422,7 @@ "ExcludeSymbol": "Exclude Char", "Execute": "Execute", "ExecuteOnce": "Execute Once", - "Execution": "Execution History", + "Execution": "History", "ExecutionDetail": "Execution History Details", "ExecutionList": "Execute History", "ExistError": "This Element Already Exists", @@ -443,9 +443,10 @@ "FeiShu": "Lark", "FeiShuTest": "Test", "FieldRequiredError": "This field is required", - "FileManagement": "File management", + "FileManagement": "File Manager", + "FileExplorer": "File Explorer", "FileNameTooLong": "Filename too long", - "FileSizeExceedsLimit": "File size exceeds limit\"", + "FileSizeExceedsLimit": "File size exceeds limit", "FileTransfer": "File Transfer", "FileTransferNum": "File Transfer Count", "FileType": "File Type", @@ -560,7 +561,7 @@ "JobCreate": "Create Job", "JobDetail": "Job Details", "JobExecutionLog": "Job Logs", - "JobManagement": "Job Management", + "JobManagement": "Jobs", "JobUpdate": "Update Job", "KingSoftCloud": "Kingsoft Cloud", "KokoSettingUpdate": "Koko Configuration Settings", @@ -802,7 +803,7 @@ "QingyunPrivatecloud": "Qingyun Private Cloud", "Queue": "Queue", "QuickAdd": "Quick Add", - "QuickJob": "Shortcut command", + "QuickJob": "AdHoc", "QuickUpdate": "Quick Update", "Radius": "Radius", "Ranking": "Ranking", @@ -1069,7 +1070,7 @@ "TaskMonitor": "Task Monitoring", "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", - "TemplateManagement": "Template Management", + "TemplateManagement": "Templates", "TemplateAdd": "Add from template", "TemplateCreate": "Create Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", @@ -1197,7 +1198,7 @@ "View": "View", "ViewBlockedIPSHelpText": "View List of Locked IPs", "ViewMore": "View More", - "ViewPerm": "View Authorization", + "ViewPerm": "View", "ViewSecret": "View Ciphertext", "VirtualAccountDetail": "Details of virtual account", "VirtualAccountUpdate": "Virtual Account Update", From a4a8d1ecf0f9df3af1d7fdf7df89043f2e4fe25e Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Fri, 1 Mar 2024 13:49:35 +0800 Subject: [PATCH 038/343] perf: modify menu translate --- apps/i18n/lina/en.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index d92ee4c7b..991834dca 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -108,7 +108,7 @@ "AssetAccountDetail": "Account Details", "AssetAclCreate": "Create Asset Connect Rule", "AssetAclDetail": "Asset Connect Rule Details", - "AssetAclList": "Asset Connect ACL", + "AssetAclList": "Asset Connect", "AssetAclUpdate": "Update Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", "AssetAmount": "Asset amount", @@ -122,7 +122,7 @@ "AssetListHelpMessage": "On the left is the asset tree. Right-click to create, delete or modify tree nodes. Assets are also organized in node form. On the right are the assets under this node. \n", "AssetLoginACLHelpMsg": "When logging into assets, it can be audited based on the user's login IP and time segment to determine whether the assets can be logged into", "AssetName": "Asset Name", - "AssetPermission": "Asset Authorization", + "AssetPermission": "Authorization", "AssetPermissionCreate": "Create Asset Authorization Rule", "AssetPermissionDetail": "Asset Authorization Details", "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", @@ -139,7 +139,7 @@ "Assignees": "Pending Handler", "AttrName": "Attribute Name", "AttrValue": "Attribute value", - "Audits": "Audit", + "Audits": "Audit Console", "Auth": "Authentication", "AuthLimit": "Login restriction", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", @@ -243,7 +243,7 @@ "CommandFilterACLHelpMsg": "By filtering commands, you can control if commands can be sent to assets. Based on your set rules, some commands can be allowed while others are prohibited.", "CommandFilterAclCreate": "Create Command Filter Rule", "CommandFilterAclDetail": "Details of Command Filter Rule", - "CommandFilterAclList": "Command Filter ACL", + "CommandFilterAclList": "Command Filter", "CommandFilterAclUpdate": "Update Command Filter Rule", "CommandFilterRuleContentHelpText": "One command per line", "CommandFilterRules": "Command Filter Rules", @@ -254,7 +254,7 @@ "CommandGroupUpdate": "Update Command Group", "CommandStorage": "Command Storage", "CommandStorageUpdate": "Update Cmd Storage", - "Commands": "Command Records", + "Commands": "Command Record", "Comment": "Note", "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", "CommunityEdition": "Community Version", @@ -269,7 +269,7 @@ "ConnectMethodACLHelpMsg": "Connect Methods can be filtered to control whether users can use a certain Connect Method to log in to the asset. According to your set rules, some Connect Methods can be allowed, while others can be prohibited (globally effective).", "ConnectMethodAclCreate": "Create Connect Method Control", "ConnectMethodAclDetail": "Connect Method Control Details", - "ConnectMethodAclList": "Connect Method ACL", + "ConnectMethodAclList": "Connect Method", "ConnectMethodAclUpdate": "Update Connect Method Control", "ConnectWebSocketError": "Connection to WebSocket Failed", "ConnectionDropped": "Connection Disconnected", @@ -556,7 +556,7 @@ "JobCenter": "Job center", "JobCreate": "Create Job", "JobDetail": "Job Details", - "JobExecutionLog": "Job Logs", + "JobExecutionLog": "Job Log", "JobManagement": "Job Management", "JobUpdate": "Update Job", "KingSoftCloud": "Kingsoft Cloud", @@ -601,7 +601,7 @@ "LoginFailed": "Login Failed", "LoginFrom": "Login Source", "LoginImageTip": "Note: It will appear on the enterprise user login page (recommended image size: 492*472px)", - "LoginLog": "Login Logs", + "LoginLog": "Login Log", "LoginNum": "Login Count", "LoginPasswordSetting": "Login Password Settings", "LoginRequiredMsg": "The account has logged out, please log in again.", @@ -613,7 +613,7 @@ "LogoIndexTip": "Tip: It will be displayed in the upper left corner of the page (Recommended image size: 185px*55px)", "LogoLogoutTip": "Tip: It will be displayed on the web terminal page of Enterprise Edition users (recommended image size: 82px*82px)", "Logout": "Logout", - "LogsAudit": "Log audit", + "LogsAudit": "Log auditing", "Lowercase": "Lowercase", "LunaSettingUpdate": "Luna Configuration Settings", "MFAErrorMsg": "MFA errors, please check", @@ -637,7 +637,7 @@ "MenuAcls": "ACLs", "MenuAssets": "Assets", "MenuMore": "Others", - "MenuPermissions": "Permissions", + "MenuPermissions": "Policies", "MenuUsers": "Users", "Message": "Message", "MessageSubscription": "Message Subscription", @@ -709,7 +709,7 @@ "OpenStack": "OpenStack", "OpenStatus": "In Approval", "OpenTicket": "Create a Ticket", - "OperateLog": "Operation Logs", + "OperateLog": "Operation Log", "OperationLogNum": "Operation Logs", "OrgAdmin": "Organization Admin", "OrgAuditor": "Org Auditors", @@ -735,7 +735,7 @@ "PasskeyAddDisableInfo": "Your authentication source is {source}, and adding a Passkey is not supported", "Passphrase": "Key Password", "Password": "Password", - "PasswordChangeLog": "Password Change Logs", + "PasswordChangeLog": "Password Change Log", "PasswordExpired": "Password Expired", "PasswordPlaceholder": "Please Enter Password", "PasswordRecord": "Password Record", @@ -962,7 +962,7 @@ "SessionData": "Session Data", "SessionDetail": "Session Details", "SessionID": "Session ID", - "SessionList": "Session Records", + "SessionList": "Conversation History", "SessionMonitor": "Monitor", "SessionOffline": "Historical Sessions", "SessionOnline": "Online Sessions", @@ -1170,7 +1170,7 @@ "UserLoginACLHelpMsg": "When logging into the system, the user's login IP and time range can be audited to determine whether they are allowed to log into the system (effective globally)", "UserLoginAclCreate": "Create User Login Control", "UserLoginAclDetail": "User Login Control Details", - "UserLoginAclList": "User Login ACL", + "UserLoginAclList": "User Login", "UserLoginAclUpdate": "Update User Login Control", "UserLoginLimit": "User Restriction", "UserLoginTrend": "Account Login Trend", From 133daeb6643b2b9c673a4b2b0a23518ba4470ce9 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Fri, 1 Mar 2024 15:42:21 +0800 Subject: [PATCH 039/343] perf: translate (#12739) Co-authored-by: feng <1304903146@qq.com> --- apps/i18n/lina/en.json | 28 ++++++++++++++-------------- apps/i18n/lina/zh.json | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 991834dca..ad712b366 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -236,7 +236,7 @@ "CloudSync": "Cloud Sync", "CloudUpdate": "Update Assets -Cloud Platform", "Cluster": "Cluster", - "CollectionSucceed": "Successfully Favorited", + "CollectionSucceed": "Collection successful", "Command": "Command", "CommandConfirm": "Command Review", "CommandFilterACL": "Command Filter", @@ -441,17 +441,17 @@ "FeiShuTest": "Test", "FieldRequiredError": "This field is required", "FileManagement": "File management", - "FileNameTooLong": "Filename too long", - "FileSizeExceedsLimit": "File size exceeds limit\"", + "FileNameTooLong": "File name too long", + "FileSizeExceedsLimit": "File size exceeds limit", "FileTransfer": "File Transfer", - "FileTransferNum": "File Transfer Count", + "FileTransferNum": "Number of file transfers", "FileType": "File Type", - "Filename": "Filename", + "Filename": "File name", "FingerPrint": "Fingerprint", "Finished": "Complete", "FinishedTicket": "Complete Work Order", "FirstLogin": "First Login", - "FlowSetUp": "Process Setting", + "FlowSetUp": "Flow set up", "FormatError": "Format Error", "Friday": "Friday", "From": "From", @@ -495,7 +495,7 @@ "HostnameStrategy": "Used to Generate Hostnames for Assets. For Example: 1. Instance Name (instanceDemo); 2. Instance Name and Part of IP (last two letters) (instanceDemo-250.1)", "Hour": "Hour", "HuaweiCloud": "Huawei Cloud", - "HuaweiPrivatecloud": "Huawei Private Cloud", + "HuaweiPrivateCloud": "Huawei Private Cloud", "IAgree": "I agree", "ID": "ID", "IP": "IP", @@ -551,7 +551,7 @@ "IsSuccess": "Success", "IsSyncAccountHelpText": "Upon Collection Completion, the Collected Account Will Be Synced to Asset", "IsSyncAccountLabel": "Sync to Assets", - "JDCloud": "Jingdong Cloud", + "JDCloud": "JD Cloud", "Job": "Job", "JobCenter": "Job center", "JobCreate": "Create Job", @@ -559,7 +559,7 @@ "JobExecutionLog": "Job Log", "JobManagement": "Job Management", "JobUpdate": "Update Job", - "KingSoftCloud": "Kingsoft Cloud", + "KingSoftCloud": "KingSoft Cloud", "KokoSettingUpdate": "Koko Configuration Settings", "LAN": "Bulk Account Add Results", "LDAPUser": "LDAP Users", @@ -796,11 +796,11 @@ "PushParams": "Push Parameters", "Qcloud": "Tencent Cloud", "QcloudLighthouse": "Tencent Cloud (Lightweight Application Server)", - "QingyunPrivatecloud": "Qingyun Private Cloud", + "QingYunPrivateCloud": "QingYun Private Cloud", "Queue": "Queue", "QuickAdd": "Quick Add", - "QuickJob": "Shortcut command", - "QuickUpdate": "Quick Update", + "QuickJob": "Shortcut commands", + "QuickUpdate": "Quick update", "Radius": "Radius", "Ranking": "Ranking", "RazorNotSupport": "RDP Client Session, Monitoring Not Supported", @@ -808,7 +808,7 @@ "ReLoginTitle": "Current Third-party Login User (CAS/SAML), Not Bound to MFA and Does Not Support Password Verification, Please Log in Again.", "RealTimeData": "Real-Time Data", "Reason": "Reason", - "Receivers": "Recipient", + "Receivers": "Receiver", "RecentLogin": "Recent Login", "RecentSession": "Recent sessions", "RecentlyUsed": "Recently Used", @@ -816,7 +816,7 @@ "RecipientServer": "Receiving Server", "Reconnect": "Reconnect", "Refresh": "Refresh", - "RefreshHardware": "Hardware Info", + "RefreshHardware": "Refresh hardware info", "Regex": "Regular Expression", "Region": "Region", "RegularlyPerform": "Periodic Execution", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 6f2097a27..08b759611 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -483,7 +483,7 @@ "HostnameStrategy": "用于生成资产主机名。例如:1. 实例名称 (instanceDemo);2. 实例名称和部分IP(后两位) (instanceDemo-250.1)", "Hour": "小时", "HuaweiCloud": "华为云", - "HuaweiPrivatecloud": "华为私有云", + "HuaweiPrivateCloud": "华为私有云", "IAgree": "我同意", "ID": "ID", "IP": "IP", @@ -782,7 +782,7 @@ "PushParams": "推送参数", "Qcloud": "腾讯云", "QcloudLighthouse": "腾讯云(轻量应用服务器)", - "QingyunPrivatecloud": "青云私有云", + "QingYunPrivateCloud": "青云私有云", "Queue": "队列", "QuickAdd": "快速添加", "QuickJob": "快捷命令", From 6db4e88a2c4d3fa45f47223dc1d446192cd595b7 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 4 Mar 2024 11:32:04 +0800 Subject: [PATCH 040/343] =?UTF-8?q?perf:=20=E6=9B=B4=E6=96=B0=20poetry.loc?= =?UTF-8?q?k=20=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 921 ++++++++++++++++++++++++++-------------------------- 1 file changed, 454 insertions(+), 467 deletions(-) diff --git a/poetry.lock b/poetry.lock index e46f32e6e..5f315e39b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "adal" @@ -519,13 +519,13 @@ reference = "tsinghua" [[package]] name = "anyio" -version = "4.2.0" +version = "4.3.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" files = [ - {file = "anyio-4.2.0-py3-none-any.whl", hash = "sha256:745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee"}, - {file = "anyio-4.2.0.tar.gz", hash = "sha256:e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f"}, + {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, + {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, ] [package.dependencies] @@ -544,13 +544,13 @@ reference = "tsinghua" [[package]] name = "appnope" -version = "0.1.3" +version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, - {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, ] [package.source] @@ -730,13 +730,13 @@ reference = "tsinghua" [[package]] name = "azure-core" -version = "1.29.7" +version = "1.30.1" description = "Microsoft Azure Core Library for Python" optional = false python-versions = ">=3.7" files = [ - {file = "azure-core-1.29.7.tar.gz", hash = "sha256:2944faf1a7ff1558b1f457cabf60f279869cabaeef86b353bed8eb032c7d8c5e"}, - {file = "azure_core-1.29.7-py3-none-any.whl", hash = "sha256:95a7b41b4af102e5fcdfac9500fcc82ff86e936c7145a099b7848b9ac0501250"}, + {file = "azure-core-1.30.1.tar.gz", hash = "sha256:26273a254131f84269e8ea4464f3560c731f29c0c1f69ac99010845f239c1a8f"}, + {file = "azure_core-1.30.1-py3-none-any.whl", hash = "sha256:7c5ee397e48f281ec4dd773d67a0a47a0962ed6fa833036057f9ea067f688e74"}, ] [package.dependencies] @@ -1082,13 +1082,13 @@ reference = "tsinghua" [[package]] name = "cachetools" -version = "5.3.2" +version = "5.3.3" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, - {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, ] [package.source] @@ -1616,12 +1616,13 @@ reference = "tsinghua" [[package]] name = "cron-descriptor" -version = "1.4.0" +version = "1.4.3" description = "A Python library that converts cron expressions into human readable strings." optional = false python-versions = "*" files = [ - {file = "cron_descriptor-1.4.0.tar.gz", hash = "sha256:b6ff4e3a988d7ca04a4ab150248e9f166fb7a5c828a85090e75bcc25aa93b4dd"}, + {file = "cron_descriptor-1.4.3-py3-none-any.whl", hash = "sha256:a67ba21804983b1427ed7f3e1ec27ee77bf24c652b0430239c268c5ddfbf9dc0"}, + {file = "cron_descriptor-1.4.3.tar.gz", hash = "sha256:7b1a00d7d25d6ae6896c0da4457e790b98cba778398a3d48e341e5e0d33f0488"}, ] [package.extras] @@ -1796,13 +1797,13 @@ reference = "tsinghua" [[package]] name = "debtcollector" -version = "2.5.0" +version = "3.0.0" description = "A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "debtcollector-2.5.0-py3-none-any.whl", hash = "sha256:1393a527d2c72f143ffa6a629e9c33face6642634eece475b48cab7b04ba61f3"}, - {file = "debtcollector-2.5.0.tar.gz", hash = "sha256:dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab"}, + {file = "debtcollector-3.0.0-py3-none-any.whl", hash = "sha256:46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91"}, + {file = "debtcollector-3.0.0.tar.gz", hash = "sha256:2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f"}, ] [package.dependencies] @@ -1929,7 +1930,7 @@ reference = "tsinghua" [[package]] name = "django-cas-ng" version = "4.3.0" -description = "" +description = "Django CAS 1.0/2.0/3.0 client authentication library, support Django 2.2, 3.0, 3.1, 3.2, 4.0 and Python 3.7+" optional = false python-versions = ">=3.7" files = [ @@ -2262,22 +2263,22 @@ reference = "tsinghua" [[package]] name = "dnspython" -version = "2.5.0" +version = "2.6.1" description = "DNS toolkit" optional = false python-versions = ">=3.8" files = [ - {file = "dnspython-2.5.0-py3-none-any.whl", hash = "sha256:6facdf76b73c742ccf2d07add296f178e629da60be23ce4b0a9c927b1e02c3a6"}, - {file = "dnspython-2.5.0.tar.gz", hash = "sha256:a0034815a59ba9ae888946be7ccca8f7c157b286f8455b379c692efb51022a15"}, + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, ] [package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=5.0.3)", "mypy (>=1.0.1)", "pylint (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "sphinx (>=7.0.0)", "twine (>=4.0.0)", "wheel (>=0.41.0)"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] dnssec = ["cryptography (>=41)"] -doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.25.1)"] -doq = ["aioquic (>=0.9.20)"] -idna = ["idna (>=2.1)"] -trio = ["trio (>=0.14)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] wmi = ["wmi (>=1.5.1)"] [package.source] @@ -2824,26 +2825,20 @@ reference = "tsinghua" [[package]] name = "google-api-core" -version = "2.15.0" +version = "2.17.1" description = "Google API client core library" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-core-2.15.0.tar.gz", hash = "sha256:abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca"}, - {file = "google_api_core-2.15.0-py3-none-any.whl", hash = "sha256:2aa56d2be495551e66bbff7f729b790546f87d5c90e74781aa77233bcb395a8a"}, + {file = "google-api-core-2.17.1.tar.gz", hash = "sha256:9df18a1f87ee0df0bc4eea2770ebc4228392d8cc4066655b320e2cfccb15db95"}, + {file = "google_api_core-2.17.1-py3-none-any.whl", hash = "sha256:610c5b90092c360736baccf17bd3efbcb30dd380e7a6dc28a71059edb8bd0d8e"}, ] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" -grpcio = [ - {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""}, - {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, -] -grpcio-status = [ - {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, - {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, -] +grpcio = {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""} +grpcio-status = {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""} protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" @@ -2859,13 +2854,13 @@ reference = "tsinghua" [[package]] name = "google-auth" -version = "2.27.0" +version = "2.28.1" description = "Google Authentication Library" optional = false python-versions = ">=3.7" files = [ - {file = "google-auth-2.27.0.tar.gz", hash = "sha256:e863a56ccc2d8efa83df7a80272601e43487fa9a728a376205c86c26aaefa821"}, - {file = "google_auth-2.27.0-py2.py3-none-any.whl", hash = "sha256:8e4bad367015430ff253fe49d500fdc3396c1a434db5740828c728e45bcce245"}, + {file = "google-auth-2.28.1.tar.gz", hash = "sha256:34fc3046c257cedcf1622fc4b31fc2be7923d9b4d44973d481125ecc50d83885"}, + {file = "google_auth-2.28.1-py2.py3-none-any.whl", hash = "sha256:25141e2d7a14bfcba945f5e9827f98092716e99482562f15306e5b026e21aa72"}, ] [package.dependencies] @@ -3005,69 +3000,69 @@ reference = "tsinghua" [[package]] name = "grpcio" -version = "1.60.0" +version = "1.62.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-1.60.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:d020cfa595d1f8f5c6b343530cd3ca16ae5aefdd1e832b777f9f0eb105f5b139"}, - {file = "grpcio-1.60.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:b98f43fcdb16172dec5f4b49f2fece4b16a99fd284d81c6bbac1b3b69fcbe0ff"}, - {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:20e7a4f7ded59097c84059d28230907cd97130fa74f4a8bfd1d8e5ba18c81491"}, - {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452ca5b4afed30e7274445dd9b441a35ece656ec1600b77fff8c216fdf07df43"}, - {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43e636dc2ce9ece583b3e2ca41df5c983f4302eabc6d5f9cd04f0562ee8ec1ae"}, - {file = "grpcio-1.60.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e306b97966369b889985a562ede9d99180def39ad42c8014628dd3cc343f508"}, - {file = "grpcio-1.60.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f897c3b127532e6befdcf961c415c97f320d45614daf84deba0a54e64ea2457b"}, - {file = "grpcio-1.60.0-cp310-cp310-win32.whl", hash = "sha256:b87efe4a380887425bb15f220079aa8336276398dc33fce38c64d278164f963d"}, - {file = "grpcio-1.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:a9c7b71211f066908e518a2ef7a5e211670761651039f0d6a80d8d40054047df"}, - {file = "grpcio-1.60.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:fb464479934778d7cc5baf463d959d361954d6533ad34c3a4f1d267e86ee25fd"}, - {file = "grpcio-1.60.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:4b44d7e39964e808b071714666a812049765b26b3ea48c4434a3b317bac82f14"}, - {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:90bdd76b3f04bdb21de5398b8a7c629676c81dfac290f5f19883857e9371d28c"}, - {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91229d7203f1ef0ab420c9b53fe2ca5c1fbeb34f69b3bc1b5089466237a4a134"}, - {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b36a2c6d4920ba88fa98075fdd58ff94ebeb8acc1215ae07d01a418af4c0253"}, - {file = "grpcio-1.60.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:297eef542156d6b15174a1231c2493ea9ea54af8d016b8ca7d5d9cc65cfcc444"}, - {file = "grpcio-1.60.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:87c9224acba0ad8bacddf427a1c2772e17ce50b3042a789547af27099c5f751d"}, - {file = "grpcio-1.60.0-cp311-cp311-win32.whl", hash = "sha256:95ae3e8e2c1b9bf671817f86f155c5da7d49a2289c5cf27a319458c3e025c320"}, - {file = "grpcio-1.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:467a7d31554892eed2aa6c2d47ded1079fc40ea0b9601d9f79204afa8902274b"}, - {file = "grpcio-1.60.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:a7152fa6e597c20cb97923407cf0934e14224af42c2b8d915f48bc3ad2d9ac18"}, - {file = "grpcio-1.60.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:7db16dd4ea1b05ada504f08d0dca1cd9b926bed3770f50e715d087c6f00ad748"}, - {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:b0571a5aef36ba9177e262dc88a9240c866d903a62799e44fd4aae3f9a2ec17e"}, - {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fd9584bf1bccdfff1512719316efa77be235469e1e3295dce64538c4773840b"}, - {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6a478581b1a1a8fdf3318ecb5f4d0cda41cacdffe2b527c23707c9c1b8fdb55"}, - {file = "grpcio-1.60.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:77c8a317f0fd5a0a2be8ed5cbe5341537d5c00bb79b3bb27ba7c5378ba77dbca"}, - {file = "grpcio-1.60.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1c30bb23a41df95109db130a6cc1b974844300ae2e5d68dd4947aacba5985aa5"}, - {file = "grpcio-1.60.0-cp312-cp312-win32.whl", hash = "sha256:2aef56e85901c2397bd557c5ba514f84de1f0ae5dd132f5d5fed042858115951"}, - {file = "grpcio-1.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:e381fe0c2aa6c03b056ad8f52f8efca7be29fb4d9ae2f8873520843b6039612a"}, - {file = "grpcio-1.60.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:92f88ca1b956eb8427a11bb8b4a0c0b2b03377235fc5102cb05e533b8693a415"}, - {file = "grpcio-1.60.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:e278eafb406f7e1b1b637c2cf51d3ad45883bb5bd1ca56bc05e4fc135dfdaa65"}, - {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:a48edde788b99214613e440fce495bbe2b1e142a7f214cce9e0832146c41e324"}, - {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de2ad69c9a094bf37c1102b5744c9aec6cf74d2b635558b779085d0263166454"}, - {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073f959c6f570797272f4ee9464a9997eaf1e98c27cb680225b82b53390d61e6"}, - {file = "grpcio-1.60.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c826f93050c73e7769806f92e601e0efdb83ec8d7c76ddf45d514fee54e8e619"}, - {file = "grpcio-1.60.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9e30be89a75ee66aec7f9e60086fadb37ff8c0ba49a022887c28c134341f7179"}, - {file = "grpcio-1.60.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b0fb2d4801546598ac5cd18e3ec79c1a9af8b8f2a86283c55a5337c5aeca4b1b"}, - {file = "grpcio-1.60.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:9073513ec380434eb8d21970e1ab3161041de121f4018bbed3146839451a6d8e"}, - {file = "grpcio-1.60.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:74d7d9fa97809c5b892449b28a65ec2bfa458a4735ddad46074f9f7d9550ad13"}, - {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:1434ca77d6fed4ea312901122dc8da6c4389738bf5788f43efb19a838ac03ead"}, - {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e61e76020e0c332a98290323ecfec721c9544f5b739fab925b6e8cbe1944cf19"}, - {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675997222f2e2f22928fbba640824aebd43791116034f62006e19730715166c0"}, - {file = "grpcio-1.60.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5208a57eae445ae84a219dfd8b56e04313445d146873117b5fa75f3245bc1390"}, - {file = "grpcio-1.60.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:428d699c8553c27e98f4d29fdc0f0edc50e9a8a7590bfd294d2edb0da7be3629"}, - {file = "grpcio-1.60.0-cp38-cp38-win32.whl", hash = "sha256:83f2292ae292ed5a47cdcb9821039ca8e88902923198f2193f13959360c01860"}, - {file = "grpcio-1.60.0-cp38-cp38-win_amd64.whl", hash = "sha256:705a68a973c4c76db5d369ed573fec3367d7d196673fa86614b33d8c8e9ebb08"}, - {file = "grpcio-1.60.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:c193109ca4070cdcaa6eff00fdb5a56233dc7610216d58fb81638f89f02e4968"}, - {file = "grpcio-1.60.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:676e4a44e740deaba0f4d95ba1d8c5c89a2fcc43d02c39f69450b1fa19d39590"}, - {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5ff21e000ff2f658430bde5288cb1ac440ff15c0d7d18b5fb222f941b46cb0d2"}, - {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c86343cf9ff7b2514dd229bdd88ebba760bd8973dac192ae687ff75e39ebfab"}, - {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fd3b3968ffe7643144580f260f04d39d869fcc2cddb745deef078b09fd2b328"}, - {file = "grpcio-1.60.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:30943b9530fe3620e3b195c03130396cd0ee3a0d10a66c1bee715d1819001eaf"}, - {file = "grpcio-1.60.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b10241250cb77657ab315270b064a6c7f1add58af94befa20687e7c8d8603ae6"}, - {file = "grpcio-1.60.0-cp39-cp39-win32.whl", hash = "sha256:79a050889eb8d57a93ed21d9585bb63fca881666fc709f5d9f7f9372f5e7fd03"}, - {file = "grpcio-1.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:8a97a681e82bc11a42d4372fe57898d270a2707f36c45c6676e49ce0d5c41353"}, - {file = "grpcio-1.60.0.tar.gz", hash = "sha256:2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96"}, + {file = "grpcio-1.62.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:136ffd79791b1eddda8d827b607a6285474ff8a1a5735c4947b58c481e5e4271"}, + {file = "grpcio-1.62.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d6a56ba703be6b6267bf19423d888600c3f574ac7c2cc5e6220af90662a4d6b0"}, + {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:4cd356211579043fce9f52acc861e519316fff93980a212c8109cca8f47366b6"}, + {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e803e9b58d8f9b4ff0ea991611a8d51b31c68d2e24572cd1fe85e99e8cc1b4f8"}, + {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4c04fe33039b35b97c02d2901a164bbbb2f21fb9c4e2a45a959f0b044c3512c"}, + {file = "grpcio-1.62.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:95370c71b8c9062f9ea033a0867c4c73d6f0ff35113ebd2618171ec1f1e903e0"}, + {file = "grpcio-1.62.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c912688acc05e4ff012c8891803659d6a8a8b5106f0f66e0aed3fb7e77898fa6"}, + {file = "grpcio-1.62.0-cp310-cp310-win32.whl", hash = "sha256:821a44bd63d0f04e33cf4ddf33c14cae176346486b0df08b41a6132b976de5fc"}, + {file = "grpcio-1.62.0-cp310-cp310-win_amd64.whl", hash = "sha256:81531632f93fece32b2762247c4c169021177e58e725494f9a746ca62c83acaa"}, + {file = "grpcio-1.62.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:3fa15850a6aba230eed06b236287c50d65a98f05054a0f01ccedf8e1cc89d57f"}, + {file = "grpcio-1.62.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:36df33080cd7897623feff57831eb83c98b84640b016ce443305977fac7566fb"}, + {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:7a195531828b46ea9c4623c47e1dc45650fc7206f8a71825898dd4c9004b0928"}, + {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab140a3542bbcea37162bdfc12ce0d47a3cda3f2d91b752a124cc9fe6776a9e2"}, + {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f9d6c3223914abb51ac564dc9c3782d23ca445d2864321b9059d62d47144021"}, + {file = "grpcio-1.62.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fbe0c20ce9a1cff75cfb828b21f08d0a1ca527b67f2443174af6626798a754a4"}, + {file = "grpcio-1.62.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38f69de9c28c1e7a8fd24e4af4264726637b72f27c2099eaea6e513e7142b47e"}, + {file = "grpcio-1.62.0-cp311-cp311-win32.whl", hash = "sha256:ce1aafdf8d3f58cb67664f42a617af0e34555fe955450d42c19e4a6ad41c84bd"}, + {file = "grpcio-1.62.0-cp311-cp311-win_amd64.whl", hash = "sha256:eef1d16ac26c5325e7d39f5452ea98d6988c700c427c52cbc7ce3201e6d93334"}, + {file = "grpcio-1.62.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:8aab8f90b2a41208c0a071ec39a6e5dbba16fd827455aaa070fec241624ccef8"}, + {file = "grpcio-1.62.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:62aa1659d8b6aad7329ede5d5b077e3d71bf488d85795db517118c390358d5f6"}, + {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:0d7ae7fc7dbbf2d78d6323641ded767d9ec6d121aaf931ec4a5c50797b886532"}, + {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f359d635ee9428f0294bea062bb60c478a8ddc44b0b6f8e1f42997e5dc12e2ee"}, + {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d48e5b1f8f4204889f1acf30bb57c30378e17c8d20df5acbe8029e985f735c"}, + {file = "grpcio-1.62.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:662d3df5314ecde3184cf87ddd2c3a66095b3acbb2d57a8cada571747af03873"}, + {file = "grpcio-1.62.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92cdb616be44c8ac23a57cce0243af0137a10aa82234f23cd46e69e115071388"}, + {file = "grpcio-1.62.0-cp312-cp312-win32.whl", hash = "sha256:0b9179478b09ee22f4a36b40ca87ad43376acdccc816ce7c2193a9061bf35701"}, + {file = "grpcio-1.62.0-cp312-cp312-win_amd64.whl", hash = "sha256:614c3ed234208e76991992342bab725f379cc81c7dd5035ee1de2f7e3f7a9842"}, + {file = "grpcio-1.62.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:7e1f51e2a460b7394670fdb615e26d31d3260015154ea4f1501a45047abe06c9"}, + {file = "grpcio-1.62.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:bcff647e7fe25495e7719f779cc219bbb90b9e79fbd1ce5bda6aae2567f469f2"}, + {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:56ca7ba0b51ed0de1646f1735154143dcbdf9ec2dbe8cc6645def299bb527ca1"}, + {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e84bfb2a734e4a234b116be208d6f0214e68dcf7804306f97962f93c22a1839"}, + {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c1488b31a521fbba50ae86423f5306668d6f3a46d124f7819c603979fc538c4"}, + {file = "grpcio-1.62.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:98d8f4eb91f1ce0735bf0b67c3b2a4fea68b52b2fd13dc4318583181f9219b4b"}, + {file = "grpcio-1.62.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b3d3d755cfa331d6090e13aac276d4a3fb828bf935449dc16c3d554bf366136b"}, + {file = "grpcio-1.62.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a33f2bfd8a58a02aab93f94f6c61279be0f48f99fcca20ebaee67576cd57307b"}, + {file = "grpcio-1.62.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:5e709f7c8028ce0443bddc290fb9c967c1e0e9159ef7a030e8c21cac1feabd35"}, + {file = "grpcio-1.62.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:2f3d9a4d0abb57e5f49ed5039d3ed375826c2635751ab89dcc25932ff683bbb6"}, + {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:62ccb92f594d3d9fcd00064b149a0187c246b11e46ff1b7935191f169227f04c"}, + {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:921148f57c2e4b076af59a815467d399b7447f6e0ee10ef6d2601eb1e9c7f402"}, + {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f897b16190b46bc4d4aaf0a32a4b819d559a37a756d7c6b571e9562c360eed72"}, + {file = "grpcio-1.62.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1bc8449084fe395575ed24809752e1dc4592bb70900a03ca42bf236ed5bf008f"}, + {file = "grpcio-1.62.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81d444e5e182be4c7856cd33a610154fe9ea1726bd071d07e7ba13fafd202e38"}, + {file = "grpcio-1.62.0-cp38-cp38-win32.whl", hash = "sha256:88f41f33da3840b4a9bbec68079096d4caf629e2c6ed3a72112159d570d98ebe"}, + {file = "grpcio-1.62.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc2836cb829895ee190813446dce63df67e6ed7b9bf76060262c55fcd097d270"}, + {file = "grpcio-1.62.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fcc98cff4084467839d0a20d16abc2a76005f3d1b38062464d088c07f500d170"}, + {file = "grpcio-1.62.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:0d3dee701e48ee76b7d6fbbba18ba8bc142e5b231ef7d3d97065204702224e0e"}, + {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:b7a6be562dd18e5d5bec146ae9537f20ae1253beb971c0164f1e8a2f5a27e829"}, + {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29cb592c4ce64a023712875368bcae13938c7f03e99f080407e20ffe0a9aa33b"}, + {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eda79574aec8ec4d00768dcb07daba60ed08ef32583b62b90bbf274b3c279f7"}, + {file = "grpcio-1.62.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7eea57444a354ee217fda23f4b479a4cdfea35fb918ca0d8a0e73c271e52c09c"}, + {file = "grpcio-1.62.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0e97f37a3b7c89f9125b92d22e9c8323f4e76e7993ba7049b9f4ccbe8bae958a"}, + {file = "grpcio-1.62.0-cp39-cp39-win32.whl", hash = "sha256:39cd45bd82a2e510e591ca2ddbe22352e8413378852ae814549c162cf3992a93"}, + {file = "grpcio-1.62.0-cp39-cp39-win_amd64.whl", hash = "sha256:b71c65427bf0ec6a8b48c68c17356cb9fbfc96b1130d20a07cb462f4e4dcdcd5"}, + {file = "grpcio-1.62.0.tar.gz", hash = "sha256:748496af9238ac78dcd98cce65421f1adce28c3979393e3609683fcd7f3880d7"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.60.0)"] +protobuf = ["grpcio-tools (>=1.62.0)"] [package.source] type = "legacy" @@ -3076,18 +3071,18 @@ reference = "tsinghua" [[package]] name = "grpcio-status" -version = "1.60.0" +version = "1.62.0" description = "Status proto mapping for gRPC" optional = false python-versions = ">=3.6" files = [ - {file = "grpcio-status-1.60.0.tar.gz", hash = "sha256:f10e0b6db3adc0fdc244b71962814ee982996ef06186446b5695b9fa635aa1ab"}, - {file = "grpcio_status-1.60.0-py3-none-any.whl", hash = "sha256:7d383fa36e59c1e61d380d91350badd4d12ac56e4de2c2b831b050362c3c572e"}, + {file = "grpcio-status-1.62.0.tar.gz", hash = "sha256:0d693e9c09880daeaac060d0c3dba1ae470a43c99e5d20dfeafd62cf7e08a85d"}, + {file = "grpcio_status-1.62.0-py3-none-any.whl", hash = "sha256:3baac03fcd737310e67758c4082a188107f771d32855bce203331cd4c9aa687a"}, ] [package.dependencies] googleapis-common-protos = ">=1.5.5" -grpcio = ">=1.60.0" +grpcio = ">=1.62.0" protobuf = ">=4.21.6" [package.source] @@ -3154,13 +3149,13 @@ reference = "tsinghua" [[package]] name = "httpcore" -version = "1.0.2" +version = "1.0.4" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7"}, - {file = "httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535"}, + {file = "httpcore-1.0.4-py3-none-any.whl", hash = "sha256:ac418c1db41bade2ad53ae2f3834a3a0f5ae76b56cf5aa497d2d033384fc7d73"}, + {file = "httpcore-1.0.4.tar.gz", hash = "sha256:cb2839ccfcba0d2d3c1131d3c3e26dfc327326fbe7a5dc0dbfe9f6c9151bb022"}, ] [package.dependencies] @@ -3171,7 +3166,7 @@ h11 = ">=0.13,<0.15" asyncio = ["anyio (>=4.0,<5.0)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<0.23.0)"] +trio = ["trio (>=0.22.0,<0.25.0)"] [package.source] type = "legacy" @@ -3200,13 +3195,13 @@ reference = "tsinghua" [[package]] name = "httpx" -version = "0.26.0" +version = "0.27.0" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.26.0-py3-none-any.whl", hash = "sha256:8915f5a3627c4d47b73e8202457cb28f1266982d1159bd5779d86a80c0eab1cd"}, - {file = "httpx-0.26.0.tar.gz", hash = "sha256:451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf"}, + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, ] [package.dependencies] @@ -4050,22 +4045,22 @@ reference = "tsinghua" [[package]] name = "msal" -version = "1.26.0" +version = "1.27.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=2.7" files = [ - {file = "msal-1.26.0-py2.py3-none-any.whl", hash = "sha256:be77ba6a8f49c9ff598bbcdc5dfcf1c9842f3044300109af738e8c3e371065b5"}, - {file = "msal-1.26.0.tar.gz", hash = "sha256:224756079fe338be838737682b49f8ebc20a87c1c5eeaf590daae4532b83de15"}, + {file = "msal-1.27.0-py2.py3-none-any.whl", hash = "sha256:572d07149b83e7343a85a3bcef8e581167b4ac76befcbbb6eef0c0e19643cdc0"}, + {file = "msal-1.27.0.tar.gz", hash = "sha256:3109503c038ba6b307152b0e8d34f98113f2e7a78986e28d0baf5b5303afda52"}, ] [package.dependencies] -cryptography = ">=0.6,<44" +cryptography = ">=0.6,<45" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" [package.extras] -broker = ["pymsalruntime (>=0.13.2,<0.14)"] +broker = ["pymsalruntime (>=0.13.2,<0.15)"] [package.source] type = "legacy" @@ -4098,67 +4093,68 @@ reference = "tsinghua" [[package]] name = "msgpack" -version = "1.0.7" +version = "1.0.8" description = "MessagePack serializer" optional = false python-versions = ">=3.8" files = [ - {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862"}, - {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329"}, - {file = "msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681"}, - {file = "msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9"}, - {file = "msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"}, - {file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"}, - {file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5"}, - {file = "msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9"}, - {file = "msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b6ccc0c85916998d788b295765ea0e9cb9aac7e4a8ed71d12e7d8ac31c23c95"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:235a31ec7db685f5c82233bddf9858748b89b8119bf4538d514536c485c15fe0"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cab3db8bab4b7e635c1c97270d7a4b2a90c070b33cbc00c99ef3f9be03d3e1f7"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bfdd914e55e0d2c9e1526de210f6fe8ffe9705f2b1dfcc4aecc92a4cb4b533d"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36e17c4592231a7dbd2ed09027823ab295d2791b3b1efb2aee874b10548b7524"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38949d30b11ae5f95c3c91917ee7a6b239f5ec276f271f28638dec9156f82cfc"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ff1d0899f104f3921d94579a5638847f783c9b04f2d5f229392ca77fba5b82fc"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc43f1ec66eb8440567186ae2f8c447d91e0372d793dfe8c222aec857b81a8cf"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dd632777ff3beaaf629f1ab4396caf7ba0bdd075d948a69460d13d44357aca4c"}, - {file = "msgpack-1.0.7-cp38-cp38-win32.whl", hash = "sha256:4e71bc4416de195d6e9b4ee93ad3f2f6b2ce11d042b4d7a7ee00bbe0358bd0c2"}, - {file = "msgpack-1.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:8f5b234f567cf76ee489502ceb7165c2a5cecec081db2b37e35332b537f8157c"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f"}, - {file = "msgpack-1.0.7-cp39-cp39-win32.whl", hash = "sha256:f26a07a6e877c76a88e3cecac8531908d980d3d5067ff69213653649ec0f60ad"}, - {file = "msgpack-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:1dc93e8e4653bdb5910aed79f11e165c85732067614f180f70534f056da97db3"}, - {file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, + {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, + {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, + {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, + {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, + {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, + {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, + {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, + {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, + {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, + {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, + {file = "msgpack-1.0.8-py3-none-any.whl", hash = "sha256:24f727df1e20b9876fa6e95f840a2a2651e34c0ad147676356f4bf5fbb0206ca"}, + {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, ] [package.source] @@ -4215,85 +4211,101 @@ reference = "tsinghua" [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [package.source] @@ -4324,15 +4336,18 @@ reference = "tsinghua" [[package]] name = "netaddr" -version = "0.10.1" +version = "1.2.1" description = "A network address manipulation library for Python" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "netaddr-0.10.1-py2.py3-none-any.whl", hash = "sha256:9822305b42ea1020d54fee322d43cee5622b044c07a1f0130b459bb467efcf88"}, - {file = "netaddr-0.10.1.tar.gz", hash = "sha256:f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf"}, + {file = "netaddr-1.2.1-py3-none-any.whl", hash = "sha256:bd9e9534b0d46af328cf64f0e5a23a5a43fca292df221c85580b27394793496e"}, + {file = "netaddr-1.2.1.tar.gz", hash = "sha256:6eb8fedf0412c6d294d06885c110de945cf4d22d2b510d0404f4e06950857987"}, ] +[package.extras] +nicer-shell = ["ipython"] + [package.source] type = "legacy" url = "https://pypi.tuna.tsinghua.edu.cn/simple" @@ -4420,13 +4435,13 @@ reference = "tsinghua" [[package]] name = "openai" -version = "1.9.0" +version = "1.13.3" description = "The official Python library for the openai API" optional = false python-versions = ">=3.7.1" files = [ - {file = "openai-1.9.0-py3-none-any.whl", hash = "sha256:5774a0582ed82f6de92200ed5024e03e272b93e04e9d31caeda5fb80f63df50d"}, - {file = "openai-1.9.0.tar.gz", hash = "sha256:3e9947a544556c051fa138a4def5bd8b468364ec52803c6628532ab949ddce55"}, + {file = "openai-1.13.3-py3-none-any.whl", hash = "sha256:5769b62abd02f350a8dd1a3a242d8972c947860654466171d60fb0972ae0a41c"}, + {file = "openai-1.13.3.tar.gz", hash = "sha256:ff6c6b3bc7327e715e4b3592a923a5a1c7519ff5dd764a83d69f633d49e77a7b"}, ] [package.dependencies] @@ -4549,13 +4564,13 @@ reference = "tsinghua" [[package]] name = "oslo-config" -version = "9.3.0" +version = "9.4.0" description = "Oslo Configuration API" optional = false python-versions = ">=3.8" files = [ - {file = "oslo.config-9.3.0-py3-none-any.whl", hash = "sha256:5642e75ab8070aee96563670b1c1ee3b6f3cac3c0302fe7fc78973cd4b4e3d29"}, - {file = "oslo.config-9.3.0.tar.gz", hash = "sha256:a4b1e526135d67c0e9b14d3ed299c6ec8a3887f92afcb26f4f3ea918504a3554"}, + {file = "oslo.config-9.4.0-py3-none-any.whl", hash = "sha256:8c2049c14cade7adeeda18638531b3b3a40d3c6bcc690535939f64a3c1ec8d63"}, + {file = "oslo.config-9.4.0.tar.gz", hash = "sha256:35b11a661b608edb50305dad91e4e30819d90ef794b7d7dba5bd8b2ef2eb8c0d"}, ] [package.dependencies] @@ -4569,7 +4584,7 @@ stevedore = ">=1.20.0" [package.extras] rst-generator = ["rst2txt (>=1.1.0)", "sphinx (>=1.8.0,!=2.1.0)"] -test = ["bandit (>=1.7.0,<1.8.0)", "coverage (>=4.0,!=4.4)", "fixtures (>=3.0.0)", "hacking (>=3.0.1,<3.1.0)", "mypy (>=0.720)", "oslo.log (>=3.36.0)", "oslotest (>=3.2.0)", "pre-commit (>=2.6.0)", "requests-mock (>=1.5.0)", "stestr (>=2.1.0)", "testscenarios (>=0.4)", "testtools (>=2.2.0)"] +test = ["bandit (>=1.7.0,<1.8.0)", "coverage (>=4.0,!=4.4)", "fixtures (>=3.0.0)", "hacking (>=6.1.0,<6.2.0)", "mypy (>=0.720)", "oslo.log (>=3.36.0)", "oslotest (>=3.2.0)", "pre-commit (>=2.6.0)", "requests-mock (>=1.5.0)", "stestr (>=2.1.0)", "testscenarios (>=0.4)", "testtools (>=2.2.0)"] [package.source] type = "legacy" @@ -4578,13 +4593,13 @@ reference = "tsinghua" [[package]] name = "oslo-i18n" -version = "6.2.0" +version = "6.3.0" description = "Oslo i18n library" optional = false python-versions = ">=3.8" files = [ - {file = "oslo.i18n-6.2.0-py3-none-any.whl", hash = "sha256:5cd6d0659bec2013107d235a8cf5e61475cc9dd33ef9ffc7aa2776bc1c6b56c9"}, - {file = "oslo.i18n-6.2.0.tar.gz", hash = "sha256:70f8a4ce9871291bc609d07e31e6e5032666556992ff1ae53e78f2ed2a5abe82"}, + {file = "oslo.i18n-6.3.0-py3-none-any.whl", hash = "sha256:698eb5c63a01359ed6d91031d6331098190d38be0bdda7d270264d6f86bc79e7"}, + {file = "oslo.i18n-6.3.0.tar.gz", hash = "sha256:64a251edef8bf1bb1d4e6f78d377e149d4f15c1a9245de77f172016da6267444"}, ] [package.dependencies] @@ -4597,21 +4612,20 @@ reference = "tsinghua" [[package]] name = "oslo-serialization" -version = "5.3.0" +version = "5.4.0" description = "Oslo Serialization library" optional = false python-versions = ">=3.8" files = [ - {file = "oslo.serialization-5.3.0-py3-none-any.whl", hash = "sha256:0da7248d0e515b875ef9883e3631ff51f9a8d11e8576247f0ded890f3276c0bf"}, - {file = "oslo.serialization-5.3.0.tar.gz", hash = "sha256:228898f4f33b7deabc74289b32bbd302a659c39cf6dda9048510f930fc4f76ed"}, + {file = "oslo.serialization-5.4.0-py3-none-any.whl", hash = "sha256:f999b75f2c2904c2f6aae5efbb67ab668cc0e79470510b721937626b36427220"}, + {file = "oslo.serialization-5.4.0.tar.gz", hash = "sha256:315cb3465e99c685cb091b90365cb701bee7140e204ba3e5fc2d8a20b4ec6e76"}, ] [package.dependencies] msgpack = ">=0.5.2" "oslo.utils" = ">=3.33.0" pbr = ">=2.0.0,<2.1.0 || >2.1.0" -pytz = ">=2013.6" -tzdata = ">=2022.4" +tzdata = {version = ">=2022.4", markers = "python_version >= \"3.9\""} [package.source] type = "legacy" @@ -4620,13 +4634,13 @@ reference = "tsinghua" [[package]] name = "oslo-utils" -version = "7.0.0" +version = "7.1.0" description = "Oslo Utility library" optional = false python-versions = ">=3.8" files = [ - {file = "oslo.utils-7.0.0-py3-none-any.whl", hash = "sha256:dbb724041a2ea0c342d524c4d7c7f07c8bc5016f4762d38c6a41b2ef805b3a8e"}, - {file = "oslo.utils-7.0.0.tar.gz", hash = "sha256:5263c00980cfab74f6635ef61d0fc91e6bd4a8dd0e78a77897ed6e447c8c6731"}, + {file = "oslo.utils-7.1.0-py3-none-any.whl", hash = "sha256:1d6504526c33cc10ae2c72565d0446a82d2acd43eaa5e6f3fd901d78400a2da0"}, + {file = "oslo.utils-7.1.0.tar.gz", hash = "sha256:5e42f3394d1f1f976e8994ac4a0918966d2f7eaf7c77380dd612c4a4148dd98e"}, ] [package.dependencies] @@ -4637,9 +4651,8 @@ netifaces = ">=0.10.4" "oslo.i18n" = ">=3.15.3" packaging = ">=20.4" pyparsing = ">=2.1.0" -pytz = ">=2013.6" PyYAML = ">=3.13" -tzdata = ">=2022.4" +tzdata = {version = ">=2022.4", markers = "python_version >= \"3.9\""} [package.source] type = "legacy" @@ -4934,20 +4947,20 @@ reference = "tsinghua" [[package]] name = "prettytable" -version = "3.9.0" +version = "3.10.0" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" optional = false python-versions = ">=3.8" files = [ - {file = "prettytable-3.9.0-py3-none-any.whl", hash = "sha256:a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8"}, - {file = "prettytable-3.9.0.tar.gz", hash = "sha256:f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34"}, + {file = "prettytable-3.10.0-py3-none-any.whl", hash = "sha256:6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92"}, + {file = "prettytable-3.10.0.tar.gz", hash = "sha256:9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568"}, ] [package.dependencies] wcwidth = "*" [package.extras] -tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] +tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"] [package.source] type = "legacy" @@ -4956,13 +4969,13 @@ reference = "tsinghua" [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.20.0" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.19.0-py3-none-any.whl", hash = "sha256:c88b1e6ecf6b41cd8fb5731c7ae919bf66df6ec6fafa555cd6c0e16ca169ae92"}, - {file = "prometheus_client-0.19.0.tar.gz", hash = "sha256:4585b0d1223148c27a225b10dbec5ae9bc4c81a99a3fa80774fa6209935324e1"}, + {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, + {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, ] [package.extras] @@ -5016,22 +5029,22 @@ reference = "tsinghua" [[package]] name = "protobuf" -version = "4.25.2" +version = "4.25.3" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6"}, - {file = "protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9"}, - {file = "protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d"}, - {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62"}, - {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020"}, - {file = "protobuf-4.25.2-cp38-cp38-win32.whl", hash = "sha256:33a1aeef4b1927431d1be780e87b641e322b88d654203a9e9d93f218ee359e61"}, - {file = "protobuf-4.25.2-cp38-cp38-win_amd64.whl", hash = "sha256:47f3de503fe7c1245f6f03bea7e8d3ec11c6c4a2ea9ef910e3221c8a15516d62"}, - {file = "protobuf-4.25.2-cp39-cp39-win32.whl", hash = "sha256:5e5c933b4c30a988b52e0b7c02641760a5ba046edc5e43d3b94a74c9fc57c1b3"}, - {file = "protobuf-4.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:d66a769b8d687df9024f2985d5137a337f957a0916cf5464d1513eee96a63ff0"}, - {file = "protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830"}, - {file = "protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e"}, + {file = "protobuf-4.25.3-cp310-abi3-win32.whl", hash = "sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa"}, + {file = "protobuf-4.25.3-cp310-abi3-win_amd64.whl", hash = "sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8"}, + {file = "protobuf-4.25.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d"}, + {file = "protobuf-4.25.3-cp38-cp38-win32.whl", hash = "sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2"}, + {file = "protobuf-4.25.3-cp38-cp38-win_amd64.whl", hash = "sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4"}, + {file = "protobuf-4.25.3-cp39-cp39-win32.whl", hash = "sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4"}, + {file = "protobuf-4.25.3-cp39-cp39-win_amd64.whl", hash = "sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c"}, + {file = "protobuf-4.25.3-py3-none-any.whl", hash = "sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9"}, + {file = "protobuf-4.25.3.tar.gz", hash = "sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c"}, ] [package.source] @@ -5353,18 +5366,18 @@ reference = "tsinghua" [[package]] name = "pydantic" -version = "2.5.3" +version = "2.6.3" description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-2.5.3-py3-none-any.whl", hash = "sha256:d0caf5954bee831b6bfe7e338c32b9e30c85dfe080c843680783ac2b631673b4"}, - {file = "pydantic-2.5.3.tar.gz", hash = "sha256:b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a"}, + {file = "pydantic-2.6.3-py3-none-any.whl", hash = "sha256:72c6034df47f46ccdf81869fddb81aade68056003900a8724a4f160700016a2a"}, + {file = "pydantic-2.6.3.tar.gz", hash = "sha256:e07805c4c7f5c6826e33a1d4c9d47950d7eaf34868e2690f8594d2e30241f11f"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.14.6" +pydantic-core = "2.16.3" typing-extensions = ">=4.6.1" [package.extras] @@ -5377,116 +5390,90 @@ reference = "tsinghua" [[package]] name = "pydantic-core" -version = "2.14.6" +version = "2.16.3" description = "" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:72f9a942d739f09cd42fffe5dc759928217649f070056f03c70df14f5770acf9"}, - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6a31d98c0d69776c2576dda4b77b8e0c69ad08e8b539c25c7d0ca0dc19a50d6c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa90562bc079c6c290f0512b21768967f9968e4cfea84ea4ff5af5d917016e4"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:370ffecb5316ed23b667d99ce4debe53ea664b99cc37bfa2af47bc769056d534"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85f3843bdb1fe80e8c206fe6eed7a1caeae897e496542cee499c374a85c6e08"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9862bf828112e19685b76ca499b379338fd4c5c269d897e218b2ae8fcb80139d"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036137b5ad0cb0004c75b579445a1efccd072387a36c7f217bb8efd1afbe5245"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92879bce89f91f4b2416eba4429c7b5ca22c45ef4a499c39f0c5c69257522c7c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0c08de15d50fa190d577e8591f0329a643eeaed696d7771760295998aca6bc66"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:36099c69f6b14fc2c49d7996cbf4f87ec4f0e66d1c74aa05228583225a07b590"}, - {file = "pydantic_core-2.14.6-cp310-none-win32.whl", hash = "sha256:7be719e4d2ae6c314f72844ba9d69e38dff342bc360379f7c8537c48e23034b7"}, - {file = "pydantic_core-2.14.6-cp310-none-win_amd64.whl", hash = "sha256:36fa402dcdc8ea7f1b0ddcf0df4254cc6b2e08f8cd80e7010d4c4ae6e86b2a87"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:dea7fcd62915fb150cdc373212141a30037e11b761fbced340e9db3379b892d4"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffff855100bc066ff2cd3aa4a60bc9534661816b110f0243e59503ec2df38421"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b027c86c66b8627eb90e57aee1f526df77dc6d8b354ec498be9a757d513b92b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00b1087dabcee0b0ffd104f9f53d7d3eaddfaa314cdd6726143af6bc713aa27e"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75ec284328b60a4e91010c1acade0c30584f28a1f345bc8f72fe8b9e46ec6a96"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e1f4744eea1501404b20b0ac059ff7e3f96a97d3e3f48ce27a139e053bb370b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c8edaea3089bf908dd27da8f5d9e395c5b4dc092dbcce9b65e7156099b4b937"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:478e9e7b360dfec451daafe286998d4a1eeaecf6d69c427b834ae771cad4b622"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b6ca36c12a5120bad343eef193cc0122928c5c7466121da7c20f41160ba00ba2"}, - {file = "pydantic_core-2.14.6-cp311-none-win32.whl", hash = "sha256:2b8719037e570639e6b665a4050add43134d80b687288ba3ade18b22bbb29dd2"}, - {file = "pydantic_core-2.14.6-cp311-none-win_amd64.whl", hash = "sha256:78ee52ecc088c61cce32b2d30a826f929e1708f7b9247dc3b921aec367dc1b23"}, - {file = "pydantic_core-2.14.6-cp311-none-win_arm64.whl", hash = "sha256:a19b794f8fe6569472ff77602437ec4430f9b2b9ec7a1105cfd2232f9ba355e6"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:667aa2eac9cd0700af1ddb38b7b1ef246d8cf94c85637cbb03d7757ca4c3fdec"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdee837710ef6b56ebd20245b83799fce40b265b3b406e51e8ccc5b85b9099b7"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c5bcf3414367e29f83fd66f7de64509a8fd2368b1edf4351e862910727d3e51"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26a92ae76f75d1915806b77cf459811e772d8f71fd1e4339c99750f0e7f6324f"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a983cca5ed1dd9a35e9e42ebf9f278d344603bfcb174ff99a5815f953925140a"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cb92f9061657287eded380d7dc455bbf115430b3aa4741bdc662d02977e7d0af"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4ace1e220b078c8e48e82c081e35002038657e4b37d403ce940fa679e57113b"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef633add81832f4b56d3b4c9408b43d530dfca29e68fb1b797dcb861a2c734cd"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e90d6cc4aad2cc1f5e16ed56e46cebf4877c62403a311af20459c15da76fd91"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e8a5ac97ea521d7bde7621d86c30e86b798cdecd985723c4ed737a2aa9e77d0c"}, - {file = "pydantic_core-2.14.6-cp312-none-win32.whl", hash = "sha256:f27207e8ca3e5e021e2402ba942e5b4c629718e665c81b8b306f3c8b1ddbb786"}, - {file = "pydantic_core-2.14.6-cp312-none-win_amd64.whl", hash = "sha256:b3e5fe4538001bb82e2295b8d2a39356a84694c97cb73a566dc36328b9f83b40"}, - {file = "pydantic_core-2.14.6-cp312-none-win_arm64.whl", hash = "sha256:64634ccf9d671c6be242a664a33c4acf12882670b09b3f163cd00a24cffbd74e"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:24368e31be2c88bd69340fbfe741b405302993242ccb476c5c3ff48aeee1afe0"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:e33b0834f1cf779aa839975f9d8755a7c2420510c0fa1e9fa0497de77cd35d2c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6af4b3f52cc65f8a0bc8b1cd9676f8c21ef3e9132f21fed250f6958bd7223bed"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15687d7d7f40333bd8266f3814c591c2e2cd263fa2116e314f60d82086e353a"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:095b707bb287bfd534044166ab767bec70a9bba3175dcdc3371782175c14e43c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94fc0e6621e07d1e91c44e016cc0b189b48db053061cc22d6298a611de8071bb"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce830e480f6774608dedfd4a90c42aac4a7af0a711f1b52f807130c2e434c06"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a306cdd2ad3a7d795d8e617a58c3a2ed0f76c8496fb7621b6cd514eb1532cae8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2f5fa187bde8524b1e37ba894db13aadd64faa884657473b03a019f625cee9a8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:438027a975cc213a47c5d70672e0d29776082155cfae540c4e225716586be75e"}, - {file = "pydantic_core-2.14.6-cp37-none-win32.whl", hash = "sha256:f96ae96a060a8072ceff4cfde89d261837b4294a4f28b84a28765470d502ccc6"}, - {file = "pydantic_core-2.14.6-cp37-none-win_amd64.whl", hash = "sha256:e646c0e282e960345314f42f2cea5e0b5f56938c093541ea6dbf11aec2862391"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:db453f2da3f59a348f514cfbfeb042393b68720787bbef2b4c6068ea362c8149"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3860c62057acd95cc84044e758e47b18dcd8871a328ebc8ccdefd18b0d26a21b"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36026d8f99c58d7044413e1b819a67ca0e0b8ebe0f25e775e6c3d1fabb3c38fb"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ed1af8692bd8d2a29d702f1a2e6065416d76897d726e45a1775b1444f5928a7"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:314ccc4264ce7d854941231cf71b592e30d8d368a71e50197c905874feacc8a8"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:982487f8931067a32e72d40ab6b47b1628a9c5d344be7f1a4e668fb462d2da42"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dbe357bc4ddda078f79d2a36fc1dd0494a7f2fad83a0a684465b6f24b46fe80"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f6ffc6701a0eb28648c845f4945a194dc7ab3c651f535b81793251e1185ac3d"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7f5025db12fc6de7bc1104d826d5aee1d172f9ba6ca936bf6474c2148ac336c1"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dab03ed811ed1c71d700ed08bde8431cf429bbe59e423394f0f4055f1ca0ea60"}, - {file = "pydantic_core-2.14.6-cp38-none-win32.whl", hash = "sha256:dfcbebdb3c4b6f739a91769aea5ed615023f3c88cb70df812849aef634c25fbe"}, - {file = "pydantic_core-2.14.6-cp38-none-win_amd64.whl", hash = "sha256:99b14dbea2fdb563d8b5a57c9badfcd72083f6006caf8e126b491519c7d64ca8"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:4ce8299b481bcb68e5c82002b96e411796b844d72b3e92a3fbedfe8e19813eab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9a9d92f10772d2a181b5ca339dee066ab7d1c9a34ae2421b2a52556e719756f"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd9e98b408384989ea4ab60206b8e100d8687da18b5c813c11e92fd8212a98e0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f86f1f318e56f5cbb282fe61eb84767aee743ebe32c7c0834690ebea50c0a6b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86ce5fcfc3accf3a07a729779d0b86c5d0309a4764c897d86c11089be61da160"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dcf1978be02153c6a31692d4fbcc2a3f1db9da36039ead23173bc256ee3b91b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eedf97be7bc3dbc8addcef4142f4b4164066df0c6f36397ae4aaed3eb187d8ab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5f916acf8afbcab6bacbb376ba7dc61f845367901ecd5e328fc4d4aef2fcab0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8a14c192c1d724c3acbfb3f10a958c55a2638391319ce8078cb36c02283959b9"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0348b1dc6b76041516e8a854ff95b21c55f5a411c3297d2ca52f5528e49d8411"}, - {file = "pydantic_core-2.14.6-cp39-none-win32.whl", hash = "sha256:de2a0645a923ba57c5527497daf8ec5df69c6eadf869e9cd46e86349146e5975"}, - {file = "pydantic_core-2.14.6-cp39-none-win_amd64.whl", hash = "sha256:aca48506a9c20f68ee61c87f2008f81f8ee99f8d7f0104bff3c47e2d148f89d9"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d5c28525c19f5bb1e09511669bb57353d22b94cf8b65f3a8d141c389a55dec95"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:78d0768ee59baa3de0f4adac9e3748b4b1fffc52143caebddfd5ea2961595277"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b93785eadaef932e4fe9c6e12ba67beb1b3f1e5495631419c784ab87e975670"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a874f21f87c485310944b2b2734cd6d318765bcbb7515eead33af9641816506e"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89f4477d915ea43b4ceea6756f63f0288941b6443a2b28c69004fe07fde0d0d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:172de779e2a153d36ee690dbc49c6db568d7b33b18dc56b69a7514aecbcf380d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:dfcebb950aa7e667ec226a442722134539e77c575f6cfaa423f24371bb8d2e94"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:55a23dcd98c858c0db44fc5c04fc7ed81c4b4d33c653a7c45ddaebf6563a2f66"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4241204e4b36ab5ae466ecec5c4c16527a054c69f99bba20f6f75232a6a534e2"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e574de99d735b3fc8364cba9912c2bec2da78775eba95cbb225ef7dda6acea24"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1302a54f87b5cd8528e4d6d1bf2133b6aa7c6122ff8e9dc5220fbc1e07bffebd"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8e81e4b55930e5ffab4a68db1af431629cf2e4066dbdbfef65348b8ab804ea8"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c99462ffc538717b3e60151dfaf91125f637e801f5ab008f81c402f1dff0cd0f"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e4cf2d5829f6963a5483ec01578ee76d329eb5caf330ecd05b3edd697e7d768a"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:cf10b7d58ae4a1f07fccbf4a0a956d705356fea05fb4c70608bb6fa81d103cda"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:399ac0891c284fa8eb998bcfa323f2234858f5d2efca3950ae58c8f88830f145"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c6a5c79b28003543db3ba67d1df336f253a87d3112dac3a51b94f7d48e4c0e1"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599c87d79cab2a6a2a9df4aefe0455e61e7d2aeede2f8577c1b7c0aec643ee8e"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43e166ad47ba900f2542a80d83f9fc65fe99eb63ceec4debec160ae729824052"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a0b5db001b98e1c649dd55afa928e75aa4087e587b9524a4992316fa23c9fba"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:747265448cb57a9f37572a488a57d873fd96bf51e5bb7edb52cfb37124516da4"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7ebe3416785f65c28f4f9441e916bfc8a54179c8dea73c23023f7086fa601c5d"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:86c963186ca5e50d5c8287b1d1c9d3f8f024cbe343d048c5bd282aec2d8641f2"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e0641b506486f0b4cd1500a2a65740243e8670a2549bb02bc4556a83af84ae03"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71d72ca5eaaa8d38c8df16b7deb1a2da4f650c41b58bb142f3fb75d5ad4a611f"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27e524624eace5c59af499cd97dc18bb201dc6a7a2da24bfc66ef151c69a5f2a"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3dde6cac75e0b0902778978d3b1646ca9f438654395a362cb21d9ad34b24acf"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:00646784f6cd993b1e1c0e7b0fdcbccc375d539db95555477771c27555e3c556"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:23598acb8ccaa3d1d875ef3b35cb6376535095e9405d91a3d57a8c7db5d29341"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7f41533d7e3cf9520065f610b41ac1c76bc2161415955fbcead4981b22c7611e"}, - {file = "pydantic_core-2.14.6.tar.gz", hash = "sha256:1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948"}, + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4"}, + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db"}, + {file = "pydantic_core-2.16.3-cp310-none-win32.whl", hash = "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132"}, + {file = "pydantic_core-2.16.3-cp310-none-win_amd64.whl", hash = "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba"}, + {file = "pydantic_core-2.16.3-cp311-none-win32.whl", hash = "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721"}, + {file = "pydantic_core-2.16.3-cp311-none-win_amd64.whl", hash = "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df"}, + {file = "pydantic_core-2.16.3-cp311-none-win_arm64.whl", hash = "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf"}, + {file = "pydantic_core-2.16.3-cp312-none-win32.whl", hash = "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe"}, + {file = "pydantic_core-2.16.3-cp312-none-win_amd64.whl", hash = "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed"}, + {file = "pydantic_core-2.16.3-cp312-none-win_arm64.whl", hash = "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5"}, + {file = "pydantic_core-2.16.3-cp38-none-win32.whl", hash = "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a"}, + {file = "pydantic_core-2.16.3-cp38-none-win_amd64.whl", hash = "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972"}, + {file = "pydantic_core-2.16.3-cp39-none-win32.whl", hash = "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2"}, + {file = "pydantic_core-2.16.3-cp39-none-win_amd64.whl", hash = "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da"}, + {file = "pydantic_core-2.16.3.tar.gz", hash = "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"}, ] [package.dependencies] @@ -6660,19 +6647,19 @@ reference = "tsinghua" [[package]] name = "setuptools" -version = "69.0.3" +version = "69.1.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, - {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, + {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, + {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [package.source] type = "legacy" @@ -6796,13 +6783,13 @@ reference = "tsinghua" [[package]] name = "sniffio" -version = "1.3.0" +version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" files = [ - {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, - {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, ] [package.source] @@ -6964,13 +6951,13 @@ reference = "tsinghua" [[package]] name = "stevedore" -version = "5.1.0" +version = "5.2.0" description = "Manage dynamic plugins for Python applications" optional = false python-versions = ">=3.8" files = [ - {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, - {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, + {file = "stevedore-5.2.0-py3-none-any.whl", hash = "sha256:1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9"}, + {file = "stevedore-5.2.0.tar.gz", hash = "sha256:46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d"}, ] [package.dependencies] @@ -7062,13 +7049,13 @@ reference = "tsinghua" [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.2" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, + {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, ] [package.dependencies] @@ -7126,13 +7113,13 @@ reference = "tsinghua" [[package]] name = "twisted" -version = "23.10.0" +version = "24.3.0" description = "An asynchronous networking framework written in Python" optional = false python-versions = ">=3.8.0" files = [ - {file = "twisted-23.10.0-py3-none-any.whl", hash = "sha256:4ae8bce12999a35f7fe6443e7f1893e6fe09588c8d2bed9c35cdce8ff2d5b444"}, - {file = "twisted-23.10.0.tar.gz", hash = "sha256:987847a0790a2c597197613686e2784fd54167df3a55d0fb17c8412305d76ce5"}, + {file = "twisted-24.3.0-py3-none-any.whl", hash = "sha256:039f2e6a49ab5108abd94de187fa92377abe5985c7a72d68d0ad266ba19eae63"}, + {file = "twisted-24.3.0.tar.gz", hash = "sha256:6b38b6ece7296b5e122c9eb17da2eeab3d98a198f50ca9efd00fb03e5b4fd4ae"}, ] [package.dependencies] @@ -7156,7 +7143,7 @@ dev-release = ["pydoctor (>=23.9.0,<23.10.0)", "pydoctor (>=23.9.0,<23.10.0)", " gtk-platform = ["pygobject", "pygobject", "twisted[all-non-platform]", "twisted[all-non-platform]"] http2 = ["h2 (>=3.0,<5.0)", "priority (>=1.1.0,<2.0)"] macos-platform = ["pyobjc-core", "pyobjc-core", "pyobjc-framework-cfnetwork", "pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", "pyobjc-framework-cocoa", "twisted[all-non-platform]", "twisted[all-non-platform]"] -mypy = ["mypy (>=1.5.1,<1.6.0)", "mypy-zope (>=1.0.1,<1.1.0)", "twisted[all-non-platform,dev]", "types-pyopenssl", "types-setuptools"] +mypy = ["mypy (>=1.8,<2.0)", "mypy-zope (>=1.0.3,<1.1.0)", "twisted[all-non-platform,dev]", "types-pyopenssl", "types-setuptools"] osx-platform = ["twisted[macos-platform]", "twisted[macos-platform]"] serial = ["pyserial (>=3.0)", "pywin32 (!=226)"] test = ["cython-test-exception-raiser (>=1.0.2,<2)", "hypothesis (>=6.56)", "pyhamcrest (>=2)"] @@ -7224,13 +7211,13 @@ reference = "tsinghua" [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.10.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, ] [package.source] @@ -7240,13 +7227,13 @@ reference = "tsinghua" [[package]] name = "tzdata" -version = "2023.4" +version = "2024.1" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, - {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] [package.source] @@ -7656,13 +7643,13 @@ reference = "tsinghua" [[package]] name = "xlsxwriter" -version = "3.1.9" +version = "3.2.0" description = "A Python module for creating Excel XLSX files." optional = false python-versions = ">=3.6" files = [ - {file = "XlsxWriter-3.1.9-py3-none-any.whl", hash = "sha256:b61c1a0c786f82644936c0936ec96ee96cd3afb9440094232f7faef9b38689f0"}, - {file = "XlsxWriter-3.1.9.tar.gz", hash = "sha256:de810bf328c6a4550f4ffd6b0b34972aeb7ffcf40f3d285a0413734f9b63a929"}, + {file = "XlsxWriter-3.2.0-py3-none-any.whl", hash = "sha256:ecfd5405b3e0e228219bcaf24c2ca0915e012ca9464a14048021d21a995d490e"}, + {file = "XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c"}, ] [package.source] @@ -7826,47 +7813,47 @@ reference = "tsinghua" [[package]] name = "zope-interface" -version = "6.1" +version = "6.2" description = "Interfaces for Python" optional = false python-versions = ">=3.7" files = [ - {file = "zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb"}, - {file = "zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41"}, - {file = "zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f"}, - {file = "zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1"}, - {file = "zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de"}, - {file = "zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1"}, - {file = "zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a"}, - {file = "zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0"}, - {file = "zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b"}, - {file = "zope.interface-6.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2f8d89721834524a813f37fa174bac074ec3d179858e4ad1b7efd4401f8ac45d"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13b7d0f2a67eb83c385880489dbb80145e9d344427b4262c49fbf2581677c11c"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef43ee91c193f827e49599e824385ec7c7f3cd152d74cb1dfe02cb135f264d83"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e441e8b7d587af0414d25e8d05e27040d78581388eed4c54c30c0c91aad3a379"}, - {file = "zope.interface-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f89b28772fc2562ed9ad871c865f5320ef761a7fcc188a935e21fe8b31a38ca9"}, - {file = "zope.interface-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70d2cef1bf529bff41559be2de9d44d47b002f65e17f43c73ddefc92f32bf00f"}, - {file = "zope.interface-6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad54ed57bdfa3254d23ae04a4b1ce405954969c1b0550cc2d1d2990e8b439de1"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef467d86d3cfde8b39ea1b35090208b0447caaabd38405420830f7fd85fbdd56"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af47f10cfc54c2ba2d825220f180cc1e2d4914d783d6fc0cd93d43d7bc1c78b"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9559138690e1bd4ea6cd0954d22d1e9251e8025ce9ede5d0af0ceae4a401e43"}, - {file = "zope.interface-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:964a7af27379ff4357dad1256d9f215047e70e93009e532d36dcb8909036033d"}, - {file = "zope.interface-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:387545206c56b0315fbadb0431d5129c797f92dc59e276b3ce82db07ac1c6179"}, - {file = "zope.interface-6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:57d0a8ce40ce440f96a2c77824ee94bf0d0925e6089df7366c2272ccefcb7941"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ebc4d34e7620c4f0da7bf162c81978fce0ea820e4fa1e8fc40ee763839805f3"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a804abc126b33824a44a7aa94f06cd211a18bbf31898ba04bd0924fbe9d282d"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f294a15f7723fc0d3b40701ca9b446133ec713eafc1cc6afa7b3d98666ee1ac"}, - {file = "zope.interface-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a41f87bb93b8048fe866fa9e3d0c51e27fe55149035dcf5f43da4b56732c0a40"}, - {file = "zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"}, + {file = "zope.interface-6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:506f5410b36e5ba494136d9fa04c548eaf1a0d9c442b0b0e7a0944db7620e0ab"}, + {file = "zope.interface-6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b386b8b9d2b6a5e1e4eadd4e62335571244cb9193b7328c2b6e38b64cfda4f0e"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb0b3f2cb606981c7432f690db23506b1db5899620ad274e29dbbbdd740e797"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7916380abaef4bb4891740879b1afcba2045aee51799dfd6d6ca9bdc71f35f"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b240883fb43160574f8f738e6d09ddbdbf8fa3e8cea051603d9edfd947d9328"}, + {file = "zope.interface-6.2-cp310-cp310-win_amd64.whl", hash = "sha256:8af82afc5998e1f307d5e72712526dba07403c73a9e287d906a8aa2b1f2e33dd"}, + {file = "zope.interface-6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d45d2ba8195850e3e829f1f0016066a122bfa362cc9dc212527fc3d51369037"}, + {file = "zope.interface-6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76e0531d86523be7a46e15d379b0e975a9db84316617c0efe4af8338dc45b80c"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59f7374769b326a217d0b2366f1c176a45a4ff21e8f7cebb3b4a3537077eff85"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25e0af9663eeac6b61b231b43c52293c2cb7f0c232d914bdcbfd3e3bd5c182ad"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e02a6fc1772b458ebb6be1c276528b362041217b9ca37e52ecea2cbdce9fac"}, + {file = "zope.interface-6.2-cp311-cp311-win_amd64.whl", hash = "sha256:02adbab560683c4eca3789cc0ac487dcc5f5a81cc48695ec247f00803cafe2fe"}, + {file = "zope.interface-6.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8f5d2c39f3283e461de3655e03faf10e4742bb87387113f787a7724f32db1e48"}, + {file = "zope.interface-6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:75d2ec3d9b401df759b87bc9e19d1b24db73083147089b43ae748aefa63067ef"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa994e8937e8ccc7e87395b7b35092818905cf27c651e3ff3e7f29729f5ce3ce"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ede888382882f07b9e4cd942255921ffd9f2901684198b88e247c7eabd27a000"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2606955a06c6852a6cff4abeca38346ed01e83f11e960caa9a821b3626a4467b"}, + {file = "zope.interface-6.2-cp312-cp312-win_amd64.whl", hash = "sha256:ac7c2046d907e3b4e2605a130d162b1b783c170292a11216479bb1deb7cadebe"}, + {file = "zope.interface-6.2-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:febceb04ee7dd2aef08c2ff3d6f8a07de3052fc90137c507b0ede3ea80c21440"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fc711acc4a1c702ca931fdbf7bf7c86f2a27d564c85c4964772dadf0e3c52f5"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:396f5c94654301819a7f3a702c5830f0ea7468d7b154d124ceac823e2419d000"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dd374927c00764fcd6fe1046bea243ebdf403fba97a937493ae4be2c8912c2b"}, + {file = "zope.interface-6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a3046e8ab29b590d723821d0785598e0b2e32b636a0272a38409be43e3ae0550"}, + {file = "zope.interface-6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:de125151a53ecdb39df3cb3deb9951ed834dd6a110a9e795d985b10bb6db4532"}, + {file = "zope.interface-6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f444de0565db46d26c9fa931ca14f497900a295bd5eba480fc3fad25af8c763e"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2fefad268ff5c5b314794e27e359e48aeb9c8bb2cbb5748a071757a56f6bb8f"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97785604824981ec8c81850dd25c8071d5ce04717a34296eeac771231fbdd5cd"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7b2bed4eea047a949296e618552d3fed00632dc1b795ee430289bdd0e3717f3"}, + {file = "zope.interface-6.2-cp38-cp38-win_amd64.whl", hash = "sha256:d54f66c511ea01b9ef1d1a57420a93fbb9d48a08ec239f7d9c581092033156d0"}, + {file = "zope.interface-6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5ee9789a20b0081dc469f65ff6c5007e67a940d5541419ca03ef20c6213dd099"}, + {file = "zope.interface-6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af27b3fe5b6bf9cd01b8e1c5ddea0a0d0a1b8c37dc1c7452f1e90bf817539c6d"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bce517b85f5debe07b186fc7102b332676760f2e0c92b7185dd49c138734b70"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ae9793f114cee5c464cc0b821ae4d36e1eba961542c6086f391a61aee167b6f"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e87698e2fea5ca2f0a99dff0a64ce8110ea857b640de536c76d92aaa2a91ff3a"}, + {file = "zope.interface-6.2-cp39-cp39-win_amd64.whl", hash = "sha256:b66335bbdbb4c004c25ae01cc4a54fd199afbc1fd164233813c6d3c2293bb7e1"}, + {file = "zope.interface-6.2.tar.gz", hash = "sha256:3b6c62813c63c543a06394a636978b22dffa8c5410affc9331ce6cdb5bfa8565"}, ] [package.dependencies] @@ -7885,4 +7872,4 @@ reference = "tsinghua" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "3f228326a11742303de60a3b1bb8f748b6efc5a3dae1aa200e8a5cc6c9df9c0a" +content-hash = "d78c0c0a176f649b392403861e0597485061cab351e7a0e627d799ab61af5895" From dfe4eddbbcee3339d547db7d9e672593e8c23173 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:44:19 +0800 Subject: [PATCH 041/343] perf: translate (#12746) Co-authored-by: feng <1304903146@qq.com> Co-authored-by: feng626 <57284900+feng626@users.noreply.github.com> --- apps/i18n/lina/en.json | 2 +- apps/i18n/lina/zh.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 7729326aa..656bb5cf7 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -419,7 +419,7 @@ "ExcludeSymbol": "Exclude Char", "Execute": "Execute", "ExecuteOnce": "Execute Once", - "Execution": "History", + "ExecutionHistory": "Execution history", "ExecutionDetail": "Execution History Details", "ExecutionList": "Execute History", "ExistError": "This Element Already Exists", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 08b759611..08301c3cb 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -408,7 +408,7 @@ "ExcludeSymbol": "排除字符", "Execute": "执行", "ExecuteOnce": "执行一次", - "Execution": "执行历史", + "ExecutionHistory": "执行历史", "ExecutionDetail": "执行历史详情", "ExecutionList": "执行列表", "ExistError": "这个元素已经存在", From 83bdf076000b90e66b03640a8102992e9551ffd3 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 4 Mar 2024 15:42:14 +0800 Subject: [PATCH 042/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 154 ++++++++++++++++++++--------------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 7729326aa..ce97fc62e 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -10,12 +10,12 @@ "AccountGatherList": "Gather Tasks", "AccountGatherTaskList": "Account Gather", "AccountBackupCreate": "Create Account Backup", - "AccountBackupUpdate": "Update Account Backup", + "AccountBackupUpdate": "Update the Account Backup", "AccountBatchUpdate": "Updated selected", - "AccountCreate": "Create Account", + "AccountCreate": "Create a account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", - "AccountGatherTaskUpdate": "Update Task", + "AccountGatherTaskUpdate": "Update the Task", "AccountList": "Accounts", "AccountPolicy": "Account Policy", "AccountPushExecutionList": "Execute History", @@ -56,7 +56,7 @@ "Addressee": "Recipient", "AdhocDetail": "Command Details", "AdhocManage": "Command", - "AdhocUpdate": "Update Command", + "AdhocUpdate": "Update the Command", "Advanced": "Advanced Settings", "AfterChange": "After Changes", "AjaxError404": "404 Request Error", @@ -84,7 +84,7 @@ "AppletHostDetail": "Remote Application Publishing Machine Details", "AppletHostDomainHelpText": "This domain belongs to the System Organization", "AppletHostSelectHelpMessage": "When connecting to an asset, the selection of the application publishing machine is random (but the last used one is preferred). If you want to assign a specific publishing machine to an asset, you can tag it as or ;
When selecting an account for the publishing machine, the following situations will choose the user's own account with the same name or proprietary account (starting with js), otherwise use a public account (starting with jms):
  1. Both the publishing machine and application support concurrent;
  2. The publishing machine supports concurrent, but the application does not, and the current application does not use a proprietary account;
  3. The publishing machine does not support concurrent, the application either supports or does not support concurrent, and no application uses a proprietary account;
Note: Whether the application supports concurrent connections is decided by the developer, and whether the host supports concurrent connections is decided by the single user single session setting in the publishing machine configuration", - "AppletHostUpdate": "Update Remote App Publishing Machine", + "AppletHostUpdate": "Update the Remote App Publishing Machine", "AppletHosts": "RemoteApp machine", "Applets": "RemoteApp", "Applicant": "Applicant", @@ -106,16 +106,16 @@ "Asset": "Asset", "AssetAccount": "Accounts", "AssetAccountDetail": "Account Details", - "AssetAclCreate": "Create Asset Connect Rule", + "AssetAclCreate": "Create a Asset Connect Rule", "AssetAclDetail": "Asset Connect Rule Details", "AssetAclList": "Asset Connect", - "AssetAclUpdate": "Update Asset Connect Rules", + "AssetAclUpdate": "Update the Asset Connect Rules", "AssetAddress": "Asset (IP/Hostname)", "AssetAmount": "Asset amount", "AssetAndNode": "Assets/Nodes", "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", "AssetChangeSecretCreate": "Create account and change secret", - "AssetChangeSecretUpdate": "Update account and change secret", + "AssetChangeSecretUpdate": "Update the account and change secret", "AssetData": "Asset Data", "AssetDetail": "Asset Detail", "AssetList": "Assets", @@ -123,11 +123,11 @@ "AssetLoginACLHelpMsg": "When logging into assets, it can be audited based on the user's login IP and time segment to determine whether the assets can be logged into", "AssetName": "Asset Name", "AssetPermission": "Authorization", - "AssetPermissionCreate": "Create Asset Authorization Rule", + "AssetPermissionCreate": "Create a Asset Authorization Rule", "AssetPermissionDetail": "Asset Authorization Details", "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", "AssetPermissionRules": "Authorization Rules", - "AssetPermissionUpdate": "Update Asset Authorization Rules", + "AssetPermissionUpdate": "Update the Asset Authorization Rules", "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", "AssetTree": "Asset Tree", "Assets": "Assets", @@ -139,7 +139,7 @@ "Assignees": "Pending Handler", "AttrName": "Attribute Name", "AttrValue": "Attribute value", - "Audits": "Audit Console", + "Audits": "Audits", "Auth": "Authentication", "AuthLimit": "Login restriction", "AuthSAMLCertHelpText": "Save after uploading the certificate key, then view SP Metadata", @@ -231,29 +231,29 @@ "CloseStatus": "Completed", "Closed": "Completed", "CloudAccountList": "Cloud Accounts", - "CloudCreate": "Create Asset - Cloud Platform", + "CloudCreate": "Create a Asset - Cloud", "CloudSource": "Sync Source", "CloudSync": "Cloud Sync", - "CloudUpdate": "Update Assets -Cloud Platform", + "CloudUpdate": "Update the Asset - Cloud", "Cluster": "Cluster", "CollectionSucceed": "Collection successful", "Command": "Command", "CommandConfirm": "Command Review", "CommandFilterACL": "Command Filter", "CommandFilterACLHelpMsg": "By filtering commands, you can control if commands can be sent to assets. Based on your set rules, some commands can be allowed while others are prohibited.", - "CommandFilterAclCreate": "Create Command Filter Rule", + "CommandFilterAclCreate": "Create a Command Filter Rule", "CommandFilterAclDetail": "Details of Command Filter Rule", "CommandFilterAclList": "Command Filter", - "CommandFilterAclUpdate": "Update Command Filter Rule", + "CommandFilterAclUpdate": "Update the Command Filter Rule", "CommandFilterRuleContentHelpText": "One command per line", "CommandFilterRules": "Command Filter Rules", "CommandGroup": "Command Group", - "CommandGroupCreate": "Create Command Group", + "CommandGroupCreate": "Create a Command Group", "CommandGroupDetail": "Command Set Details", "CommandGroupList": "Command Group", - "CommandGroupUpdate": "Update Command Group", + "CommandGroupUpdate": "Update the Command Group", "CommandStorage": "Command Storage", - "CommandStorageUpdate": "Update Cmd Storage", + "CommandStorageUpdate": "Update the Cmd Storage", "Commands": "Command Record", "Comment": "Note", "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", @@ -267,10 +267,10 @@ "ConfirmPassword": "Confirm Password", "ConnectMethod": "Connect Method", "ConnectMethodACLHelpMsg": "Connect Methods can be filtered to control whether users can use a certain Connect Method to log in to the asset. According to your set rules, some Connect Methods can be allowed, while others can be prohibited (globally effective).", - "ConnectMethodAclCreate": "Create Connect Method Control", + "ConnectMethodAclCreate": "Create a Connect Method Control", "ConnectMethodAclDetail": "Connect Method Control Details", "ConnectMethodAclList": "Connect Method", - "ConnectMethodAclUpdate": "Update Connect Method Control", + "ConnectMethodAclUpdate": "Update the Connect Method Control", "ConnectWebSocketError": "Connection to WebSocket Failed", "ConnectionDropped": "Connection Disconnected", "ConnectionToken": "Connection token", @@ -286,15 +286,15 @@ "CopySuccess": "Copy Successful", "Corporation": "Company", "Create": "Create", - "CreateAccessKey": "Create Access Key", - "CreateAccountTemplate": "Create Account Template", - "CreateCommandStorage": "Create command storage", - "CreateEndpoint": "Create Endpoint", - "CreateEndpointRule": "Create EndPoint Rule", + "CreateAccessKey": "Create a Access Key", + "CreateAccountTemplate": "Create a Account Template", + "CreateCommandStorage": "Create a command storage", + "CreateEndpoint": "Create a Endpoint", + "CreateEndpointRule": "Create a EndPoint Rule", "CreateErrorMsg": "Creation Failed", - "CreateNode": "Create Node", - "CreatePlaybook": "Create Playbook", - "CreateReplayStorage": "Create Object Storage", + "CreateNode": "Create a Node", + "CreatePlaybook": "Create a Playbook", + "CreateReplayStorage": "Create a Object Storage", "CreateSuccessMsg": "Import Successful, Total: {count}", "CreateUserSetting": "User creation", "Created": "Created", @@ -307,12 +307,12 @@ "CurrentUserVerify": "Verify Current User", "Custom": "Custom", "CustomCol": "Customize Display Columns", - "CustomCreate": "Create Asset-Custom", + "CustomCreate": "Create a Asset - Custom", "CustomFields": "Custom Attributes", "CustomFile": "Please Place Custom Files in the Specified Directory (data/sms/main.py), and Enable Configuration Item SMS_CUSTOM_FILE_MD5= in config.txt", "CustomHelpMessage": "Custom Assets Type is dependent on remote applications. Please configure it in system settings in the remote applications", "CustomParams": "The left side are parameters received by the SMS platform, and the right side are JumpServer parameters waiting for formatting, which will eventually be as follows:
{\"phone_numbers\": \"123,134\", \"content\": \"verification code: 666666\"}", - "CustomUpdate": "Update Asset - Custom", + "CustomUpdate": "Update the Asset - Custom", "CustomUser": "Customized User", "CycleFromWeek": "Week Cycle From", "CyclePerform": "Execute periodically", @@ -320,9 +320,9 @@ "DangerousCommandNum": "Dangerous Command Count", "Dashboard": "Dashboard", "Database": "Database", - "DatabaseCreate": "Create Asset - Database", + "DatabaseCreate": "Create a Asset - Database", "DatabasePort": "Database Protocol Port", - "DatabaseUpdate": "Update Asset-Database", + "DatabaseUpdate": "Update the Asset-Database", "Date": "Date", "DateCreated": "Creation Time", "DateEnd": "End Date", @@ -352,7 +352,7 @@ "DeleteOrgMsg": "User List, User Group, Asset List, Network Domain List, Manage Users, System Users, Tag Management, Asset Authorization Rules", "DeleteOrgTitle": "Please Ensure the Following Information within the Organization has been Deleted", "DeleteReleasedAssets": "Delete Released Assets", - "BatchDelete": "Batch deletion", + "DeleteSelected": "Delete selected", "DeleteSuccess": "Delete Successfully", "DeleteSuccessMsg": "Delete Successful", "DeleteWarningMsg": "Are You Sure You Want to Delete", @@ -361,8 +361,8 @@ "DestinationIP": "Destination Address", "DestinationPort": "Destination Port", "Detail": "Detail", - "DeviceCreate": "Create Asset-Network Device", - "DeviceUpdate": "Update Assets - Network Equipment", + "DeviceCreate": "Create a Asset - Device", + "DeviceUpdate": "Update the Asset - Device", "Digit": "Number", "DingTalk": "DingTalk", "DingTalkTest": "Test", @@ -371,11 +371,11 @@ "DisplayName": "Name", "Docs": "Document", "Domain": "Domain", - "DomainCreate": "Create Domain", + "DomainCreate": "Create a Domain", "DomainEnabled": "Enable Domain", "DomainHelpMessage": "Domain function is designed to solve the problem that some environments (such as: hybrid cloud) cannot be directly connected, and a new function is added. The principle is to log in through the gateway server. JMS => Domain Gateway => Target Assets.", "DomainList": "Domains", - "DomainUpdate": "Update Domain", + "DomainUpdate": "Update the Domain", "Download": "Download", "DownloadCenter": "Download Center", "DownloadFTPFileTip": "The current action does not record files, or the file size exceeds the threshold (default 100M), or it has not yet been saved to the corresponding storage", @@ -461,11 +461,11 @@ "FullySynchronous": "Assets completely synchronized", "FullySynchronousHelpTips": "Whether to continue synchronizing such assets when the asset conditions do not meet the matching policy rules", "GCP": "Google Cloud", - "GPTCreate": "Create Asset-GPT", - "GPTUpdate": "Update Assets-GPT", - "GatewayCreate": "Create Gateway", + "GPTCreate": "Create a Asset - GPT", + "GPTUpdate": "Update the Asset - GPT", + "GatewayCreate": "Create a Gateway", "GatewayList": "Gateway list", - "GatewayUpdate": "Update Gateway", + "GatewayUpdate": "Update the Gateway", "GatheredAccounts": "Gathered Accounts", "GeneralAccounts": "General Accounts", "Generate": "Generate", @@ -489,10 +489,10 @@ "HistoryDate": "Date", "HistoryPassword": "Historical Password", "Host": "Asset", - "HostCreate": "Create Asset - Host", + "HostCreate": "Create a Asset - Host", "HostDeployment": "Deploy Publishing Machine", "HostList": "Host List", - "HostUpdate": "Update Assets - Host", + "HostUpdate": "Update the Asset - Host", "HostnameStrategy": "Used to Generate Hostnames for Assets. For Example: 1. Instance Name (instanceDemo); 2. Instance Name and Part of IP (last two letters) (instanceDemo-250.1)", "Hour": "Hour", "HuaweiCloud": "Huawei Cloud", @@ -555,20 +555,20 @@ "JDCloud": "JD Cloud", "Job": "Job", "JobCenter": "Job center", - "JobCreate": "Create Job", + "JobCreate": "Create a Job", "JobDetail": "Job Details", "JobExecutionLog": "Job Logs", "JobManagement": "Jobs", - "JobUpdate": "Update Job", + "JobUpdate": "Update the Job", "KingSoftCloud": "KingSoft Cloud", "KokoSettingUpdate": "Koko Configuration Settings", "LAN": "Bulk Account Add Results", "LDAPUser": "LDAP Users", "Label": "Label", - "LabelCreate": "Create Tags", + "LabelCreate": "Create a Label", "LabelInputFormatValidation": "Label format error, the correct format is: name:value", "LabelList": "Labels", - "LabelUpdate": "Update Tags", + "LabelUpdate": "Update the Label", "Language": "Language", "Last30": "Recent 30 items", "Last30Days": "Monthly", @@ -664,7 +664,7 @@ "NewCount": "Add", "NewCron": "Generate Cron", "NewDirectory": "Create New Directory", - "NewFile": "Create New File", + "NewFile": "Create a New File", "NewPassword": "New Password", "NewSyncCount": "New Sync", "No": "No", @@ -719,11 +719,11 @@ "OrgRoleHelpText": "The Org role is the user's role within the current organization", "OrgRoles": "Org Role", "OrgUser": "Organize Users", - "OrganizationCreate": "Create new", + "OrganizationCreate": "Create a organization", "OrganizationDetail": "Organization Details", "OrganizationList": "Organizations", "OrganizationManage": "Manage orgs", - "OrganizationUpdate": "Update Organization", + "OrganizationUpdate": "Update the Organization", "Other": "Other", "Output": "Output", "Overview": "Overview", @@ -761,10 +761,10 @@ "PlatformDetail": "Platform Details", "PlatformList": "Platforms", "PlatformProtocolConfig": "Platform Protocol Configuration", - "PlatformUpdate": "Update Platform", + "PlatformUpdate": "Update the Platform", "PlaybookDetail": "Playbook Details", "PlaybookManage": "Playbook", - "PlaybookUpdate": "Update Playbook", + "PlaybookUpdate": "Update the Playbook", "PleaseAgreeToTheTerms": "Please Agree to the Terms", "PleaseSelect": "Please select", "PolicyName": "Policy Name", @@ -841,7 +841,7 @@ "ReplaySession": "Session Replay", "ReplayStorage": "Object Storage", "ReplayStorageCreateUpdateHelpMessage": "Notice: Current SFTP storage only supports account backup, video storage is not yet supported.", - "ReplayStorageUpdate": "Update object storage", + "ReplayStorageUpdate": "Update the object storage", "Reply": "Reply", "RequestAssetPerm": "Apply for Asset Authorization", "RequestPerm": "Authorization Request", @@ -877,11 +877,11 @@ "Retry": "Retry", "Reviewer": "Approvers", "Role": "Role", - "RoleCreate": "Create role", + "RoleCreate": "Create a role", "RoleDetail": "Role Details", "RoleInfo": "Role Information", "RoleList": "Roles", - "RoleUpdate": "Update Role", + "RoleUpdate": "Update the Role", "RoleUsers": "Authorized Users", "Rows": "Row", "Rule": "Condition", @@ -1018,11 +1018,11 @@ "Storage": "Storage", "StorageSetting": "Storage", "Strategy": "Strategy", - "StrategyCreate": "Create Policy", + "StrategyCreate": "Create a Policy", "StrategyDetail": "Policy Details", "StrategyHelpTips": "Identify the unique attributes of assets (such as platforms) based on priority of strategies; when an asset's attribute (like nodes) can be configured to multiple, all Actions of the strategies will be executed.", "StrategyList": "Policy List", - "StrategyUpdate": "Update Policy", + "StrategyUpdate": "Update the Policy", "SuFrom": "Switch From", "Submit": "Submit", "Success": "Success", @@ -1037,12 +1037,12 @@ "SupportedProtocolHelpText": "Set supported protocols for the asset, you can modify the custom configurations, such as SFTP directory, RDP AD domain, etc., by clicking on the set button", "Sync": "Sync", "SyncDelete": "Sync Deletion", - "SyncInstanceTaskCreate": "Create Sync Task", + "SyncInstanceTaskCreate": "Create a Sync Task", "SyncInstanceTaskDetail": "Sync Task Details", "SyncInstanceTaskHistoryAssetList": "Synchronize instance list", "SyncInstanceTaskHistoryList": "Synchronization History List", "SyncInstanceTaskList": "Synchronization Task List", - "SyncInstanceTaskUpdate": "Update Sync Task", + "SyncInstanceTaskUpdate": "Update the Sync Task", "BatchSync": "Batch sync", "SyncSetting": "Sync Settings", "SyncStrategy": "Sync Policy", @@ -1070,13 +1070,13 @@ "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", "TemplateManagement": "Templates", "TemplateAdd": "Add from template", - "TemplateCreate": "Create Template", + "TemplateCreate": "Create a Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", "TencentCloud": "Tencent Cloud", "Terminal": "Components", "TerminalDetail": "Terminal Details", - "TerminalUpdate": "Update Terminal", - "TerminalUpdateStorage": "Update Terminal Storage", + "TerminalUpdate": "Update the Terminal", + "TerminalUpdateStorage": "Update the Terminal Storage", "Terminate": "Termination", "TerminateTaskSendSuccessMsg": "Task termination has been issued, please refresh and check later", "TermsAndConditions": "Terms and Conditions", @@ -1094,8 +1094,8 @@ "Ticket": "Ticket", "TicketDetail": "Work Order Details", "TicketFlow": "Work Order Flow", - "TicketFlowCreate": "Create Approval Flow", - "TicketFlowUpdate": "Update Approval Flow", + "TicketFlowCreate": "Create a Approval Flow", + "TicketFlowUpdate": "Update the Approval Flow", "Tickets": "Work Order List", "Time": "Time", "TimeDelta": "Time Cost", @@ -1132,14 +1132,14 @@ "UnselectedUser": "No User selected", "UpDownload": "Upload & Download", "Update": "Update", - "UpdateAccount": "Update Account", - "UpdateAccountTemplate": "Update Account Template", + "UpdateAccount": "Update the Account", + "UpdateAccountTemplate": "Update the Account Template", "UpdateAssetDetail": "Configure more information", "UpdateAssetUserToken": "Update Account Authentication Information", - "UpdateEndpoint": "Update Endpoint", - "UpdateEndpointRule": "Update Endpoint Rules", + "UpdateEndpoint": "Update the Endpoint", + "UpdateEndpointRule": "Update the Endpoint Rule", "UpdateErrorMsg": "Update Failed", - "UpdateNodeAssetHardwareInfo": "Update Node Asset Hardware Information", + "UpdateNodeAssetHardwareInfo": "Update Node Assets Hardware Information", "UpdateSSHKey": "Change SSH Public Key", "UpdateSelected": "Update selected", "UpdateSuccessMsg": "Update Successful", @@ -1161,25 +1161,25 @@ "UserCreate": "Create a User", "UserData": "User Data", "UserDetail": "User Details", - "UserGroupCreate": "Create User Group", + "UserGroupCreate": "Create a User Group", "UserGroupDetail": "User Group Details", "UserGroupList": "Groups", - "UserGroupUpdate": "Update User Group", + "UserGroupUpdate": "Update the User Group", "UserGroups": "User Groups", "UserInformation": "User Information", "UserList": "Users", "UserLoginACLHelpMsg": "When logging into the system, the user's login IP and time range can be audited to determine whether they are allowed to log into the system (effective globally)", - "UserLoginAclCreate": "Create User Login Control", + "UserLoginAclCreate": "Create a User Login Control", "UserLoginAclDetail": "User Login Control Details", "UserLoginAclList": "User Login", - "UserLoginAclUpdate": "Update User Login Control", + "UserLoginAclUpdate": "Update the User Login Control", "UserLoginLimit": "User Restriction", "UserLoginTrend": "Account Login Trend", "UserProfile": "Profile", "UserSession": "Asset Sessions", "UserSetting": "Preference", "UserSwitchFrom": "Switch from", - "UserUpdate": "Update User", + "UserUpdate": "Update the User", "Username": "Username", "UsernamePlaceholder": "Please Enter Username", "Users": "User", @@ -1206,11 +1206,11 @@ "VirtualApps": "Virtual App", "WeCom": "WeCom", "WeComTest": "Test", - "WebCreate": "Create Asset-Web", + "WebCreate": "Create a Asset - Web", "WebHelpMessage": "Web type assets depend on remote applications, please go to system settings and configure in remote applications", "WebSocketDisconnect": "WebSocket Disconnected", "WebTerminal": "Web Terminal", - "WebUpdate": "Update Asset-Web", + "WebUpdate": "Update the Asset - Web", "Wednesday": "Wednesday", "Week": "Week", "WeekAdd": "New this Week", @@ -1218,7 +1218,7 @@ "WildcardsAllowed": "Allowed Wildcards", "WindowsPushHelpText": "Windows assets temporarily do not support key push", "WordSep": "", - "Workbench": "Workspace", + "Workbench": "Workbench", "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack", From e57512f4fe0a02ac5fa73e864e319bb99a3f9287 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 4 Mar 2024 19:18:26 +0800 Subject: [PATCH 043/343] =?UTF-8?q?perf:=20=E6=B7=BB=E5=8A=A0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=94=AF=E6=8C=81=20Lite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const/types.py | 16 ++++++++++------ apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 2 +- apps/i18n/lina/en.json | 10 +++++----- apps/jumpserver/conf.py | 3 ++- apps/jumpserver/settings/custom.py | 2 ++ apps/settings/serializers/public.py | 1 + 7 files changed, 23 insertions(+), 15 deletions(-) diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 6f03839d5..81c5f190f 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -165,15 +165,19 @@ class AllTypes(ChoicesMixin): @classmethod def category_types(cls): - return ( + types = [ (Category.HOST, HostTypes), (Category.DEVICE, DeviceTypes), (Category.DATABASE, DatabaseTypes), - # (Category.CLOUD, CloudTypes), - # (Category.WEB, WebTypes), - # (Category.GPT, GPTTypes), - # (Category.CUSTOM, CustomTypes), - ) + ] + if not settings.LITE: + types.extend([ + (Category.CLOUD, CloudTypes), + (Category.WEB, WebTypes), + (Category.GPT, GPTTypes), + (Category.CUSTOM, CustomTypes), + ]) + return types @classmethod def get_types(cls, exclude_custom=False): diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 120248679..8c4e1af5b 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:354a97baa671b72139dd50723e3a460f4d8e6def32c053722bcd2f4e21063c1a -size 2464 +oid sha256:37361f83f7fa134e220bc7f0f4cc235d77bf0970a4e5f44a4692542127a433d2 +size 2463 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 052658858..3fd20902b 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -930,7 +930,7 @@ msgstr "" #: tickets/models/ticket/general.py:297 users/models/user.py:836 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 msgid "Comment" -msgstr "Comment" +msgstr "Description" #: accounts/serializers/account/virtual.py:24 msgid "" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 4d2d5dac6..8d5424925 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -6,7 +6,7 @@ "AccessKey": "Access Key", "Account": "Account", "AccountBackup": "Account Backup", - "AccountChangeSecret": "Account Change Secret", + "AccountChangeSecret": "Change Secret", "AccountGatherList": "Gather Tasks", "AccountGatherTaskList": "Account Gather", "AccountBackupCreate": "Create Account Backup", @@ -129,7 +129,7 @@ "AssetPermissionRules": "Authorization Rules", "AssetPermissionUpdate": "Update the Asset Authorization Rules", "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", - "AssetTree": "Asset Tree", + "AssetTree": "Asset tree", "Assets": "Assets", "AssetsAmount": "Asset amount", "AssetsTotal": "Asset Total", @@ -233,7 +233,7 @@ "CloudAccountList": "Cloud Accounts", "CloudCreate": "Create a Asset - Cloud", "CloudSource": "Sync Source", - "CloudSync": "Cloud Sync", + "CloudSync": "Cloud Provider", "CloudUpdate": "Update the Asset - Cloud", "Cluster": "Cluster", "CollectionSucceed": "Collection successful", @@ -373,7 +373,7 @@ "Domain": "Domain", "DomainCreate": "Create a Domain", "DomainEnabled": "Enable Domain", - "DomainHelpMessage": "Domain function is designed to solve the problem that some environments (such as: hybrid cloud) cannot be directly connected, and a new function is added. The principle is to log in through the gateway server. JMS => Domain Gateway => Target Assets.", + "DomainHelpMessage": "Domain function is designed to solve the problem that some environments (such as: hybrid cloud) cannot be directly connected, and a new function is added. The principle is to log in through the gateway server. Server -> Domain Gateway -> Target Assets.", "DomainList": "Domains", "DomainUpdate": "Update the Domain", "Download": "Download", @@ -1117,7 +1117,7 @@ "TwoAssignee": "Subscribe to Authorization ID", "TwoAssigneeType": "Secondary Recipient Type", "Type": "Type", - "TypeTree": "Type Tree", + "TypeTree": "Type tree", "Types": "Type", "UCloud": "UCloud UHost", "UnSyncCount": "Not Synced", diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 9f869ace6..031083ff0 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -607,7 +607,8 @@ class Config(dict): 'FILE_UPLOAD_SIZE_LIMIT_MB': 200, - 'TICKET_APPLY_ASSET_SCOPE': 'all' + 'TICKET_APPLY_ASSET_SCOPE': 'all', + 'LITE': False } old_config_map = { diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index ed5cc61a9..856d9aa1b 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -229,3 +229,5 @@ VIRTUAL_APP_ENABLED = CONFIG.VIRTUAL_APP_ENABLED FILE_UPLOAD_SIZE_LIMIT_MB = CONFIG.FILE_UPLOAD_SIZE_LIMIT_MB TICKET_APPLY_ASSET_SCOPE = CONFIG.TICKET_APPLY_ASSET_SCOPE + +LITE = CONFIG.LITE diff --git a/apps/settings/serializers/public.py b/apps/settings/serializers/public.py index 278764c65..054733667 100644 --- a/apps/settings/serializers/public.py +++ b/apps/settings/serializers/public.py @@ -58,6 +58,7 @@ class PrivateSettingSerializer(PublicSettingSerializer): CHAT_AI_ENABLED = serializers.BooleanField() GPT_MODEL = serializers.CharField() FILE_UPLOAD_SIZE_LIMIT_MB = serializers.IntegerField() + LITE = serializers.BooleanField() class ServerInfoSerializer(serializers.Serializer): From 6ea13b2c0d760fe42611c4960825c2c4d7e3981c Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 5 Mar 2024 19:01:44 +0800 Subject: [PATCH 044/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/audits/serializers.py | 2 +- apps/i18n/lina/en.json | 22 ++++++++++++---------- apps/perms/serializers/permission.py | 2 +- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/audits/serializers.py b/apps/audits/serializers.py index 78c42fdd0..f22d27820 100644 --- a/apps/audits/serializers.py +++ b/apps/audits/serializers.py @@ -131,7 +131,7 @@ class ActivityUnionLogSerializer(serializers.Serializer): def get_content(obj): if not obj['r_detail']: action = obj['r_action'].replace('_', ' ').capitalize() - ctn = _('User %s %s this resource') % (obj['r_user'], _(action)) + ctn = _('%s %s this resource') % (obj['r_user'], _(action).lower()) else: ctn = i18n_trans(obj['r_detail']) return ctn diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 8d5424925..ba8681609 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -254,7 +254,7 @@ "CommandGroupUpdate": "Update the Command Group", "CommandStorage": "Command Storage", "CommandStorageUpdate": "Update the Cmd Storage", - "Commands": "Command Record", + "Commands": "Commands", "Comment": "Note", "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", "CommunityEdition": "Community Version", @@ -329,13 +329,13 @@ "DateExpired": "Expiration Date", "DateFinished": "Completion Date", "DateJoined": "Creation Date", - "DateLast24Hours": "Last 24 Hours", - "DateLast3Months": "Last Three Months", - "DateLastHarfYear": "The last six months", + "DateLast24Hours": "Last Day", + "DateLast3Months": "Quarter of Year", + "DateLastHarfYear": "Half of Year", "DateLastLogin": "Last Login Date", - "DateLastMonth": "Past One Month", + "DateLastMonth": "Last Month", "DateLastSync": "Last synchronization date", - "DateLastWeek": "Past Week", + "DateLastWeek": "Last Week", "DateLastYear": "Last Year", "DatePasswordLastUpdated": "Last Password Update Date", "DateStart": "Start Date", @@ -464,7 +464,7 @@ "GPTCreate": "Create a Asset - GPT", "GPTUpdate": "Update the Asset - GPT", "GatewayCreate": "Create a Gateway", - "GatewayList": "Gateway list", + "GatewayList": "Gateways", "GatewayUpdate": "Update the Gateway", "GatheredAccounts": "Gathered Accounts", "GeneralAccounts": "General Accounts", @@ -785,7 +785,9 @@ "Proportion": "Proportion", "ProportionOfAssetTypes": "Asset Type Proportion", "Protocol": "Protocol", - "Protocols": "Agreement", + "Protocols": "Protocols", + "SuEnabled": "Enable su", + "SyncProtocolToAsset": "Protocols to Assets", "Proxy": "Agent", "PublicCloud": "Public Cloud", "PublicKey": "Public Key", @@ -963,7 +965,7 @@ "SessionData": "Session Data", "SessionDetail": "Session Details", "SessionID": "Session ID", - "SessionList": "Conversation History", + "SessionList": "Sessions", "SessionMonitor": "Monitor", "SessionOffline": "Historical Sessions", "SessionOnline": "Online Sessions", @@ -1048,7 +1050,7 @@ "SyncStrategy": "Sync Policy", "SyncSuccessMsg": "Sync Succeeded", "SyncTask": "Sync Tasks", - "SyncUpdateAccountInfo": "Sync update account information", + "SyncUpdateAccountInfo": "Sync new secret to accounts", "SyncUser": "Sync Users", "SyncedCount": "Synchronized", "SystemError": "System Error", diff --git a/apps/perms/serializers/permission.py b/apps/perms/serializers/permission.py index aa816dd05..d8e15b2ce 100644 --- a/apps/perms/serializers/permission.py +++ b/apps/perms/serializers/permission.py @@ -42,7 +42,7 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali actions = ActionChoicesField(required=False, allow_null=True, label=_("Actions")) is_valid = serializers.BooleanField(read_only=True, label=_("Is valid")) is_expired = serializers.BooleanField(read_only=True, label=_("Is expired")) - accounts = serializers.ListField(label=_("Account"), required=False) + accounts = serializers.ListField(label=_("Accounts"), required=False) protocols = serializers.ListField(label=_("Protocols"), required=False) template_accounts = AccountTemplate.objects.none() From 9341558f619507367ee902237816f23d9f036a68 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Wed, 6 Mar 2024 16:51:07 +0800 Subject: [PATCH 045/343] perf: translate (#12764) Co-authored-by: feng <1304903146@qq.com> --- apps/accounts/serializers/account/backup.py | 2 +- apps/accounts/serializers/automations/base.py | 2 +- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 23 +++++++++--------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/ja/LC_MESSAGES/django.po | 24 +++++++++---------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/core/zh/LC_MESSAGES/django.po | 21 ++++++++-------- apps/i18n/lina/en.json | 2 +- 9 files changed, 42 insertions(+), 44 deletions(-) diff --git a/apps/accounts/serializers/account/backup.py b/apps/accounts/serializers/account/backup.py index b98a11810..d2aaf7ed1 100644 --- a/apps/accounts/serializers/account/backup.py +++ b/apps/accounts/serializers/account/backup.py @@ -35,7 +35,7 @@ class AccountBackupSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSer ] extra_kwargs = { 'name': {'required': True}, - 'executed_amount': {'label': _('Executed amount')}, + 'executed_amount': {'label': _('Executions')}, 'recipients': { 'label': _('Recipient'), 'help_text': _('Currently only mail sending is supported') diff --git a/apps/accounts/serializers/automations/base.py b/apps/accounts/serializers/automations/base.py index f02ecdc6d..e6fb55485 100644 --- a/apps/accounts/serializers/automations/base.py +++ b/apps/accounts/serializers/automations/base.py @@ -34,7 +34,7 @@ class BaseAutomationSerializer(PeriodTaskSerializerMixin, BulkOrgResourceModelSe extra_kwargs = { 'name': {'required': True}, 'type': {'read_only': True}, - 'executed_amount': {'label': _('Executed amount')}, + 'executed_amount': {'label': _('Executions')}, } def validate_name(self, name): diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 8c4e1af5b..9bf456726 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37361f83f7fa134e220bc7f0f4cc235d77bf0970a4e5f44a4692542127a433d2 -size 2463 +oid sha256:16cedef767e949250b792d7f5921071b001545fc17cff4be093cd5faf5a20176 +size 2453 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 3fd20902b..b17696a9f 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-28 17:25+0800\n" +"POT-Creation-Date: 2024-03-06 16:46+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -296,9 +296,8 @@ msgstr "" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 -#: terminal/serializers/command.py:72 +#: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:33 terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -838,7 +837,7 @@ msgstr "" #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 users/serializers/group.py:21 +#: users/models/user.py:1041 msgid "User" msgstr "" @@ -850,8 +849,8 @@ msgstr "" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:37 -msgid "Executed amount" -msgstr "Execution times" +msgid "Executions" +msgstr "Executions" #: accounts/serializers/account/backup.py:41 #: accounts/serializers/automations/change_secret.py:57 @@ -1109,13 +1108,13 @@ msgid "Active" msgstr "Active" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:293 msgid "Users" msgstr "" #: acls/models/base.py:98 assets/models/automations/base.py:17 -#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 -#: rbac/tree.py:35 +#: assets/models/cmd_filter.py:38 perms/serializers/permission.py:45 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 msgid "Accounts" msgstr "" @@ -1581,7 +1580,7 @@ msgstr "" msgid "API mode" msgstr "" -#: assets/const/types.py:247 +#: assets/const/types.py:251 msgid "All types" msgstr "" @@ -2539,7 +2538,7 @@ msgstr "" #: audits/serializers.py:134 #, python-format -msgid "User %s %s this resource" +msgid "%s %s this resource" msgstr "" #: audits/serializers.py:172 authentication/models/connection_token.py:47 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index 41b53b5a8..746b941ec 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f56e397e2b9120c529fe1a6a7334cd6522df6298ffcb8f0af44e4c234899de4 -size 167973 +oid sha256:deba66cca5a41120ea382842441d5ad1b6597ee01fc74569dea71b974616e104 +size 167844 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index de6f736a3..1457b6838 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-28 17:24+0800\n" +"POT-Creation-Date: 2024-03-06 16:46+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -296,9 +296,8 @@ msgstr "ソース ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 -#: terminal/serializers/command.py:72 +#: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:33 terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -850,7 +849,7 @@ msgstr "ID" #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 users/serializers/group.py:21 +#: users/models/user.py:1041 msgid "User" msgstr "ユーザー" @@ -862,7 +861,7 @@ msgstr "日付" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:37 -msgid "Executed amount" +msgid "Executions" msgstr "実行回数" #: accounts/serializers/account/backup.py:41 @@ -1128,13 +1127,13 @@ msgid "Active" msgstr "アクティブ" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:293 msgid "Users" msgstr "ユーザー" #: acls/models/base.py:98 assets/models/automations/base.py:17 -#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 -#: rbac/tree.py:35 +#: assets/models/cmd_filter.py:38 perms/serializers/permission.py:45 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 msgid "Accounts" msgstr "アカウント" @@ -1621,7 +1620,7 @@ msgstr "ボタンセレクターを確認する" msgid "API mode" msgstr "APIモード" -#: assets/const/types.py:247 +#: assets/const/types.py:251 msgid "All types" msgstr "いろんなタイプ" @@ -2591,8 +2590,9 @@ msgid "Reason display" msgstr "理由表示" #: audits/serializers.py:134 -#, python-format -msgid "User %s %s this resource" +#, fuzzy, python-format +#| msgid "User %s %s this resource" +msgid "%s %s this resource" msgstr "ユーザー %s %s が現在のリソースをサブスクライブしました。" #: audits/serializers.py:172 authentication/models/connection_token.py:47 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index 2f842d6ea..3c04fa451 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b0b4861d76e743aba8af897d77c39f0cadf414cc21b2b66e400e58da0c0249d -size 138962 +oid sha256:986e7a2879923a9cc545fe35c18265caf8d9d4b9636d5ef4277510cc8ac8f790 +size 138952 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 6958569c2..0dc66a170 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-28 17:25+0800\n" +"POT-Creation-Date: 2024-03-06 16:47+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -295,9 +295,8 @@ msgstr "来源 ID" #: assets/serializers/asset/common.py:128 assets/serializers/gateway.py:28 #: audits/models.py:59 authentication/api/connection_token.py:405 #: ops/models/base.py:18 perms/models/asset_permission.py:75 -#: perms/serializers/permission.py:45 settings/serializers/msg.py:33 -#: terminal/backends/command/models.py:18 terminal/models/session/session.py:33 -#: terminal/serializers/command.py:72 +#: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:33 terminal/serializers/command.py:72 #: terminal/templates/terminal/_msg_command_warning.html:8 #: terminal/templates/terminal/_msg_session_sharing.html:8 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:89 @@ -846,7 +845,7 @@ msgstr "ID" #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 users/serializers/group.py:21 +#: users/models/user.py:1041 msgid "User" msgstr "用户" @@ -858,7 +857,7 @@ msgstr "日期" #: accounts/serializers/account/backup.py:38 #: accounts/serializers/automations/base.py:37 -msgid "Executed amount" +msgid "Executions" msgstr "执行次数" #: accounts/serializers/account/backup.py:41 @@ -1120,13 +1119,13 @@ msgid "Active" msgstr "激活中" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:293 msgid "Users" msgstr "用户" #: acls/models/base.py:98 assets/models/automations/base.py:17 -#: assets/models/cmd_filter.py:38 perms/serializers/user_permission.py:75 -#: rbac/tree.py:35 +#: assets/models/cmd_filter.py:38 perms/serializers/permission.py:45 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 msgid "Accounts" msgstr "账号" @@ -1603,7 +1602,7 @@ msgstr "确认按钮选择器" msgid "API mode" msgstr "API 模式" -#: assets/const/types.py:247 +#: assets/const/types.py:251 msgid "All types" msgstr "所有类型" @@ -2565,7 +2564,7 @@ msgstr "原因描述" #: audits/serializers.py:134 #, python-format -msgid "User %s %s this resource" +msgid "%s %s this resource" msgstr "用户 %s %s 了当前资源" #: audits/serializers.py:172 authentication/models/connection_token.py:47 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ba8681609..fc935d5a3 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -973,7 +973,7 @@ "SessionState": "Session Status", "SessionTerminate": "Session Termination", "SessionTrend": "Session Trends", - "Sessions": "Session管理", + "Sessions": "Sessions", "SessionsAudit": "Session Audit", "SessionsNum": "Sessions", "Set": "Configured", From 542e94ec9c6890ed3d0d2d26be4b3e2388681698 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 6 Mar 2024 17:08:24 +0800 Subject: [PATCH 046/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ba8681609..b4efe387d 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -5,21 +5,24 @@ "AccessIP": "IP Whitelist", "AccessKey": "Access Key", "Account": "Account", - "AccountBackup": "Account Backup", - "AccountChangeSecret": "Change Secret", + "AccountBackup": "Backup Accounts", + "AccountChangeSecret": "Change Credentials", "AccountGatherList": "Gather Tasks", - "AccountGatherTaskList": "Account Gather", + "AccountGatherTaskCreate": "Create a gather accounts task", + "AccountGatherTaskUpdate": "Update the gather accounts task", + "AccountGatherTaskList": "Gather Accounts", "AccountBackupCreate": "Create Account Backup", "AccountBackupUpdate": "Update the Account Backup", "AccountBatchUpdate": "Updated selected", "AccountCreate": "Create a account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", - "AccountGatherTaskUpdate": "Update the Task", "AccountList": "Accounts", "AccountPolicy": "Account Policy", "AccountPushExecutionList": "Execute History", - "AccountPushList": "Account Push", + "AccountPushList": "Push Accounts", + "AccountPushUpdate": "Update the Push Account task", + "AccountPushCreate": "Create a Push Account task", "AccountStorage": "Account", "HistoryRecord": "History record", "AccountTemplate": "Template", @@ -114,8 +117,8 @@ "AssetAmount": "Asset amount", "AssetAndNode": "Assets/Nodes", "AssetBulkUpdateTips": "Network Devices, Cloud Services, Web, Batch Updating of Domains Not Supported", - "AssetChangeSecretCreate": "Create account and change secret", - "AssetChangeSecretUpdate": "Update the account and change secret", + "AssetChangeSecretCreate": "Create a change account credentials task", + "AssetChangeSecretUpdate": "Update the change account credentials task", "AssetData": "Asset Data", "AssetDetail": "Asset Detail", "AssetList": "Assets", @@ -403,7 +406,7 @@ "EnterForSearch": "Press Enter to Search", "EnterRunUser": "Enter running user", "EnterRunningPath": "Enter Running Path", - "EnterToContinue": "Press Enter To Continue Inputting", + "EnterToContinue": "Press Enter to Continue", "EnterUploadPath": "Enter Upload Path", "Enterprise": "Enterprise Edition", "EnterpriseEdition": "Enterprise Edition", @@ -686,7 +689,7 @@ "Nothing": "None", "Notifications": "Notifications", "Now": "Now", - "Number": "Number", + "Number": "No.", "NumberOfVisits": "Visits", "OAuth2": "OAuth2", "OAuth2LogoTip": "Note: Authentication Provider (Recommended image size: 64px*64px)", @@ -922,7 +925,7 @@ "Saturday": "Saturday", "Save": "Save", "SaveAdhoc": "Save Command", - "SaveAndAddAnother": "Save and Continue Adding", + "SaveAndAddAnother": "Save and Continue", "SaveCommand": "Save Command", "SaveCommandSuccess": "Command Saved Successfully", "SaveSetting": "Synchronization Settings", From c64480dc3372db99a8e0d2036930865f70bb53b6 Mon Sep 17 00:00:00 2001 From: Bai Date: Wed, 6 Mar 2024 17:47:59 +0800 Subject: [PATCH 047/343] perf: i18n settings-Interface not done. --- apps/i18n/core/en/LC_MESSAGES/django.po | 2 +- apps/i18n/core/ja/LC_MESSAGES/django.mo | 3 --- apps/i18n/core/ja/LC_MESSAGES/django.po | 2 +- apps/i18n/core/zh/LC_MESSAGES/django.mo | 3 --- apps/i18n/core/zh/LC_MESSAGES/django.po | 2 +- 5 files changed, 3 insertions(+), 9 deletions(-) delete mode 100644 apps/i18n/core/ja/LC_MESSAGES/django.mo delete mode 100644 apps/i18n/core/zh/LC_MESSAGES/django.mo diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index b17696a9f..461684a32 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8725,7 +8725,7 @@ msgid "Interface settings" msgstr "" #: xpack/plugins/interface/models.py:23 -msgid "Title of login page" +msgid "Login title" msgstr "" #: xpack/plugins/interface/models.py:27 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo deleted file mode 100644 index 746b941ec..000000000 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:deba66cca5a41120ea382842441d5ad1b6597ee01fc74569dea71b974616e104 -size 167844 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 1457b6838..b7fd4a4f4 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -9062,7 +9062,7 @@ msgid "Interface settings" msgstr "インターフェイスの設定" #: xpack/plugins/interface/models.py:23 -msgid "Title of login page" +msgid "Login title" msgstr "ログインページのタイトル" #: xpack/plugins/interface/models.py:27 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo deleted file mode 100644 index 3c04fa451..000000000 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:986e7a2879923a9cc545fe35c18265caf8d9d4b9636d5ef4277510cc8ac8f790 -size 138952 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 0dc66a170..f6ce5228f 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -8855,7 +8855,7 @@ msgid "Interface settings" msgstr "界面设置" #: xpack/plugins/interface/models.py:23 -msgid "Title of login page" +msgid "Login title" msgstr "登录页面标题" #: xpack/plugins/interface/models.py:27 From 30915a93e52876ba935bdb808e63fa4ca05286ad Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 7 Mar 2024 16:15:09 +0800 Subject: [PATCH 048/343] perf: i18n settings-tools done. --- apps/i18n/core/en/LC_MESSAGES/django.po | 6 +++--- apps/i18n/core/ja/LC_MESSAGES/django.po | 6 +++--- apps/i18n/core/zh/LC_MESSAGES/django.po | 6 +++--- apps/i18n/lina/en.json | 10 +++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 461684a32..85d7e2486 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8729,7 +8729,7 @@ msgid "Login title" msgstr "" #: xpack/plugins/interface/models.py:27 -msgid "Image of login page" +msgid "Login image" msgstr "" #: xpack/plugins/interface/models.py:31 @@ -8737,11 +8737,11 @@ msgid "Website icon" msgstr "" #: xpack/plugins/interface/models.py:35 -msgid "Logo of management page" +msgid "Index logo" msgstr "" #: xpack/plugins/interface/models.py:39 -msgid "Logo of logout page" +msgid "Logout logo" msgstr "" #: xpack/plugins/interface/models.py:41 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index b7fd4a4f4..944587f9f 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -9066,7 +9066,7 @@ msgid "Login title" msgstr "ログインページのタイトル" #: xpack/plugins/interface/models.py:27 -msgid "Image of login page" +msgid "Login image" msgstr "ログインページのイメージ" #: xpack/plugins/interface/models.py:31 @@ -9074,11 +9074,11 @@ msgid "Website icon" msgstr "ウェブサイトのアイコン" #: xpack/plugins/interface/models.py:35 -msgid "Logo of management page" +msgid "Index logo" msgstr "管理ページのロゴ" #: xpack/plugins/interface/models.py:39 -msgid "Logo of logout page" +msgid "Logout logo" msgstr "ログアウトページのロゴ" #: xpack/plugins/interface/models.py:41 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index f6ce5228f..48d4e52ba 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -8859,7 +8859,7 @@ msgid "Login title" msgstr "登录页面标题" #: xpack/plugins/interface/models.py:27 -msgid "Image of login page" +msgid "Login image" msgstr "登录页面图片" #: xpack/plugins/interface/models.py:31 @@ -8867,11 +8867,11 @@ msgid "Website icon" msgstr "网站图标" #: xpack/plugins/interface/models.py:35 -msgid "Logo of management page" +msgid "Index logo" msgstr "管理页面 Logo" #: xpack/plugins/interface/models.py:39 -msgid "Logo of logout page" +msgid "Logout logo" msgstr "退出页面 Logo" #: xpack/plugins/interface/models.py:41 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index fc935d5a3..9e0eaca25 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -358,8 +358,8 @@ "DeleteWarningMsg": "Are You Sure You Want to Delete", "Deploy": "Deployment", "Description": "Description", - "DestinationIP": "Destination Address", - "DestinationPort": "Destination Port", + "DestinationIP": "Destination address", + "DestinationPort": "Destination port", "Detail": "Detail", "DeviceCreate": "Create a Asset - Device", "DeviceUpdate": "Update the Asset - Device", @@ -403,7 +403,7 @@ "EnterForSearch": "Press Enter to Search", "EnterRunUser": "Enter running user", "EnterRunningPath": "Enter Running Path", - "EnterToContinue": "Press Enter To Continue Inputting", + "EnterToContinue": "Press Enter to continue inputting", "EnterUploadPath": "Enter Upload Path", "Enterprise": "Enterprise Edition", "EnterpriseEdition": "Enterprise Edition", @@ -1001,8 +1001,8 @@ "Skipped": "Skipped", "Slack": "Slack", "Source": "Source", - "SourceIP": "Source Address", - "SourcePort": "Source Port", + "SourceIP": "Source address", + "SourcePort": "Source port", "Spec": "Specify", "SpecAccount": "Designated Account", "SpecAccountTip": "Specify username to choose authorized account", From 46d57f02e7e06a073200c0ebadc73ec0e24d3ca5 Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 7 Mar 2024 17:29:03 +0800 Subject: [PATCH 049/343] perf: i18n settings-systemtask done. --- apps/i18n/core/en/LC_MESSAGES/django.po | 16 ++++++++-------- apps/i18n/core/ja/LC_MESSAGES/django.po | 16 ++++++++-------- apps/i18n/core/zh/LC_MESSAGES/django.po | 16 ++++++++-------- apps/i18n/lina/en.json | 2 +- apps/settings/serializers/cleaning.py | 16 ++++++++-------- 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 85d7e2486..d8f474ede 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -5394,35 +5394,35 @@ msgid "Period clean" msgstr "" #: settings/serializers/cleaning.py:15 -msgid "Login log keep days (day)" +msgid "Login log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:19 -msgid "Task log keep days (day)" +msgid "Task log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:23 -msgid "Operate log keep days (day)" +msgid "Operate log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:27 -msgid "FTP log keep days (day)" +msgid "FTP log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:31 -msgid "Cloud sync record keep days (day)" +msgid "Cloud sync task history retention days (day)" msgstr "" #: settings/serializers/cleaning.py:35 -msgid "job execution keep days (day)" +msgid "job execution retention days (day)" msgstr "" #: settings/serializers/cleaning.py:39 -msgid "Activity log keep days (day)" +msgid "Activity log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:42 -msgid "Session keep duration (day)" +msgid "Session log retention days (day)" msgstr "" #: settings/serializers/cleaning.py:44 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 944587f9f..8d92e6fca 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -5561,35 +5561,35 @@ msgid "Period clean" msgstr "定時清掃" #: settings/serializers/cleaning.py:15 -msgid "Login log keep days (day)" +msgid "Login log retention days (day)" msgstr "ログインログは日数を保持します(天)" #: settings/serializers/cleaning.py:19 -msgid "Task log keep days (day)" +msgid "Task log retention days (day)" msgstr "タスクログは日数を保持します(天)" #: settings/serializers/cleaning.py:23 -msgid "Operate log keep days (day)" +msgid "Operate log retention days (day)" msgstr "ログ管理日を操作する(天)" #: settings/serializers/cleaning.py:27 -msgid "FTP log keep days (day)" +msgid "FTP log retention days (day)" msgstr "ダウンロードのアップロード(天)" #: settings/serializers/cleaning.py:31 -msgid "Cloud sync record keep days (day)" +msgid "Cloud sync task history retention days (day)" msgstr "クラウド同期レコードは日数を保持します(天)" #: settings/serializers/cleaning.py:35 -msgid "job execution keep days (day)" +msgid "job execution retention days (day)" msgstr "ジョブセンターの実行履歴 (天) " #: settings/serializers/cleaning.py:39 -msgid "Activity log keep days (day)" +msgid "Activity log retention days (day)" msgstr "活動ログは日数を保持します(天)" #: settings/serializers/cleaning.py:42 -msgid "Session keep duration (day)" +msgid "Session log retention days (day)" msgstr "セッション維持期間(天)" #: settings/serializers/cleaning.py:44 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 48d4e52ba..e98ea7523 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -5448,35 +5448,35 @@ msgid "Period clean" msgstr "定時清掃" #: settings/serializers/cleaning.py:15 -msgid "Login log keep days (day)" +msgid "Login log retention days (day)" msgstr "登录日志 (天)" #: settings/serializers/cleaning.py:19 -msgid "Task log keep days (day)" +msgid "Task log retention days (day)" msgstr "任务日志 (天)" #: settings/serializers/cleaning.py:23 -msgid "Operate log keep days (day)" +msgid "Operate log retention days (day)" msgstr "操作日志 (天)" #: settings/serializers/cleaning.py:27 -msgid "FTP log keep days (day)" +msgid "FTP log retention days (day)" msgstr "上传下载 (天)" #: settings/serializers/cleaning.py:31 -msgid "Cloud sync record keep days (day)" +msgid "Cloud sync task history retention days (day)" msgstr "云同步记录 (天)" #: settings/serializers/cleaning.py:35 -msgid "job execution keep days (day)" +msgid "job execution retention days (day)" msgstr "作业中心执行历史 (天)" #: settings/serializers/cleaning.py:39 -msgid "Activity log keep days (day)" +msgid "Activity log retention days (day)" msgstr "活动记录 (天)" #: settings/serializers/cleaning.py:42 -msgid "Session keep duration (day)" +msgid "Session log retention days (day)" msgstr "会话日志 (天)" #: settings/serializers/cleaning.py:44 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 9e0eaca25..86dd1eda0 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -1067,7 +1067,7 @@ "TaskDone": "Task Finished", "TaskID": "Task ID", "TaskList": "System Tasks", - "TaskMonitor": "Task Monitoring", + "TaskMonitor": "Monitoring", "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", "TemplateManagement": "Templates", diff --git a/apps/settings/serializers/cleaning.py b/apps/settings/serializers/cleaning.py index 17aa94710..fc6f01452 100644 --- a/apps/settings/serializers/cleaning.py +++ b/apps/settings/serializers/cleaning.py @@ -12,34 +12,34 @@ class CleaningSerializer(serializers.Serializer): LOGIN_LOG_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("Login log keep days (day)"), + label=_("Login log retention days (day)"), ) TASK_LOG_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("Task log keep days (day)"), + label=_("Task log retention days (day)"), ) OPERATE_LOG_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("Operate log keep days (day)"), + label=_("Operate log retention days (day)"), ) FTP_LOG_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("FTP log keep days (day)"), + label=_("FTP log retention days (day)"), ) CLOUD_SYNC_TASK_EXECUTION_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("Cloud sync record keep days (day)"), + label=_("Cloud sync task history retention days (day)"), ) JOB_EXECUTION_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("job execution keep days (day)"), + label=_("job execution retention days (day)"), ) ACTIVITY_LOG_KEEP_DAYS = serializers.IntegerField( min_value=MIN_VALUE, max_value=9999, - label=_("Activity log keep days (day)"), + label=_("Activity log retention days (day)"), ) TERMINAL_SESSION_KEEP_DURATION = serializers.IntegerField( - min_value=MIN_VALUE, max_value=99999, required=True, label=_('Session keep duration (day)'), + min_value=MIN_VALUE, max_value=99999, required=True, label=_('Session log retention days (day)'), help_text=_( 'Session, record, command will be delete if more than duration, only in database, OSS will not be affected.') ) From 003dd49ed6e23a6990e0fe3b30f4085c7011a4c8 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 7 Mar 2024 18:33:13 +0800 Subject: [PATCH 050/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 81 +++++++++++++++++++++++------------------- apps/i18n/lina/zh.json | 39 ++++++++++---------- apps/ops/mixin.py | 9 +++++ 3 files changed, 74 insertions(+), 55 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 750a62889..839a1a544 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -6,27 +6,31 @@ "AccessKey": "Access Key", "Account": "Account", "AccountBackup": "Backup Accounts", - "AccountChangeSecret": "Change Credentials", - "AccountGatherList": "Gather Tasks", - "AccountGatherTaskCreate": "Create a gather accounts task", - "AccountGatherTaskUpdate": "Update the gather accounts task", - "AccountGatherTaskList": "Gather Accounts", "AccountBackupCreate": "Create Account Backup", + "AccountBackupPlanCreate": "Create a Backup Account Task", + "AccountBackupPlanDetail": "Backup Account Task Details", + "AccountBackupPlanList": "Backup account tasks", + "AccountBackupPlanUpdate": "Update the Account Backup Plan", "AccountBackupUpdate": "Update the Account Backup", "AccountBatchUpdate": "Updated selected", + "AccountChangeSecret": "Change Account Credential tasks", "AccountCreate": "Create a account", "AccountDeleteConfirmMsg": "Delete Account, continue?", "AccountExportTips": "The exported information contains sensitive information such as encrypted account numbers. The exported format is an encrypted zip file (if you have not set the encryption password, please go to Personal Info to set the file encryption password).", + "AccountGatherList": "Gather Tasks", + "AccountGatherTaskCreate": "Create a gather accounts task", + "AccountGatherTaskList": "Gather account tasks", + "AccountGatherTaskUpdate": "Update the gather accounts task", "AccountList": "Accounts", "AccountPolicy": "Account Policy", - "AccountPushExecutionList": "Execute History", - "AccountPushList": "Push Accounts", - "AccountPushUpdate": "Update the Push Account task", + "AccountPolicyHelpText": "For accounts that do not meet the requirements when creating, such as: non-compliant key types and unique key constraints, you can choose the above strategy.", "AccountPushCreate": "Create a Push Account task", + "AccountPushExecutionList": "Execute History", + "AccountPushList": "Push Account Tasks", + "AccountPushUpdate": "Update the Push Account task", "AccountStorage": "Account", - "HistoryRecord": "History record", "AccountTemplate": "Template", - "AccountTemplateList": "Templates", + "AccountTemplateList": "Account Templates", "AccountTemplateUpdateSecretHelpText": "The account list shows the accounts created through the template. When the secret is updated, the ciphertext of the accounts created through the template will be updated.", "Accounts": "Accounts", "Action": "Action", @@ -131,13 +135,13 @@ "AssetPermissionHelpMsg": "Asset authorization allows you to select users and assets, grant the assets to users for access. Once completed, users can conveniently view these assets. Additionally, you can set specific permissions to further define the users' rights to the assets.", "AssetPermissionRules": "Authorization Rules", "AssetPermissionUpdate": "Update the Asset Authorization Rules", + "AssetPermsAmount": "Asset authorization", "AssetProtocolHelpText": "The protocols supported by the assets are restricted by the platform, click the settings button to view the protocol settings. If updates are required, please update the platform", "AssetTree": "Asset tree", "Assets": "Assets", "AssetsAmount": "Asset amount", "AssetsTotal": "Asset Total", "AssignedInfo": "Approval Information", - "AwaitingMyApproval": "Awaiting my approval", "Assignee": "Handler", "Assignees": "Pending Handler", "AttrName": "Attribute Name", @@ -156,9 +160,10 @@ "AutoPush": "Auto Push", "Automations": "Automations", "AverageTimeCost": "Average spend time", + "AwaitingMyApproval": "Awaiting my approval", "Azure": "Azure (China)", "Backup": "Backup", - "BatchTest": "Batch Test", + "BackupAccounts": "Backup Accounts", "BadConflictErrorMsg": "Refreshing, please try again later", "BadRequestErrorMsg": "Request Error, please check the filled content", "BadRoleErrorMsg": "Request Error, No Permission for this Action", @@ -167,9 +172,21 @@ "Basic": "Basic", "BasicInfo": "Basic", "BasicSetting": "Basic", + "BatchClearErrorMsg": "Batch Clearing Failed:", "BatchConsent": "Batch Approval", + "BatchDeleteErrorMsg": "Batch deletion failed", + "BatchDeleteSuccessMsg": "Batch deletion successful", + "BatchDeployment": "Batch deployment", + "BatchOffline": "Batch Offline", "BatchProcessing": "{Number} items selected", "BatchReject": "Batch Deny", + "BatchSync": "Batch sync", + "BatchSyncDelete": "Batch sync deletion", + "BatchSyncErrorMsg": "Batch sync Failed", + "BatchTest": "Batch Test", + "BatchTransfer": "Batch Transfer", + "BatchUpdate": "Batch update", + "BatchUpdatePlatformHelpText": "The asset will be updated only if the original platform type is the same as the selected platform type. If the platform types before and after the update are different, it will not be updated.", "BeforeChange": "Before Change", "Beian": "Record", "BelongAll": "Including at the same time", @@ -180,17 +197,7 @@ "BindSuccess": "Binding Successful", "BlockedIPS": "Locked IPs", "BuiltinVariable": "Built-in variables", - "BatchClearErrorMsg": "Batch Clearing Failed:", - "AccountPolicyHelpText": "For accounts that do not meet the requirements when creating, such as: non-compliant key types and unique key constraints, you can choose the above strategy.", - "BatchDeleteErrorMsg": "Batch deletion failed", - "BatchDeleteSuccessMsg": "Batch deletion successful", - "BatchDeployment": "Batch deployment", - "BatchOffline": "Batch Offline", - "BatchSyncDelete": "Batch sync deletion", - "BatchSyncErrorMsg": "Batch sync Failed", - "BatchTransfer": "Batch Transfer", "BulkUnblock": "Batch Unlock", - "BatchUpdatePlatformHelpText": "The asset will be updated only if the original platform type is the same as the selected platform type. If the platform types before and after the update are different, it will not be updated.", "CACertificate": "CA Certificate", "CAS": "CAS", "CMPP2": "CMPP v2.0", @@ -204,10 +211,11 @@ "CeleryTaskLog": "Celery Task Log", "Certificate": "Certificate", "CertificateKey": "Client Key", + "ChangeCredentials": "Change Credentials", "ChangeField": "Change Field", - "ChangeReceiver": "Change Recipient", "ChangeOrganization": "Change organization", "ChangePassword": "Change Password", + "ChangeReceiver": "Change Recipient", "ChangeSecretParams": "Change Password Parameters", "ChangeViewHelpText": "Click to Switch Different Views", "Chat": "Chat", @@ -386,8 +394,8 @@ "DownloadReplay": "Download Recording", "DownloadUpdateTemplateMsg": "Download Update Template", "DragUploadFileInfo": "Drag files here, or click here to upload", - "Duration": "Duration", "DuplicateFileExists": "Uploading a file with the same name is not allowed, please delete the file with the same name", + "Duration": "Duration", "DynamicUsername": "Dynamic Username", "Edit": "Edit", "Edition": "Version", @@ -422,8 +430,8 @@ "ExcludeSymbol": "Exclude Char", "Execute": "Execute", "ExecuteOnce": "Execute Once", - "ExecutionHistory": "Execution history", "ExecutionDetail": "Execution History Details", + "ExecutionHistory": "Execution history", "ExecutionList": "Execute History", "ExistError": "This Element Already Exists", "Existing": "Already Exists", @@ -443,8 +451,8 @@ "FeiShu": "Lark", "FeiShuTest": "Test", "FieldRequiredError": "This field is required", - "FileManagement": "File Manager", "FileExplorer": "File Explorer", + "FileManagement": "File Manager", "FileNameTooLong": "File name too long", "FileSizeExceedsLimit": "File size exceeds limit", "FileTransfer": "File Transfer", @@ -469,6 +477,7 @@ "GatewayCreate": "Create a Gateway", "GatewayList": "Gateways", "GatewayUpdate": "Update the Gateway", + "GatherAccounts": "Gather Accounts", "GatheredAccounts": "Gathered Accounts", "GeneralAccounts": "General Accounts", "Generate": "Generate", @@ -491,6 +500,7 @@ "History": "History Record", "HistoryDate": "Date", "HistoryPassword": "Historical Password", + "HistoryRecord": "History record", "Host": "Asset", "HostCreate": "Create a Asset - Host", "HostDeployment": "Deploy Publishing Machine", @@ -625,7 +635,6 @@ "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
Personal information such as email, mobile number, and WeChat are only used for user authentication and platform internal message notifications.", "MailRecipient": "Email Recipient", "MailSend": "Sending", - "Server": "Server", "ManualAccount": "Manual Account", "ManualAccountTip": "Manual input of Username/Password upon Login", "ManualExecute": "Manual execution", @@ -763,6 +772,7 @@ "PlatformCreate": "Create a Platform", "PlatformDetail": "Platform Details", "PlatformList": "Platforms", + "PlatformPageHelpMsg": "The platform categorizes assets, such as Windows, Linux, network devices, etc. Configuration settings, such as protocols, gateways, etc., can also be specified on the platform to determine whether certain features are enabled on assets.", "PlatformProtocolConfig": "Platform Protocol Configuration", "PlatformUpdate": "Update the Platform", "PlaybookDetail": "Playbook Details", @@ -789,8 +799,6 @@ "ProportionOfAssetTypes": "Asset Type Proportion", "Protocol": "Protocol", "Protocols": "Protocols", - "SuEnabled": "Enable su", - "SyncProtocolToAsset": "Protocols to Assets", "Proxy": "Agent", "PublicCloud": "Public Cloud", "PublicKey": "Public Key", @@ -799,6 +807,7 @@ "PublishStatus": "Release Status", "Push": "Push", "PushAccount": "Push Account", + "PushAccounts": "Push Accounts", "PushParams": "Push Parameters", "Qcloud": "Tencent Cloud", "QcloudLighthouse": "Tencent Cloud (Lightweight Application Server)", @@ -946,7 +955,6 @@ "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", "SelectAttrs": "Select Attributes", "SelectByAttr": "Attribute Filter", - "BatchUpdate": "Batch update", "SelectFile": "Select File", "SelectKeyOrCreateNew": "Select Tag Key or Create New One", "SelectLabelFilter": "Select tag for search", @@ -961,6 +969,7 @@ "Send": "Send", "SendVerificationCode": "Send Verification Code", "SerialNumber": "Serial Number", + "Server": "Server", "ServerAccountKey": "Service Account Key", "ServerError": "Server Error", "ServerTime": "Server Time", @@ -1028,6 +1037,7 @@ "StrategyHelpTips": "Identify the unique attributes of assets (such as platforms) based on priority of strategies; when an asset's attribute (like nodes) can be configured to multiple, all Actions of the strategies will be executed.", "StrategyList": "Policy List", "StrategyUpdate": "Update the Policy", + "SuEnabled": "Enable su", "SuFrom": "Switch From", "Submit": "Submit", "Success": "Success", @@ -1048,7 +1058,7 @@ "SyncInstanceTaskHistoryList": "Synchronization History List", "SyncInstanceTaskList": "Synchronization Task List", "SyncInstanceTaskUpdate": "Update the Sync Task", - "BatchSync": "Batch sync", + "SyncProtocolToAsset": "Protocols to Assets", "SyncSetting": "Sync Settings", "SyncStrategy": "Sync Policy", "SyncSuccessMsg": "Sync Succeeded", @@ -1073,10 +1083,10 @@ "TaskMonitor": "Task Monitoring", "TechnologyConsult": "Technical Consultation", "TempPassword": "The temporary password is valid for 300 seconds and becomes invalid immediately after use", - "TemplateManagement": "Templates", "TemplateAdd": "Add from template", "TemplateCreate": "Create a Template", "TemplateHelpText": "When selecting a template to add, accounts that do not exist under the asset will be automatically created and pushed", + "TemplateManagement": "Templates", "TencentCloud": "Tencent Cloud", "Terminal": "Components", "TerminalDetail": "Terminal Details", @@ -1107,7 +1117,7 @@ "TimeExpression": "Time Expression", "Timeout": "Timeout", "TimeoutHelpText": "When this value is -1, no timeout is specified.", - "Timer": "Schedule Execution", + "Timer": "Timer", "Title": "Title", "To": "To", "Today": "Today", @@ -1226,6 +1236,5 @@ "Workbench": "Workbench", "Workspace": "Workspace", "Yes": "Yes", - "ZStack": "ZStack", - "AssetPermsAmount": "Asset authorization" -} + "ZStack": "ZStack" +} \ No newline at end of file diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 08301c3cb..394c25ffb 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -13,10 +13,12 @@ "AccountGatherTaskList": "账号收集", "AccountList": "云账号", "AccountPolicy": "账号策略", + "AccountPolicyHelpText": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", "AccountPushExecutionList": "执行列表", "AccountPushList": "账号推送", "AccountStorage": "账号存储", "AccountTemplate": "账号模版", + "AccountTemplateList": "模版列表", "AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。", "Accounts": "账号管理", "Action": "动作", @@ -125,7 +127,6 @@ "AssetsAmount": "资产数量", "AssetsTotal": "资产总数", "AssignedInfo": "审批信息", - "AwaitingMyApproval": "待我审批", "Assignee": "处理人", "Assignees": "待处理人", "AttrName": "属性名", @@ -144,9 +145,9 @@ "AutoPush": "自动推送", "Automations": "自动化", "AverageTimeCost": "平均花费时间", + "AwaitingMyApproval": "待我审批", "Azure": "Azure(中国)", "Backup": "备份", - "BatchTest": "批量测试", "BadConflictErrorMsg": "正在刷新中,请稍后再试", "BadRequestErrorMsg": "请求错误,请检查填写内容", "BadRoleErrorMsg": "请求错误,无该操作权限", @@ -155,12 +156,24 @@ "Basic": "基本设置", "BasicInfo": "基本信息", "BasicSetting": "基本设置", + "BatchClearErrorMsg": "批量清除失败:", "BatchConsent": "批量同意", + "BatchDelete": "批量删除", + "BatchDeleteErrorMsg": "批量删除失败", + "BatchDeleteSuccessMsg": "批量删除成功", + "BatchDeployment": "批量部署", + "BatchOffline": "批量下线", "BatchProcessing": "批量处理(选中 {Number} 项)", "BatchReject": "批量拒绝", - "BeforeChange": "变更前", + "BatchSync": "批量同步", + "BatchSyncDelete": "批量同步删除", + "BatchSyncErrorMsg": "批量同步失败: ", + "BatchTest": "批量测试", + "BatchTransfer": "批量传输", + "BatchUnblock": "批量解锁", "BatchUpdate": "批量更新", - "BatchDelete": "批量删除", + "BatchUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", + "BeforeChange": "变更前", "Beian": "备案", "BelongAll": "同时包含", "BelongTo": "任意包含", @@ -170,17 +183,6 @@ "BindSuccess": "绑定成功", "BlockedIPS": "已锁定的 IP", "BuiltinVariable": "内置变量", - "BatchClearErrorMsg": "批量清除失败:", - "AccountPolicyHelpText": "创建时对于不符合要求的账号,如:密钥类型不合规,唯一键约束,可选择以上策略。", - "BatchDeleteErrorMsg": "批量删除失败", - "BatchDeleteSuccessMsg": "批量删除成功", - "BatchDeployment": "批量部署", - "BatchOffline": "批量下线", - "BatchSyncDelete": "批量同步删除", - "BatchSyncErrorMsg": "批量同步失败: ", - "BatchTransfer": "批量传输", - "BatchUnblock": "批量解锁", - "BatchUpdatePlatformHelpText": "只有资产的原平台类型与所选平台类型相同时才会进行更新,若更新前后的平台类型不同则不会更新。", "CACertificate": "CA 证书", "CAS": "CAS", "CMPP2": "CMPP v2.0", @@ -408,8 +410,8 @@ "ExcludeSymbol": "排除字符", "Execute": "执行", "ExecuteOnce": "执行一次", - "ExecutionHistory": "执行历史", "ExecutionDetail": "执行历史详情", + "ExecutionHistory": "执行历史", "ExecutionList": "执行列表", "ExistError": "这个元素已经存在", "Existing": "已存在", @@ -746,6 +748,7 @@ "PlatformCreate": "创建平台", "PlatformDetail": "平台详情", "PlatformList": "平台列表", + "PlatformPageHelpMsg": "平台是资产的分类,例如:Windows、Linux、网络设备等。也可以在平台上指定一些配置,如 协议,网关 等,决定资产上是否启用某些功能。", "PlatformProtocolConfig": "平台协议配置", "PlatformUpdate": "更新平台", "PlaybookDetail": "Playbook详情", @@ -1026,7 +1029,6 @@ "SyncInstanceTaskHistoryList": "同步历史列表", "SyncInstanceTaskList": "同步任务列表", "SyncInstanceTaskUpdate": "更新同步任务", - "BatchSync": "批量同步", "SyncSetting": "同步设置", "SyncStrategy": "同步策略", "SyncSuccessMsg": "同步成功", @@ -1050,10 +1052,10 @@ "TaskMonitor": "任务监控", "TechnologyConsult": "技术咨询", "TempPassword": "临时密码有效期为 300 秒,使用后立刻失效", - "TemplateManagement": "模版管理", "TemplateAdd": "模版添加", "TemplateCreate": "创建模版", "TemplateHelpText": "选择模版添加时,会自动创建资产下不存在的账号并推送", + "TemplateManagement": "模版管理", "TencentCloud": "腾讯云", "Terminal": "组件设置", "TerminalDetail": "终端详情", @@ -1115,7 +1117,6 @@ "Update": "更新", "UpdateAccount": "更新账号", "UpdateAccountTemplate": "更新账号模版", - "AccountTemplateList": "模版列表", "UpdateAssetDetail": "配置更多信息", "UpdateAssetUserToken": "更新账号认证信息", "UpdateEndpoint": "更新端点", diff --git a/apps/ops/mixin.py b/apps/ops/mixin.py index 49dc47640..d25409ada 100644 --- a/apps/ops/mixin.py +++ b/apps/ops/mixin.py @@ -139,3 +139,12 @@ class PeriodTaskSerializerMixin(serializers.Serializer): msg = _("Require interval or crontab setting") raise serializers.ValidationError(msg) return ok + + def validate(self, attrs): + attrs = super().validate(attrs) + if not attrs.get('is_periodic'): + attrs['interval'] = None + attrs['crontab'] = '' + if attrs.get('crontab'): + attrs['interval'] = None + return attrs From 327cdc8604717f333d63d022986d10b6bfa102f7 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 11 Mar 2024 14:33:14 +0800 Subject: [PATCH 051/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0002_auto_20220616_0021.py | 2 +- .../migrations/0084_auto_20220112_1959.py | 2 +- apps/assets/migrations/0107_automation.py | 2 +- apps/i18n/core/en/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/en/LC_MESSAGES/django.po | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.mo | 3 + apps/i18n/core/ja/LC_MESSAGES/django.po | 2 +- apps/i18n/core/zh/LC_MESSAGES/django.mo | 3 + apps/i18n/lina/en.json | 6 +- apps/ops/migrations/0001_initial.py | 2 +- .../ops/migrations/0023_auto_20220912_0021.py | 4 +- apps/ops/mixin.py | 6 +- apps/settings/models.py | 2 + apps/settings/signals.py | 1 + apps/users/models/user.py | 134 ++++++++++++------ apps/users/serializers/user.py | 12 +- apps/users/signal_handlers.py | 15 ++ 17 files changed, 138 insertions(+), 66 deletions(-) create mode 100644 apps/i18n/core/ja/LC_MESSAGES/django.mo create mode 100644 apps/i18n/core/zh/LC_MESSAGES/django.mo diff --git a/apps/accounts/migrations/0002_auto_20220616_0021.py b/apps/accounts/migrations/0002_auto_20220616_0021.py index 5693689cb..cef9c230f 100644 --- a/apps/accounts/migrations/0002_auto_20220616_0021.py +++ b/apps/accounts/migrations/0002_auto_20220616_0021.py @@ -28,7 +28,7 @@ class Migration(migrations.Migration): ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('types', models.JSONField(default=list)), diff --git a/apps/assets/migrations/0084_auto_20220112_1959.py b/apps/assets/migrations/0084_auto_20220112_1959.py index 0660edb75..71951bad3 100644 --- a/apps/assets/migrations/0084_auto_20220112_1959.py +++ b/apps/assets/migrations/0084_auto_20220112_1959.py @@ -20,7 +20,7 @@ class Migration(migrations.Migration): fields=[ ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), diff --git a/apps/assets/migrations/0107_automation.py b/apps/assets/migrations/0107_automation.py index 1a44f6dd1..e5909b104 100644 --- a/apps/assets/migrations/0107_automation.py +++ b/apps/assets/migrations/0107_automation.py @@ -24,7 +24,7 @@ class Migration(migrations.Migration): ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('name', models.CharField(max_length=128, verbose_name='Name')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('accounts', models.JSONField(default=list, verbose_name='Accounts')), diff --git a/apps/i18n/core/en/LC_MESSAGES/django.mo b/apps/i18n/core/en/LC_MESSAGES/django.mo index 9bf456726..ed2c9e9e5 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.mo +++ b/apps/i18n/core/en/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16cedef767e949250b792d7f5921071b001545fc17cff4be093cd5faf5a20176 -size 2453 +oid sha256:d25379bd2019d09bc9608414a5516b3d19fac2f5a829f3dd845ffeb194599669 +size 2535 diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index d8f474ede..6224dfb70 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -2021,11 +2021,11 @@ msgstr "" #: assets/models/platform.py:107 assets/serializers/platform.py:166 msgid "Su enabled" -msgstr "" +msgstr "Switch enabled" #: assets/models/platform.py:108 assets/serializers/platform.py:144 msgid "Su method" -msgstr "" +msgstr "Switch method" #: assets/models/platform.py:109 assets/serializers/platform.py:147 msgid "Custom fields" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo new file mode 100644 index 000000000..fffc5e73a --- /dev/null +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa826a4ec69f3ea3fb9250affe699f452857201b8e48065038479b9b88d9bfc1 +size 167853 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 8d92e6fca..eaaeaebfc 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -4247,7 +4247,7 @@ msgstr "利用可能なプログラムポータルがありません" #: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 #, fuzzy -#| msgid "Periodic perform" +#| msgid "Periodic run" msgid "Periodic run" msgstr "定期的なパフォーマンス" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo new file mode 100644 index 000000000..fff0bea68 --- /dev/null +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da4f0f84c01c061cbab1d2fff69f4cd84edb4bbb5088c83a83789a3149575b8f +size 138961 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 36f7ed0d4..cc196c255 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -440,8 +440,8 @@ "Expired": "Expiration Date", "Export": "Export", "ExportAll": "Export All", - "ExportOnlyFiltered": "Export Search Results Only", - "ExportOnlySelectedItems": "Export selected Items Only", + "ExportOnlyFiltered": "Export filtered items", + "ExportOnlySelectedItems": "Export selected items", "ExportRange": "Export Range", "FC": "Fusion Compute", "Failed": "Failed", @@ -826,7 +826,7 @@ "Receivers": "Receiver", "RecentLogin": "Recent Login", "RecentSession": "Recent sessions", - "RecentlyUsed": "Recently Used", + "RecentlyUsed": "Recently", "RecipientHelpText": "If both recipient A and B are set, the account's key will be split into two parts", "RecipientServer": "Receiving Server", "Reconnect": "Reconnect", diff --git a/apps/ops/migrations/0001_initial.py b/apps/ops/migrations/0001_initial.py index 94643ffa0..56a6030ba 100644 --- a/apps/ops/migrations/0001_initial.py +++ b/apps/ops/migrations/0001_initial.py @@ -59,7 +59,7 @@ class Migration(migrations.Migration): ('name', models.CharField(max_length=128, unique=True, verbose_name='Name')), ('interval', models.IntegerField(blank=True, help_text='Units: seconds', null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, help_text='5 * * * *', max_length=128, null=True, verbose_name='Crontab')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('callback', models.CharField(blank=True, max_length=128, null=True, verbose_name='Callback')), ('is_deleted', models.BooleanField(default=False)), ('comment', models.TextField(blank=True, verbose_name='Comment')), diff --git a/apps/ops/migrations/0023_auto_20220912_0021.py b/apps/ops/migrations/0023_auto_20220912_0021.py index 4079d88ab..15af282fe 100644 --- a/apps/ops/migrations/0023_auto_20220912_0021.py +++ b/apps/ops/migrations/0023_auto_20220912_0021.py @@ -60,7 +60,7 @@ class Migration(migrations.Migration): ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), @@ -164,7 +164,7 @@ class Migration(migrations.Migration): ('id', models.UUIDField(db_index=True, default=uuid.uuid4)), ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), - ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic perform')), + ('is_periodic', models.BooleanField(default=False, verbose_name='Periodic run')), ('interval', models.IntegerField(blank=True, default=24, null=True, verbose_name='Interval')), ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Crontab')), ('name', models.CharField(max_length=128, null=True, verbose_name='Name')), diff --git a/apps/ops/mixin.py b/apps/ops/mixin.py index d25409ada..9e884ee4b 100644 --- a/apps/ops/mixin.py +++ b/apps/ops/mixin.py @@ -22,12 +22,10 @@ class PeriodTaskModelMixin(models.Model): ) is_periodic = models.BooleanField(default=False, verbose_name=_("Periodic run")) interval = models.IntegerField( - default=24, null=True, blank=True, - verbose_name=_("Interval"), + default=24, null=True, blank=True, verbose_name=_("Interval"), ) crontab = models.CharField( - blank=True, max_length=128, - verbose_name=_("Crontab"), + blank=True, max_length=128, null=True, verbose_name=_("Crontab"), ) @abc.abstractmethod diff --git a/apps/settings/models.py b/apps/settings/models.py index d6cda11df..b39408098 100644 --- a/apps/settings/models.py +++ b/apps/settings/models.py @@ -10,6 +10,7 @@ from django.utils.translation import gettext_lazy as _ from common.db.models import JMSBaseModel from common.utils import signer, get_logger +from .signals import setting_changed logger = get_logger(__name__) @@ -84,6 +85,7 @@ class Setting(models.Model): if not item: return item.refresh_setting() + setting_changed.send(sender=cls, name=name, item=item) def refresh_setting(self): setattr(settings, self.name, self.cleaned_value) diff --git a/apps/settings/signals.py b/apps/settings/signals.py index ccc9cd2d5..b15fa74e9 100644 --- a/apps/settings/signals.py +++ b/apps/settings/signals.py @@ -1,3 +1,4 @@ from django.dispatch import Signal category_setting_updated = Signal() +setting_changed = Signal() diff --git a/apps/users/models/user.py b/apps/users/models/user.py index da433899c..dd95099c9 100644 --- a/apps/users/models/user.py +++ b/apps/users/models/user.py @@ -31,7 +31,7 @@ from ..signals import ( post_user_change_password, post_user_leave_org, pre_user_leave_org ) -__all__ = ['User', 'UserPasswordHistory'] +__all__ = ['User', 'UserPasswordHistory', ] logger = get_logger(__file__) @@ -737,20 +737,25 @@ class JSONFilterMixin: return models.Q(id__in=user_id) -class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterMixin, AbstractUser): - class Source(models.TextChoices): - local = 'local', _('Local') - ldap = 'ldap', 'LDAP/AD' - openid = 'openid', 'OpenID' - radius = 'radius', 'Radius' - cas = 'cas', 'CAS' - saml2 = 'saml2', 'SAML2' - oauth2 = 'oauth2', 'OAuth2' - wecom = 'wecom', _('WeCom') - dingtalk = 'dingtalk', _('DingTalk') - feishu = 'feishu', _('FeiShu') - slack = 'slack', _('Slack') - custom = 'custom', 'Custom' +class Source(models.TextChoices): + local = 'local', _('Local') + ldap = 'ldap', 'LDAP/AD' + openid = 'openid', 'OpenID' + radius = 'radius', 'Radius' + cas = 'cas', 'CAS' + saml2 = 'saml2', 'SAML2' + oauth2 = 'oauth2', 'OAuth2' + wecom = 'wecom', _('WeCom') + dingtalk = 'dingtalk', _('DingTalk') + feishu = 'feishu', _('FeiShu') + slack = 'slack', _('Slack') + custom = 'custom', 'Custom' + + +class SourceMixin: + source: str + _source_choices = [] + Source = Source SOURCE_BACKEND_MAPPING = { Source.local: [ @@ -793,6 +798,61 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM ] } + @classmethod + def get_sources_enabled(cls): + mapper = { + cls.Source.local: True, + cls.Source.ldap: settings.AUTH_LDAP, + cls.Source.openid: settings.AUTH_OPENID, + cls.Source.radius: settings.AUTH_RADIUS, + cls.Source.cas: settings.AUTH_CAS, + cls.Source.saml2: settings.AUTH_SAML2, + cls.Source.oauth2: settings.AUTH_OAUTH2, + cls.Source.wecom: settings.AUTH_WECOM, + cls.Source.feishu: settings.AUTH_FEISHU, + cls.Source.slack: settings.AUTH_SLACK, + cls.Source.dingtalk: settings.AUTH_DINGTALK, + cls.Source.custom: settings.AUTH_CUSTOM + } + return [str(k) for k, v in mapper.items() if v] + + @property + def source_display(self): + return self.get_source_display() + + @property + def is_local(self): + return self.source == self.Source.local.value + + @classmethod + def get_source_choices(cls): + if cls._source_choices: + return cls._source_choices + used = cls.objects.values_list('source', flat=True).order_by('source').distinct() + enabled_sources = cls.get_sources_enabled() + _choices = [] + for k, v in cls.Source.choices: + if k in enabled_sources or k in used: + _choices.append((k, v)) + cls._source_choices = _choices + return cls._source_choices + + @classmethod + def get_user_allowed_auth_backend_paths(cls, username): + if not settings.ONLY_ALLOW_AUTH_FROM_SOURCE or not username: + return None + user = cls.objects.filter(username=username).first() + if not user: + return None + return user.get_allowed_auth_backend_paths() + + def get_allowed_auth_backend_paths(self): + if not settings.ONLY_ALLOW_AUTH_FROM_SOURCE: + return None + return self.SOURCE_BACKEND_MAPPING.get(self.source, []) + + +class User(AuthMixin, SourceMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterMixin, AbstractUser): id = models.UUIDField(default=uuid.uuid4, primary_key=True) username = models.CharField( max_length=128, unique=True, verbose_name=_('Username') @@ -842,7 +902,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM ) created_by = models.CharField(max_length=30, default='', blank=True, verbose_name=_('Created by')) updated_by = models.CharField(max_length=30, default='', blank=True, verbose_name=_('Updated by')) - source = models.CharField(max_length=30, default=Source.local, choices=Source.choices, verbose_name=_('Source')) date_password_last_updated = models.DateTimeField( auto_now_add=True, blank=True, null=True, verbose_name=_('Date password last updated') @@ -850,13 +909,16 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM need_update_password = models.BooleanField( default=False, verbose_name=_('Need update password') ) - date_api_key_last_used = models.DateTimeField(null=True, blank=True, verbose_name=_('Date api key used')) - date_updated = models.DateTimeField(auto_now=True, verbose_name=_('Date updated')) + source = models.CharField( + max_length=30, default=Source.local, + choices=Source.choices, verbose_name=_('Source') + ) wecom_id = models.CharField(null=True, default=None, max_length=128, verbose_name=_('WeCom')) dingtalk_id = models.CharField(null=True, default=None, max_length=128, verbose_name=_('DingTalk')) feishu_id = models.CharField(null=True, default=None, max_length=128, verbose_name=_('FeiShu')) slack_id = models.CharField(null=True, default=None, max_length=128, verbose_name=_('Slack')) - + date_api_key_last_used = models.DateTimeField(null=True, blank=True, verbose_name=_('Date api key used')) + date_updated = models.DateTimeField(auto_now=True, verbose_name=_('Date updated')) DATE_EXPIRED_WARNING_DAYS = 5 def __str__(self): @@ -888,10 +950,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM def get_absolute_url(self): return reverse('users:user-detail', args=(self.id,)) - @property - def source_display(self): - return self.get_source_display() - @property def is_expired(self): if self.date_expired and self.date_expired < timezone.now(): @@ -899,6 +957,12 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM else: return False + def is_password_authenticate(self): + cas = self.Source.cas + saml2 = self.Source.saml2 + oauth2 = self.Source.oauth2 + return self.source not in [cas, saml2, oauth2] + @property def expired_remain_days(self): date_remain = self.date_expired - timezone.now() @@ -917,16 +981,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM return True return False - @property - def is_local(self): - return self.source == self.Source.local.value - - def is_password_authenticate(self): - cas = self.Source.cas - saml2 = self.Source.saml2 - oauth2 = self.Source.oauth2 - return self.source not in [cas, saml2, oauth2] - def set_required_attr_if_need(self): if not self.name: self.name = self.username @@ -985,20 +1039,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, LabeledMixin, JSONFilterM raise PermissionDenied(_('Can not delete admin user')) return super(User, self).delete(using=using, keep_parents=keep_parents) - @classmethod - def get_user_allowed_auth_backend_paths(cls, username): - if not settings.ONLY_ALLOW_AUTH_FROM_SOURCE or not username: - return None - user = cls.objects.filter(username=username).first() - if not user: - return None - return user.get_allowed_auth_backend_paths() - - def get_allowed_auth_backend_paths(self): - if not settings.ONLY_ALLOW_AUTH_FROM_SOURCE: - return None - return self.SOURCE_BACKEND_MAPPING.get(self.source, []) - class Meta: ordering = ['username'] verbose_name = _("User") diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 78b64bc8e..1467b4c2b 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -87,7 +87,7 @@ class UserSerializer(RolesSerializerMixin, ResourceLabelsMixin, CommonBulkModelS default=PasswordStrategy.email, allow_null=True, required=False, - label=_("Password strategy"), + label=_("Password option"), ) mfa_enabled = serializers.BooleanField(read_only=True, label=_("MFA enabled")) mfa_force_enabled = serializers.BooleanField( @@ -182,6 +182,16 @@ class UserSerializer(RolesSerializerMixin, ResourceLabelsMixin, CommonBulkModelS 'mfa_level': {'label': _("MFA level")}, } + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.set_source_options() + + def set_source_options(self): + field = self.fields.get("source") + if not field: + return + field.choices = User.get_source_choices() + def validate_password(self, password): password_strategy = self.initial_data.get("password_strategy") if self.instance is None and password_strategy != PasswordStrategy.custom: diff --git a/apps/users/signal_handlers.py b/apps/users/signal_handlers.py index 8e1f92254..6e1f00304 100644 --- a/apps/users/signal_handlers.py +++ b/apps/users/signal_handlers.py @@ -15,9 +15,11 @@ from authentication.backends.oidc.signals import openid_create_or_update_user from authentication.backends.saml2.signals import saml2_create_or_update_user from common.const.crontab import CRONTAB_AT_PM_TWO from common.decorators import on_transaction_commit +from common.signals import django_ready from common.utils import get_logger from jumpserver.utils import get_current_request from ops.celery.decorator import register_as_period_task +from settings.signals import setting_changed from .models import User, UserPasswordHistory from .signals import post_user_create @@ -173,3 +175,16 @@ def clean_expired_user_session_period(): def user_logged_out_callback(sender, request, user, **kwargs): session_key = request.session.session_key UserSession.objects.filter(key=session_key).delete() + + +@receiver(setting_changed) +@on_transaction_commit +def on_auth_setting_changed_clear_source_choice(sender, name='', **kwargs): + print("Receive setting changed signal: {}".format(name)) + if name.startswith('AUTH_'): + User._source_choices = [] + + +@receiver(django_ready) +def on_django_ready_refresh_source(sender, **kwargs): + User._source_choices = [] From ea67312877a52159d72f69c5d8095f3403199183 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 11 Mar 2024 19:20:18 +0800 Subject: [PATCH 052/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 14 +++++++------- apps/users/serializers/profile.py | 1 + apps/users/serializers/user.py | 3 +-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index cc196c255..c53fd8024 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -574,7 +574,7 @@ "JobManagement": "Jobs", "JobUpdate": "Update the Job", "KingSoftCloud": "KingSoft Cloud", - "KokoSettingUpdate": "Koko Configuration Settings", + "KokoSettingUpdate": "Koko", "LAN": "Bulk Account Add Results", "LDAPUser": "LDAP Users", "Label": "Label", @@ -617,7 +617,7 @@ "LoginImageTip": "Note: It will appear on the enterprise user login page (recommended image size: 492*472px)", "LoginLog": "Login Log", "LoginNum": "Login Count", - "LoginPasswordSetting": "Login Password Settings", + "LoginPasswordSetting": "Login Password", "LoginRequiredMsg": "The account has logged out, please log in again.", "LoginSucceeded": "Login Successful", "LoginTitleTip": "Note: It will be displayed on the enterprise edition user SSH login KoKo login page (e.g.: Welcome to use JumpServer Open Source Bastion)", @@ -629,7 +629,7 @@ "Logout": "Logout", "LogsAudit": "Log auditing", "Lowercase": "Lowercase", - "LunaSettingUpdate": "Luna Configuration Settings", + "LunaSettingUpdate": "Luna", "MFAErrorMsg": "MFA errors, please check", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "Enable multi-factor authentication to make your account more secure.
After enabling, you will enter the multi-factor authentication binding process the next time you log in; you can also directly bind in (Personal Information->Quick Modification->Change Multi-factor Settings)!", "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
Personal information such as email, mobile number, and WeChat are only used for user authentication and platform internal message notifications.", @@ -707,8 +707,8 @@ "Offline": "Offline", "OfflineSuccessMsg": "Offline Successfully", "OfflineUpload": "Offline Upload", - "OldPassword": "Original Password", - "OldSSHKey": "Original SSH Public Key", + "OldPassword": "Old Password", + "OldSSHKey": "Old SSH Public Key", "OneAssignee": "First-Level Approver", "OneAssigneeType": "First-Level Handler Type", "OneClickReadMsg": "Are you sure you want to mark the current information as read?", @@ -924,7 +924,7 @@ "SMTP": "Email Server", "SSHKey": "SSH Key", "SSHKeyOfProfileSSHUpdatePage": "Copy Your Public Key Here", - "SSHKeySetting": "SSH Key Settings", + "SSHKeySetting": "SSH Key", "SSHPort": "SSH Port", "SSHSecretKey": "SSH Key", "SafeCommand": "Secure Command", @@ -1181,7 +1181,7 @@ "UserGroupList": "Groups", "UserGroupUpdate": "Update the User Group", "UserGroups": "User Groups", - "UserInformation": "User Information", + "UserInformation": "User Info", "UserList": "Users", "UserLoginACLHelpMsg": "When logging into the system, the user's login IP and time range can be audited to determine whether they are allowed to log into the system (effective globally)", "UserLoginAclCreate": "Create a User Login Control", diff --git a/apps/users/serializers/profile.py b/apps/users/serializers/profile.py index eacc0bff3..6b04671f8 100644 --- a/apps/users/serializers/profile.py +++ b/apps/users/serializers/profile.py @@ -118,6 +118,7 @@ class UserProfileSerializer(UserSerializer): ] fields = UserSerializer.Meta.fields + [ 'public_key_comment', 'public_key_hash_md5', 'guide_url', + "wecom_id", "dingtalk_id", "feishu_id", "slack_id", ] + read_only_fields extra_kwargs = dict(UserSerializer.Meta.extra_kwargs) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 1467b4c2b..b5b42a5e5 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -120,8 +120,7 @@ class UserSerializer(RolesSerializerMixin, ResourceLabelsMixin, CommonBulkModelS ] # small 指的是 不需要计算的直接能从一张表中获取到的数据 fields_small = fields_mini + fields_write_only + [ - "email", "wechat", "phone", "mfa_level", "source", - "wecom_id", "dingtalk_id", "feishu_id", "slack_id", + "email", "phone", "mfa_level", "source", "created_by", "updated_by", "comment", # 通用字段 ] fields_date = [ From 056e0c816b1e6fc2004e1f82510c33cc4cb02502 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 12 Mar 2024 17:04:26 +0800 Subject: [PATCH 053/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const/base.py | 21 ++- apps/assets/const/database.py | 7 + apps/common/drf/metadata.py | 2 +- apps/i18n/core/en/LC_MESSAGES/django.po | 205 ++++++++++---------- apps/i18n/core/ja/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 238 ++++++++++++++---------- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 234 ++++++++++++----------- apps/i18n/lina/en.json | 15 +- 9 files changed, 404 insertions(+), 326 deletions(-) diff --git a/apps/assets/const/base.py b/apps/assets/const/base.py index c318115b5..6eb0cd1a1 100644 --- a/apps/assets/const/base.py +++ b/apps/assets/const/base.py @@ -110,11 +110,22 @@ class BaseType(TextChoices): def get_community_types(cls): return cls._get_choices_to_types() + @classmethod + def get_lite_types(cls): + return [] + @classmethod def get_choices(cls): if not settings.XPACK_ENABLED: - return [ - (tp.value, tp.label) - for tp in cls.get_community_types() - ] - return cls.choices + choices = [(tp.value, tp.label) for tp in cls.get_community_types()] + else: + choices = cls.choices + + if not settings.LITE: + return choices + + lite_choices = cls.get_lite_types() + if lite_choices: + lite_choices = [c.value for c in lite_choices] + choices = [c for c in choices if c[0] in lite_choices] + return choices diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index 261373688..4fba6aeb6 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -107,3 +107,10 @@ class DatabaseTypes(BaseType): return [ cls.MYSQL, cls.MARIADB, cls.MONGODB, cls.REDIS ] + + @classmethod + def get_lite_types(cls): + return [ + cls.MYSQL, cls.MARIADB, cls.POSTGRESQL, cls.ORACLE, + cls.SQLSERVER, cls.DB2 + ] diff --git a/apps/common/drf/metadata.py b/apps/common/drf/metadata.py index 9caa84c28..d0b0de6b7 100644 --- a/apps/common/drf/metadata.py +++ b/apps/common/drf/metadata.py @@ -124,7 +124,7 @@ class SimpleMetadataWithFilters(SimpleMetadata): if field.field_name == 'id': field_info['label'] = 'ID' if field.field_name == 'org_id': - field_info['label'] = _('Organization ID') + field_info['label'] = _('Org ID') return field_info diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 6224dfb70..ff232e41a 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-06 16:46+0800\n" +"POT-Creation-Date: 2024-03-12 16:58+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,7 +80,7 @@ msgstr "" msgid "Anonymous account" msgstr "" -#: accounts/const/account.py:25 users/models/user.py:742 +#: accounts/const/account.py:25 users/models/user.py:741 msgid "Local" msgstr "" @@ -207,7 +207,7 @@ msgstr "" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 #: settings/serializers/msg.py:64 users/forms/profile.py:102 -#: users/forms/profile.py:109 users/models/user.py:802 +#: users/forms/profile.py:109 users/models/user.py:862 #: users/templates/users/forgot_password.html:160 #: users/views/profile/reset.py:94 msgid "Email" @@ -281,7 +281,7 @@ msgid "Version" msgstr "" #: accounts/models/account.py:57 accounts/serializers/account/account.py:217 -#: users/models/user.py:845 +#: users/models/user.py:914 msgid "Source" msgstr "" @@ -525,7 +525,7 @@ msgstr "" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:32 -#: users/forms/profile.py:115 users/models/user.py:798 +#: users/forms/profile.py:115 users/models/user.py:858 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -612,7 +612,7 @@ msgstr "" #: ops/models/celery.py:80 ops/models/job.py:137 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 +#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 #: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 @@ -621,7 +621,7 @@ msgstr "" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:33 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:800 +#: users/models/preference.py:11 users/models/user.py:860 #: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" @@ -637,7 +637,7 @@ msgstr "" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:172 msgid "Is active" msgstr "Active" @@ -745,7 +745,7 @@ msgstr "" #: assets/models/label.py:21 assets/models/platform.py:96 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 #: assets/serializers/platform.py:140 assets/serializers/platform.py:229 -#: perms/serializers/user_permission.py:26 settings/models.py:35 +#: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "" @@ -836,8 +836,8 @@ msgstr "" #: terminal/notifications.py:205 terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1044 +#: users/models/user.py:1081 msgid "User" msgstr "" @@ -920,13 +920,13 @@ msgstr "" #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26 #: ops/models/job.py:153 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:38 terminal/models/applet/applet.py:45 +#: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 #: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 #: terminal/models/session/session.py:46 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 -#: tickets/models/ticket/general.py:297 users/models/user.py:836 +#: tickets/models/ticket/general.py:297 users/models/user.py:896 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 msgid "Comment" msgstr "Description" @@ -1108,7 +1108,7 @@ msgid "Active" msgstr "Active" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:302 msgid "Users" msgstr "" @@ -1133,7 +1133,7 @@ msgid "Regex" msgstr "" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 -#: settings/models.py:182 settings/serializers/feature.py:19 +#: settings/models.py:184 settings/serializers/feature.py:19 #: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "" @@ -1603,18 +1603,18 @@ msgstr "" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 -#: ops/models/job.py:235 users/models/user.py:1042 +#: ops/models/job.py:235 users/models/user.py:1082 msgid "Date created" msgstr "" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 -#: common/db/models.py:35 users/models/user.py:854 +#: common/db/models.py:35 users/models/user.py:921 msgid "Date updated" msgstr "" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 -#: common/db/models.py:32 users/models/user.py:843 +#: common/db/models.py:32 users/models/user.py:903 #: users/serializers/group.py:32 msgid "Created by" msgstr "" @@ -1804,7 +1804,7 @@ msgstr "" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 #: perms/serializers/permission.py:34 users/models/group.py:25 -#: users/models/user.py:806 +#: users/models/user.py:866 msgid "User group" msgstr "" @@ -1854,7 +1854,7 @@ msgstr "" msgid "Default asset group" msgstr "" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1027 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1067 msgid "System" msgstr "" @@ -1863,7 +1863,7 @@ msgstr "" #: assets/serializers/cagegory.py:24 #: authentication/models/connection_token.py:29 #: authentication/serializers/connect_token_secret.py:125 -#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:34 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:35 #: users/models/preference.py:13 msgid "Value" msgstr "" @@ -1920,7 +1920,7 @@ msgid "Setting" msgstr "" #: assets/models/platform.py:39 audits/const.py:56 -#: authentication/backends/passkey/models.py:11 settings/models.py:37 +#: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "" @@ -2494,7 +2494,7 @@ msgstr "" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:65 users/models/user.py:823 +#: users/forms/profile.py:65 users/models/user.py:883 #: users/serializers/profile.py:102 msgid "MFA" msgstr "" @@ -2544,7 +2544,7 @@ msgstr "" #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:841 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:901 msgid "Date expired" msgstr "" @@ -2578,29 +2578,29 @@ msgstr "" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:749 users/models/user.py:855 +#: users/models/user.py:748 users/models/user.py:916 msgid "WeCom" msgstr "" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:87 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:13 users/models/user.py:751 -#: users/models/user.py:857 +#: settings/serializers/auth/feishu.py:13 users/models/user.py:750 +#: users/models/user.py:918 msgid "FeiShu" msgstr "Lark" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:752 users/models/user.py:858 +#: users/models/user.py:751 users/models/user.py:919 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:40 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:750 -#: users/models/user.py:856 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:749 +#: users/models/user.py:917 msgid "DingTalk" msgstr "" @@ -3180,7 +3180,7 @@ msgstr "" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 -#: users/serializers/user.py:97 users/serializers/user.py:177 +#: users/serializers/user.py:97 users/serializers/user.py:176 msgid "Is expired" msgstr "Expired" @@ -3195,7 +3195,7 @@ msgstr "" #: authentication/serializers/token.py:92 perms/serializers/permission.py:43 #: perms/serializers/permission.py:66 users/serializers/user.py:98 -#: users/serializers/user.py:174 +#: users/serializers/user.py:173 msgid "Is valid" msgstr "Is Valid" @@ -3676,7 +3676,7 @@ msgstr "" msgid "discard time" msgstr "" -#: common/db/models.py:33 users/models/user.py:844 +#: common/db/models.py:33 users/models/user.py:904 msgid "Updated by" msgstr "" @@ -3689,7 +3689,7 @@ msgid "Object" msgstr "" #: common/drf/metadata.py:127 -msgid "Organization ID" +msgid "Org ID" msgstr "" #: common/drf/parsers/base.py:21 @@ -4132,33 +4132,33 @@ msgstr "" msgid "no valid program entry found." msgstr "" -#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +#: ops/mixin.py:23 ops/mixin.py:102 settings/serializers/auth/ldap.py:66 msgid "Periodic run" msgstr "Periodic" -#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: ops/mixin.py:25 ops/mixin.py:88 ops/mixin.py:108 #: settings/serializers/auth/ldap.py:73 msgid "Interval" msgstr "" -#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: ops/mixin.py:28 ops/mixin.py:86 ops/mixin.py:105 #: settings/serializers/auth/ldap.py:70 msgid "Crontab" msgstr "" -#: ops/mixin.py:112 +#: ops/mixin.py:110 msgid "Run period" msgstr "Period" -#: ops/mixin.py:121 +#: ops/mixin.py:119 msgid "* Please enter a valid crontab expression" msgstr "" -#: ops/mixin.py:128 +#: ops/mixin.py:126 msgid "Range {} to {}" msgstr "" -#: ops/mixin.py:139 +#: ops/mixin.py:137 msgid "Require interval or crontab setting" msgstr "" @@ -4445,7 +4445,7 @@ msgstr "" msgid "SYSTEM" msgstr "" -#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:185 #: terminal/models/applet/applet.py:41 msgid "Builtin" msgstr "Builtin" @@ -4687,7 +4687,7 @@ msgid "Scope" msgstr "" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:810 +#: users/models/user.py:870 msgid "Role" msgstr "" @@ -4750,7 +4750,7 @@ msgstr "" msgid "Audit view" msgstr "" -#: rbac/tree.py:27 settings/models.py:159 +#: rbac/tree.py:27 settings/models.py:161 msgid "System setting" msgstr "" @@ -4856,75 +4856,75 @@ msgstr "" msgid "App Settings" msgstr "" -#: settings/models.py:36 users/models/preference.py:14 +#: settings/models.py:37 users/models/preference.py:14 msgid "Encrypted" msgstr "" -#: settings/models.py:161 +#: settings/models.py:163 msgid "Can change email setting" msgstr "" -#: settings/models.py:162 +#: settings/models.py:164 msgid "Can change auth setting" msgstr "" -#: settings/models.py:163 +#: settings/models.py:165 msgid "Can change auth ops" msgstr "" -#: settings/models.py:164 +#: settings/models.py:166 msgid "Can change auth ticket" msgstr "" -#: settings/models.py:165 +#: settings/models.py:167 msgid "Can change virtual app setting" msgstr "" -#: settings/models.py:166 +#: settings/models.py:168 msgid "Can change auth announcement" msgstr "" -#: settings/models.py:167 +#: settings/models.py:169 msgid "Can change vault setting" msgstr "" -#: settings/models.py:168 +#: settings/models.py:170 msgid "Can change chat ai setting" msgstr "" -#: settings/models.py:169 +#: settings/models.py:171 msgid "Can change system msg sub setting" msgstr "" -#: settings/models.py:170 +#: settings/models.py:172 msgid "Can change sms setting" msgstr "" -#: settings/models.py:171 +#: settings/models.py:173 msgid "Can change security setting" msgstr "" -#: settings/models.py:172 +#: settings/models.py:174 msgid "Can change clean setting" msgstr "" -#: settings/models.py:173 +#: settings/models.py:175 msgid "Can change interface setting" msgstr "" -#: settings/models.py:174 +#: settings/models.py:176 msgid "Can change license setting" msgstr "" -#: settings/models.py:175 +#: settings/models.py:177 msgid "Can change terminal setting" msgstr "" -#: settings/models.py:176 +#: settings/models.py:178 msgid "Can change other setting" msgstr "" -#: settings/models.py:186 +#: settings/models.py:188 msgid "Chat prompt" msgstr "" @@ -6951,7 +6951,7 @@ msgstr "" msgid "HOST" msgstr "" -#: terminal/serializers/storage.py:146 users/models/user.py:830 +#: terminal/serializers/storage.py:146 users/models/user.py:890 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "" @@ -7552,11 +7552,11 @@ msgid "Public key should not be the same as your old one." msgstr "" #: users/forms/profile.py:162 users/serializers/profile.py:76 -#: users/serializers/profile.py:164 users/serializers/profile.py:191 +#: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "" -#: users/forms/profile.py:173 users/models/user.py:833 +#: users/forms/profile.py:173 users/models/user.py:893 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "" @@ -7569,68 +7569,68 @@ msgstr "" msgid "Force enable" msgstr "" -#: users/models/user.py:812 users/serializers/user.py:175 +#: users/models/user.py:872 users/serializers/user.py:174 msgid "Is service account" msgstr "Is service account" -#: users/models/user.py:814 +#: users/models/user.py:874 msgid "Avatar" msgstr "" -#: users/models/user.py:817 +#: users/models/user.py:877 msgid "Wechat" msgstr "" -#: users/models/user.py:820 users/serializers/user.py:106 +#: users/models/user.py:880 users/serializers/user.py:106 msgid "Phone" msgstr "" -#: users/models/user.py:826 +#: users/models/user.py:886 msgid "OTP secret key" msgstr "" -#: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:172 +#: users/models/user.py:898 users/serializers/profile.py:129 +#: users/serializers/user.py:171 msgid "Is first login" msgstr "First login" -#: users/models/user.py:848 +#: users/models/user.py:907 msgid "Date password last updated" msgstr "Password updated" -#: users/models/user.py:851 +#: users/models/user.py:910 msgid "Need update password" msgstr "" -#: users/models/user.py:853 +#: users/models/user.py:920 msgid "Date api key used" msgstr "" -#: users/models/user.py:985 +#: users/models/user.py:1039 msgid "Can not delete admin user" msgstr "" -#: users/models/user.py:1012 +#: users/models/user.py:1052 msgid "Can invite user" msgstr "" -#: users/models/user.py:1013 +#: users/models/user.py:1053 msgid "Can remove user" msgstr "" -#: users/models/user.py:1014 +#: users/models/user.py:1054 msgid "Can match user" msgstr "" -#: users/models/user.py:1023 +#: users/models/user.py:1063 msgid "Administrator" msgstr "" -#: users/models/user.py:1026 +#: users/models/user.py:1066 msgid "Administrator is the super user of system" msgstr "" -#: users/models/user.py:1051 +#: users/models/user.py:1091 msgid "User password history" msgstr "" @@ -7744,7 +7744,7 @@ msgstr "" msgid "The old password is incorrect" msgstr "" -#: users/serializers/profile.py:36 users/serializers/profile.py:178 +#: users/serializers/profile.py:36 users/serializers/profile.py:179 msgid "Password does not match security rules" msgstr "" @@ -7761,7 +7761,7 @@ msgid "Org roles" msgstr "" #: users/serializers/user.py:90 -msgid "Password strategy" +msgid "Password option" msgstr "" #: users/serializers/user.py:92 @@ -7776,7 +7776,7 @@ msgstr "" msgid "Login blocked" msgstr "" -#: users/serializers/user.py:99 users/serializers/user.py:181 +#: users/serializers/user.py:99 users/serializers/user.py:180 msgid "Is OTP bound" msgstr "OTP bound" @@ -7784,44 +7784,44 @@ msgstr "OTP bound" msgid "Can public key authentication" msgstr "Can public key authentication" -#: users/serializers/user.py:166 +#: users/serializers/user.py:165 msgid "Groups" msgstr "" -#: users/serializers/user.py:169 +#: users/serializers/user.py:168 msgid "Superuser" msgstr "" -#: users/serializers/user.py:176 +#: users/serializers/user.py:175 msgid "Is org admin" msgstr "Org admin" -#: users/serializers/user.py:178 +#: users/serializers/user.py:177 msgid "Avatar url" msgstr "" -#: users/serializers/user.py:182 +#: users/serializers/user.py:181 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:294 +#: users/serializers/user.py:303 msgid "" "For security, only a partial list of users is displayed. You can search for " "more" msgstr "" -#: users/serializers/user.py:327 +#: users/serializers/user.py:336 msgid "name not unique" msgstr "" -#: users/signal_handlers.py:32 +#: users/signal_handlers.py:34 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " "administrator." msgstr "" -#: users/signal_handlers.py:166 +#: users/signal_handlers.py:168 msgid "Clean up expired user sessions" msgstr "" @@ -8725,11 +8725,11 @@ msgid "Interface settings" msgstr "" #: xpack/plugins/interface/models.py:23 -msgid "Login title" +msgid "Title of login page" msgstr "" #: xpack/plugins/interface/models.py:27 -msgid "Login image" +msgid "Image of login page" msgstr "" #: xpack/plugins/interface/models.py:31 @@ -8737,14 +8737,15 @@ msgid "Website icon" msgstr "" #: xpack/plugins/interface/models.py:35 -msgid "Index logo" +msgid "Logo of management page" msgstr "" #: xpack/plugins/interface/models.py:39 -msgid "Logout logo" +msgid "Logo of logout page" msgstr "" #: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "" @@ -8760,6 +8761,14 @@ msgstr "" msgid "Interface setting" msgstr "" +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.mo b/apps/i18n/core/ja/LC_MESSAGES/django.mo index fffc5e73a..70ecaa1d1 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.mo +++ b/apps/i18n/core/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa826a4ec69f3ea3fb9250affe699f452857201b8e48065038479b9b88d9bfc1 -size 167853 +oid sha256:70c0de226a80969c4a9a0a393f5d19032ff772caede5576f060f66f96e2a68dd +size 167511 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index eaaeaebfc..98c3e1060 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-06 16:46+0800\n" +"POT-Creation-Date: 2024-03-12 16:58+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,7 +80,7 @@ msgstr "動的コード" msgid "Anonymous account" msgstr "匿名ユーザー" -#: accounts/const/account.py:25 users/models/user.py:742 +#: accounts/const/account.py:25 users/models/user.py:741 msgid "Local" msgstr "ローカル" @@ -207,7 +207,7 @@ msgstr "作成のみ" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 #: settings/serializers/msg.py:64 users/forms/profile.py:102 -#: users/forms/profile.py:109 users/models/user.py:802 +#: users/forms/profile.py:109 users/models/user.py:862 #: users/templates/users/forgot_password.html:160 #: users/views/profile/reset.py:94 msgid "Email" @@ -281,7 +281,7 @@ msgid "Version" msgstr "バージョン" #: accounts/models/account.py:57 accounts/serializers/account/account.py:217 -#: users/models/user.py:845 +#: users/models/user.py:914 msgid "Source" msgstr "ソース" @@ -525,7 +525,7 @@ msgstr "最終ログイン日" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:32 -#: users/forms/profile.py:115 users/models/user.py:798 +#: users/forms/profile.py:115 users/models/user.py:858 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -612,7 +612,7 @@ msgstr "パスワードルール" #: ops/models/celery.py:80 ops/models/job.py:137 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 +#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 #: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 @@ -621,7 +621,7 @@ msgstr "パスワードルール" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:33 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:800 +#: users/models/preference.py:11 users/models/user.py:860 #: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" @@ -637,7 +637,7 @@ msgstr "特権アカウント" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:172 msgid "Is active" msgstr "アクティブです。" @@ -757,7 +757,7 @@ msgstr "アカウントの存在ポリシー" #: assets/models/label.py:21 assets/models/platform.py:96 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 #: assets/serializers/platform.py:140 assets/serializers/platform.py:229 -#: perms/serializers/user_permission.py:26 settings/models.py:35 +#: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "カテゴリ" @@ -848,8 +848,8 @@ msgstr "ID" #: terminal/notifications.py:205 terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1044 +#: users/models/user.py:1081 msgid "User" msgstr "ユーザー" @@ -934,13 +934,13 @@ msgstr "关联平台,可以配置推送参数,如果不关联,则使用默 #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26 #: ops/models/job.py:153 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:38 terminal/models/applet/applet.py:45 +#: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 #: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 #: terminal/models/session/session.py:46 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 -#: tickets/models/ticket/general.py:297 users/models/user.py:836 +#: tickets/models/ticket/general.py:297 users/models/user.py:896 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 msgid "Comment" msgstr "コメント" @@ -1127,7 +1127,7 @@ msgid "Active" msgstr "アクティブ" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:302 msgid "Users" msgstr "ユーザー" @@ -1152,7 +1152,7 @@ msgid "Regex" msgstr "正規情報" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 -#: settings/models.py:182 settings/serializers/feature.py:19 +#: settings/models.py:184 settings/serializers/feature.py:19 #: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "コンテンツ" @@ -1643,18 +1643,18 @@ msgstr "SSHパブリックキー" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 -#: ops/models/job.py:235 users/models/user.py:1042 +#: ops/models/job.py:235 users/models/user.py:1082 msgid "Date created" msgstr "作成された日付" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 -#: common/db/models.py:35 users/models/user.py:854 +#: common/db/models.py:35 users/models/user.py:921 msgid "Date updated" msgstr "更新日" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 -#: common/db/models.py:32 users/models/user.py:843 +#: common/db/models.py:32 users/models/user.py:903 #: users/serializers/group.py:32 msgid "Created by" msgstr "によって作成された" @@ -1844,7 +1844,7 @@ msgstr "確認済みの日付" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 #: perms/serializers/permission.py:34 users/models/group.py:25 -#: users/models/user.py:806 +#: users/models/user.py:866 msgid "User group" msgstr "ユーザーグループ" @@ -1894,7 +1894,7 @@ msgstr "デフォルト" msgid "Default asset group" msgstr "デフォルトアセットグループ" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1027 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1067 msgid "System" msgstr "システム" @@ -1903,7 +1903,7 @@ msgstr "システム" #: assets/serializers/cagegory.py:24 #: authentication/models/connection_token.py:29 #: authentication/serializers/connect_token_secret.py:125 -#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:34 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:35 #: users/models/preference.py:13 msgid "Value" msgstr "値" @@ -1960,7 +1960,7 @@ msgid "Setting" msgstr "設定" #: assets/models/platform.py:39 audits/const.py:56 -#: authentication/backends/passkey/models.py:11 settings/models.py:37 +#: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "有効化" @@ -2547,7 +2547,7 @@ msgstr "ログインIP" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:65 users/models/user.py:823 +#: users/forms/profile.py:65 users/models/user.py:883 #: users/serializers/profile.py:102 msgid "MFA" msgstr "MFA" @@ -2598,7 +2598,7 @@ msgstr "ユーザー %s %s が現在のリソースをサブスクライブし #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:841 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:901 msgid "Date expired" msgstr "期限切れの日付" @@ -2632,29 +2632,29 @@ msgstr "認証トークン" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:749 users/models/user.py:855 +#: users/models/user.py:748 users/models/user.py:916 msgid "WeCom" msgstr "企業微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:87 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:13 users/models/user.py:751 -#: users/models/user.py:857 +#: settings/serializers/auth/feishu.py:13 users/models/user.py:750 +#: users/models/user.py:918 msgid "FeiShu" msgstr "本を飛ばす" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:752 users/models/user.py:858 +#: users/models/user.py:751 users/models/user.py:919 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:40 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:750 -#: users/models/user.py:856 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:749 +#: users/models/user.py:917 msgid "DingTalk" msgstr "DingTalk" @@ -3254,7 +3254,7 @@ msgstr "アクション" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 -#: users/serializers/user.py:97 users/serializers/user.py:177 +#: users/serializers/user.py:97 users/serializers/user.py:176 msgid "Is expired" msgstr "期限切れです" @@ -3269,7 +3269,7 @@ msgstr "Access IP" #: authentication/serializers/token.py:92 perms/serializers/permission.py:43 #: perms/serializers/permission.py:66 users/serializers/user.py:98 -#: users/serializers/user.py:174 +#: users/serializers/user.py:173 msgid "Is valid" msgstr "有効です" @@ -3767,7 +3767,7 @@ msgstr "は破棄されます" msgid "discard time" msgstr "時間を捨てる" -#: common/db/models.py:33 users/models/user.py:844 +#: common/db/models.py:33 users/models/user.py:904 msgid "Updated by" msgstr "によって更新" @@ -3780,8 +3780,8 @@ msgid "Object" msgstr "オブジェクト" #: common/drf/metadata.py:127 -msgid "Organization ID" -msgstr "組織 ID" +msgid "Org ID" +msgstr "" #: common/drf/parsers/base.py:21 msgid "The file content overflowed (The maximum length `{}` bytes)" @@ -4245,39 +4245,39 @@ msgstr "タイムアウト" msgid "no valid program entry found." msgstr "利用可能なプログラムポータルがありません" -#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +#: ops/mixin.py:23 ops/mixin.py:102 settings/serializers/auth/ldap.py:66 #, fuzzy #| msgid "Periodic run" msgid "Periodic run" msgstr "定期的なパフォーマンス" -#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: ops/mixin.py:25 ops/mixin.py:88 ops/mixin.py:108 #: settings/serializers/auth/ldap.py:73 msgid "Interval" msgstr "間隔" -#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: ops/mixin.py:28 ops/mixin.py:86 ops/mixin.py:105 #: settings/serializers/auth/ldap.py:70 #, fuzzy #| msgid "Contains" msgid "Crontab" msgstr "含む" -#: ops/mixin.py:112 +#: ops/mixin.py:110 #, fuzzy #| msgid "Run user" msgid "Run period" msgstr "ユーザーの実行" -#: ops/mixin.py:121 +#: ops/mixin.py:119 msgid "* Please enter a valid crontab expression" msgstr "* 有効なcrontab式を入力してください" -#: ops/mixin.py:128 +#: ops/mixin.py:126 msgid "Range {} to {}" msgstr "{} から {} までの範囲" -#: ops/mixin.py:139 +#: ops/mixin.py:137 #, fuzzy #| msgid "Require periodic or regularly perform setting" msgid "Require interval or crontab setting" @@ -4579,7 +4579,7 @@ msgstr "デフォルト組織" msgid "SYSTEM" msgstr "システム組織" -#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:185 #: terminal/models/applet/applet.py:41 msgid "Builtin" msgstr "ビルトイン" @@ -4834,7 +4834,7 @@ msgid "Scope" msgstr "スコープ" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:810 +#: users/models/user.py:870 msgid "Role" msgstr "ロール" @@ -4898,7 +4898,7 @@ msgstr "ワークスペースビュー" msgid "Audit view" msgstr "監査ビュー" -#: rbac/tree.py:27 settings/models.py:159 +#: rbac/tree.py:27 settings/models.py:161 msgid "System setting" msgstr "システム設定" @@ -5008,75 +5008,75 @@ msgstr "携帯番号をテストこのフィールドは必須です" msgid "App Settings" msgstr "設定" -#: settings/models.py:36 users/models/preference.py:14 +#: settings/models.py:37 users/models/preference.py:14 msgid "Encrypted" msgstr "暗号化された" -#: settings/models.py:161 +#: settings/models.py:163 msgid "Can change email setting" msgstr "メール設定を変更できます" -#: settings/models.py:162 +#: settings/models.py:164 msgid "Can change auth setting" msgstr "資格認定の設定" -#: settings/models.py:163 +#: settings/models.py:165 msgid "Can change auth ops" msgstr "タスクセンターの設定" -#: settings/models.py:164 +#: settings/models.py:166 msgid "Can change auth ticket" msgstr "製造オーダ設定" -#: settings/models.py:165 +#: settings/models.py:167 msgid "Can change virtual app setting" msgstr "仮想アプリケーション設定を変更できます" -#: settings/models.py:166 +#: settings/models.py:168 msgid "Can change auth announcement" msgstr "公告の設定" -#: settings/models.py:167 +#: settings/models.py:169 msgid "Can change vault setting" msgstr "金庫の設定を変えることができます" -#: settings/models.py:168 +#: settings/models.py:170 msgid "Can change chat ai setting" msgstr "チャットAI設定を変更できます" -#: settings/models.py:169 +#: settings/models.py:171 msgid "Can change system msg sub setting" msgstr "システムmsgサブ设定を変更できます" -#: settings/models.py:170 +#: settings/models.py:172 msgid "Can change sms setting" msgstr "Smsの設定を変えることができます" -#: settings/models.py:171 +#: settings/models.py:173 msgid "Can change security setting" msgstr "セキュリティ設定を変更できます" -#: settings/models.py:172 +#: settings/models.py:174 msgid "Can change clean setting" msgstr "きれいな設定を変えることができます" -#: settings/models.py:173 +#: settings/models.py:175 msgid "Can change interface setting" msgstr "インターフェイスの設定を変えることができます" -#: settings/models.py:174 +#: settings/models.py:176 msgid "Can change license setting" msgstr "ライセンス設定を変更できます" -#: settings/models.py:175 +#: settings/models.py:177 msgid "Can change terminal setting" msgstr "ターミナルの設定を変えることができます" -#: settings/models.py:176 +#: settings/models.py:178 msgid "Can change other setting" msgstr "他の設定を変えることができます" -#: settings/models.py:186 +#: settings/models.py:188 msgid "Chat prompt" msgstr "チャットのヒント" @@ -7222,7 +7222,7 @@ msgstr "エンドポイントサフィックス" msgid "HOST" msgstr "ホスト" -#: terminal/serializers/storage.py:146 users/models/user.py:830 +#: terminal/serializers/storage.py:146 users/models/user.py:890 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh秘密鍵" @@ -7846,11 +7846,11 @@ msgid "Public key should not be the same as your old one." msgstr "公開鍵は古いものと同じであってはなりません。" #: users/forms/profile.py:162 users/serializers/profile.py:76 -#: users/serializers/profile.py:164 users/serializers/profile.py:191 +#: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "有効なssh公開鍵ではありません" -#: users/forms/profile.py:173 users/models/user.py:833 +#: users/forms/profile.py:173 users/models/user.py:893 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "公開キー" @@ -7863,70 +7863,70 @@ msgstr "ユーザー設定" msgid "Force enable" msgstr "強制有効" -#: users/models/user.py:812 users/serializers/user.py:175 +#: users/models/user.py:872 users/serializers/user.py:174 msgid "Is service account" msgstr "サービスアカウントです" -#: users/models/user.py:814 +#: users/models/user.py:874 msgid "Avatar" msgstr "アバター" -#: users/models/user.py:817 +#: users/models/user.py:877 msgid "Wechat" msgstr "微信" -#: users/models/user.py:820 users/serializers/user.py:106 +#: users/models/user.py:880 users/serializers/user.py:106 msgid "Phone" msgstr "電話" -#: users/models/user.py:826 +#: users/models/user.py:886 msgid "OTP secret key" msgstr "OTP 秘密" # msgid "Private key" # msgstr "ssh秘密鍵" -#: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:172 +#: users/models/user.py:898 users/serializers/profile.py:129 +#: users/serializers/user.py:171 msgid "Is first login" msgstr "最初のログインです" -#: users/models/user.py:848 +#: users/models/user.py:907 msgid "Date password last updated" msgstr "最終更新日パスワード" -#: users/models/user.py:851 +#: users/models/user.py:910 msgid "Need update password" msgstr "更新パスワードが必要" -#: users/models/user.py:853 +#: users/models/user.py:920 msgid "Date api key used" msgstr "Api key 最後に使用した日付" -#: users/models/user.py:985 +#: users/models/user.py:1039 msgid "Can not delete admin user" msgstr "管理者ユーザーを削除できませんでした" -#: users/models/user.py:1012 +#: users/models/user.py:1052 msgid "Can invite user" msgstr "ユーザーを招待できます" -#: users/models/user.py:1013 +#: users/models/user.py:1053 msgid "Can remove user" msgstr "ユーザーを削除できます" -#: users/models/user.py:1014 +#: users/models/user.py:1054 msgid "Can match user" msgstr "ユーザーに一致できます" -#: users/models/user.py:1023 +#: users/models/user.py:1063 msgid "Administrator" msgstr "管理者" -#: users/models/user.py:1026 +#: users/models/user.py:1066 msgid "Administrator is the super user of system" msgstr "管理者はシステムのスーパーユーザーです" -#: users/models/user.py:1051 +#: users/models/user.py:1091 msgid "User password history" msgstr "ユーザーパスワード履歴" @@ -8051,7 +8051,7 @@ msgstr "コマンドライン" msgid "The old password is incorrect" msgstr "古いパスワードが正しくありません" -#: users/serializers/profile.py:36 users/serializers/profile.py:178 +#: users/serializers/profile.py:36 users/serializers/profile.py:179 msgid "Password does not match security rules" msgstr "パスワードがセキュリティルールと一致しない" @@ -8068,8 +8068,10 @@ msgid "Org roles" msgstr "組織ロール" #: users/serializers/user.py:90 -msgid "Password strategy" -msgstr "パスワード戦略" +#, fuzzy +#| msgid "Password prompt" +msgid "Password option" +msgstr "パスワードプロンプト" #: users/serializers/user.py:92 msgid "MFA enabled" @@ -8083,7 +8085,7 @@ msgstr "MFAフォース有効化" msgid "Login blocked" msgstr "ログインがロックされました" -#: users/serializers/user.py:99 users/serializers/user.py:181 +#: users/serializers/user.py:99 users/serializers/user.py:180 msgid "Is OTP bound" msgstr "仮想MFAがバインドされているか" @@ -8093,39 +8095,39 @@ msgstr "仮想MFAがバインドされているか" msgid "Can public key authentication" msgstr "公開鍵認証が可能" -#: users/serializers/user.py:166 +#: users/serializers/user.py:165 msgid "Groups" msgstr "" -#: users/serializers/user.py:169 +#: users/serializers/user.py:168 #, fuzzy #| msgid "Sender" msgid "Superuser" msgstr "ユーザーを送信" -#: users/serializers/user.py:176 +#: users/serializers/user.py:175 msgid "Is org admin" msgstr "組織管理者です" -#: users/serializers/user.py:178 +#: users/serializers/user.py:177 msgid "Avatar url" msgstr "アバターURL" -#: users/serializers/user.py:182 +#: users/serializers/user.py:181 msgid "MFA level" msgstr "MFA レベル" -#: users/serializers/user.py:294 +#: users/serializers/user.py:303 msgid "" "For security, only a partial list of users is displayed. You can search for " "more" msgstr "" -#: users/serializers/user.py:327 +#: users/serializers/user.py:336 msgid "name not unique" msgstr "名前が一意ではない" -#: users/signal_handlers.py:32 +#: users/signal_handlers.py:34 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " @@ -8134,7 +8136,7 @@ msgstr "" "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" "はユーザーリストにありません。管理者に連絡してください。" -#: users/signal_handlers.py:166 +#: users/signal_handlers.py:168 msgid "Clean up expired user sessions" msgstr "期限切れのユーザー・セッションのパージ" @@ -9062,26 +9064,33 @@ msgid "Interface settings" msgstr "インターフェイスの設定" #: xpack/plugins/interface/models.py:23 -msgid "Login title" -msgstr "ログインページのタイトル" +#, fuzzy +#| msgid "MFA in login page" +msgid "Title of login page" +msgstr "ログインページのMFA" #: xpack/plugins/interface/models.py:27 -msgid "Login image" -msgstr "ログインページのイメージ" +#, fuzzy +#| msgid "MFA in login page" +msgid "Image of login page" +msgstr "ログインページのMFA" #: xpack/plugins/interface/models.py:31 msgid "Website icon" msgstr "ウェブサイトのアイコン" #: xpack/plugins/interface/models.py:35 -msgid "Index logo" -msgstr "管理ページのロゴ" +msgid "Logo of management page" +msgstr "" #: xpack/plugins/interface/models.py:39 -msgid "Logout logo" +#, fuzzy +#| msgid "Logout logo" +msgid "Logo of logout page" msgstr "ログアウトページのロゴ" #: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "テーマ" @@ -9097,6 +9106,14 @@ msgstr "公安網登録番号" msgid "Interface setting" msgstr "インターフェイスの設定" +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "" + #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "ライセンスのインポートに成功" @@ -9125,6 +9142,21 @@ msgstr "エンタープライズプロフェッショナル版" msgid "Ultimate edition" msgstr "エンタープライズ・フラッグシップ・エディション" +#~ msgid "Organization ID" +#~ msgstr "組織 ID" + +#~ msgid "Password strategy" +#~ msgstr "パスワード戦略" + +#~ msgid "Login title" +#~ msgstr "ログインページのタイトル" + +#~ msgid "Login image" +#~ msgstr "ログインページのイメージ" + +#~ msgid "Index logo" +#~ msgstr "管理ページのロゴ" + #~ msgid "Enable database proxy" #~ msgstr "属性マップの有効化" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.mo b/apps/i18n/core/zh/LC_MESSAGES/django.mo index fff0bea68..473fc70af 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.mo +++ b/apps/i18n/core/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da4f0f84c01c061cbab1d2fff69f4cd84edb4bbb5088c83a83789a3149575b8f -size 138961 +oid sha256:da9be1aa1bc652c62b69c5a0feecd6d6b698d96a896af19843e623943622f9e7 +size 139087 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index e98ea7523..f5c201479 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-06 16:47+0800\n" +"POT-Creation-Date: 2024-03-12 16:58+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -79,7 +79,7 @@ msgstr "同名账号" msgid "Anonymous account" msgstr "匿名账号" -#: accounts/const/account.py:25 users/models/user.py:742 +#: accounts/const/account.py:25 users/models/user.py:741 msgid "Local" msgstr "数据库" @@ -206,7 +206,7 @@ msgstr "仅创建" #: authentication/serializers/password_mfa.py:24 #: notifications/backends/__init__.py:10 settings/serializers/msg.py:22 #: settings/serializers/msg.py:64 users/forms/profile.py:102 -#: users/forms/profile.py:109 users/models/user.py:802 +#: users/forms/profile.py:109 users/models/user.py:862 #: users/templates/users/forgot_password.html:160 #: users/views/profile/reset.py:94 msgid "Email" @@ -280,7 +280,7 @@ msgid "Version" msgstr "版本" #: accounts/models/account.py:57 accounts/serializers/account/account.py:217 -#: users/models/user.py:845 +#: users/models/user.py:914 msgid "Source" msgstr "来源" @@ -524,7 +524,7 @@ msgstr "最后登录日期" #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 #: terminal/serializers/storage.py:136 users/forms/profile.py:32 -#: users/forms/profile.py:115 users/models/user.py:798 +#: users/forms/profile.py:115 users/models/user.py:858 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" @@ -611,7 +611,7 @@ msgstr "密码规则" #: ops/models/celery.py:80 ops/models/job.py:137 ops/models/playbook.py:28 #: ops/serializers/job.py:18 orgs/models.py:82 #: perms/models/asset_permission.py:61 rbac/models/role.py:29 -#: settings/models.py:33 settings/models.py:181 settings/serializers/msg.py:89 +#: settings/models.py:34 settings/models.py:183 settings/serializers/msg.py:89 #: settings/serializers/terminal.py:9 terminal/models/applet/applet.py:33 #: terminal/models/component/endpoint.py:12 #: terminal/models/component/endpoint.py:109 @@ -620,7 +620,7 @@ msgstr "密码规则" #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 #: users/forms/profile.py:33 users/models/group.py:13 -#: users/models/preference.py:11 users/models/user.py:800 +#: users/models/preference.py:11 users/models/user.py:860 #: xpack/plugins/cloud/models.py:32 xpack/plugins/cloud/models.py:276 #: xpack/plugins/cloud/serializers/task.py:70 msgid "Name" @@ -636,7 +636,7 @@ msgstr "特权账号" #: authentication/serializers/connect_token_secret.py:117 #: terminal/models/applet/applet.py:40 #: terminal/models/component/endpoint.py:120 -#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:173 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:172 msgid "Is active" msgstr "激活" @@ -753,7 +753,7 @@ msgstr "账号存在策略" #: assets/models/label.py:21 assets/models/platform.py:96 #: assets/serializers/asset/common.py:125 assets/serializers/cagegory.py:12 #: assets/serializers/platform.py:140 assets/serializers/platform.py:229 -#: perms/serializers/user_permission.py:26 settings/models.py:35 +#: perms/serializers/user_permission.py:26 settings/models.py:36 #: tickets/models/ticket/apply_application.py:13 users/models/preference.py:12 msgid "Category" msgstr "类别" @@ -844,8 +844,8 @@ msgstr "ID" #: terminal/notifications.py:205 terminal/serializers/command.py:16 #: terminal/templates/terminal/_msg_command_warning.html:6 #: terminal/templates/terminal/_msg_session_sharing.html:6 -#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1004 -#: users/models/user.py:1041 +#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:1044 +#: users/models/user.py:1081 msgid "User" msgstr "用户" @@ -930,13 +930,13 @@ msgstr "关联平台,可配置推送参数,如果不关联,将使用默认 #: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 #: assets/models/group.py:20 common/db/models.py:36 ops/models/adhoc.py:26 #: ops/models/job.py:153 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:38 terminal/models/applet/applet.py:45 +#: settings/models.py:39 terminal/models/applet/applet.py:45 #: terminal/models/applet/applet.py:321 terminal/models/applet/host.py:143 #: terminal/models/component/endpoint.py:25 #: terminal/models/component/endpoint.py:119 #: terminal/models/session/session.py:46 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 -#: tickets/models/ticket/general.py:297 users/models/user.py:836 +#: tickets/models/ticket/general.py:297 users/models/user.py:896 #: xpack/plugins/cloud/models.py:39 xpack/plugins/cloud/models.py:110 msgid "Comment" msgstr "备注" @@ -1119,7 +1119,7 @@ msgid "Active" msgstr "激活中" #: acls/models/base.py:81 users/models/preference.py:16 -#: users/serializers/group.py:21 users/serializers/user.py:293 +#: users/serializers/group.py:21 users/serializers/user.py:302 msgid "Users" msgstr "用户" @@ -1144,7 +1144,7 @@ msgid "Regex" msgstr "正则表达式" #: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 -#: settings/models.py:182 settings/serializers/feature.py:19 +#: settings/models.py:184 settings/serializers/feature.py:19 #: settings/serializers/msg.py:78 xpack/plugins/license/models.py:30 msgid "Content" msgstr "内容" @@ -1627,18 +1627,18 @@ msgstr "SSH公钥" #: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/cmd_filter.py:41 assets/models/group.py:19 #: audits/models.py:267 common/db/models.py:34 ops/models/base.py:54 -#: ops/models/job.py:235 users/models/user.py:1042 +#: ops/models/job.py:235 users/models/user.py:1082 msgid "Date created" msgstr "创建日期" #: assets/models/_user.py:29 assets/models/cmd_filter.py:42 -#: common/db/models.py:35 users/models/user.py:854 +#: common/db/models.py:35 users/models/user.py:921 msgid "Date updated" msgstr "更新日期" #: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/cmd_filter.py:91 assets/models/group.py:18 -#: common/db/models.py:32 users/models/user.py:843 +#: common/db/models.py:32 users/models/user.py:903 #: users/serializers/group.py:32 msgid "Created by" msgstr "创建者" @@ -1828,7 +1828,7 @@ msgstr "校验日期" #: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 #: perms/serializers/permission.py:34 users/models/group.py:25 -#: users/models/user.py:806 +#: users/models/user.py:866 msgid "User group" msgstr "用户组" @@ -1878,7 +1878,7 @@ msgstr "默认" msgid "Default asset group" msgstr "默认资产组" -#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1027 +#: assets/models/label.py:15 rbac/const.py:6 users/models/user.py:1067 msgid "System" msgstr "系统" @@ -1887,7 +1887,7 @@ msgstr "系统" #: assets/serializers/cagegory.py:24 #: authentication/models/connection_token.py:29 #: authentication/serializers/connect_token_secret.py:125 -#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:34 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:35 #: users/models/preference.py:13 msgid "Value" msgstr "值" @@ -1944,7 +1944,7 @@ msgid "Setting" msgstr "设置" #: assets/models/platform.py:39 audits/const.py:56 -#: authentication/backends/passkey/models.py:11 settings/models.py:37 +#: authentication/backends/passkey/models.py:11 settings/models.py:38 #: terminal/serializers/applet_host.py:33 msgid "Enabled" msgstr "启用" @@ -2520,7 +2520,7 @@ msgstr "登录 IP" #: audits/models.py:200 audits/serializers.py:52 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms/profile.py:65 users/models/user.py:823 +#: users/forms/profile.py:65 users/models/user.py:883 #: users/serializers/profile.py:102 msgid "MFA" msgstr "MFA" @@ -2570,7 +2570,7 @@ msgstr "用户 %s %s 了当前资源" #: audits/serializers.py:172 authentication/models/connection_token.py:47 #: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 #: tickets/models/ticket/apply_application.py:31 -#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:841 +#: tickets/models/ticket/apply_asset.py:20 users/models/user.py:901 msgid "Date expired" msgstr "失效日期" @@ -2604,29 +2604,29 @@ msgstr "认证令牌" #: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 #: authentication/views/login.py:77 notifications/backends/__init__.py:11 #: settings/serializers/auth/wecom.py:10 settings/serializers/auth/wecom.py:15 -#: users/models/user.py:749 users/models/user.py:855 +#: users/models/user.py:748 users/models/user.py:916 msgid "WeCom" msgstr "企业微信" #: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:87 #: authentication/views/login.py:89 notifications/backends/__init__.py:14 #: settings/serializers/auth/feishu.py:10 -#: settings/serializers/auth/feishu.py:13 users/models/user.py:751 -#: users/models/user.py:857 +#: settings/serializers/auth/feishu.py:13 users/models/user.py:750 +#: users/models/user.py:918 msgid "FeiShu" msgstr "飞书" #: audits/signal_handlers/login_log.py:39 authentication/views/login.py:95 #: authentication/views/slack.py:87 notifications/backends/__init__.py:15 #: settings/serializers/auth/slack.py:10 settings/serializers/auth/slack.py:12 -#: users/models/user.py:752 users/models/user.py:858 +#: users/models/user.py:751 users/models/user.py:919 msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:40 authentication/views/dingtalk.py:161 #: authentication/views/login.py:83 notifications/backends/__init__.py:12 -#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:750 -#: users/models/user.py:856 +#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:749 +#: users/models/user.py:917 msgid "DingTalk" msgstr "钉钉" @@ -3209,7 +3209,7 @@ msgstr "动作" #: authentication/serializers/connection_token.py:42 #: perms/serializers/permission.py:44 perms/serializers/permission.py:65 -#: users/serializers/user.py:97 users/serializers/user.py:177 +#: users/serializers/user.py:97 users/serializers/user.py:176 msgid "Is expired" msgstr "已过期" @@ -3224,7 +3224,7 @@ msgstr "IP 白名单" #: authentication/serializers/token.py:92 perms/serializers/permission.py:43 #: perms/serializers/permission.py:66 users/serializers/user.py:98 -#: users/serializers/user.py:174 +#: users/serializers/user.py:173 msgid "Is valid" msgstr "是否有效" @@ -3710,7 +3710,7 @@ msgstr "忽略的" msgid "discard time" msgstr "忽略时间" -#: common/db/models.py:33 users/models/user.py:844 +#: common/db/models.py:33 users/models/user.py:904 msgid "Updated by" msgstr "最后更新者" @@ -3723,7 +3723,7 @@ msgid "Object" msgstr "对象" #: common/drf/metadata.py:127 -msgid "Organization ID" +msgid "Org ID" msgstr "组织 ID" #: common/drf/parsers/base.py:21 @@ -4173,33 +4173,33 @@ msgstr "超时" msgid "no valid program entry found." msgstr "没有可用程序入口" -#: ops/mixin.py:23 ops/mixin.py:104 settings/serializers/auth/ldap.py:66 +#: ops/mixin.py:23 ops/mixin.py:102 settings/serializers/auth/ldap.py:66 msgid "Periodic run" msgstr "周期执行" -#: ops/mixin.py:26 ops/mixin.py:90 ops/mixin.py:110 +#: ops/mixin.py:25 ops/mixin.py:88 ops/mixin.py:108 #: settings/serializers/auth/ldap.py:73 msgid "Interval" msgstr "间隔" -#: ops/mixin.py:30 ops/mixin.py:88 ops/mixin.py:107 +#: ops/mixin.py:28 ops/mixin.py:86 ops/mixin.py:105 #: settings/serializers/auth/ldap.py:70 msgid "Crontab" msgstr "Crontab" -#: ops/mixin.py:112 +#: ops/mixin.py:110 msgid "Run period" msgstr "执行周期" -#: ops/mixin.py:121 +#: ops/mixin.py:119 msgid "* Please enter a valid crontab expression" msgstr "* 请输入有效的 crontab 表达式" -#: ops/mixin.py:128 +#: ops/mixin.py:126 msgid "Range {} to {}" msgstr "输入在 {} - {} 范围之间" -#: ops/mixin.py:139 +#: ops/mixin.py:137 msgid "Require interval or crontab setting" msgstr "需要周期或定期设置" @@ -4488,7 +4488,7 @@ msgstr "默认组织" msgid "SYSTEM" msgstr "系统组织" -#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:183 +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:185 #: terminal/models/applet/applet.py:41 msgid "Builtin" msgstr "内置的" @@ -4733,7 +4733,7 @@ msgid "Scope" msgstr "范围" #: rbac/models/role.py:46 rbac/models/rolebinding.py:52 -#: users/models/user.py:810 +#: users/models/user.py:870 msgid "Role" msgstr "角色" @@ -4796,7 +4796,7 @@ msgstr "工作台" msgid "Audit view" msgstr "审计台" -#: rbac/tree.py:27 settings/models.py:159 +#: rbac/tree.py:27 settings/models.py:161 msgid "System setting" msgstr "系统设置" @@ -4902,75 +4902,75 @@ msgstr "测试手机号 该字段是必填项。" msgid "App Settings" msgstr "系统设置" -#: settings/models.py:36 users/models/preference.py:14 +#: settings/models.py:37 users/models/preference.py:14 msgid "Encrypted" msgstr "加密的" -#: settings/models.py:161 +#: settings/models.py:163 msgid "Can change email setting" msgstr "邮件设置" -#: settings/models.py:162 +#: settings/models.py:164 msgid "Can change auth setting" msgstr "认证设置" -#: settings/models.py:163 +#: settings/models.py:165 msgid "Can change auth ops" msgstr "任务中心设置" -#: settings/models.py:164 +#: settings/models.py:166 msgid "Can change auth ticket" msgstr "工单设置" -#: settings/models.py:165 +#: settings/models.py:167 msgid "Can change virtual app setting" msgstr "可以更改虚拟应用设置" -#: settings/models.py:166 +#: settings/models.py:168 msgid "Can change auth announcement" msgstr "公告设置" -#: settings/models.py:167 +#: settings/models.py:169 msgid "Can change vault setting" msgstr "可以更改 vault 设置" -#: settings/models.py:168 +#: settings/models.py:170 msgid "Can change chat ai setting" msgstr "可以修改聊天 AI 设置" -#: settings/models.py:169 +#: settings/models.py:171 msgid "Can change system msg sub setting" msgstr "消息订阅设置" -#: settings/models.py:170 +#: settings/models.py:172 msgid "Can change sms setting" msgstr "短信设置" -#: settings/models.py:171 +#: settings/models.py:173 msgid "Can change security setting" msgstr "安全设置" -#: settings/models.py:172 +#: settings/models.py:174 msgid "Can change clean setting" msgstr "定期清理" -#: settings/models.py:173 +#: settings/models.py:175 msgid "Can change interface setting" msgstr "界面设置" -#: settings/models.py:174 +#: settings/models.py:176 msgid "Can change license setting" msgstr "许可证设置" -#: settings/models.py:175 +#: settings/models.py:177 msgid "Can change terminal setting" msgstr "终端设置" -#: settings/models.py:176 +#: settings/models.py:178 msgid "Can change other setting" msgstr "其它设置" -#: settings/models.py:186 +#: settings/models.py:188 msgid "Chat prompt" msgstr "聊天提示" @@ -7060,7 +7060,7 @@ msgstr "端点后缀" msgid "HOST" msgstr "主机" -#: terminal/serializers/storage.py:146 users/models/user.py:830 +#: terminal/serializers/storage.py:146 users/models/user.py:890 #: xpack/plugins/cloud/serializers/account_attrs.py:213 msgid "Private key" msgstr "ssh私钥" @@ -7668,11 +7668,11 @@ msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" #: users/forms/profile.py:162 users/serializers/profile.py:76 -#: users/serializers/profile.py:164 users/serializers/profile.py:191 +#: users/serializers/profile.py:165 users/serializers/profile.py:192 msgid "Not a valid ssh public key" msgstr "SSH密钥不合法" -#: users/forms/profile.py:173 users/models/user.py:833 +#: users/forms/profile.py:173 users/models/user.py:893 #: xpack/plugins/cloud/serializers/account_attrs.py:210 msgid "Public key" msgstr "SSH公钥" @@ -7685,70 +7685,70 @@ msgstr "用户设置" msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:812 users/serializers/user.py:175 +#: users/models/user.py:872 users/serializers/user.py:174 msgid "Is service account" msgstr "服务账号" -#: users/models/user.py:814 +#: users/models/user.py:874 msgid "Avatar" msgstr "头像" -#: users/models/user.py:817 +#: users/models/user.py:877 msgid "Wechat" msgstr "微信" -#: users/models/user.py:820 users/serializers/user.py:106 +#: users/models/user.py:880 users/serializers/user.py:106 msgid "Phone" msgstr "手机" -#: users/models/user.py:826 +#: users/models/user.py:886 msgid "OTP secret key" msgstr "OTP 密钥" # msgid "Private key" # msgstr "ssh私钥" -#: users/models/user.py:838 users/serializers/profile.py:128 -#: users/serializers/user.py:172 +#: users/models/user.py:898 users/serializers/profile.py:129 +#: users/serializers/user.py:171 msgid "Is first login" msgstr "首次登录" -#: users/models/user.py:848 +#: users/models/user.py:907 msgid "Date password last updated" msgstr "最后更新密码日期" -#: users/models/user.py:851 +#: users/models/user.py:910 msgid "Need update password" msgstr "需要更新密码" -#: users/models/user.py:853 +#: users/models/user.py:920 msgid "Date api key used" msgstr "Api key 最后使用日期" -#: users/models/user.py:985 +#: users/models/user.py:1039 msgid "Can not delete admin user" msgstr "无法删除管理员用户" -#: users/models/user.py:1012 +#: users/models/user.py:1052 msgid "Can invite user" msgstr "可以邀请用户" -#: users/models/user.py:1013 +#: users/models/user.py:1053 msgid "Can remove user" msgstr "可以移除用户" -#: users/models/user.py:1014 +#: users/models/user.py:1054 msgid "Can match user" msgstr "可以匹配用户" -#: users/models/user.py:1023 +#: users/models/user.py:1063 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:1026 +#: users/models/user.py:1066 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" -#: users/models/user.py:1051 +#: users/models/user.py:1091 msgid "User password history" msgstr "用户密码历史" @@ -7866,7 +7866,7 @@ msgstr "命令行" msgid "The old password is incorrect" msgstr "旧密码错误" -#: users/serializers/profile.py:36 users/serializers/profile.py:178 +#: users/serializers/profile.py:36 users/serializers/profile.py:179 msgid "Password does not match security rules" msgstr "密码不满足安全规则" @@ -7883,8 +7883,8 @@ msgid "Org roles" msgstr "组织角色" #: users/serializers/user.py:90 -msgid "Password strategy" -msgstr "密码策略" +msgid "Password option" +msgstr "密码选项" #: users/serializers/user.py:92 msgid "MFA enabled" @@ -7898,7 +7898,7 @@ msgstr "强制 MFA" msgid "Login blocked" msgstr "登录被锁定" -#: users/serializers/user.py:99 users/serializers/user.py:181 +#: users/serializers/user.py:99 users/serializers/user.py:180 msgid "Is OTP bound" msgstr "是否绑定了虚拟 MFA" @@ -7906,37 +7906,37 @@ msgstr "是否绑定了虚拟 MFA" msgid "Can public key authentication" msgstr "可以公钥认证吗" -#: users/serializers/user.py:166 +#: users/serializers/user.py:165 msgid "Groups" msgstr "用户组" -#: users/serializers/user.py:169 +#: users/serializers/user.py:168 msgid "Superuser" msgstr "超级用户" -#: users/serializers/user.py:176 +#: users/serializers/user.py:175 msgid "Is org admin" msgstr "组织管理员" -#: users/serializers/user.py:178 +#: users/serializers/user.py:177 msgid "Avatar url" msgstr "头像路径" -#: users/serializers/user.py:182 +#: users/serializers/user.py:181 msgid "MFA level" msgstr "MFA" -#: users/serializers/user.py:294 +#: users/serializers/user.py:303 msgid "" "For security, only a partial list of users is displayed. You can search for " "more" msgstr "" -#: users/serializers/user.py:327 +#: users/serializers/user.py:336 msgid "name not unique" msgstr "名称重复" -#: users/signal_handlers.py:32 +#: users/signal_handlers.py:34 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" " and the current user is not in the user list. Please contact the " @@ -7944,7 +7944,7 @@ msgid "" msgstr "" "管理员已开启'仅允许已存在用户登录',当前用户不在用户列表中,请联系管理员。" -#: users/signal_handlers.py:166 +#: users/signal_handlers.py:168 msgid "Clean up expired user sessions" msgstr "清除过期的用户会话" @@ -8855,26 +8855,27 @@ msgid "Interface settings" msgstr "界面设置" #: xpack/plugins/interface/models.py:23 -msgid "Login title" -msgstr "登录页面标题" +msgid "Title of login page" +msgstr "登录页标题" #: xpack/plugins/interface/models.py:27 -msgid "Login image" -msgstr "登录页面图片" +msgid "Image of login page" +msgstr "登录页图片" #: xpack/plugins/interface/models.py:31 msgid "Website icon" msgstr "网站图标" #: xpack/plugins/interface/models.py:35 -msgid "Index logo" +msgid "Logo of management page" msgstr "管理页面 Logo" #: xpack/plugins/interface/models.py:39 -msgid "Logout logo" -msgstr "退出页面 Logo" +msgid "Logo of logout page" +msgstr "退出页面小 Logo" #: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "主题" @@ -8890,6 +8891,14 @@ msgstr "公安联网备案号" msgid "Interface setting" msgstr "界面设置" +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "顶部宽 Logo" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "方形小 Logo" + #: xpack/plugins/license/api.py:52 msgid "License import successfully" msgstr "许可证导入成功" @@ -8918,6 +8927,21 @@ msgstr "企业专业版" msgid "Ultimate edition" msgstr "企业旗舰版" +#~ msgid "Organization ID" +#~ msgstr "组织 ID" + +#~ msgid "Password strategy" +#~ msgstr "密码策略" + +#~ msgid "Login title" +#~ msgstr "登录页面标题" + +#~ msgid "Login image" +#~ msgstr "登录页面图片" + +#~ msgid "Index logo" +#~ msgstr "管理页面 Logo" + #~ msgid "Enable database proxy" #~ msgstr "启用数据库组件" @@ -8933,12 +8957,6 @@ msgstr "企业旗舰版" #~ msgid "Account " #~ msgstr "账号" -#~ msgid "Wide logo on top" -#~ msgstr "顶部宽 Logo" - -#~ msgid "Small logo without text" -#~ msgstr "方形小 Logo" - #~ msgid "Password can not contains `{{` or `}}`" #~ msgstr "密码不能包含 `{{` 或 `}}` 字符" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index c53fd8024..58401777b 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -71,12 +71,12 @@ "Aliyun": "Alibaba Cloud", "All": "All", "AllAccountTip": "All accounts already added on the asset", - "AllAccounts": "All Accounts", + "AllAccounts": "All accounts", "AllClickRead": "All Marked as Read", "AllMembers": "All Members", "AllowInvalidCert": "Ignore certificate check", "Announcement": "Announcement", - "AnonymousAccount": "Anonymous Account", + "AnonymousAccount": "Anonymous account", "AnonymousAccountTip": "Connect to Assets Without Using Username and Password, Only Support Web Type and Custom Type Assets", "ApiKey": "API Key", "ApiKeyList": "Authenticate via Api key in the header of each request, which differs from one request to another, offering greater security than Token method. Please consult the documentation for usage.
To minimize the risk of leaks, the Secret can only be viewed upon creation, and each user can create up to 10", @@ -159,6 +159,7 @@ "Authentication": "Authentication", "AutoPush": "Auto Push", "Automations": "Automations", + "AddAccount": "Add account", "AverageTimeCost": "Average spend time", "AwaitingMyApproval": "Awaiting my approval", "Azure": "Azure (China)", @@ -266,7 +267,7 @@ "CommandStorage": "Command Storage", "CommandStorageUpdate": "Update the Cmd Storage", "Commands": "Commands", - "Comment": "Note", + "Comment": "Description", "CommentHelpText": "Note: Remarks will be displayed when hovered over in the Luna page's user authorization asset tree. Ordinary users can view, please do not fill in sensitive information.", "CommunityEdition": "Community Version", "Component": "Component", @@ -635,7 +636,7 @@ "MFAOfUserFirstLoginUserGuidePage": "In order to protect your and the company's security, please carefully safeguard important sensitive information such as your account, password, and key (for example, set a complex password, and enable multi-factor authentication)
Personal information such as email, mobile number, and WeChat are only used for user authentication and platform internal message notifications.", "MailRecipient": "Email Recipient", "MailSend": "Sending", - "ManualAccount": "Manual Account", + "ManualAccount": "Manual account", "ManualAccountTip": "Manual input of Username/Password upon Login", "ManualExecute": "Manual execution", "ManyChoose": "Select Multiple", @@ -928,7 +929,7 @@ "SSHPort": "SSH Port", "SSHSecretKey": "SSH Key", "SafeCommand": "Secure Command", - "SameAccount": "Duplicate Account", + "SameAccount": "Same account", "SameAccountTip": "Accounts with the Same Username as Authorized Users", "SameTypeAccountTip": "An account with the same username and key type already exists", "Saturday": "Saturday", @@ -959,7 +960,7 @@ "SelectKeyOrCreateNew": "Select Tag Key or Create New One", "SelectLabelFilter": "Select tag for search", "SelectPlatforms": "Select Platform", - "SelectProperties": "Select Attribute", + "SelectProperties": "Attributes", "SelectResource": "Select Resources", "SelectTemplate": "Select Template", "SelectValueOrCreateNew": "Select Tag Value or Create New One", @@ -1016,7 +1017,7 @@ "SourceIP": "Source address", "SourcePort": "Source port", "Spec": "Specify", - "SpecAccount": "Designated Account", + "SpecAccount": "Specified accounts", "SpecAccountTip": "Specify username to choose authorized account", "SpecialSymbol": "Special Char", "SpecificInfo": "Special Information", From bffcd6107cbec1318270f0cb8fc5644a92061379 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 12 Mar 2024 18:47:44 +0800 Subject: [PATCH 054/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/lina/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index 58401777b..c6f4cfa7d 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -47,6 +47,7 @@ "ActiveUsers": "Active Users", "Activity": "Activities", "Add": "Add", + "AddAccount": "Add account", "AddAccountResult": "Second-Level Approver", "AddAllMembersWarningMsg": "Are you sure you want to add all members?", "AddAsset": "Add Assets", @@ -159,7 +160,6 @@ "Authentication": "Authentication", "AutoPush": "Auto Push", "Automations": "Automations", - "AddAccount": "Add account", "AverageTimeCost": "Average spend time", "AwaitingMyApproval": "Awaiting my approval", "Azure": "Azure (China)", @@ -1238,4 +1238,4 @@ "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} +} \ No newline at end of file From cae9f03892a3c0869f3c0372023a4ae7c6d23c77 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 13 Mar 2024 18:40:35 +0800 Subject: [PATCH 055/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20platform?= =?UTF-8?q?=20=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/platform.py | 42 +++++++++++++++++++++-------- apps/i18n/lina/en.json | 9 ++++--- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index 4fb0418c6..969ee3c9e 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -30,17 +30,29 @@ class PlatformAutomationSerializer(serializers.ModelSerializer): ] extra_kwargs = { # 启用资产探测 - "ping_enabled": {"label": _("Ping enabled")}, + "ping_enabled": {"label": _("Ping enabled"), "help_text": _("Enable asset detection")}, "ping_method": {"label": _("Ping method")}, - "gather_facts_enabled": {"label": _("Gather facts enabled")}, + "gather_facts_enabled": { + "label": _("Gather facts enabled"), + "help_text": _("Enable asset facts collection") + }, "gather_facts_method": {"label": _("Gather facts method")}, - "verify_account_enabled": {"label": _("Verify account enabled")}, + "verify_account_enabled": { + "label": _("Verify account enabled"), + "help_text": _("Enable account verification") + }, "verify_account_method": {"label": _("Verify account method")}, - "change_secret_enabled": {"label": _("Change secret enabled")}, + "change_secret_enabled": { + "label": _("Change secret enabled"), + "help_text": _("Enable account secret auto change") + }, "change_secret_method": {"label": _("Change secret method")}, - "push_account_enabled": {"label": _("Push account enabled")}, + "push_account_enabled": {"label": _("Push account enabled"), "help_text": _("Enable account auto push")}, "push_account_method": {"label": _("Push account method")}, - "gather_accounts_enabled": {"label": _("Gather accounts enabled")}, + "gather_accounts_enabled": { + "label": _("Gather accounts enabled"), + "help_text": _("Enable account collection") + }, "gather_accounts_method": {"label": _("Gather accounts method")}, } @@ -158,13 +170,21 @@ class PlatformSerializer(ResourceLabelsMixin, WritableNestedModelSerializer): 'created_by', 'updated_by' ] fields = fields_small + [ - "protocols", "domain_enabled", "su_enabled", - "su_method", "automation", "comment", "custom_fields", - "labels" + "protocols", "domain_enabled", "su_enabled", "su_method", + "automation", "comment", "custom_fields", "labels" ] + read_only_fields extra_kwargs = { - "su_enabled": {"label": _('Su enabled')}, - "domain_enabled": {"label": _('Domain enabled')}, + "su_enabled": { + "label": _('Su enabled'), + "help_text": _( + "Login with account when accessing assets, then automatically switch to another, " + "similar to logging in with a regular account and then switching to root" + ) + }, + "domain_enabled": { + "label": _('Domain enabled'), + "help_text": _("Assets can be connected using a domain gateway") + }, "domain_default": {"label": _('Default Domain')}, } diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index c6f4cfa7d..ddfe51999 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -358,7 +358,7 @@ "DefaultDatabase": "Default Database", "DefaultPort": "Default Port", "Delete": "Delete", - "DeleteConfirmMessage": "\"Deletion is irreversible, do you wish to continue?", + "DeleteConfirmMessage": "Deletion is irreversible, do you wish to continue?", "DeleteErrorMsg": "Delete Failed", "DeleteNode": "Delete Node", "DeleteOrgMsg": "User List, User Group, Asset List, Network Domain List, Manage Users, System Users, Tag Management, Asset Authorization Rules", @@ -729,6 +729,7 @@ "OrgAuditor": "Org Auditors", "OrgName": "Authorized Organization Name", "OrgRole": "Org Roles", + "OrgRoleHelpMsg": "Organization roles are roles tailored to individual organizations within the platform. These roles are assigned when inviting users to join a particular organization and dictate their permissions and access levels within that organization. Unlike system roles, organization roles are customizable and apply only within the scope of the organization they are assigned to.", "OrgRoleHelpText": "The Org role is the user's role within the current organization", "OrgRoles": "Org Role", "OrgUser": "Organize Users", @@ -1049,7 +1050,7 @@ "SuperAdmin": "Super Administrator", "SuperOrgAdmin": "Super Admin + Organization Admin", "Support": "Support", - "SupportedProtocol": "Supported Protocols", + "SupportedProtocol": "Protocols", "SupportedProtocolHelpText": "Set supported protocols for the asset, you can modify the custom configurations, such as SFTP directory, RDP AD domain, etc., by clicking on the set button", "Sync": "Sync", "SyncDelete": "Sync Deletion", @@ -1069,6 +1070,7 @@ "SyncedCount": "Synchronized", "SystemError": "System Error", "SystemRole": "System Roles", + "SystemRoleHelpMsg": "System roles are roles that apply universally across all organizations within the platform. These roles allow you to define specific permissions and access levels for users across the entire system. Changes made to system roles will affect all organizations using the platform.", "SystemRoles": "System Roles", "SystemSetting": "System Settings", "SystemTools": "System Tools", @@ -1215,6 +1217,7 @@ "ViewPerm": "View", "ViewSecret": "View Ciphertext", "VirtualAccountDetail": "Details of virtual account", + "VirtualAccountHelpMsg": "Virtual accounts are specialized accounts with specific purposes when connecting assets.", "VirtualAccountUpdate": "Virtual Account Update", "VirtualAccounts": "Virtual Accounts", "VirtualApp": "Virtual App", @@ -1238,4 +1241,4 @@ "Workspace": "Workspace", "Yes": "Yes", "ZStack": "ZStack" -} \ No newline at end of file +} From d04ac09e8246b893e3b0bce39ec26b0600a3fef1 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 15 Mar 2024 19:18:49 +0800 Subject: [PATCH 056/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20groups=20a?= =?UTF-8?q?pi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const/base.py | 12 ------------ apps/assets/const/database.py | 7 ------- apps/assets/const/types.py | 4 ++-- apps/i18n/core/en/LC_MESSAGES/django.po | 2 +- apps/i18n/core/ja/LC_MESSAGES/django.po | 2 +- apps/i18n/core/zh/LC_MESSAGES/django.po | 2 +- apps/i18n/lina/en.json | 17 +++++++++-------- .../migrations/0061_applet_can_concurrent.py | 2 +- apps/users/api/group.py | 15 +-------------- apps/users/serializers/user.py | 2 +- 10 files changed, 17 insertions(+), 48 deletions(-) diff --git a/apps/assets/const/base.py b/apps/assets/const/base.py index 6eb0cd1a1..3236050ea 100644 --- a/apps/assets/const/base.py +++ b/apps/assets/const/base.py @@ -110,22 +110,10 @@ class BaseType(TextChoices): def get_community_types(cls): return cls._get_choices_to_types() - @classmethod - def get_lite_types(cls): - return [] - @classmethod def get_choices(cls): if not settings.XPACK_ENABLED: choices = [(tp.value, tp.label) for tp in cls.get_community_types()] else: choices = cls.choices - - if not settings.LITE: - return choices - - lite_choices = cls.get_lite_types() - if lite_choices: - lite_choices = [c.value for c in lite_choices] - choices = [c for c in choices if c[0] in lite_choices] return choices diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index 4fba6aeb6..261373688 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -107,10 +107,3 @@ class DatabaseTypes(BaseType): return [ cls.MYSQL, cls.MARIADB, cls.MONGODB, cls.REDIS ] - - @classmethod - def get_lite_types(cls): - return [ - cls.MYSQL, cls.MARIADB, cls.POSTGRESQL, cls.ORACLE, - cls.SQLSERVER, cls.DB2 - ] diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 81c5f190f..e980501c4 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -169,11 +169,11 @@ class AllTypes(ChoicesMixin): (Category.HOST, HostTypes), (Category.DEVICE, DeviceTypes), (Category.DATABASE, DatabaseTypes), + (Category.WEB, WebTypes), ] - if not settings.LITE: + if settings.XPACK_ENABLED: types.extend([ (Category.CLOUD, CloudTypes), - (Category.WEB, WebTypes), (Category.GPT, GPTTypes), (Category.CUSTOM, CustomTypes), ]) diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index ff232e41a..4a6759ef4 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -7761,7 +7761,7 @@ msgid "Org roles" msgstr "" #: users/serializers/user.py:90 -msgid "Password option" +msgid "Password setting" msgstr "" #: users/serializers/user.py:92 diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 98c3e1060..ca74a31e1 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8070,7 +8070,7 @@ msgstr "組織ロール" #: users/serializers/user.py:90 #, fuzzy #| msgid "Password prompt" -msgid "Password option" +msgid "Password setting" msgstr "パスワードプロンプト" #: users/serializers/user.py:92 diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index f5c201479..f5860e701 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7883,7 +7883,7 @@ msgid "Org roles" msgstr "组织角色" #: users/serializers/user.py:90 -msgid "Password option" +msgid "Password setting" msgstr "密码选项" #: users/serializers/user.py:92 diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index ddfe51999..273cb4036 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -47,9 +47,10 @@ "ActiveUsers": "Active Users", "Activity": "Activities", "Add": "Add", + "AddAll": "Add all", "AddAccount": "Add account", "AddAccountResult": "Second-Level Approver", - "AddAllMembersWarningMsg": "Are you sure you want to add all members?", + "AddAllMembersWarningMsg": "Are you sure add all user to this group ?", "AddAsset": "Add Assets", "AddAssetToNode": "Add Assets to Node", "AddAssetToThisPermission": "Add Assets", @@ -391,9 +392,9 @@ "Download": "Download", "DownloadCenter": "Download Center", "DownloadFTPFileTip": "The current action does not record files, or the file size exceeds the threshold (default 100M), or it has not yet been saved to the corresponding storage", - "DownloadImportTemplateMsg": "Download Creation Template", + "DownloadImportTemplateMsg": "Download creation template", "DownloadReplay": "Download Recording", - "DownloadUpdateTemplateMsg": "Download Update Template", + "DownloadUpdateTemplateMsg": "Download update template", "DragUploadFileInfo": "Drag files here, or click here to upload", "DuplicateFileExists": "Uploading a file with the same name is not allowed, please delete the file with the same name", "Duration": "Duration", @@ -440,7 +441,7 @@ "Expire": "Expired", "Expired": "Expiration Date", "Export": "Export", - "ExportAll": "Export All", + "ExportAll": "Export all", "ExportOnlyFiltered": "Export filtered items", "ExportOnlySelectedItems": "Export selected items", "ExportRange": "Export Range", @@ -953,7 +954,7 @@ "Security": "Security", "Select": "Select", "SelectAdhoc": "Select Command", - "SelectAll": "Select All", + "SelectAll": "Select all", "SelectAtLeastOneAssetOrNodeErrMsg": "Select at Least One Asset or Node", "SelectAttrs": "Select Attributes", "SelectByAttr": "Attribute Filter", @@ -1039,7 +1040,7 @@ "StrategyHelpTips": "Identify the unique attributes of assets (such as platforms) based on priority of strategies; when an asset's attribute (like nodes) can be configured to multiple, all Actions of the strategies will be executed.", "StrategyList": "Policy List", "StrategyUpdate": "Update the Policy", - "SuEnabled": "Enable su", + "SuEnabled": "Enable switch", "SuFrom": "Switch From", "Submit": "Submit", "Success": "Success", @@ -1099,8 +1100,8 @@ "TerminateTaskSendSuccessMsg": "Task termination has been issued, please refresh and check later", "TermsAndConditions": "Terms and Conditions", "Test": "Test", - "TestAccountConnective": "Test Account Connectivity", - "TestAssetsConnective": "Test Asset Connectivity", + "TestAccountConnective": "Test Connectivity", + "TestAssetsConnective": "Test Connectivity", "TestConnection": "Test Connection", "TestGatewayHelpMessage": "If NAT port mapping is used, please set it to the real port listened to by SSH", "TestGatewayTestConnection": "Test Connect to Gateway", diff --git a/apps/terminal/migrations/0061_applet_can_concurrent.py b/apps/terminal/migrations/0061_applet_can_concurrent.py index 5041e5425..b770b7864 100644 --- a/apps/terminal/migrations/0061_applet_can_concurrent.py +++ b/apps/terminal/migrations/0061_applet_can_concurrent.py @@ -13,6 +13,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='applet', name='can_concurrent', - field=models.BooleanField(default=False, verbose_name='Can concurrent'), + field=models.BooleanField(default=False, verbose_name='Concurrent'), ), ] diff --git a/apps/users/api/group.py b/apps/users/api/group.py index 1e34a7caa..44385d090 100644 --- a/apps/users/api/group.py +++ b/apps/users/api/group.py @@ -1,11 +1,8 @@ # -*- coding: utf-8 -*- # -from rest_framework import status -from rest_framework.decorators import action -from rest_framework.response import Response from orgs.mixins.api import OrgBulkModelViewSet -from ..models import UserGroup, User +from ..models import UserGroup from ..serializers import UserGroupSerializer, UserGroupListSerializer __all__ = ['UserGroupViewSet'] @@ -20,13 +17,3 @@ class UserGroupViewSet(OrgBulkModelViewSet): 'list': UserGroupListSerializer, } ordering = ('name',) - rbac_perms = ( - ("add_all_users", "users.add_usergroup"), - ) - - @action(methods=['post'], detail=True, url_path='add-all-users') - def add_all_users(self, request, *args, **kwargs): - instance = self.get_object() - users = User.get_org_users().exclude(groups__id=instance.id) - instance.users.add(*users) - return Response(status=status.HTTP_200_OK) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index b5b42a5e5..626c54d48 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -87,7 +87,7 @@ class UserSerializer(RolesSerializerMixin, ResourceLabelsMixin, CommonBulkModelS default=PasswordStrategy.email, allow_null=True, required=False, - label=_("Password option"), + label=_("Password setting"), ) mfa_enabled = serializers.BooleanField(read_only=True, label=_("MFA enabled")) mfa_force_enabled = serializers.BooleanField( From 06259a2d63d1cdfd089fd75877b8c565bb0b2876 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 Mar 2024 16:29:40 +0800 Subject: [PATCH 057/343] =?UTF-8?q?perf:=20=E5=AF=B9ce=E3=80=81ee=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=BA=93=E8=BF=9B=E8=A1=8C=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index b8c7fc0c7..19a8919fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,10 @@ authors = ["ibuler "] license = "GPLv3" readme = "README.md" +# 说明 +# poetry install (社区版) +# poetry install --with=xpack (企业版) + [tool.poetry.dependencies] python = "^3.11" cython = "3.0.0" @@ -151,6 +155,8 @@ xmlsec = "^1.3.13" polib = "^1.2.0" tqdm = "^4.66.1" +[tool.poetry.group.xpack] +optional = true [tool.poetry.group.xpack.dependencies] qingcloud-sdk = "1.2.15" From 51890c94cc5633da3aa6cd65831698e9e39d9bd7 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 Mar 2024 16:35:15 +0800 Subject: [PATCH 058/343] =?UTF-8?q?perf:=20=E5=AF=B9ce=E3=80=81ee=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=BA=93=E8=BF=9B=E8=A1=8C=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 19a8919fa..92f0ec599 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jumpserver" -version = "v3.9" +version = "v3.10" description = "广受欢迎的开源堡垒机" authors = ["ibuler "] license = "GPLv3" From 5e104a3dd203297c1787d41431dc587f39d0aa16 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 19 Mar 2024 17:53:29 +0800 Subject: [PATCH 059/343] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0002_auto_20180105_1807_squashed_0009_auto_20180307_1212.py | 2 +- apps/assets/models/asset/common.py | 3 +-- apps/assets/serializers/asset/common.py | 2 +- apps/terminal/migrations/0061_applet_can_concurrent.py | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/assets/migrations/0002_auto_20180105_1807_squashed_0009_auto_20180307_1212.py b/apps/assets/migrations/0002_auto_20180105_1807_squashed_0009_auto_20180307_1212.py index 6392158fd..7cbf78a43 100644 --- a/apps/assets/migrations/0002_auto_20180105_1807_squashed_0009_auto_20180307_1212.py +++ b/apps/assets/migrations/0002_auto_20180105_1807_squashed_0009_auto_20180307_1212.py @@ -123,7 +123,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='asset', name='nodes', - field=models.ManyToManyField(default=assets.models.asset.default_node, related_name='assets', to='assets.Node', verbose_name='Node'), + field=models.ManyToManyField(default=assets.models.asset.default_node, related_name='assets', to='assets.Node', verbose_name='Nodes'), ), migrations.AddField( model_name='systemuser', diff --git a/apps/assets/models/asset/common.py b/apps/assets/models/asset/common.py index 7d3fb5fd2..9be7c230b 100644 --- a/apps/assets/models/asset/common.py +++ b/apps/assets/models/asset/common.py @@ -161,8 +161,7 @@ class Asset(NodesRelationMixin, LabeledMixin, AbsConnectivity, JSONFilterMixin, platform = models.ForeignKey(Platform, on_delete=models.PROTECT, verbose_name=_("Platform"), related_name='assets') domain = models.ForeignKey("assets.Domain", null=True, blank=True, related_name='assets', verbose_name=_("Domain"), on_delete=models.SET_NULL) - nodes = models.ManyToManyField('assets.Node', default=default_node, related_name='assets', - verbose_name=_("Node")) + nodes = models.ManyToManyField('assets.Node', default=default_node, related_name='assets', verbose_name=_("Nodes")) is_active = models.BooleanField(default=True, verbose_name=_('Is active')) gathered_info = models.JSONField(verbose_name=_('Gathered info'), default=dict, blank=True) # 资产的一些信息,如 硬件信息 custom_info = models.JSONField(verbose_name=_('Custom info'), default=dict) diff --git a/apps/assets/serializers/asset/common.py b/apps/assets/serializers/asset/common.py index 0e90ffadf..150b69b38 100644 --- a/apps/assets/serializers/asset/common.py +++ b/apps/assets/serializers/asset/common.py @@ -149,7 +149,7 @@ class AssetSerializer(BulkOrgResourceModelSerializer, ResourceLabelsMixin, Writa 'name': {'label': _("Name")}, 'address': {'label': _('Address')}, 'nodes_display': {'label': _('Node path')}, - 'nodes': {'allow_empty': True}, + 'nodes': {'allow_empty': True, 'label': _("Nodes")}, } def __init__(self, *args, **kwargs): diff --git a/apps/terminal/migrations/0061_applet_can_concurrent.py b/apps/terminal/migrations/0061_applet_can_concurrent.py index b770b7864..5041e5425 100644 --- a/apps/terminal/migrations/0061_applet_can_concurrent.py +++ b/apps/terminal/migrations/0061_applet_can_concurrent.py @@ -13,6 +13,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='applet', name='can_concurrent', - field=models.BooleanField(default=False, verbose_name='Concurrent'), + field=models.BooleanField(default=False, verbose_name='Can concurrent'), ), ] From d5675ce4989376f6be3f75c2604ca7898ff013fb Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 Mar 2024 18:06:59 +0800 Subject: [PATCH 060/343] perf: update poetry.lock --- poetry.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 5f315e39b..ffa657bc2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -7872,4 +7872,4 @@ reference = "tsinghua" [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "d78c0c0a176f649b392403861e0597485061cab351e7a0e627d799ab61af5895" +content-hash = "5cfb1f2bdb17138f3b67aba167853be4372b891f3792173ea66d61d50760dbd6" From fb0209556816d2ccfee0a2c1cf5bcd76efa50dd9 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 Mar 2024 19:22:29 +0800 Subject: [PATCH 061/343] perf: Remove settigns.LITE --- apps/jumpserver/conf.py | 1 - apps/jumpserver/settings/custom.py | 2 -- apps/settings/serializers/public.py | 1 - 3 files changed, 4 deletions(-) diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 031083ff0..a04b3547b 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -608,7 +608,6 @@ class Config(dict): 'FILE_UPLOAD_SIZE_LIMIT_MB': 200, 'TICKET_APPLY_ASSET_SCOPE': 'all', - 'LITE': False } old_config_map = { diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index 856d9aa1b..ed5cc61a9 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -229,5 +229,3 @@ VIRTUAL_APP_ENABLED = CONFIG.VIRTUAL_APP_ENABLED FILE_UPLOAD_SIZE_LIMIT_MB = CONFIG.FILE_UPLOAD_SIZE_LIMIT_MB TICKET_APPLY_ASSET_SCOPE = CONFIG.TICKET_APPLY_ASSET_SCOPE - -LITE = CONFIG.LITE diff --git a/apps/settings/serializers/public.py b/apps/settings/serializers/public.py index 054733667..278764c65 100644 --- a/apps/settings/serializers/public.py +++ b/apps/settings/serializers/public.py @@ -58,7 +58,6 @@ class PrivateSettingSerializer(PublicSettingSerializer): CHAT_AI_ENABLED = serializers.BooleanField() GPT_MODEL = serializers.CharField() FILE_UPLOAD_SIZE_LIMIT_MB = serializers.IntegerField() - LITE = serializers.BooleanField() class ServerInfoSerializer(serializers.Serializer): From 6c0299b05a631d6ebfc2427363a800289fa09f29 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 21 Mar 2024 19:13:00 +0800 Subject: [PATCH 062/343] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/templates/authentication/login.html | 7 +++---- apps/i18n/core/zh/LC_MESSAGES/django.mo | 4 ++-- apps/i18n/lina/en.json | 6 +++--- apps/jumpserver/views/other.py | 4 +++- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/authentication/templates/authentication/login.html b/apps/authentication/templates/authentication/login.html index 4d7489034..e1fe3c393 100644 --- a/apps/authentication/templates/authentication/login.html +++ b/apps/authentication/templates/authentication/login.html @@ -297,8 +297,7 @@