Skip to content

Commit d88f339

Browse files
committed
Merge branch 'master' into dev
2 parents f316d0b + be42912 commit d88f339

File tree

10 files changed

+83
-80
lines changed

10 files changed

+83
-80
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Designed to meet most users' vocabulary learning needs. Community contributions
7272

7373
#### Note: This project can run standalone with data saved locally. Manual backup is required when switching devices; this does not affect normal usage.
7474

75-
### Option 1: Using Docker (Recommended)
75+
### Option 1: Using Docker
7676

7777
The easiest way to run TypeWords is using Docker:
7878

apps/nuxt/app/plugins/init.client.ts

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,39 +22,6 @@ export default defineNuxtPlugin(async nuxtApp => {
2222
document.head.appendChild(script)
2323
})()
2424

25-
// Cloudflare
26-
;(function () {
27-
var cf = document.createElement('script')
28-
cf.src = 'https://static.cloudflareinsights.com/beacon.min.js'
29-
cf.setAttribute('data-cf-beacon', '{"token": "e5119992696d4155814400dd69781d68"}')
30-
document.head.appendChild(cf)
31-
})()
32-
33-
// google
34-
;(function () {
35-
var ana = document.createElement('script')
36-
ana.src = 'https://www.googletagmanager.com/gtag/js?id=G-50T6DRD837'
37-
ana.onload = function () {
38-
window.dataLayer = window.dataLayer || []
39-
function gtag() {
40-
window.dataLayer.push(arguments)
41-
}
42-
//@ts-ignore
43-
gtag('js', new Date())
44-
//@ts-ignore
45-
gtag('config', 'G-50T6DRD837')
46-
}
47-
document.head.appendChild(ana)
48-
})()
49-
50-
// baidu
51-
var _hmt = _hmt || []
52-
;(function () {
53-
var hm = document.createElement('script')
54-
hm.src = 'https://hm.baidu.com/hm.js?3dae52fcd5375a19905462e4ad3eb54e'
55-
document.head.appendChild(hm)
56-
})()
57-
5825
// umami-saas
5926
;(function () {
6027
var umami2 = document.createElement('script')

apps/vscode-web/src/pages/(words)/practice-words/[id].vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,7 @@ useEvents([
803803
[ShortcutKey.ToggleDictation, () => (settingStore.dictation = !settingStore.dictation)],
804804
[ShortcutKey.ToggleTheme, toggleTheme],
805805
[ShortcutKey.ToggleConciseMode, toggleConciseMode],
806+
[ShortcutKey.ToggleToolbar, () => (settingStore.showToolbar = !settingStore.showToolbar)],
806807
[ShortcutKey.TogglePanel, () => (settingStore.showPanel = !settingStore.showPanel)],
807808
[ShortcutKey.RandomWrite, randomWrite],
808809
])

apps/vscode/README.md

Lines changed: 68 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,65 +2,93 @@
22
<img src="https://github.com/user-attachments/assets/9d626e0f-0601-4640-8981-ad66d8ac4853" alt="TypeWords" style="width: 500px;"/>
33
</h1>
44

5+
56
<p align="center">
6-
<b>Learn English, one keystroke at a time; smarter memorization, more efficient learning - an open-source word and article practice tool</b>
7+
<b>学习英语,一次敲击,一点进步;记忆不再盲目,学习更高效,开源单词与文章练习工具</b>
78
</p>
9+
10+
## 在线访问
11+
12+
[https://typewords.cc](https://typewords.cc)
13+
14+
## 如何使用
15+
如何打开插件:按快捷键 Ctrl + Shift + P 呼出命令面板,输入“打开Typewords”,找到对应命令,确定进入即可
16+
17+
基本使用和布局与网站版本相同,只有练习界面做了伪装,单词练习在最中间,需要仔细找下,找到后直接按键盘即可进行练习
18+
19+
## 功能列表
20+
21+
### 单词练习
22+
23+
- 练习模式:跟写 / 听写 / 自测 / 默写
24+
- 智能模式:记忆曲线自动计算学习单词,并通过默写加深记忆
25+
- 自由模式:不受限制,自行规划
26+
- 提供音标、发音(美音、英音)、例句、短语、近义词、同根词、词源、错误统计等功能
27+
28+
### 背文章
29+
30+
- 内置经典教材书籍,也可自行添加、导入文章,提供一键翻译、译文对照功能
31+
- 跟打 + 默写双模式,逐句输入,自动发音,让背诵更高效
32+
- 支持边听边默写,强化记忆
33+
34+
### 收藏、错词本、已掌握
835

9-
## Online Access
36+
- 学习单词时输入错误自动添加到错词本,方便后续复习
37+
- 可主动添加到已掌握,后续学习时自动跳过
38+
- 可主动添加到收藏中,以便巩固复习
1039

11-
[https://typewords.cc](https://typewords.cc)
40+
### 高度自由
1241

13-
## Features
42+
- 丰富的键盘音效
43+
- 可自定义快捷键
44+
- 高度定制化的设置选项
1445

15-
### Word Practice
46+
### 简洁高效
1647

17-
- Practice modes: Follow-along / Dictation / Self-test / Spelling from memory
18-
- Smart mode: Automatically calculates learning words based on memory curves, deepening memory through dictation
19-
- Free mode: No restrictions, plan your own learning
20-
- Provides phonetics, pronunciation (American/British), example sentences, phrases, synonyms, root words, etymology, error statistics, and more
48+
- 简洁设计,现代化UI,无广告
49+
- 界面清爽,操作简单
50+
- 不强制关注任何平台
2151

22-
### Article Memorization
52+
### 词库
2353

24-
- Built-in classic textbooks; you can also add or import articles with one-click translation and bilingual comparison
25-
- Follow-along + dictation dual modes, sentence-by-sentence input with automatic pronunciation for more efficient memorization
26-
- Supports listening while writing from memory to reinforce learning
54+
内置了常用的 CET-4 、CET-6 、GMAT 、GRE 、IELTS 、SAT 、TOEFL 、考研英语、专业四级英语、专业八级英语等词库。
55+
尽可能满足大部分用户对背单词的需求,也非常欢迎社区贡献更多的词库。
2756

28-
### Favorites, Wrong Words, Mastered
57+
## 运行
2958

30-
- Words typed incorrectly while learning are automatically added to your wrong word book for later review
31-
- Actively add words to mastered to automatically skip them in future sessions
32-
- Add words to favorites for consolidation and review
59+
本项目是基于`Nuxt`开发的,需要 node 环境来运行。
3360

34-
### Highly Customizable
61+
1. 安装 NodeJS,参考[官方文档](https://nodejs.org/en/download)
62+
2. 项目文件很大,推荐使用 `git clone --depth 1 https://github.com/zyronon/TypeWords.git` 命令只克隆最近一次提交。直接下载
63+
Github 提供的 Download ZIP 功能是无法运行的
64+
3. 在项目根目录下,打开命令行,运行`pnpm install`来下载依赖。
65+
4. 执行`pnpm run dev`来启动项目,项目默认地址为[`http://localhost:5567`](http://localhost:5567)
66+
5. 在浏览器中打开[`http://localhost:5567`](http://localhost:5567) 来访问项目。
67+
6. 执行`pnpm run generate`打包项目文件
3568

36-
- Rich keyboard sound effects
37-
- Customizable shortcuts
38-
- Highly configurable settings
69+
## 打包插件
70+
执行以下命令打包成 vsix 文件,会在根目录下生成「typewords-版本号.vsix」文件,然后就可以在 publisher 控制台上传到应用市场了,发布完后要过几分钟才能在应用市场搜索到
71+
vsce package
72+
73+
## Cursor\本地安装插件
74+
点击左侧的「扩展」按钮或快捷键「command + shift + x」来打开扩展
75+
点击右上角的「...」
76+
点击「从 VSIX 安装...」
77+
选择之前生成的「typewords-版本号.vsix」文件即可
3978

40-
### Clean and Efficient
79+
## 功能与建议
4180

42-
- Clean design, modern UI, ad-free
43-
- Refreshing interface, simple operation
44-
- No forced subscription to any platform
81+
目前项目处于开发初期,新功能正在持续添加中,如果你对软件有任何功能与建议,欢迎在 `Issues` 中提出
82+
如果你也喜欢本软件的设计思想,欢迎提交 `Pr`,非常感谢你对我们的支持!
4583

46-
### Vocabulary Library
84+
## 贡献指南
4785

48-
Built-in commonly used vocabulary including CET-4, CET-6, GMAT, GRE, IELTS, SAT, TOEFL, Graduate English, TEM-4, TEM-8, and more.
49-
Designed to meet most users' vocabulary learning needs. Community contributions of additional vocabulary are welcome.
86+
[贡献准则](/docs//CONTRIBUTING.md)
5087

51-
## Running the Project
88+
如果您对本项目感兴趣,我们非常欢迎参与到项目的贡献中,我们会尽可能地提供帮助
5289

53-
#### Note: This project can run standalone with data saved locally. Manual backup is required when switching devices; this does not affect normal usage.
54-
This project is built with `Nuxt` and requires a Node.js environment.
90+
在贡献前,我们希望您能与开发者进行沟通,以避免代码冲突
5591

56-
1. Install NodeJS, refer to the [official documentation](https://nodejs.org/en/download)
57-
2. The project is large. It's recommended to use `git clone --depth 1 https://github.com/zyronon/TypeWords.git` to clone only the latest commit. GitHub's Download ZIP feature will not work properly.
58-
3. In the project root directory, open a terminal and run `pnpm install` to download dependencies.
59-
4. Run `pnpm run dev` to start the project. The default address is [`http://localhost:5567`](http://localhost:5567)
60-
5. Open [`http://localhost:5567`](http://localhost:5567) in your browser to access the project.
61-
6. Run `pnpm run generate` to build the project files.
92+
再次感谢您对项目的贡献!🎉
6293

63-
## Features and Suggestions
6494

65-
The project is currently in early development, with new features being added continuously. If you have any suggestions or feature requests, feel free to open an `Issue`.
66-
If you like the design philosophy of this software, please submit a `PR`. Thank you for your support!

apps/vscode/logo.png

4.21 KB
Loading

apps/vscode/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
"description": "TypeWords Vscode Extension",
55
"repository":"https://github.com/zyronon/TypeWords",
66
"publisher":"TypeWords",
7-
"version": "0.0.7",
7+
"version": "0.0.8",
88
"engines": {
99
"vscode": "^1.105.0"
1010
},
11+
"icon": "logo.png",
1112
"categories": [
1213
"Other"
1314
],

apps/vscode/src/extension.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ class ChatPanel {
8888
<title>New Agent</title>
8989
9090
91-
<script type="module" src="${cdnUrl}/${r.js}.js"></script>
92-
<link rel="stylesheet" href="${cdnUrl}/${r.css}.css">
91+
<script type="module" src="${cdnUrl}/${r.js}"></script>
92+
<link rel="stylesheet" href="${cdnUrl}/${r.css}">
9393
</head>
9494
<body>
9595
<div id="app"></div>

docs/README.zh-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787

8888
#### 注:本项目可单独运行,数据保存在本地,换设备需手动备份数据,不影响正常使用;
8989

90-
### 方式一:使用 Docker(推荐)
90+
### 方式一:使用 Docker
9191

9292
使用 Docker 是最简单的运行方式:
9393

packages/core/src/components/word/Footer.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import VolumeSettingMiniDialog from './VolumeSettingMiniDialog.vue'
99
import StageProgress from '../StageProgress.vue'
1010
import { ShortcutKey, WordPracticeMode, WordPracticeStage } from '../../types'
1111
import { WordPracticeModeNameMap, WordPracticeStageNameMap } from '../../config/env'
12+
import { useI18n } from 'vue-i18n'
1213
1314
const statStore = usePracticeStore()
1415
const settingStore = useSettingStore()
16+
const { t: $t } = useI18n()
1517
1618
defineProps<{
1719
showEdit?: boolean
@@ -266,7 +268,11 @@ const stages = $computed(() => {
266268
<span class="shrink-0">{{ status }}</span>
267269
<StageProgress :stages="stages" />
268270
<Tooltip title="进度 / 错误数 / 单词数">
269-
<div class="shrink-0">{{ `${practiceData.index + 1} / ${format(practiceData.wrongWords.length, '', 0)} / ${practiceData.words.length}` }}</div>
271+
<div class="shrink-0">
272+
{{
273+
`${practiceData.index + 1} / ${format(practiceData.wrongWords.length, '', 0)} / ${practiceData.words.length}`
274+
}}
275+
</div>
270276
</Tooltip>
271277
</div>
272278
</div>

packages/core/src/utils/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { BaseState } from '../stores/base'
22
import { getDefaultBaseState, useBaseStore } from '../stores/base'
33
import type { SettingState } from '../stores/setting'
44
import { getDefaultSettingState } from '../stores/setting'
5-
import type { Dict, DictResource } from '../types'
5+
import { Dict, DictResource, ShortcutKey } from '../types'
66
import { CompareResult, DictType, getDefaultDict, getDefaultWord } from '../types'
77
import { useRouter } from 'vue-router'
88
import { useRuntimeStore } from '../stores/runtime'

0 commit comments

Comments
 (0)