Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IELTS Studio

一个面向 macOS 的雅思精读与写作积累工具。它不把阅读句子拆成孤立的单词,而是保留整句和原始语境,帮助学习者记录翻译、重点表达、题型错因和写作中的可复用句式。

项目使用 SwiftUI 和 Swift Package Manager,无第三方依赖,数据默认只保存在本机。

功能

阅读精读

  • 粘贴雅思阅读原文,自动拆分为句子。
  • 保存整句,并自动保留所在段落作为上下文。
  • 为整句添加翻译。
  • 主窗口采用左录入、右当前句子的双栏布局,避免页面随着记录增加而无限变长。
  • 阅读句库通过独立的 macOS 窗口打开,主页面只保留常用入口。
  • 句库中的句子默认折叠,只显示原句、来源和日期;展开后再显示翻译、重点表达和上下文。
  • 单独添加词、短语或框架表达,并在原句中使用黄色块高亮。
  • 重点表达添加后自动收起,需要修改时可再次展开。
  • 支持常见词形和短语模板匹配,例如:
    • be geared toward sth 可以匹配 was rigorously geared toward
    • geargearedgearing 可以互相匹配
    • rigorousrigorously 可以互相匹配
  • 提供随机回看,可隐藏或显示翻译、重点表达和上下文。
  • 记录阅读错题,包括题型、我的答案、正确答案、来源和错因。
  • 用来复盘 Y/N/NG、T/F/NG、Heading、Matching 等题型的判断问题。
  • 删除句子、重点表达和错题前都会先要求确认。

写作积累

  • 粘贴优秀雅思范文,自动拆分为句子。

  • 保存整句和原始语境。

  • 主窗口采用左录入、右当前句子的双栏布局。

  • 写作句库通过独立的 macOS 窗口打开,句子默认折叠。

  • 为句子记录可复用句型或结构,例如:

    time + saw/witnessed + extent + change in subject
    
  • 在句子中标记并高亮可复用表达,例如:

    The years between 1999 and 2009 saw a significant hike in China's GDP.
    
  • 建立独立的表达库,记录:

    • 程度词,例如 subsequently
    • 变化动词,例如 jumpsurgesoarpeak atreach
    • 数字替换,例如 20% = a fifth
  • 记录写作错题,包括错误类型、原句、改正、来源和原因。

  • 适合复盘时态、主谓一致、搭配、词汇、句式、拼写和连贯问题。

  • 表达库和写作错题区域限制显示高度,避免主页面持续向下增长。

  • 删除写作句子、表达和错题前都会先要求确认。

数据与隐私

  • 不要求登录。

  • 不访问网络。

  • 不接入云服务。

  • 不上传学习内容。

  • 数据保存在:

    ~/Library/Application Support/IELTSStudio/data.json
    

删除应用不会自动删除这份数据;需要清理时手动删除上述目录。

运行

环境要求

  • macOS 13 或更高版本
  • Xcode 15 或兼容的完整 Xcode 工具链
  • Swift 5.8 或更高版本

使用 Xcode

git clone <your-repository-url>
cd IELTSStudio
open Package.swift

选择 IELTSStudio scheme 后运行。

使用命令行

先确认命令行工具指向完整的 Xcode:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
swift run

如果只安装了 Command Line Tools,SwiftPM 可能报错:

unable to lookup item 'PlatformPath' from command line tools installation

这种情况下安装完整 Xcode,并重新执行 xcode-select

构建两个 App 位置

项目可以把同一份源码同步构建到:

  • outputs/IELTSStudio.app
  • ~/Desktop/IELTSStudio.app

执行:

./scripts/build-both-apps.sh

更完整的构建说明见 BUILDING.md

项目结构

.
├── Package.swift
├── README.md
├── BUILDING.md
├── Packaging
│   └── Info.plist
├── scripts
│   ├── build-macos-app.sh
│   └── build-both-apps.sh
└── Sources
    └── IELTSStudio
        ├── IELTSStudioApp.swift
        ├── ContentView.swift
        ├── Models.swift
        ├── Store.swift
        ├── TextProcessing.swift
        ├── Highlighting.swift
        ├── Components.swift
        ├── ReadingView.swift
        └── WritingView.swift

主要模块:

  • Models.swift:阅读、写作、表达和错题的数据模型。
  • Store.swift:本地 JSON 读写和应用状态。
  • TextProcessing.swift:段落与句子拆分。
  • Highlighting.swift:短语模板、词形变化和句中高亮。
  • ReadingView.swift:阅读录入、当前句子、独立阅读句库与阅读错题。
  • WritingView.swift:范文录入、当前句子、独立写作句库、表达库与写作错题。
  • scripts/build-both-apps.sh:一次构建并更新两个 App 位置。

当前状态

这是一个可继续开发和发布的早期 macOS 版本。核心数据模型和界面已经建立,代码结构适合继续补充以下能力:

  • 导出和导入 JSON 备份。
  • macOS 菜单栏快捷录入。
  • 基于复习记录的间隔重复。
  • iCloud 或用户自选文件夹同步。
  • IELTS 题型与写作错误统计。
  • 屏幕取词或剪贴板快速收集。
  • 签名、公证和 .dmg 发布流程。

开发原则

  • 优先保留完整语境,不把句子退化为孤立单词表。
  • 本地优先,学习数据默认不离开设备。
  • 用小而清楚的功能解决具体复习问题。
  • 不为了功能数量增加不必要的账号、服务或依赖。

About

本地优先的 macOS 雅思精读与写作积累工具:保存整句和上下文,记录翻译、重点表达、错题与可复用句型。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages