实现基本的框架
This commit is contained in:
parent
a8cde189e5
commit
68fc151950
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@ -9,5 +9,8 @@
|
|||||||
"dist": true // set this to false to include "dist" folder in search results
|
"dist": true // set this to false to include "dist" folder in search results
|
||||||
},
|
},
|
||||||
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
|
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
|
||||||
"typescript.tsc.autoDetect": "off"
|
"typescript.tsc.autoDetect": "off",
|
||||||
|
|
||||||
|
"i18n-haru.root": "app/src/i18n",
|
||||||
|
"i18n-haru.main": "zh"
|
||||||
}
|
}
|
||||||
|
@ -14,5 +14,6 @@ module.exports = {
|
|||||||
rules: {
|
rules: {
|
||||||
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
|
'vue/multi-word-component-names': 'off'
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
300
app/package-lock.json
generated
300
app/package-lock.json
generated
@ -9,7 +9,9 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"element-plus": "^2.9.7",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
|
"vue-i18n": "^11.1.2",
|
||||||
"vue-router": "^4.0.3"
|
"vue-router": "^4.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -1737,6 +1739,15 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@ctrl/tinycolor": {
|
||||||
|
"version": "3.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
|
||||||
|
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@discoveryjs/json-ext": {
|
"node_modules/@discoveryjs/json-ext": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.7",
|
||||||
"resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
|
"resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
|
||||||
@ -1747,6 +1758,15 @@
|
|||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@element-plus/icons-vue": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@eslint-community/eslint-utils": {
|
"node_modules/@eslint-community/eslint-utils": {
|
||||||
"version": "4.5.1",
|
"version": "4.5.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz",
|
"resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz",
|
||||||
@ -1836,6 +1856,31 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@floating-ui/core": {
|
||||||
|
"version": "1.6.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz",
|
||||||
|
"integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@floating-ui/utils": "^0.2.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@floating-ui/dom": {
|
||||||
|
"version": "1.6.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz",
|
||||||
|
"integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@floating-ui/core": "^1.6.0",
|
||||||
|
"@floating-ui/utils": "^0.2.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@floating-ui/utils": {
|
||||||
|
"version": "0.2.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz",
|
||||||
|
"integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@hapi/hoek": {
|
"node_modules/@hapi/hoek": {
|
||||||
"version": "9.3.0",
|
"version": "9.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||||
@ -1877,6 +1922,50 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-3-Clause"
|
"license": "BSD-3-Clause"
|
||||||
},
|
},
|
||||||
|
"node_modules/@intlify/core-base": {
|
||||||
|
"version": "11.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.2.tgz",
|
||||||
|
"integrity": "sha512-nmG512G8QOABsserleechwHGZxzKSAlggGf9hQX0nltvSwyKNVuB/4o6iFeG2OnjXK253r8p8eSDOZf8PgFdWw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@intlify/message-compiler": "11.1.2",
|
||||||
|
"@intlify/shared": "11.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/kazupon"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@intlify/message-compiler": {
|
||||||
|
"version": "11.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.2.tgz",
|
||||||
|
"integrity": "sha512-T/xbNDzi+Yv0Qn2Dfz2CWCAJiwNgU5d95EhhAEf4YmOgjCKktpfpiUSmLcBvK1CtLpPQ85AMMQk/2NCcXnNj1g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@intlify/shared": "11.1.2",
|
||||||
|
"source-map-js": "^1.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/kazupon"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@intlify/shared": {
|
||||||
|
"version": "11.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.2.tgz",
|
||||||
|
"integrity": "sha512-dF2iMMy8P9uKVHV/20LA1ulFLL+MKSbfMiixSmn6fpwqzvix38OIc7ebgnFbBqElvghZCW9ACtzKTGKsTGTWGA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/kazupon"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.8",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
@ -2005,6 +2094,17 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@popperjs/core": {
|
||||||
|
"name": "@sxzz/popperjs-es",
|
||||||
|
"version": "2.11.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
|
||||||
|
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/popperjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@sideway/address": {
|
"node_modules/@sideway/address": {
|
||||||
"version": "4.1.5",
|
"version": "4.1.5",
|
||||||
"resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
|
||||||
@ -2206,6 +2306,21 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/lodash": {
|
||||||
|
"version": "4.17.16",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz",
|
||||||
|
"integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@types/lodash-es": {
|
||||||
|
"version": "4.17.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
|
||||||
|
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/lodash": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/mime": {
|
"node_modules/@types/mime": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz",
|
||||||
@ -2325,6 +2440,12 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/web-bluetooth": {
|
||||||
|
"version": "0.0.16",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
|
||||||
|
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@types/webpack-env": {
|
"node_modules/@types/webpack-env": {
|
||||||
"version": "1.18.8",
|
"version": "1.18.8",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.8.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.8.tgz",
|
||||||
@ -3326,6 +3447,94 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@vueuse/core": {
|
||||||
|
"version": "9.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
|
||||||
|
"integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/web-bluetooth": "^0.0.16",
|
||||||
|
"@vueuse/metadata": "9.13.0",
|
||||||
|
"@vueuse/shared": "9.13.0",
|
||||||
|
"vue-demi": "*"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vueuse/core/node_modules/vue-demi": {
|
||||||
|
"version": "0.14.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
|
||||||
|
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"vue-demi-fix": "bin/vue-demi-fix.js",
|
||||||
|
"vue-demi-switch": "bin/vue-demi-switch.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@vue/composition-api": "^1.0.0-rc.1",
|
||||||
|
"vue": "^3.0.0-0 || ^2.6.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@vue/composition-api": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vueuse/metadata": {
|
||||||
|
"version": "9.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
|
||||||
|
"integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vueuse/shared": {
|
||||||
|
"version": "9.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
|
||||||
|
"integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"vue-demi": "*"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vueuse/shared/node_modules/vue-demi": {
|
||||||
|
"version": "0.14.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
|
||||||
|
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"vue-demi-fix": "bin/vue-demi-fix.js",
|
||||||
|
"vue-demi-switch": "bin/vue-demi-switch.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/antfu"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@vue/composition-api": "^1.0.0-rc.1",
|
||||||
|
"vue": "^3.0.0-0 || ^2.6.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@vue/composition-api": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@webassemblyjs/ast": {
|
"node_modules/@webassemblyjs/ast": {
|
||||||
"version": "1.14.1",
|
"version": "1.14.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz",
|
"resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz",
|
||||||
@ -3785,6 +3994,12 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/async-validator": {
|
||||||
|
"version": "4.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
|
||||||
|
"integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/at-least-node": {
|
"node_modules/at-least-node": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz",
|
||||||
@ -5091,6 +5306,12 @@
|
|||||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/dayjs": {
|
||||||
|
"version": "1.11.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||||
|
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/debounce": {
|
"node_modules/debounce": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmmirror.com/debounce/-/debounce-1.2.1.tgz",
|
"resolved": "https://registry.npmmirror.com/debounce/-/debounce-1.2.1.tgz",
|
||||||
@ -5552,6 +5773,32 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/element-plus": {
|
||||||
|
"version": "2.9.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.7.tgz",
|
||||||
|
"integrity": "sha512-6vjZh5SXBncLhUwJGTVKS5oDljfgGMh6J4zVTeAZK3YdMUN76FgpvHkwwFXocpJpMbii6rDYU3sgie64FyPerQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@ctrl/tinycolor": "^3.4.1",
|
||||||
|
"@element-plus/icons-vue": "^2.3.1",
|
||||||
|
"@floating-ui/dom": "^1.0.1",
|
||||||
|
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
|
||||||
|
"@types/lodash": "^4.14.182",
|
||||||
|
"@types/lodash-es": "^4.17.6",
|
||||||
|
"@vueuse/core": "^9.1.0",
|
||||||
|
"async-validator": "^4.2.5",
|
||||||
|
"dayjs": "^1.11.13",
|
||||||
|
"escape-html": "^1.0.3",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
"lodash-unified": "^1.0.2",
|
||||||
|
"memoize-one": "^6.0.0",
|
||||||
|
"normalize-wheel-es": "^1.2.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/emoji-regex": {
|
"node_modules/emoji-regex": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
@ -5713,7 +5960,6 @@
|
|||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
|
"resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
|
||||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/escape-string-regexp": {
|
"node_modules/escape-string-regexp": {
|
||||||
@ -8070,9 +8316,25 @@
|
|||||||
"version": "4.17.21",
|
"version": "4.17.21",
|
||||||
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
|
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
|
||||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash-es": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/lodash-unified": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/lodash-es": "*",
|
||||||
|
"lodash": "*",
|
||||||
|
"lodash-es": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/lodash.debounce": {
|
"node_modules/lodash.debounce": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
||||||
@ -8374,6 +8636,12 @@
|
|||||||
"node": ">= 4.0.0"
|
"node": ">= 4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/memoize-one": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/merge-descriptors": {
|
"node_modules/merge-descriptors": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
"resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
||||||
@ -8830,6 +9098,12 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/normalize-wheel-es": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==",
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/npm-run-path": {
|
"node_modules/npm-run-path": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||||
@ -11733,7 +12007,7 @@
|
|||||||
"version": "4.5.5",
|
"version": "4.5.5",
|
||||||
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz",
|
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz",
|
||||||
"integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
|
"integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@ -12028,6 +12302,26 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/vue-i18n": {
|
||||||
|
"version": "11.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.2.tgz",
|
||||||
|
"integrity": "sha512-MfdkdKGUHN+jkkaMT5Zbl4FpRmN7kfelJIwKoUpJ32ONIxdFhzxZiLTVaAXkAwvH3y9GmWpoiwjDqbPIkPIMFA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@intlify/core-base": "11.1.2",
|
||||||
|
"@intlify/shared": "11.1.2",
|
||||||
|
"@vue/devtools-api": "^6.5.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/kazupon"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue-loader": {
|
"node_modules/vue-loader": {
|
||||||
"version": "17.4.2",
|
"version": "17.4.2",
|
||||||
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.4.2.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.4.2.tgz",
|
||||||
|
@ -9,7 +9,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"element-plus": "^2.9.7",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
|
"vue-i18n": "^11.1.2",
|
||||||
"vue-router": "^4.0.3"
|
"vue-router": "^4.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: "iconfont"; /* Project id 4870215 */
|
font-family: "iconfont"; /* Project id 4870215 */
|
||||||
src: url('iconfont.woff2?t=1742888965630') format('woff2'),
|
src: url('iconfont.woff2?t=1742911403305') format('woff2'),
|
||||||
url('iconfont.woff?t=1742888965630') format('woff'),
|
url('iconfont.woff?t=1742911403305') format('woff'),
|
||||||
url('iconfont.ttf?t=1742888965630') format('truetype');
|
url('iconfont.ttf?t=1742911403305') format('truetype');
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconfont {
|
.iconfont {
|
||||||
@ -13,8 +13,28 @@
|
|||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon-debug:before {
|
||||||
|
content: "\e76d";
|
||||||
|
}
|
||||||
|
|
||||||
.icon-plugin:before {
|
.icon-plugin:before {
|
||||||
content: "\f2e1";
|
content: "\e63e";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-about:before {
|
||||||
|
content: "\e6e5";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-setting:before {
|
||||||
|
content: "\e610";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-send:before {
|
||||||
|
content: "\e888";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-robot:before {
|
||||||
|
content: "\e8e8";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-play:before {
|
.icon-play:before {
|
||||||
|
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
--signal-default-color: #4CAF50;
|
--signal-default-color: #4CAF50;
|
||||||
--main-color: #CB81DA;
|
--main-color: #CB81DA;
|
||||||
--main-dark-color: #2D323B;
|
--main-dark-color: #2D323B;
|
||||||
--main-light-color: var(--main-color);
|
--main-light-color: rgba(203, 129, 218, 0.7);
|
||||||
--sidebar-width: 330px;
|
--sidebar-width: 330px;
|
||||||
--right-nav-width: 50px;
|
--right-nav-width: 50px;
|
||||||
--time-scale-height: 30px;
|
--time-scale-height: 30px;
|
||||||
|
9
app/public/protocol.svg
Normal file
9
app/public/protocol.svg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg t="1742640634061" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" p-id="1503" data-darkreader-inline-fill=""
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
||||||
|
<path
|
||||||
|
d="M768 854.016h-170.016L768 170.016h170.016L768 854.016zM682.016 170.016H512l-170.016 684H512l170.016-684zM86.016 704q0 44 31.008 75.008t75.008 31.008 75.008-31.008T298.048 704t-31.008-75.008-75.008-31.008-75.008 31.008T86.016 704z m0-297.984q0 44 31.008 75.008t75.008 31.008 75.008-31.008 31.008-75.008-31.008-76-75.008-32-75.008 32-31.008 76z"
|
||||||
|
p-id="1504" fill="#CB81DA"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 759 B |
@ -1,11 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<nav>
|
<div class="main">
|
||||||
<router-link to="/">Home</router-link> |
|
<Sidebar></Sidebar>
|
||||||
<router-link to="/about">About</router-link>
|
<MainPanel></MainPanel>
|
||||||
</nav>
|
</div>
|
||||||
<router-view />
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
<script setup lang="ts">
|
||||||
|
import { onMounted } from 'vue';
|
||||||
|
import { Connection } from './components/sidebar/sidebar';
|
||||||
|
|
||||||
|
import Sidebar from '@/components/sidebar/index.vue';
|
||||||
|
import MainPanel from '@/components/main-panel/index.vue';
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
document.addEventListener('click', () => {
|
||||||
|
Connection.showPanel = false;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.main {
|
||||||
|
height: calc(100vh - 50px);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="hello">
|
|
||||||
<h1>{{ msg }}</h1>
|
|
||||||
<p>
|
|
||||||
For a guide and recipes on how to configure / customize this project,<br />
|
|
||||||
check out the
|
|
||||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener"
|
|
||||||
>vue-cli documentation</a
|
|
||||||
>.
|
|
||||||
</p>
|
|
||||||
<h3>Installed CLI Plugins</h3>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>babel</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>router</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>eslint</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>typescript</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Essential Links</h3>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://forum.vuejs.org" target="_blank" rel="noopener"
|
|
||||||
>Forum</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://chat.vuejs.org" target="_blank" rel="noopener"
|
|
||||||
>Community Chat</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://twitter.com/vuejs" target="_blank" rel="noopener"
|
|
||||||
>Twitter</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Ecosystem</h3>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="https://router.vuejs.org" target="_blank" rel="noopener"
|
|
||||||
>vue-router</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/vue-devtools#vue-devtools"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>vue-devtools</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener"
|
|
||||||
>vue-loader</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href="https://github.com/vuejs/awesome-vue"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>awesome-vue</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
import { defineComponent } from "vue";
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: "HelloWorld",
|
|
||||||
props: {
|
|
||||||
msg: String,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style scoped>
|
|
||||||
h3 {
|
|
||||||
margin: 40px 0 0;
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #42b983;
|
|
||||||
}
|
|
||||||
</style>
|
|
64
app/src/components/main-panel/index.vue
Normal file
64
app/src/components/main-panel/index.vue
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-panel-container">
|
||||||
|
<div class="tabs-container">
|
||||||
|
<span
|
||||||
|
class="tab"
|
||||||
|
v-for="(_, index) of tabs.content"
|
||||||
|
:key="index"
|
||||||
|
></span>
|
||||||
|
<span class="add-button"
|
||||||
|
@click="addNewTab"
|
||||||
|
></span>
|
||||||
|
</div>
|
||||||
|
<div class="main-panel">
|
||||||
|
<router-view />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { addNewTab, tabs } from './panel';
|
||||||
|
|
||||||
|
defineComponent({ name: 'main-panel' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.main-panel-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-panel {
|
||||||
|
background-color: var(--sidebar);
|
||||||
|
border-radius: 1.2em;
|
||||||
|
width: 100%;
|
||||||
|
height: 95%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-container {
|
||||||
|
height: 78px;
|
||||||
|
width: 90%;
|
||||||
|
background-color: var(--background);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-container .tab {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-container .add-button {
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
border-radius: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
11
app/src/components/main-panel/panel.ts
Normal file
11
app/src/components/main-panel/panel.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { reactive } from 'vue';
|
||||||
|
|
||||||
|
export const tabs = reactive({
|
||||||
|
content: [],
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
export function addNewTab() {
|
||||||
|
console.log();
|
||||||
|
|
||||||
|
}
|
12
app/src/components/not-connected/index.vue
Normal file
12
app/src/components/not-connected/index.vue
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'not-connected' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
83
app/src/components/sidebar/connected.vue
Normal file
83
app/src/components/sidebar/connected.vue
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
<template>
|
||||||
|
<div class="connected-status-container"
|
||||||
|
@click.stop="toggleConnectionPanel()"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="status-circle"
|
||||||
|
:class="statusColorStyle"
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
<span class="status-string">{{ statusString }}</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent, computed } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
import { Connection } from './sidebar';
|
||||||
|
|
||||||
|
defineComponent({ name: 'connected' });
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
const statusString = computed(() => {
|
||||||
|
if (Connection.connected) {
|
||||||
|
return t('connected');
|
||||||
|
} else {
|
||||||
|
return t('disconnected');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const statusColorStyle = computed(() => {
|
||||||
|
if (Connection.connected) {
|
||||||
|
return 'connected-color';
|
||||||
|
} else {
|
||||||
|
return 'disconnected-color';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function toggleConnectionPanel() {
|
||||||
|
Connection.showPanel = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.connected-color {
|
||||||
|
background-color: #21DA49;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disconnected-color {
|
||||||
|
background-color: var(--main-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-circle {
|
||||||
|
height: 12px;
|
||||||
|
width: 12px;
|
||||||
|
margin-right: 10px;
|
||||||
|
border-radius: 99%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.extra-connect-container {
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.connected-status-container {
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.connected-status-container:hover .status-string {
|
||||||
|
color: var(--main-color);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
43
app/src/components/sidebar/index.vue
Normal file
43
app/src/components/sidebar/index.vue
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<template>
|
||||||
|
<div class="sidebar-container">
|
||||||
|
<div>
|
||||||
|
<McpTitle></McpTitle>
|
||||||
|
<hr>
|
||||||
|
<br>
|
||||||
|
<SidebarItemContainer></SidebarItemContainer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Connected></Connected>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { sidebarItems } from './sidebar';
|
||||||
|
|
||||||
|
import McpTitle from './mcp-title.vue';
|
||||||
|
import SidebarItemContainer from './sidebar-item-container.vue';
|
||||||
|
import Connected from './connected.vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'sidebar' });
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.sidebar-container {
|
||||||
|
width: 300px;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-container > hr {
|
||||||
|
height: 1px;
|
||||||
|
width: 90%;
|
||||||
|
fill: var(--main-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
30
app/src/components/sidebar/mcp-title.vue
Normal file
30
app/src/components/sidebar/mcp-title.vue
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<template>
|
||||||
|
<div class="mcp-title">
|
||||||
|
<img src="/protocol.svg" alt="">
|
||||||
|
<div>OpenMCP</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'mcp-title' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.mcp-title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mcp-title > img {
|
||||||
|
height: 48px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mcp-title > div {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
70
app/src/components/sidebar/sidebar-item-container.vue
Normal file
70
app/src/components/sidebar/sidebar-item-container.vue
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<template>
|
||||||
|
<div class="sidebar-item-container">
|
||||||
|
<div
|
||||||
|
class="sidebar-option-item"
|
||||||
|
:class="{'active': isActive(item.ident)}"
|
||||||
|
v-for="(item, index) of sidebarItems"
|
||||||
|
:key="index"
|
||||||
|
@click="gotoOption(item.ident)"
|
||||||
|
>
|
||||||
|
<span :class="`iconfont ${item.icon}`"></span>
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
import { sidebarItems } from './sidebar';
|
||||||
|
|
||||||
|
defineComponent({ name: 'sidebar-item-container' });
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
function isActive(name: string) {
|
||||||
|
return route.name === name;
|
||||||
|
}
|
||||||
|
|
||||||
|
function gotoOption(ident: string) {
|
||||||
|
console.log(router);
|
||||||
|
|
||||||
|
router.push('/' + ident);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.sidebar-item-container {
|
||||||
|
display: contents;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-option-item {
|
||||||
|
margin: 7px;
|
||||||
|
height: 32px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px 12px;
|
||||||
|
border-radius: 16px;
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid var(--background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-option-item:hover {
|
||||||
|
border: 1px solid var(--main-color);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-option-item .iconfont {
|
||||||
|
margin-right: 5px;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-option-item.active {
|
||||||
|
background-color: var(--main-light-color);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
33
app/src/components/sidebar/sidebar.ts
Normal file
33
app/src/components/sidebar/sidebar.ts
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import { reactive } from 'vue';
|
||||||
|
|
||||||
|
import I18n from '@/i18n';
|
||||||
|
|
||||||
|
const { t } = I18n.global;
|
||||||
|
|
||||||
|
export const sidebarItems = reactive([
|
||||||
|
{
|
||||||
|
icon: 'icon-debug',
|
||||||
|
name: t('debug'),
|
||||||
|
ident: 'debug'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-plugin',
|
||||||
|
name: t('connect'),
|
||||||
|
ident: 'connect'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-setting',
|
||||||
|
name: t('setting'),
|
||||||
|
ident: 'setting'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-about',
|
||||||
|
name: t('about'),
|
||||||
|
ident: 'about'
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const Connection = reactive({
|
||||||
|
connected: false,
|
||||||
|
showPanel: false
|
||||||
|
});
|
110
app/src/i18n/ar.json
Normal file
110
app/src/i18n/ar.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "وحدة",
|
||||||
|
"signal": "إشارة",
|
||||||
|
"search-signal": "البحث عن إشارة",
|
||||||
|
"language-setting": "اللغة",
|
||||||
|
"horizontal-scaling-ratio": "سرعة التكبير الأفقي",
|
||||||
|
"horizontal-scaling-ratio-description": "هناك 5 مستويات، كلما ارتفع المستوى،<br/>كلما زاد معدل التكبير باستخدام ctrl + عجلة الماوس",
|
||||||
|
"horizontal-roll-ratio": "سرعة التمرير الأفقي",
|
||||||
|
"horizontal-roll-ratio-description": "هناك 5 مستويات، كلما ارتفع المستوى،<br/>كلما زاد خطوة التمرير الأفقي لمحور الوقت للموجة",
|
||||||
|
"vertical-roll-ratio": "سرعة التمرير العمودي",
|
||||||
|
"vertical-roll-ratio-description": "هناك 5 مستويات، كلما ارتفع المستوى،<br/>كلما زاد خطوة التمرير العمودي لمحور الوقت للموجة",
|
||||||
|
"search-setting": "البحث",
|
||||||
|
"search-case-sensitivity": "حساسية الحالة",
|
||||||
|
"search-mode": "وضع البحث",
|
||||||
|
"search-scope": "نطاق البحث",
|
||||||
|
"search-display-parent-only": "عرض الوحدة الرئيسية فقط",
|
||||||
|
"search-nothing": "لم يتم العثور على أي إشارات",
|
||||||
|
"signal-only": "إشارة فقط",
|
||||||
|
"module-only": "وحدة فقط",
|
||||||
|
"signal-module": "إشارة + وحدة",
|
||||||
|
"general-setting": "عام",
|
||||||
|
"appearance-setting": "المظهر",
|
||||||
|
"display-wave-height": "ارتفاع مسار الموجة",
|
||||||
|
"display-signal-info-scope": "معلومات العرض في الشريط الجانبي",
|
||||||
|
"display-signal-info-scope.width": "عرض البت",
|
||||||
|
"display-signal-info-scope.parent": "اسم الوحدة الرئيسية",
|
||||||
|
"wavecolor": "لون الموجة الافتراضي",
|
||||||
|
"wavecolor.normal-bit": "موجة بعرض وحدة",
|
||||||
|
"wavecolor.normal-vec": "موجة بعرض متعدد البتات",
|
||||||
|
"wavecolor.high-impedance": "موجة عالية المقاومة",
|
||||||
|
"wavecolor.unknown": "موجة بحالة غير معروفة",
|
||||||
|
"operation-setting": "العمليات",
|
||||||
|
"render-setting": "العرض",
|
||||||
|
"prerender": "العرض المسبق",
|
||||||
|
"prerender-description": "العرض المسبق يزيد من سرعة العرض ولكنه يستهلك ذاكرة إضافية<br/>إذا كانت ذاكرة الكمبيوتر الخاص بك أكبر من 10 جيجابايت، نوصي بتفعيله.",
|
||||||
|
"render-animation": "تفعيل الرسوم المتحركة للعرض",
|
||||||
|
"usermanual": "دليل المستخدم",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "التحرك لأعلى ولأسفل",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "التحرك لليسار ولليمين",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "التكبير الأفقي",
|
||||||
|
"loading": "جاري التحميل",
|
||||||
|
"context-menu.create-group": "إنشاء مجموعة جديدة",
|
||||||
|
"context-menu.join-group": "الانضمام إلى مجموعة موجودة",
|
||||||
|
"context-menu.change-color": "تغيير اللون",
|
||||||
|
"context-menu.delete": "حذف الإشارة",
|
||||||
|
"context-menu.delete-all-select": "حذف جميع الإشارات المحددة",
|
||||||
|
"context-menu.signal.name": "اسم الإشارة",
|
||||||
|
"context-menu.signal.type": "نوع الإشارة",
|
||||||
|
"context-menu.signal.width": "عرض الإشارة",
|
||||||
|
"context-menu.signal.dep": "التبعيات",
|
||||||
|
"context-menu.group.cancel": "إلغاء التجميع",
|
||||||
|
"context-menu.group.delete": "حذف المجموعة",
|
||||||
|
"context-menu.group.empty": "لا توجد مجموعات متاحة",
|
||||||
|
"context-menu.group.uname-group": "مجموعة بدون اسم",
|
||||||
|
"toolbar.modal.common-digital": "رقمي",
|
||||||
|
"toolbar.modal.ladder-analog": "تناظري (سلم)",
|
||||||
|
"toolbar.modal.line-analog": "تناظري (خط)",
|
||||||
|
"toolbar.search.name": "الاسم",
|
||||||
|
"toolbar.search.value": "القيمة",
|
||||||
|
"toolbar.format.category.base": "أساسي",
|
||||||
|
"toolbar.format.category.dec": "عشري",
|
||||||
|
"toolbar.format.category.float": "فاصلة عائمة",
|
||||||
|
"toolbar.format.signed": "موقع",
|
||||||
|
"toolbar.format.unsigned": "غير موقع",
|
||||||
|
"toolbar.format.half": "نصف دقة (16 بت)",
|
||||||
|
"toolbar.format.float": "دقة واحدة (32 بت)",
|
||||||
|
"toolbar.format.double": "دقة مزدوجة (64 بت)",
|
||||||
|
"toolbar.location.to-begin": "الانتقال إلى البداية",
|
||||||
|
"toolbar.location.to-end": "الانتقال إلى النهاية",
|
||||||
|
"toolbar.location.to-next-change": "الانتقال إلى التغيير التالي",
|
||||||
|
"toolbar.location.to-prev-change": "الانتقال إلى التغيير السابق",
|
||||||
|
"toolbar.location.make-location": "إنشاء علامة جديدة",
|
||||||
|
"toolbar.location.clear-location": "مسح جميع العلامات",
|
||||||
|
"toolbar.location.clear-location-dialog": "هل أنت متأكد أنك تريد مسح جميع العلامات؟",
|
||||||
|
"context-menu.cannot-join-repeat-group": "الإشارة الحالية موجودة بالفعل في هذه المجموعة",
|
||||||
|
"toolbar.no-result": "لا توجد نتائج",
|
||||||
|
"toolbar.search.value.already-to-head": "بالفعل في البداية",
|
||||||
|
"toolbar.search.value.already-to-tail": "بالفعل في النهاية",
|
||||||
|
"toolbar.search.value.searching": "جاري البحث",
|
||||||
|
"pivot.context.delete": "حذف العلامة",
|
||||||
|
"pivot.context.display-axis": "إنشاء محور نسبي",
|
||||||
|
"pivot.context.cancel-axis": "إلغاء المحور النسبي",
|
||||||
|
"setting.appearance.pivot-color": "لون العلامة",
|
||||||
|
"setting.appearance.moving-pivot": "علامة متحركة",
|
||||||
|
"setting.appearance.user-pivot": "علامة المستخدم",
|
||||||
|
"setting.appearance.system-pivot": "علامة النظام",
|
||||||
|
"confirm": "تأكيد",
|
||||||
|
"cancel": "إلغاء",
|
||||||
|
"tips": "نصائح",
|
||||||
|
"filemenu.save-view": "حفظ ملف العرض",
|
||||||
|
"filemenu.save-as-view": "حفظ العرض كملف",
|
||||||
|
"filemenu.load-view": "تحميل ملف العرض",
|
||||||
|
"filemenu.auto-save": "الحفظ التلقائي",
|
||||||
|
"current-version": "الإصدار الحالي",
|
||||||
|
"copyright": "حقوق النشر مملوكة لفريق مشروع <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>، نرحب بـ <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>.",
|
||||||
|
"setting.language.change-dialog": "لقد قمت بتغيير اللغة إلى {0}، ونوصي بإعادة تشغيل Vcd Viewer.",
|
||||||
|
"resources": "الموارد",
|
||||||
|
"tools": "أدوات",
|
||||||
|
"prompts": "المطالبات",
|
||||||
|
"interaction-test": "اختبار تفاعلي",
|
||||||
|
"setting": "إعدادات",
|
||||||
|
"about": "نبذة عنا",
|
||||||
|
"connected": "متصل",
|
||||||
|
"disconnected": "غير متصل",
|
||||||
|
"debug": "تصحيح",
|
||||||
|
"connect": "اتصال"
|
||||||
|
}
|
110
app/src/i18n/de.json
Normal file
110
app/src/i18n/de.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "Modul",
|
||||||
|
"signal": "Signal",
|
||||||
|
"search-signal": "Signal suchen",
|
||||||
|
"language-setting": "Sprache",
|
||||||
|
"horizontal-scaling-ratio": "Horizontale Skalierungsgeschwindigkeit",
|
||||||
|
"horizontal-scaling-ratio-description": "Es gibt 5 Stufen, je höher die Stufe, desto höher die<br/>Vergrößerungsrate bei Strg + Mausrad",
|
||||||
|
"horizontal-roll-ratio": "Horizontale Scrollgeschwindigkeit",
|
||||||
|
"horizontal-roll-ratio-description": "Es gibt 5 Stufen, je höher die Stufe, desto größer der<br/>Schritt beim Scrollen der Wellenformzeitachse nach links und rechts",
|
||||||
|
"vertical-roll-ratio": "Vertikale Scrollgeschwindigkeit",
|
||||||
|
"vertical-roll-ratio-description": "Es gibt 5 Stufen, je höher die Stufe, desto größer der<br/>Schritt beim Scrollen der Wellenformzeitachse nach oben und unten",
|
||||||
|
"search-setting": "Suche",
|
||||||
|
"search-case-sensitivity": "Groß- und Kleinschreibung beachten",
|
||||||
|
"search-mode": "Suchmodus",
|
||||||
|
"search-scope": "Suchbereich",
|
||||||
|
"search-display-parent-only": "Nur übergeordnetes Modul anzeigen",
|
||||||
|
"search-nothing": "Keine Signale gefunden",
|
||||||
|
"signal-only": "Nur Signal",
|
||||||
|
"module-only": "Nur Modul",
|
||||||
|
"signal-module": "Signal + Modul",
|
||||||
|
"general-setting": "Allgemein",
|
||||||
|
"appearance-setting": "Aussehen",
|
||||||
|
"display-wave-height": "Höhe der Wellenformspur",
|
||||||
|
"display-signal-info-scope": "Informationen in der Seitenleiste anzeigen",
|
||||||
|
"display-signal-info-scope.width": "Bitbreite",
|
||||||
|
"display-signal-info-scope.parent": "Name des übergeordneten Moduls",
|
||||||
|
"wavecolor": "Standardwellenformfarbe",
|
||||||
|
"wavecolor.normal-bit": "Einzelbitwellenform",
|
||||||
|
"wavecolor.normal-vec": "Mehrfachbitwellenform",
|
||||||
|
"wavecolor.high-impedance": "Hohes Impedanzwellenform",
|
||||||
|
"wavecolor.unknown": "Unbekannte Zustandswellenform",
|
||||||
|
"operation-setting": "Operation",
|
||||||
|
"render-setting": "Rendering",
|
||||||
|
"prerender": "Vorrendern",
|
||||||
|
"prerender-description": "Vorrendern beschleunigt das Rendering, verbraucht jedoch zusätzlichen Speicher<br/>Wenn Ihr Computer über 10 GB Speicher verfügt, empfehlen wir es zu aktivieren.",
|
||||||
|
"render-animation": "Rendering-Animation aktivieren",
|
||||||
|
"usermanual": "Benutzerhandbuch",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "Nach oben und unten bewegen",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "Nach links und rechts bewegen",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "Horizontal skalieren",
|
||||||
|
"loading": "Laden",
|
||||||
|
"context-menu.create-group": "Neue Gruppe erstellen",
|
||||||
|
"context-menu.join-group": "Einer bestehenden Gruppe beitreten",
|
||||||
|
"context-menu.change-color": "Farbe ändern",
|
||||||
|
"context-menu.delete": "Signal löschen",
|
||||||
|
"context-menu.delete-all-select": "Alle ausgewählten Signale löschen",
|
||||||
|
"context-menu.signal.name": "Signalname",
|
||||||
|
"context-menu.signal.type": "Signaltyp",
|
||||||
|
"context-menu.signal.width": "Signalbreite",
|
||||||
|
"context-menu.signal.dep": "Abhängigkeiten",
|
||||||
|
"context-menu.group.cancel": "Gruppierung abbrechen",
|
||||||
|
"context-menu.group.delete": "Gruppe löschen",
|
||||||
|
"context-menu.group.empty": "Keine verfügbaren Gruppen",
|
||||||
|
"context-menu.group.uname-group": "Unbenannte Gruppe",
|
||||||
|
"toolbar.modal.common-digital": "Digital",
|
||||||
|
"toolbar.modal.ladder-analog": "Analog (Treppe)",
|
||||||
|
"toolbar.modal.line-analog": "Analog (Linie)",
|
||||||
|
"toolbar.search.name": "Name",
|
||||||
|
"toolbar.search.value": "Wert",
|
||||||
|
"toolbar.format.category.base": "Basis",
|
||||||
|
"toolbar.format.category.dec": "Dezimal",
|
||||||
|
"toolbar.format.category.float": "Fließkomma",
|
||||||
|
"toolbar.format.signed": "Vorzeichenbehaftet",
|
||||||
|
"toolbar.format.unsigned": "Vorzeichenlos",
|
||||||
|
"toolbar.format.half": "Halbgenau (16 Bit)",
|
||||||
|
"toolbar.format.float": "Einfach genau (32 Bit)",
|
||||||
|
"toolbar.format.double": "Doppelt genau (64 Bit)",
|
||||||
|
"toolbar.location.to-begin": "Zum Anfang bewegen",
|
||||||
|
"toolbar.location.to-end": "Zum Ende bewegen",
|
||||||
|
"toolbar.location.to-next-change": "Zum nächsten Änderungspunkt bewegen",
|
||||||
|
"toolbar.location.to-prev-change": "Zum vorherigen Änderungspunkt bewegen",
|
||||||
|
"toolbar.location.make-location": "Neuen Ankerpunkt erstellen",
|
||||||
|
"toolbar.location.clear-location": "Alle Ankerpunkte löschen",
|
||||||
|
"toolbar.location.clear-location-dialog": "Sind Sie sicher, dass Sie alle Ankerpunkte löschen möchten?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "Das aktuelle Signal ist bereits in dieser Gruppe",
|
||||||
|
"toolbar.no-result": "Kein Ergebnis",
|
||||||
|
"toolbar.search.value.already-to-head": "Bereits am Anfang",
|
||||||
|
"toolbar.search.value.already-to-tail": "Bereits am Ende",
|
||||||
|
"toolbar.search.value.searching": "Suche läuft",
|
||||||
|
"pivot.context.delete": "Ankerpunkt löschen",
|
||||||
|
"pivot.context.display-axis": "Relative Achse erstellen",
|
||||||
|
"pivot.context.cancel-axis": "Relative Achse abbrechen",
|
||||||
|
"setting.appearance.pivot-color": "Ankerpunktfarbe",
|
||||||
|
"setting.appearance.moving-pivot": "Beweglicher Ankerpunkt",
|
||||||
|
"setting.appearance.user-pivot": "Benutzerankerpunkt",
|
||||||
|
"setting.appearance.system-pivot": "Systemankerpunkt",
|
||||||
|
"confirm": "Bestätigen",
|
||||||
|
"cancel": "Abbrechen",
|
||||||
|
"tips": "Tipps",
|
||||||
|
"filemenu.save-view": "Ansicht speichern",
|
||||||
|
"filemenu.save-as-view": "Ansicht speichern unter",
|
||||||
|
"filemenu.load-view": "Ansicht laden",
|
||||||
|
"filemenu.auto-save": "Automatisches Speichern",
|
||||||
|
"current-version": "Aktuelle Version",
|
||||||
|
"copyright": "Dieses Software gehört dem <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> Projektteam, willkommen <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>.",
|
||||||
|
"setting.language.change-dialog": "Sie haben die Sprache auf {0} geändert. Wir empfehlen Ihnen, Vcd Viewer neu zu starten.",
|
||||||
|
"resources": "Ressourcen",
|
||||||
|
"tools": "Werkzeuge",
|
||||||
|
"prompts": "Eingabeaufforderungen",
|
||||||
|
"interaction-test": "Interaktiver Test",
|
||||||
|
"setting": "Einstellungen",
|
||||||
|
"about": "Über",
|
||||||
|
"connected": "Verbunden",
|
||||||
|
"disconnected": "Getrennt",
|
||||||
|
"debug": "Debuggen",
|
||||||
|
"connect": "Verbinden"
|
||||||
|
}
|
110
app/src/i18n/en.json
Normal file
110
app/src/i18n/en.json
Normal file
File diff suppressed because one or more lines are too long
110
app/src/i18n/fr.json
Normal file
110
app/src/i18n/fr.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "Module",
|
||||||
|
"signal": "Signal",
|
||||||
|
"search-signal": "Rechercher un signal",
|
||||||
|
"language-setting": "Langue",
|
||||||
|
"horizontal-scaling-ratio": "Vitesse de zoom horizontal",
|
||||||
|
"horizontal-scaling-ratio-description": "Il y a 5 niveaux, plus le niveau est élevé,<br/>plus le taux de zoom avec ctrl + molette de la souris est élevé",
|
||||||
|
"horizontal-roll-ratio": "Vitesse de défilement horizontal",
|
||||||
|
"horizontal-roll-ratio-description": "Il y a 5 niveaux, plus le niveau est élevé,<br/>plus le pas de défilement de l'axe temporel de l'onde à gauche et à droite est grand",
|
||||||
|
"vertical-roll-ratio": "Vitesse de défilement vertical",
|
||||||
|
"vertical-roll-ratio-description": "Il y a 5 niveaux, plus le niveau est élevé,<br/>plus le pas de défilement de l'axe temporel de l'onde en haut et en bas est grand",
|
||||||
|
"search-setting": "Recherche",
|
||||||
|
"search-case-sensitivity": "Sensibilité à la casse",
|
||||||
|
"search-mode": "Mode de recherche",
|
||||||
|
"search-scope": "Portée de la recherche",
|
||||||
|
"search-display-parent-only": "Afficher uniquement le module parent",
|
||||||
|
"search-nothing": "Aucun signal trouvé",
|
||||||
|
"signal-only": "Signal uniquement",
|
||||||
|
"module-only": "Module uniquement",
|
||||||
|
"signal-module": "Signal + Module",
|
||||||
|
"general-setting": "Général",
|
||||||
|
"appearance-setting": "Apparence",
|
||||||
|
"display-wave-height": "Hauteur de la piste d'onde",
|
||||||
|
"display-signal-info-scope": "Informations affichées dans la barre latérale",
|
||||||
|
"display-signal-info-scope.width": "Largeur de bit",
|
||||||
|
"display-signal-info-scope.parent": "Nom du module parent",
|
||||||
|
"wavecolor": "Couleur d'onde par défaut",
|
||||||
|
"wavecolor.normal-bit": "Onde à largeur unique",
|
||||||
|
"wavecolor.normal-vec": "Onde à largeur multiple",
|
||||||
|
"wavecolor.high-impedance": "Onde à haute impédance",
|
||||||
|
"wavecolor.unknown": "Onde à état inconnu",
|
||||||
|
"operation-setting": "Opérations",
|
||||||
|
"render-setting": "Rendu",
|
||||||
|
"prerender": "Pré-rendu",
|
||||||
|
"prerender-description": "Le pré-rendu accélère le rendu mais consomme de la mémoire supplémentaire<br/>Si votre ordinateur a plus de 10 Go de mémoire, nous vous recommandons de l'activer.",
|
||||||
|
"render-animation": "Activer l'animation de rendu",
|
||||||
|
"usermanual": "Manuel utilisateur",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "Déplacer vers le haut et le bas",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "Déplacer vers la gauche et la droite",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "Zoom horizontal",
|
||||||
|
"loading": "Chargement",
|
||||||
|
"context-menu.create-group": "Créer un groupe",
|
||||||
|
"context-menu.join-group": "Rejoindre un groupe existant",
|
||||||
|
"context-menu.change-color": "Changer la couleur",
|
||||||
|
"context-menu.delete": "Supprimer le signal",
|
||||||
|
"context-menu.delete-all-select": "Supprimer tous les signaux sélectionnés",
|
||||||
|
"context-menu.signal.name": "Nom du signal",
|
||||||
|
"context-menu.signal.type": "Type de signal",
|
||||||
|
"context-menu.signal.width": "Largeur du signal",
|
||||||
|
"context-menu.signal.dep": "Dépendances",
|
||||||
|
"context-menu.group.cancel": "Annuler le groupement",
|
||||||
|
"context-menu.group.delete": "Supprimer le groupe",
|
||||||
|
"context-menu.group.empty": "Aucun groupe disponible",
|
||||||
|
"context-menu.group.uname-group": "Groupe sans nom",
|
||||||
|
"toolbar.modal.common-digital": "Numérique",
|
||||||
|
"toolbar.modal.ladder-analog": "Analogique (échelle)",
|
||||||
|
"toolbar.modal.line-analog": "Analogique (ligne)",
|
||||||
|
"toolbar.search.name": "Nom",
|
||||||
|
"toolbar.search.value": "Valeur",
|
||||||
|
"toolbar.format.category.base": "Base",
|
||||||
|
"toolbar.format.category.dec": "Décimal",
|
||||||
|
"toolbar.format.category.float": "Virgule flottante",
|
||||||
|
"toolbar.format.signed": "Signé",
|
||||||
|
"toolbar.format.unsigned": "Non signé",
|
||||||
|
"toolbar.format.half": "Demi-précision (16 bits)",
|
||||||
|
"toolbar.format.float": "Simple précision (32 bits)",
|
||||||
|
"toolbar.format.double": "Double précision (64 bits)",
|
||||||
|
"toolbar.location.to-begin": "Déplacer au début",
|
||||||
|
"toolbar.location.to-end": "Déplacer à la fin",
|
||||||
|
"toolbar.location.to-next-change": "Aller au prochain changement",
|
||||||
|
"toolbar.location.to-prev-change": "Aller au changement précédent",
|
||||||
|
"toolbar.location.make-location": "Créer un nouveau repère",
|
||||||
|
"toolbar.location.clear-location": "Effacer tous les repères",
|
||||||
|
"toolbar.location.clear-location-dialog": "Êtes-vous sûr de vouloir effacer tous les repères?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "Le signal actuel est déjà dans ce groupe",
|
||||||
|
"toolbar.no-result": "Aucun résultat",
|
||||||
|
"toolbar.search.value.already-to-head": "Déjà au début",
|
||||||
|
"toolbar.search.value.already-to-tail": "Déjà à la fin",
|
||||||
|
"toolbar.search.value.searching": "Recherche en cours",
|
||||||
|
"pivot.context.delete": "Supprimer le repère",
|
||||||
|
"pivot.context.display-axis": "Créer un axe relatif",
|
||||||
|
"pivot.context.cancel-axis": "Annuler l'axe relatif",
|
||||||
|
"setting.appearance.pivot-color": "Couleur du repère",
|
||||||
|
"setting.appearance.moving-pivot": "Repère mobile",
|
||||||
|
"setting.appearance.user-pivot": "Repère utilisateur",
|
||||||
|
"setting.appearance.system-pivot": "Repère système",
|
||||||
|
"confirm": "Confirmer",
|
||||||
|
"cancel": "Annuler",
|
||||||
|
"tips": "Conseils",
|
||||||
|
"filemenu.save-view": "Enregistrer le fichier de vue",
|
||||||
|
"filemenu.save-as-view": "Enregistrer la vue sous",
|
||||||
|
"filemenu.load-view": "Charger le fichier de vue",
|
||||||
|
"filemenu.auto-save": "Sauvegarde automatique",
|
||||||
|
"current-version": "Version actuelle",
|
||||||
|
"copyright": "Les droits d'auteur appartiennent au groupe de projet <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>, bienvenue <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>.",
|
||||||
|
"setting.language.change-dialog": "Vous avez changé la langue en {0}, nous vous recommandons de redémarrer Vcd Viewer.",
|
||||||
|
"resources": "Ressources",
|
||||||
|
"tools": "Outils",
|
||||||
|
"prompts": "Invites",
|
||||||
|
"interaction-test": "Test interactif",
|
||||||
|
"setting": "Paramètres",
|
||||||
|
"about": "À propos",
|
||||||
|
"connected": "Connecté",
|
||||||
|
"disconnected": "Déconnecté",
|
||||||
|
"debug": "Déboguer",
|
||||||
|
"connect": "Connexion"
|
||||||
|
}
|
20
app/src/i18n/index.ts
Normal file
20
app/src/i18n/index.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { createI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
import en from './en.json';
|
||||||
|
import zh from './zh-cn.json';
|
||||||
|
import zhTw from './zh-tw.json';
|
||||||
|
import ja from './ja.json';
|
||||||
|
import de from './de.json';
|
||||||
|
import ko from './ko.json';
|
||||||
|
import ru from './ru.json';
|
||||||
|
import fr from './fr.json';
|
||||||
|
import ar from './ar.json';
|
||||||
|
|
||||||
|
const i18n = createI18n({
|
||||||
|
legacy: false,
|
||||||
|
locale: 'zh',
|
||||||
|
warnHtmlMessage: false,
|
||||||
|
messages: { en, zh, zhTw, ja, de, ko, ru, fr, ar }
|
||||||
|
});
|
||||||
|
|
||||||
|
export default i18n;
|
110
app/src/i18n/ja.json
Normal file
110
app/src/i18n/ja.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "モジュール",
|
||||||
|
"signal": "信号",
|
||||||
|
"search-signal": "信号を検索",
|
||||||
|
"language-setting": "言語",
|
||||||
|
"horizontal-scaling-ratio": "横方向の拡大速度",
|
||||||
|
"horizontal-scaling-ratio-description": "5つの段階があり、段階が高いほど、<br/>ctrl + マウスホイールでの拡大率が高くなります",
|
||||||
|
"horizontal-roll-ratio": "横方向のスクロール速度",
|
||||||
|
"horizontal-roll-ratio-description": "5つの段階があり、段階が高いほど、<br/>左右に波形の時間軸をスクロールするステップが大きくなります",
|
||||||
|
"vertical-roll-ratio": "縦方向のスクロール速度",
|
||||||
|
"vertical-roll-ratio-description": "5つの段階があり、段階が高いほど、<br/>上下に波形の時間軸をスクロールするステップが大きくなります",
|
||||||
|
"search-setting": "検索",
|
||||||
|
"search-case-sensitivity": "大文字と小文字を区別",
|
||||||
|
"search-mode": "検索モード",
|
||||||
|
"search-scope": "検索範囲",
|
||||||
|
"search-display-parent-only": "親モジュールのみ表示",
|
||||||
|
"search-nothing": "信号が見つかりませんでした",
|
||||||
|
"signal-only": "信号のみ",
|
||||||
|
"module-only": "モジュールのみ",
|
||||||
|
"signal-module": "信号 + モジュール",
|
||||||
|
"general-setting": "一般",
|
||||||
|
"appearance-setting": "外観",
|
||||||
|
"display-wave-height": "波形トラックの高さ",
|
||||||
|
"display-signal-info-scope": "サイドバーに表示する情報",
|
||||||
|
"display-signal-info-scope.width": "ビット幅",
|
||||||
|
"display-signal-info-scope.parent": "所属モジュール名",
|
||||||
|
"wavecolor": "デフォルトの波形色",
|
||||||
|
"wavecolor.normal-bit": "単位幅波形",
|
||||||
|
"wavecolor.normal-vec": "複数ビット幅波形",
|
||||||
|
"wavecolor.high-impedance": "ハイインピーダンス波形",
|
||||||
|
"wavecolor.unknown": "未知状態波形",
|
||||||
|
"operation-setting": "操作",
|
||||||
|
"render-setting": "レンダリング",
|
||||||
|
"prerender": "プリレンダリング",
|
||||||
|
"prerender-description": "プリレンダリングによりレンダリング速度が向上しますが、追加のメモリを消費します<br/>メモリが10GB以上の場合、有効にすることをお勧めします。",
|
||||||
|
"render-animation": "レンダリングアニメーションを有効にする",
|
||||||
|
"usermanual": "使用説明",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "上下に移動",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "左右に移動",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "横方向に拡大",
|
||||||
|
"loading": "読み込み中",
|
||||||
|
"context-menu.create-group": "新しいグループを作成",
|
||||||
|
"context-menu.join-group": "既存のグループに参加",
|
||||||
|
"context-menu.change-color": "色を変更",
|
||||||
|
"context-menu.delete": "信号を削除",
|
||||||
|
"context-menu.delete-all-select": "選択したすべての信号を削除",
|
||||||
|
"context-menu.signal.name": "信号名",
|
||||||
|
"context-menu.signal.type": "信号タイプ",
|
||||||
|
"context-menu.signal.width": "信号幅",
|
||||||
|
"context-menu.signal.dep": "依存関係",
|
||||||
|
"context-menu.group.cancel": "グループをキャンセル",
|
||||||
|
"context-menu.group.delete": "グループを削除",
|
||||||
|
"context-menu.group.empty": "利用可能なグループがありません",
|
||||||
|
"context-menu.group.uname-group": "名前なしグループ",
|
||||||
|
"toolbar.modal.common-digital": "デジタル",
|
||||||
|
"toolbar.modal.ladder-analog": "アナログ(階段)",
|
||||||
|
"toolbar.modal.line-analog": "アナログ(折れ線)",
|
||||||
|
"toolbar.search.name": "名前",
|
||||||
|
"toolbar.search.value": "値",
|
||||||
|
"toolbar.format.category.base": "基本",
|
||||||
|
"toolbar.format.category.dec": "10進数",
|
||||||
|
"toolbar.format.category.float": "浮動小数点数",
|
||||||
|
"toolbar.format.signed": "符号付き",
|
||||||
|
"toolbar.format.unsigned": "符号なし",
|
||||||
|
"toolbar.format.half": "半精度(16ビット)",
|
||||||
|
"toolbar.format.float": "単精度(32ビット)",
|
||||||
|
"toolbar.format.double": "倍精度(64ビット)",
|
||||||
|
"toolbar.location.to-begin": "先頭に移動",
|
||||||
|
"toolbar.location.to-end": "末尾に移動",
|
||||||
|
"toolbar.location.to-next-change": "次の変化点に移動",
|
||||||
|
"toolbar.location.to-prev-change": "前の変化点に移動",
|
||||||
|
"toolbar.location.make-location": "新しいピボットを作成",
|
||||||
|
"toolbar.location.clear-location": "すべてのピボットをクリア",
|
||||||
|
"toolbar.location.clear-location-dialog": "すべてのピボットをクリアしてもよろしいですか?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "現在の信号はすでにこのグループに含まれています",
|
||||||
|
"toolbar.no-result": "結果なし",
|
||||||
|
"toolbar.search.value.already-to-head": "すでに先頭にいます",
|
||||||
|
"toolbar.search.value.already-to-tail": "すでに末尾にいます",
|
||||||
|
"toolbar.search.value.searching": "検索中",
|
||||||
|
"pivot.context.delete": "ピボットを削除",
|
||||||
|
"pivot.context.display-axis": "相対座標軸を作成",
|
||||||
|
"pivot.context.cancel-axis": "相対座標軸をキャンセル",
|
||||||
|
"setting.appearance.pivot-color": "ピボットの色",
|
||||||
|
"setting.appearance.moving-pivot": "移動ピボット",
|
||||||
|
"setting.appearance.user-pivot": "ユーザーピボット",
|
||||||
|
"setting.appearance.system-pivot": "システムピボット",
|
||||||
|
"confirm": "確認",
|
||||||
|
"cancel": "キャンセル",
|
||||||
|
"tips": "ヒント",
|
||||||
|
"filemenu.save-view": "ビューファイルを保存",
|
||||||
|
"filemenu.save-as-view": "ビューファイルとして保存",
|
||||||
|
"filemenu.load-view": "ビューファイルをインポート",
|
||||||
|
"filemenu.auto-save": "自動保存",
|
||||||
|
"current-version": "現在のバージョン",
|
||||||
|
"copyright": "このソフトウェアの著作権は <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> プロジェクトチームに帰属します。<a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a> を歓迎します。",
|
||||||
|
"setting.language.change-dialog": "言語を{0}に変更しました。Vcd Viewerを再起動することをお勧めします。",
|
||||||
|
"resources": "リソース",
|
||||||
|
"tools": "ツール",
|
||||||
|
"prompts": "プロンプト",
|
||||||
|
"interaction-test": "インタラクティブテスト",
|
||||||
|
"setting": "設定",
|
||||||
|
"about": "について",
|
||||||
|
"connected": "接続済み",
|
||||||
|
"disconnected": "切断されました",
|
||||||
|
"debug": "デバッグ",
|
||||||
|
"connect": "接続"
|
||||||
|
}
|
110
app/src/i18n/ko.json
Normal file
110
app/src/i18n/ko.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "모듈",
|
||||||
|
"signal": "신호",
|
||||||
|
"search-signal": "신호 검색",
|
||||||
|
"language-setting": "언어",
|
||||||
|
"horizontal-scaling-ratio": "가로 확대 속도",
|
||||||
|
"horizontal-scaling-ratio-description": "5단계가 있으며, 단계가 높을수록<br/>ctrl + 마우스 휠 확대 비율이 높아집니다",
|
||||||
|
"horizontal-roll-ratio": "가로 스크롤 속도",
|
||||||
|
"horizontal-roll-ratio-description": "5단계가 있으며, 단계가 높을수록<br/>좌우로 파형 시간축을 스크롤하는 단계가 커집니다",
|
||||||
|
"vertical-roll-ratio": "세로 스크롤 속도",
|
||||||
|
"vertical-roll-ratio-description": "5단계가 있으며, 단계가 높을수록<br/>상하로 파형 시간축을 스크롤하는 단계가 커집니다",
|
||||||
|
"search-setting": "검색",
|
||||||
|
"search-case-sensitivity": "대소문자 구분",
|
||||||
|
"search-mode": "검색 모드",
|
||||||
|
"search-scope": "검색 범위",
|
||||||
|
"search-display-parent-only": "부모 모듈만 표시",
|
||||||
|
"search-nothing": "신호를 찾을 수 없습니다",
|
||||||
|
"signal-only": "신호만",
|
||||||
|
"module-only": "모듈만",
|
||||||
|
"signal-module": "신호 + 모듈",
|
||||||
|
"general-setting": "일반",
|
||||||
|
"appearance-setting": "외관",
|
||||||
|
"display-wave-height": "파형 트랙의 높이",
|
||||||
|
"display-signal-info-scope": "사이드바에 표시할 정보",
|
||||||
|
"display-signal-info-scope.width": "비트 너비",
|
||||||
|
"display-signal-info-scope.parent": "소속 모듈 이름",
|
||||||
|
"wavecolor": "기본 파형 색상",
|
||||||
|
"wavecolor.normal-bit": "단위 너비 파형",
|
||||||
|
"wavecolor.normal-vec": "다중 비트 너비 파형",
|
||||||
|
"wavecolor.high-impedance": "고임피던스 파형",
|
||||||
|
"wavecolor.unknown": "알 수 없는 상태 파형",
|
||||||
|
"operation-setting": "작업",
|
||||||
|
"render-setting": "렌더링",
|
||||||
|
"prerender": "사전 렌더링",
|
||||||
|
"prerender-description": "사전 렌더링은 렌더링 속도를 높이지만 추가 메모리를 사용합니다<br/>컴퓨터 메모리가 10GB 이상인 경우 활성화하는 것이 좋습니다.",
|
||||||
|
"render-animation": "렌더링 애니메이션 활성화",
|
||||||
|
"usermanual": "사용 설명서",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "상하 이동",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "좌우 이동",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "가로 확대",
|
||||||
|
"loading": "로딩 중",
|
||||||
|
"context-menu.create-group": "새 그룹 생성",
|
||||||
|
"context-menu.join-group": "기존 그룹에 참여",
|
||||||
|
"context-menu.change-color": "색상 변경",
|
||||||
|
"context-menu.delete": "신호 삭제",
|
||||||
|
"context-menu.delete-all-select": "선택한 모든 신호 삭제",
|
||||||
|
"context-menu.signal.name": "신호 이름",
|
||||||
|
"context-menu.signal.type": "신호 유형",
|
||||||
|
"context-menu.signal.width": "신호 너비",
|
||||||
|
"context-menu.signal.dep": "종속성",
|
||||||
|
"context-menu.group.cancel": "그룹 취소",
|
||||||
|
"context-menu.group.delete": "그룹 삭제",
|
||||||
|
"context-menu.group.empty": "사용 가능한 그룹이 없습니다",
|
||||||
|
"context-menu.group.uname-group": "이름 없는 그룹",
|
||||||
|
"toolbar.modal.common-digital": "디지털",
|
||||||
|
"toolbar.modal.ladder-analog": "아날로그 (사다리)",
|
||||||
|
"toolbar.modal.line-analog": "아날로그 (선)",
|
||||||
|
"toolbar.search.name": "이름",
|
||||||
|
"toolbar.search.value": "값",
|
||||||
|
"toolbar.format.category.base": "기본",
|
||||||
|
"toolbar.format.category.dec": "십진법",
|
||||||
|
"toolbar.format.category.float": "부동 소수점",
|
||||||
|
"toolbar.format.signed": "부호 있음",
|
||||||
|
"toolbar.format.unsigned": "부호 없음",
|
||||||
|
"toolbar.format.half": "반정밀도 (16비트)",
|
||||||
|
"toolbar.format.float": "단정밀도 (32비트)",
|
||||||
|
"toolbar.format.double": "배정밀도 (64비트)",
|
||||||
|
"toolbar.location.to-begin": "시작 부분으로 이동",
|
||||||
|
"toolbar.location.to-end": "끝 부분으로 이동",
|
||||||
|
"toolbar.location.to-next-change": "다음 변화로 이동",
|
||||||
|
"toolbar.location.to-prev-change": "이전 변화로 이동",
|
||||||
|
"toolbar.location.make-location": "새 표식 생성",
|
||||||
|
"toolbar.location.clear-location": "모든 표식 지우기",
|
||||||
|
"toolbar.location.clear-location-dialog": "모든 표식을 지우시겠습니까?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "현재 신호가 이미 이 그룹에 있습니다",
|
||||||
|
"toolbar.no-result": "결과 없음",
|
||||||
|
"toolbar.search.value.already-to-head": "이미 시작 부분입니다",
|
||||||
|
"toolbar.search.value.already-to-tail": "이미 끝 부분입니다",
|
||||||
|
"toolbar.search.value.searching": "검색 중",
|
||||||
|
"pivot.context.delete": "표식 삭제",
|
||||||
|
"pivot.context.display-axis": "상대 좌표축 생성",
|
||||||
|
"pivot.context.cancel-axis": "상대 좌표축 취소",
|
||||||
|
"setting.appearance.pivot-color": "표식 색상",
|
||||||
|
"setting.appearance.moving-pivot": "이동 표식",
|
||||||
|
"setting.appearance.user-pivot": "사용자 표식",
|
||||||
|
"setting.appearance.system-pivot": "시스템 표식",
|
||||||
|
"confirm": "확인",
|
||||||
|
"cancel": "취소",
|
||||||
|
"tips": "팁",
|
||||||
|
"filemenu.save-view": "뷰 파일 저장",
|
||||||
|
"filemenu.save-as-view": "뷰 파일로 저장",
|
||||||
|
"filemenu.load-view": "뷰 파일 불러오기",
|
||||||
|
"filemenu.auto-save": "자동 저장",
|
||||||
|
"current-version": "현재 버전",
|
||||||
|
"copyright": "이 소프트웨어의 저작권은 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 프로젝트 팀에 있으며, <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>를 환영합니다.",
|
||||||
|
"setting.language.change-dialog": "언어를 {0}로 변경했습니다. Vcd Viewer를 다시 시작하는 것을 권장합니다.",
|
||||||
|
"resources": "자원",
|
||||||
|
"tools": "도구",
|
||||||
|
"prompts": "프롬프트",
|
||||||
|
"interaction-test": "인터랙티브 테스트",
|
||||||
|
"setting": "설정",
|
||||||
|
"about": "정보",
|
||||||
|
"connected": "연결됨",
|
||||||
|
"disconnected": "연결 해제됨",
|
||||||
|
"debug": "디버그",
|
||||||
|
"connect": "연결"
|
||||||
|
}
|
110
app/src/i18n/ru.json
Normal file
110
app/src/i18n/ru.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "Модуль",
|
||||||
|
"signal": "Сигнал",
|
||||||
|
"search-signal": "Поиск сигнала",
|
||||||
|
"language-setting": "Язык",
|
||||||
|
"horizontal-scaling-ratio": "Скорость горизонтального масштабирования",
|
||||||
|
"horizontal-scaling-ratio-description": "Есть 5 уровней, чем выше уровень,<br/>тем выше коэффициент масштабирования при нажатии ctrl + колесо мыши",
|
||||||
|
"horizontal-roll-ratio": "Скорость горизонтальной прокрутки",
|
||||||
|
"horizontal-roll-ratio-description": "Есть 5 уровней, чем выше уровень,<br/>тем больше шаг при прокрутке оси времени волны влево и вправо",
|
||||||
|
"vertical-roll-ratio": "Скорость вертикальной прокрутки",
|
||||||
|
"vertical-roll-ratio-description": "Есть 5 уровней, чем выше уровень,<br/>тем больше шаг при прокрутке оси времени волны вверх и вниз",
|
||||||
|
"search-setting": "Поиск",
|
||||||
|
"search-case-sensitivity": "Учитывать регистр",
|
||||||
|
"search-mode": "Режим поиска",
|
||||||
|
"search-scope": "Область поиска",
|
||||||
|
"search-display-parent-only": "Показывать только родительский модуль",
|
||||||
|
"search-nothing": "Сигналы не найдены",
|
||||||
|
"signal-only": "Только сигнал",
|
||||||
|
"module-only": "Только модуль",
|
||||||
|
"signal-module": "Сигнал + Модуль",
|
||||||
|
"general-setting": "Общие",
|
||||||
|
"appearance-setting": "Внешний вид",
|
||||||
|
"display-wave-height": "Высота дорожки волны",
|
||||||
|
"display-signal-info-scope": "Информация в боковой панели",
|
||||||
|
"display-signal-info-scope.width": "Ширина бита",
|
||||||
|
"display-signal-info-scope.parent": "Имя родительского модуля",
|
||||||
|
"wavecolor": "Цвет волны по умолчанию",
|
||||||
|
"wavecolor.normal-bit": "Одиночная ширина волны",
|
||||||
|
"wavecolor.normal-vec": "Многобитная ширина волны",
|
||||||
|
"wavecolor.high-impedance": "Высокоимпедансная волна",
|
||||||
|
"wavecolor.unknown": "Неизвестное состояние волны",
|
||||||
|
"operation-setting": "Операции",
|
||||||
|
"render-setting": "Рендеринг",
|
||||||
|
"prerender": "Предварительный рендеринг",
|
||||||
|
"prerender-description": "Предварительный рендеринг ускоряет рендеринг, но потребляет дополнительную память<br/>Если у вас больше 10 ГБ памяти, мы рекомендуем включить его.",
|
||||||
|
"render-animation": "Включить анимацию рендеринга",
|
||||||
|
"usermanual": "Руководство пользователя",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "Перемещение вверх и вниз",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "Перемещение влево и вправо",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "Горизонтальное масштабирование",
|
||||||
|
"loading": "Загрузка",
|
||||||
|
"context-menu.create-group": "Создать группу",
|
||||||
|
"context-menu.join-group": "Присоединиться к существующей группе",
|
||||||
|
"context-menu.change-color": "Изменить цвет",
|
||||||
|
"context-menu.delete": "Удалить сигнал",
|
||||||
|
"context-menu.delete-all-select": "Удалить все выбранные сигналы",
|
||||||
|
"context-menu.signal.name": "Имя сигнала",
|
||||||
|
"context-menu.signal.type": "Тип сигнала",
|
||||||
|
"context-menu.signal.width": "Ширина сигнала",
|
||||||
|
"context-menu.signal.dep": "Зависимости",
|
||||||
|
"context-menu.group.cancel": "Отменить группировку",
|
||||||
|
"context-menu.group.delete": "Удалить группу",
|
||||||
|
"context-menu.group.empty": "Нет доступных групп",
|
||||||
|
"context-menu.group.uname-group": "Безымянная группа",
|
||||||
|
"toolbar.modal.common-digital": "Цифровой",
|
||||||
|
"toolbar.modal.ladder-analog": "Аналоговый (ступенчатый)",
|
||||||
|
"toolbar.modal.line-analog": "Аналоговый (линейный)",
|
||||||
|
"toolbar.search.name": "Имя",
|
||||||
|
"toolbar.search.value": "Значение",
|
||||||
|
"toolbar.format.category.base": "Основной",
|
||||||
|
"toolbar.format.category.dec": "Десятичный",
|
||||||
|
"toolbar.format.category.float": "Плавающая запятая",
|
||||||
|
"toolbar.format.signed": "Знаковый",
|
||||||
|
"toolbar.format.unsigned": "Беззнаковый",
|
||||||
|
"toolbar.format.half": "Полуточный (16 бит)",
|
||||||
|
"toolbar.format.float": "Одинарная точность (32 бита)",
|
||||||
|
"toolbar.format.double": "Двойная точность (64 бита)",
|
||||||
|
"toolbar.location.to-begin": "Переместить в начало",
|
||||||
|
"toolbar.location.to-end": "Переместить в конец",
|
||||||
|
"toolbar.location.to-next-change": "Перейти к следующему изменению",
|
||||||
|
"toolbar.location.to-prev-change": "Перейти к предыдущему изменению",
|
||||||
|
"toolbar.location.make-location": "Создать новый маркер",
|
||||||
|
"toolbar.location.clear-location": "Очистить все маркеры",
|
||||||
|
"toolbar.location.clear-location-dialog": "Вы уверены, что хотите очистить все маркеры?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "Текущий сигнал уже находится в этой группе",
|
||||||
|
"toolbar.no-result": "Нет результатов",
|
||||||
|
"toolbar.search.value.already-to-head": "Уже в начале",
|
||||||
|
"toolbar.search.value.already-to-tail": "Уже в конце",
|
||||||
|
"toolbar.search.value.searching": "Поиск",
|
||||||
|
"pivot.context.delete": "Удалить маркер",
|
||||||
|
"pivot.context.display-axis": "Создать относительную ось",
|
||||||
|
"pivot.context.cancel-axis": "Отменить относительную ось",
|
||||||
|
"setting.appearance.pivot-color": "Цвет маркера",
|
||||||
|
"setting.appearance.moving-pivot": "Движущийся маркер",
|
||||||
|
"setting.appearance.user-pivot": "Пользовательский маркер",
|
||||||
|
"setting.appearance.system-pivot": "Системный маркер",
|
||||||
|
"confirm": "Подтвердить",
|
||||||
|
"cancel": "Отменить",
|
||||||
|
"tips": "Советы",
|
||||||
|
"filemenu.save-view": "Сохранить файл представления",
|
||||||
|
"filemenu.save-as-view": "Сохранить представление как",
|
||||||
|
"filemenu.load-view": "Загрузить файл представления",
|
||||||
|
"filemenu.auto-save": "Автосохранение",
|
||||||
|
"current-version": "Текущая версия",
|
||||||
|
"copyright": "Авторские права принадлежат проектной группе <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>, приветствуем <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>.",
|
||||||
|
"setting.language.change-dialog": "Вы изменили язык на {0}, рекомендуем перезапустить Vcd Viewer.",
|
||||||
|
"resources": "Ресурсы",
|
||||||
|
"tools": "Инструменты",
|
||||||
|
"prompts": "Подсказки",
|
||||||
|
"interaction-test": "Интерактивный тест",
|
||||||
|
"setting": "Настройки",
|
||||||
|
"about": "О нас",
|
||||||
|
"connected": "Подключено",
|
||||||
|
"disconnected": "Отключено",
|
||||||
|
"debug": "Отладка",
|
||||||
|
"connect": "Подключение"
|
||||||
|
}
|
110
app/src/i18n/zh-cn.json
Normal file
110
app/src/i18n/zh-cn.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "模块",
|
||||||
|
"signal": "信号",
|
||||||
|
"search-signal": "搜索信号",
|
||||||
|
"language-setting": "语言",
|
||||||
|
"horizontal-scaling-ratio": "横向缩放速度",
|
||||||
|
"horizontal-scaling-ratio-description": "一共有5个挡位,挡位越高,<br/>ctrl + 鼠标滚轮缩放时的倍率越高",
|
||||||
|
"horizontal-roll-ratio": "横向滚动速度",
|
||||||
|
"horizontal-roll-ratio-description": "一共有5个挡位,挡位越高,<br/>左右滑动波形时间轴的步长越大",
|
||||||
|
"vertical-roll-ratio": "纵向滚动速度",
|
||||||
|
"vertical-roll-ratio-description": "一共有5个挡位,挡位越高,<br/>上下滑动波形时间轴的步长越大",
|
||||||
|
"search-setting": "搜索",
|
||||||
|
"search-case-sensitivity": "区分大小写",
|
||||||
|
"search-mode": "搜索模式",
|
||||||
|
"search-scope": "搜索范围",
|
||||||
|
"search-display-parent-only": "只展示父模块",
|
||||||
|
"search-nothing": "没有找到任何信号",
|
||||||
|
"signal-only": "信号",
|
||||||
|
"module-only": "模块",
|
||||||
|
"signal-module": "信号 + 模块",
|
||||||
|
"general-setting": "通用",
|
||||||
|
"appearance-setting": "外观",
|
||||||
|
"display-wave-height": "波形轨道的高度",
|
||||||
|
"display-signal-info-scope": "侧边栏展示信息",
|
||||||
|
"display-signal-info-scope.width": "位宽",
|
||||||
|
"display-signal-info-scope.parent": "所属模块名",
|
||||||
|
"wavecolor": "默认波形颜色",
|
||||||
|
"wavecolor.normal-bit": "单位宽波形",
|
||||||
|
"wavecolor.normal-vec": "多位宽波形",
|
||||||
|
"wavecolor.high-impedance": "高阻态波形",
|
||||||
|
"wavecolor.unknown": "未知态波形",
|
||||||
|
"operation-setting": "操作",
|
||||||
|
"render-setting": "渲染",
|
||||||
|
"prerender": "预渲染",
|
||||||
|
"prerender-description": "预渲染将使得渲染速度更快,但是会占用额外内存<br/>如果您的电脑内存大于10个G,我们建议您开启。",
|
||||||
|
"render-animation": "开启渲染动画",
|
||||||
|
"usermanual": "使用说明",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "上下移动",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "左右移动",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "横向缩放",
|
||||||
|
"loading": "加载中",
|
||||||
|
"context-menu.create-group": "新建组",
|
||||||
|
"context-menu.join-group": "加入已有分组",
|
||||||
|
"context-menu.change-color": "修改颜色",
|
||||||
|
"context-menu.delete": "删除信号",
|
||||||
|
"context-menu.delete-all-select": "删除所有选中信号",
|
||||||
|
"context-menu.signal.name": "信号名称",
|
||||||
|
"context-menu.signal.type": "信号类型",
|
||||||
|
"context-menu.signal.width": "信号宽度",
|
||||||
|
"context-menu.signal.dep": "依赖关系",
|
||||||
|
"context-menu.group.cancel": "取消分组",
|
||||||
|
"context-menu.group.delete": "删除分组",
|
||||||
|
"context-menu.group.empty": "当前没有可用的分组",
|
||||||
|
"context-menu.group.uname-group": "未命名分组",
|
||||||
|
"toolbar.modal.common-digital": "数字",
|
||||||
|
"toolbar.modal.ladder-analog": "模拟(阶梯)",
|
||||||
|
"toolbar.modal.line-analog": "模拟(折线)",
|
||||||
|
"toolbar.search.name": "名称",
|
||||||
|
"toolbar.search.value": "值",
|
||||||
|
"toolbar.format.category.base": "基础",
|
||||||
|
"toolbar.format.category.dec": "十进制",
|
||||||
|
"toolbar.format.category.float": "浮点数",
|
||||||
|
"toolbar.format.signed": "有符号",
|
||||||
|
"toolbar.format.unsigned": "无符号",
|
||||||
|
"toolbar.format.half": "半精度(16bit)",
|
||||||
|
"toolbar.format.float": "单精度(32bit)",
|
||||||
|
"toolbar.format.double": "双精度(64bit)",
|
||||||
|
"toolbar.location.to-begin": "移动至开头",
|
||||||
|
"toolbar.location.to-end": "移动至结尾",
|
||||||
|
"toolbar.location.to-next-change": "前往下一个变化的边沿",
|
||||||
|
"toolbar.location.to-prev-change": "前往上一个变化的边沿",
|
||||||
|
"toolbar.location.make-location": "创建新的信标",
|
||||||
|
"toolbar.location.clear-location": "清除所有信标",
|
||||||
|
"toolbar.location.clear-location-dialog": "您确定要清除所有的信标吗?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "当前信号已在此分组中",
|
||||||
|
"toolbar.no-result": "无结果",
|
||||||
|
"toolbar.search.value.already-to-head": "已经到开头了",
|
||||||
|
"toolbar.search.value.already-to-tail": "已经到结尾了",
|
||||||
|
"toolbar.search.value.searching": "搜索中",
|
||||||
|
"pivot.context.delete": "删除信标",
|
||||||
|
"pivot.context.display-axis": "创建相对坐标轴",
|
||||||
|
"pivot.context.cancel-axis": "取消相对坐标轴",
|
||||||
|
"setting.appearance.pivot-color": "信标颜色",
|
||||||
|
"setting.appearance.moving-pivot": "移动信标",
|
||||||
|
"setting.appearance.user-pivot": "用户信标",
|
||||||
|
"setting.appearance.system-pivot": "系统信标",
|
||||||
|
"confirm": "确定",
|
||||||
|
"cancel": "取消",
|
||||||
|
"tips": "提示",
|
||||||
|
"filemenu.save-view": "保存视图文件",
|
||||||
|
"filemenu.save-as-view": "另存为视图文件",
|
||||||
|
"filemenu.load-view": "导入视图文件",
|
||||||
|
"filemenu.auto-save": "自动保存",
|
||||||
|
"current-version": "当前版本",
|
||||||
|
"copyright": "本软件版权归 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 项目组所有,欢迎 <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>。",
|
||||||
|
"setting.language.change-dialog": "您已经更换语言为 {0},我们建议您重启 Vcd Viewer",
|
||||||
|
"resources": "资源",
|
||||||
|
"tools": "工具",
|
||||||
|
"prompts": "提词",
|
||||||
|
"interaction-test": "交互测试",
|
||||||
|
"setting": "设置",
|
||||||
|
"about": "关于",
|
||||||
|
"connected": "已连接",
|
||||||
|
"disconnected": "未连接",
|
||||||
|
"debug": "调试",
|
||||||
|
"connect": "连接"
|
||||||
|
}
|
110
app/src/i18n/zh-tw.json
Normal file
110
app/src/i18n/zh-tw.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"module": "模塊",
|
||||||
|
"signal": "信號",
|
||||||
|
"search-signal": "搜索信號",
|
||||||
|
"language-setting": "語言",
|
||||||
|
"horizontal-scaling-ratio": "橫向縮放速度",
|
||||||
|
"horizontal-scaling-ratio-description": "一共有5個擋位,擋位越高,<br/>ctrl + 鼠標滾輪縮放時的倍率越高",
|
||||||
|
"horizontal-roll-ratio": "橫向滾動速度",
|
||||||
|
"horizontal-roll-ratio-description": "一共有5個擋位,擋位越高,<br/>左右滑動波形時間軸的步長越大",
|
||||||
|
"vertical-roll-ratio": "縱向滾動速度",
|
||||||
|
"vertical-roll-ratio-description": "一共有5個擋位,擋位越高,<br/>上下滑動波形時間軸的步長越大",
|
||||||
|
"search-setting": "搜索",
|
||||||
|
"search-case-sensitivity": "區分大小寫",
|
||||||
|
"search-mode": "搜索模式",
|
||||||
|
"search-scope": "搜索範圍",
|
||||||
|
"search-display-parent-only": "只展示父模塊",
|
||||||
|
"search-nothing": "沒有找到任何信號",
|
||||||
|
"signal-only": "信號",
|
||||||
|
"module-only": "模塊",
|
||||||
|
"signal-module": "信號 + 模塊",
|
||||||
|
"general-setting": "通用",
|
||||||
|
"appearance-setting": "外觀",
|
||||||
|
"display-wave-height": "波形軌道的高度",
|
||||||
|
"display-signal-info-scope": "側邊欄展示信息",
|
||||||
|
"display-signal-info-scope.width": "位寬",
|
||||||
|
"display-signal-info-scope.parent": "所屬模塊名",
|
||||||
|
"wavecolor": "默認波形顏色",
|
||||||
|
"wavecolor.normal-bit": "單位寬波形",
|
||||||
|
"wavecolor.normal-vec": "多位寬波形",
|
||||||
|
"wavecolor.high-impedance": "高阻態波形",
|
||||||
|
"wavecolor.unknown": "未知態波形",
|
||||||
|
"operation-setting": "操作",
|
||||||
|
"render-setting": "渲染",
|
||||||
|
"prerender": "預渲染",
|
||||||
|
"prerender-description": "預渲染將使得渲染速度更快,但是會佔用額外內存<br/>如果您的電腦內存大於10個G,我們建議您開啟。",
|
||||||
|
"render-animation": "開啟渲染動畫",
|
||||||
|
"usermanual": "使用說明",
|
||||||
|
"usermanual.left-right-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.left-right-scroll.caption": "上下移動",
|
||||||
|
"usermanual.up-down-scroll.title": "<span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-left-right\"/> / <span class=\"iconfont icon-shift\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.up-down-scroll.caption": "左右移動",
|
||||||
|
"usermanual.xscale.title": "<span class=\"iconfont icon-ctrl\"/> + <span class=\"iconfont icon-mouse\"/><span class=\"iconfont icon-up-down\"/>",
|
||||||
|
"usermanual.xscale.caption": "橫向縮放",
|
||||||
|
"loading": "加載中",
|
||||||
|
"context-menu.create-group": "新建組",
|
||||||
|
"context-menu.join-group": "加入已有分組",
|
||||||
|
"context-menu.change-color": "修改顏色",
|
||||||
|
"context-menu.delete": "刪除信號",
|
||||||
|
"context-menu.delete-all-select": "刪除所有選中信號",
|
||||||
|
"context-menu.signal.name": "信號名稱",
|
||||||
|
"context-menu.signal.type": "信號類型",
|
||||||
|
"context-menu.signal.width": "信號寬度",
|
||||||
|
"context-menu.signal.dep": "依賴關係",
|
||||||
|
"context-menu.group.cancel": "取消分組",
|
||||||
|
"context-menu.group.delete": "刪除分組",
|
||||||
|
"context-menu.group.empty": "當前沒有可用的分組",
|
||||||
|
"context-menu.group.uname-group": "未命名分組",
|
||||||
|
"toolbar.modal.common-digital": "數字",
|
||||||
|
"toolbar.modal.ladder-analog": "模擬(階梯)",
|
||||||
|
"toolbar.modal.line-analog": "模擬(折線)",
|
||||||
|
"toolbar.search.name": "名稱",
|
||||||
|
"toolbar.search.value": "值",
|
||||||
|
"toolbar.format.category.base": "基礎",
|
||||||
|
"toolbar.format.category.dec": "十進制",
|
||||||
|
"toolbar.format.category.float": "浮點數",
|
||||||
|
"toolbar.format.signed": "有符號",
|
||||||
|
"toolbar.format.unsigned": "無符號",
|
||||||
|
"toolbar.format.half": "半精度(16bit)",
|
||||||
|
"toolbar.format.float": "單精度(32bit)",
|
||||||
|
"toolbar.format.double": "雙精度(64bit)",
|
||||||
|
"toolbar.location.to-begin": "移動至開頭",
|
||||||
|
"toolbar.location.to-end": "移動至結尾",
|
||||||
|
"toolbar.location.to-next-change": "前往下一個變化的邊沿",
|
||||||
|
"toolbar.location.to-prev-change": "前往上一個變化的邊沿",
|
||||||
|
"toolbar.location.make-location": "創建新的信標",
|
||||||
|
"toolbar.location.clear-location": "清除所有信標",
|
||||||
|
"toolbar.location.clear-location-dialog": "您確定要清除所有的信標嗎?",
|
||||||
|
"context-menu.cannot-join-repeat-group": "當前信號已在此分組中",
|
||||||
|
"toolbar.no-result": "無結果",
|
||||||
|
"toolbar.search.value.already-to-head": "已經到開頭了",
|
||||||
|
"toolbar.search.value.already-to-tail": "已經到結尾了",
|
||||||
|
"toolbar.search.value.searching": "搜索中",
|
||||||
|
"pivot.context.delete": "刪除信標",
|
||||||
|
"pivot.context.display-axis": "創建相對坐標軸",
|
||||||
|
"pivot.context.cancel-axis": "取消相對坐標軸",
|
||||||
|
"setting.appearance.pivot-color": "信標顏色",
|
||||||
|
"setting.appearance.moving-pivot": "移動信標",
|
||||||
|
"setting.appearance.user-pivot": "用戶信標",
|
||||||
|
"setting.appearance.system-pivot": "系統信標",
|
||||||
|
"confirm": "確定",
|
||||||
|
"cancel": "取消",
|
||||||
|
"tips": "提示",
|
||||||
|
"filemenu.save-view": "保存視圖文件",
|
||||||
|
"filemenu.save-as-view": "另存為視圖文件",
|
||||||
|
"filemenu.load-view": "導入視圖文件",
|
||||||
|
"filemenu.auto-save": "自動保存",
|
||||||
|
"current-version": "當前版本",
|
||||||
|
"copyright": "本軟件版權歸 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 項目組所有,歡迎 <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>。",
|
||||||
|
"setting.language.change-dialog": "您已將語言更改為 {0},我們建議您重新啟動 Vcd Viewer。",
|
||||||
|
"resources": "資源",
|
||||||
|
"tools": "工具",
|
||||||
|
"prompts": "提示",
|
||||||
|
"interaction-test": "交互測試",
|
||||||
|
"setting": "設定",
|
||||||
|
"about": "關於",
|
||||||
|
"connected": "已連線",
|
||||||
|
"disconnected": "已斷開連接",
|
||||||
|
"debug": "偵錯",
|
||||||
|
"connect": "連接"
|
||||||
|
}
|
@ -1,5 +1,12 @@
|
|||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
import App from "./App.vue";
|
import App from "./App.vue";
|
||||||
import router from "./router";
|
import router from "./router";
|
||||||
|
import i18n from './i18n';
|
||||||
|
import ElementPlus from 'element-plus'
|
||||||
|
import 'element-plus/dist/index.css'
|
||||||
|
|
||||||
createApp(App).use(router).mount("#app");
|
createApp(App)
|
||||||
|
.use(i18n)
|
||||||
|
.use(router)
|
||||||
|
.use(ElementPlus)
|
||||||
|
.mount('#app')
|
@ -1,21 +1,30 @@
|
|||||||
import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
|
import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
|
||||||
import HomeView from "../views/HomeView.vue";
|
|
||||||
|
|
||||||
const routes: Array<RouteRecordRaw> = [
|
const routes: Array<RouteRecordRaw> = [
|
||||||
{
|
{
|
||||||
path: "/",
|
path: "/debug",
|
||||||
name: "home",
|
name: "debug",
|
||||||
component: HomeView,
|
component: () => import("@/views/debug/index.vue"),
|
||||||
|
meta: { title: "Debug" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/connect",
|
||||||
|
name: "connect",
|
||||||
|
component: () => import("@/views/connect/index.vue"),
|
||||||
|
meta: { title: "Connect" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/setting",
|
||||||
|
name: "setting",
|
||||||
|
component: () => import("@/views/setting/index.vue"),
|
||||||
|
meta: { title: "Setting" }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/about",
|
path: "/about",
|
||||||
name: "about",
|
name: "about",
|
||||||
// route level code-splitting
|
component: () => import("@/views/about/index.vue"),
|
||||||
// this generates a separate chunk (about.[hash].js) for this route
|
meta: { title: "Tools" }
|
||||||
// which is lazy-loaded when the route is visited.
|
}
|
||||||
component: () =>
|
|
||||||
import(/* webpackChunkName: "about" */ "../views/AboutView.vue"),
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
@ -23,4 +32,12 @@ const router = createRouter({
|
|||||||
routes,
|
routes,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
router.beforeEach((to, from, next) => {
|
||||||
|
if (to.meta.title) {
|
||||||
|
document.title = `OpenMCP | ${to.meta.title}`;
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
@ -1,5 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="about">
|
|
||||||
<h1>This is an about page</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
@ -1,18 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="home">
|
|
||||||
<img alt="Vue logo" src="../assets/logo.png" />
|
|
||||||
<HelloWorld msg="Welcome to Your Vue.js + TypeScript App" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
import { defineComponent } from "vue";
|
|
||||||
import HelloWorld from "@/components/HelloWorld.vue"; // @ is an alias to /src
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: "HomeView",
|
|
||||||
components: {
|
|
||||||
HelloWorld,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
22
app/src/views/about/index.vue
Normal file
22
app/src/views/about/index.vue
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
OpenMCP Client 0.0.1 由 @锦恢 开发
|
||||||
|
|
||||||
|
<p>@锦恢 享有软件本体的所有权</p>
|
||||||
|
|
||||||
|
<p>软件已开源 <a href="https://github.com/LSTM-Kirigaya/openmcp-client" target="_blank">
|
||||||
|
LSTM-Kirigaya/openmcp-client
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
<p>请遵循开源协议进行分发和二次开发。</p>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'about' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
13
app/src/views/connect/index.vue
Normal file
13
app/src/views/connect/index.vue
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'connect' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
16
app/src/views/debug/index.vue
Normal file
16
app/src/views/debug/index.vue
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<template>
|
||||||
|
<div style="height: 100%;">
|
||||||
|
<Welcome></Welcome>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
import Welcome from './welcome.vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'TEMPLATE_NAME' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
103
app/src/views/debug/welcome.vue
Normal file
103
app/src/views/debug/welcome.vue
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
<template>
|
||||||
|
<div class="debug-welcome">
|
||||||
|
<span>选择一个项目进行调试</span>
|
||||||
|
<div class="welcome-container">
|
||||||
|
<span
|
||||||
|
class="debug-option"
|
||||||
|
v-for="(option, index) of debugOptions"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
<span :class="`iconfont ${option.icon}`"></span>
|
||||||
|
</span>
|
||||||
|
<span>{{ option.name }}</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
defineComponent({ name: 'welcome' });
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
const debugOptions = [
|
||||||
|
{
|
||||||
|
icon: 'icon-file',
|
||||||
|
name: t("resources"),
|
||||||
|
ident: 'resources'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-chat',
|
||||||
|
name: t("prompts"),
|
||||||
|
ident: 'prompts'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-tool',
|
||||||
|
name: t("tools"),
|
||||||
|
ident: 'tool'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'icon-robot',
|
||||||
|
name: t("interaction-test"),
|
||||||
|
ident: 'interaction'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.debug-welcome {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.debug-welcome > span {
|
||||||
|
font-size: 30px;
|
||||||
|
margin-top: 100px;
|
||||||
|
margin-bottom: 76px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.welcome-container {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome-container > span {
|
||||||
|
flex: 1 1 calc(50% - 100px);
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.debug-option {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 24px;
|
||||||
|
padding: 30px 0;
|
||||||
|
border-radius: .5em;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid var(--sidebar);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.debug-option > span:first-child {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.debug-option:hover {
|
||||||
|
border: 1px solid var(--main-color);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.debug-option .iconfont {
|
||||||
|
font-size: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
12
app/src/views/setting/index.vue
Normal file
12
app/src/views/setting/index.vue
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
defineComponent({ name: 'setting' });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
@ -9,6 +9,7 @@
|
|||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
"useDefineForClassFields": true,
|
"useDefineForClassFields": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
|
@ -1 +1,9 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742640634061" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1503" data-darkreader-inline-fill="" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M768 854.016h-170.016L768 170.016h170.016L768 854.016zM682.016 170.016H512l-170.016 684H512l170.016-684zM86.016 704q0 44 31.008 75.008t75.008 31.008 75.008-31.008T298.048 704t-31.008-75.008-75.008-31.008-75.008 31.008T86.016 704z m0-297.984q0 44 31.008 75.008t75.008 31.008 75.008-31.008 31.008-75.008-31.008-76-75.008-32-75.008 32-31.008 76z" p-id="1504"></path></svg>
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg t="1742640634061" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" p-id="1503" data-darkreader-inline-fill=""
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
||||||
|
<path
|
||||||
|
d="M768 854.016h-170.016L768 170.016h170.016L768 854.016zM682.016 170.016H512l-170.016 684H512l170.016-684zM86.016 704q0 44 31.008 75.008t75.008 31.008 75.008-31.008T298.048 704t-31.008-75.008-75.008-31.008-75.008 31.008T86.016 704z m0-297.984q0 44 31.008 75.008t75.008 31.008 75.008-31.008 31.008-75.008-31.008-76-75.008-32-75.008 32-31.008 76z"
|
||||||
|
p-id="1504" fill="#CB81DA"></path>
|
||||||
|
</svg>
|
Before Width: | Height: | Size: 733 B After Width: | Height: | Size: 759 B |
Loading…
x
Reference in New Issue
Block a user