Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,12 @@ Either way, the app keeps itself up to date via Sparkle.
restart: English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español,
Português, Русский.
- **24-hour activation log** — review what was switched, why, and for how long.
- **Config backup** — export your per-app and per-URL rules to a `.lockime`
file and import them back, with a review step that previews additions,
conflicts, and removals before anything is applied.
- **Auto-update** — stable and beta channels via Sparkle, with a custom update
window.
- **Tiny download** — the whole app ships in a `.dmg` under 3 MB.
- **No system permissions for core locking** — an optional Accessibility-gated
enhanced mode unlocks finer-grained per-URL and focused-field rules.

Expand Down Expand Up @@ -128,7 +132,7 @@ each on its own update feed (no universal binary, no cross-arch updates). See
frameworks: lock engine, app monitor, rules, enhanced (Accessibility) observer,
logging model, localization.
- **LockIME** (app) — `@main`, SwiftUI UI, the design system, and the thin
integration shims for Sparkle, KeyboardShortcuts, PermissionFlow, and MarkdownUI.
integration shims for Sparkle, KeyboardShortcuts, and PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ Oder lade die zu deinem Mac passende `.dmg`-Datei (`-arm64` für Apple silicon,
- **Heller & dunkler Modus** — eine einheitliche, systemnative Designsprache, die sich an helles und dunkles Erscheinungsbild anpasst, plus ein maßgeschneidertes App-Symbol. Siehe [docs/DESIGN.md](../DESIGN.md).
- **Sprachwechsel zur Laufzeit** — wechsle sofort zwischen 9 Sprachen, ohne Neustart: English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español, Português, Русский.
- **24-Stunden-Aktivitätsprotokoll** — sieh nach, was warum und wie lange zurückgeschaltet wurde.
- **Konfigurations-Backup** — exportiere deine Regeln pro App und pro URL in eine `.lockime`-Datei und importiere sie wieder, mit einem Vorschau-Schritt, der Ergänzungen, Konflikte und Entfernungen auflistet, bevor etwas angewendet wird.
- **Automatische Updates** — Stable- und Beta-Kanal via Sparkle, mit einem eigenen Update-Fenster.
- **Winziger Download** — die gesamte App steckt in einer `.dmg` unter 3 MB.
- **Keine Systemberechtigungen für das Kern-Sperren** — ein optionaler, über Accessibility freigeschalteter erweiterter Modus ermöglicht feinere Regeln pro URL und pro fokussiertem Feld.

## Design
Expand Down Expand Up @@ -93,7 +95,7 @@ Dispatch-gesteuerte, notarisierte Developer-ID-Releases mit Sparkle-Auto-Update
## Architecture

- **LockIMEKit** (statische Bibliothek) — reine, vollständig unit-getestete Logik, die nur Systemframeworks nutzt: Sperr-Engine, App-Monitor, Regeln, erweiterter (Accessibility-)Beobachter, Protokollmodell, Lokalisierung.
- **LockIME** (App) — `@main`, die SwiftUI-Oberfläche, das Designsystem und die dünnen Integrationsschichten für Sparkle, KeyboardShortcuts, PermissionFlow und MarkdownUI.
- **LockIME** (App) — `@main`, die SwiftUI-Oberfläche, das Designsystem und die dünnen Integrationsschichten für Sparkle, KeyboardShortcuts und PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ En cualquier caso, la aplicación se mantiene actualizada mediante Sparkle.
- **Modo claro y oscuro** — un lenguaje de diseño unificado y nativo del sistema que se adapta a la apariencia clara y oscura, además de un icono de aplicación a medida. Ver [docs/DESIGN.md](../DESIGN.md).
- **Cambio de idioma en vivo** — cambia al instante entre 9 idiomas, sin reiniciar: English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español, Português, Русский.
- **Registro de activaciones de 24 horas** — revisa qué se cambió, por qué y durante cuánto tiempo.
- **Copia de seguridad de la configuración** — exporta tus reglas por aplicación y por URL a un archivo `.lockime` e impórtalas de vuelta, con un paso de previsualización que muestra las adiciones, los conflictos y las eliminaciones antes de aplicar nada.
- **Actualización automática** — canales stable y beta mediante Sparkle, con una ventana de actualización personalizada.
- **Descarga diminuta** — toda la aplicación cabe en un `.dmg` de menos de 3 MB.
- **Sin permisos del sistema para el bloqueo básico** — un modo mejorado opcional, protegido por Accessibility, desbloquea reglas más finas por URL y por campo con el foco.

## Design
Expand Down Expand Up @@ -97,7 +99,7 @@ Versiones Developer ID notarizadas y dirigidas por dispatch, con actualización
## Architecture

- **LockIMEKit** (biblioteca estática) — lógica pura, totalmente cubierta por pruebas unitarias, que solo usa frameworks del sistema: motor de bloqueo, monitor de aplicaciones, reglas, observador mejorado (Accessibility), modelo de registro, localización.
- **LockIME** (aplicación) — `@main`, la interfaz SwiftUI, el sistema de diseño y las finas capas de integración para Sparkle, KeyboardShortcuts, PermissionFlow y MarkdownUI.
- **LockIME** (aplicación) — `@main`, la interfaz SwiftUI, el sistema de diseño y las finas capas de integración para Sparkle, KeyboardShortcuts y PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ Ou téléchargez le `.dmg` correspondant à votre Mac (`-arm64` pour Apple silic
- **Mode clair et sombre** — un langage de design unifié et natif du système, qui s'adapte aux apparences claire et sombre, avec une icône d'application sur mesure. Voir [docs/DESIGN.md](../DESIGN.md).
- **Changement de langue à chaud** — basculez instantanément entre 9 langues, sans redémarrage : English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español, Português, Русский.
- **Journal d'activation sur 24 heures** — consultez ce qui a été rebasculé, pourquoi, et pendant combien de temps.
- **Sauvegarde de la configuration** — exportez vos règles par application et par URL dans un fichier `.lockime`, puis réimportez-les, avec une étape de prévisualisation qui liste les ajouts, les conflits et les suppressions avant toute application.
- **Mise à jour automatique** — canaux stable et beta via Sparkle, avec une fenêtre de mise à jour personnalisée.
- **Téléchargement minuscule** — toute l'application tient dans un `.dmg` de moins de 3 MB.
- **Aucune permission système pour le verrouillage de base** — un mode renforcé optionnel, soumis à l'autorisation Accessibility, débloque des règles plus fines par URL et par champ ayant le focus.

## Design
Expand Down Expand Up @@ -93,7 +95,7 @@ Des versions Developer ID notariées, pilotées par dispatch, avec mise à jour
## Architecture

- **LockIMEKit** (bibliothèque statique) — logique pure, entièrement couverte par des tests unitaires, n'utilisant que les frameworks système : moteur de verrouillage, moniteur d'applications, règles, observateur renforcé (Accessibility), modèle de journalisation, localisation.
- **LockIME** (application) — `@main`, l'interface SwiftUI, le système de design, et les fines couches d'intégration pour Sparkle, KeyboardShortcuts, PermissionFlow et MarkdownUI.
- **LockIME** (application) — `@main`, l'interface SwiftUI, le système de design, et les fines couches d'intégration pour Sparkle, KeyboardShortcuts et PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ brew install --cask oomol-lab/tap/lockime
- **ライト & ダークモード**——ライト/ダーク外観に適応する、統一されたシステムネイティブなデザイン言語と、専用のアプリアイコン。[docs/DESIGN.md](../DESIGN.md) を参照。
- **ライブ言語切り替え**——9 言語を再起動なしで即座に切り替え:English、简体中文、繁體中文、日本語、Français、Deutsch、Español、Português、Русский。
- **24 時間の作動ログ**——何が、なぜ、どれだけの時間切り替えられたかを確認できます。
- **設定のバックアップ**——アプリごと・URL ごとのルールを `.lockime` ファイルに書き出し、また読み込めます。読み込み前にはプレビュー画面で、追加・競合・削除を確認してから適用します。
- **自動アップデート**——Sparkle による stable / beta の 2 チャンネルと、カスタムアップデートウィンドウ。
- **小さなダウンロード**——アプリ全体が 3 MB 未満の `.dmg` に収まります。
- **コアのロックにシステム権限は不要**——オプションの Accessibility 権限付き拡張モードで、より細かい URL ごと / フォーカス中フィールドごとのルールが使えます。

## Design
Expand Down Expand Up @@ -93,7 +95,7 @@ dispatch 駆動の、公証済み Developer ID リリース。Sparkle による
## Architecture

- **LockIMEKit**(静的ライブラリ)——システムフレームワークのみを使う、純粋で完全に単体テストされたロジック:ロックエンジン、アプリモニター、ルール、拡張(Accessibility)オブザーバー、ログモデル、ローカリゼーション。
- **LockIME**(アプリ)——`@main`、SwiftUI の UI、デザインシステム、そして Sparkle・KeyboardShortcuts・PermissionFlow・MarkdownUI 向けの薄い統合シム。
- **LockIME**(アプリ)——`@main`、SwiftUI の UI、デザインシステム、そして Sparkle・KeyboardShortcuts・PermissionFlow 向けの薄い統合シム。

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.pt.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ De qualquer forma, o app se mantém atualizado sozinho via Sparkle.
- **Modo claro e escuro** — uma linguagem de design unificada e nativa do sistema, que se adapta às aparências clara e escura, além de um ícone de app sob medida. Veja [docs/DESIGN.md](../DESIGN.md).
- **Troca de idioma ao vivo** — alterne instantaneamente entre 9 idiomas, sem reiniciar: English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español, Português, Русский.
- **Registro de ativações de 24 horas** — veja o que foi trocado, por quê e por quanto tempo.
- **Backup da configuração** — exporte suas regras por app e por URL para um arquivo `.lockime` e importe-as de volta, com uma etapa de prévia que lista adições, conflitos e remoções antes de aplicar qualquer coisa.
- **Atualização automática** — canais stable e beta via Sparkle, com uma janela de atualização personalizada.
- **Download minúsculo** — o app inteiro cabe em um `.dmg` com menos de 3 MB.
- **Sem permissões do sistema para o bloqueio básico** — um modo aprimorado opcional, condicionado à permissão de Accessibility, libera regras mais finas por URL e por campo em foco.

## Design
Expand Down Expand Up @@ -97,7 +99,7 @@ Lançamentos Developer ID notarizados e acionados por dispatch, com atualizaçã
## Architecture

- **LockIMEKit** (biblioteca estática) — lógica pura, totalmente coberta por testes unitários, usando apenas frameworks do sistema: motor de bloqueio, monitor de apps, regras, observador aprimorado (Accessibility), modelo de registro, localização.
- **LockIME** (app) — `@main`, a interface SwiftUI, o sistema de design e as finas camadas de integração para Sparkle, KeyboardShortcuts, PermissionFlow e MarkdownUI.
- **LockIME** (app) — `@main`, a interface SwiftUI, o sistema de design e as finas camadas de integração para Sparkle, KeyboardShortcuts e PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ brew install --cask oomol-lab/tap/lockime
- **Светлая и тёмная темы** — единый, нативный для системы язык дизайна, адаптирующийся к светлому и тёмному оформлению, плюс фирменная иконка приложения. См. [docs/DESIGN.md](../DESIGN.md).
- **Смена языка на лету** — мгновенно переключайтесь между 9 языками без перезапуска: English, 简体中文, 繁體中文, 日本語, Français, Deutsch, Español, Português, Русский.
- **Журнал срабатываний за 24 часа** — смотрите, что было переключено, почему и как долго.
- **Резервная копия конфигурации** — экспортируйте правила для приложений и для URL в файл `.lockime` и импортируйте их обратно; перед применением шаг предпросмотра покажет добавления, конфликты и удаления.
- **Автообновление** — каналы stable и beta через Sparkle, с собственным окном обновления.
- **Крошечная загрузка** — всё приложение помещается в `.dmg` размером менее 3 MB.
- **Базовая блокировка не требует системных разрешений** — дополнительный расширенный режим, защищённый разрешением Accessibility, открывает более тонкие правила для URL и поля с фокусом.

## Design
Expand Down Expand Up @@ -93,7 +95,7 @@ make archive # Release archive (Developer ID)
## Architecture

- **LockIMEKit** (статическая библиотека) — чистая, полностью покрытая модульными тестами логика, использующая только системные фреймворки: движок блокировки, монитор приложений, правила, расширенный (Accessibility) наблюдатель, модель журнала, локализация.
- **LockIME** (приложение) — `@main`, интерфейс на SwiftUI, система дизайна и тонкие интеграционные прослойки для Sparkle, KeyboardShortcuts, PermissionFlow и MarkdownUI.
- **LockIME** (приложение) — `@main`, интерфейс на SwiftUI, система дизайна и тонкие интеграционные прослойки для Sparkle, KeyboardShortcuts и PermissionFlow.

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ Mac 匹配的 `.dmg`(Apple silicon 选 `-arm64`,Intel 选 `-x86_64`)。
- **浅色 / 深色模式**——统一的、系统原生的设计语言,自动适配浅色与深色外观,并配有定制应用图标。参见 [docs/DESIGN.md](../DESIGN.md)。
- **实时语言切换**——在 9 种语言间即时切换,无需重启:English、简体中文、繁體中文、日本語、Français、Deutsch、Español、Português、Русский。
- **24 小时激活日志**——回顾切换了什么、为什么、持续了多久。
- **配置备份**——把按应用和按 URL 的规则导出为 `.lockime` 文件,再导入回来;导入前会有一个预览步骤,先列出新增、冲突与移除项,确认后再应用。
- **通过 Sparkle 自动更新**——stable 与 beta 两个通道,配有自定义更新窗口。
- **超小体积**——整个应用打包成不到 3 MB 的 `.dmg`。
- **核心锁定无需系统权限**——可选的、受 Accessibility 把关的增强模式可解锁更细粒度的按 URL / 聚焦字段规则。

## Design
Expand Down Expand Up @@ -96,7 +98,7 @@ Xcode 项目由 `project.yml` 生成,不纳入版本控制。
## Architecture

- **LockIMEKit**(静态库)——纯粹的、经过完整单元测试的逻辑,仅使用系统框架:锁定引擎、应用监视器、规则、增强(Accessibility)观察器、日志模型、本地化。
- **LockIME**(应用)——`@main`、SwiftUI UI、设计系统,以及面向 Sparkle、KeyboardShortcuts、PermissionFlowMarkdownUI 的轻量集成适配层。
- **LockIME**(应用)——`@main`、SwiftUI UI、设计系统,以及面向 Sparkle、KeyboardShortcuts 和 PermissionFlow 的轻量集成适配层。

## License

Expand Down
4 changes: 3 additions & 1 deletion docs/README/README.zh-TW.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ brew install --cask oomol-lab/tap/lockime
- **淺色 / 深色模式**——統一的、系統原生的設計語言,自動適應淺色與深色外觀,並配有專屬應用程式圖示。參見 [docs/DESIGN.md](../DESIGN.md)。
- **即時語言切換**——在 9 種語言間即時切換,無需重新啟動:English、简体中文、繁體中文、日本語、Français、Deutsch、Español、Português、Русский。
- **24 小時觸發記錄**——回顧切換了什麼、為什麼、持續了多久。
- **設定備份**——把依應用程式與依 URL 的規則匯出為 `.lockime` 檔案,再匯入回來;匯入前會有一個預覽步驟,先列出新增、衝突與移除項,確認後再套用。
- **透過 Sparkle 自動更新**——stable 與 beta 兩個頻道,配有自訂更新視窗。
- **超小體積**——整個應用程式打包成不到 3 MB 的 `.dmg`。
- **核心鎖定無需系統權限**——可選的、由 Accessibility 把關的增強模式可解鎖更細緻的依 URL / 聚焦欄位規則。

## Design
Expand Down Expand Up @@ -93,7 +95,7 @@ Xcode 專案由 `project.yml` 產生,不納入版本控制。
## Architecture

- **LockIMEKit**(靜態程式庫)——純粹的、經過完整單元測試的邏輯,僅使用系統框架:鎖定引擎、應用程式監視器、規則、增強(Accessibility)觀察器、記錄模型、在地化。
- **LockIME**(應用程式)——`@main`、SwiftUI UI、設計系統,以及面向 Sparkle、KeyboardShortcuts、PermissionFlowMarkdownUI 的輕量整合介面層。
- **LockIME**(應用程式)——`@main`、SwiftUI UI、設計系統,以及面向 Sparkle、KeyboardShortcuts 和 PermissionFlow 的輕量整合介面層。

## License

Expand Down
Loading