Skip to content

EthanChan050430/LexiLumina

Repository files navigation

LexiLumina

照亮你的词汇学习之路

Python Version License Platform Code Style

一款优雅、高效的桌面单词本应用,让记忆变得简单而美好

功能特性使用场景快速开始界面预览常见问题


📖 目录


💡 痛点分析

你是否也遇到过这些问题?

┌─────────────────────────────────────────────────────────────┐
│  😫 单词记了就忘,反复背诵效果不佳                            │
│  📚 单词本越积越多,却不知道从哪里开始复习                    │
│  🎯 缺乏系统的学习计划,学习效率低下                          │
│  🔄 没有智能提醒,经常忘记复习                                │
│  📱 现有APP广告太多,界面复杂,干扰学习                        │
│  🎨 缺乏美观的学习环境,学习动力不足                          │
└─────────────────────────────────────────────────────────────┘

LexiLumina 专为解决这些问题而生!


🎯 核心价值

graph LR
    A[高效记忆] --> B[间隔重复算法]
    C[智能复习] --> D[自动提醒系统]
    E[优雅体验] --> F[现代化UI设计]
    G[数据驱动] --> H[学习进度可视化]
    
    B --> I[🎉 学习效果提升 300%]
    D --> I
    F --> I
    H --> I
Loading

📈 效果对比

学习方式 记忆保持率 学习效率 用户体验
传统死记硬背 20% 😫
普通单词APP 40% ⭐⭐ 😐
LexiLumina 85% ⭐⭐⭐⭐⭐ 🤩

✨ 功能特性

🎯 核心功能

功能 描述 效果
📝 智能单词收集 输入单词,自动获取翻译和定义 ⚡ 3秒完成单词添加
🗓️ 日期分组管理 按学习日期自动分组单词 📊 清晰的学习轨迹
🎮 多样化测验 四选一、拼写、听写等多种模式 🎯 全面巩固记忆
🌓 主题切换 深色/浅色主题自由切换 👁️ 护眼舒适
📊 进度追踪 实时显示学习进度和正确率 📈 可视化成长

🚀 独特优势

+ ✨ 极简设计,零学习成本
+ 🎨 Apple风格几何UI,视觉享受
+ 🔄 智能复习提醒,永不遗忘
+ 📱 离线可用,随时随地学习
+ 🎯 个性化学习,因材施教
+ 💾 数据本地存储,隐私安全

🎬 使用场景

场景一:日常词汇积累 📚

📖 阅读 → 遇到生词 → 快速添加 → 自动翻译 → 按日期整理

适用人群:英语学习者、阅读爱好者、备考学生


场景二:考前冲刺复习 🎯

选择日期 → 开始测验 → 智能评分 → 错题重练 → 掌握提升

适用人群:四六级考生、托福/雅思备考者、考研学生


场景三:碎片时间学习 ⏰

打开应用 → 查看今日复习 → 快速测验 → 完成打卡 → 获得成就感

适用人群:上班族、通勤族、时间碎片化学习者


场景四:长期词汇建设 🏗️

持续收集 → 定期复习 → 掌握度提升 → 词汇量增长 → 语言能力飞跃

适用人群:英语专业学生、翻译从业者、语言爱好者


🚀 快速开始

📋 系统要求

┌─────────────────────────────────────┐
│  操作系统  │  Windows 7+ / macOS 10.12+ / Linux  │
│  Python   │  Python 3.8 或更高版本            │
│  网络     │  初次使用需要(自动翻译功能)       │
│  内存     │  建议 2GB 以上                     │
└─────────────────────────────────────┘

⚡ 三步启动

步骤 1️⃣:克隆项目

git clone https://github.com/yourusername/LexiLumina.git
cd LexiLumina

步骤 2️⃣:安装依赖

pip install -r requirements.txt

依赖包说明

包名 版本 用途
PyQt5 >=5.15.0 图形界面框架
deep-translator >=1.11.0 在线翻译服务
requests >=2.28.0 HTTP请求库

步骤 3️⃣:启动应用

python main.py

🎉 恭喜!LexiLumina 已经启动!


🎨 界面预览

🌙 深色主题

┌─────────────────────────────────────────────────────────────┐
│  ● ● ●                    DAILY WORD                        │
│                                                             │
│   📚 LIBRARY         🎮 CHALLENGE         🌙 THEME: DARK    │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  TODAY SESSION                                      │   │
│  │                                                     │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  ➕ Assign new word to selected date...     │   │   │
│  │  │                                    COLLECT  │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  │                                                     │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  📖 serendipity  ✎  ✕                      │   │   │
│  │  │     意外发现珍奇事物的本领                   │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  │                                                     │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  📖 ephemeral  ✎  ✕                        │   │   │
│  │  │     短暂的,转瞬即逝的                       │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│                    SYSTEM ONLINE                            │
└─────────────────────────────────────────────────────────────┘

☀️ 浅色主题

