Compare commits
10 Commits
afa5e8fb2b
...
db7ae7a85c
Author | SHA1 | Date | |
---|---|---|---|
db7ae7a85c | |||
a07ba33016 | |||
514772d549 | |||
d257fb5a89 | |||
acd4fd704a | |||
0d13fefed5 | |||
860d5df52a | |||
1cf41bd897 | |||
43f4245cac | |||
bb113deea5 |
30
package-lock.json
generated
30
package-lock.json
generated
@ -15,7 +15,7 @@
|
||||
"bson": "^6.8.0",
|
||||
"core-js": "^3.8.3",
|
||||
"crypto": "^1.0.1",
|
||||
"element-plus": "^2.6.3",
|
||||
"element-plus": "^2.9.1",
|
||||
"lodash.get": "^4.4.2",
|
||||
"mitt": "^3.0.1",
|
||||
"onml": "^2.1.0",
|
||||
@ -5052,9 +5052,9 @@
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||
},
|
||||
"node_modules/dayjs": {
|
||||
"version": "1.11.10",
|
||||
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
|
||||
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
|
||||
"version": "1.11.13",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||
},
|
||||
"node_modules/debounce": {
|
||||
"version": "1.2.1",
|
||||
@ -5447,9 +5447,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/element-plus": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.6.3.tgz",
|
||||
"integrity": "sha512-U4L/mr+1r+EmAUYUHrs0V/8hHMdBGP07rPymSC72LZCN4jK1UwygQYICegTQ5us4mxeqBvW6wfoEfo003fwCqw==",
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.1.tgz",
|
||||
"integrity": "sha512-9Agqf/jt4Ugk7EZ6C5LME71sgkvauPCsnvJN12Xid2XVobjufxMGpRE4L7pS4luJMOmFAH3J0NgYEGZT5r+NDg==",
|
||||
"dependencies": {
|
||||
"@ctrl/tinycolor": "^3.4.1",
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
@ -5459,7 +5459,7 @@
|
||||
"@types/lodash-es": "^4.17.6",
|
||||
"@vueuse/core": "^9.1.0",
|
||||
"async-validator": "^4.2.5",
|
||||
"dayjs": "^1.11.3",
|
||||
"dayjs": "^1.11.13",
|
||||
"escape-html": "^1.0.3",
|
||||
"lodash": "^4.17.21",
|
||||
"lodash-es": "^4.17.21",
|
||||
@ -15092,9 +15092,9 @@
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||
},
|
||||
"dayjs": {
|
||||
"version": "1.11.10",
|
||||
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
|
||||
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
|
||||
"version": "1.11.13",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||
},
|
||||
"debounce": {
|
||||
"version": "1.2.1",
|
||||
@ -15415,9 +15415,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"element-plus": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.6.3.tgz",
|
||||
"integrity": "sha512-U4L/mr+1r+EmAUYUHrs0V/8hHMdBGP07rPymSC72LZCN4jK1UwygQYICegTQ5us4mxeqBvW6wfoEfo003fwCqw==",
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.1.tgz",
|
||||
"integrity": "sha512-9Agqf/jt4Ugk7EZ6C5LME71sgkvauPCsnvJN12Xid2XVobjufxMGpRE4L7pS4luJMOmFAH3J0NgYEGZT5r+NDg==",
|
||||
"requires": {
|
||||
"@ctrl/tinycolor": "^3.4.1",
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
@ -15427,7 +15427,7 @@
|
||||
"@types/lodash-es": "^4.17.6",
|
||||
"@vueuse/core": "^9.1.0",
|
||||
"async-validator": "^4.2.5",
|
||||
"dayjs": "^1.11.3",
|
||||
"dayjs": "^1.11.13",
|
||||
"escape-html": "^1.0.3",
|
||||
"lodash": "^4.17.21",
|
||||
"lodash-es": "^4.17.21",
|
||||
|
@ -12,7 +12,7 @@
|
||||
"bson": "^6.8.0",
|
||||
"core-js": "^3.8.3",
|
||||
"crypto": "^1.0.1",
|
||||
"element-plus": "^2.6.3",
|
||||
"element-plus": "^2.9.1",
|
||||
"lodash.get": "^4.4.2",
|
||||
"mitt": "^3.0.1",
|
||||
"onml": "^2.1.0",
|
||||
|
@ -77,6 +77,22 @@
|
||||
opacity: 0%;
|
||||
}
|
||||
|
||||
.right-nav-enter-active,
|
||||
.right-nav-leave-active {
|
||||
transition: all .5s ease-out;
|
||||
-moz-transition: all .5s ease-out;
|
||||
-webkit-transition: all .5s ease-out;
|
||||
}
|
||||
.right-nav-enter-from {
|
||||
position: relative;
|
||||
transform: translateX(-100px);
|
||||
opacity: 0%;
|
||||
}
|
||||
.right-nav-leave-to {
|
||||
transform: translateX(-100px);
|
||||
opacity: 0%;
|
||||
}
|
||||
|
||||
.collapse-from-top-enter-active,
|
||||
.collapse-from-top-leave-active {
|
||||
transition: var(--animation-3s);
|
||||
|
8007
public/cpu.vcd
8007
public/cpu.vcd
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
@ -16,8 +16,8 @@
|
||||
|
||||
<script>
|
||||
window.readVcdFile = async () => {
|
||||
let inputVcdFile = 'basic_tb.vcd';
|
||||
let inputViewFile = 'basic_tb.view';
|
||||
let inputVcdFile = 'test.vcd';
|
||||
let inputViewFile = 'test.view';
|
||||
const response = await fetch(inputVcdFile);
|
||||
const arrayBuffer = await response.arrayBuffer();
|
||||
return [arrayBuffer, inputVcdFile, inputViewFile];
|
||||
|
BIN
public/test.view
BIN
public/test.view
Binary file not shown.
@ -41,8 +41,8 @@ body::-webkit-scrollbar {
|
||||
|
||||
* hr {
|
||||
border: none;
|
||||
background-color: var(--vscode-focusBorder);
|
||||
height: 2px;
|
||||
background-color: var(--main-color);
|
||||
height: 1.5px;
|
||||
width: 95%;
|
||||
}
|
||||
/*
|
||||
@ -118,8 +118,8 @@ a {
|
||||
.digital-ide-icon.big {
|
||||
background-image: url(./icon.svg);
|
||||
background-size: 100%;
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
height: 150px;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner {
|
||||
|
File diff suppressed because one or more lines are too long
BIN
public/vcd.wasm
BIN
public/vcd.wasm
Binary file not shown.
@ -1,27 +0,0 @@
|
||||
import requests as r
|
||||
import os
|
||||
import shutil
|
||||
import zipfile
|
||||
|
||||
res = r.get('https://kirigaya.cn/files/links/tmp.zip')
|
||||
|
||||
# 解压文件
|
||||
with zipfile.ZipFile('./scripts/tmp.zip', 'r') as zipf:
|
||||
zipf.extractall('./scripts/tmp')
|
||||
|
||||
# 将文件搬运至工作区,我的 css 全放在 public 下面了,你的视情况而定
|
||||
for parent, _, files in os.walk('./scripts/tmp'):
|
||||
for file in files:
|
||||
filepath = os.path.join(parent, file)
|
||||
if file.startswith('demo'):
|
||||
continue
|
||||
if file.endswith('.css'):
|
||||
content = open(filepath, 'r', encoding='utf-8').read().replace('font-size: 16px;', '')
|
||||
open(filepath, 'w', encoding='utf-8').write(content)
|
||||
shutil.move(filepath, os.path.join('./public', file))
|
||||
elif file.endswith('.woff2'):
|
||||
shutil.move(filepath, os.path.join('./public', file))
|
||||
|
||||
# 删除压缩包和解压区域
|
||||
os.remove('./scripts/tmp.zip')
|
||||
shutil.rmtree('./scripts/tmp')
|
@ -1,14 +1,19 @@
|
||||
import os
|
||||
|
||||
exclude_files = [
|
||||
'onedark.css',
|
||||
'onelight.css',
|
||||
'default-dark.css',
|
||||
'default-light.css'
|
||||
]
|
||||
|
||||
os.system('npm run build')
|
||||
for file in os.listdir('dist'):
|
||||
if file.endswith('.vcd'):
|
||||
if file.endswith('.vcd') or file.endswith('.view') or file in exclude_files:
|
||||
os.remove('dist/' + file)
|
||||
|
||||
with open('./dist/index.html', 'r', encoding='utf-8') as fp:
|
||||
html = fp.read()
|
||||
|
||||
html = html.replace("''", "'<root>'")
|
||||
|
||||
with open('./dist/index.html', 'w', encoding='utf-8') as fp:
|
||||
fp.write(html)
|
14
src/App.vue
14
src/App.vue
@ -10,16 +10,16 @@
|
||||
|
||||
<!-- 显示当前信号树形关系 -->
|
||||
<!-- 右侧工具合集 -->
|
||||
<RightNav :topModules="VcdInfo.topModules"></RightNav>
|
||||
<RightNav></RightNav>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, reactive, watch } from 'vue';
|
||||
import { onMounted, watch } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
import { ElLoading } from 'element-plus';
|
||||
|
||||
import { emitter, globalLookup, globalSetting } from '@/hook/global';
|
||||
import { emitter, globalLookup, globalSetting, VcdInfo } from '@/hook/global';
|
||||
import { makeWaveView } from '@/hook/render';
|
||||
import { getCrossOriginWorkerURL } from '@/hook/network';
|
||||
|
||||
@ -43,10 +43,6 @@ watch(
|
||||
{ deep: true }
|
||||
);
|
||||
|
||||
const VcdInfo = reactive({
|
||||
topModules: [],
|
||||
values: [],
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
const loading = new ElLoading.service({
|
||||
@ -88,6 +84,9 @@ onMounted(async () => {
|
||||
const vcdInfo = workerVars.vcdInfo;
|
||||
const signalValues = workerVars.signalValues;
|
||||
|
||||
// console.log(vcdInfo);
|
||||
// console.log(signalValues);
|
||||
|
||||
for (const topModule of vcdInfo.wires.body) {
|
||||
VcdInfo.topModules.push(topModule);
|
||||
}
|
||||
@ -110,7 +109,6 @@ onMounted(async () => {
|
||||
emitter.emit('meta-ready', null);
|
||||
|
||||
// 这一步时,已经加载完成
|
||||
|
||||
// 初始化右侧的模型 treeview 面板
|
||||
// 默认第一个模块被选中
|
||||
if (VcdInfo.topModules.length > 0) {
|
||||
|
@ -20,7 +20,7 @@ export async function saveView(originVcdFile, originVcdViewFile, payload) {
|
||||
return;
|
||||
}
|
||||
if (mode === 'debug') {
|
||||
const res = await axios.post('http://localhost:3000/save-view', { originVcdFile, originVcdViewFile, payload });
|
||||
const res = await axios.post('http://localhost:3000/vcd/save-view', { originVcdFile, originVcdViewFile, payload });
|
||||
// const res = await axios.get('http://localhost:3000');
|
||||
console.log(res);
|
||||
} else {
|
||||
@ -39,7 +39,7 @@ export async function saveView(originVcdFile, originVcdViewFile, payload) {
|
||||
*/
|
||||
export async function saveViewAs(originVcdFile, originVcdViewFile, payload) {
|
||||
if (mode === 'debug') {
|
||||
const res = await axios.post('http://localhost:3000/save-view-as', { originVcdFile, originVcdViewFile, payload });
|
||||
const res = await axios.post('http://localhost:3000/vcd/save-view-as', { originVcdFile, originVcdViewFile, payload });
|
||||
if (res.data && res.data.viewPath) {
|
||||
const newVcdViewPath = res.data.viewPath;
|
||||
globalLookup.originVcdViewFile = newVcdViewPath;
|
||||
@ -54,7 +54,7 @@ export async function saveViewAs(originVcdFile, originVcdViewFile, payload) {
|
||||
|
||||
export async function loadView(originVcdFile) {
|
||||
if (mode === 'debug') {
|
||||
const res = await axios.post('http://localhost:3000/load-view', { originVcdFile });
|
||||
const res = await axios.post('http://localhost:3000/vcd/load-view', { originVcdFile });
|
||||
if (res.data && res.data.recoverJson && res.data.viewPath) {
|
||||
globalLookup.originVcdViewFile = res.data.viewPath;
|
||||
return res.data.recoverJson;
|
||||
|
@ -85,13 +85,10 @@ export default {
|
||||
<style>
|
||||
.about-wrapper {
|
||||
margin-top: 10px;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.version-caption {
|
||||
display: flex;
|
||||
width: 100% !important;
|
||||
font-size: 1.1rem;
|
||||
padding: 10px;
|
||||
margin: 10px;
|
||||
align-items: center;
|
||||
@ -133,6 +130,7 @@ export default {
|
||||
justify-content: space-between;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
width: 363px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ text.high-impedance {
|
||||
}
|
||||
|
||||
text.unknown {
|
||||
fill: hsl(287, 100%, 67%);
|
||||
fill: #f48771;
|
||||
}
|
||||
|
||||
text.pc {
|
||||
|
@ -113,7 +113,7 @@ emitter.on('meta-ready', () => {
|
||||
|
||||
.current-display-cursor-up {
|
||||
height: var(--time-scale-height);
|
||||
width: 60px;
|
||||
width: 50px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
@ -134,11 +134,10 @@ emitter.on('meta-ready', () => {
|
||||
}
|
||||
|
||||
.current-time-value {
|
||||
border-radius: .4em;
|
||||
border-radius: .3em;
|
||||
color: var(--sidebar);
|
||||
padding: 5px;
|
||||
width: fit-content;
|
||||
font-size: 1.05rem;
|
||||
position: absolute;
|
||||
font-family: var(--vcd-value-font-family);
|
||||
white-space: nowrap;
|
||||
z-index: 60;
|
||||
@ -147,16 +146,16 @@ emitter.on('meta-ready', () => {
|
||||
.cursor-down-arrow {
|
||||
transform: rotate(225deg);
|
||||
position: absolute;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
/* 30px - 10 * 2 / \sqrt{2} */
|
||||
left: 19.93px;
|
||||
bottom: -3px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
/* 25px - 10 * 2 / \sqrt{2} */
|
||||
left: 17.93px;
|
||||
bottom: 0;
|
||||
z-index: 50;
|
||||
}
|
||||
|
||||
.vertical-line {
|
||||
height: calc(100vh - 2 * var(--time-scale-height) - 65px);
|
||||
height: calc(100vh - 2 * var(--time-scale-height) - 63px);
|
||||
}
|
||||
|
||||
.cursor-up-arrow {
|
||||
@ -165,7 +164,7 @@ emitter.on('meta-ready', () => {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
left: 19.93px;
|
||||
top: -3px;
|
||||
top: 0px;
|
||||
z-index: 50;
|
||||
}
|
||||
</style>
|
@ -98,10 +98,10 @@ const renderPivot = computed(() => {
|
||||
}
|
||||
|
||||
.current-time-value {
|
||||
border-radius: .4em;
|
||||
border-radius: .3em;
|
||||
color: var(--vscode-foreground);
|
||||
padding: 5px;
|
||||
width: fit-content;
|
||||
position: absolute;
|
||||
font-family: var(--vcd-value-font-family);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
@ -298,10 +298,10 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.current-time-value {
|
||||
border-radius: .4em;
|
||||
border-radius: .3em;
|
||||
color: var(--vscode-foreground);
|
||||
padding: 5px;
|
||||
width: fit-content;
|
||||
position: absolute;
|
||||
font-family: var(--vcd-value-font-family);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
@ -19,6 +19,9 @@ export const controlPanel = reactive({
|
||||
if (this.currentIndex === index) {
|
||||
this.currentIndex = -1;
|
||||
} else {
|
||||
if (horizontalResizer.width < 5) {
|
||||
horizontalResizer.width = 440;
|
||||
}
|
||||
this.currentIndex = index;
|
||||
}
|
||||
|
||||
@ -26,3 +29,21 @@ export const controlPanel = reactive({
|
||||
saveViewApi({ rightNavIndex: true });
|
||||
}
|
||||
});
|
||||
|
||||
export const horizontalResizer = reactive({
|
||||
active: false,
|
||||
hover: false,
|
||||
width: 440,
|
||||
mousedown() {
|
||||
this.active = true;
|
||||
document.addEventListener('mousemove', resize);
|
||||
}
|
||||
});
|
||||
|
||||
export function resize(event) {
|
||||
// 50 是 --right-nav-width
|
||||
const computedWidth = window.innerWidth - event.clientX - 50;
|
||||
if (computedWidth >= 0 && computedWidth <= 2000) {
|
||||
horizontalResizer.width = computedWidth;
|
||||
}
|
||||
}
|
@ -1,14 +1,25 @@
|
||||
<template>
|
||||
<div class="vcd-right-nav">
|
||||
|
||||
<div class="horizontal-scalable-wrapper" :style="resizerWrapperStyle"
|
||||
v-show="controlPanel.currentIndex > -1">
|
||||
<div class="horizontal-resizer"
|
||||
@mousedown="horizontalResizer.mousedown()"
|
||||
@mouseenter="horizontalResizer.hover = true"
|
||||
@mouseleave="horizontalResizer.hover = false"
|
||||
:class="{ 'active': horizontalResizer.active || horizontalResizer.hover }"
|
||||
></div>
|
||||
<div class="vcd-function-panel">
|
||||
<TreeView :topModules="props.topModules"
|
||||
<TreeView
|
||||
v-show="controlPanel.currentIndex === 0"></TreeView>
|
||||
|
||||
<Setting
|
||||
v-show="controlPanel.currentIndex === 1"></Setting>
|
||||
|
||||
<About
|
||||
v-show="controlPanel.currentIndex === 2"></About>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vcd-function-option">
|
||||
<div class="vcd-control-panel-wrapper">
|
||||
@ -29,13 +40,13 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineComponent, reactive } from 'vue';
|
||||
import { defineComponent, onMounted, computed } from 'vue';
|
||||
|
||||
import TreeView from '@/components/treeview';
|
||||
import Setting from '@/components/setting';
|
||||
import About from '@/components/about';
|
||||
import { emitter } from '@/hook/global';
|
||||
import { controlPanel } from './right-nav';
|
||||
import { controlPanel, horizontalResizer, resize } from './right-nav';
|
||||
|
||||
defineComponent({ name: 'right-nav' });
|
||||
const props = defineProps({
|
||||
@ -45,6 +56,12 @@ const props = defineProps({
|
||||
}
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
document.addEventListener('mouseup', () => {
|
||||
horizontalResizer.active = false;
|
||||
document.removeEventListener('mousemove', resize);
|
||||
});
|
||||
});
|
||||
|
||||
emitter.on('right-nav', index => {
|
||||
if (controlPanel.currentIndex === index) {
|
||||
@ -54,6 +71,11 @@ emitter.on('right-nav', index => {
|
||||
}
|
||||
});
|
||||
|
||||
const resizerWrapperStyle = computed(() => ({
|
||||
width: horizontalResizer.width + 'px'
|
||||
}));
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@ -69,14 +91,36 @@ emitter.on('right-nav', index => {
|
||||
display: flex;
|
||||
background-color: var(--sidebar);
|
||||
height: 100vh;
|
||||
z-index: 200;
|
||||
user-select: none;
|
||||
box-shadow: var(--gray-box-shadow-1);
|
||||
}
|
||||
|
||||
.horizontal-scalable-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.horizontal-resizer {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 2px;
|
||||
height: 100%;
|
||||
cursor: ew-resize;
|
||||
transition: var(--animation-5s);
|
||||
z-index: 201;
|
||||
}
|
||||
|
||||
.horizontal-resizer.active {
|
||||
background-color: var(--main-color);
|
||||
transition: var(--animation-5s);
|
||||
}
|
||||
|
||||
.vcd-function-option {
|
||||
width: fit-content;
|
||||
height: 100vh;
|
||||
background-color: var(--sidebar);
|
||||
box-shadow: var(--gray-box-shadow-1);
|
||||
z-index: 400;
|
||||
}
|
||||
|
||||
.vcd-control-panel-wrapper {
|
||||
|
@ -4,9 +4,11 @@
|
||||
<div class="setting-section">
|
||||
<h2>{{ t('general-setting') }}</h2>
|
||||
<div class="setting-option" style="width: 220px;">
|
||||
<span>
|
||||
<span class="iconfont icon-i18n"></span>
|
||||
 
|
||||
<span class="option-title">{{ t('language-setting') }}</span>
|
||||
</span>
|
||||
<div style="width: 100px;">
|
||||
<el-select
|
||||
name="language-setting"
|
||||
@ -29,7 +31,7 @@
|
||||
:title="t('tips')"
|
||||
width="500"
|
||||
>
|
||||
<span>{{ t('setting.language.change-dialog') }}</span>
|
||||
<span>{{ t('setting.language.change-dialog', [currentLanguage]) }}</span>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="confirmLanguageDialog()">
|
||||
@ -56,7 +58,11 @@
|
||||
<span class="option-title">
|
||||
{{ t('render-animation') }}
|
||||
</span>
|
||||
<el-switch v-model="globalSetting.renderAnimation" size="default"/>
|
||||
<el-switch
|
||||
v-model="globalSetting.renderAnimation"
|
||||
active-text="ON"
|
||||
inactive-text="OFF"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
@ -92,7 +98,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="setting-section">
|
||||
<h2>{{ t('appearance-setting') }}</h2>
|
||||
@ -115,7 +120,8 @@
|
||||
|
||||
<div class="setting-option">
|
||||
<span class="option-title" style="width: 100px;">{{ t('wavecolor') }}</span>
|
||||
<div style="width: 120px">
|
||||
<div class="option-group">
|
||||
<div style="width: 100px;">
|
||||
<el-select
|
||||
v-model="wavecolor.currentOptionIndex"
|
||||
collapse-tags
|
||||
@ -129,17 +135,18 @@
|
||||
<div style="height: 20px; width: 20px;"></div>
|
||||
<el-color-picker
|
||||
v-model="wavecolor.colors[wavecolor.currentOptionIndex]"
|
||||
show-alpha
|
||||
:predefine="predefinedColors"
|
||||
size="large"
|
||||
:teleported="false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="setting-option">
|
||||
<span class="option-title" style="width: 100px;">{{ t('setting.appearance.pivot-color') }}</span>
|
||||
<div style="width: 120px">
|
||||
<div class="option-group">
|
||||
<div style="width: 100px;">
|
||||
<el-select
|
||||
v-model="pivotColor.currentOptionIndex"
|
||||
collapse-tags
|
||||
@ -153,27 +160,34 @@
|
||||
<div style="height: 20px; width: 20px;"></div>
|
||||
<el-color-picker
|
||||
v-model="pivotColor.colors[pivotColor.currentOptionIndex]"
|
||||
show-alpha
|
||||
:predefine="predefinedColors"
|
||||
size="large"
|
||||
:teleported="false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="setting-section">
|
||||
<h2>{{ t('search-setting') }}</h2>
|
||||
<div class="setting-option">
|
||||
<span class="option-title">{{ t('search-case-sensitivity') }}</span>
|
||||
<el-switch v-model="globalSetting.caseSensitivity" size="default"/>
|
||||
<el-switch
|
||||
v-model="globalSetting.caseSensitivity"
|
||||
active-text="ON"
|
||||
inactive-text="OFF"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="setting-option">
|
||||
<span class="option-title">{{ t('search-display-parent-only') }}</span>
|
||||
<el-switch v-model="globalSetting.displayParentOnly" size="default"/>
|
||||
<el-switch
|
||||
v-model="globalSetting.displayParentOnly"
|
||||
active-text="ON"
|
||||
inactive-text="OFF"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
@ -183,7 +197,6 @@
|
||||
<div style="width: 150px;">
|
||||
<el-select
|
||||
v-model="globalSetting.searchScope"
|
||||
size="large"
|
||||
multiple
|
||||
collapse-tags
|
||||
collapse-tags-tooltip
|
||||
@ -224,13 +237,16 @@ watch(
|
||||
}
|
||||
);
|
||||
|
||||
const currentLanguage = ref('简体中文');
|
||||
const languageDialogShow = ref(false);
|
||||
|
||||
function confirmLanguageDialog() {
|
||||
languageDialogShow.value = false;
|
||||
}
|
||||
|
||||
function onlanguagechange() {
|
||||
function onlanguagechange(code) {
|
||||
const option = languageSetting.options.find(item => item.value === code);
|
||||
currentLanguage.value = option.text;
|
||||
languageDialogShow.value = true;
|
||||
}
|
||||
|
||||
@ -395,23 +411,35 @@ const safeModifySignalTrackHeight = debounceWrapper(modifySignalTrackHeight, 200
|
||||
}
|
||||
|
||||
.setting-option {
|
||||
margin: 5px;
|
||||
margin: 3px;
|
||||
padding: 8px 12px;
|
||||
height: 40px;
|
||||
width: fit-content;
|
||||
width: 360px !important;
|
||||
border-radius: .5em;
|
||||
background-color: var(--background);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.option-group {
|
||||
display: flex;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.option-title {
|
||||
font-size: 0.8rem;
|
||||
min-width: 80px;
|
||||
margin-right: 12px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner,
|
||||
.el-checkbox-button__inner {
|
||||
font-size: 0.8rem !important;
|
||||
}
|
||||
|
||||
.el-slider__button {
|
||||
background-color: var(--background) !important;
|
||||
}
|
||||
|
@ -14,7 +14,6 @@
|
||||
<CursorLocation></CursorLocation>
|
||||
 
|
||||
<ValueSearch></ValueSearch>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="vcd-signal-title">{{ t('module') }}</div>
|
||||
<hr>
|
||||
<el-scrollbar height="86vh" style="padding-right: 7px;">
|
||||
<Modules v-for="mod of props.topModules"
|
||||
<Modules v-for="mod of VcdInfo.topModules"
|
||||
:key="mod.name"
|
||||
:module="mod"
|
||||
></Modules>
|
||||
@ -20,40 +20,24 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { onMounted } from 'vue';
|
||||
<script setup>
|
||||
import { defineComponent } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
import TreeViewSearch from '@/components/treeview/search.vue';
|
||||
import Modules from '@/components/treeview/modules.vue';
|
||||
import Signals from '@/components/treeview/signals.vue';
|
||||
|
||||
import { VcdInfo } from '@/hook/global';
|
||||
|
||||
export default {
|
||||
name: 'tree-view',
|
||||
components: {
|
||||
Modules,
|
||||
Signals,
|
||||
TreeViewSearch
|
||||
},
|
||||
props: {
|
||||
topModules: Array
|
||||
},
|
||||
setup(props) {
|
||||
const { t } = useI18n();
|
||||
defineComponent({ name: 'tree-view' });
|
||||
const { t } = useI18n();
|
||||
|
||||
|
||||
return {
|
||||
props,
|
||||
t
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.vcd-module-info {
|
||||
width: fit-content;
|
||||
width: 200px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,6 @@
|
||||
id="search-result-wrapper"
|
||||
>
|
||||
<el-scrollbar
|
||||
height="50vh"
|
||||
width="600px"
|
||||
class="search-result"
|
||||
@mouseenter="searchManage.mouseOnResult = true"
|
||||
@ -171,17 +170,17 @@ const safeSearch = debounceWrapper(search, 200);
|
||||
}
|
||||
|
||||
.search-nothing {
|
||||
height: 40vh;
|
||||
height: 20vh;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.1rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.search-nothing .iconfont {
|
||||
font-size: 120px;
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
</style>
|
@ -109,7 +109,7 @@ function toggleRender(event, signal) {
|
||||
}
|
||||
|
||||
.icon-register {
|
||||
color:#885dff;
|
||||
color: #885dff;
|
||||
}
|
||||
|
||||
.icon-integer {
|
||||
|
@ -8,7 +8,7 @@ export function setDefaultCss() {
|
||||
document.body.style.setProperty('--el-color-primary-light-3', 'var(--main-color)');
|
||||
document.body.style.setProperty('--el-text-color-secondary', 'var(--foreground)');
|
||||
document.body.style.setProperty('--el-text-color-regular', 'var(--foreground)');
|
||||
document.body.style.setProperty('--el-border-color', 'var(--vscode-focusBorder)');
|
||||
document.body.style.setProperty('--el-border-color', 'var(--main-color)');
|
||||
document.body.style.setProperty('--el-fill-color-blank', 'var(--sidebar)');
|
||||
document.body.style.setProperty('--el-fill-color-light', 'var(--vscode-button-hoverBackground)');
|
||||
document.body.style.setProperty('--el-switch-on-color', 'var(--main-color)');
|
||||
@ -16,9 +16,10 @@ export function setDefaultCss() {
|
||||
document.body.style.setProperty('--el-border-color-light', 'var(--sidebar)');
|
||||
document.body.style.setProperty('--el-border-color-lighter', 'var(--sidebar)');
|
||||
document.body.style.setProperty('--el-bg-color-overlay', 'var(--sidebar)');
|
||||
document.body.style.setProperty('--el-color-info-light-9', 'var(--vscode-focusBorder)');
|
||||
document.body.style.setProperty('--el-color-info-light-9', 'var(--main-color)');
|
||||
document.body.style.setProperty('--el-color-info', 'var(--foreground)');
|
||||
document.body.style.setProperty('--el-color-info-light-8', 'var(--vscode-focusBorder)');
|
||||
document.body.style.setProperty('--el-color-info-light-8', 'var(--main-color)');
|
||||
document.body.style.setProperty('--el-fill-color-light', 'var(--sidebar-item-selected)');
|
||||
// document.body.style.setProperty('--el-color-white', 'var(--background)');
|
||||
|
||||
// 设置全局宏
|
||||
|
@ -226,3 +226,7 @@ function getCurrentWiresRenderView() {
|
||||
return globalLookup.currentWiresRenderView;
|
||||
}
|
||||
|
||||
export const VcdInfo = reactive({
|
||||
topModules: [],
|
||||
values: [],
|
||||
});
|
||||
|
@ -27,13 +27,13 @@ const screenWidthPixel = window.screen.width * getRatio() / 100;
|
||||
// rgba 颜色通道,都是预设的颜色
|
||||
export const gl_Colors_template = [
|
||||
[0, 0, 0, 0 ], // 0: 空
|
||||
[0, 0, 255, 1], // 1: 未知态 X 默认颜色
|
||||
[0, 0, 255, 1], // 1: 未知态 默认颜色
|
||||
[51, 230, 26, 1], // 2: value = 0 用于 width = 1 的信号 默认颜色
|
||||
[51, 230, 26, 1], // 3: value = 1 用于 width = 1 的信号 默认颜色
|
||||
[230, 51, 51, 1], // 4: 高阻态 Z 默认颜色
|
||||
[230, 51, 51, 1], // 4: 高阻态 X 默认颜色
|
||||
[124, 77, 255, 1], // 5: vec 用于 width > 1 的信号
|
||||
[255, 0, 255, 1], // 6: yellow
|
||||
[255, 0, 255, 1], // 7: strange purple
|
||||
[244, 135, 113, 1], // 7: unknown,vec 未知状态,混杂了 x 的数值
|
||||
[0, 255, 0, 0.5], // 8: (l L) weak 0
|
||||
[255, 0, 255, 0.5], // 9: (h H) weak 1
|
||||
[255, 0, 0, 0.5], // 10: (w W) weak unknown
|
||||
@ -140,7 +140,7 @@ const ladderAnalog_GL_WidthShifts = new Float32Array([
|
||||
]);
|
||||
|
||||
|
||||
const lineAnalog_WidthShift = 0.0015;
|
||||
const lineAnalog_WidthShift = 0.002;
|
||||
const lineAnlog_GL_WidthShifts = new Float32Array([
|
||||
0, lineAnalog_WidthShift, // 0
|
||||
- lineAnalog_WidthShift, lineAnalog_WidthShift, // 1
|
||||
|
@ -35,7 +35,7 @@ class WebGL2WaveRender {
|
||||
const gl = canvas.getContext('webgl2', {
|
||||
premultipliedAlpha: false,
|
||||
alpha: true,
|
||||
antialias: false,
|
||||
antialias: true,
|
||||
depth: false
|
||||
});
|
||||
this.webglLocation = this.initProgram(gl);
|
||||
@ -205,15 +205,11 @@ class WebGL2WaveRender {
|
||||
* maskVertices: Int32Array
|
||||
* }}
|
||||
*/
|
||||
makeVecVertex(link, wave, time, debug = false) {
|
||||
makeVecVertex(link, wave, time) {
|
||||
const lookup = this.globalLookup;
|
||||
const vecRenderFn = this.selectVecRenderFn(lookup, link, wave, time);
|
||||
const { lineVertices, maskVertices } = vecRenderFn(lookup, link, wave, time);
|
||||
|
||||
if (debug) {
|
||||
console.log(lineVertices);
|
||||
}
|
||||
|
||||
return {
|
||||
lineVertices: new Int32Array(lineVertices),
|
||||
maskVertices: new Int32Array(maskVertices)
|
||||
@ -507,7 +503,7 @@ class WebGL2WaveRender {
|
||||
// 如果是 vec,根据设定的渲染模式和进行设置
|
||||
const vecRenderModal = _this.getVecRenderModal(globalLookup, signal.link);
|
||||
if (vecRenderModal === 0) {
|
||||
// 普通数字渲染模式、
|
||||
// 普通数字渲染模式
|
||||
gl.uniform2fv(webglLocation.widthShifts, gl_WidthShifts);
|
||||
gl.uniform2fv(webglLocation.shifts, gl_Shifts_for_bar);
|
||||
gl.bindVertexArray(signalItem.lineVao);
|
||||
|
@ -109,11 +109,17 @@ export class FormatValueRender {
|
||||
const width = this.width;
|
||||
const replacer = this.replacer;
|
||||
|
||||
if (value === 'x') {
|
||||
switch (value) {
|
||||
case 'x':
|
||||
return 'x';
|
||||
}
|
||||
|
||||
break;
|
||||
case '?':
|
||||
return '?';
|
||||
break;
|
||||
default:
|
||||
value = BigInt(value);
|
||||
break;
|
||||
}
|
||||
|
||||
// 如果是有符号数
|
||||
if (sign) {
|
||||
@ -287,7 +293,6 @@ export class JSValueRender {
|
||||
// 未知
|
||||
default: return '?';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -301,10 +306,17 @@ export class JSValueRender {
|
||||
const width = this.width;
|
||||
const replacer = this.replacer;
|
||||
|
||||
if (value === 'x') {
|
||||
switch (value) {
|
||||
case 'x':
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
return -1;
|
||||
break;
|
||||
default:
|
||||
value = BigInt(value);
|
||||
break;
|
||||
}
|
||||
|
||||
// 如果是有符号数
|
||||
if (sign) {
|
||||
|
@ -292,6 +292,10 @@ export function renderAsCommonDigital(lookup, link, wave, time) {
|
||||
const lineVertices = [];
|
||||
const maskVertices = [];
|
||||
|
||||
// 获取外部自定义颜色
|
||||
// 这部分颜色只会染色非异常部分的信号
|
||||
let userDefineCommonColor = getUserDefineCommonColor(lookup, link);
|
||||
|
||||
for (let i = 0; i < length; ++ i) {
|
||||
const [t1, val, mask] = wave[i];
|
||||
const t2 = (i === (length - 1)) ? time : wave[i + 1][0];
|
||||
@ -306,15 +310,21 @@ export function renderAsCommonDigital(lookup, link, wave, time) {
|
||||
const a2 = {x: t1, y: 1, shift: 1};
|
||||
const a3 = {x: t2, y: 1, shift: 2};
|
||||
|
||||
// 选择当前的颜色
|
||||
// 颜色的定义在 gl_Colors_template 中
|
||||
// 默认为 5,vec 专用颜色
|
||||
let color = 5;
|
||||
const renderOptions = lookup.currentSignalRenderOptions;
|
||||
if (mask) {
|
||||
if (val) {
|
||||
// ? 代表 unknown,比如 b1xx0xx0xx1xx000xxxx0 这种,一部分高阻的就是
|
||||
color = 7;
|
||||
} else {
|
||||
// 颜色 4 代表高阻态
|
||||
color = 4;
|
||||
} else if (renderOptions.has(link)) {
|
||||
const option = renderOptions.get(link);
|
||||
if (typeof option.color === 'number') {
|
||||
color = option.color;
|
||||
}
|
||||
} else if (userDefineCommonColor !== undefined) {
|
||||
color = userDefineCommonColor;
|
||||
}
|
||||
|
||||
const points = [ a1, p1, a3, a2, p0, a0 ];
|
||||
@ -474,21 +484,29 @@ function getMappingFunc(formatCode, maxVal, minVal) {
|
||||
* @returns {VecRenderNumberVertices}
|
||||
*/
|
||||
export function renderAsLadderAnalog(lookup, link, wave, time) {
|
||||
const renderOptions = lookup.currentSignalRenderOptions;
|
||||
const formatCode = getValFormatCode(lookup, link);
|
||||
const signal = lookup.link2CurrentWires.get(link);
|
||||
const width = signal.size;
|
||||
|
||||
const { maxVal, minVal } = getMaxMinByFormat(link, wave, time, formatCode, width);
|
||||
const coordinateTransform = getMappingFunc(formatCode, maxVal, minVal);
|
||||
|
||||
// 数值解释器,负责将对应的数值翻译成渲染用的 y
|
||||
const valueRender = new JSValueRender(link, width);
|
||||
|
||||
// 获取外部自定义颜色
|
||||
// 这部分颜色只会染色非异常部分的信号
|
||||
let userDefineCommonColor = getUserDefineCommonColor(lookup, link);
|
||||
|
||||
function makeLadderAnalogRenderParam(link, wave, time) {
|
||||
const [t1, val, mask] = wave;
|
||||
|
||||
if (mask) {
|
||||
// 不定态
|
||||
return { y: -1, color: 4 };
|
||||
// 颜色 4 代表高阻态
|
||||
// 7 代表 unknown,比如 b1xx0xx0xx1xx000xxxx0 这种,一部分高阻的就是
|
||||
let color = val ? 7 : 4;
|
||||
|
||||
return { y: -1, color };
|
||||
}
|
||||
|
||||
// 根据当前格式进行转换
|
||||
@ -497,11 +515,8 @@ export function renderAsLadderAnalog(lookup, link, wave, time) {
|
||||
const y = coordinateTransform(numVal);
|
||||
const colorParam = { y, color: 5 };
|
||||
|
||||
if (renderOptions.has(link)) {
|
||||
const option = renderOptions.get(link);
|
||||
if (typeof option.color === 'number') {
|
||||
colorParam.color = option.color;
|
||||
}
|
||||
if (userDefineCommonColor !== undefined) {
|
||||
colorParam.color = userDefineCommonColor;
|
||||
}
|
||||
|
||||
return colorParam;
|
||||
@ -631,6 +646,24 @@ function getSlope(p1, p2, p3) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description 获取用户定义这个信号的颜色,只选择正常部分的颜色
|
||||
* @param {GlobalLookup} lookup
|
||||
* @param {string} link
|
||||
* @returns {number | undefined}
|
||||
*/
|
||||
function getUserDefineCommonColor(lookup, link) {
|
||||
const renderOptions = lookup.currentSignalRenderOptions;
|
||||
if (renderOptions.has(link)) {
|
||||
const option = renderOptions.get(link);
|
||||
if (typeof option.color === 'number') {
|
||||
return option.color;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description Analog (Line) 模拟状
|
||||
* @param {GlobalLookup} lookup
|
||||
@ -640,7 +673,6 @@ function getSlope(p1, p2, p3) {
|
||||
* @returns {VecRenderNumberVertices}
|
||||
*/
|
||||
export function renderAsLineAnalog(lookup, link, wave, time) {
|
||||
const renderOptions = lookup.currentSignalRenderOptions;
|
||||
const formatCode = getValFormatCode(lookup, link);
|
||||
const signal = lookup.link2CurrentWires.get(link);
|
||||
const width = signal.size;
|
||||
@ -651,14 +683,24 @@ export function renderAsLineAnalog(lookup, link, wave, time) {
|
||||
const length = wave.length;
|
||||
const lineVertices = [];
|
||||
const maskVertices = [];
|
||||
|
||||
// 数值解释器,负责将对应的数值翻译成渲染用的 y
|
||||
const valueRender = new JSValueRender(link, width);
|
||||
|
||||
// 获取外部自定义颜色
|
||||
// 这部分颜色只会染色非异常部分的信号
|
||||
let userDefineCommonColor = getUserDefineCommonColor(lookup, link);
|
||||
|
||||
function makeLineAnalogRenderParam(link, wave, time) {
|
||||
const [t1, val, mask] = wave;
|
||||
|
||||
if (mask) {
|
||||
// 颜色 4 代表高阻态
|
||||
// 7 代表 unknown,比如 b1xx0xx0xx1xx000xxxx0 这种,一部分高阻的就是
|
||||
let color = val ? 7 : 4;
|
||||
|
||||
// 不定态
|
||||
return { y: -1, color: 4 };
|
||||
return { y: -1, color };
|
||||
}
|
||||
|
||||
// 根据当前格式进行转换
|
||||
@ -667,11 +709,8 @@ export function renderAsLineAnalog(lookup, link, wave, time) {
|
||||
const y = coordinateTransform(numVal);
|
||||
const colorParam = { y, color: 5 };
|
||||
|
||||
if (renderOptions.has(link)) {
|
||||
const option = renderOptions.get(link);
|
||||
if (typeof option.color === 'number') {
|
||||
colorParam.color = option.color;
|
||||
}
|
||||
if (userDefineCommonColor !== undefined) {
|
||||
colorParam.color = userDefineCommonColor;
|
||||
}
|
||||
|
||||
return colorParam;
|
||||
|
@ -5,43 +5,35 @@
|
||||
"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": "التحرك لأعلى ولأسفل",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "الانتقال إلى التغيير التالي",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "علامة النظام",
|
||||
|
||||
"setting.language.change-dialog": "لقد قمت بتغيير اللغة إلى الصينية المبسطة، نوصي بإعادة تشغيل Wave Viewer",
|
||||
"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>."
|
||||
"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."
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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",
|
||||
@ -49,43 +41,33 @@
|
||||
"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",
|
||||
@ -93,33 +75,26 @@
|
||||
"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",
|
||||
|
||||
"setting.language.change-dialog": "Sie haben die Sprache auf Chinesisch (vereinfacht) geändert, wir empfehlen Ihnen, Wave Viewer neu zu starten",
|
||||
"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>."
|
||||
"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."
|
||||
}
|
@ -35,11 +35,11 @@
|
||||
"prerender-description": "Prerendering will make rendering faster, but will take up extra memory <br/> If your computer has more than 10 GB of memory, we recommend you turn it on.",
|
||||
"render-animation": "enable rendering animation",
|
||||
"usermanual": "User Manual",
|
||||
"usermanual.left-right-scroll.title": "<span class=\\\"iconfont icon-mouse\\\"/> + <span class=\\\"iconfont icon-up-down\\\"/>",
|
||||
"usermanual.left-right-scroll.title": "<span class=\\\\\\\\\"iconfont icon-mouse\\\\\\\\\"/> + <span class=\\\\\\\\\"iconfont icon-up-down\\\\\\\\\"/>",
|
||||
"usermanual.left-right-scroll.caption": "move up and down",
|
||||
"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.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": "move left and right",
|
||||
"usermanual.xscale.title": "<span class=\\\"iconfont icon-ctrl\\\"/> + <span class=\\\"iconfont icon-mouse\\\"/> + <span class=\\\"iconfont icon-up-down\\\"/>",
|
||||
"usermanual.xscale.title": "<span class=\\\\\\\\\"iconfont icon-ctrl\\\\\\\\\"/> + <span class=\\\\\\\\\"iconfont icon-mouse\\\\\\\\\"/> + <span class=\\\\\\\\\"iconfont icon-up-down\\\\\\\\\"/>",
|
||||
"usermanual.xscale.caption": "scale along x axis",
|
||||
"loading": "loading",
|
||||
"context-menu.create-group": "create group",
|
||||
@ -87,7 +87,6 @@
|
||||
"setting.appearance.moving-pivot": "moving pivot",
|
||||
"setting.appearance.user-pivot": "user pivot",
|
||||
"setting.appearance.system-pivot": "system pivot",
|
||||
"setting.language.change-dialog": "You've switched language to English, we recommend you reload Wave Viewer",
|
||||
"confirm": "confirm",
|
||||
"cancel": "cancel",
|
||||
"tips": "Tips",
|
||||
@ -96,5 +95,6 @@
|
||||
"filemenu.load-view": "导入视图文件",
|
||||
"filemenu.auto-save": "自动保存",
|
||||
"current-version": "current version",
|
||||
"copyright": "The copyright of this software belongs to <a href=\\\"https://github.com/Digital-EDA\\\" target=\\\"_blank\\\">Digital-IDE</a> project team. Welcome to <a href=\\\"https://github.com/Digital-EDA/Digital-IDE\\\">Star</a>."
|
||||
"copyright": "The copyright of this software belongs to <a href=\\\\\\\\\"https://github.com/Digital-EDA\\\\\\\\\" target=\\\\\\\\\"_blank\\\\\\\\\">Digital-IDE</a> project team. Welcome to <a href=\\\\\\\\\"https://github.com/Digital-EDA/Digital-IDE\\\\\\\\\">Star</a>.",
|
||||
"setting.language.change-dialog": "You have changed the language to {0}, we recommend restarting Vcd Viewer."
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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",
|
||||
@ -49,43 +41,33 @@
|
||||
"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",
|
||||
@ -93,33 +75,26 @@
|
||||
"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",
|
||||
|
||||
"setting.language.change-dialog": "Vous avez changé la langue en chinois simplifié, nous vous recommandons de redémarrer Wave Viewer",
|
||||
"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>."
|
||||
"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."
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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": "上下に移動",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "次の変化点に移動",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "システムピボット",
|
||||
|
||||
"setting.language.change-dialog": "言語を簡体字中国語に変更しました。Wave Viewerを再起動することをお勧めします。",
|
||||
"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> を歓迎します。"
|
||||
"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を再起動することをお勧めします。"
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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": "상하 이동",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "다음 변화로 이동",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "시스템 표식",
|
||||
|
||||
"setting.language.change-dialog": "언어를 중국어 간체로 변경했습니다. Wave Viewer를 다시 시작하는 것이 좋습니다.",
|
||||
"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>를 환영합니다."
|
||||
"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를 다시 시작하는 것을 권장합니다."
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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": "Перемещение вверх и вниз",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "Перейти к следующему изменению",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "Системный маркер",
|
||||
|
||||
"setting.language.change-dialog": "Вы изменили язык на упрощенный китайский, мы рекомендуем вам перезапустить Wave Viewer",
|
||||
"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>."
|
||||
"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."
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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": "上下移动",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "前往下一个变化的边沿",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "系统信标",
|
||||
|
||||
"setting.language.change-dialog": "您已经更换语言为简体中文,我们建议您重启 Wave Viewer",
|
||||
"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>。"
|
||||
"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"
|
||||
}
|
@ -5,43 +5,35 @@
|
||||
"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": "上下移動",
|
||||
@ -49,43 +41,33 @@
|
||||
"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": "前往下一個變化的邊沿",
|
||||
@ -93,33 +75,26 @@
|
||||
"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": "系統信標",
|
||||
|
||||
"setting.language.change-dialog": "您已經更換語言為簡體中文,我們建議您重啟 Wave Viewer",
|
||||
"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>。"
|
||||
"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。"
|
||||
}
|
18
yarn.lock
18
yarn.lock
@ -2966,10 +2966,10 @@ csstype@^3.1.3:
|
||||
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz"
|
||||
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
||||
|
||||
dayjs@^1.11.3:
|
||||
version "1.11.10"
|
||||
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz"
|
||||
integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
|
||||
dayjs@^1.11.13:
|
||||
version "1.11.13"
|
||||
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz"
|
||||
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
|
||||
|
||||
debounce@^1.2.1:
|
||||
version "1.2.1"
|
||||
@ -3170,10 +3170,10 @@ electron-to-chromium@^1.4.668:
|
||||
resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz"
|
||||
integrity sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==
|
||||
|
||||
element-plus@^2.6.3:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.npmjs.org/element-plus/-/element-plus-2.6.3.tgz"
|
||||
integrity sha512-U4L/mr+1r+EmAUYUHrs0V/8hHMdBGP07rPymSC72LZCN4jK1UwygQYICegTQ5us4mxeqBvW6wfoEfo003fwCqw==
|
||||
element-plus@^2.9.1:
|
||||
version "2.9.1"
|
||||
resolved "https://registry.npmjs.org/element-plus/-/element-plus-2.9.1.tgz"
|
||||
integrity sha512-9Agqf/jt4Ugk7EZ6C5LME71sgkvauPCsnvJN12Xid2XVobjufxMGpRE4L7pS4luJMOmFAH3J0NgYEGZT5r+NDg==
|
||||
dependencies:
|
||||
"@ctrl/tinycolor" "^3.4.1"
|
||||
"@element-plus/icons-vue" "^2.3.1"
|
||||
@ -3183,7 +3183,7 @@ element-plus@^2.6.3:
|
||||
"@types/lodash-es" "^4.17.6"
|
||||
"@vueuse/core" "^9.1.0"
|
||||
async-validator "^4.2.5"
|
||||
dayjs "^1.11.3"
|
||||
dayjs "^1.11.13"
|
||||
escape-html "^1.0.3"
|
||||
lodash "^4.17.21"
|
||||
lodash-es "^4.17.21"
|
||||
|
Loading…
x
Reference in New Issue
Block a user