[{"data":1,"prerenderedAt":219},["ShallowReactive",2],{"repo-dvdmaru-kandong-en":3,"i18n-dvdmaru-kandong-en":216},{"mirrorPool":4,"detail":13,"relatedProjects":106},[5,9],{"key":6,"label":7,"base":8,"type":6},"github","mirror.github","https:\u002F\u002Fgithub.com\u002F",{"key":10,"label":11,"base":12,"type":10},"auto-proxy","mirror.autoProxy","https:\u002F\u002Fgithub.xxlab.tech\u002F",{"owner":14,"repo":15,"repoId":16,"repoUrl":17,"starCount":18,"language":19,"description":20,"languages":21,"screenshots":30,"homepage":31,"pushedAt":32,"ownerAvatar":33,"ownerName":34,"ownerBio":34,"lastSyncTime":35,"lastReleaseTime":36,"tags":37,"license":45,"category":46,"subgroup":47,"releases":48},"dvdmaru","kandong",1432239366,"https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong",0,"Lua","看懂 KanDong：邊播邊翻譯字幕的影片播放器（mpv＋本機或雲端 AI 翻譯，台灣繁中）",{"Lua":22,"Python":23,"HTML":24,"Shell":25,"PowerShell":26,"CSS":27,"JavaScript":28,"Batchfile":29},29.8,25.7,25.6,8.6,5.9,2.4,1.7,0.1,[],"https:\u002F\u002Fkandong.twtools.cc","2026-11-12","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16411087?v=4","","2026-11-12T18:38:24.962105+00:00","2026-11-12T00:19:22Z",[38,39,40,41,42,43,44],"llama-cpp","mpv","subtitles","traditional-chinese","translation","video-player","whisper","MIT","tools","视频播放器",[49,66,80,93],{"tag":50,"publishAt":36,"semVer":51,"prerelease":53,"assets":54},"v0.4.0",[18,52,18],4,false,[55,61],{"fileName":56,"sizeMb":57,"sha256":58,"downloadCount":59,"originUrl":60},"KanDong-mac.zip",7.87,"5ce9342e76db65a4e3046da71d9b04426f958a6b7598090e992e4943ed4d2143",2,"https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.4.0\u002FKanDong-mac.zip",{"fileName":62,"sizeMb":63,"sha256":64,"downloadCount":59,"originUrl":65},"KanDong-windows-x64.zip",139.45,"e9db70db51b582f11fd9598ce57f9c04d58e2c1572fe84fd476888b5ba5c3d41","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.4.0\u002FKanDong-windows-x64.zip",{"tag":67,"publishAt":68,"semVer":69,"prerelease":53,"assets":71},"v0.3.0","2026-11-01T04:56:12Z",[18,70,18],3,[72,76],{"fileName":56,"sizeMb":73,"sha256":74,"downloadCount":70,"originUrl":75},7.86,"1b146dff63cc6fa2bccc6d10adef95384dca9e09fb82c8ce9dac68efb2be13bf","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.3.0\u002FKanDong-mac.zip",{"fileName":62,"sizeMb":77,"sha256":78,"downloadCount":52,"originUrl":79},139.44,"e9c78bb70b0b10ba5faa9806997a6817c5d68af321d1860c4c04e372736b98ad","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.3.0\u002FKanDong-windows-x64.zip",{"tag":81,"publishAt":82,"semVer":83,"prerelease":53,"assets":84},"v0.2.0","2026-10-24T15:03:55Z",[18,59,18],[85,89],{"fileName":56,"sizeMb":86,"sha256":87,"downloadCount":70,"originUrl":88},7.84,"3cccc06d56222906cb4d9097e7bb33e652a816214d38d7451a980a7cf8a3068f","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.2.0\u002FKanDong-mac.zip",{"fileName":62,"sizeMb":90,"sha256":91,"downloadCount":70,"originUrl":92},139.42,"f5226f4e48f0809563aad0e4256e2a43fdce97ea25084b029bfc57d4beb766ff","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.2.0\u002FKanDong-windows-x64.zip",{"tag":94,"publishAt":95,"semVer":96,"prerelease":53,"assets":98},"v0.1.0","2026-10-24T14:15:28Z",[18,97,18],1,[99,102],{"fileName":56,"sizeMb":86,"sha256":100,"downloadCount":59,"originUrl":101},"7fb86ba02c0e3185b62938825d84dad9225aeb04d3dfeaf25541c29bb8f3921c","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FKanDong-mac.zip",{"fileName":62,"sizeMb":103,"sha256":104,"downloadCount":70,"originUrl":105},101.14,"700c226091c49e416687ce97d0b3e420a89fbb96a79cd7f3a436e67c6e3a196f","https:\u002F\u002Fgithub.com\u002Fdvdmaru\u002Fkandong\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FKanDong-windows-x64.zip",[107,125,147,165,183,202],{"owner":108,"repo":108,"repoId":109,"category":110,"subgroup":47,"language":111,"tags":112,"starCount":117,"ownerUid":118,"latestTag":119,"platforms":120,"lastReleaseTime":122,"downloadCount":123,"description":124},"iina",76838017,"media","Swift",[113,114,39,115,116,43],"hacktoberfest","macos","swift","video",47028,35151645,"v1.5.1",[121],"mac","2026-11-06T02:12:25Z",1996,"The modern video player for macOS, built on mpv and designed for macOS 11.0 and above, offering rich video and music playback features.",{"owner":126,"repo":127,"repoId":128,"category":110,"subgroup":47,"language":129,"tags":130,"starCount":140,"ownerUid":141,"latestTag":142,"platforms":143,"lastReleaseTime":144,"downloadCount":145,"description":146},"TeamNewPipe","NewPipe",41889031,"Java",[131,132,133,134,135,136,137,42,116,138,139],"4k","android","bandcamp","download-videos","newpipe","peertube","soundcloud","watch","youtube-video",40559,22159318,"v0.29.3",[132],"2026-11-10T09:52:10Z",12521,"A libre, lightweight streaming front-end for Android that allows ad-free viewing of videos and music from YouTube, YouTube Music, PeerTube, and other services.",{"owner":148,"repo":39,"repoId":149,"category":110,"subgroup":47,"language":150,"tags":151,"starCount":157,"ownerUid":158,"latestTag":159,"platforms":160,"lastReleaseTime":162,"downloadCount":163,"description":164},"mpv-player",6201092,"C",[152,153,154,155,39,156,116],"audio","c","ffmpeg","mplayer","multimedia",37732,2550273,"v0.42.0",[161,121],"windows","2026-11-05T00:56:42Z",2348,"A free and open-source, lightweight command-line media player that supports a wide variety of file formats, audio\u002Fvideo codecs, and subtitle types, with a focus on performance and customizability.",{"owner":166,"repo":167,"repoId":168,"category":110,"subgroup":47,"language":129,"tags":169,"starCount":176,"ownerUid":177,"latestTag":178,"platforms":179,"lastReleaseTime":180,"downloadCount":181,"description":182},"yuliskov","SmartTube",283211901,[132,170,171,172,173,174,175],"android-tv","android-tv-box","java","kotlin","retrofit2","rxjava-android",36241,5897464,"32.74",[132],"2026-11-12T06:02:11Z",2938,"An open-source media client for Android TV with SponsorBlock, 8K support, and a TV-optimized interface.",{"owner":184,"repo":185,"repoId":186,"category":110,"subgroup":47,"language":187,"tags":188,"starCount":194,"ownerUid":195,"latestTag":196,"platforms":197,"lastReleaseTime":199,"downloadCount":200,"description":201},"FreeTubeApp","FreeTube",123220152,"Vue",[189,190,191,116,192,193],"freetube","privacy","subscriptions","videos","youtube",22296,35975737,"v0.26.0-beta",[161,121,198],"linux","2026-11-02T08:37:57Z",21364,"An open-source desktop YouTube player built with privacy in mind, featuring no ads and no Google tracking.",{"owner":203,"repo":204,"repoId":205,"category":110,"subgroup":47,"language":206,"tags":207,"starCount":208,"ownerUid":209,"latestTag":210,"platforms":211,"lastReleaseTime":213,"downloadCount":214,"description":215},"clsid2","mpc-hc",91570348,"C++",[],16142,4704996,"2.8.5.14",[161,212],"other","2026-11-08T21:09:04Z",3132,"A free and open-source video and audio player for Windows, known for its simple and effective user interface, extensive features, and support for third-party filter extensibility.",{"description":217,"readmeHtml":218},"KanDong is an mpv-based desktop video player that adds Traditional Chinese translations beneath existing subtitles and transcribes subtitle-less films locally before translating them.","\u003Ch2 id=\"project-overview\">Project Overview\u003C\u002Fh2>\u003Cp>KanDong is maintained by developer dvdmaru as an mpv-based player front end focused on Traditional Chinese dual subtitles. For foreign-language films it appends a Traditional Chinese translation under the original subtitle line; when a film has no subtitles at all, whisper.cpp transcribes the audio track first and the same pipeline translates it. Translation and speech recognition both run locally, nothing is uploaded, and the repository ships no video content and downloads no subtitles.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Item\u003C\u002Fth>\n\u003Cth>Value\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Platform\u003C\u002Ftd>\n\u003Ctd>Windows 10\u002F11 64-bit, macOS (Apple silicon)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Playback engine\u003C\u002Ftd>\n\u003Ctd>mpv + uosc 5.13.0\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Translation models\u003C\u002Ftd>\n\u003Ctd>Hy-MT2 7B (about 4.6GB) or 1.8B (about 1.1GB)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Current version\u003C\u002Ftd>\n\u003Ctd>0.3.0\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>License\u003C\u002Ftd>\n\u003Ctd>MIT\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cblockquote>\n\u003Cp>The film plays as usual while the subtitles quietly turn into a language you read.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"key-features\">Key Features\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Dual subtitles\u003C\u002Fstrong>: \u003Ccode>.srt\u003C\u002Fcode>, \u003Ccode>.ass\u003C\u002Fcode> and \u003Ccode>.vtt\u003C\u002Fcode> sidecar files or embedded mkv text tracks all get a translated line underneath\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whole-film pre-translation\u003C\u002Fstrong>: the entire subtitle file is translated before playback, so you never wait line by line\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Transcription when subtitles are missing\u003C\u002Fstrong>: whisper.cpp turns the audio into subtitles that feed the same translation flow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation cache\u003C\u002Fstrong>: results land next to the video as \u003Ccode>name.ft.zh-TW.json\u003C\u002Fcode> and \u003Ccode>name.srt\u003C\u002Fcode>, so rewatching costs nothing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Taiwanese phrasing\u003C\u002Fstrong>: prompts are tuned for Traditional Chinese as used in Taiwan, preferring idiomatic renderings of slang and sports terms\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Model management\u003C\u002Fstrong>: right-click, then Settings, then Translation model and server, to download, switch, or point at your own GGUF\u003C\u002Fli>\n\u003Cli>\u003Cstrong>External translation service\u003C\u002Fstrong>: connect to Ollama, LM Studio or an OpenAI-compatible endpoint on another machine\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"playback-and-controls\">Playback and Controls\u003C\u002Fh2>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Control\u003C\u002Fth>\n\u003Cth>Action\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Right click\u003C\u002Ftd>\n\u003Ctd>Playback, subtitle, audio, translation, speed and settings menus\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Ctrl+t\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Toggle translation on or off\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Left\u003C\u002Fcode> \u002F \u003Ccode>Right\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Seek back or forward 5 seconds, 30 seconds with \u003Ccode>Shift\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>1\u003C\u002Fcode>-\u003Ccode>5\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Speed 0.5x \u002F 1x \u002F 1.5x \u002F 2x \u002F 3x\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>D\u003C\u002Fcode> \u002F \u003Ccode>A\u003C\u002Fcode> \u002F \u003Ccode>S\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Speed up 10% \u002F slow down 10% \u002F back to 1x\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Up\u003C\u002Fcode> \u002F \u003Ccode>Down\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Volume plus or minus 5%\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>v\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Hide the original line and keep only the translation\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Space \u002F \u003Ccode>f\u003C\u002Fcode> \u002F \u003Ccode>q\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Pause \u002F full screen \u002F quit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"models-and-translation-service\">Models and Translation Service\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Built-in downloads\u003C\u002Fstrong>: 7B, 1.8B and Whisper large-v3-turbo (q5_0, about 574MB) download inside the player with resume and SHA256 checks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Model discovery\u003C\u002Fstrong>: the \u003Ccode>models\u003C\u002Fcode> folder, \u003Ccode>~\u002F.cache\u002Fkandong\u002Fmodels\u003C\u002Fcode> and LM Studio&#39;s model directory are listed automatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local endpoint\u003C\u002Fstrong>: subtitles go to \u003Ccode>\u002Fv1\u002Fchat\u002Fcompletions\u003C\u002Fcode> on \u003Ccode>http:\u002F\u002F127.0.0.1:8080\u003C\u002Fcode>, with llama.cpp started by \u003Ccode>server\u002Fstart-translate-server.sh\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shared models\u003C\u002Fstrong>: speech models live in \u003Ccode>~\u002F.cache\u002Ftwtools\u002Fmodels\u002F\u003C\u002Fcode> and are shared with the offline Echoic tool instead of downloaded twice\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Persisted settings\u003C\u002Fstrong>: the chosen model is stored in \u003Ccode>script-opts\u002Fkandong_settings.conf\u003C\u002Fcode>, the server address in \u003Ccode>floattranslate.conf\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"target-audience\">Target Audience\u003C\u002Fh2>\u003Cul>\n\u003Cli>Frequent foreign-film viewers who need Traditional Chinese subtitles\u003C\u002Fli>\n\u003Cli>People with subtitle-less releases who still want to follow the plot\u003C\u002Fli>\n\u003Cli>mpv users who would rather not hand-write configs\u003C\u002Fli>\n\u003Cli>Viewers who care about privacy and will not upload subtitles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"quick-start\">Quick Start\u003C\u002Fh2>\u003Col>\n\u003Cli>Extract \u003Ccode>KanDong-windows-x64.zip\u003C\u002Fcode> or \u003Ccode>KanDong-mac.zip\u003C\u002Fcode>; on macOS first run \u003Ccode>brew install mpv ffmpeg llama.cpp whisper-cpp\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Double-click KanDong (KanDong.command on macOS); the launcher starts the translation engine before the player\u003C\u002Fli>\n\u003Cli>Right-click, open Settings, then Translation model and server, and click Download; this first step is required\u003C\u002Fli>\n\u003Cli>Drag a video into the player window; films with text subtitles are translated in full before playback\u003C\u002Fli>\n\u003Cli>For subtitle-less films, place a Whisper model in \u003Ccode>models\u003C\u002Fcode> or the shared folder and transcription starts automatically\u003C\u002Fli>\n\u003Cli>If the server runs elsewhere, choose the external server option, enter the URL and API key, and the player tests one line before switching\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"system-requirements\">System Requirements\u003C\u002Fh2>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Item\u003C\u002Fth>\n\u003Cth>Requirement\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>OS\u003C\u002Ftd>\n\u003Ctd>Windows 10\u002F11 64-bit; macOS on Apple silicon\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Memory\u003C\u002Ftd>\n\u003Ctd>16GB or more for the 7B model, about 8GB for 1.8B\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Disk\u003C\u002Ftd>\n\u003Ctd>574MB to 4.6GB for models, plus room for translated subtitle files\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Runtime\u003C\u002Ftd>\n\u003Ctd>The Windows bundle includes mpv, FFmpeg, llama.cpp and whisper.cpp; macOS installs them via Homebrew\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Subtitle scope\u003C\u002Ftd>\n\u003Ctd>Text subtitle tracks mpv can read; PGS and other image subtitles are out of scope\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Image subtitles are not recognized\u003C\u002Fstrong>: PGS and similar bitmap subtitles get no OCR, so those films fall back to speech recognition\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Names are usually transliterated\u003C\u002Fstrong>: names such as Marcus become phonetically similar characters, even with a larger model\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Streaming services do not benefit\u003C\u002Fstrong>: no subtitle downloading, no stream interception, no DRM circumvention, so Netflix-style services are out\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Less validation on Windows\u003C\u002Fstrong>: the download and model-switch menus were only exercised on real Mac hardware, so Windows behavior may differ\u003C\u002Fli>\n\u003C\u002Ful>\n",1794623969922]