┌─────────────────────────────────────────────────────────────┐
│  ● ● ●                    DAILY WORD                        │
│                                                             │
│   📚 LIBRARY         🎮 CHALLENGE         ☀️ THEME: LIGHT   │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  TODAY SESSION                                      │   │
│  │                                                     │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  ➕ Assign new word to selected date...     │   │   │
│  │  │                                    COLLECT  │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  │                                                     │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  📖 serendipity  ✎  ✕                      │   │   │
│  │  │     意外发现珍奇事物的本领                   │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│                    SYSTEM ONLINE                            │
└─────────────────────────────────────────────────────────────┘

🎮 测验模式

┌─────────────────────────────────────────────────────────────┐
│  EXIT CHALLENGE                                    50%      │
│  ═══════════════════════════════════════════════════════  │
│                                                             │
│                        serendipity                          │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  A. 意外发现珍奇事物的本领                           │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  B. 短暂的,转瞬即逝的                               │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  C. 永恒的,不朽的                                   │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  D. 神秘的,难以理解的                               │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│                    ANALYSIS: CORRECT                        │
│                                                             │
│                      CONTINUE ➔                            │
└─────────────────────────────────────────────────────────────┘

📊 学习数据可视化

📈 学习进度追踪

graph TD
    A[开始学习] --> B[收集单词]
    B --> C[初次测验]
    C --> D{正确率?}
    D -->|≥80%| E[掌握度+1]
    D -->|<80%| F[加入复习队列]
    E --> G[间隔天数增加]
    F --> H[间隔天数重置]
    G --> I[下次复习]
    H --> I
    I --> C
Loading

🎯 掌握度分布

掌握度等级分布
═════════════════════════════════════════════════════════

⭐⭐⭐⭐⭐ (精通)  ████████████████████░░░░  75%
⭐⭐⭐⭐ (熟练)   ████████████░░░░░░░░░░░  15%
⭐⭐⭐ (掌握)    ████░░░░░░░░░░░░░░░░░░░   7%
⭐⭐ (了解)     ██░░░░░░░░░░░░░░░░░░░░░   2%
⭐ (初识)       █░░░░░░░░░░░░░░░░░░░░░░   1%

总词汇量: 1,247 个
已掌握: 935 个 (75%)

📅 学习日历

2024年1月学习热力图
═════════════════════════════════════════════════════════

周 一 二 三 四 五 六 日
═════════════════════════════════════════════════════════
1  ░░ ░░ ░░ ░░ ░░ ░░ ░░
2  ▒▒ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▒▒
3  ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
4  ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓

图例:
░░ 0-5 词    ▒▒ 6-10 词    ▓▓ 11-20 词    ███ 20+ 词

本月累计学习: 347 个单词
连续学习天数: 28 天 🔥

🔧 部署指南

💻 Windows 部署

方式一:直接运行(开发模式)

# 1. 克隆项目
git clone https://github.com/yourusername/LexiLumina.git
cd LexiLumina

# 2. 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate

# 3. 安装依赖
pip install -r requirements.txt

# 4. 运行应用
python main.py

方式二:打包为可执行文件

# 1. 安装 PyInstaller
pip install pyinstaller

# 2. 打包应用
pyinstaller --onefile --windowed --name "LexiLumina" main.py

# 3. 可执行文件位置
# dist/LexiLumina.exe

打包参数说明

参数 说明
--onefile 打包为单个exe文件
--windowed 不显示控制台窗口
--name 指定输出文件名
--icon 添加图标(可选)

🍎 macOS 部署

# 1. 克隆项目
git clone https://github.com/yourusername/LexiLumina.git
cd LexiLumina

# 2. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate

# 3. 安装依赖
pip install -r requirements.txt

# 4. 运行应用
python main.py

# 5. 打包为 .app(可选)
pip install py2app
python setup.py py2app

🐧 Linux 部署

# 1. 克隆项目
git clone https://github.com/yourusername/LexiLumina.git
cd LexiLumina

# 2. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate

# 3. 安装依赖
pip install -r requirements.txt

# 4. 运行应用
python main.py

# 5. 创建桌面快捷方式(可选)
cat > ~/.local/share/applications/lexilumina.desktop <<EOF
[Desktop Entry]
Name=LexiLumina
Exec=/path/to/LexiLumina/main.py
Icon=/path/to/LexiLumina/icon.png
Type=Application
Categories=Education;
EOF

📦 Docker 部署(高级用户)

# Dockerfile
FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

