Skip to content

nutuzar/nSpell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nSpell: Subtitle Spelling & Grammar Checker

🇬🇧 English | 🇹🇷 Türkçe

nSpell Interface

nSpell is a keyboard-oriented spelling and grammar checking tool designed specifically for .srt subtitle files. It utilizes Microsoft Word's proofreading engine in the background while filtering out many of Word's standard writing rules that are unsuitable for subtitles, including dialogue structure, HTML tags, proper names, and subtitle-specific formatting. This significantly reduces unnecessary warnings and helps translators proofread subtitles much more efficiently.

Features and Capabilities

Microsoft Word Proofreading Engine (COM Integration)

  • Uses the locally installed Microsoft Word proofreading engine through COM automation.
  • Runs Microsoft Word completely invisibly in the background.
  • Automatically switches Word's proofing language (LanguageID) according to the selected target language (Turkish or English).
  • Includes an automatic circuit breaker that safely stops the proofreading process if an incorrect Word proofing language is detected, preventing application freezes.

User Interface & Workflow

  • Keyboard-Oriented Design: Built to minimize mouse usage. Main keyboard shortcuts:
    • Enter → Apply correction
    • Space → Skip
    • F1 → Add to whitelist
    • Ctrl + Z → Undo the last correction
  • Drag & Drop Support: Simply drop an .srt subtitle file onto the application window to begin proofreading without navigating through menus.
  • Context View: Displays the flagged word highlighted in red within its complete subtitle sentence rather than showing the word in isolation.
  • Manual Corrections: You are not limited to Word's suggestions. You can type your own correction into the edit box and apply it directly.
  • Dark Theme: Includes a contrast-optimized Fusion-based dark theme designed to reduce eye strain during long proofreading sessions.

Dynamic and Static Dictionaries

  • TMDB Integration: Searches the TMDB database using the movie or TV series title and automatically retrieves character names to build a temporary whitelist, preventing them from being reported as spelling errors.
  • If web scraping fails, the application can automatically fall back to the TMDB API. Users may optionally provide their own free TMDB API key in the Settings → API section.
  • Geographical Dictionary: Uses the offline geonamescache library to keep country and city names in memory, preventing unnecessary warnings for geographical names.

Subtitle Protection & Synchronization Safety

  • Invisible Markers (Bulletproof Indexing): Inserts numeric markers (for example, [000000]) into every subtitle line before sending it to Word. Since Word ignores these markers, subtitle positions remain accurately synchronized even if Word skips lines or inserts hidden characters during proofreading.
  • HTML Protection: Temporarily removes HTML tags such as <i> and <b> before proofreading and restores them to their original positions after all corrections have been applied.
  • Format Cleanup: Automatically removes Windows carriage-return (\r) accumulation and line-spacing issues when loading subtitle files, then saves the corrected subtitles as clean UTF-8 text.

Smart Filters

  • Apostrophe Hook: Solves Word's tendency to flag only the suffix of apostrophe-separated words as incorrect. It detects the preceding apostrophe, validates the root word against the whitelist, and suppresses unnecessary warnings.
  • Duplicate Word Protection: Automatically ignores Word's repeated-word warnings (such as very very, slowly slowly, or similar dialogue repetitions) whenever no punctuation appears between the repeated words, treating them as natural spoken dialogue.
  • Circumflex Option: Optionally ignores suggestions where the only difference is the presence of a circumflex character (for example, hala vs. hâlâ), allowing users to choose whether such corrections should be considered.

⚠️ System Requirements & Prerequisites

  • Microsoft Word Required: A locally installed desktop version of Microsoft Word is required. Word Online and web versions are not supported.
  • Proofing Tools: Microsoft Word Proofing Tools (Spelling & Grammar) for the language being checked (Turkish and/or English) must be installed. Otherwise, Word will treat every word as misspelled, preventing the application from functioning correctly.
  • Dependencies (Source Code):
    • PyQt6
    • pywin32
    • pysrt
    • geonamescache
    • beautifulsoup4
    • curl_cffi (or requests)

About

A keyboard-driven spelling and grammar checker for .srt subtitles. Powered by the MS Word COM engine, it features smart filters for HTML tags, TMDB character names, and natural dialogue flow to streamline translation workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages