diff --git a/.gitea/workflows/deploy-articulate.yml b/.gitea/workflows/deploy-articulate.yml
new file mode 100644
index 0000000..0a876f7
--- /dev/null
+++ b/.gitea/workflows/deploy-articulate.yml
@@ -0,0 +1,60 @@
+name: deploy articulate
+# articulate.famzheng.me — 中英猜词派对游戏。host shell runner(fam 用户)。
+
+on:
+ push:
+ branches: [master]
+ paths:
+ - 'apps/articulate/**'
+ - 'crates/cube-core/**'
+ - 'Cargo.toml'
+ - 'Cargo.lock'
+ - '.gitea/workflows/deploy-articulate.yml'
+ workflow_dispatch:
+
+jobs:
+ build-and-deploy:
+ runs-on: ubuntu-latest
+ env:
+ APP: articulate
+ IMAGE: registry.famzheng.me/mochi/articulate
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Resolve image tag
+ id: tag
+ run: |
+ echo "sha=$(git rev-parse --short=12 HEAD)" >> "$GITHUB_OUTPUT"
+
+ - name: Build rust (musl static)
+ run: |
+ export PATH="$HOME/.cargo/bin:$PATH"
+ cargo build --release --target x86_64-unknown-linux-musl -p "$APP"
+
+ - name: Build frontend
+ run: |
+ cd "apps/$APP/frontend"
+ npm ci
+ npm run build
+
+ - name: Run frontend tests
+ run: |
+ cd "apps/$APP/frontend"
+ npm test -- --run
+
+ - name: Build & push image
+ env:
+ REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
+ run: |
+ echo "$REGISTRY_TOKEN" | docker login registry.famzheng.me -u mochi --password-stdin
+ docker build --no-cache -f "apps/$APP/Dockerfile" -t "$IMAGE:${{ steps.tag.outputs.sha }}" .
+ docker push "$IMAGE:${{ steps.tag.outputs.sha }}"
+
+ - name: Initialize K8s resources
+ run: |
+ kubectl apply -f "apps/$APP/k8s/all.yaml"
+
+ - name: Roll out to k3s
+ run: |
+ kubectl -n "cube-$APP" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}"
+ kubectl -n "cube-$APP" rollout status "deploy/$APP" --timeout=120s
diff --git a/.gitea/workflows/deploy-karaoke.yml b/.gitea/workflows/deploy-karaoke.yml
new file mode 100644
index 0000000..60c3cb5
--- /dev/null
+++ b/.gitea/workflows/deploy-karaoke.yml
@@ -0,0 +1,60 @@
+name: deploy karaoke
+# karaoke.famzheng.me — 卡拉OK 点歌单本地管理。host shell runner(fam 用户)。
+
+on:
+ push:
+ branches: [master]
+ paths:
+ - 'apps/karaoke/**'
+ - 'crates/cube-core/**'
+ - 'Cargo.toml'
+ - 'Cargo.lock'
+ - '.gitea/workflows/deploy-karaoke.yml'
+ workflow_dispatch:
+
+jobs:
+ build-and-deploy:
+ runs-on: ubuntu-latest
+ env:
+ APP: karaoke
+ IMAGE: registry.famzheng.me/mochi/karaoke
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Resolve image tag
+ id: tag
+ run: |
+ echo "sha=$(git rev-parse --short=12 HEAD)" >> "$GITHUB_OUTPUT"
+
+ - name: Build rust (musl static)
+ run: |
+ export PATH="$HOME/.cargo/bin:$PATH"
+ cargo build --release --target x86_64-unknown-linux-musl -p "$APP"
+
+ - name: Build frontend
+ run: |
+ cd "apps/$APP/frontend"
+ npm ci
+ npm run build
+
+ - name: Run frontend tests
+ run: |
+ cd "apps/$APP/frontend"
+ npm test -- --run
+
+ - name: Build & push image
+ env:
+ REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
+ run: |
+ echo "$REGISTRY_TOKEN" | docker login registry.famzheng.me -u mochi --password-stdin
+ docker build --no-cache -f "apps/$APP/Dockerfile" -t "$IMAGE:${{ steps.tag.outputs.sha }}" .
+ docker push "$IMAGE:${{ steps.tag.outputs.sha }}"
+
+ - name: Initialize K8s resources
+ run: |
+ kubectl apply -f "apps/$APP/k8s/all.yaml"
+
+ - name: Roll out to k3s
+ run: |
+ kubectl -n "cube-$APP" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}"
+ kubectl -n "cube-$APP" rollout status "deploy/$APP" --timeout=120s
diff --git a/.gitea/workflows/deploy-werewolf.yml b/.gitea/workflows/deploy-werewolf.yml
new file mode 100644
index 0000000..aacf0b4
--- /dev/null
+++ b/.gitea/workflows/deploy-werewolf.yml
@@ -0,0 +1,60 @@
+name: deploy werewolf
+# werewolf.famzheng.me — 狼人杀单机发牌器。host shell runner(fam 用户)。
+
+on:
+ push:
+ branches: [master]
+ paths:
+ - 'apps/werewolf/**'
+ - 'crates/cube-core/**'
+ - 'Cargo.toml'
+ - 'Cargo.lock'
+ - '.gitea/workflows/deploy-werewolf.yml'
+ workflow_dispatch:
+
+jobs:
+ build-and-deploy:
+ runs-on: ubuntu-latest
+ env:
+ APP: werewolf
+ IMAGE: registry.famzheng.me/mochi/werewolf
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Resolve image tag
+ id: tag
+ run: |
+ echo "sha=$(git rev-parse --short=12 HEAD)" >> "$GITHUB_OUTPUT"
+
+ - name: Build rust (musl static)
+ run: |
+ export PATH="$HOME/.cargo/bin:$PATH"
+ cargo build --release --target x86_64-unknown-linux-musl -p "$APP"
+
+ - name: Build frontend
+ run: |
+ cd "apps/$APP/frontend"
+ npm ci
+ npm run build
+
+ - name: Run frontend tests
+ run: |
+ cd "apps/$APP/frontend"
+ npm test -- --run
+
+ - name: Build & push image
+ env:
+ REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
+ run: |
+ echo "$REGISTRY_TOKEN" | docker login registry.famzheng.me -u mochi --password-stdin
+ docker build --no-cache -f "apps/$APP/Dockerfile" -t "$IMAGE:${{ steps.tag.outputs.sha }}" .
+ docker push "$IMAGE:${{ steps.tag.outputs.sha }}"
+
+ - name: Initialize K8s resources
+ run: |
+ kubectl apply -f "apps/$APP/k8s/all.yaml"
+
+ - name: Roll out to k3s
+ run: |
+ kubectl -n "cube-$APP" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}"
+ kubectl -n "cube-$APP" rollout status "deploy/$APP" --timeout=120s
diff --git a/Cargo.toml b/Cargo.toml
index 02a935a..e68822f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -5,6 +5,9 @@ members = [
"apps/cube",
"apps/simpleasm",
"apps/music",
+ "apps/werewolf",
+ "apps/articulate",
+ "apps/karaoke",
]
[workspace.package]
diff --git a/apps/articulate/Cargo.toml b/apps/articulate/Cargo.toml
new file mode 100644
index 0000000..f3d37da
--- /dev/null
+++ b/apps/articulate/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "articulate"
+version = "0.1.0"
+edition.workspace = true
+license.workspace = true
+authors.workspace = true
+description = "articulate.famzheng.me — 中英猜词派对游戏(一台手机),从 partiverse 移植"
+
+[dependencies]
+cube-core = { path = "../../crates/cube-core" }
+tokio = { workspace = true }
diff --git a/apps/articulate/Dockerfile b/apps/articulate/Dockerfile
new file mode 100644
index 0000000..959d85b
--- /dev/null
+++ b/apps/articulate/Dockerfile
@@ -0,0 +1,6 @@
+# articulate — articulate.famzheng.me
+FROM scratch
+COPY target/x86_64-unknown-linux-musl/release/articulate /articulate
+COPY apps/articulate/frontend/dist /dist
+EXPOSE 8080
+ENTRYPOINT ["/articulate"]
diff --git a/apps/articulate/frontend/index.html b/apps/articulate/frontend/index.html
new file mode 100644
index 0000000..7cdb19b
--- /dev/null
+++ b/apps/articulate/frontend/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Articulate 猜词
+
+
+
+
+
+
diff --git a/apps/articulate/frontend/package.json b/apps/articulate/frontend/package.json
new file mode 100644
index 0000000..a5ab387
--- /dev/null
+++ b/apps/articulate/frontend/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "articulate",
+ "private": true,
+ "version": "0.1.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vue-tsc -b && vite build",
+ "preview": "vite preview",
+ "test": "vitest"
+ },
+ "dependencies": {
+ "vue": "^3.5.13"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^5.2.1",
+ "typescript": "~5.7.2",
+ "vite": "^6.0.5",
+ "vitest": "^2.1.8",
+ "vue-tsc": "^2.2.0"
+ }
+}
diff --git a/apps/articulate/frontend/public/wordlists/actions.txt b/apps/articulate/frontend/public/wordlists/actions.txt
new file mode 100644
index 0000000..b00ac56
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/actions.txt
@@ -0,0 +1,262 @@
+easy - run - 跑
+easy - walk - 走
+easy - jump - 跳
+easy - sit - 坐
+easy - stand - 站
+easy - sleep - 睡觉
+easy - eat - 吃
+easy - drink - 喝
+easy - swim - 游泳
+easy - fly - 飞
+easy - dance - 跳舞
+easy - sing - 唱歌
+easy - read - 读
+easy - write - 写
+easy - draw - 画
+easy - play - 玩
+easy - laugh - 笑
+easy - cry - 哭
+easy - smile - 微笑
+easy - talk - 说话
+easy - listen - 听
+easy - look - 看
+easy - watch - 观看
+easy - think - 思考
+easy - open - 打开
+easy - close - 关闭
+easy - push - 推
+easy - pull - 拉
+easy - throw - 扔
+easy - catch - 接
+easy - kick - 踢
+easy - hit - 打
+easy - climb - 爬
+easy - fall - 掉落
+easy - drive - 开车
+easy - ride - 骑
+easy - cook - 做饭
+easy - wash - 洗
+easy - clean - 清洁
+easy - cut - 切
+easy - break - 打破
+easy - fix - 修理
+easy - build - 建造
+easy - paint - 刷漆
+easy - dig - 挖
+easy - plant - 种植
+easy - water - 浇水
+easy - pick - 摘
+easy - carry - 携带
+easy - lift - 举起
+easy - drop - 掉落
+easy - pour - 倒
+easy - mix - 混合
+easy - stir - 搅拌
+easy - fold - 折叠
+easy - roll - 滚动
+easy - slide - 滑动
+easy - crawl - 爬行
+easy - kneel - 跪
+easy - bow - 鞠躬
+easy - wave - 挥手
+easy - clap - 拍手
+easy - point - 指
+easy - touch - 触摸
+easy - hug - 拥抱
+easy - kiss - 亲吻
+easy - shake - 摇动
+medium - whisper - 低语
+medium - shout - 喊叫
+medium - scream - 尖叫
+medium - yell - 大喊
+medium - murmur - 低语
+medium - mumble - 咕哝
+medium - stutter - 结巴
+medium - sneeze - 打喷嚏
+medium - cough - 咳嗽
+medium - yawn - 打哈欠
+medium - hiccup - 打嗝
+medium - burp - 打刔
+medium - snore - 打鼾
+medium - breathe - 呼吸
+medium - inhale - 吸气
+medium - exhale - 呼气
+medium - sigh - 叹气
+medium - gasp - 喘气
+medium - pant - 喘息
+medium - choke - 窒息
+medium - swallow - 吞咽
+medium - chew - 咀嚼
+medium - bite - 咬
+medium - lick - 舔
+medium - sip - 啜饮
+medium - gulp - 大口喝
+medium - taste - 品尝
+medium - smell - 闻
+medium - sniff - 嗅
+medium - stare - 凝视
+medium - glance - 瞥见
+medium - peek - 偷看
+medium - blink - 眨眼
+medium - wink - 眨眼
+medium - squint - 眯眼
+medium - frown - 皱眉
+medium - grin - 咧嘴笑
+medium - giggle - 咯咯笑
+medium - chuckle - 轻笑
+medium - snicker - 窃笑
+medium - sob - 抽泣
+medium - weep - 哭泣
+medium - wail - 哀号
+medium - moan - 呻吟
+medium - groan - 呻吟
+medium - grunt - 咕哝
+medium - howl - 嚎叫
+medium - roar - 咆哮
+medium - bark - 吠叫
+medium - meow - 喵叫
+medium - chirp - 啁啾
+medium - tweet - 鸟叫
+medium - buzz - 嗡嗡叫
+medium - hiss - 嘶嘶声
+medium - growl - 咆哮
+medium - purr - 呼噜声
+medium - squeak - 吱吱叫
+medium - croak - 呱呱叫
+medium - hop - 单脚跳
+medium - skip - 蹦跳
+medium - leap - 跳跃
+medium - bounce - 弹跳
+medium - sprint - 冲刺
+medium - jog - 慢跑
+medium - march - 行军
+medium - stroll - 漫步
+medium - wander - 闲逛
+medium - stride - 大步走
+medium - tiptoe - 踮脚走
+medium - stumble - 绊倒
+medium - trip - 绊倒
+medium - slip - 滑倒
+medium - tumble - 翻滚
+medium - somersault - 翻筋斗
+medium - cartwheel - 侧手翻
+medium - flip - 翻转
+medium - spin - 旋转
+medium - twirl - 旋转
+medium - rotate - 旋转
+medium - revolve - 旋转
+medium - swing - 摇摆
+medium - sway - 摇摆
+medium - wobble - 摇晃
+medium - wiggle - 扭动
+medium - squirm - 蠕动
+medium - wriggle - 扭动
+medium - stretch - 伸展
+medium - bend - 弯曲
+medium - crouch - 蹲下
+medium - squat - 蹲
+medium - lean - 倾斜
+medium - recline - 斜躺
+medium - lounge - 懒散地躺
+medium - sprawl - 伸开四肢躺
+hard - tiptoe - 蹑手蹑脚
+hard - trudge - 跋涉
+hard - plod - 沉重地走
+hard - lumber - 笨重地移动
+hard - shuffle - 拖着脚走
+hard - limp - 跛行
+hard - hobble - 蹒跚
+hard - stagger - 摇晃
+hard - saunter - 闲逛
+hard - meander - 漫步
+hard - amble - 缓行
+hard - traipse - 闲逛
+hard - gallivant - 闲逛
+hard - frolic - 嬉戏
+hard - gambol - 跳跃
+hard - caper - 雀跃
+hard - prance - 腾跃
+hard - strut - 昂首阔步
+hard - swagger - 大摇大摆
+hard - slink - 潜行
+hard - sneak - 偷偷摸摸
+hard - prowl - 潜行
+hard - lurk - 潜伏
+hard - skulk - 鬼鬼祟祟
+hard - creep - 爬行
+hard - slither - 滑行
+hard - scuttle - 急跑
+hard - scurry - 急跑
+hard - dart - 飞奔
+hard - dash - 猛冲
+hard - bolt - 飞奔
+hard - flee - 逃跑
+hard - escape - 逃脱
+hard - evade - 逃避
+hard - dodge - 躲避
+hard - duck - 躲避
+hard - swerve - 突然转向
+hard - veer - 转向
+hard - pivot - 旋转
+hard - whirl - 旋转
+hard - gyrate - 旋转
+hard - oscillate - 摆动
+hard - vibrate - 振动
+hard - quiver - 颤抖
+hard - tremble - 颤抖
+hard - shiver - 发抖
+hard - shudder - 战栗
+hard - quake - 震动
+hard - convulse - 抽搐
+hard - spasm - 痉挛
+hard - twitch - 抽搐
+hard - flinch - 退缩
+hard - wince - 畏缩
+hard - recoil - 退缩
+hard - shrink - 退缩
+hard - cower - 畏缩
+hard - cringe - 畏缩
+hard - grovel - 卑躬屈膝
+hard - kneel - 跪下
+hard - prostrate - 俯卧
+hard - genuflect - 屈膝
+hard - curtsy - 屈膝礼
+hard - salute - 敬礼
+hard - beckon - 招手
+hard - gesture - 做手势
+hard - motion - 示意
+hard - signal - 发信号
+hard - indicate - 指示
+hard - demonstrate - 演示
+hard - exhibit - 展示
+hard - display - 展示
+hard - showcase - 展示
+hard - flaunt - 炫耀
+hard - brandish - 挥舞
+hard - flourish - 挥舞
+hard - wield - 挥舞
+hard - manipulate - 操纵
+hard - maneuver - 操纵
+hard - navigate - 导航
+hard - steer - 驾驶
+hard - pilot - 驾驶
+hard - helm - 掌舵
+hard - propel - 推进
+hard - thrust - 推进
+hard - shove - 猛推
+hard - nudge - 轻推
+hard - jostle - 推挤
+hard - elbow - 用肘推
+hard - shoulder - 用肩推
+hard - barge - 猛撞
+hard - collide - 碰撞
+hard - crash - 碰撞
+hard - smash - 粉碎
+hard - shatter - 粉碎
+hard - splinter - 裂成碎片
+hard - fracture - 断裂
+hard - rupture - 破裂
+hard - burst - 爆裂
+hard - explode - 爆炸
+hard - detonate - 引爆
+
diff --git a/apps/articulate/frontend/public/wordlists/animals.txt b/apps/articulate/frontend/public/wordlists/animals.txt
new file mode 100644
index 0000000..7e5ed55
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/animals.txt
@@ -0,0 +1,243 @@
+easy - cat - 猫
+easy - dog - 狗
+easy - fish - 鱼
+easy - bird - 鸟
+easy - pig - 猪
+easy - cow - 牛
+easy - horse - 马
+easy - chicken - 鸡
+easy - duck - 鸭子
+easy - rabbit - 兔子
+easy - mouse - 老鼠
+easy - elephant - 大象
+easy - lion - 狮子
+easy - tiger - 老虎
+easy - bear - 熊
+easy - monkey - 猴子
+easy - panda - 熊猫
+easy - sheep - 羊
+easy - goat - 山羊
+easy - frog - 青蛙
+easy - snake - 蛇
+easy - turtle - 乌龟
+easy - bee - 蜜蜂
+easy - butterfly - 蝴蝶
+easy - ant - 蚂蚁
+easy - spider - 蜘蛛
+easy - wolf - 狼
+easy - fox - 狐狸
+easy - deer - 鹿
+easy - giraffe - 长颈鹿
+easy - zebra - 斑马
+easy - penguin - 企鹅
+easy - dolphin - 海豚
+easy - whale - 鲸鱼
+easy - shark - 鲨鱼
+easy - crab - 螃蟹
+easy - octopus - 章鱼
+easy - starfish - 海星
+easy - goldfish - 金鱼
+easy - parrot - 鹦鹉
+easy - owl - 猫头鹰
+easy - eagle - 老鹰
+easy - swan - 天鹅
+easy - peacock - 孔雀
+easy - rooster - 公鸡
+easy - turkey - 火鸡
+easy - goose - 鹅
+easy - camel - 骆驼
+easy - kangaroo - 袋鼠
+easy - koala - 考拉
+easy - squirrel - 松鼠
+easy - hedgehog - 刺猬
+easy - bat - 蝙蝠
+easy - seal - 海豹
+easy - otter - 水獭
+easy - beaver - 海狸
+easy - raccoon - 浣熊
+easy - hamster - 仓鼠
+easy - guinea pig - 豚鼠
+easy - donkey - 驴
+easy - mule - 骡子
+easy - buffalo - 水牛
+easy - ox - 公牛
+easy - bull - 公牛
+easy - cheetah - 猎豹
+easy - leopard - 豹子
+easy - jaguar - 美洲豹
+easy - hyena - 鬣狗
+medium - rhinoceros - 犀牛
+medium - hippopotamus - 河马
+medium - crocodile - 鳄鱼
+medium - alligator - 短吻鳄
+medium - lizard - 蜥蜴
+medium - iguana - 鬣蜥
+medium - chameleon - 变色龙
+medium - salamander - 蝾螈
+medium - toad - 蟾蜍
+medium - jellyfish - 水母
+medium - seahorse - 海马
+medium - squid - 鱿鱼
+medium - lobster - 龙虾
+medium - shrimp - 虾
+medium - clam - 蛤蜊
+medium - oyster - 牡蛎
+medium - mussel - 贻贝
+medium - snail - 蜗牛
+medium - slug - 鼻涕虫
+medium - earthworm - 蚯蚓
+medium - centipede - 蜈蚣
+medium - millipede - 马陆
+medium - scorpion - 蝎子
+medium - dragonfly - 蜻蜓
+medium - grasshopper - 蚱蜢
+medium - cricket - 蟋蟀
+medium - mantis - 螳螂
+medium - ladybug - 瓢虫
+medium - firefly - 萤火虫
+medium - mosquito - 蚊子
+medium - fly - 苍蝇
+medium - wasp - 黄蜂
+medium - hornet - 大黄蜂
+medium - termite - 白蚁
+medium - cockroach - 蟑螂
+medium - beetle - 甲虫
+medium - moth - 飞蛾
+medium - caterpillar - 毛毛虫
+medium - cocoon - 茧
+medium - pupa - 蛹
+medium - larva - 幼虫
+medium - tadpole - 蝌蚪
+medium - flamingo - 火烈鸟
+medium - pelican - 鹈鹕
+medium - heron - 苍鹭
+medium - crane - 鹤
+medium - stork - 鹳
+medium - seagull - 海鸥
+medium - albatross - 信天翁
+medium - sparrow - 麻雀
+medium - swallow - 燕子
+medium - robin - 知更鸟
+medium - crow - 乌鸦
+medium - raven - 渡鸦
+medium - magpie - 喜鹊
+medium - woodpecker - 啄木鸟
+medium - hummingbird - 蜂鸟
+medium - kingfisher - 翠鸟
+medium - pigeon - 鸽子
+medium - dove - 鸽子
+medium - quail - 鹌鹑
+medium - pheasant - 野鸡
+medium - ostrich - 鸵鸟
+medium - emu - 鸸鹋
+medium - kiwi - 几维鸟
+medium - porcupine - 豪猪
+medium - armadillo - 犰狳
+medium - anteater - 食蚁兽
+medium - sloth - 树懒
+medium - lemur - 狐猴
+medium - baboon - 狒狒
+medium - gorilla - 大猩猩
+medium - chimpanzee - 黑猩猩
+medium - orangutan - 猩猩
+medium - gibbon - 长臂猿
+hard - platypus - 鸭嘴兽
+hard - echidna - 针鼹
+hard - wombat - 袋熊
+hard - wallaby - 小袋鼠
+hard - tasmanian devil - 袋獾
+hard - dingo - 澳洲野犬
+hard - meerkat - 狐獴
+hard - mongoose - 獴
+hard - ferret - 雪貂
+hard - weasel - 黄鼠狼
+hard - mink - 貂
+hard - badger - 獾
+hard - wolverine - 狼獾
+hard - lynx - 猞猁
+hard - bobcat - 短尾猫
+hard - ocelot - 豹猫
+hard - serval - 薮猫
+hard - caracal - 狞猫
+hard - puma - 美洲狮
+hard - cougar - 美洲狮
+hard - panther - 黑豹
+hard - snow leopard - 雪豹
+hard - clouded leopard - 云豹
+hard - okapi - 霍加狓
+hard - tapir - 貘
+hard - aardvark - 土豚
+hard - pangolin - 穿山甲
+hard - manatee - 海牛
+hard - dugong - 儒艮
+hard - walrus - 海象
+hard - narwhal - 独角鲸
+hard - beluga - 白鲸
+hard - orca - 虎鲸
+hard - porpoise - 鼠海豚
+hard - barracuda - 梭鱼
+hard - stingray - 黄貂鱼
+hard - manta ray - 蝠鲼
+hard - moray eel - 海鳗
+hard - pike - 梭子鱼
+hard - sturgeon - 鲟鱼
+hard - salmon - 三文鱼
+hard - trout - 鳟鱼
+hard - bass - 鲈鱼
+hard - perch - 鲈鱼
+hard - carp - 鲤鱼
+hard - catfish - 鲶鱼
+hard - anchovy - 凤尾鱼
+hard - sardine - 沙丁鱼
+hard - herring - 鲱鱼
+hard - mackerel - 鲭鱼
+hard - tuna - 金枪鱼
+hard - swordfish - 剑鱼
+hard - marlin - 枪鱼
+hard - sailfish - 旗鱼
+hard - pufferfish - 河豚
+hard - angelfish - 神仙鱼
+hard - clownfish - 小丑鱼
+hard - grouper - 石斑鱼
+hard - snapper - 笛鲷
+hard - flounder - 比目鱼
+hard - halibut - 大比目鱼
+hard - sole - 鳎鱼
+hard - turbot - 大菱鲆
+hard - vulture - 秃鹫
+hard - condor - 秃鹰
+hard - falcon - 猎鹰
+hard - hawk - 鹰
+hard - kite - 鸢
+hard - buzzard - 秃鹰
+hard - osprey - 鱼鹰
+hard - kestrel - 茶隼
+hard - merlin - 灰背隼
+hard - harrier - 鹞
+hard - goshawk - 苍鹰
+hard - sparrowhawk - 雀鹰
+hard - kookaburra - 笑翠鸟
+hard - toucan - 巨嘴鸟
+hard - hornbill - 犀鸟
+hard - hoopoe - 戴胜
+hard - cockatoo - 凤头鹦鹉
+hard - macaw - 金刚鹦鹉
+hard - parakeet - 长尾小鹦鹉
+hard - budgerigar - 虎皮鹦鹉
+hard - lovebird - 情侣鹦鹉
+hard - canary - 金丝雀
+hard - finch - 雀
+hard - warbler - 莺
+hard - thrush - 鸫
+hard - nightingale - 夜莺
+hard - lark - 云雀
+hard - starling - 椋鸟
+hard - mynah - 八哥
+hard - oriole - 黄鹂
+hard - tanager - 唐纳雀
+hard - cardinal - 红雀
+hard - bluejay - 蓝松鸦
+hard - nuthatch - 五子雀
+hard - chickadee - 山雀
+hard - titmouse - 山雀
+
diff --git a/apps/articulate/frontend/public/wordlists/body.txt b/apps/articulate/frontend/public/wordlists/body.txt
new file mode 100644
index 0000000..8f4124d
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/body.txt
@@ -0,0 +1,257 @@
+easy - head - 头
+easy - face - 脸
+easy - eye - 眼睛
+easy - nose - 鼻子
+easy - mouth - 嘴巴
+easy - ear - 耳朵
+easy - hair - 头发
+easy - neck - 脖子
+easy - shoulder - 肩膀
+easy - arm - 手臂
+easy - hand - 手
+easy - finger - 手指
+easy - thumb - 大拇指
+easy - leg - 腿
+easy - knee - 膝盖
+easy - foot - 脚
+easy - toe - 脚趾
+easy - back - 背部
+easy - chest - 胸部
+easy - stomach - 肚子
+easy - belly - 腹部
+easy - heart - 心脏
+easy - brain - 大脑
+easy - bone - 骨头
+easy - skin - 皮肤
+easy - blood - 血液
+easy - tooth - 牙齿
+easy - tongue - 舌头
+easy - lip - 嘴唇
+easy - chin - 下巴
+easy - cheek - 脸颊
+easy - forehead - 额头
+easy - eyebrow - 眉毛
+easy - eyelash - 睫毛
+easy - eyelid - 眼皮
+easy - pupil - 瞳孔
+easy - iris - 虹膜
+easy - nostril - 鼻孔
+easy - jaw - 下巴
+easy - gum - 牙龈
+easy - throat - 喉咙
+easy - voice - 声音
+easy - breath - 呼吸
+easy - lung - 肺
+easy - rib - 肋骨
+easy - spine - 脊柱
+easy - hip - 臀部
+easy - waist - 腰
+easy - elbow - 肘
+easy - wrist - 手腕
+easy - palm - 手掌
+easy - fist - 拳头
+easy - knuckle - 指关节
+easy - nail - 指甲
+easy - ankle - 脚踝
+easy - heel - 脚后跟
+easy - sole - 脚底
+easy - muscle - 肌肉
+easy - vein - 静脉
+easy - artery - 动脉
+easy - nerve - 神经
+easy - liver - 肝脏
+easy - kidney - 肾脏
+easy - stomach - 胃
+easy - intestine - 肠
+easy - bladder - 膀胱
+easy - spleen - 脾脏
+easy - pancreas - 胰腺
+medium - skull - 头骨
+medium - temple - 太阳穴
+medium - scalp - 头皮
+medium - nape - 后颈
+medium - collarbone - 锁骨
+medium - breastbone - 胸骨
+medium - ribcage - 胸腔
+medium - abdomen - 腹部
+medium - navel - 肚脐
+medium - groin - 腹股沟
+medium - buttock - 臀部
+medium - thigh - 大腿
+medium - calf - 小腿
+medium - shin - 胫骨
+medium - kneecap - 膝盖骨
+medium - hamstring - 腿筋
+medium - quadriceps - 股四头肌
+medium - biceps - 二头肌
+medium - triceps - 三头肌
+medium - forearm - 前臂
+medium - upper arm - 上臂
+medium - armpit - 腋窝
+medium - shoulder blade - 肩胛骨
+medium - backbone - 脊梁骨
+medium - tailbone - 尾骨
+medium - pelvis - 骨盆
+medium - femur - 股骨
+medium - tibia - 胫骨
+medium - fibula - 腓骨
+medium - humerus - 肱骨
+medium - radius - 桡骨
+medium - ulna - 尺骨
+medium - carpal - 腕骨
+medium - metacarpal - 掌骨
+medium - phalanx - 指骨
+medium - tarsal - 跗骨
+medium - metatarsal - 跖骨
+medium - cartilage - 软骨
+medium - ligament - 韧带
+medium - tendon - 肌腱
+medium - joint - 关节
+medium - socket - 关节窝
+medium - marrow - 骨髓
+medium - membrane - 膜
+medium - tissue - 组织
+medium - organ - 器官
+medium - gland - 腺体
+medium - hormone - 荷尔蒙
+medium - enzyme - 酶
+medium - protein - 蛋白质
+medium - cell - 细胞
+medium - nucleus - 细胞核
+medium - chromosome - 染色体
+medium - gene - 基因
+medium - DNA - DNA
+medium - RNA - RNA
+medium - plasma - 血浆
+medium - platelet - 血小板
+medium - red blood cell - 红细胞
+medium - white blood cell - 白细胞
+medium - antibody - 抗体
+medium - antigen - 抗原
+medium - immune system - 免疫系统
+medium - lymph - 淋巴
+medium - lymph node - 淋巴结
+medium - tonsil - 扁桃体
+medium - thymus - 胸腺
+medium - thyroid - 甲状腺
+medium - parathyroid - 甲状旁腺
+medium - adrenal gland - 肾上腺
+medium - pituitary gland - 垂体
+medium - pineal gland - 松果体
+medium - hypothalamus - 下丘脑
+medium - cerebrum - 大脑
+medium - cerebellum - 小脑
+medium - brainstem - 脑干
+medium - cortex - 皮层
+medium - hippocampus - 海马体
+medium - amygdala - 杏仁核
+medium - thalamus - 丘脑
+medium - medulla - 髓质
+medium - spinal cord - 脊髓
+medium - neuron - 神经元
+medium - synapse - 突触
+medium - axon - 轴突
+medium - dendrite - 树突
+medium - myelin - 髓鞘
+medium - reflex - 反射
+medium - sensation - 感觉
+medium - perception - 知觉
+hard - cerebral cortex - 大脑皮层
+hard - frontal lobe - 额叶
+hard - parietal lobe - 顶叶
+hard - temporal lobe - 颞叶
+hard - occipital lobe - 枕叶
+hard - corpus callosum - 胼胝体
+hard - basal ganglia - 基底神经节
+hard - substantia nigra - 黑质
+hard - ventricle - 脑室
+hard - meninges - 脑膜
+hard - dura mater - 硬脑膜
+hard - arachnoid - 蛛网膜
+hard - pia mater - 软脑膜
+hard - cerebrospinal fluid - 脑脊液
+hard - optic nerve - 视神经
+hard - auditory nerve - 听神经
+hard - olfactory nerve - 嗅神经
+hard - vagus nerve - 迷走神经
+hard - sciatic nerve - 坐骨神经
+hard - ulnar nerve - 尺神经
+hard - radial nerve - 桡神经
+hard - median nerve - 正中神经
+hard - femoral nerve - 股神经
+hard - tibial nerve - 胫神经
+hard - autonomic nervous system - 自主神经系统
+hard - sympathetic - 交感神经
+hard - parasympathetic - 副交感神经
+hard - somatic - 躯体神经
+hard - sensory neuron - 感觉神经元
+hard - motor neuron - 运动神经元
+hard - interneuron - 中间神经元
+hard - ganglion - 神经节
+hard - plexus - 神经丛
+hard - esophagus - 食道
+hard - duodenum - 十二指肠
+hard - jejunum - 空肠
+hard - ileum - 回肠
+hard - colon - 结肠
+hard - cecum - 盲肠
+hard - appendix - 阑尾
+hard - rectum - 直肠
+hard - anus - 肛门
+hard - bile duct - 胆管
+hard - gallbladder - 胆囊
+hard - bile - 胆汁
+hard - gastric juice - 胃液
+hard - saliva - 唾液
+hard - salivary gland - 唾液腺
+hard - parotid gland - 腮腺
+hard - sublingual gland - 舌下腺
+hard - submandibular gland - 颌下腺
+hard - pharynx - 咽
+hard - larynx - 喉
+hard - trachea - 气管
+hard - bronchus - 支气管
+hard - bronchiole - 细支气管
+hard - alveolus - 肺泡
+hard - diaphragm - 横膈膜
+hard - pleura - 胸膜
+hard - pericardium - 心包
+hard - myocardium - 心肌
+hard - endocardium - 内心膜
+hard - atrium - 心房
+hard - ventricle - 心室
+hard - valve - 瓣膜
+hard - aorta - 主动脉
+hard - vena cava - 腔静脉
+hard - pulmonary artery - 肺动脉
+hard - pulmonary vein - 肺静脉
+hard - coronary artery - 冠状动脉
+hard - carotid artery - 颈动脉
+hard - jugular vein - 颈静脉
+hard - capillary - 毛细血管
+hard - endothelium - 内皮
+hard - epithelium - 上皮
+hard - connective tissue - 结缔组织
+hard - adipose tissue - 脂肪组织
+hard - mucous membrane - 粘膜
+hard - serous membrane - 浆膜
+hard - synovial membrane - 滑膜
+hard - peritoneum - 腹膜
+hard - mesentery - 肠系膜
+hard - omentum - 网膜
+hard - fascia - 筋膜
+hard - aponeurosis - 腱膜
+hard - bursa - 滑囊
+hard - meniscus - 半月板
+hard - intervertebral disc - 椎间盘
+hard - vertebra - 椎骨
+hard - sacrum - 骶骨
+hard - coccyx - 尾骨
+hard - sternum - 胸骨
+hard - scapula - 肩胛骨
+hard - clavicle - 锁骨
+hard - patella - 髌骨
+hard - mandible - 下颌骨
+hard - maxilla - 上颌骨
+hard - zygomatic bone - 颧骨
+
diff --git a/apps/articulate/frontend/public/wordlists/clothing.txt b/apps/articulate/frontend/public/wordlists/clothing.txt
new file mode 100644
index 0000000..876f737
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/clothing.txt
@@ -0,0 +1,316 @@
+easy - shirt - 衬衫
+easy - pants - 裤子
+easy - dress - 连衣裙
+easy - skirt - 裙子
+easy - shoes - 鞋子
+easy - socks - 袜子
+easy - hat - 帽子
+easy - coat - 外套
+easy - jacket - 夹克
+easy - sweater - 毛衣
+easy - jeans - 牛仔裤
+easy - shorts - 短裤
+easy - tie - 领带
+easy - belt - 腰带
+easy - scarf - 围巾
+easy - gloves - 手套
+easy - boots - 靴子
+easy - sandals - 凉鞋
+easy - slippers - 拖鞋
+easy - sneakers - 运动鞋
+easy - underwear - 内衣
+easy - bra - 胸罩
+easy - pajamas - 睡衣
+easy - robe - 浴袍
+easy - swimsuit - 泳衣
+easy - bikini - 比基尼
+easy - uniform - 制服
+easy - suit - 西装
+easy - tuxedo - 燕尾服
+easy - gown - 礼服
+easy - blouse - 女式衬衫
+easy - t-shirt - T恤
+easy - tank top - 背心
+easy - vest - 马甲
+easy - cardigan - 开襟毛衣
+easy - hoodie - 连帽衫
+easy - sweatshirt - 运动衫
+easy - sweatpants - 运动裤
+easy - leggings - 紧身裤
+easy - tights - 连裤袜
+easy - stockings - 长筒袜
+easy - cap - 帽子
+easy - beanie - 无檐小便帽
+easy - helmet - 头盔
+easy - crown - 皇冠
+easy - veil - 面纱
+easy - mask - 面具
+easy - glasses - 眼镜
+easy - sunglasses - 太阳镜
+easy - watch - 手表
+easy - bracelet - 手镯
+easy - necklace - 项链
+easy - earrings - 耳环
+easy - ring - 戒指
+easy - brooch - 胸针
+easy - pin - 别针
+easy - badge - 徽章
+easy - button - 纽扣
+easy - zipper - 拉链
+easy - pocket - 口袋
+easy - collar - 衣领
+easy - sleeve - 袖子
+easy - cuff - 袖口
+easy - hem - 下摆
+easy - seam - 接缝
+easy - lace - 花边
+easy - ribbon - 丝带
+medium - blazer - 西装外套
+medium - trench coat - 风衣
+medium - overcoat - 大衣
+medium - parka - 派克大衣
+medium - poncho - 斗篷
+medium - cape - 披肩
+medium - shawl - 披肩
+medium - stole - 女用披肩
+medium - wrap - 围巾
+medium - muffler - 围巾
+medium - bandana - 头巾
+medium - turban - 头巾
+medium - beret - 贝雷帽
+medium - fedora - 软呢帽
+medium - sombrero - 宽边帽
+medium - bonnet - 软帽
+medium - bowler - 圆顶礼帽
+medium - derby - 圆顶礼帽
+medium - trilby - 软呢帽
+medium - panama - 巴拿马帽
+medium - boater - 平顶草帽
+medium - cloche - 钟形帽
+medium - toque - 无边帽
+medium - pillbox - 筒形无边女帽
+medium - fascinator - 头饰
+medium - tiara - 头冠
+medium - diadem - 王冠
+medium - circlet - 头环
+medium - headband - 发带
+medium - hairpin - 发夹
+medium - barrette - 发夹
+medium - scrunchie - 发圈
+medium - wig - 假发
+medium - toupee - 男用假发
+medium - goggles - 护目镜
+medium - monocle - 单片眼镜
+medium - lorgnette - 长柄眼镜
+medium - pince-nez - 夹鼻眼镜
+medium - contact lenses - 隐形眼镜
+medium - spectacles - 眼镜
+medium - bifocals - 双光眼镜
+medium - reading glasses - 老花镜
+medium - safety glasses - 安全眼镜
+medium - visor - 遮阳帽
+medium - eyepatch - 眼罩
+medium - blindfold - 眼罩
+medium - earmuffs - 耳罩
+medium - earphones - 耳机
+medium - headphones - 耳机
+medium - pendant - 吊坠
+medium - locket - 小盒坠
+medium - charm - 吊坠
+medium - amulet - 护身符
+medium - talisman - 护身符
+medium - medallion - 大奖章
+medium - cameo - 浮雕宝石
+medium - choker - 项圈
+medium - collar - 项圈
+medium - torque - 项圈
+medium - chain - 链子
+medium - beads - 珠子
+medium - pearls - 珍珠
+medium - anklet - 脚链
+medium - bangle - 手镯
+medium - cuff - 袖口
+medium - armband - 臂章
+medium - wristband - 腕带
+medium - friendship bracelet - 友谊手链
+medium - cufflinks - 袖扣
+medium - tie clip - 领带夹
+medium - tie pin - 领带别针
+medium - stud - 耳钉
+medium - hoop - 圈形耳环
+medium - drop earrings - 吊坠耳环
+medium - chandelier earrings - 吊灯耳环
+medium - nose ring - 鼻环
+medium - septum ring - 鼻中隔环
+medium - lip ring - 唇环
+medium - tongue ring - 舌环
+medium - belly ring - 肚脐环
+medium - engagement ring - 订婚戒指
+medium - wedding ring - 结婚戒指
+medium - signet ring - 图章戒指
+medium - class ring - 班级戒指
+medium - mood ring - 心情戒指
+medium - cocktail ring - 鸡尾酒戒指
+medium - eternity ring - 永恒戒指
+medium - promise ring - 承诺戒指
+medium - claddagh ring - 克拉达戒指
+medium - cameo ring - 浮雕戒指
+medium - corsage - 胸花
+medium - boutonniere - 胸花
+medium - lapel pin - 翻领别针
+medium - safety pin - 安全别针
+medium - broach - 胸针
+medium - fibula - 别针
+medium - clasp - 扣子
+medium - buckle - 皮带扣
+medium - snap - 按扣
+medium - hook and eye - 钩扣
+medium - velcro - 魔术贴
+medium - drawstring - 束带
+medium - elastic - 松紧带
+medium - garter - 吊袜带
+medium - suspenders - 吊带
+medium - braces - 吊带
+medium - cummerbund - 腰带
+medium - sash - 腰带
+medium - girdle - 束腰
+medium - corset - 紧身胸衣
+medium - bustier - 胸衣
+medium - bodice - 紧身上衣
+medium - camisole - 吊带背心
+medium - chemise - 宽松内衣
+medium - slip - 衬裙
+medium - petticoat - 衬裙
+medium - underskirt - 衬裙
+medium - half-slip - 半身衬裙
+medium - crinoline - 衬裙
+medium - hoop skirt - 箍裙
+medium - bustle - 裙撑
+medium - pannier - 裙撑
+hard - doublet - 紧身上衣
+hard - jerkin - 无袖短上衣
+hard - tunic - 束腰外衣
+hard - surcoat - 外衣
+hard - tabard - 无袖外衣
+hard - cassock - 长袍
+hard - soutane - 长袍
+hard - habit - 修道服
+hard - cowl - 兜帽
+hard - wimple - 头巾
+hard - coif - 紧身帽
+hard - snood - 发网
+hard - mantilla - 披肩
+hard - yashmak - 面纱
+hard - burqa - 罩袍
+hard - niqab - 面纱
+hard - hijab - 头巾
+hard - chador - 黑袍
+hard - abaya - 长袍
+hard - kaftan - 长袍
+hard - djellaba - 长袍
+hard - thobe - 长袍
+hard - dishdasha - 长袍
+hard - kandura - 长袍
+hard - jubba - 长袍
+hard - kurta - 长衫
+hard - sherwani - 长外套
+hard - achkan - 长外套
+hard - nehru jacket - 尼赫鲁夹克
+hard - bandhgala - 立领外套
+hard - jodhpurs - 马裤
+hard - breeches - 马裤
+hard - knickerbockers - 灯笼裤
+hard - plus fours - 高尔夫裤
+hard - culottes - 裙裤
+hard - palazzo pants - 阔腿裤
+hard - capris - 七分裤
+hard - pedal pushers - 七分裤
+hard - bermuda shorts - 百慕大短裤
+hard - cargo shorts - 工装短裤
+hard - board shorts - 冲浪短裤
+hard - hot pants - 热裤
+hard - booty shorts - 超短裤
+hard - boy shorts - 平角内裤
+hard - briefs - 三角裤
+hard - boxers - 平角裤
+hard - boxer briefs - 四角裤
+hard - thong - 丁字裤
+hard - g-string - 丁字裤
+hard - bikini briefs - 比基尼内裤
+hard - hipsters - 低腰内裤
+hard - boyshorts - 平角内裤
+hard - granny panties - 高腰内裤
+hard - bloomers - 灯笼裤
+hard - knickers - 短裤
+hard - pantaloons - 灯笼裤
+hard - drawers - 内裤
+hard - combinations - 连身内衣
+hard - long johns - 秋裤
+hard - thermal underwear - 保暖内衣
+hard - union suit - 连身内衣
+hard - bodysuit - 连体衣
+hard - leotard - 紧身衣
+hard - unitard - 连体紧身衣
+hard - catsuit - 连体衣
+hard - jumpsuit - 连身裤
+hard - romper - 连身衣
+hard - playsuit - 连身衣
+hard - overalls - 工装裤
+hard - dungarees - 工装裤
+hard - coveralls - 连身工作服
+hard - boilersuit - 连身工作服
+hard - smock - 工作服
+hard - apron - 围裙
+hard - pinafore - 围裙
+hard - bib - 围兜
+hard - dickey - 假领
+hard - jabot - 褶边领饰
+hard - ruff - 轮状皱领
+hard - gorget - 护喉
+hard - rabat - 领饰
+hard - stock - 硬领
+hard - cravat - 领巾
+hard - ascot - 宽领带
+hard - bolo tie - 波洛领带
+hard - bow tie - 蝴蝶结领带
+hard - string tie - 细绳领带
+hard - neckerchief - 围巾
+hard - kerchief - 方巾
+hard - handkerchief - 手帕
+hard - pocket square - 口袋巾
+hard - bandanna - 大手帕
+hard - do-rag - 头巾
+hard - babushka - 头巾
+hard - headscarf - 头巾
+hard - headwrap - 头巾
+hard - gele - 头巾
+hard - keffiyeh - 头巾
+hard - shemagh - 头巾
+hard - agal - 头箍
+hard - fez - 毡帽
+hard - kufi - 无檐帽
+hard - taqiyah - 无檐帽
+hard - skullcap - 无檐帽
+hard - yarmulke - 犹太小帽
+hard - kippah - 犹太小帽
+hard - zucchetto - 小圆帽
+hard - biretta - 方帽
+hard - mitre - 主教冠
+hard - papal tiara - 教皇冠
+hard - pschent - 双冠
+hard - uraeus - 圣蛇饰
+hard - nemes - 头巾
+hard - shendyt - 腰布
+hard - kalasiris - 长袍
+hard - chiton - 束腰外衣
+hard - himation - 外袍
+hard - peplos - 束腰外衣
+hard - chlamys - 斗篷
+hard - toga - 托加袍
+hard - stola - 长袍
+hard - palla - 披肩
+hard - paludamentum - 军用斗篷
+hard - sagum - 军用斗篷
+hard - lacerna - 斗篷
+hard - paenula - 斗篷
+
diff --git a/apps/articulate/frontend/public/wordlists/colors.txt b/apps/articulate/frontend/public/wordlists/colors.txt
new file mode 100644
index 0000000..0890e77
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/colors.txt
@@ -0,0 +1,277 @@
+easy - red - 红色
+easy - blue - 蓝色
+easy - yellow - 黄色
+easy - green - 绿色
+easy - orange - 橙色
+easy - purple - 紫色
+easy - pink - 粉色
+easy - brown - 棕色
+easy - black - 黑色
+easy - white - 白色
+easy - gray - 灰色
+easy - gold - 金色
+easy - silver - 银色
+easy - beige - 米色
+easy - tan - 棕褐色
+easy - cream - 奶油色
+easy - ivory - 象牙色
+easy - navy - 海军蓝
+easy - sky blue - 天蓝色
+easy - light blue - 浅蓝色
+easy - dark blue - 深蓝色
+easy - bright blue - 亮蓝色
+easy - pale blue - 淡蓝色
+easy - light green - 浅绿色
+easy - dark green - 深绿色
+easy - bright green - 亮绿色
+easy - pale green - 淡绿色
+easy - lime green - 酸橙绿
+easy - mint green - 薄荷绿
+easy - olive green - 橄榄绿
+easy - forest green - 森林绿
+easy - sea green - 海绿色
+easy - light red - 浅红色
+easy - dark red - 深红色
+easy - bright red - 亮红色
+easy - pale red - 淡红色
+easy - cherry red - 樱桃红
+easy - blood red - 血红色
+easy - wine red - 酒红色
+easy - light yellow - 浅黄色
+easy - dark yellow - 深黄色
+easy - bright yellow - 亮黄色
+easy - pale yellow - 淡黄色
+easy - lemon yellow - 柠檬黄
+easy - golden yellow - 金黄色
+easy - light orange - 浅橙色
+easy - dark orange - 深橙色
+easy - bright orange - 亮橙色
+easy - pale orange - 淡橙色
+easy - light purple - 浅紫色
+easy - dark purple - 深紫色
+easy - bright purple - 亮紫色
+easy - pale purple - 淡紫色
+easy - light pink - 浅粉色
+easy - dark pink - 深粉色
+easy - bright pink - 亮粉色
+easy - pale pink - 淡粉色
+easy - hot pink - 桃红色
+easy - baby pink - 婴儿粉
+easy - light brown - 浅棕色
+easy - dark brown - 深棕色
+easy - light gray - 浅灰色
+easy - dark gray - 深灰色
+easy - charcoal - 炭灰色
+easy - slate gray - 石板灰
+medium - crimson - 深红色
+medium - scarlet - 猩红色
+medium - maroon - 栗色
+medium - burgundy - 勃艮第酒红
+medium - ruby - 红宝石色
+medium - rose - 玫瑰色
+medium - coral - 珊瑚色
+medium - salmon - 鲑鱼色
+medium - peach - 桃色
+medium - apricot - 杏色
+medium - amber - 琥珀色
+medium - bronze - 青铜色
+medium - copper - 铜色
+medium - rust - 铁锈色
+medium - terracotta - 赤陶色
+medium - sienna - 赭色
+medium - umber - 褐色
+medium - mahogany - 桃花心木色
+medium - chestnut - 栗色
+medium - chocolate - 巧克力色
+medium - coffee - 咖啡色
+medium - caramel - 焦糖色
+medium - khaki - 卡其色
+medium - sand - 沙色
+medium - wheat - 小麦色
+medium - buff - 浅黄色
+medium - ecru - 本色
+medium - taupe - 灰褐色
+medium - fawn - 浅黄褐色
+medium - sepia - 深褐色
+medium - bisque - 淡黄色
+medium - vanilla - 香草色
+medium - champagne - 香槟色
+medium - pearl - 珍珠色
+medium - platinum - 铂金色
+medium - steel - 钢色
+medium - pewter - 锡色
+medium - ash - 灰色
+medium - smoke - 烟灰色
+medium - graphite - 石墨色
+medium - jet - 煤黑色
+medium - ebony - 乌木色
+medium - onyx - 缟玛瑙色
+medium - sable - 黑貂色
+medium - raven - 乌鸦色
+medium - cobalt - 钴蓝色
+medium - azure - 天蓝色
+medium - cerulean - 蔚蓝色
+medium - sapphire - 蓝宝石色
+medium - indigo - 靛蓝色
+medium - denim - 牛仔蓝
+medium - teal - 青色
+medium - turquoise - 绿松石色
+medium - aqua - 水绿色
+medium - cyan - 青色
+medium - aquamarine - 海蓝宝石色
+medium - emerald - 祖母绿色
+medium - jade - 翡翠色
+medium - viridian - 铬绿色
+medium - chartreuse - 黄绿色
+medium - lime - 酸橙色
+medium - olive - 橄榄色
+medium - moss - 苔藓绿
+medium - sage - 鼠尾草绿
+medium - mint - 薄荷色
+medium - pistachio - 开心果色
+medium - avocado - 鳄梨色
+medium - pear - 梨色
+medium - lavender - 薰衣草色
+medium - lilac - 丁香色
+medium - violet - 紫罗兰色
+medium - amethyst - 紫水晶色
+medium - plum - 梅子色
+medium - eggplant - 茄子色
+medium - mauve - 淡紫色
+medium - orchid - 兰花色
+medium - magenta - 洋红色
+medium - fuchsia - 紫红色
+medium - cerise - 樱桃色
+medium - raspberry - 覆盆子色
+medium - strawberry - 草莓色
+medium - watermelon - 西瓜色
+medium - blush - 腮红色
+medium - rouge - 胭脂色
+medium - carnation - 康乃馨色
+medium - flamingo - 火烈鸟色
+medium - bubblegum - 泡泡糖色
+hard - vermilion - 朱红色
+hard - carmine - 胭脂红
+hard - celadon - 青瓷色
+hard - chartreuse - 黄绿色
+hard - periwinkle - 长春花色
+hard - puce - 紫褐色
+hard - saffron - 藏红花色
+hard - ochre - 赭石色
+hard - gamboge - 藤黄色
+hard - aureolin - 金黄色
+hard - citrine - 黄水晶色
+hard - topaz - 黄玉色
+hard - mustard - 芥末色
+hard - goldenrod - 一枝黄花色
+hard - marigold - 万寿菊色
+hard - sunflower - 向日葵色
+hard - canary - 金丝雀色
+hard - butter - 黄油色
+hard - primrose - 樱草色
+hard - daffodil - 水仙色
+hard - jonquil - 长寿花色
+hard - dandelion - 蒲公英色
+hard - honey - 蜂蜜色
+hard - butterscotch - 奶油糖色
+hard - tawny - 黄褐色
+hard - ginger - 姜色
+hard - cinnamon - 肉桂色
+hard - nutmeg - 肉豆蔻色
+hard - clove - 丁香色
+hard - cayenne - 辣椒色
+hard - paprika - 辣椒粉色
+hard - brick - 砖红色
+hard - cinnabar - 朱砂色
+hard - madder - 茜草红
+hard - alizarin - 茜素红
+hard - cochineal - 胭脂虫红
+hard - kermes - 胭脂虫红
+hard - tyrian - 泰尔紫
+hard - byzantium - 拜占庭紫
+hard - heliotrope - 天芥菜紫
+hard - wisteria - 紫藤色
+hard - periwinkle - 长春花色
+hard - cornflower - 矢车菊色
+hard - delphinium - 飞燕草色
+hard - hyacinth - 风信子色
+hard - iris - 鸢尾花色
+hard - lupine - 羽扇豆色
+hard - bellflower - 风铃草色
+hard - bluebell - 蓝铃花色
+hard - gentian - 龙胆色
+hard - forget-me-not - 勿忘我色
+hard - morning glory - 牵牛花色
+hard - peacock - 孔雀蓝
+hard - prussian - 普鲁士蓝
+hard - ultramarine - 群青色
+hard - lapis - 青金石色
+hard - midnight - 午夜蓝
+hard - navy - 海军蓝
+hard - oxford - 牛津蓝
+hard - royal - 皇家蓝
+hard - electric - 电光蓝
+hard - dodger - 道奇蓝
+hard - powder - 粉蓝色
+hard - alice - 爱丽丝蓝
+hard - baby - 婴儿蓝
+hard - columbia - 哥伦比亚蓝
+hard - carolina - 卡罗来纳蓝
+hard - maya - 玛雅蓝
+hard - egyptian - 埃及蓝
+hard - persian - 波斯蓝
+hard - steel - 钢蓝色
+hard - slate - 石板蓝
+hard - cadet - 军校蓝
+hard - dusk - 暮色蓝
+hard - pewter - 锡蓝色
+hard - gunmetal - 炮铜色
+hard - battleship - 战舰灰
+hard - payne's - 佩恩灰
+hard - davy's - 戴维灰
+hard - feldgrau - 野战灰
+hard - taupe - 灰褐色
+hard - greige - 灰米色
+hard - mushroom - 蘑菇色
+hard - pebble - 鹅卵石色
+hard - stone - 石色
+hard - cement - 水泥色
+hard - concrete - 混凝土色
+hard - asphalt - 沥青色
+hard - basalt - 玄武岩色
+hard - granite - 花岗岩色
+hard - marble - 大理石色
+hard - limestone - 石灰石色
+hard - sandstone - 砂岩色
+hard - slate - 板岩色
+hard - shale - 页岩色
+hard - obsidian - 黑曜石色
+hard - flint - 燧石色
+hard - quartz - 石英色
+hard - alabaster - 雪花石膏色
+hard - porcelain - 瓷色
+hard - bone - 骨色
+hard - chalk - 粉笔色
+hard - milk - 牛奶色
+hard - linen - 亚麻色
+hard - parchment - 羊皮纸色
+hard - vellum - 犊皮纸色
+hard - papyrus - 纸莎草色
+hard - manila - 马尼拉纸色
+hard - newsprint - 新闻纸色
+hard - cardboard - 纸板色
+hard - kraft - 牛皮纸色
+hard - burlap - 粗麻布色
+hard - hessian - 粗麻布色
+hard - jute - 黄麻色
+hard - hemp - 大麻色
+hard - flax - 亚麻色
+hard - cotton - 棉花色
+hard - wool - 羊毛色
+hard - cashmere - 羊绒色
+hard - mohair - 马海毛色
+hard - angora - 安哥拉毛色
+hard - alpaca - 羊驼毛色
+hard - vicuna - 骆马毛色
+hard - camel - 驼色
+
diff --git a/apps/articulate/frontend/public/wordlists/emotions.txt b/apps/articulate/frontend/public/wordlists/emotions.txt
new file mode 100644
index 0000000..a881d14
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/emotions.txt
@@ -0,0 +1,307 @@
+easy - happy - 快乐
+easy - sad - 悲伤
+easy - angry - 生气
+easy - scared - 害怕
+easy - excited - 兴奋
+easy - tired - 疲倦
+easy - bored - 无聊
+easy - surprised - 惊讶
+easy - worried - 担心
+easy - nervous - 紧张
+easy - proud - 骄傲
+easy - shy - 害羞
+easy - brave - 勇敢
+easy - calm - 平静
+easy - confused - 困惑
+easy - curious - 好奇
+easy - disappointed - 失望
+easy - embarrassed - 尴尬
+easy - frustrated - 沮丧
+easy - grateful - 感激
+easy - guilty - 内疚
+easy - hopeful - 充满希望
+easy - jealous - 嫉妒
+easy - lonely - 孤独
+easy - loved - 被爱
+easy - mad - 疯狂
+easy - peaceful - 和平
+easy - relaxed - 放松
+easy - satisfied - 满意
+easy - shocked - 震惊
+easy - silly - 愚蠢
+easy - stressed - 压力大
+easy - uncomfortable - 不舒服
+easy - upset - 心烦
+easy - warm - 温暖
+easy - cold - 冷淡
+easy - cheerful - 愉快
+easy - gloomy - 阴郁
+easy - joyful - 欢乐
+easy - miserable - 痛苦
+easy - pleased - 高兴
+easy - unhappy - 不快乐
+easy - content - 满足
+easy - discontent - 不满
+easy - delighted - 高兴
+easy - depressed - 沮丧
+easy - elated - 兴高采烈
+easy - melancholy - 忧郁
+easy - enthusiastic - 热情
+easy - apathetic - 冷漠
+easy - optimistic - 乐观
+easy - pessimistic - 悲观
+easy - confident - 自信
+easy - insecure - 不安全
+easy - comfortable - 舒适
+easy - anxious - 焦虑
+easy - secure - 安全
+easy - threatened - 受威胁
+easy - safe - 安全
+easy - vulnerable - 脆弱
+easy - strong - 强大
+easy - weak - 虚弱
+easy - energetic - 精力充沛
+easy - lethargic - 无精打采
+easy - alert - 警觉
+easy - drowsy - 昏昏欲睡
+easy - awake - 清醒
+easy - sleepy - 困倦
+medium - ecstatic - 狂喜
+medium - despondent - 沮丧
+medium - furious - 愤怒
+medium - terrified - 恐惧
+medium - thrilled - 激动
+medium - exhausted - 筋疲力尽
+medium - indifferent - 漠不关心
+medium - astonished - 惊讶
+medium - concerned - 关心
+medium - tense - 紧张
+medium - arrogant - 傲慢
+medium - timid - 胆怯
+medium - courageous - 勇敢
+medium - serene - 宁静
+medium - bewildered - 困惑
+medium - inquisitive - 好奇
+medium - disheartened - 灰心
+medium - mortified - 羞愧
+medium - exasperated - 恼怒
+medium - thankful - 感谢
+medium - remorseful - 懊悔
+medium - encouraged - 鼓励
+medium - envious - 羡慕
+medium - isolated - 孤立
+medium - cherished - 珍爱
+medium - irate - 愤怒
+medium - tranquil - 平静
+medium - composed - 镇定
+medium - fulfilled - 满足
+medium - appalled - 震惊
+medium - playful - 顽皮
+medium - overwhelmed - 不知所措
+medium - awkward - 尴尬
+medium - agitated - 激动
+medium - affectionate - 深情
+medium - distant - 疏远
+medium - jovial - 愉快
+medium - somber - 阴郁
+medium - jubilant - 欢腾
+medium - wretched - 悲惨
+medium - gratified - 满意
+medium - displeased - 不悦
+medium - contented - 满足
+medium - dissatisfied - 不满
+medium - overjoyed - 欣喜若狂
+medium - dejected - 沮丧
+medium - euphoric - 欣快
+medium - mournful - 悲哀
+medium - passionate - 热情
+medium - dispassionate - 冷静
+medium - sanguine - 乐观
+medium - cynical - 愤世嫉俗
+medium - assured - 确信
+medium - doubtful - 怀疑
+medium - cozy - 舒适
+medium - uneasy - 不安
+medium - protected - 受保护
+medium - endangered - 濒危
+medium - sheltered - 庇护
+medium - exposed - 暴露
+medium - robust - 强健
+medium - frail - 虚弱
+medium - vigorous - 充满活力
+medium - sluggish - 迟钝
+medium - attentive - 专注
+medium - distracted - 分心
+medium - conscious - 有意识
+medium - unconscious - 无意识
+medium - refreshed - 精神焕发
+medium - fatigued - 疲劳
+medium - invigorated - 充满活力
+medium - drained - 精疲力竭
+medium - stimulated - 刺激
+medium - numbed - 麻木
+medium - animated - 活跃
+medium - lifeless - 无生气
+medium - spirited - 精神饱满
+medium - dispirited - 沮丧
+medium - buoyant - 轻快
+medium - heavy-hearted - 心情沉重
+medium - lighthearted - 轻松愉快
+medium - downcast - 沮丧
+medium - uplifted - 振奋
+medium - dejected - 沮丧
+medium - inspired - 受启发
+medium - uninspired - 缺乏灵感
+medium - motivated - 有动力
+medium - unmotivated - 没有动力
+medium - determined - 坚定
+medium - hesitant - 犹豫
+medium - resolute - 坚决
+medium - wavering - 动摇
+medium - steadfast - 坚定
+medium - vacillating - 摇摆不定
+medium - decisive - 果断
+medium - indecisive - 优柔寡断
+medium - bold - 大胆
+medium - cautious - 谨慎
+medium - daring - 勇敢
+medium - wary - 警惕
+medium - adventurous - 冒险
+medium - conservative - 保守
+medium - spontaneous - 自发
+medium - calculated - 精心计算
+medium - impulsive - 冲动
+medium - deliberate - 深思熟虑
+medium - reckless - 鲁莽
+medium - prudent - 谨慎
+medium - carefree - 无忧无虑
+medium - burdened - 负担
+medium - untroubled - 无忧
+medium - troubled - 烦恼
+medium - unperturbed - 镇定
+medium - perturbed - 不安
+medium - undisturbed - 不受干扰
+medium - disturbed - 不安
+medium - unruffled - 镇定
+medium - ruffled - 不安
+medium - unflappable - 镇定
+medium - flustered - 慌乱
+hard - euphoric - 欣快
+hard - dysphoric - 烦躁
+hard - elated - 兴高采烈
+hard - crestfallen - 垂头丧气
+hard - incensed - 激怒
+hard - petrified - 吓呆
+hard - exhilarated - 兴奋
+hard - enervated - 衰弱
+hard - nonchalant - 漠不关心
+hard - flabbergasted - 目瞪口呆
+hard - apprehensive - 忧虑
+hard - fraught - 焦虑
+hard - haughty - 傲慢
+hard - diffident - 缺乏自信
+hard - valiant - 英勇
+hard - placid - 平静
+hard - perplexed - 困惑
+hard - intrigued - 好奇
+hard - crestfallen - 沮丧
+hard - abashed - 羞愧
+hard - vexed - 恼怒
+hard - appreciative - 感激
+hard - contrite - 悔恨
+hard - buoyed - 振奋
+hard - covetous - 贪婪
+hard - ostracized - 排斥
+hard - adored - 崇拜
+hard - livid - 愤怒
+hard - equanimous - 平静
+hard - poised - 镇定
+hard - satiated - 满足
+hard - aghast - 惊骇
+hard - whimsical - 异想天开
+hard - beleaguered - 困扰
+hard - sheepish - 羞怯
+hard - perturbed - 不安
+hard - tender - 温柔
+hard - aloof - 冷漠
+hard - ebullient - 热情洋溢
+hard - lugubrious - 悲哀
+hard - rapturous - 狂喜
+hard - abject - 悲惨
+hard - appeased - 平息
+hard - irked - 恼怒
+hard - sated - 满足
+hard - malcontent - 不满
+hard - transported - 狂喜
+hard - forlorn - 孤独
+hard - rhapsodic - 狂喜
+hard - plaintive - 哀伤
+hard - fervent - 热情
+hard - phlegmatic - 冷静
+hard - buoyant - 乐观
+hard - sardonic - 讽刺
+hard - self-assured - 自信
+hard - diffident - 缺乏自信
+hard - snug - 舒适
+hard - disquieted - 不安
+hard - fortified - 加强
+hard - imperiled - 危险
+hard - ensconced - 安置
+hard - vulnerable - 脆弱
+hard - stalwart - 坚定
+hard - infirm - 虚弱
+hard - ebullient - 热情洋溢
+hard - torpid - 迟钝
+hard - vigilant - 警惕
+hard - oblivious - 忘记
+hard - lucid - 清醒
+hard - stuporous - 昏迷
+hard - rejuvenated - 恢复活力
+hard - debilitated - 虚弱
+hard - galvanized - 激励
+hard - enervated - 衰弱
+hard - aroused - 唤醒
+hard - desensitized - 麻木
+hard - vivacious - 活泼
+hard - moribund - 垂死
+hard - effervescent - 活跃
+hard - languid - 无精打采
+hard - resilient - 有弹性
+hard - disconsolate - 忧郁
+hard - blithe - 快乐
+hard - doleful - 悲哀
+hard - exalted - 高兴
+hard - abased - 降低
+hard - emboldened - 鼓励
+hard - daunted - 气馁
+hard - galvanized - 激励
+hard - demoralized - 士气低落
+hard - tenacious - 坚韧
+hard - irresolute - 优柔寡断
+hard - unwavering - 坚定
+hard - faltering - 犹豫
+hard - intrepid - 无畏
+hard - timorous - 胆怯
+hard - audacious - 大胆
+hard - circumspect - 谨慎
+hard - venturesome - 冒险
+hard - risk-averse - 规避风险
+hard - extemporaneous - 即兴
+hard - premeditated - 预谋
+hard - precipitate - 仓促
+hard - judicious - 明智
+hard - foolhardy - 鲁莽
+hard - sagacious - 睿智
+hard - insouciant - 漫不经心
+hard - encumbered - 负担
+hard - unencumbered - 无负担
+hard - vexed - 烦恼
+hard - imperturbable - 镇定
+hard - agitated - 激动
+hard - tranquil - 平静
+hard - discomposed - 不安
+hard - unperturbed - 镇定
+hard - disconcerted - 不安
+hard - composed - 镇定
+hard - flustered - 慌乱
+
diff --git a/apps/articulate/frontend/public/wordlists/food.txt b/apps/articulate/frontend/public/wordlists/food.txt
new file mode 100644
index 0000000..7db4ba3
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/food.txt
@@ -0,0 +1,377 @@
+easy - rice - 米饭
+easy - bread - 面包
+easy - water - 水
+easy - milk - 牛奶
+easy - egg - 鸡蛋
+easy - apple - 苹果
+easy - banana - 香蕉
+easy - orange - 橙子
+easy - meat - 肉
+easy - fish - 鱼
+easy - chicken - 鸡肉
+easy - pork - 猪肉
+easy - beef - 牛肉
+easy - noodles - 面条
+easy - soup - 汤
+easy - tea - 茶
+easy - coffee - 咖啡
+easy - juice - 果汁
+easy - cake - 蛋糕
+easy - candy - 糖果
+easy - chocolate - 巧克力
+easy - ice cream - 冰淇淋
+easy - cookie - 饼干
+easy - pizza - 披萨
+easy - hamburger - 汉堡
+easy - hot dog - 热狗
+easy - sandwich - 三明治
+easy - salad - 沙拉
+easy - potato - 土豆
+easy - tomato - 西红柿
+easy - carrot - 胡萝卜
+easy - cucumber - 黄瓜
+easy - onion - 洋葱
+easy - garlic - 大蒜
+easy - pepper - 辣椒
+easy - corn - 玉米
+easy - cabbage - 白菜
+easy - lettuce - 生菜
+easy - spinach - 菠菜
+easy - grape - 葡萄
+easy - watermelon - 西瓜
+easy - strawberry - 草莓
+easy - peach - 桃子
+easy - pear - 梨
+easy - lemon - 柠檬
+easy - cherry - 樱桃
+easy - pineapple - 菠萝
+easy - mango - 芒果
+easy - kiwi - 猕猴桃
+easy - melon - 甜瓜
+easy - sugar - 糖
+easy - salt - 盐
+easy - oil - 油
+easy - butter - 黄油
+easy - cheese - 奶酪
+easy - yogurt - 酸奶
+easy - honey - 蜂蜜
+easy - jam - 果酱
+easy - sauce - 酱
+easy - vinegar - 醋
+easy - soy sauce - 酱油
+easy - dumpling - 饺子
+easy - steamed bun - 馒头
+easy - tofu - 豆腐
+easy - soybean - 黄豆
+easy - peanut - 花生
+easy - walnut - 核桃
+medium - sushi - 寿司
+medium - ramen - 拉面
+medium - tempura - 天妇罗
+medium - kimchi - 泡菜
+medium - curry - 咖喱
+medium - pasta - 意大利面
+medium - lasagna - 千层面
+medium - ravioli - 意大利饺子
+medium - risotto - 意大利烩饭
+medium - paella - 西班牙海鲜饭
+medium - burrito - 墨西哥卷饼
+medium - taco - 墨西哥玉米饼
+medium - enchilada - 墨西哥卷饼
+medium - guacamole - 鳄梨酱
+medium - hummus - 鹰嘴豆泥
+medium - falafel - 炸豆丸子
+medium - kebab - 烤肉串
+medium - shawarma - 沙威玛
+medium - pho - 越南河粉
+medium - pad thai - 泰式炒河粉
+medium - satay - 沙爹
+medium - dim sum - 点心
+medium - wonton - 馄饨
+medium - spring roll - 春卷
+medium - fried rice - 炒饭
+medium - congee - 粥
+medium - hot pot - 火锅
+medium - barbecue - 烧烤
+medium - steak - 牛排
+medium - lamb - 羊肉
+medium - duck - 鸭肉
+medium - bacon - 培根
+medium - sausage - 香肠
+medium - ham - 火腿
+medium - salmon - 三文鱼
+medium - tuna - 金枪鱼
+medium - shrimp - 虾
+medium - crab - 螃蟹
+medium - lobster - 龙虾
+medium - oyster - 牡蛎
+medium - clam - 蛤蜊
+medium - squid - 鱿鱼
+medium - octopus - 章鱼
+medium - seaweed - 海藻
+medium - mushroom - 蘑菇
+medium - eggplant - 茄子
+medium - zucchini - 西葫芦
+medium - broccoli - 西兰花
+medium - cauliflower - 花菜
+medium - asparagus - 芦笋
+medium - celery - 芹菜
+medium - radish - 萝卜
+medium - turnip - 芜菁
+medium - pumpkin - 南瓜
+medium - squash - 南瓜
+medium - bean - 豆子
+medium - lentil - 扁豆
+medium - chickpea - 鹰嘴豆
+medium - almond - 杏仁
+medium - cashew - 腰果
+medium - pistachio - 开心果
+medium - hazelnut - 榛子
+medium - chestnut - 栗子
+medium - coconut - 椰子
+medium - avocado - 鳄梨
+medium - papaya - 木瓜
+medium - guava - 番石榴
+medium - passion fruit - 百香果
+medium - dragon fruit - 火龙果
+medium - lychee - 荔枝
+medium - longan - 龙眼
+medium - pomegranate - 石榴
+medium - fig - 无花果
+medium - date - 椰枣
+medium - apricot - 杏
+medium - plum - 李子
+medium - blueberry - 蓝莓
+medium - raspberry - 覆盆子
+medium - blackberry - 黑莓
+medium - cranberry - 蔓越莓
+medium - grapefruit - 葡萄柚
+medium - tangerine - 橘子
+medium - lime - 青柠
+medium - persimmon - 柿子
+medium - cantaloupe - 哈密瓜
+medium - honeydew - 蜜瓜
+medium - flour - 面粉
+medium - yeast - 酵母
+medium - baking soda - 小苏打
+medium - cinnamon - 肉桂
+medium - ginger - 姜
+medium - turmeric - 姜黄
+medium - cumin - 孜然
+medium - paprika - 辣椒粉
+medium - oregano - 牛至
+medium - basil - 罗勒
+medium - thyme - 百里香
+medium - rosemary - 迷迭香
+medium - mint - 薄荷
+medium - parsley - 欧芹
+medium - cilantro - 香菜
+medium - dill - 莳萝
+medium - fennel - 茴香
+medium - vanilla - 香草
+medium - nutmeg - 肉豆蔻
+medium - clove - 丁香
+medium - cardamom - 豆蔻
+medium - saffron - 藏红花
+medium - sesame - 芝麻
+medium - mayonnaise - 蛋黄酱
+medium - ketchup - 番茄酱
+medium - mustard - 芥末
+medium - wasabi - 芥末
+medium - horseradish - 辣根
+medium - chili sauce - 辣椒酱
+medium - oyster sauce - 蚝油
+medium - fish sauce - 鱼露
+medium - teriyaki - 照烧酱
+medium - miso - 味噌
+medium - maple syrup - 枫糖浆
+medium - molasses - 糖浆
+medium - marmalade - 橘子酱
+medium - pesto - 青酱
+medium - gravy - 肉汁
+medium - broth - 高汤
+medium - stock - 高汤
+medium - gelatin - 明胶
+medium - pectin - 果胶
+medium - cornstarch - 玉米淀粉
+medium - agar - 琼脂
+hard - foie gras - 鹅肝
+hard - caviar - 鱼子酱
+hard - truffle - 松露
+hard - escargot - 蜗牛
+hard - prosciutto - 意大利火腿
+hard - pancetta - 意大利培根
+hard - mortadella - 意大利香肠
+hard - chorizo - 西班牙香肠
+hard - salami - 萨拉米香肠
+hard - pastrami - 熏牛肉
+hard - brisket - 牛胸肉
+hard - sirloin - 牛腰肉
+hard - tenderloin - 里脊
+hard - ribeye - 肋眼牛排
+hard - filet mignon - 菲力牛排
+hard - veal - 小牛肉
+hard - venison - 鹿肉
+hard - quail - 鹌鹑
+hard - pheasant - 野鸡
+hard - partridge - 鹧鸪
+hard - anchovy - 凤尾鱼
+hard - sardine - 沙丁鱼
+hard - mackerel - 鲭鱼
+hard - herring - 鲱鱼
+hard - cod - 鳕鱼
+hard - halibut - 大比目鱼
+hard - sole - 鳎鱼
+hard - flounder - 比目鱼
+hard - perch - 鲈鱼
+hard - trout - 鳟鱼
+hard - pike - 梭子鱼
+hard - carp - 鲤鱼
+hard - catfish - 鲶鱼
+hard - eel - 鳗鱼
+hard - conch - 海螺
+hard - abalone - 鲍鱼
+hard - scallop - 扇贝
+hard - mussel - 贻贝
+hard - cockle - 鸟蛤
+hard - whelk - 峨螺
+hard - sea urchin - 海胆
+hard - sea cucumber - 海参
+hard - jellyfish - 海蜇
+hard - artichoke - 洋蓟
+hard - arugula - 芝麻菜
+hard - endive - 菊苣
+hard - radicchio - 红菊苣
+hard - bok choy - 白菜
+hard - napa cabbage - 大白菜
+hard - kohlrabi - 大头菜
+hard - kale - 羽衣甘蓝
+hard - collard greens - 羽衣甘蓝
+hard - chard - 甜菜叶
+hard - watercress - 豆瓣菜
+hard - leek - 韭葱
+hard - shallot - 青葱
+hard - scallion - 葱
+hard - chive - 细香葱
+hard - jicama - 豆薯
+hard - taro - 芋头
+hard - yam - 山药
+hard - parsnip - 欧洲防风草
+hard - rutabaga - 芜菁甘蓝
+hard - beet - 甜菜
+hard - daikon - 白萝卜
+hard - okra - 秋葵
+hard - bamboo shoot - 竹笋
+hard - water chestnut - 荸荠
+hard - lotus root - 莲藕
+hard - shiitake - 香菇
+hard - enoki - 金针菇
+hard - oyster mushroom - 平菇
+hard - porcini - 牛肝菌
+hard - chanterelle - 鸡油菌
+hard - morel - 羊肚菌
+hard - truffle - 松露菌
+hard - rambutan - 红毛丹
+hard - durian - 榴莲
+hard - mangosteen - 山竹
+hard - starfruit - 杨桃
+hard - jackfruit - 菠萝蜜
+hard - breadfruit - 面包果
+hard - kumquat - 金桔
+hard - quince - 榅桲
+hard - medlar - 欧楂
+hard - elderberry - 接骨木果
+hard - gooseberry - 醋栗
+hard - currant - 黑醋栗
+hard - mulberry - 桑葚
+hard - acai - 巴西莓
+hard - goji berry - 枸杞
+hard - tamarind - 罗望子
+hard - carob - 角豆
+hard - anise - 茴芹
+hard - caraway - 香菜籽
+hard - coriander - 芫荽
+hard - fenugreek - 胡芦巴
+hard - marjoram - 墨角兰
+hard - sage - 鼠尾草
+hard - savory - 香薄荷
+hard - tarragon - 龙蒿
+hard - chervil - 细叶芹
+hard - sorrel - 酢浆草
+hard - bay leaf - 月桂叶
+hard - lemongrass - 柠檬草
+hard - galangal - 高良姜
+hard - kaffir lime - 泰国青柠
+hard - star anise - 八角
+hard - szechuan pepper - 花椒
+hard - black pepper - 黑胡椒
+hard - white pepper - 白胡椒
+hard - cayenne - 卡宴辣椒
+hard - chipotle - 墨西哥辣椒
+hard - habanero - 哈瓦那辣椒
+hard - jalapeño - 墨西哥青椒
+hard - poblano - 波布拉诺辣椒
+hard - serrano - 塞拉诺辣椒
+hard - allspice - 多香果
+hard - juniper - 杜松子
+hard - sumac - 漆树
+hard - asafoetida - 阿魏
+hard - mace - 肉豆蔻皮
+hard - capers - 酸豆
+hard - tahini - 芝麻酱
+hard - mirin - 味淋
+hard - sake - 清酒
+hard - rice vinegar - 米醋
+hard - balsamic vinegar - 香醋
+hard - sherry vinegar - 雪利酒醋
+hard - apple cider vinegar - 苹果醋
+hard - tamarind paste - 罗望子酱
+hard - hoisin sauce - 海鲜酱
+hard - plum sauce - 梅子酱
+hard - black bean sauce - 豆豉酱
+hard - sambal - 参巴酱
+hard - sriracha - 是拉差辣酱
+hard - gochujang - 韩国辣酱
+hard - harissa - 哈里萨辣酱
+hard - chimichurri - 青酱
+hard - aioli - 蒜泥蛋黄酱
+hard - rouille - 红辣椒蒜泥蛋黄酱
+hard - remoulade - 雷莫拉德酱
+hard - béarnaise - 贝亚恩酱
+hard - hollandaise - 荷兰酱
+hard - béchamel - 白酱
+hard - velouté - 白汁
+hard - espagnole - 西班牙酱
+hard - demi-glace - 半釉汁
+hard - bordelaise - 波尔多酱
+hard - chasseur - 猎人酱
+hard - lyonnaise - 里昂酱
+hard - provençale - 普罗旺斯酱
+hard - normande - 诺曼底酱
+hard - mornay - 莫内酱
+hard - soubise - 洋葱酱
+hard - ravigote - 酸辣酱
+hard - gribiche - 法式酸菜酱
+hard - chutney - 酸辣酱
+hard - relish - 调味酱
+hard - piccalilli - 印度泡菜
+hard - mostarda - 芥末水果
+hard - membrillo - 木瓜酱
+hard - compote - 蜜饯
+hard - conserve - 果酱
+hard - confiture - 果酱
+hard - coulis - 果泥
+hard - gastrique - 焦糖醋汁
+hard - reduction - 浓缩汁
+hard - jus - 肉汁
+hard - fumet - 鱼汤
+hard - court bouillon - 清汤
+hard - consommé - 清汤
+hard - bisque - 浓汤
+hard - chowder - 海鲜浓汤
+hard - gumbo - 秋葵浓汤
+hard - minestrone - 意大利蔬菜汤
+hard - gazpacho - 西班牙冷汤
+hard - vichyssoise - 冷韭葱汤
+hard - borscht - 罗宋汤
+
diff --git a/apps/articulate/frontend/public/wordlists/music.txt b/apps/articulate/frontend/public/wordlists/music.txt
new file mode 100644
index 0000000..1603ebc
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/music.txt
@@ -0,0 +1,263 @@
+easy - song - 歌曲
+easy - music - 音乐
+easy - sing - 唱歌
+easy - dance - 跳舞
+easy - piano - 钢琴
+easy - guitar - 吉他
+easy - drum - 鼓
+easy - violin - 小提琴
+easy - flute - 笛子
+easy - trumpet - 小号
+easy - singer - 歌手
+easy - band - 乐队
+easy - concert - 音乐会
+easy - stage - 舞台
+easy - microphone - 麦克风
+easy - speaker - 扬声器
+easy - radio - 收音机
+easy - CD - 光盘
+easy - record - 唱片
+easy - album - 专辑
+easy - melody - 旋律
+easy - rhythm - 节奏
+easy - beat - 节拍
+easy - tempo - 速度
+easy - loud - 大声
+easy - quiet - 安静
+easy - fast - 快
+easy - slow - 慢
+easy - high - 高音
+easy - low - 低音
+easy - note - 音符
+easy - scale - 音阶
+easy - chord - 和弦
+easy - key - 调
+easy - sharp - 升号
+easy - flat - 降号
+easy - major - 大调
+easy - minor - 小调
+easy - rock - 摇滚
+easy - pop - 流行音乐
+easy - jazz - 爵士乐
+easy - blues - 蓝调
+easy - folk - 民谣
+easy - country - 乡村音乐
+easy - classical - 古典音乐
+easy - opera - 歌剧
+easy - rap - 说唱
+easy - hip hop - 嘻哈
+easy - disco - 迪斯科
+easy - techno - 电子音乐
+easy - metal - 金属乐
+easy - punk - 朋克
+easy - reggae - 雷鬼
+easy - soul - 灵魂乐
+easy - funk - 放克
+easy - gospel - 福音音乐
+easy - ballad - 民谣
+easy - anthem - 国歌
+easy - hymn - 赞美诗
+easy - lullaby - 摇篮曲
+easy - march - 进行曲
+easy - waltz - 华尔兹
+easy - tango - 探戈
+easy - salsa - 萨尔萨
+easy - samba - 桑巴
+easy - rumba - 伦巴
+medium - saxophone - 萨克斯风
+medium - clarinet - 单簧管
+medium - oboe - 双簧管
+medium - bassoon - 巴松管
+medium - trombone - 长号
+medium - tuba - 大号
+medium - horn - 圆号
+medium - cornet - 短号
+medium - bugle - 军号
+medium - harmonica - 口琴
+medium - accordion - 手风琴
+medium - organ - 管风琴
+medium - keyboard - 键盘
+medium - synthesizer - 合成器
+medium - xylophone - 木琴
+medium - marimba - 马林巴
+medium - vibraphone - 颤音琴
+medium - glockenspiel - 钟琴
+medium - timpani - 定音鼓
+medium - cymbal - 钹
+medium - tambourine - 铃鼓
+medium - triangle - 三角铁
+medium - castanets - 响板
+medium - maracas - 沙槌
+medium - bongo - 邦戈鼓
+medium - conga - 康加鼓
+medium - djembe - 非洲鼓
+medium - tabla - 塔布拉鼓
+medium - sitar - 西塔琴
+medium - banjo - 班卓琴
+medium - mandolin - 曼陀林
+medium - ukulele - 尤克里里
+medium - harp - 竖琴
+medium - lute - 琵琶
+medium - zither - 古筝
+medium - dulcimer - 扬琴
+medium - bagpipe - 风笛
+medium - recorder - 竖笛
+medium - piccolo - 短笛
+medium - bass - 贝斯
+medium - cello - 大提琴
+medium - viola - 中提琴
+medium - double bass - 低音提琴
+medium - fiddle - 小提琴
+medium - bow - 琴弓
+medium - string - 弦
+medium - fret - 品
+medium - pick - 拨片
+medium - plectrum - 拨片
+medium - tuning - 调音
+medium - pitch - 音高
+medium - octave - 八度
+medium - interval - 音程
+medium - harmony - 和声
+medium - counterpoint - 对位
+medium - polyphony - 复调
+medium - homophony - 主调
+medium - monophony - 单声部
+medium - unison - 齐唱
+medium - canon - 卡农
+medium - fugue - 赋格
+medium - sonata - 奏鸣曲
+medium - symphony - 交响曲
+medium - concerto - 协奏曲
+medium - suite - 组曲
+medium - overture - 序曲
+medium - prelude - 前奏曲
+medium - interlude - 间奏曲
+medium - postlude - 后奏曲
+medium - etude - 练习曲
+medium - nocturne - 夜曲
+medium - serenade - 小夜曲
+medium - rhapsody - 狂想曲
+medium - fantasia - 幻想曲
+medium - caprice - 随想曲
+medium - impromptu - 即兴曲
+medium - scherzo - 谐谑曲
+medium - minuet - 小步舞曲
+medium - mazurka - 玛祖卡
+medium - polonaise - 波兰舞曲
+medium - gavotte - 加沃特
+medium - bourree - 布列舞曲
+medium - gigue - 吉格舞曲
+medium - sarabande - 萨拉班德
+medium - allemande - 阿勒曼德
+medium - courante - 库朗特
+medium - pavane - 帕凡舞曲
+medium - galliard - 加利亚德
+medium - tarantella - 塔兰泰拉
+medium - bolero - 波莱罗
+medium - fandango - 凡丹戈
+medium - flamenco - 弗拉明戈
+medium - habanera - 哈巴涅拉
+medium - bossa nova - 波萨诺瓦
+medium - mambo - 曼波
+medium - cha-cha - 恰恰
+medium - foxtrot - 狐步舞
+medium - quickstep - 快步舞
+medium - jive - 捷舞
+medium - swing - 摇摆舞
+hard - contrabassoon - 低音巴松
+hard - English horn - 英国管
+hard - alto saxophone - 中音萨克斯
+hard - tenor saxophone - 高音萨克斯
+hard - baritone saxophone - 上低音萨克斯
+hard - soprano saxophone - 女高音萨克斯
+hard - flugelhorn - 富鲁格号
+hard - euphonium - 上低音号
+hard - sousaphone - 苏萨号
+hard - mellophone - 圆号
+hard - Wagner tuba - 瓦格纳大号
+hard - serpent - 蛇形号
+hard - ophicleide - 奥菲克莱德号
+hard - shawm - 肖姆管
+hard - crumhorn - 克鲁姆管
+hard - rackett - 拉克特管
+hard - dulcian - 杜尔西安管
+hard - chalumeau - 沙吕莫管
+hard - ocarina - 陶笛
+hard - panpipes - 排箫
+hard - shakuhachi - 尺八
+hard - didgeridoo - 迪吉里杜管
+hard - alphorn - 阿尔卑斯号
+hard - conch - 海螺号
+hard - shofar - 羊角号
+hard - vuvuzela - 呜呜祖拉
+hard - kazoo - 卡祖笛
+hard - melodica - 口风琴
+hard - concertina - 六角手风琴
+hard - bandoneon - 班多钮手风琴
+hard - hurdy-gurdy - 绞弦琴
+hard - autoharp - 自动竖琴
+hard - psaltery - 索尔特里琴
+hard - lyre - 里拉琴
+hard - koto - 筝
+hard - shamisen - 三味线
+hard - erhu - 二胡
+hard - pipa - 琵琶
+hard - guqin - 古琴
+hard - guzheng - 古筝
+hard - yangqin - 扬琴
+hard - sanxian - 三弦
+hard - ruan - 阮
+hard - liuqin - 柳琴
+hard - zhongruan - 中阮
+hard - daruan - 大阮
+hard - dizi - 笛子
+hard - xiao - 箫
+hard - sheng - 笙
+hard - suona - 唢呐
+hard - gong - 锣
+hard - chime - 编钟
+hard - clapper - 梆子
+hard - woodblock - 木鱼
+hard - temple block - 木鱼
+hard - cowbell - 牛铃
+hard - agogo - 阿戈戈铃
+hard - cabasa - 卡巴萨
+hard - guiro - 刮瓜
+hard - vibraslap - 颤音器
+hard - flexatone - 弹音器
+hard - ratchet - 齿轮
+hard - slapstick - 拍板
+hard - whip - 鞭子
+hard - thundersheet - 雷板
+hard - wind machine - 风声器
+hard - rain stick - 雨棍
+hard - ocean drum - 海浪鼓
+hard - lion's roar - 狮吼
+hard - cuica - 库伊卡
+hard - berimbau - 贝林巴乌
+hard - kalimba - 卡林巴
+hard - mbira - 姆比拉
+hard - balafon - 巴拉风
+hard - gamelan - 甘美兰
+hard - angklung - 昂格隆
+hard - theremin - 特雷门琴
+hard - ondes Martenot - 马特诺琴
+hard - glass harmonica - 玻璃琴
+hard - musical saw - 锯琴
+hard - waterphone - 水琴
+hard - hang drum - 手碟
+hard - steel drum - 钢鼓
+hard - handpan - 手碟
+hard - cajón - 卡洪鼓
+hard - bodhrán - 博德兰鼓
+hard - darbuka - 达布卡鼓
+hard - doumbek - 杜姆贝克鼓
+hard - ashiko - 阿希科鼓
+hard - talking drum - 会说话的鼓
+hard - udu - 乌杜鼓
+hard - frame drum - 框鼓
+hard - dhol - 多尔鼓
+hard - dholak - 多拉克鼓
+hard - mridangam - 姆里丹加姆鼓
+hard - pakhawaj - 帕卡瓦吉鼓
+
diff --git a/apps/articulate/frontend/public/wordlists/nature.txt b/apps/articulate/frontend/public/wordlists/nature.txt
new file mode 100644
index 0000000..ba63d2d
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/nature.txt
@@ -0,0 +1,390 @@
+easy - tree - 树
+easy - flower - 花
+easy - grass - 草
+easy - leaf - 叶子
+easy - branch - 树枝
+easy - root - 根
+easy - seed - 种子
+easy - fruit - 水果
+easy - plant - 植物
+easy - bush - 灌木
+easy - forest - 森林
+easy - mountain - 山
+easy - river - 河
+easy - lake - 湖
+easy - ocean - 海洋
+easy - sea - 海
+easy - beach - 海滩
+easy - wave - 波浪
+easy - sand - 沙子
+easy - rock - 岩石
+easy - stone - 石头
+easy - soil - 土壤
+easy - mud - 泥
+easy - dirt - 泥土
+easy - water - 水
+easy - rain - 雨
+easy - snow - 雪
+easy - ice - 冰
+easy - cloud - 云
+easy - sky - 天空
+easy - sun - 太阳
+easy - moon - 月亮
+easy - star - 星星
+easy - wind - 风
+easy - storm - 暴风雨
+easy - thunder - 雷
+easy - lightning - 闪电
+easy - rainbow - 彩虹
+easy - fog - 雾
+easy - mist - 薄雾
+easy - dew - 露水
+easy - frost - 霜
+easy - fire - 火
+easy - flame - 火焰
+easy - smoke - 烟
+easy - ash - 灰烬
+easy - coal - 煤
+easy - diamond - 钻石
+easy - gold - 金
+easy - silver - 银
+easy - copper - 铜
+easy - iron - 铁
+easy - metal - 金属
+easy - mineral - 矿物
+easy - crystal - 水晶
+easy - gem - 宝石
+easy - pearl - 珍珠
+easy - shell - 贝壳
+easy - coral - 珊瑚
+easy - seaweed - 海藻
+easy - moss - 苔藓
+easy - fern - 蕨类
+easy - bamboo - 竹子
+easy - cactus - 仙人掌
+easy - palm - 棕榈
+easy - pine - 松树
+easy - oak - 橡树
+easy - maple - 枫树
+medium - willow - 柳树
+medium - birch - 桦树
+medium - cedar - 雪松
+medium - cypress - 柏树
+medium - elm - 榆树
+medium - ash - 白蜡树
+medium - beech - 山毛榉
+medium - poplar - 杨树
+medium - aspen - 白杨
+medium - sycamore - 梧桐
+medium - chestnut - 栗树
+medium - walnut - 核桃树
+medium - cherry - 樱桃树
+medium - apple - 苹果树
+medium - pear - 梨树
+medium - plum - 李树
+medium - peach - 桃树
+medium - apricot - 杏树
+medium - magnolia - 木兰
+medium - dogwood - 山茱萸
+medium - redwood - 红杉
+medium - sequoia - 巨杉
+medium - eucalyptus - 桉树
+medium - acacia - 相思树
+medium - mahogany - 桃花心木
+medium - teak - 柚木
+medium - ebony - 乌木
+medium - sandalwood - 檀香木
+medium - rosewood - 红木
+medium - ivy - 常春藤
+medium - vine - 藤蔓
+medium - creeper - 爬藤
+medium - climber - 攀缘植物
+medium - hedge - 树篱
+medium - shrub - 灌木
+medium - thicket - 灌木丛
+medium - undergrowth - 下层植被
+medium - canopy - 树冠
+medium - foliage - 叶子
+medium - blossom - 花朵
+medium - bloom - 花
+medium - bud - 花蕾
+medium - petal - 花瓣
+medium - stem - 茎
+medium - stalk - 茎秆
+medium - thorn - 刺
+medium - bark - 树皮
+medium - trunk - 树干
+medium - sapling - 树苗
+medium - seedling - 幼苗
+medium - sprout - 新芽
+medium - shoot - 嫩枝
+medium - twig - 细枝
+medium - stump - 树桩
+medium - log - 圆木
+medium - timber - 木材
+medium - lumber - 木材
+medium - firewood - 柴火
+medium - kindling - 引火柴
+medium - charcoal - 木炭
+medium - peat - 泥炭
+medium - turf - 草皮
+medium - sod - 草皮
+medium - lawn - 草坪
+medium - meadow - 草地
+medium - field - 田野
+medium - pasture - 牧场
+medium - prairie - 草原
+medium - savanna - 热带草原
+medium - steppe - 草原
+medium - tundra - 苔原
+medium - taiga - 针叶林
+medium - rainforest - 雨林
+medium - jungle - 丛林
+medium - woodland - 林地
+medium - grove - 小树林
+medium - copse - 矮树林
+medium - thicket - 灌木丛
+medium - scrubland - 灌木地
+medium - brushwood - 灌木林
+medium - wilderness - 荒野
+medium - wetland - 湿地
+medium - swamp - 沼泽
+medium - marsh - 沼泽
+medium - bog - 泥沼
+medium - fen - 沼泽
+medium - moor - 荒野
+medium - heath - 荒地
+medium - dune - 沙丘
+medium - oasis - 绿洲
+medium - canyon - 峡谷
+medium - gorge - 峡谷
+medium - ravine - 峡谷
+medium - valley - 山谷
+medium - dale - 山谷
+medium - glen - 幽谷
+medium - hollow - 山谷
+medium - basin - 盆地
+medium - plain - 平原
+medium - plateau - 高原
+medium - mesa - 平顶山
+medium - butte - 孤山
+medium - cliff - 悬崖
+medium - precipice - 悬崖
+medium - crag - 峭壁
+medium - bluff - 断崖
+medium - escarpment - 陡坡
+medium - slope - 斜坡
+medium - hillside - 山坡
+medium - foothill - 山麓
+medium - ridge - 山脊
+medium - crest - 山顶
+medium - peak - 山峰
+medium - summit - 山顶
+medium - pinnacle - 顶峰
+medium - volcano - 火山
+medium - crater - 火山口
+medium - caldera - 火山口
+medium - lava - 熔岩
+medium - magma - 岩浆
+medium - eruption - 喷发
+medium - geyser - 间歇泉
+medium - hot spring - 温泉
+medium - spring - 泉
+medium - fountain - 泉水
+medium - well - 井
+medium - stream - 小溪
+medium - brook - 小河
+medium - creek - 小溪
+medium - rivulet - 小河
+medium - tributary - 支流
+medium - rapids - 急流
+medium - waterfall - 瀑布
+medium - cascade - 小瀑布
+medium - cataract - 大瀑布
+hard - conifer - 针叶树
+hard - deciduous - 落叶树
+hard - evergreen - 常绿树
+hard - broadleaf - 阔叶树
+hard - hardwood - 硬木
+hard - softwood - 软木
+hard - sapwood - 边材
+hard - heartwood - 心材
+hard - cambium - 形成层
+hard - phloem - 韧皮部
+hard - xylem - 木质部
+hard - chlorophyll - 叶绿素
+hard - photosynthesis - 光合作用
+hard - transpiration - 蒸腾作用
+hard - respiration - 呼吸作用
+hard - germination - 发芽
+hard - pollination - 授粉
+hard - fertilization - 受精
+hard - propagation - 繁殖
+hard - cultivation - 栽培
+hard - horticulture - 园艺
+hard - arboriculture - 树木栽培
+hard - silviculture - 造林
+hard - forestry - 林业
+hard - deforestation - 森林砍伐
+hard - reforestation - 重新造林
+hard - afforestation - 植树造林
+hard - conservation - 保护
+hard - preservation - 保存
+hard - ecosystem - 生态系统
+hard - biodiversity - 生物多样性
+hard - habitat - 栖息地
+hard - biome - 生物群系
+hard - estuary - 河口
+hard - delta - 三角洲
+hard - fjord - 峡湾
+hard - sound - 海湾
+hard - strait - 海峡
+hard - channel - 海峡
+hard - archipelago - 群岛
+hard - atoll - 环礁
+hard - lagoon - 泻湖
+hard - reef - 礁石
+hard - shoal - 浅滩
+hard - sandbar - 沙洲
+hard - spit - 沙嘴
+hard - headland - 岬
+hard - promontory - 海角
+hard - peninsula - 半岛
+hard - isthmus - 地峡
+hard - coast - 海岸
+hard - coastline - 海岸线
+hard - shoreline - 海岸线
+hard - littoral - 沿海地区
+hard - tidemark - 潮汐线
+hard - high tide - 高潮
+hard - low tide - 低潮
+hard - neap tide - 小潮
+hard - spring tide - 大潮
+hard - tidal pool - 潮池
+hard - rockpool - 岩池
+hard - current - 洋流
+hard - undercurrent - 暗流
+hard - undertow - 回流
+hard - riptide - 离岸流
+hard - eddy - 涡流
+hard - whirlpool - 漩涡
+hard - maelstrom - 大漩涡
+hard - vortex - 漩涡
+hard - wave crest - 波峰
+hard - wave trough - 波谷
+hard - breaker - 碎浪
+hard - surf - 拍岸浪
+hard - swell - 涌浪
+hard - ripple - 涟漪
+hard - tsunami - 海啸
+hard - tidal wave - 潮汐波
+hard - storm surge - 风暴潮
+hard - monsoon - 季风
+hard - typhoon - 台风
+hard - hurricane - 飓风
+hard - cyclone - 气旋
+hard - tornado - 龙卷风
+hard - twister - 旋风
+hard - whirlwind - 旋风
+hard - dust devil - 尘卷风
+hard - sandstorm - 沙尘暴
+hard - blizzard - 暴风雪
+hard - squall - 狂风
+hard - gale - 大风
+hard - tempest - 暴风雨
+hard - deluge - 暴雨
+hard - downpour - 倾盆大雨
+hard - drizzle - 细雨
+hard - shower - 阵雨
+hard - precipitation - 降水
+hard - hail - 冰雹
+hard - sleet - 雨夹雪
+hard - snowflake - 雪花
+hard - snowfall - 降雪
+hard - avalanche - 雪崩
+hard - glacier - 冰川
+hard - iceberg - 冰山
+hard - ice sheet - 冰盖
+hard - ice shelf - 冰架
+hard - ice floe - 浮冰
+hard - pack ice - 浮冰群
+hard - permafrost - 永冻层
+hard - hoarfrost - 白霜
+hard - rime - 雾凇
+hard - icicle - 冰柱
+hard - stalactite - 钟乳石
+hard - stalagmite - 石笋
+hard - limestone - 石灰岩
+hard - marble - 大理石
+hard - granite - 花岗岩
+hard - basalt - 玄武岩
+hard - obsidian - 黑曜石
+hard - pumice - 浮石
+hard - sandstone - 砂岩
+hard - shale - 页岩
+hard - slate - 板岩
+hard - quartzite - 石英岩
+hard - schist - 片岩
+hard - gneiss - 片麻岩
+hard - conglomerate - 砾岩
+hard - breccia - 角砾岩
+hard - sediment - 沉积物
+hard - silt - 淤泥
+hard - clay - 黏土
+hard - loam - 壤土
+hard - topsoil - 表层土
+hard - subsoil - 底土
+hard - bedrock - 基岩
+hard - mantle - 地幔
+hard - crust - 地壳
+hard - core - 地核
+hard - tectonic plate - 构造板块
+hard - fault line - 断层线
+hard - earthquake - 地震
+hard - seismic - 地震的
+hard - tremor - 震动
+hard - aftershock - 余震
+hard - epicenter - 震中
+hard - magnitude - 震级
+hard - richter scale - 里氏震级
+hard - landslide - 滑坡
+hard - mudslide - 泥石流
+hard - rockfall - 落石
+hard - erosion - 侵蚀
+hard - weathering - 风化
+hard - sedimentation - 沉积
+hard - deposition - 沉积
+hard - alluvium - 冲积层
+hard - moraine - 冰碛
+hard - scree - 碎石堆
+hard - talus - 岩屑堆
+hard - boulder - 巨石
+hard - pebble - 卵石
+hard - gravel - 砾石
+hard - cobblestone - 鹅卵石
+hard - bedding plane - 层理面
+hard - stratum - 地层
+hard - outcrop - 露头
+hard - vein - 矿脉
+hard - ore - 矿石
+hard - deposit - 矿床
+hard - fossil - 化石
+hard - amber - 琥珀
+hard - petrification - 石化
+hard - mineralization - 矿化
+hard - crystallization - 结晶
+hard - gemstone - 宝石
+hard - emerald - 祖母绿
+hard - ruby - 红宝石
+hard - sapphire - 蓝宝石
+hard - topaz - 黄玉
+hard - amethyst - 紫水晶
+hard - turquoise - 绿松石
+hard - jade - 翡翠
+hard - opal - 蛋白石
+hard - garnet - 石榴石
+hard - quartz - 石英
+hard - feldspar - 长石
+hard - mica - 云母
+hard - graphite - 石墨
+
diff --git a/apps/articulate/frontend/public/wordlists/objects.txt b/apps/articulate/frontend/public/wordlists/objects.txt
new file mode 100644
index 0000000..42da806
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/objects.txt
@@ -0,0 +1,433 @@
+easy - table - 桌子
+easy - chair - 椅子
+easy - bed - 床
+easy - door - 门
+easy - window - 窗户
+easy - lamp - 灯
+easy - book - 书
+easy - pen - 笔
+easy - pencil - 铅笔
+easy - paper - 纸
+easy - bag - 包
+easy - box - 盒子
+easy - cup - 杯子
+easy - plate - 盘子
+easy - bowl - 碗
+easy - spoon - 勺子
+easy - fork - 叉子
+easy - knife - 刀
+easy - bottle - 瓶子
+easy - glass - 玻璃杯
+easy - phone - 电话
+easy - computer - 电脑
+easy - TV - 电视
+easy - clock - 时钟
+easy - watch - 手表
+easy - key - 钥匙
+easy - lock - 锁
+easy - mirror - 镜子
+easy - picture - 图片
+easy - painting - 画
+easy - photo - 照片
+easy - camera - 相机
+easy - umbrella - 雨伞
+easy - towel - 毛巾
+easy - soap - 肥皂
+easy - toothbrush - 牙刷
+easy - comb - 梳子
+easy - brush - 刷子
+easy - scissors - 剪刀
+easy - needle - 针
+easy - thread - 线
+easy - button - 纽扣
+easy - zipper - 拉链
+easy - pillow - 枕头
+easy - blanket - 毯子
+easy - sheet - 床单
+easy - curtain - 窗帘
+easy - rug - 地毯
+easy - mat - 垫子
+easy - basket - 篮子
+easy - bucket - 桶
+easy - broom - 扫帚
+easy - mop - 拖把
+easy - sponge - 海绵
+easy - cloth - 布
+easy - rope - 绳子
+easy - string - 绳子
+easy - wire - 电线
+easy - nail - 钉子
+easy - screw - 螺丝
+easy - hammer - 锤子
+easy - wrench - 扳手
+easy - screwdriver - 螺丝刀
+easy - saw - 锯
+easy - drill - 钻
+easy - ladder - 梯子
+easy - wheel - 轮子
+easy - tire - 轮胎
+easy - engine - 引擎
+medium - sofa - 沙发
+medium - couch - 长沙发
+medium - armchair - 扶手椅
+medium - stool - 凳子
+medium - bench - 长凳
+medium - desk - 书桌
+medium - cabinet - 柜子
+medium - shelf - 架子
+medium - bookcase - 书架
+medium - wardrobe - 衣柜
+medium - dresser - 梳妆台
+medium - nightstand - 床头柜
+medium - mattress - 床垫
+medium - headboard - 床头板
+medium - footboard - 床尾板
+medium - bedframe - 床架
+medium - canopy - 床罩
+medium - duvet - 羽绒被
+medium - comforter - 被子
+medium - quilt - 被子
+medium - bedspread - 床罩
+medium - pillowcase - 枕套
+medium - cushion - 靠垫
+medium - ottoman - 脚凳
+medium - recliner - 躺椅
+medium - rocking chair - 摇椅
+medium - highchair - 高脚椅
+medium - booster seat - 增高座椅
+medium - chandelier - 吊灯
+medium - pendant - 吊灯
+medium - sconce - 壁灯
+medium - spotlight - 聚光灯
+medium - flashlight - 手电筒
+medium - lantern - 灯笼
+medium - candle - 蜡烛
+medium - candlestick - 烛台
+medium - vase - 花瓶
+medium - pot - 锅
+medium - pan - 平底锅
+medium - wok - 炒锅
+medium - skillet - 煎锅
+medium - kettle - 水壶
+medium - teapot - 茶壶
+medium - pitcher - 水罐
+medium - jug - 壶
+medium - carafe - 玻璃水瓶
+medium - decanter - 醒酒器
+medium - mug - 马克杯
+medium - saucer - 茶托
+medium - platter - 大盘子
+medium - tray - 托盘
+medium - cutting board - 砧板
+medium - colander - 滤器
+medium - strainer - 过滤器
+medium - grater - 擦菜板
+medium - peeler - 削皮器
+medium - whisk - 打蛋器
+medium - spatula - 铲子
+medium - ladle - 勺子
+medium - tongs - 夹子
+medium - can opener - 开罐器
+medium - corkscrew - 开瓶器
+medium - bottle opener - 开瓶器
+medium - rolling pin - 擀面杖
+medium - measuring cup - 量杯
+medium - scale - 秤
+medium - timer - 定时器
+medium - blender - 搅拌机
+medium - mixer - 搅拌器
+medium - toaster - 烤面包机
+medium - oven - 烤箱
+medium - microwave - 微波炉
+medium - stove - 炉子
+medium - refrigerator - 冰箱
+medium - freezer - 冰柜
+medium - dishwasher - 洗碗机
+medium - sink - 水槽
+medium - faucet - 水龙头
+medium - drain - 排水管
+medium - pipe - 管子
+medium - valve - 阀门
+medium - hose - 软管
+medium - sprinkler - 洒水器
+medium - watering can - 喷壶
+medium - shovel - 铲子
+medium - spade - 铁锹
+medium - rake - 耙子
+medium - hoe - 锄头
+medium - trowel - 泥刀
+medium - shears - 大剪刀
+medium - clippers - 剪刀
+medium - pruner - 修枝剪
+medium - axe - 斧头
+medium - hatchet - 短柄斧
+medium - chisel - 凿子
+medium - plane - 刨子
+medium - file - 锉刀
+medium - sandpaper - 砂纸
+medium - pliers - 钳子
+medium - clamp - 夹具
+medium - vise - 虎钳
+medium - crowbar - 撬棍
+medium - lever - 杠杆
+medium - pulley - 滑轮
+medium - jack - 千斤顶
+medium - hinge - 铰链
+medium - bolt - 螺栓
+medium - nut - 螺母
+medium - washer - 垫圈
+medium - rivet - 铆钉
+medium - dowel - 暗榫
+medium - peg - 木钉
+medium - hook - 钩子
+medium - latch - 门闩
+medium - knob - 把手
+medium - handle - 把手
+medium - lever - 杠杆
+medium - switch - 开关
+medium - socket - 插座
+medium - plug - 插头
+medium - adapter - 适配器
+medium - extension cord - 延长线
+medium - battery - 电池
+medium - charger - 充电器
+medium - remote - 遥控器
+medium - antenna - 天线
+medium - speaker - 扬声器
+medium - headphones - 耳机
+medium - earbuds - 耳塞
+medium - microphone - 麦克风
+medium - keyboard - 键盘
+medium - mouse - 鼠标
+medium - monitor - 显示器
+medium - screen - 屏幕
+medium - printer - 打印机
+medium - scanner - 扫描仪
+medium - router - 路由器
+medium - modem - 调制解调器
+medium - cable - 电缆
+medium - flash drive - 闪存盘
+medium - hard drive - 硬盘
+medium - disc - 光盘
+medium - cartridge - 墨盒
+medium - stapler - 订书机
+medium - staple - 订书钉
+medium - paperclip - 回形针
+medium - tape - 胶带
+medium - glue - 胶水
+medium - ruler - 尺子
+medium - protractor - 量角器
+medium - compass - 圆规
+medium - calculator - 计算器
+medium - eraser - 橡皮
+medium - sharpener - 削笔刀
+medium - marker - 马克笔
+medium - highlighter - 荧光笔
+medium - crayon - 蜡笔
+medium - chalk - 粉笔
+medium - easel - 画架
+medium - canvas - 画布
+medium - palette - 调色板
+medium - paintbrush - 画笔
+hard - chiffonier - 五斗柜
+hard - credenza - 餐具柜
+hard - sideboard - 餐具柜
+hard - buffet - 餐具柜
+hard - hutch - 碗橱
+hard - armoire - 大衣柜
+hard - chifforobe - 衣橱
+hard - tallboy - 高脚柜
+hard - lowboy - 矮脚柜
+hard - commode - 五斗柜
+hard - secretaire - 写字台
+hard - davenport - 写字台
+hard - escritoire - 写字桌
+hard - bureau - 写字台
+hard - vanity - 梳妆台
+hard - console - 控制台
+hard - pedestal - 基座
+hard - lectern - 讲台
+hard - podium - 讲台
+hard - rostrum - 演讲台
+hard - dais - 讲台
+hard - pulpit - 讲道坛
+hard - prie-dieu - 祈祷台
+hard - chaise longue - 躺椅
+hard - settee - 长椅
+hard - loveseat - 双人沙发
+hard - divan - 长沙发
+hard - futon - 蒲团
+hard - daybed - 沙发床
+hard - trundle bed - 脚轮床
+hard - bunk bed - 双层床
+hard - crib - 婴儿床
+hard - cradle - 摇篮
+hard - bassinet - 摇篮
+hard - hammock - 吊床
+hard - pallet - 草垫
+hard - cot - 帆布床
+hard - camp bed - 行军床
+hard - folding chair - 折叠椅
+hard - deck chair - 躺椅
+hard - lawn chair - 草坪椅
+hard - director's chair - 导演椅
+hard - sling chair - 吊椅
+hard - swivel chair - 转椅
+hard - ergonomic chair - 人体工学椅
+hard - barstool - 酒吧凳
+hard - footstool - 脚凳
+hard - hassock - 软凳
+hard - pouffe - 软垫
+hard - beanbag - 豆袋椅
+hard - tabouret - 无靠背凳
+hard - tuffet - 矮凳
+hard - credence - 供桌
+hard - refectory table - 长餐桌
+hard - trestle table - 支架桌
+hard - gateleg table - 折叠桌
+hard - drop-leaf table - 折叶桌
+hard - pedestal table - 底座桌
+hard - console table - 玄关桌
+hard - sofa table - 沙发桌
+hard - coffee table - 茶几
+hard - end table - 边桌
+hard - occasional table - 茶几
+hard - nesting tables - 套桌
+hard - card table - 纸牌桌
+hard - drafting table - 绘图桌
+hard - easel - 画架
+hard - lectern - 讲台
+hard - music stand - 乐谱架
+hard - coat rack - 衣帽架
+hard - hall tree - 衣帽架
+hard - umbrella stand - 伞架
+hard - magazine rack - 杂志架
+hard - shoe rack - 鞋架
+hard - wine rack - 酒架
+hard - towel rack - 毛巾架
+hard - drying rack - 晾衣架
+hard - clothes horse - 晾衣架
+hard - garment rack - 衣架
+hard - coat hanger - 衣架
+hard - trouser press - 裤子夹
+hard - shoe tree - 鞋楦
+hard - hatbox - 帽盒
+hard - bandbox - 纸盒
+hard - carton - 纸箱
+hard - crate - 木箱
+hard - chest - 箱子
+hard - trunk - 大箱子
+hard - footlocker - 脚箱
+hard - steamer trunk - 蒸汽箱
+hard - hope chest - 嫁妆箱
+hard - coffer - 保险箱
+hard - strongbox - 保险箱
+hard - safe - 保险箱
+hard - vault - 保险库
+hard - lockbox - 上锁盒
+hard - casket - 首饰盒
+hard - jewel box - 首饰盒
+hard - trinket box - 小饰品盒
+hard - snuffbox - 鼻烟盒
+hard - pillbox - 药盒
+hard - compact - 粉盒
+hard - cigarette case - 烟盒
+hard - cigar box - 雪茄盒
+hard - humidor - 雪茄盒
+hard - caddy - 茶叶罐
+hard - canister - 罐
+hard - jar - 罐子
+hard - crock - 瓦罐
+hard - urn - 瓮
+hard - amphora - 双耳瓶
+hard - ewer - 大口水壶
+hard - flagon - 大酒壶
+hard - tankard - 大酒杯
+hard - stein - 啤酒杯
+hard - goblet - 高脚杯
+hard - chalice - 圣杯
+hard - tumbler - 平底杯
+hard - beaker - 烧杯
+hard - flask - 烧瓶
+hard - retort - 曲颈瓶
+hard - crucible - 坩埚
+hard - mortar - 研钵
+hard - pestle - 杵
+hard - grindstone - 磨石
+hard - whetstone - 磨刀石
+hard - hone - 磨石
+hard - strop - 磨刀皮带
+hard - anvil - 铁砧
+hard - bellows - 风箱
+hard - forge - 熔炉
+hard - cauldron - 大锅
+hard - brazier - 火盆
+hard - chafing dish - 火锅
+hard - tureen - 汤碗
+hard - terrine - 陶罐
+hard - casserole - 砂锅
+hard - Dutch oven - 荷兰烤锅
+hard - pressure cooker - 压力锅
+hard - double boiler - 双层蒸锅
+hard - steamer - 蒸锅
+hard - roaster - 烤盘
+hard - griddle - 平底锅
+hard - saucepan - 炖锅
+hard - stockpot - 汤锅
+hard - skimmer - 撇油勺
+hard - slotted spoon - 漏勺
+hard - serving spoon - 上菜勺
+hard - soup ladle - 汤勺
+hard - gravy boat - 肉汁船
+hard - creamer - 奶油罐
+hard - sugar bowl - 糖罐
+hard - butter dish - 黄油碟
+hard - salt cellar - 盐罐
+hard - pepper mill - 胡椒研磨器
+hard - cruet - 调味瓶
+hard - napkin ring - 餐巾环
+hard - tablecloth - 桌布
+hard - place mat - 餐垫
+hard - doily - 装饰垫
+hard - antimacassar - 椅套
+hard - slipcover - 沙发套
+hard - upholstery - 室内装潢
+hard - tapestry - 挂毯
+hard - drapery - 帷幕
+hard - valance - 帷幔
+hard - pelmet - 窗帘盒
+hard - cornice - 檐口
+hard - finial - 顶饰
+hard - baluster - 栏杆柱
+hard - balustrade - 栏杆
+hard - banister - 扶手
+hard - newel post - 楼梯柱
+hard - spindle - 纺锤
+hard - strut - 支柱
+hard - brace - 支架
+hard - bracket - 托架
+hard - corbel - 托臂
+hard - lintel - 过梁
+hard - transom - 横梁
+hard - jamb - 门框
+hard - sill - 窗台
+hard - mullion - 竖框
+hard - muntin - 窗格条
+hard - casement - 窗扇
+hard - shutter - 百叶窗
+hard - louver - 百叶窗
+hard - blind - 百叶窗
+hard - shade - 遮阳帘
+hard - awning - 遮篷
+hard - canopy - 天篷
+hard - marquee - 大帐篷
+hard - pavilion - 凉亭
+hard - gazebo - 凉亭
+hard - pergola - 藤架
+hard - arbor - 凉亭
+hard - bower - 凉亭
+hard - trellis - 格架
+hard - lattice - 格子
+hard - espalier - 墙树
+hard - topiary - 造型树
+
diff --git a/apps/articulate/frontend/public/wordlists/places.txt b/apps/articulate/frontend/public/wordlists/places.txt
new file mode 100644
index 0000000..4812527
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/places.txt
@@ -0,0 +1,410 @@
+easy - home - 家
+easy - school - 学校
+easy - park - 公园
+easy - hospital - 医院
+easy - store - 商店
+easy - restaurant - 餐厅
+easy - hotel - 酒店
+easy - bank - 银行
+easy - post office - 邮局
+easy - library - 图书馆
+easy - museum - 博物馆
+easy - zoo - 动物园
+easy - beach - 海滩
+easy - mountain - 山
+easy - river - 河
+easy - lake - 湖
+easy - forest - 森林
+easy - desert - 沙漠
+easy - island - 岛屿
+easy - city - 城市
+easy - town - 城镇
+easy - village - 村庄
+easy - street - 街道
+easy - road - 路
+easy - bridge - 桥
+easy - building - 建筑
+easy - house - 房子
+easy - apartment - 公寓
+easy - garden - 花园
+easy - farm - 农场
+easy - factory - 工厂
+easy - office - 办公室
+easy - classroom - 教室
+easy - bedroom - 卧室
+easy - kitchen - 厨房
+easy - bathroom - 浴室
+easy - living room - 客厅
+easy - garage - 车库
+easy - basement - 地下室
+easy - attic - 阁楼
+easy - station - 车站
+easy - airport - 机场
+easy - subway - 地铁
+easy - market - 市场
+easy - mall - 商场
+easy - supermarket - 超市
+easy - bakery - 面包店
+easy - cafe - 咖啡馆
+easy - bar - 酒吧
+easy - club - 俱乐部
+easy - gym - 健身房
+easy - stadium - 体育场
+easy - playground - 操场
+easy - pool - 游泳池
+easy - theater - 剧院
+easy - cinema - 电影院
+easy - church - 教堂
+easy - temple - 寺庙
+easy - mosque - 清真寺
+easy - palace - 宫殿
+easy - castle - 城堡
+easy - tower - 塔
+easy - wall - 墙
+easy - gate - 大门
+easy - square - 广场
+easy - plaza - 广场
+easy - avenue - 大道
+easy - alley - 小巷
+medium - cathedral - 大教堂
+medium - monastery - 修道院
+medium - abbey - 修道院
+medium - shrine - 神社
+medium - pagoda - 宝塔
+medium - minaret - 宣礼塔
+medium - dome - 圆顶
+medium - spire - 尖塔
+medium - belfry - 钟楼
+medium - steeple - 尖塔
+medium - fortress - 堡垒
+medium - citadel - 城堡
+medium - stronghold - 要塞
+medium - rampart - 城墙
+medium - moat - 护城河
+medium - drawbridge - 吊桥
+medium - turret - 塔楼
+medium - dungeon - 地牢
+medium - keep - 主堡
+medium - bailey - 城墙
+medium - manor - 庄园
+medium - estate - 庄园
+medium - villa - 别墅
+medium - cottage - 小屋
+medium - cabin - 小木屋
+medium - bungalow - 平房
+medium - mansion - 豪宅
+medium - penthouse - 顶层公寓
+medium - loft - 阁楼
+medium - studio - 单间公寓
+medium - condominium - 公寓
+medium - dormitory - 宿舍
+medium - barracks - 营房
+medium - warehouse - 仓库
+medium - depot - 仓库
+medium - hangar - 机库
+medium - shed - 棚屋
+medium - barn - 谷仓
+medium - stable - 马厩
+medium - silo - 筒仓
+medium - greenhouse - 温室
+medium - conservatory - 温室
+medium - nursery - 苗圃
+medium - orchard - 果园
+medium - vineyard - 葡萄园
+medium - plantation - 种植园
+medium - ranch - 牧场
+medium - pasture - 牧场
+medium - meadow - 草地
+medium - prairie - 草原
+medium - savanna - 热带草原
+medium - steppe - 草原
+medium - tundra - 苔原
+medium - taiga - 针叶林
+medium - rainforest - 雨林
+medium - jungle - 丛林
+medium - swamp - 沼泽
+medium - marsh - 沼泽
+medium - wetland - 湿地
+medium - bog - 泥沼
+medium - canyon - 峡谷
+medium - gorge - 峡谷
+medium - ravine - 峡谷
+medium - valley - 山谷
+medium - plain - 平原
+medium - plateau - 高原
+medium - cliff - 悬崖
+medium - hill - 小山
+medium - peak - 山峰
+medium - summit - 山顶
+medium - slope - 斜坡
+medium - ridge - 山脊
+medium - glacier - 冰川
+medium - iceberg - 冰山
+medium - volcano - 火山
+medium - crater - 火山口
+medium - geyser - 间歇泉
+medium - hot spring - 温泉
+medium - waterfall - 瀑布
+medium - rapids - 急流
+medium - stream - 小溪
+medium - creek - 小河
+medium - brook - 小溪
+medium - pond - 池塘
+medium - reservoir - 水库
+medium - dam - 大坝
+medium - canal - 运河
+medium - harbor - 港口
+medium - port - 港口
+medium - wharf - 码头
+medium - pier - 码头
+medium - dock - 码头
+medium - marina - 游艇码头
+medium - bay - 海湾
+medium - cove - 海湾
+medium - inlet - 入海口
+medium - strait - 海峡
+medium - channel - 海峡
+medium - lagoon - 泻湖
+medium - reef - 礁石
+medium - peninsula - 半岛
+medium - cape - 海角
+medium - coast - 海岸
+medium - shore - 海岸
+medium - seaside - 海边
+medium - oceanfront - 海滨
+medium - boardwalk - 木板路
+medium - promenade - 海滨步道
+medium - esplanade - 滨海大道
+medium - boulevard - 林荫大道
+medium - highway - 公路
+medium - expressway - 高速公路
+medium - freeway - 高速公路
+medium - motorway - 高速公路
+medium - turnpike - 收费公路
+medium - parkway - 园林公路
+medium - causeway - 堤道
+medium - viaduct - 高架桥
+medium - overpass - 立交桥
+medium - underpass - 地下通道
+medium - tunnel - 隧道
+medium - intersection - 十字路口
+medium - crossroads - 十字路口
+medium - junction - 交叉口
+medium - roundabout - 环岛
+medium - cul-de-sac - 死胡同
+medium - lane - 车道
+medium - pathway - 小路
+medium - trail - 小径
+medium - footpath - 人行道
+medium - sidewalk - 人行道
+medium - pavement - 人行道
+medium - curb - 路边
+medium - gutter - 排水沟
+medium - courtyard - 庭院
+medium - terrace - 露台
+medium - balcony - 阳台
+medium - porch - 门廊
+medium - veranda - 走廊
+medium - patio - 露台
+medium - deck - 平台
+medium - driveway - 车道
+medium - parking lot - 停车场
+medium - garage - 车库
+medium - carport - 车棚
+medium - lobby - 大厅
+medium - foyer - 门厅
+medium - hallway - 走廊
+medium - corridor - 走廊
+medium - staircase - 楼梯
+medium - elevator - 电梯
+medium - escalator - 自动扶梯
+medium - rooftop - 屋顶
+medium - skylight - 天窗
+hard - mausoleum - 陵墓
+hard - crypt - 地下墓室
+hard - catacomb - 地下墓穴
+hard - necropolis - 墓地
+hard - cemetery - 墓地
+hard - graveyard - 墓地
+hard - columbarium - 骨灰堂
+hard - cenotaph - 纪念碑
+hard - obelisk - 方尖碑
+hard - stele - 石碑
+hard - monument - 纪念碑
+hard - memorial - 纪念馆
+hard - pantheon - 万神殿
+hard - basilica - 长方形教堂
+hard - chapel - 小教堂
+hard - sanctuary - 圣所
+hard - sacristy - 圣器收藏室
+hard - vestry - 法衣室
+hard - presbytery - 长老会
+hard - rectory - 教区长住宅
+hard - vicarage - 牧师住所
+hard - cloister - 回廊
+hard - refectory - 食堂
+hard - scriptorium - 写字间
+hard - chapter house - 议事厅
+hard - narthex - 前厅
+hard - nave - 中殿
+hard - aisle - 侧廊
+hard - transept - 耳堂
+hard - apse - 半圆形后殿
+hard - chancel - 圣坛
+hard - altar - 祭坛
+hard - pulpit - 讲道坛
+hard - lectern - 讲经台
+hard - baptistery - 洗礼堂
+hard - confessional - 告解室
+hard - pew - 长椅
+hard - choir - 唱诗班席
+hard - organ loft - 风琴阁楼
+hard - campanile - 钟楼
+hard - arcade - 拱廊
+hard - colonnade - 柱廊
+hard - portico - 门廊
+hard - vestibule - 前厅
+hard - anteroom - 前厅
+hard - antechamber - 前厅
+hard - rotunda - 圆形大厅
+hard - atrium - 中庭
+hard - loggia - 凉廊
+hard - piazza - 广场
+hard - forum - 广场
+hard - agora - 集市
+hard - bazaar - 集市
+hard - souk - 集市
+hard - caravansary - 商队旅馆
+hard - khan - 客栈
+hard - inn - 客栈
+hard - tavern - 酒馆
+hard - hostel - 旅舍
+hard - boarding house - 寄宿处
+hard - lodging - 住所
+hard - quarters - 住所
+hard - bivouac - 露营地
+hard - campsite - 营地
+hard - encampment - 营地
+hard - outpost - 前哨
+hard - garrison - 驻军地
+hard - bastion - 堡垒
+hard - redoubt - 堡垒
+hard - parapet - 胸墙
+hard - battlement - 城垛
+hard - embrasure - 射击孔
+hard - portcullis - 吊闸
+hard - barbican - 城堡前哨
+hard - gatehouse - 门楼
+hard - watchtower - 瞭望塔
+hard - beacon - 信标塔
+hard - lighthouse - 灯塔
+hard - observatory - 天文台
+hard - planetarium - 天文馆
+hard - aquarium - 水族馆
+hard - terrarium - 玻璃容器
+hard - aviary - 鸟舍
+hard - menagerie - 动物园
+hard - vivarium - 动物园
+hard - apiary - 养蜂场
+hard - fishery - 渔场
+hard - hatchery - 孵化场
+hard - cannery - 罐头厂
+hard - brewery - 啤酒厂
+hard - distillery - 酿酒厂
+hard - winery - 酒庄
+hard - refinery - 炼油厂
+hard - foundry - 铸造厂
+hard - forge - 锻造厂
+hard - mill - 磨坊
+hard - kiln - 窑
+hard - furnace - 熔炉
+hard - smelter - 冶炼厂
+hard - quarry - 采石场
+hard - mine - 矿山
+hard - shaft - 矿井
+hard - pit - 矿坑
+hard - excavation - 挖掘地
+hard - trench - 战壕
+hard - bunker - 掩体
+hard - pillbox - 碉堡
+hard - foxhole - 散兵坑
+hard - dugout - 防空洞
+hard - shelter - 避难所
+hard - refuge - 避难所
+hard - sanctuary - 庇护所
+hard - haven - 避风港
+hard - retreat - 隐居处
+hard - hermitage - 隐居地
+hard - monastery - 修道院
+hard - convent - 女修道院
+hard - priory - 小修道院
+hard - friary - 修士会
+hard - seminary - 神学院
+hard - academy - 学院
+hard - conservatory - 音乐学院
+hard - lyceum - 学园
+hard - athenaeum - 文学会馆
+hard - polytechnic - 理工学院
+hard - institute - 研究所
+hard - laboratory - 实验室
+hard - workshop - 工作坊
+hard - studio - 工作室
+hard - atelier - 画室
+hard - foundry - 铸造厂
+hard - smithy - 铁匠铺
+hard - tannery - 制革厂
+hard - cooperage - 制桶厂
+hard - chandlery - 蜡烛作坊
+hard - apothecary - 药房
+hard - dispensary - 药房
+hard - infirmary - 医务室
+hard - sanatorium - 疗养院
+hard - asylum - 收容所
+hard - hospice - 临终关怀院
+hard - almshouse - 救济院
+hard - orphanage - 孤儿院
+hard - foundling home - 弃婴收容所
+hard - penitentiary - 监狱
+hard - correctional facility - 惩教所
+hard - stockade - 军事监狱
+hard - brig - 军舰拘留室
+hard - guardhouse - 警卫室
+hard - lockup - 拘留所
+hard - jailhouse - 监狱
+hard - calaboose - 监狱
+hard - clink - 监狱
+hard - hoosegow - 监狱
+hard - slammer - 监狱
+hard - pen - 监狱
+hard - workhouse - 劳教所
+hard - reformatory - 少年管教所
+hard - detention center - 拘留中心
+hard - halfway house - 中途之家
+hard - safehouse - 安全屋
+hard - hideout - 藏身处
+hard - lair - 巢穴
+hard - den - 巢穴
+hard - burrow - 洞穴
+hard - warren - 兔窝
+hard - nest - 巢
+hard - rookery - 群居地
+hard - colony - 聚居地
+hard - settlement - 定居点
+hard - hamlet - 小村庄
+hard - township - 镇区
+hard - borough - 自治市镇
+hard - burgh - 自治市
+hard - municipality - 自治市
+hard - metropolis - 大都市
+hard - megalopolis - 特大城市
+hard - conurbation - 城市群
+hard - agglomeration - 集聚区
+hard - suburb - 郊区
+hard - outskirts - 郊区
+hard - periphery - 边缘地带
+hard - hinterland - 腹地
+hard - backcountry - 偏远地区
+hard - wilderness - 荒野
+hard - badlands - 荒地
+hard - wasteland - 荒原
+
diff --git a/apps/articulate/frontend/public/wordlists/professions.txt b/apps/articulate/frontend/public/wordlists/professions.txt
new file mode 100644
index 0000000..f490b65
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/professions.txt
@@ -0,0 +1,260 @@
+easy - teacher - 教师
+easy - doctor - 医生
+easy - nurse - 护士
+easy - driver - 司机
+easy - cook - 厨师
+easy - waiter - 服务员
+easy - farmer - 农民
+easy - worker - 工人
+easy - student - 学生
+easy - police - 警察
+easy - soldier - 士兵
+easy - singer - 歌手
+easy - dancer - 舞者
+easy - actor - 演员
+easy - artist - 艺术家
+easy - writer - 作家
+easy - painter - 画家
+easy - musician - 音乐家
+easy - pilot - 飞行员
+easy - sailor - 水手
+easy - fisherman - 渔夫
+easy - hunter - 猎人
+easy - builder - 建筑工人
+easy - cleaner - 清洁工
+easy - barber - 理发师
+easy - tailor - 裁缝
+easy - shoemaker - 鞋匠
+easy - baker - 面包师
+easy - butcher - 屠夫
+easy - gardener - 园丁
+easy - postman - 邮递员
+easy - fireman - 消防员
+easy - dentist - 牙医
+easy - vet - 兽医
+easy - lawyer - 律师
+easy - judge - 法官
+easy - banker - 银行家
+easy - clerk - 职员
+easy - secretary - 秘书
+easy - manager - 经理
+easy - boss - 老板
+easy - engineer - 工程师
+easy - scientist - 科学家
+easy - professor - 教授
+easy - librarian - 图书管理员
+easy - photographer - 摄影师
+easy - reporter - 记者
+easy - editor - 编辑
+easy - designer - 设计师
+easy - architect - 建筑师
+easy - mechanic - 机械师
+easy - electrician - 电工
+easy - plumber - 水管工
+easy - carpenter - 木匠
+easy - mason - 泥瓦匠
+easy - welder - 焊工
+easy - miner - 矿工
+easy - sailor - 水手
+easy - captain - 船长
+easy - guard - 保安
+easy - detective - 侦探
+easy - spy - 间谍
+easy - soldier - 士兵
+easy - general - 将军
+easy - president - 总统
+easy - mayor - 市长
+easy - governor - 州长
+easy - minister - 部长
+medium - surgeon - 外科医生
+medium - physician - 内科医生
+medium - pediatrician - 儿科医生
+medium - psychiatrist - 精神科医生
+medium - psychologist - 心理学家
+medium - therapist - 治疗师
+medium - pharmacist - 药剂师
+medium - optician - 验光师
+medium - radiologist - 放射科医生
+medium - anesthesiologist - 麻醉师
+medium - paramedic - 护理人员
+medium - midwife - 助产士
+medium - nutritionist - 营养师
+medium - dietitian - 营养师
+medium - chiropractor - 脊椎按摩师
+medium - acupuncturist - 针灸师
+medium - physiotherapist - 物理治疗师
+medium - occupational therapist - 职业治疗师
+medium - speech therapist - 言语治疗师
+medium - counselor - 顾问
+medium - social worker - 社会工作者
+medium - prosecutor - 检察官
+medium - attorney - 律师
+medium - solicitor - 律师
+medium - barrister - 出庭律师
+medium - notary - 公证人
+medium - paralegal - 律师助理
+medium - bailiff - 法警
+medium - magistrate - 治安法官
+medium - accountant - 会计师
+medium - auditor - 审计师
+medium - bookkeeper - 簿记员
+medium - cashier - 收银员
+medium - teller - 出纳员
+medium - broker - 经纪人
+medium - trader - 交易员
+medium - investor - 投资者
+medium - analyst - 分析师
+medium - consultant - 顾问
+medium - advisor - 顾问
+medium - economist - 经济学家
+medium - statistician - 统计学家
+medium - actuary - 精算师
+medium - underwriter - 承销商
+medium - realtor - 房地产经纪人
+medium - appraiser - 评估师
+medium - surveyor - 测量师
+medium - inspector - 检查员
+medium - superintendent - 主管
+medium - supervisor - 监督员
+medium - foreman - 工头
+medium - coordinator - 协调员
+medium - administrator - 管理员
+medium - executive - 高管
+medium - director - 董事
+medium - CEO - 首席执行官
+medium - CFO - 首席财务官
+medium - CTO - 首席技术官
+medium - entrepreneur - 企业家
+medium - proprietor - 业主
+medium - franchisee - 特许经营者
+medium - retailer - 零售商
+medium - wholesaler - 批发商
+medium - distributor - 经销商
+medium - vendor - 供应商
+medium - merchant - 商人
+medium - salesman - 销售员
+medium - representative - 代表
+medium - agent - 代理人
+medium - ambassador - 大使
+medium - diplomat - 外交官
+medium - consul - 领事
+medium - attaché - 专员
+medium - envoy - 使节
+medium - delegate - 代表
+medium - legislator - 立法者
+medium - senator - 参议员
+medium - congressman - 国会议员
+medium - councilor - 议员
+medium - alderman - 市议员
+medium - commissioner - 专员
+medium - bureaucrat - 官僚
+medium - civil servant - 公务员
+medium - clerk - 文员
+medium - receptionist - 接待员
+medium - typist - 打字员
+medium - stenographer - 速记员
+medium - transcriptionist - 转录员
+hard - oncologist - 肿瘤学家
+hard - cardiologist - 心脏病专家
+hard - neurologist - 神经科医生
+hard - dermatologist - 皮肤科医生
+hard - ophthalmologist - 眼科医生
+hard - otolaryngologist - 耳鼻喉科医生
+hard - urologist - 泌尿科医生
+hard - gynecologist - 妇科医生
+hard - obstetrician - 产科医生
+hard - orthopedist - 骨科医生
+hard - rheumatologist - 风湿病专家
+hard - endocrinologist - 内分泌学家
+hard - gastroenterologist - 胃肠病学家
+hard - nephrologist - 肾病学家
+hard - pulmonologist - 肺病学家
+hard - hematologist - 血液学家
+hard - immunologist - 免疫学家
+hard - pathologist - 病理学家
+hard - epidemiologist - 流行病学家
+hard - toxicologist - 毒理学家
+hard - forensic scientist - 法医
+hard - coroner - 验尸官
+hard - mortician - 殡仪师
+hard - embalmer - 防腐师
+hard - undertaker - 殡葬承办人
+hard - sommelier - 侍酒师
+hard - barista - 咖啡师
+hard - bartender - 调酒师
+hard - mixologist - 调酒师
+hard - chef - 主厨
+hard - pastry chef - 糕点师
+hard - sous chef - 副厨师长
+hard - line cook - 厨师
+hard - prep cook - 备菜厨师
+hard - dishwasher - 洗碗工
+hard - busboy - 餐厅杂工
+hard - maitre d' - 餐厅领班
+hard - sommelier - 品酒师
+hard - caterer - 承办酒席者
+hard - food critic - 美食评论家
+hard - choreographer - 编舞家
+hard - conductor - 指挥家
+hard - composer - 作曲家
+hard - lyricist - 作词家
+hard - arranger - 编曲家
+hard - producer - 制作人
+hard - sound engineer - 音响师
+hard - roadie - 巡回演出工作人员
+hard - stagehand - 舞台工作人员
+hard - gaffer - 灯光师
+hard - grip - 场务
+hard - cinematographer - 摄影师
+hard - director of photography - 摄影指导
+hard - screenwriter - 编剧
+hard - playwright - 剧作家
+hard - dramaturg - 戏剧顾问
+hard - impresario - 演出经理
+hard - curator - 策展人
+hard - archivist - 档案管理员
+hard - conservator - 文物修复师
+hard - restorer - 修复师
+hard - taxidermist - 标本剥制师
+hard - cartographer - 制图师
+hard - geographer - 地理学家
+hard - geologist - 地质学家
+hard - seismologist - 地震学家
+hard - volcanologist - 火山学家
+hard - meteorologist - 气象学家
+hard - climatologist - 气候学家
+hard - oceanographer - 海洋学家
+hard - hydrologist - 水文学家
+hard - ecologist - 生态学家
+hard - botanist - 植物学家
+hard - zoologist - 动物学家
+hard - entomologist - 昆虫学家
+hard - ornithologist - 鸟类学家
+hard - ichthyologist - 鱼类学家
+hard - herpetologist - 爬行动物学家
+hard - mammalogist - 哺乳动物学家
+hard - primatologist - 灵长类动物学家
+hard - paleontologist - 古生物学家
+hard - archaeologist - 考古学家
+hard - anthropologist - 人类学家
+hard - ethnographer - 民族志学者
+hard - sociologist - 社会学家
+hard - demographer - 人口学家
+hard - criminologist - 犯罪学家
+hard - penologist - 刑罚学家
+hard - lexicographer - 词典编纂者
+hard - philologist - 语言学家
+hard - linguist - 语言学家
+hard - etymologist - 词源学家
+hard - phonetician - 语音学家
+hard - semanticist - 语义学家
+hard - syntactician - 句法学家
+hard - grammarian - 语法学家
+hard - rhetorician - 修辞学家
+hard - logician - 逻辑学家
+hard - epistemologist - 认识论学者
+hard - metaphysician - 形而上学家
+hard - ethicist - 伦理学家
+hard - aesthetician - 美学家
+hard - theologian - 神学家
+
diff --git a/apps/articulate/frontend/public/wordlists/sports.txt b/apps/articulate/frontend/public/wordlists/sports.txt
new file mode 100644
index 0000000..3f96fe5
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/sports.txt
@@ -0,0 +1,315 @@
+easy - football - 足球
+easy - basketball - 篮球
+easy - volleyball - 排球
+easy - tennis - 网球
+easy - baseball - 棒球
+easy - soccer - 足球
+easy - running - 跑步
+easy - swimming - 游泳
+easy - cycling - 骑自行车
+easy - skating - 滑冰
+easy - skiing - 滑雪
+easy - boxing - 拳击
+easy - wrestling - 摔跤
+easy - golf - 高尔夫
+easy - bowling - 保龄球
+easy - fishing - 钓鱼
+easy - hiking - 徒步
+easy - climbing - 攀登
+easy - jumping - 跳跃
+easy - throwing - 投掷
+easy - kicking - 踢
+easy - catching - 接球
+easy - shooting - 射击
+easy - riding - 骑马
+easy - racing - 赛跑
+easy - jogging - 慢跑
+easy - walking - 步行
+easy - dancing - 跳舞
+easy - yoga - 瑜伽
+easy - gymnastics - 体操
+easy - diving - 跳水
+easy - surfing - 冲浪
+easy - sailing - 帆船
+easy - rowing - 划船
+easy - kayaking - 皮划艇
+easy - canoeing - 独木舟
+easy - rafting - 漂流
+easy - water skiing - 滑水
+easy - ice skating - 滑冰
+easy - figure skating - 花样滑冰
+easy - speed skating - 速滑
+easy - hockey - 曲棍球
+easy - ice hockey - 冰球
+easy - field hockey - 曲棍球
+easy - lacrosse - 长曲棍球
+easy - cricket - 板球
+easy - badminton - 羽毛球
+easy - table tennis - 乒乓球
+easy - ping pong - 乒乓球
+easy - squash - 壁球
+easy - racquetball - 壁球
+easy - handball - 手球
+easy - dodgeball - 躲避球
+easy - kickball - 踢球
+easy - softball - 垒球
+easy - archery - 射箭
+easy - darts - 飞镖
+easy - billiards - 台球
+easy - pool - 台球
+easy - snooker - 斯诺克
+easy - chess - 国际象棋
+easy - checkers - 跳棋
+easy - cards - 纸牌
+easy - poker - 扑克
+easy - mahjong - 麻将
+easy - dominos - 多米诺
+easy - dice - 骰子
+easy - backgammon - 西洋双陆棋
+medium - martial arts - 武术
+medium - karate - 空手道
+medium - judo - 柔道
+medium - taekwondo - 跆拳道
+medium - kung fu - 功夫
+medium - aikido - 合气道
+medium - jiu-jitsu - 柔术
+medium - kickboxing - 自由搏击
+medium - muay thai - 泰拳
+medium - capoeira - 卡波耶拉
+medium - fencing - 击剑
+medium - kendo - 剑道
+medium - sumo - 相扑
+medium - weightlifting - 举重
+medium - powerlifting - 力量举
+medium - bodybuilding - 健美
+medium - crossfit - 综合体能训练
+medium - aerobics - 有氧运动
+medium - pilates - 普拉提
+medium - zumba - 尊巴
+medium - spinning - 动感单车
+medium - treadmill - 跑步机
+medium - elliptical - 椭圆机
+medium - stepper - 踏步机
+medium - rowing machine - 划船机
+medium - trampoline - 蹦床
+medium - parkour - 跑酷
+medium - skateboarding - 滑板
+medium - rollerblading - 轮滑
+medium - scootering - 滑板车
+medium - BMX - 小轮车
+medium - mountain biking - 山地自行车
+medium - road cycling - 公路自行车
+medium - track cycling - 场地自行车
+medium - triathlon - 铁人三项
+medium - decathlon - 十项全能
+medium - pentathlon - 五项全能
+medium - heptathlon - 七项全能
+medium - marathon - 马拉松
+medium - half marathon - 半程马拉松
+medium - sprint - 短跑
+medium - hurdles - 跨栏
+medium - relay - 接力赛
+medium - long jump - 跳远
+medium - high jump - 跳高
+medium - triple jump - 三级跳
+medium - pole vault - 撑杆跳
+medium - shot put - 铅球
+medium - discus - 铁饼
+medium - javelin - 标枪
+medium - hammer throw - 链球
+medium - steeplechase - 障碍赛跑
+medium - racewalking - 竞走
+medium - equestrian - 马术
+medium - dressage - 盛装舞步
+medium - show jumping - 障碍赛
+medium - eventing - 三日赛
+medium - polo - 马球
+medium - rodeo - 牛仔竞技
+medium - bull riding - 骑公牛
+medium - barrel racing - 绕桶赛
+medium - lasso - 套索
+medium - rock climbing - 攀岩
+medium - bouldering - 抱石
+medium - ice climbing - 攀冰
+medium - mountaineering - 登山
+medium - rappelling - 绳降
+medium - caving - 洞穴探险
+medium - spelunking - 洞穴探险
+medium - canyoning - 溪降
+medium - bungee jumping - 蹦极
+medium - skydiving - 跳伞
+medium - paragliding - 滑翔伞
+medium - hang gliding - 悬挂滑翔
+medium - base jumping - 低空跳伞
+medium - wingsuit flying - 翼装飞行
+medium - hot air ballooning - 热气球
+medium - gliding - 滑翔
+medium - soaring - 滑翔
+medium - scuba diving - 水肺潜水
+medium - snorkeling - 浮潜
+medium - freediving - 自由潜水
+medium - spearfishing - 鱼叉捕鱼
+medium - windsurfing - 帆板
+medium - kitesurfing - 风筝冲浪
+medium - wakeboarding - 尾波滑水
+medium - bodyboarding - 趴板冲浪
+medium - standup paddleboarding - 站立式桨板
+medium - jet skiing - 水上摩托
+medium - water polo - 水球
+medium - synchronized swimming - 花样游泳
+medium - backstroke - 仰泳
+medium - breaststroke - 蛙泳
+medium - butterfly - 蝶泳
+medium - freestyle - 自由泳
+medium - medley - 混合泳
+medium - relay race - 接力赛
+medium - bobsled - 雪橇
+medium - luge - 无舵雪橇
+medium - skeleton - 钢架雪车
+medium - curling - 冰壶
+medium - biathlon - 冬季两项
+medium - cross-country skiing - 越野滑雪
+medium - alpine skiing - 高山滑雪
+medium - downhill - 速降滑雪
+medium - slalom - 回转滑雪
+medium - giant slalom - 大回转
+medium - super-G - 超级大回转
+medium - ski jumping - 跳台滑雪
+medium - freestyle skiing - 自由式滑雪
+medium - moguls - 雪上技巧
+medium - aerial skiing - 空中技巧
+medium - snowboarding - 单板滑雪
+medium - halfpipe - 半管
+medium - slopestyle - 坡面障碍技巧
+medium - snowshoeing - 雪鞋行走
+medium - sledding - 雪橇
+medium - tobogganing - 平底雪橇
+hard - orienteering - 定向越野
+hard - rogaining - 长距离定向
+hard - geocaching - 寻宝
+hard - trail running - 越野跑
+hard - ultramarathon - 超级马拉松
+hard - skyrunning - 天空跑
+hard - fell running - 山地跑
+hard - obstacle course racing - 障碍赛跑
+hard - adventure racing - 探险赛
+hard - rallying - 拉力赛
+hard - motocross - 越野摩托
+hard - supercross - 室内越野摩托
+hard - enduro - 耐力赛
+hard - speedway - 摩托车赛
+hard - drag racing - 直线竞速
+hard - autocross - 场地赛
+hard - time trial - 计时赛
+hard - criterium - 绕圈赛
+hard - velodrome - 赛车场
+hard - keirin - 竞轮
+hard - omnium - 全能赛
+hard - madison - 麦迪逊赛
+hard - pursuit - 追逐赛
+hard - scratch race - 记分赛
+hard - points race - 积分赛
+hard - elimination race - 淘汰赛
+hard - sprint - 争先赛
+hard - team sprint - 团队竞速
+hard - kilo - 千米赛
+hard - madison - 麦迪逊赛
+hard - boardsailing - 帆板
+hard - iceboat racing - 冰上帆船
+hard - land sailing - 陆上帆船
+hard - yacht racing - 游艇赛
+hard - regatta - 帆船赛
+hard - match racing - 对抗赛
+hard - fleet racing - 舰队赛
+hard - offshore racing - 近海赛
+hard - keel boat - 龙骨船
+hard - dinghy - 小艇
+hard - catamaran - 双体船
+hard - trimaran - 三体船
+hard - monohull - 单体船
+hard - multihull - 多体船
+hard - icebreaker - 破冰船
+hard - outrigger - 舷外支架
+hard - canoe sprint - 皮划艇激流回旋
+hard - canoe slalom - 皮划艇激流回旋
+hard - wildwater canoeing - 激流皮划艇
+hard - canoe marathon - 皮划艇马拉松
+hard - dragon boat - 龙舟
+hard - outrigger canoe - 舷外支架独木舟
+hard - stand-up paddleboarding - 站立式桨板
+hard - waveski - 冲浪艇
+hard - sea kayaking - 海上皮划艇
+hard - whitewater kayaking - 激流皮划艇
+hard - playboating - 花式皮划艇
+hard - squirt boating - 喷射式皮划艇
+hard - canoeing - 独木舟
+hard - rafting - 漂流
+hard - hydrospeed - 激流冲浪
+hard - bodyboarding - 趴板
+hard - riverboarding - 河流冲浪
+hard - kneeboarding - 跪板冲浪
+hard - barefoot waterskiing - 赤脚滑水
+hard - slalom skiing - 滑水回转
+hard - trick skiing - 花式滑水
+hard - jump skiing - 跳跃滑水
+hard - speed skiing - 速度滑雪
+hard - telemark - 泰勒马克滑雪
+hard - backcountry skiing - 野外滑雪
+hard - heli-skiing - 直升机滑雪
+hard - cat skiing - 雪地车滑雪
+hard - ski mountaineering - 滑雪登山
+hard - ski touring - 滑雪旅行
+hard - Nordic combined - 北欧两项
+hard - ski flying - 滑雪飞行
+hard - ski ballet - 滑雪芭蕾
+hard - acro skiing - 特技滑雪
+hard - ski cross - 滑雪越野
+hard - boardercross - 单板滑雪越野
+hard - banked slalom - 倾斜回转
+hard - parallel giant slalom - 平行大回转
+hard - parallel slalom - 平行回转
+hard - snowboard cross - 单板滑雪越野
+hard - big air - 大跳台
+hard - quarterpipe - 四分之一管
+hard - superpipe - 超级半管
+hard - jibbing - 道具滑雪
+hard - rail sliding - 滑轨
+hard - box sliding - 滑箱
+hard - butter - 转体
+hard - cork - 空翻转体
+hard - rodeo - 侧空翻
+hard - misty - 倒转
+hard - flat spin - 平转
+hard - bio - 后空翻
+hard - cab - 反脚转体
+hard - switch - 反脚滑行
+hard - fakie - 倒滑
+hard - nollie - 前轮翘起
+hard - ollie - 豚跳
+hard - kickflip - 踢翻
+hard - heelflip - 后跟翻
+hard - pop shove-it - 跳转
+hard - boardslide - 板滑
+hard - lipslide - 边滑
+hard - noseslide - 前端滑
+hard - tailslide - 后端滑
+hard - bluntslide - 钝滑
+hard - noseblunt - 前端钝滑
+hard - 5-0 grind - 后轮滑
+hard - 50-50 grind - 双轮滑
+hard - nosegrind - 前轮滑
+hard - crooked grind - 斜滑
+hard - overcrook - 过度斜滑
+hard - smith grind - 史密斯滑
+hard - feeble grind - 虚弱滑
+hard - salad grind - 沙拉滑
+hard - willy grind - 威利滑
+hard - suski grind - 苏斯基滑
+hard - hurricane - 飓风转
+hard - frontside - 正面转
+hard - backside - 背面转
+hard - revert - 反转
+hard - half-cab - 半程转
+hard - full-cab - 全程转
+hard - caballerial - 卡巴列里尔转
+
diff --git a/apps/articulate/frontend/public/wordlists/technology.txt b/apps/articulate/frontend/public/wordlists/technology.txt
new file mode 100644
index 0000000..a8938f9
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/technology.txt
@@ -0,0 +1,396 @@
+easy - computer - 电脑
+easy - phone - 电话
+easy - tablet - 平板电脑
+easy - laptop - 笔记本电脑
+easy - keyboard - 键盘
+easy - mouse - 鼠标
+easy - screen - 屏幕
+easy - monitor - 显示器
+easy - printer - 打印机
+easy - camera - 相机
+easy - TV - 电视
+easy - radio - 收音机
+easy - speaker - 扬声器
+easy - headphones - 耳机
+easy - microphone - 麦克风
+easy - remote - 遥控器
+easy - charger - 充电器
+easy - battery - 电池
+easy - cable - 电缆
+easy - plug - 插头
+easy - socket - 插座
+easy - switch - 开关
+easy - button - 按钮
+easy - app - 应用程序
+easy - website - 网站
+easy - email - 电子邮件
+easy - internet - 互联网
+easy - wifi - 无线网络
+easy - bluetooth - 蓝牙
+easy - GPS - 全球定位系统
+easy - video - 视频
+easy - photo - 照片
+easy - music - 音乐
+easy - game - 游戏
+easy - software - 软件
+easy - hardware - 硬件
+easy - disk - 磁盘
+easy - file - 文件
+easy - folder - 文件夹
+easy - icon - 图标
+easy - cursor - 光标
+easy - click - 点击
+easy - download - 下载
+easy - upload - 上传
+easy - save - 保存
+easy - delete - 删除
+easy - copy - 复制
+easy - paste - 粘贴
+easy - cut - 剪切
+easy - undo - 撤销
+easy - redo - 重做
+easy - search - 搜索
+easy - zoom - 缩放
+easy - scroll - 滚动
+easy - password - 密码
+easy - login - 登录
+easy - logout - 登出
+easy - profile - 个人资料
+easy - settings - 设置
+easy - menu - 菜单
+easy - window - 窗口
+easy - tab - 标签页
+easy - link - 链接
+easy - message - 消息
+easy - notification - 通知
+easy - alarm - 闹钟
+easy - calculator - 计算器
+easy - calendar - 日历
+easy - clock - 时钟
+easy - timer - 计时器
+medium - smartphone - 智能手机
+medium - smartwatch - 智能手表
+medium - desktop - 台式电脑
+medium - server - 服务器
+medium - router - 路由器
+medium - modem - 调制解调器
+medium - hub - 集线器
+medium - switch - 交换机
+medium - firewall - 防火墙
+medium - access point - 接入点
+medium - repeater - 中继器
+medium - adapter - 适配器
+medium - converter - 转换器
+medium - splitter - 分配器
+medium - amplifier - 放大器
+medium - receiver - 接收器
+medium - transmitter - 发射器
+medium - antenna - 天线
+medium - satellite dish - 卫星天线
+medium - webcam - 网络摄像头
+medium - scanner - 扫描仪
+medium - copier - 复印机
+medium - fax machine - 传真机
+medium - projector - 投影仪
+medium - touchscreen - 触摸屏
+medium - stylus - 触控笔
+medium - trackpad - 触控板
+medium - joystick - 操纵杆
+medium - gamepad - 游戏手柄
+medium - controller - 控制器
+medium - console - 游戏机
+medium - VR headset - VR头显
+medium - drone - 无人机
+medium - robot - 机器人
+medium - sensor - 传感器
+medium - actuator - 执行器
+medium - chip - 芯片
+medium - processor - 处理器
+medium - CPU - 中央处理器
+medium - GPU - 图形处理器
+medium - RAM - 随机存取存储器
+medium - ROM - 只读存储器
+medium - motherboard - 主板
+medium - circuit board - 电路板
+medium - hard drive - 硬盘
+medium - SSD - 固态硬盘
+medium - flash drive - 闪存盘
+medium - memory card - 存储卡
+medium - CD - 光盘
+medium - DVD - 数字光盘
+medium - blu-ray - 蓝光光盘
+medium - USB - USB接口
+medium - HDMI - HDMI接口
+medium - ethernet - 以太网
+medium - fiber optic - 光纤
+medium - cloud - 云
+medium - database - 数据库
+medium - server - 服务器
+medium - network - 网络
+medium - protocol - 协议
+medium - encryption - 加密
+medium - firewall - 防火墙
+medium - antivirus - 杀毒软件
+medium - malware - 恶意软件
+medium - virus - 病毒
+medium - spam - 垃圾邮件
+medium - phishing - 网络钓鱼
+medium - hacking - 黑客攻击
+medium - cybersecurity - 网络安全
+medium - backup - 备份
+medium - restore - 恢复
+medium - update - 更新
+medium - upgrade - 升级
+medium - patch - 补丁
+medium - bug - 漏洞
+medium - crash - 崩溃
+medium - freeze - 冻结
+medium - lag - 延迟
+medium - bandwidth - 带宽
+medium - latency - 延迟
+medium - throughput - 吞吐量
+medium - packet - 数据包
+medium - ping - 延迟测试
+medium - download speed - 下载速度
+medium - upload speed - 上传速度
+medium - streaming - 流媒体
+medium - buffering - 缓冲
+medium - compression - 压缩
+medium - resolution - 分辨率
+medium - pixel - 像素
+medium - DPI - 每英寸点数
+medium - refresh rate - 刷新率
+medium - frame rate - 帧率
+medium - aspect ratio - 纵横比
+medium - contrast - 对比度
+medium - brightness - 亮度
+medium - saturation - 饱和度
+medium - hue - 色调
+medium - RGB - 红绿蓝
+medium - CMYK - 青品黄黑
+medium - codec - 编解码器
+medium - format - 格式
+medium - extension - 扩展名
+medium - metadata - 元数据
+medium - thumbnail - 缩略图
+medium - preview - 预览
+medium - rendering - 渲染
+medium - graphics - 图形
+medium - animation - 动画
+medium - simulation - 模拟
+medium - modeling - 建模
+medium - texture - 纹理
+medium - shader - 着色器
+medium - polygon - 多边形
+medium - vector - 矢量
+medium - raster - 栅格
+medium - bitmap - 位图
+medium - interface - 界面
+medium - dashboard - 仪表板
+medium - toolbar - 工具栏
+medium - sidebar - 侧边栏
+medium - dropdown - 下拉菜单
+medium - checkbox - 复选框
+medium - radio button - 单选按钮
+medium - slider - 滑块
+medium - toggle - 切换
+medium - tooltip - 工具提示
+medium - popup - 弹窗
+medium - modal - 模态框
+medium - dialog - 对话框
+medium - alert - 警报
+medium - banner - 横幅
+medium - widget - 小部件
+medium - plugin - 插件
+medium - extension - 扩展
+medium - addon - 附加组件
+medium - module - 模块
+medium - library - 库
+medium - framework - 框架
+medium - API - 应用程序接口
+medium - SDK - 软件开发工具包
+medium - IDE - 集成开发环境
+medium - compiler - 编译器
+medium - interpreter - 解释器
+medium - debugger - 调试器
+medium - version control - 版本控制
+medium - repository - 仓库
+medium - commit - 提交
+medium - branch - 分支
+medium - merge - 合并
+medium - pull request - 拉取请求
+medium - code review - 代码审查
+medium - testing - 测试
+medium - deployment - 部署
+medium - DevOps - 开发运维
+medium - container - 容器
+medium - virtual machine - 虚拟机
+medium - hypervisor - 虚拟机监控程序
+medium - cloud computing - 云计算
+medium - SaaS - 软件即服务
+medium - PaaS - 平台即服务
+medium - IaaS - 基础设施即服务
+hard - microprocessor - 微处理器
+hard - microcontroller - 微控制器
+hard - FPGA - 现场可编程门阵列
+hard - ASIC - 专用集成电路
+hard - SoC - 片上系统
+hard - ALU - 算术逻辑单元
+hard - FPU - 浮点运算单元
+hard - cache - 缓存
+hard - register - 寄存器
+hard - pipeline - 流水线
+hard - instruction set - 指令集
+hard - architecture - 架构
+hard - x86 - x86架构
+hard - ARM - ARM架构
+hard - RISC - 精简指令集
+hard - CISC - 复杂指令集
+hard - BIOS - 基本输入输出系统
+hard - UEFI - 统一可扩展固件接口
+hard - bootloader - 引导加载程序
+hard - kernel - 内核
+hard - operating system - 操作系统
+hard - driver - 驱动程序
+hard - firmware - 固件
+hard - middleware - 中间件
+hard - runtime - 运行时
+hard - virtual memory - 虚拟内存
+hard - paging - 分页
+hard - segmentation - 分段
+hard - multithreading - 多线程
+hard - multiprocessing - 多处理
+hard - parallel computing - 并行计算
+hard - distributed computing - 分布式计算
+hard - cluster - 集群
+hard - load balancing - 负载均衡
+hard - failover - 故障转移
+hard - redundancy - 冗余
+hard - replication - 复制
+hard - sharding - 分片
+hard - partitioning - 分区
+hard - indexing - 索引
+hard - caching - 缓存
+hard - query - 查询
+hard - transaction - 事务
+hard - ACID - 原子性一致性隔离性持久性
+hard - normalization - 规范化
+hard - denormalization - 反规范化
+hard - SQL - 结构化查询语言
+hard - NoSQL - 非关系型数据库
+hard - relational database - 关系型数据库
+hard - document database - 文档数据库
+hard - key-value store - 键值存储
+hard - graph database - 图数据库
+hard - time series database - 时序数据库
+hard - data warehouse - 数据仓库
+hard - data lake - 数据湖
+hard - ETL - 提取转换加载
+hard - data mining - 数据挖掘
+hard - machine learning - 机器学习
+hard - deep learning - 深度学习
+hard - neural network - 神经网络
+hard - convolutional network - 卷积神经网络
+hard - recurrent network - 循环神经网络
+hard - transformer - 变换器
+hard - attention mechanism - 注意力机制
+hard - reinforcement learning - 强化学习
+hard - supervised learning - 监督学习
+hard - unsupervised learning - 无监督学习
+hard - semi-supervised learning - 半监督学习
+hard - transfer learning - 迁移学习
+hard - overfitting - 过拟合
+hard - underfitting - 欠拟合
+hard - regularization - 正则化
+hard - hyperparameter - 超参数
+hard - gradient descent - 梯度下降
+hard - backpropagation - 反向传播
+hard - activation function - 激活函数
+hard - loss function - 损失函数
+hard - optimizer - 优化器
+hard - epoch - 训练轮次
+hard - batch - 批次
+hard - inference - 推理
+hard - training - 训练
+hard - validation - 验证
+hard - testing - 测试
+hard - accuracy - 准确率
+hard - precision - 精确率
+hard - recall - 召回率
+hard - F1 score - F1分数
+hard - confusion matrix - 混淆矩阵
+hard - ROC curve - ROC曲线
+hard - AUC - 曲线下面积
+hard - natural language processing - 自然语言处理
+hard - computer vision - 计算机视觉
+hard - speech recognition - 语音识别
+hard - text generation - 文本生成
+hard - image classification - 图像分类
+hard - object detection - 物体检测
+hard - semantic segmentation - 语义分割
+hard - instance segmentation - 实例分割
+hard - face recognition - 人脸识别
+hard - pose estimation - 姿态估计
+hard - optical character recognition - 光学字符识别
+hard - sentiment analysis - 情感分析
+hard - named entity recognition - 命名实体识别
+hard - part-of-speech tagging - 词性标注
+hard - dependency parsing - 依存句法分析
+hard - constituency parsing - 短语结构分析
+hard - coreference resolution - 共指消解
+hard - word embedding - 词嵌入
+hard - tokenization - 分词
+hard - lemmatization - 词形还原
+hard - stemming - 词干提取
+hard - stop words - 停用词
+hard - n-gram - n元语法
+hard - bag of words - 词袋模型
+hard - TF-IDF - 词频-逆文档频率
+hard - skip-gram - 跳字模型
+hard - CBOW - 连续词袋
+hard - seq2seq - 序列到序列
+hard - encoder-decoder - 编码器-解码器
+hard - LSTM - 长短期记忆网络
+hard - GRU - 门控循环单元
+hard - BERT - 双向编码器表示
+hard - GPT - 生成式预训练
+hard - diffusion model - 扩散模型
+hard - GAN - 生成对抗网络
+hard - VAE - 变分自编码器
+hard - autoencoder - 自编码器
+hard - residual network - 残差网络
+hard - batch normalization - 批归一化
+hard - layer normalization - 层归一化
+hard - dropout - 随机失活
+hard - data augmentation - 数据增强
+hard - feature extraction - 特征提取
+hard - dimensionality reduction - 降维
+hard - principal component analysis - 主成分分析
+hard - t-SNE - t分布随机邻域嵌入
+hard - clustering - 聚类
+hard - k-means - k均值
+hard - hierarchical clustering - 层次聚类
+hard - DBSCAN - 基于密度的聚类
+hard - anomaly detection - 异常检测
+hard - outlier detection - 离群值检测
+hard - recommendation system - 推荐系统
+hard - collaborative filtering - 协同过滤
+hard - content-based filtering - 基于内容的过滤
+hard - matrix factorization - 矩阵分解
+hard - ensemble learning - 集成学习
+hard - bagging - 袋装法
+hard - boosting - 提升法
+hard - random forest - 随机森林
+hard - decision tree - 决策树
+hard - support vector machine - 支持向量机
+hard - naive bayes - 朴素贝叶斯
+hard - logistic regression - 逻辑回归
+hard - linear regression - 线性回归
+hard - polynomial regression - 多项式回归
+hard - ridge regression - 岭回归
+hard - lasso regression - Lasso回归
+hard - cross-validation - 交叉验证
+hard - grid search - 网格搜索
+hard - random search - 随机搜索
+hard - Bayesian optimization - 贝叶斯优化
+
diff --git a/apps/articulate/frontend/public/wordlists/vehicles.txt b/apps/articulate/frontend/public/wordlists/vehicles.txt
new file mode 100644
index 0000000..d8c61b4
--- /dev/null
+++ b/apps/articulate/frontend/public/wordlists/vehicles.txt
@@ -0,0 +1,380 @@
+easy - car - 汽车
+easy - bus - 公共汽车
+easy - truck - 卡车
+easy - van - 货车
+easy - taxi - 出租车
+easy - bike - 自行车
+easy - motorcycle - 摩托车
+easy - scooter - 小型摩托车
+easy - train - 火车
+easy - subway - 地铁
+easy - tram - 有轨电车
+easy - boat - 船
+easy - ship - 轮船
+easy - plane - 飞机
+easy - helicopter - 直升机
+easy - rocket - 火箭
+easy - bicycle - 自行车
+easy - tricycle - 三轮车
+easy - skateboard - 滑板
+easy - rollerblades - 轮滑
+easy - sled - 雪橇
+easy - sleigh - 雪橇
+easy - wagon - 马车
+easy - cart - 手推车
+easy - carriage - 马车
+easy - stroller - 婴儿车
+easy - wheelchair - 轮椅
+easy - ambulance - 救护车
+easy - fire truck - 消防车
+easy - police car - 警车
+easy - limousine - 豪华轿车
+easy - sports car - 跑车
+easy - sedan - 轿车
+easy - coupe - 双门轿车
+easy - convertible - 敞篷车
+easy - minivan - 小型货车
+easy - SUV - 运动型多用途车
+easy - jeep - 吉普车
+easy - pickup - 皮卡
+easy - trailer - 拖车
+easy - camper - 露营车
+easy - RV - 房车
+easy - motorhome - 房车
+easy - tractor - 拖拉机
+easy - bulldozer - 推土机
+easy - crane - 起重机
+easy - excavator - 挖掘机
+easy - dump truck - 自卸车
+easy - cement mixer - 水泥搅拌车
+easy - forklift - 叉车
+easy - golf cart - 高尔夫球车
+easy - go-kart - 卡丁车
+easy - rickshaw - 人力车
+easy - canoe - 独木舟
+easy - kayak - 皮划艇
+easy - rowboat - 划艇
+easy - sailboat - 帆船
+easy - yacht - 游艇
+easy - ferry - 渡轮
+easy - cruise ship - 游轮
+easy - submarine - 潜艇
+easy - jet ski - 水上摩托
+easy - surfboard - 冲浪板
+easy - glider - 滑翔机
+easy - balloon - 气球
+easy - blimp - 飞艇
+easy - zeppelin - 齐柏林飞艇
+medium - hatchback - 掀背车
+medium - station wagon - 旅行车
+medium - crossover - 跨界车
+medium - roadster - 敞篷跑车
+medium - hardtop - 硬顶车
+medium - fastback - 快背车
+medium - notchback - 阶背车
+medium - landau - 活顶轿车
+medium - brougham - 轿式马车
+medium - phaeton - 敞篷车
+medium - cabriolet - 敞篷车
+medium - targa - 塔尔加车顶
+medium - speedster - 快速跑车
+medium - grand tourer - 豪华旅行车
+medium - muscle car - 肌肉车
+medium - hot hatch - 热舱车
+medium - dragster - 直线竞速车
+medium - funny car - 趣味车
+medium - stock car - 改装赛车
+medium - rally car - 拉力赛车
+medium - race car - 赛车
+medium - formula car - 方程式赛车
+medium - touring car - 房车赛车
+medium - prototype - 原型车
+medium - concept car - 概念车
+medium - hybrid - 混合动力车
+medium - electric car - 电动车
+medium - fuel cell - 燃料电池车
+medium - diesel - 柴油车
+medium - four-wheel drive - 四轮驱动
+medium - all-wheel drive - 全轮驱动
+medium - front-wheel drive - 前轮驱动
+medium - rear-wheel drive - 后轮驱动
+medium - manual transmission - 手动变速器
+medium - automatic transmission - 自动变速器
+medium - stick shift - 手动档
+medium - clutch - 离合器
+medium - gearbox - 变速箱
+medium - engine - 发动机
+medium - motor - 马达
+medium - turbocharger - 涡轮增压器
+medium - supercharger - 机械增压器
+medium - carburetor - 化油器
+medium - fuel injection - 燃油喷射
+medium - radiator - 散热器
+medium - alternator - 交流发电机
+medium - battery - 电池
+medium - starter - 启动器
+medium - spark plug - 火花塞
+medium - piston - 活塞
+medium - crankshaft - 曲轴
+medium - camshaft - 凸轮轴
+medium - cylinder - 气缸
+medium - exhaust pipe - 排气管
+medium - muffler - 消音器
+medium - catalytic converter - 催化转换器
+medium - suspension - 悬挂系统
+medium - shock absorber - 减震器
+medium - strut - 支柱
+medium - spring - 弹簧
+medium - axle - 车轴
+medium - differential - 差速器
+medium - driveshaft - 传动轴
+medium - transmission - 变速器
+medium - brake - 刹车
+medium - disc brake - 盘式制动器
+medium - drum brake - 鼓式制动器
+medium - brake pad - 刹车片
+medium - brake shoe - 刹车蹄
+medium - steering wheel - 方向盘
+medium - power steering - 动力转向
+medium - rack and pinion - 齿轮齿条
+medium - tie rod - 拉杆
+medium - ball joint - 球头
+medium - control arm - 控制臂
+medium - stabilizer bar - 稳定杆
+medium - sway bar - 防倾杆
+medium - bumper - 保险杠
+medium - fender - 挡泥板
+medium - hood - 引擎盖
+medium - trunk - 后备箱
+medium - tailgate - 尾门
+medium - windshield - 挡风玻璃
+medium - sunroof - 天窗
+medium - moonroof - 月光顶
+medium - side mirror - 后视镜
+medium - rearview mirror - 后视镜
+medium - headlight - 前大灯
+medium - taillight - 尾灯
+medium - turn signal - 转向灯
+medium - hazard light - 警示灯
+medium - fog light - 雾灯
+medium - horn - 喇叭
+medium - windshield wiper - 雨刷
+medium - washer fluid - 洗涤液
+medium - air conditioning - 空调
+medium - heater - 暖气
+medium - defroster - 除霜器
+medium - dashboard - 仪表板
+medium - speedometer - 速度计
+medium - odometer - 里程表
+medium - tachometer - 转速表
+medium - fuel gauge - 油量表
+medium - temperature gauge - 温度计
+medium - airbag - 安全气囊
+medium - seatbelt - 安全带
+medium - child seat - 儿童座椅
+medium - armrest - 扶手
+medium - cup holder - 杯架
+medium - glove compartment - 手套箱
+medium - center console - 中控台
+medium - parking brake - 手刹
+medium - pedal - 踏板
+medium - accelerator - 油门
+medium - gas pedal - 油门踏板
+medium - brake pedal - 刹车踏板
+medium - clutch pedal - 离合器踏板
+medium - wheel - 轮子
+medium - rim - 轮毂
+medium - tire - 轮胎
+medium - hubcap - 轮毂盖
+medium - spare tire - 备胎
+medium - lug nut - 螺母
+medium - valve stem - 气门嘴
+medium - tread - 胎面
+medium - sidewall - 胎侧
+medium - alignment - 定位
+medium - balancing - 平衡
+medium - rotation - 轮换
+medium - motorcycle - 摩托车
+medium - cruiser - 巡航摩托
+medium - sportbike - 运动摩托
+medium - touring bike - 旅行摩托
+medium - chopper - 斩波摩托
+medium - bobber - 短尾摩托
+medium - cafe racer - 咖啡赛车
+medium - scrambler - 攀爬摩托
+medium - dual-sport - 双运动摩托
+medium - adventure bike - 探险摩托
+medium - dirt bike - 越野摩托
+medium - motocross - 越野摩托
+medium - enduro - 耐力摩托
+medium - trial bike - 障碍赛摩托
+medium - supermoto - 超级摩托
+medium - naked bike - 裸车
+medium - standard - 标准摩托
+medium - moped - 轻便摩托
+medium - scooter - 踏板摩托
+medium - vespa - 维斯帕
+medium - minibike - 迷你摩托
+medium - pocket bike - 袖珍摩托
+medium - pit bike - 小轮摩托
+medium - quad - 四轮摩托
+medium - ATV - 全地形车
+medium - UTV - 多功能车
+medium - dune buggy - 沙滩车
+medium - snowmobile - 雪地摩托
+medium - jet ski - 水上摩托
+medium - waverunner - 水上摩托
+medium - personal watercraft - 私人水上摩托
+hard - landaulet - 半敞篷车
+hard - limousine - 豪华轿车
+hard - stretch limo - 加长豪华轿车
+hard - town car - 城市轿车
+hard - shooting brake - 猎装车
+hard - estate car - 旅行车
+hard - woody wagon - 木质旅行车
+hard - panel van - 厢式货车
+hard - cargo van - 货运厢式车
+hard - delivery van - 送货车
+hard - box truck - 厢式卡车
+hard - flatbed - 平板卡车
+hard - semi-truck - 半挂车
+hard - tractor-trailer - 牵引拖车
+hard - big rig - 大型卡车
+hard - articulated lorry - 铰接式卡车
+hard - tanker truck - 罐车
+hard - refrigerated truck - 冷藏车
+hard - mobile crane - 移动起重机
+hard - tower crane - 塔式起重机
+hard - gantry crane - 门式起重机
+hard - overhead crane - 桥式起重机
+hard - jib crane - 悬臂起重机
+hard - telescopic crane - 伸缩式起重机
+hard - crawler crane - 履带起重机
+hard - rough terrain crane - 全地形起重机
+hard - backhoe - 反铲挖掘机
+hard - front loader - 前装载机
+hard - wheel loader - 轮式装载机
+hard - skid steer - 滑移装载机
+hard - bobcat - 山猫装载机
+hard - grader - 平地机
+hard - road roller - 压路机
+hard - steamroller - 蒸汽压路机
+hard - compactor - 压实机
+hard - paver - 摊铺机
+hard - asphalt paver - 沥青摊铺机
+hard - milling machine - 铣刨机
+hard - trencher - 开沟机
+hard - pile driver - 打桩机
+hard - drill rig - 钻机
+hard - cherry picker - 高空作业车
+hard - bucket truck - 斗车
+hard - boom lift - 臂式升降机
+hard - scissor lift - 剪叉式升降机
+hard - aerial work platform - 高空作业平台
+hard - tugboat - 拖船
+hard - towboat - 拖船
+hard - pushboat - 推船
+hard - barge - 驳船
+hard - lighter - 驳船
+hard - freighter - 货船
+hard - cargo ship - 货船
+hard - container ship - 集装箱船
+hard - bulk carrier - 散货船
+hard - tanker - 油轮
+hard - supertanker - 超级油轮
+hard - VLCC - 超大型油轮
+hard - ULCC - 超巨型油轮
+hard - LNG carrier - 液化天然气船
+hard - reefer ship - 冷藏船
+hard - ro-ro ship - 滚装船
+hard - vehicle carrier - 汽车运输船
+hard - livestock carrier - 牲畜运输船
+hard - dredger - 挖泥船
+hard - hopper dredger - 耙吸挖泥船
+hard - cutter suction dredger - 绞吸挖泥船
+hard - trailing suction dredger - 拖吸挖泥船
+hard - fishing vessel - 渔船
+hard - trawler - 拖网渔船
+hard - longliner - 延绳钓船
+hard - purse seiner - 围网渔船
+hard - factory ship - 加工船
+hard - whaler - 捕鲸船
+hard - icebreaker - 破冰船
+hard - research vessel - 科考船
+hard - survey vessel - 测量船
+hard - cable layer - 电缆铺设船
+hard - pipe layer - 管道铺设船
+hard - crane vessel - 起重船
+hard - floating crane - 浮吊
+hard - platform supply vessel - 平台供应船
+hard - anchor handling tug - 锚作拖船
+hard - fireboat - 消防船
+hard - pilot boat - 引水船
+hard - patrol boat - 巡逻艇
+hard - coast guard cutter - 海岸警卫艇
+hard - customs boat - 海关艇
+hard - lifeboat - 救生艇
+hard - rescue boat - 救援艇
+hard - inflatable boat - 充气艇
+hard - rigid inflatable boat - 硬式充气艇
+hard - pontoon boat - 浮筒船
+hard - houseboat - 游艇
+hard - narrowboat - 窄船
+hard - canal boat - 运河船
+hard - river boat - 江船
+hard - paddle steamer - 明轮船
+hard - sternwheeler - 尾轮船
+hard - sidewheeler - 侧轮船
+hard - propeller - 螺旋桨
+hard - screw - 螺旋桨
+hard - thruster - 推进器
+hard - bow thruster - 艏侧推器
+hard - stern thruster - 艉侧推器
+hard - azimuth thruster - 全回转推进器
+hard - waterjet - 喷水推进
+hard - paddle - 桨
+hard - oar - 桨
+hard - rudder - 舵
+hard - keel - 龙骨
+hard - hull - 船体
+hard - bow - 船头
+hard - stern - 船尾
+hard - port - 左舷
+hard - starboard - 右舷
+hard - deck - 甲板
+hard - bridge - 驾驶台
+hard - wheelhouse - 驾驶室
+hard - helm - 舵
+hard - anchor - 锚
+hard - mooring - 系泊
+hard - hawser - 缆绳
+hard - winch - 绞车
+hard - capstan - 绞盘
+hard - davit - 吊艇架
+hard - gangway - 舷梯
+hard - companionway - 升降口
+hard - hatch - 舱口
+hard - hold - 货舱
+hard - ballast - 压舱物
+hard - bulkhead - 舱壁
+hard - berth - 泊位
+hard - cabin - 舱室
+hard - galley - 厨房
+hard - mess - 餐厅
+hard - head - 厕所
+hard - quarter - 船尾
+hard - forecastle - 前甲板
+hard - poop deck - 尾楼甲板
+hard - flight deck - 飞行甲板
+hard - hangar deck - 机库甲板
+hard - gun deck - 炮甲板
+hard - orlop deck - 最下层甲板
+hard - tween deck - 中层甲板
+hard - promenade deck - 散步甲板
+hard - sun deck - 日光浴甲板
+hard - boat deck - 救生艇甲板
+hard - weather deck - 露天甲板
+hard - upper deck - 上甲板
+hard - main deck - 主甲板
+hard - lower deck - 下甲板
+
diff --git a/apps/articulate/frontend/tsconfig.json b/apps/articulate/frontend/tsconfig.json
new file mode 100644
index 0000000..8a2920f
--- /dev/null
+++ b/apps/articulate/frontend/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "preserve",
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "types": ["vitest/globals"]
+ },
+ "include": ["src/**/*.ts", "src/**/*.vue", "vite-env.d.ts"]
+}
diff --git a/apps/articulate/frontend/vite-env.d.ts b/apps/articulate/frontend/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/apps/articulate/frontend/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/apps/articulate/frontend/vite.config.ts b/apps/articulate/frontend/vite.config.ts
new file mode 100644
index 0000000..a48a65e
--- /dev/null
+++ b/apps/articulate/frontend/vite.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+
+export default defineConfig({
+ plugins: [vue()],
+ build: {
+ target: 'es2020',
+ },
+ test: {
+ globals: true,
+ environment: 'node',
+ },
+})
diff --git a/apps/articulate/k8s/all.yaml b/apps/articulate/k8s/all.yaml
new file mode 100644
index 0000000..3c07e80
--- /dev/null
+++ b/apps/articulate/k8s/all.yaml
@@ -0,0 +1,82 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: cube-articulate
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: articulate
+ namespace: cube-articulate
+ labels:
+ app: articulate
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: articulate
+ template:
+ metadata:
+ labels:
+ app: articulate
+ spec:
+ imagePullSecrets:
+ - name: registry-creds
+ containers:
+ - name: articulate
+ image: registry.famzheng.me/mochi/articulate:latest
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 8080
+ name: http
+ readinessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ initialDelaySeconds: 1
+ periodSeconds: 5
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ initialDelaySeconds: 5
+ periodSeconds: 15
+ resources:
+ requests:
+ cpu: 10m
+ memory: 16Mi
+ limits:
+ cpu: 200m
+ memory: 64Mi
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: articulate
+ namespace: cube-articulate
+spec:
+ selector:
+ app: articulate
+ ports:
+ - name: http
+ port: 80
+ targetPort: 8080
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: articulate
+ namespace: cube-articulate
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: articulate.famzheng.me
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: articulate
+ port:
+ number: 80
diff --git a/apps/articulate/src/main.rs b/apps/articulate/src/main.rs
new file mode 100644
index 0000000..a53ac64
--- /dev/null
+++ b/apps/articulate/src/main.rs
@@ -0,0 +1,9 @@
+//! articulate.famzheng.me — 中英猜词派对游戏。纯静态前端,无 API。
+
+#[tokio::main]
+async fn main() -> std::io::Result<()> {
+ cube_core::init_tracing();
+ let dist = std::env::var("ARTICULATE_DIST_DIR").unwrap_or_else(|_| "/dist".into());
+ let app = cube_core::base(dist);
+ cube_core::serve(app, 8080).await
+}
diff --git a/apps/karaoke/Cargo.toml b/apps/karaoke/Cargo.toml
new file mode 100644
index 0000000..2aabef1
--- /dev/null
+++ b/apps/karaoke/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "karaoke"
+version = "0.1.0"
+edition.workspace = true
+license.workspace = true
+authors.workspace = true
+description = "karaoke.famzheng.me — 卡拉OK 点歌单本地管理(一台手机),从 partiverse 移植"
+
+[dependencies]
+cube-core = { path = "../../crates/cube-core" }
+tokio = { workspace = true }
diff --git a/apps/karaoke/Dockerfile b/apps/karaoke/Dockerfile
new file mode 100644
index 0000000..d66899b
--- /dev/null
+++ b/apps/karaoke/Dockerfile
@@ -0,0 +1,6 @@
+# karaoke — karaoke.famzheng.me
+FROM scratch
+COPY target/x86_64-unknown-linux-musl/release/karaoke /karaoke
+COPY apps/karaoke/frontend/dist /dist
+EXPOSE 8080
+ENTRYPOINT ["/karaoke"]
diff --git a/apps/karaoke/frontend/index.html b/apps/karaoke/frontend/index.html
new file mode 100644
index 0000000..91fed99
--- /dev/null
+++ b/apps/karaoke/frontend/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Karaoke 点歌单
+
+
+
+
+
+
diff --git a/apps/karaoke/frontend/package.json b/apps/karaoke/frontend/package.json
new file mode 100644
index 0000000..871fe9c
--- /dev/null
+++ b/apps/karaoke/frontend/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "karaoke",
+ "private": true,
+ "version": "0.1.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vue-tsc -b && vite build",
+ "preview": "vite preview",
+ "test": "vitest"
+ },
+ "dependencies": {
+ "vue": "^3.5.13"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^5.2.1",
+ "typescript": "~5.7.2",
+ "vite": "^6.0.5",
+ "vitest": "^2.1.8",
+ "vue-tsc": "^2.2.0"
+ }
+}
diff --git a/apps/karaoke/frontend/tsconfig.json b/apps/karaoke/frontend/tsconfig.json
new file mode 100644
index 0000000..8a2920f
--- /dev/null
+++ b/apps/karaoke/frontend/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "preserve",
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "types": ["vitest/globals"]
+ },
+ "include": ["src/**/*.ts", "src/**/*.vue", "vite-env.d.ts"]
+}
diff --git a/apps/karaoke/frontend/vite-env.d.ts b/apps/karaoke/frontend/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/apps/karaoke/frontend/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/apps/karaoke/frontend/vite.config.ts b/apps/karaoke/frontend/vite.config.ts
new file mode 100644
index 0000000..a48a65e
--- /dev/null
+++ b/apps/karaoke/frontend/vite.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+
+export default defineConfig({
+ plugins: [vue()],
+ build: {
+ target: 'es2020',
+ },
+ test: {
+ globals: true,
+ environment: 'node',
+ },
+})
diff --git a/apps/karaoke/k8s/all.yaml b/apps/karaoke/k8s/all.yaml
new file mode 100644
index 0000000..d58fa40
--- /dev/null
+++ b/apps/karaoke/k8s/all.yaml
@@ -0,0 +1,82 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: cube-karaoke
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: karaoke
+ namespace: cube-karaoke
+ labels:
+ app: karaoke
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: karaoke
+ template:
+ metadata:
+ labels:
+ app: karaoke
+ spec:
+ imagePullSecrets:
+ - name: registry-creds
+ containers:
+ - name: karaoke
+ image: registry.famzheng.me/mochi/karaoke:latest
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 8080
+ name: http
+ readinessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ initialDelaySeconds: 1
+ periodSeconds: 5
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ initialDelaySeconds: 5
+ periodSeconds: 15
+ resources:
+ requests:
+ cpu: 10m
+ memory: 16Mi
+ limits:
+ cpu: 200m
+ memory: 64Mi
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: karaoke
+ namespace: cube-karaoke
+spec:
+ selector:
+ app: karaoke
+ ports:
+ - name: http
+ port: 80
+ targetPort: 8080
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: karaoke
+ namespace: cube-karaoke
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: karaoke.famzheng.me
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: karaoke
+ port:
+ number: 80
diff --git a/apps/karaoke/src/main.rs b/apps/karaoke/src/main.rs
new file mode 100644
index 0000000..0d92733
--- /dev/null
+++ b/apps/karaoke/src/main.rs
@@ -0,0 +1,9 @@
+//! karaoke.famzheng.me — 卡拉OK 点歌单本地管理。纯静态前端,无 API。
+
+#[tokio::main]
+async fn main() -> std::io::Result<()> {
+ cube_core::init_tracing();
+ let dist = std::env::var("KARAOKE_DIST_DIR").unwrap_or_else(|_| "/dist".into());
+ let app = cube_core::base(dist);
+ cube_core::serve(app, 8080).await
+}
diff --git a/apps/music/frontend/src/views/PlayerView.vue b/apps/music/frontend/src/views/PlayerView.vue
index a732440..7c752f3 100644
--- a/apps/music/frontend/src/views/PlayerView.vue
+++ b/apps/music/frontend/src/views/PlayerView.vue
@@ -227,9 +227,37 @@
{{ fmtTime(currentTime) }}
{{ fmtTime(duration) }}
+
+
+
+
+