diff --git a/README.md b/README.md
index 426df7d3..ed7b5f90 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,7 @@ NebulaGraph Studio (Studio for short) is a web-based visualization tool for Nebu
| 3.0.0 ~ 3.2.0 | v3.4.x |
| 3.0.0 ~ 3.3.0 | v3.5.x |
| 3.0.0 ~ 3.4.0 | v3.6.x |
+| 3.0.0 ~ 3.5.0 | v3.7.x |
## Development Quick Start
@@ -60,7 +61,7 @@ $ go build -o server
### 3. Start
```
-$ nohup ./server &
+$ ./server &
```
### 4. Stop Server
@@ -69,9 +70,9 @@ Use when you want shutdown the web app
kill -9 $(lsof -t -i :7001)
```
-## Documentation 3.4.0
-[中文](https://docs.nebula-graph.com.cn/3.4.0/nebula-studio/about-studio/st-ug-what-is-graph-studio/)
-[ENGLISH](https://docs.nebula-graph.io/3.4.0/nebula-studio/about-studio/st-ug-what-is-graph-studio/)
+## Documentation 3.7.0
+[中文](https://docs.nebula-graph.com.cn/3.5.0/nebula-studio/about-studio/st-ug-what-is-graph-studio/)
+[ENGLISH](https://docs.nebula-graph.io/3.5.0/nebula-studio/about-studio/st-ug-what-is-graph-studio/)
## Contributing
Contributions are warmly welcomed and greatly appreciated. Please see [Guide Docs](https://github.com/vesoft-inc/nebula-studio/blob/master/CONTRIBUTING.md)
diff --git a/app/config/locale/en-US.ts b/app/config/locale/en-US.ts
index 1cb00d0b..087b6f30 100644
--- a/app/config/locale/en-US.ts
+++ b/app/config/locale/en-US.ts
@@ -1,494 +1,494 @@
export default {
- "common": {
- "requestError": "Request Error",
- "currentSpace": "Current Graph Space",
- "seeTheHistory": "History",
- "table": "Table",
- "log": "Log",
- "sorryNGQLCannotBeEmpty": "nGQL cannot be empty",
- "disablesUseToSwitchSpace": "DO NOT switch between graph spaces with nGQL statements in the console.",
- "NGQLHistoryList": "nGQL History",
- "empty": "Clear",
- "run": "Run",
- "console": "Console",
- "ok": "OK",
- "success": "Success",
- "fail": "Fail",
- "cancel": "Cancel",
- "confirm": "Confirm",
- "import": "Import",
- "ask": "Are you sure to proceed?",
- "openInExplore": "Open In Explorer",
- "schema": "Schema",
- "create": "Create",
- "name": "Name",
- "operation": "Operations",
- "delete": "Delete",
- "optional": "Optional",
- "exportNGQL": "View nGQL",
- "relatedProperties": "Related Properties",
- "type": "Type",
- "edit": "Edit",
- "deleteSuccess": "Deleted successfully",
- "propertyName": "Property Name",
- "dataType": "Data Type",
- "allowNull": "Allow Null",
- "defaults": "Defaults",
- "addProperty": "Add Property",
- "updateSuccess": "Updated Successfully",
- "add": "Add",
- "tag": "Tag",
- "edge": "Edge Type",
- "index": "Index",
- "yes": "Yes",
- "no": "No",
- "graph": "Graph",
- "color": "Color",
- "total": "Total",
- "namePlaceholder": "Please enter the {name} name",
- "comment": "Comment",
- "space": "Space",
- "version": "Version",
- "statistics": "Statistics",
- "duplicate": "Copy",
- "copy": "Copy",
- "copySuccess": "Copied successfully",
- "sketch": "Schema drafting",
- "viewSchema": "View Schema",
- "beta": "Beta",
- "danglingEdge": "Dangling edge",
- "columnName": "Column name",
- "src": "Source",
- "dst": "Destination",
- "value": "Value",
- "continue": "Continue",
- "update": "Update",
- "prev": "Previous",
- "createTime": "Create Time",
- "rerun": "Rerun"
+ 'common': {
+ 'requestError': 'Request Error',
+ 'currentSpace': 'Current Graph Space',
+ 'seeTheHistory': 'History',
+ 'table': 'Table',
+ 'log': 'Log',
+ 'sorryNGQLCannotBeEmpty': 'nGQL cannot be empty',
+ 'disablesUseToSwitchSpace': 'DO NOT switch between graph spaces with nGQL statements in the console.',
+ 'NGQLHistoryList': 'nGQL History',
+ 'empty': 'Clear',
+ 'run': 'Run',
+ 'console': 'Console',
+ 'ok': 'OK',
+ 'success': 'Success',
+ 'fail': 'Fail',
+ 'cancel': 'Cancel',
+ 'confirm': 'Confirm',
+ 'import': 'Import',
+ 'ask': 'Are you sure to proceed?',
+ 'openInExplore': 'Open In Explorer',
+ 'schema': 'Schema',
+ 'create': 'Create',
+ 'name': 'Name',
+ 'operation': 'Operations',
+ 'delete': 'Delete',
+ 'optional': 'Optional',
+ 'exportNGQL': 'View nGQL',
+ 'relatedProperties': 'Related Properties',
+ 'type': 'Type',
+ 'edit': 'Edit',
+ 'deleteSuccess': 'Deleted successfully',
+ 'propertyName': 'Property Name',
+ 'dataType': 'Data Type',
+ 'allowNull': 'Allow Null',
+ 'defaults': 'Defaults',
+ 'addProperty': 'Add Property',
+ 'updateSuccess': 'Updated Successfully',
+ 'add': 'Add',
+ 'tag': 'Tag',
+ 'edge': 'Edge Type',
+ 'index': 'Index',
+ 'yes': 'Yes',
+ 'no': 'No',
+ 'graph': 'Graph',
+ 'color': 'Color',
+ 'total': 'Total',
+ 'namePlaceholder': 'Please enter the {name} name',
+ 'comment': 'Comment',
+ 'space': 'Space',
+ 'version': 'Version',
+ 'statistics': 'Statistics',
+ 'duplicate': 'Copy',
+ 'copy': 'Copy',
+ 'copySuccess': 'Copied successfully',
+ 'sketch': 'Schema drafting',
+ 'viewSchema': 'View Schema',
+ 'beta': 'Beta',
+ 'danglingEdge': 'Dangling edge',
+ 'columnName': 'Column name',
+ 'src': 'Source',
+ 'dst': 'Destination',
+ 'value': 'Value',
+ 'continue': 'Continue',
+ 'update': 'Update',
+ 'prev': 'Previous',
+ 'createTime': 'Create Time',
+ 'rerun': 'Rerun'
},
- "doc": {
- "welcome": "Welcome to",
- "functionIntro": "Functions introduction",
- "schemaIntro": `You can use the Schema page to operate graph spaces in ${window.gConfig.databaseName}`,
- "importIntro": `You can use the Import page to batch import vertex and edge data into ${window.gConfig.databaseName} for graph exploration and data analysis.`,
- "consoleIntro": "When data is imported, you can use the Console page to query graph data.",
- "learningDoc": "Learning Docs",
- "getStarted": `Getting started with ${window.gConfig.databaseName} Studio`,
- "getStartedTip": `What's ${window.gConfig.databaseName} Studio`,
- "useGuide": `Documents of ${window.gConfig.databaseName} Studio`,
- "useGuideTip": `Learn how to use ${window.gConfig.databaseName} Studio`,
- "ngqlIntro": `${window.gConfig.databaseName} Query Language (nGQL)`,
- "ngqlIntroTip": `nGQL is a declarative graph query language for ${window.gConfig.databaseName}. It allows expressive and efficient graph patterns. `,
- "start": "Get Started",
- "sketchIntro": "Schema drafting",
- "basketballplayerIntro": "A typical schema composed of two vertex types (player and team) and two edge types (serve and follow), widely referenced by documentation.",
- "snsIntro": "Social Network Graph demo, new friend recommendation, feed generation, etc.",
- "movieIntro": "Movie recommendation with CBF, ItemCF and UserCF in Graph.",
- "datalineageIntro": `Metadata governance on ${window.gConfig.databaseName}, data lineage query, data dependency analysis, etc.`,
- "idMappingIntro": "ID Mapping, Identity Resolution for a user system in Graph",
- "fifa2022Intro": "2022 Football World Game knowledge graph, try predict the winner, assuming we don't know the result.",
- "shareholdingIntro": "Shareholding graph, query the shareholding relationship of a company, and the relationship between the company and the shareholder.",
- "openstackIntro": "A demo of AI Ops with Graph, taking OpenStack as an example, where all resources were included in one graph.",
- "fraudDetectionIntro": "Fraud detection with Graph, taking loan application as an example"
+ 'doc': {
+ 'welcome': 'Welcome to',
+ 'functionIntro': 'Functions introduction',
+ 'schemaIntro': `You can use the Schema page to operate graph spaces in ${window.gConfig.databaseName}`,
+ 'importIntro': `You can use the Import page to batch import vertex and edge data into ${window.gConfig.databaseName} for graph exploration and data analysis.`,
+ 'consoleIntro': 'When data is imported, you can use the Console page to query graph data.',
+ 'learningDoc': 'Learning Docs',
+ 'getStarted': `Getting started with ${window.gConfig.databaseName} Studio`,
+ 'getStartedTip': `What's ${window.gConfig.databaseName} Studio`,
+ 'useGuide': `Documents of ${window.gConfig.databaseName} Studio`,
+ 'useGuideTip': `Learn how to use ${window.gConfig.databaseName} Studio`,
+ 'ngqlIntro': `${window.gConfig.databaseName} Query Language (nGQL)`,
+ 'ngqlIntroTip': `nGQL is a declarative graph query language for ${window.gConfig.databaseName}. It allows expressive and efficient graph patterns. `,
+ 'start': 'Get Started',
+ 'sketchIntro': 'Schema drafting',
+ 'basketballplayerIntro': 'A typical schema composed of two vertex types (player and team) and two edge types (serve and follow), widely referenced by documentation.',
+ 'snsIntro': 'Social Network Graph demo, new friend recommendation, feed generation, etc.',
+ 'movieIntro': 'Movie recommendation with CBF, ItemCF and UserCF in Graph.',
+ 'datalineageIntro': `Metadata governance on ${window.gConfig.databaseName}, data lineage query, data dependency analysis, etc.`,
+ 'idMappingIntro': 'ID Mapping, Identity Resolution for a user system in Graph',
+ 'fifa2022Intro': '2022 Football World Game knowledge graph, try predict the winner, assuming we don\'t know the result.',
+ 'shareholdingIntro': 'Shareholding graph, query the shareholding relationship of a company, and the relationship between the company and the shareholder.',
+ 'openstackIntro': 'A demo of AI Ops with Graph, taking OpenStack as an example, where all resources were included in one graph.',
+ 'fraudDetectionIntro': 'Fraud detection with Graph, taking loan application as an example'
},
- "warning": {
- "connectError": "Connection refused, please configure server again",
- "crashPage": "Oops, something went wrong",
- "crashPageTip": "Service crashed, please contact administrator",
- "refreshPage": "Refresh page",
- "contactStaff": "Contact Us",
- "errorMessage": "Error Message"
+ 'warning': {
+ 'connectError': 'Connection refused, please configure server again',
+ 'crashPage': 'Oops, something went wrong',
+ 'crashPageTip': 'Service crashed, please contact administrator',
+ 'refreshPage': 'Refresh page',
+ 'contactStaff': 'Contact Us',
+ 'errorMessage': 'Error Message'
},
- "configServer": {
- "connect": "Connect",
- "host": "Graphd IP address",
- "port": "Port",
- "username": "Username",
- "password": "Password",
- "success": "succeed",
- "clear": "Log out",
- "title": `Connect to ${window.gConfig.databaseName}`,
- "tip": "Don't know the address? Docs->"
+ 'configServer': {
+ 'connect': 'Connect',
+ 'host': 'Graphd IP address',
+ 'port': 'Port',
+ 'username': 'Username',
+ 'password': 'Password',
+ 'success': 'succeed',
+ 'clear': 'Log out',
+ 'title': `Connect to ${window.gConfig.databaseName}`,
+ 'tip': 'Don\'t know the address? Docs->'
},
- "formRules": {
- "hostRequired": "Host Required",
- "portRequired": "Port Required",
- "usernameRequired": "Username Required",
- "passwordRequired": "Password Required",
- "positiveIntegerRequired": "Please enter a non-negative integer",
- "nameValidate": "The name must start with a letter, and it only supports English letters, numbers and underscores",
- "nameRequired": "Please enter the name",
- "numberRequired": "Please enter a positive integer",
- "replicaLimit": "Replica factor must not exceed the number of your current online machines({number})",
- "ttlRequired": "Please select the corresponding property, and the data type of the property must be integer or timestamp",
- "ttlDurationRequired": "Please enter the time (in seconds)",
- "dataTypeRequired": "Please select the data type",
- "edgeTypeRequired": "Please select the edge type",
- "srcIdRequired": "Please select the source VID",
- "dstIdRequired": "Please select the destination VID",
- "vidRequired": "Please select the VID",
- "vidTypeRequired": "Vid type is required",
- "fixStringLengthRequired": "fix string length limit is required",
- "spaceRequired": "Space is required",
- "maxBytes": "It cannot exceed {max} bytes",
- "ttlLimit": "The data type of the property must be int or timestamp",
- "associateNameRequired": "Associated {type} name is required",
- "fileRequired": "Please select the file",
- "formHostRequired": "Host Required",
- "formPortRequired": "Port Required",
- "regionRequired": "Region Required",
- "endpointRequired": "Endpoint Required",
- "bucketRequired": "Bucket Required",
- "accessKeyIdRequired": "Access Key ID Required",
- "accessKeySecretRequired": "Access Key Secret Required",
- "platformRequired": "Platform Required"
+ 'formRules': {
+ 'hostRequired': 'Host Required',
+ 'portRequired': 'Port Required',
+ 'usernameRequired': 'Username Required',
+ 'passwordRequired': 'Password Required',
+ 'positiveIntegerRequired': 'Please enter a non-negative integer',
+ 'nameValidate': 'The name must start with a letter, and it only supports English letters, numbers and underscores',
+ 'nameRequired': 'Please enter the name',
+ 'numberRequired': 'Please enter a positive integer',
+ 'replicaLimit': 'Replica factor must not exceed the number of your current online machines({number})',
+ 'ttlRequired': 'Please select the corresponding property, and the data type of the property must be integer or timestamp',
+ 'ttlDurationRequired': 'Please enter the time (in seconds)',
+ 'dataTypeRequired': 'Please select the data type',
+ 'edgeTypeRequired': 'Please select the edge type',
+ 'srcIdRequired': 'Please select the source VID',
+ 'dstIdRequired': 'Please select the destination VID',
+ 'vidRequired': 'Please select the VID',
+ 'vidTypeRequired': 'Vid type is required',
+ 'fixStringLengthRequired': 'fix string length limit is required',
+ 'spaceRequired': 'Space is required',
+ 'maxBytes': 'It cannot exceed {max} bytes',
+ 'ttlLimit': 'The data type of the property must be int or timestamp',
+ 'associateNameRequired': 'Associated {type} name is required',
+ 'fileRequired': 'Please select the file',
+ 'formHostRequired': 'Host Required',
+ 'formPortRequired': 'Port Required',
+ 'regionRequired': 'Region Required',
+ 'endpointRequired': 'Endpoint Required',
+ 'bucketRequired': 'Bucket Required',
+ 'accessKeyIdRequired': 'Access Key ID Required',
+ 'accessKeySecretRequired': 'Access Key Secret Required',
+ 'platformRequired': 'Platform Required'
},
- "console": {
- "execTime": "Execution Time",
- "exportVertex": "Please choose the column representing vertex IDs from the table",
- "exportEdge": "Please choose the columns representing source vertex ID, destination vertex ID, and rank of an edge",
- "deleteHistory": "Clear History",
- "cypherParam": "Cypher Parameter",
- "favorites": "Favorites",
- "addToFavorites": "Add to favorites",
- "unfavorite": "Unfavorite",
- "clearFavorites": "Clear Favorites",
- "graphviz": "Graphviz",
- "selectSpace": "Please select Graph Space"
+ 'console': {
+ 'execTime': 'Execution Time',
+ 'exportVertex': 'Please choose the column representing vertex IDs from the table',
+ 'exportEdge': 'Please choose the columns representing source vertex ID, destination vertex ID, and rank of an edge',
+ 'deleteHistory': 'Clear History',
+ 'cypherParam': 'Cypher Parameter',
+ 'favorites': 'Favorites',
+ 'addToFavorites': 'Add to favorites',
+ 'unfavorite': 'Unfavorite',
+ 'clearFavorites': 'Clear Favorites',
+ 'graphviz': 'Graphviz',
+ 'selectSpace': 'Please select Graph Space'
},
- "explore": {
- "vertexStyle": "Vertex Color",
- "notExist": "Not exist",
- "expandItem": "Expand",
- "collapseItem": "Collapse"
+ 'explore': {
+ 'vertexStyle': 'Vertex Color',
+ 'notExist': 'Not exist',
+ 'expandItem': 'Expand',
+ 'collapseItem': 'Collapse'
},
- "import": {
- "uploadFile": "Upload Files",
- "dataSourceManagement": "Data Source Management",
- "importData": "Import Data",
- "createTask": "New Import",
- "uploadTemp": "Import Template",
- "downloadConfig": "Download Config",
- "downloadLog": "Download Log",
- "viewLogs": "View Logs",
- "details": "Details",
- "task": "import task",
- "taskList": "Task List",
- "taskName": "Task Name",
- "tag": "Map Tags",
- "edge": "Map Edges",
- "runImport": "Import",
- "fileName": "File Name",
- "withHeader": "Header",
- "fileSize": "Size",
- "fileTitle": "File list",
- "bindDatasource": "Add source file",
- "endImport": "Stop Import",
- "prop": "Prop",
- "mapping": "CSV Index",
- "edgeText": "Edge",
- "choose": "Mapping",
- "ignore": "Ignore",
- "vertexText": "Vertex",
- "indexNotEmpty": "column index can't be null.",
- "enterPassword": `Please enter the ${window.gConfig.databaseName} account password to continue`,
- "isEmpty": "is empty",
- "startImporting": "Start importing",
- "stopImportingSuccess": "Stop import successfully.",
- "deleteSuccess": "Delete task successfully",
- "batchSize": "Batch Size",
- "importCompleted": "Import completed",
- "importStopped": "Import stopped",
- "importFailed": "Failed",
- "importRunning": "Running",
- "importPending": "Pending",
- "notImported": "{total} records not imported",
- "selectFile": "Select file",
- "addTag": "Add Tag",
- "addEdge": "Add Edge Type",
- "selectTag": "Select Tag",
- "selectEdge": "Select Edge Type",
- "config": "Task Config",
- "parseFailed": "File parsing failed",
- "uploadTemplate": "Drag & drop the YAML configuration file to this area",
- "uploadBoxTip": "The YAML configuration file is used to describe information about the files to be imported, the database server, and more. ",
- "fileUploadRequired": "1. Please make sure all CSV data files are uploaded before import the YAML file. If not, please go to ",
- "fileUploadRequired2": " first.",
- "exampleDownload": "2. An example for the configuration file: ",
- "uploadTemplateTip": "3. Configure the Yaml file: please keep only the file name (retain the file extension) for all file paths (path, logPath) in the template, e.g. logPath: config.csv",
- "reUpload": "Re-upload",
- "fileNotExist": "{name} file does not exist!",
- "importYaml": "Import the YAML file",
- "templateMatchError": "The user in the configuration does not match the current login account",
- "uploadSuccessfully": "Upload files successfully.",
- "fileSizeLimit": "{name} is too large and exceeds the upload limit({size}), please upload the file to the data/upload directory under the installation directory via scp",
- "noHttp": "The address in the configuration file does not support http protocol, please remove http(s)://",
- "addressMatch": "The address in the configuration file must contain the Graph address of current login connection. Separate multiple addresses with ",
- "dataSourceFile": "Data source file",
- "vidColumn": "VID column",
- "srcVidColumn": "Source VID column",
- "dstVidColumn": "Destination VID column",
- "vidFunction": "VID function",
- "vidPrefix": "VID prefix",
- "vidSuffix": "VID suffix",
- "concurrencyTip": `Number of ${window.gConfig.databaseName} client concurrency.`,
- "batchSizeTip": "The number of statements inserting data in a batch.",
- "retryTip": "Retry times of nGQL statement execution failures.",
- "vidFunctionTip": "Function to generate VID. Currently only hash functions are supported.",
- "vidPrefixTip": "prefix added to the original vid.",
- "vidSuffixTip": "suffix added to the original vid.",
- "selectCsvColumn": "Select CSV Index",
- "graphAddress": "Graph service address",
- "concurrency": "Concurrency",
- "retry": "Retry",
- "graphAddressTip": "The following Graph host will be used for data import",
- "currentHost": "Current connected host",
- "expandMoreConfig": "Expand more configurations",
- "pickUpConfig": "Pick up more configurations",
- "tagRequired": "Please select tag",
- "edgeRequired": "Please select edge type",
- "tagFileRequired": "Please add tag source file",
- "edgeFileRequired": "Please add edge source file",
- "tagFileSelect": "Please select tag source file",
- "edgeFileSelect": "Please select edge source file",
- "configDisplay": "These data files will be loaded",
- "loadToTag": "Load {file} to tag {name}",
- "loadToEdge": "Load {file} to edge type {name}",
- "importConfirm": "Import task confirm",
- "delimiter": "Delimiter",
- "previewFiles": "Preview file list",
- "sampleData": "Sample data",
- "hasHeader": "Has header",
- "noHeader": "No header",
- "enterDelimiter": "Enter delimiter",
- "applicateToAll": "Apply to all files",
- "deleteFiles": "Delete select files",
- "fileRepeatTip": "These files are already exists, continuing to upload will overwrite the original file",
- "filePreview": "Preview file {name}",
- "uploadConfirm": "Upload Confirm",
- "localFiles": "Local files",
- "s3": "Object Storage",
- "sftp": "SFTP",
- "newDataSource": "New Data Source",
- "editDataSource": "Edit Data Source",
- "deleteDataSource": "Delete Data Source",
- "datasourceList": "{type} list",
- "ipAddress": "IP Address:Port",
- "bucketName": "Bucket Name",
- "accessKeyId": "AccessKeyId",
- "region": "Region",
- "createTime": "Add Date",
- "endpoint": "Endpoint",
- "accessKeySecret": "AccessKeySecret",
- "dataSourceType": "Data Source Type",
- "selectPlatform": "Select platform",
- "enterAddress": "Enter endpoint",
- "enterRegion": "Enter region",
- "serverAddress": "Server Address",
- "port": "Port",
- "newDataSourceTip": "Please add the data source for the first time",
- "addNewImport": "Add New Import",
- "addNewImportTip": "After adding the data source, create an import task to import the data into the database",
- "start": "Start",
- "s3Tip": "Only support cloud services that compatible with the Amazon S3 interface",
- "readerConcurrency": "Reader concurrency",
- "readerConcurrencyTip": "The number of concurrent readers that read data from the data source",
- "importerConcurrency": "Importer concurrency",
- "importerConcurrencyTip": `The number of concurrent importers that import data into ${window.gConfig.databaseName}`,
- "selectDatasourceFile": "Select Data Source file",
- "datasourceType": "Data Source Type",
- "filePath": "File Path",
- "directory": "Directory",
- "preview": "Preview",
- "customize": "Customize",
- "s3Platform": "S3 compatible Service Provider",
- "account": "Account",
- "endpointTip": "Please use an endpoint without a bucket name in the domain name, e.g. {sample}",
- "awsTip": "https://s3.us-east-2.amazonaws.com",
- "ossTip": "https://oss-cn-hangzhou.aliyuncs.com",
- "cosTip": "https://cos.ap-shanghai.myqcloud.com",
- "customizeTip": "http://127.0.0.1:9000",
- "addressRequired": "Please enter the import address in the configuration file",
- "usernameRequired": "Please enter the username in the configuration file",
- "passwordRequired": "Please enter the password in the configuration file",
- "s3AccessKeyRequired": "Please enter the s3 accessKey in the configuration file",
- "s3SecretKeyRequired": "Please enter the s3 secretKey in the configuration file",
- "sftpUsernameRequired": "Please enter the sftp username in the configuration file",
- "sftpPasswordRequired": "Please enter the sftp password in the configuration file",
- "ossAccessKeyRequired": "Please enter the oss accessKey in the configuration file",
- "ossSecretKeyRequired": "Please enter the oss secretKey in the configuration file",
- "draft": "Draft",
- "saveDraft": "Save Draft",
- "modifyTime": "Modify time",
- "taskNameRequired": "Please enter the task name and select space",
- "fileMissing": "{files} does not exist, please re-upload the file",
- "datasourceMissing": "The related data source of {files} is not found, please re-add the related datasource and reconfigure the task"
+ 'import': {
+ 'uploadFile': 'Upload Files',
+ 'dataSourceManagement': 'Data Source Management',
+ 'importData': 'Import Data',
+ 'createTask': 'New Import',
+ 'uploadTemp': 'Import Template',
+ 'downloadConfig': 'Download Config',
+ 'downloadLog': 'Download Log',
+ 'viewLogs': 'View Logs',
+ 'details': 'Details',
+ 'task': 'import task',
+ 'taskList': 'Task List',
+ 'taskName': 'Task Name',
+ 'tag': 'Map Tags',
+ 'edge': 'Map Edges',
+ 'runImport': 'Import',
+ 'fileName': 'File Name',
+ 'withHeader': 'Header',
+ 'fileSize': 'Size',
+ 'fileTitle': 'File list',
+ 'bindDatasource': 'Add source file',
+ 'endImport': 'Stop Import',
+ 'prop': 'Prop',
+ 'mapping': 'CSV Index',
+ 'edgeText': 'Edge',
+ 'choose': 'Mapping',
+ 'ignore': 'Ignore',
+ 'vertexText': 'Vertex',
+ 'indexNotEmpty': 'column index can\'t be null.',
+ 'enterPassword': `Please enter the ${window.gConfig.databaseName} account password to continue`,
+ 'isEmpty': 'is empty',
+ 'startImporting': 'Start importing',
+ 'stopImportingSuccess': 'Stop import successfully.',
+ 'deleteSuccess': 'Delete task successfully',
+ 'batchSize': 'Batch Size',
+ 'importCompleted': 'Import completed',
+ 'importStopped': 'Import stopped',
+ 'importFailed': 'Failed',
+ 'importRunning': 'Running',
+ 'importPending': 'Pending',
+ 'notImported': '{total} records not imported',
+ 'selectFile': 'Select file',
+ 'addTag': 'Add Tag',
+ 'addEdge': 'Add Edge Type',
+ 'selectTag': 'Select Tag',
+ 'selectEdge': 'Select Edge Type',
+ 'config': 'Task Config',
+ 'parseFailed': 'File parsing failed',
+ 'uploadTemplate': 'Drag & drop the YAML configuration file to this area',
+ 'uploadBoxTip': 'The YAML configuration file is used to describe information about the files to be imported, the database server, and more. ',
+ 'fileUploadRequired': '1. Please make sure all CSV data files are uploaded before import the YAML file. If not, please go to ',
+ 'fileUploadRequired2': ' first.',
+ 'exampleDownload': '2. An example for the configuration file: ',
+ 'uploadTemplateTip': '3. Configure the Yaml file: please keep only the file name (retain the file extension) for all file paths (path, logPath) in the template, e.g. logPath: config.csv',
+ 'reUpload': 'Re-upload',
+ 'fileNotExist': '{name} file does not exist!',
+ 'importYaml': 'Import the YAML file',
+ 'templateMatchError': 'The user in the configuration does not match the current login account',
+ 'uploadSuccessfully': 'Upload files successfully.',
+ 'fileSizeLimit': '{name} is too large and exceeds the upload limit({size}), please upload the file to the data/upload directory under the installation directory via scp',
+ 'noHttp': 'The address in the configuration file does not support http protocol, please remove http(s)://',
+ 'addressMatch': 'The address in the configuration file must contain the Graph address of current login connection. Separate multiple addresses with ',
+ 'dataSourceFile': 'Data source file',
+ 'vidColumn': 'VID column',
+ 'srcVidColumn': 'Source VID column',
+ 'dstVidColumn': 'Destination VID column',
+ 'vidFunction': 'VID function',
+ 'vidPrefix': 'VID prefix',
+ 'vidSuffix': 'VID suffix',
+ 'concurrencyTip': `Number of ${window.gConfig.databaseName} client concurrency.`,
+ 'batchSizeTip': 'The number of statements inserting data in a batch.',
+ 'retryTip': 'Retry times of nGQL statement execution failures.',
+ 'vidFunctionTip': 'Function to generate VID. Currently only hash functions are supported.',
+ 'vidPrefixTip': 'prefix added to the original vid.',
+ 'vidSuffixTip': 'suffix added to the original vid.',
+ 'selectCsvColumn': 'Select CSV Index',
+ 'graphAddress': 'Graph service address',
+ 'concurrency': 'Concurrency',
+ 'retry': 'Retry',
+ 'graphAddressTip': 'The following Graph host will be used for data import',
+ 'currentHost': 'Current connected host',
+ 'expandMoreConfig': 'Expand more configurations',
+ 'pickUpConfig': 'Pick up more configurations',
+ 'tagRequired': 'Please select tag',
+ 'edgeRequired': 'Please select edge type',
+ 'tagFileRequired': 'Please add tag source file',
+ 'edgeFileRequired': 'Please add edge source file',
+ 'tagFileSelect': 'Please select tag source file',
+ 'edgeFileSelect': 'Please select edge source file',
+ 'configDisplay': 'These data files will be loaded',
+ 'loadToTag': 'Load {file} to tag {name}',
+ 'loadToEdge': 'Load {file} to edge type {name}',
+ 'importConfirm': 'Import task confirm',
+ 'delimiter': 'Delimiter',
+ 'previewFiles': 'Preview file list',
+ 'sampleData': 'Sample data',
+ 'hasHeader': 'Has header',
+ 'noHeader': 'No header',
+ 'enterDelimiter': 'Enter delimiter',
+ 'applicateToAll': 'Apply to all files',
+ 'deleteFiles': 'Delete select files',
+ 'fileRepeatTip': 'These files are already exists, continuing to upload will overwrite the original file',
+ 'filePreview': 'Preview file {name}',
+ 'uploadConfirm': 'Upload Confirm',
+ 'localFiles': 'Local files',
+ 's3': 'Object Storage',
+ 'sftp': 'SFTP',
+ 'newDataSource': 'New Data Source',
+ 'editDataSource': 'Edit Data Source',
+ 'deleteDataSource': 'Delete Data Source',
+ 'datasourceList': '{type} list',
+ 'ipAddress': 'IP Address:Port',
+ 'bucketName': 'Bucket Name',
+ 'accessKeyId': 'AccessKeyId',
+ 'region': 'Region',
+ 'createTime': 'Add Date',
+ 'endpoint': 'Endpoint',
+ 'accessKeySecret': 'AccessKeySecret',
+ 'dataSourceType': 'Data Source Type',
+ 'selectPlatform': 'Select platform',
+ 'enterAddress': 'Enter endpoint',
+ 'enterRegion': 'Enter region',
+ 'serverAddress': 'Server Address',
+ 'port': 'Port',
+ 'newDataSourceTip': 'Please add the data source for the first time',
+ 'addNewImport': 'Add New Import',
+ 'addNewImportTip': 'After adding the data source, create an import task to import the data into the database',
+ 'start': 'Start',
+ 's3Tip': 'Only support cloud services that compatible with the Amazon S3 interface',
+ 'readerConcurrency': 'Reader concurrency',
+ 'readerConcurrencyTip': 'The number of concurrent readers that read data from the data source',
+ 'importerConcurrency': 'Importer concurrency',
+ 'importerConcurrencyTip': `The number of concurrent importers that import data into ${window.gConfig.databaseName}`,
+ 'selectDatasourceFile': 'Select Data Source file',
+ 'datasourceType': 'Data Source Type',
+ 'filePath': 'File Path',
+ 'directory': 'Directory',
+ 'preview': 'Preview',
+ 'customize': 'Customize',
+ 's3Platform': 'S3 compatible Service Provider',
+ 'account': 'Account',
+ 'endpointTip': 'Please use an endpoint without a bucket name in the domain name, e.g. {sample}',
+ 'awsTip': 'https://s3.us-east-2.amazonaws.com',
+ 'ossTip': 'https://oss-cn-hangzhou.aliyuncs.com',
+ 'cosTip': 'https://cos.ap-shanghai.myqcloud.com',
+ 'customizeTip': 'http://127.0.0.1:9000',
+ 'addressRequired': 'Please enter the import address in the configuration file',
+ 'usernameRequired': 'Please enter the username in the configuration file',
+ 'passwordRequired': 'Please enter the password in the configuration file',
+ 's3AccessKeyRequired': 'Please enter the s3 accessKeyID in the configuration file',
+ 's3SecretKeyRequired': 'Please enter the s3 accessKeySecret in the configuration file',
+ 'sftpUsernameRequired': 'Please enter the sftp username in the configuration file',
+ 'sftpPasswordRequired': 'Please enter the sftp password in the configuration file',
+ 'ossAccessKeyRequired': 'Please enter the oss accessKeyID in the configuration file',
+ 'ossSecretKeyRequired': 'Please enter the oss accessKeySecret in the configuration file',
+ 'draft': 'Draft',
+ 'saveDraft': 'Save Draft',
+ 'modifyTime': 'Modify time',
+ 'taskNameRequired': 'Please enter the task name and select space',
+ 'fileMissing': '{files} does not exist, please re-upload the file',
+ 'datasourceMissing': 'The related data source of {files} is not found, please re-add the related datasource and reconfigure the task'
},
- "schema": {
- "spaceList": "Graph Space List",
- "useSpaceErrTip": "Space not found. Trying to use a newly created graph space may fail because the creation is implemented asynchronously. To make sure the follow-up operations work as expected, Wait for two heartbeat cycles, i.e., 20 seconds.",
- "createSuccess": "Create Successfully",
- "defineFields": "Define Properties",
- "uniqProperty": "Property name cannot be duplicated",
- "cancelOperation": "Do you want to close this panel",
- "cancelPropmt": "If you close the panel, the configuration will be deleted automatically. Are you sure that you want to close the panel?",
- "fieldDisabled": "A TTL configuration is set for this property, so it cannot be edited. If you want to edit this property, delete the TTL configuration.",
- "indexExist": "An index exists, so TTL configuration is not permitted. A tag or edge type cannot have both an index and TTL configuration.",
- "indexType": "Index Type",
- "indexName": "Index Name",
- "indexFields": "Indexed Properties",
- "associateName": "Associated {type} name",
- "dragSorting": "(Drag to Sort)",
- "selectFields": "Please choose a property",
- "indexedLength": "Please enter indexed length",
- "indexedLengthDescription": "Set the indexed string length. If you are indexing fixed strings, you must not set this option.",
- "indexedLengthRequired": "Indexed length must be a positive integer",
- "rebuild": "Rebuild",
- "createSpace": "Create Space",
- "No": "No",
- "spaceName": "Name",
- "partitionNumber": "Partition Number",
- "replicaFactor": "Replica Factor",
- "charset": "Charset",
- "collate": "Collate",
- "vidType": "Vid Type",
- "group": "Group",
- "comment": "Comment",
- "operations": "Operations",
- "spaceNameEnter": "Please enter the space name",
- "propertyCount": "Property Num",
- "configTypeList": "{type} List",
- "configTypeAction": "{action} {type}",
- "timestampFormat": "Supported data inserting methods: 1. call function now() 2. call function timestamp(), for example: timestamp('2021-07-05T06:18:43.984000') 3. Input the timestamp directly, namely the number of seconds from 1970-01-01 00:00:00",
- "dateFormat": "Supported data inserting methods: Call function date(), for example: date('2021-03-17')",
- "timeFormat": "Supported data inserting methods: Call function time(), for example: time('17:53:59')",
- "datetimeFormat": "Supported data inserting methods: Call function datetime(), for example: datetime('2021-03-17T17:53:59')",
- "geographyFormat": "Supported data inserting methods: Call function ST_GeogFromText(), for example:ST_GeogFromText('POINT(6 10)')",
- "geography(point)Format": "Supported data inserting methods: Call function ST_GeogFromText('POINT()'), for example:ST_GeogFromText('POINT(6 10)')",
- "geography(linestring)Format": "Supported data inserting methods: Call function ST_GeogFromText('LINESTRING()'), for example:ST_GeogFromText('LINESTRING(3 4,10 50,20 25)')",
- "geography(polygon)Format": "Supported data inserting methods: Call function ST_GeogFromText('POLYGON()'), for example:ST_GeogFromText('POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))')",
- "durationFormat": "Supported data inserting methods: Call function duration(