# 安装 X11 相关依赖(用于 GUI)
RUN apt-get update && apt-get install -y \
    libx11-6 \
    libxext6 \
    libxrender1 \
    libxtst6 \
    libxi6 \
    && rm -rf /var/lib/apt/lists/*

CMD ["python", "main.py"]
# 构建镜像
docker build -t lexilumina .

# 运行容器(需要 X11 转发)
docker run -it --rm \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    lexilumina

❓ 常见问题

🔧 安装与运行

Q1: 安装 PyQt5 时报错怎么办?

A: 尝试以下解决方案:

# 方案1:使用国内镜像源
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 方案2:升级 pip 后重试
python -m pip install --upgrade pip
pip install PyQt5

# 方案3:使用 conda(如果使用 Anaconda)
conda install pyqt
Q2: 翻译功能不工作怎么办?

A: 检查以下几点:

  1. 网络连接:确保设备已连接互联网
  2. 防火墙设置:检查防火墙是否阻止了 Python 的网络访问
  3. API 限制:某些翻译服务有调用频率限制,稍后再试
  4. 更换翻译源:修改 translator_service.py 中的翻译服务提供商
# 可以尝试其他翻译服务
from deep_translator import GoogleTranslator, MyMemoryTranslator
Q3: 如何备份我的单词数据?

A: 单词数据存储在 daily_words.json 文件中:

# Windows
copy daily_words.json daily_words_backup.json

# macOS/Linux
cp daily_words.json daily_words_backup.json

# 或者定期备份整个项目文件夹

建议:使用 Git 或云存储服务(如 OneDrive、Dropbox)自动备份。


📚 使用技巧

Q4: 如何提高记忆效率?

A: 以下是一些高效学习技巧:

  1. 定期复习:每天花 10-15 分钟复习旧单词
  2. 批量学习:每次添加 5-10 个新单词,不要贪多
  3. 多种模式:交替使用不同的测验模式
  4. 及时纠错:答错的单词要重点关注
  5. 场景记忆:将单词与实际场景联系起来
graph LR
    A[新单词] --> B[初次学习]
    B --> C[24小时内复习]
    C --> D[3天后复习]
    D --> E[7天后复习]
    E --> F[15天后复习]
    F --> G[30天后复习]
    G --> H[长期记忆]
Loading
Q5: 如何导入已有的单词列表?

A: 可以手动编辑 daily_words.json 文件:

[
  {
    "word": "serendipity",
    "definition": "意外发现珍奇事物的本领",
    "translation": "意外发现珍奇事物的本领",
    "date_added": "2024-01-15"
  },
  {
    "word": "ephemeral",
    "definition": "短暂的,转瞬即逝的",
    "translation": "短暂的,转瞬即逝的",
    "date_added": "2024-01-15"
  }
]

注意:确保 JSON 格式正确,否则应用可能无法启动。

Q6: 可以自定义主题颜色吗?

A: 当然可以!修改 main.py 中的 QSS 样式表:

# 深色主题配色
QSS = """
#CentralWidget {
    background-color: #1E1E1E;  /* 主背景色 */
    border-radius: 16px; 
}

#ActionBtn {
    background-color: #0A84FF;  /* 按钮颜色 */
    color: white;
}
"""

推荐配色方案

主题 主色 强调色 背景
深蓝 #0A84FF #30D158 #1E1E1E
紫色 #BF5AF2 #64D2FF #1C1C1E
橙色 #FF9F0A #FFD60A #1E1E1E
绿色 #30D158 #32D74B #1E1E1E

🐛 故障排除

Q7: 应用启动后闪退怎么办?

A: 按以下步骤排查:

  1. 查看错误信息
python main.py
# 观察控制台输出的错误信息
  1. 检查数据文件
# 验证 JSON 文件格式
python -m json.tool daily_words.json
  1. 重置数据(如果数据损坏):
# 备份后删除数据文件
copy daily_words.json daily_words_backup.json
del daily_words.json
# 重新启动应用会自动创建新的数据文件
  1. 检查 Python 版本
python --version
# 确保版本 >= 3.8
Q8: 如何卸载应用?

A: 完全卸载步骤:

# 1. 删除项目文件夹
rm -rf LexiLumina

# 2. 删除虚拟环境(如果使用了)
deactivate
rm -rf venv

# 3. 删除数据文件(可选)
rm -rf daily_words.json

# 4. 如果使用了 pip 安装全局包
pip uninstall PyQt5 deep-translator requests

🤝 贡献指南

我们欢迎所有形式的贡献!🎉

🌟 如何贡献

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📋 贡献类型

  • 🐛 Bug 修复:修复已知问题
  • 新功能:添加新的功能特性
  • 📝 文档改进:完善文档和说明
  • 🎨 UI/UX 优化:改进界面和用户体验
  • 性能优化:提升应用性能
  • 🧪 测试:添加测试用例

💡 开发规范

# 代码风格:遵循 PEP 8
# 命名规范:
#   - 类名:PascalCase
#   - 函数/变量:snake_case
#   - 常量:UPPER_CASE

# 示例:
class WordManager:
    def __init__(self):
        self.word_list = []
    
    def add_word(self, word_data):
        pass

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

MIT License

Copyright (c) 2024 LexiLumina Team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

📮 联系我们

如果你喜欢 LexiLumina,请给我们一个 ⭐ Star!

GitHub stars GitHub forks GitHub issues GitHub license


Made with ❤️ by LexiLumina Team

📧 Email🌐 Website📱 Twitter


🎉 开始你的词汇学习之旅吧!

返回顶部快速开始下载应用

让每一个单词都成为你语言能力的基石

About

LexiLumina: 优雅的每日单词伴侣 | An elegant daily word learning companion.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors