<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NodeLane</title>
    <description>The latest articles on DEV Community by NodeLane (@_096282f0dc6decf9962b4c).</description>
    <link>https://dev.to/_096282f0dc6decf9962b4c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4144378%2Fc8a88afb-2099-4c48-84e7-ca031c33c6fc.png</url>
      <title>DEV Community: NodeLane</title>
      <link>https://dev.to/_096282f0dc6decf9962b4c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_096282f0dc6decf9962b4c"/>
    <language>en</language>
    <item>
      <title>I built an open-source manga reader + translator browser extension</title>
      <dc:creator>NodeLane</dc:creator>
      <pubDate>Sat, 26 Sep 2026 13:46:35 +0000</pubDate>
      <link>https://dev.to/_096282f0dc6decf9962b4c/i-built-an-open-source-manga-reader-translator-browser-extension-1bdm</link>
      <guid>https://dev.to/_096282f0dc6decf9962b4c/i-built-an-open-source-manga-reader-translator-browser-extension-1bdm</guid>
      <description>&lt;p&gt;Hey DEV! I’m building &lt;strong&gt;NodeLane Comics&lt;/strong&gt;, a manga reader and translator that runs as a browser extension.&lt;/p&gt;

&lt;p&gt;The idea is to bring manga from different places into one library: supported websites, local files, and Google Drive. Translation is optional — you can just use it as a reader.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjwsladxqpmvzycxvpcoi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjwsladxqpmvzycxvpcoi.png" alt="NodeLane Comics library showing imported manga and reading progress." width="799" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keep your manga in one place.&lt;/strong&gt; Import from supported websites, Google Drive, or local files such as CBZ, CBR, PDF, and DRM-free MOBI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep track of your reading.&lt;/strong&gt; Save your progress and check for new chapters from supported websites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translate as you read.&lt;/strong&gt; Use a cloud translation service or connect a local manga-translator-ui instance, then switch between the original and translated pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translate inside a browser tab.&lt;/strong&gt; Display translated manga images directly on supported pages without importing the comic into the reader.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s also a cross-language title search to help you look for the same comic on selected websites in another language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnt4i05dro26owfdyx7f8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnt4i05dro26owfdyx7f8.gif" alt="Opening a manga from the library, enabling translation, and switching between the original and translated pages." width="719" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A little about the build
&lt;/h2&gt;

&lt;p&gt;The extension uses TypeScript, React, and WXT, with a FastAPI backend. Both the frontend and backend code are public on GitHub.&lt;/p&gt;

&lt;p&gt;Local translation connects to a separately running &lt;a href="https://github.com/hgmzhn/manga-translator-ui" rel="noopener noreferrer"&gt;manga-translator-ui&lt;/a&gt; service — the extension itself doesn’t run the translation models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking for feedback
&lt;/h2&gt;

&lt;p&gt;It’s still early. I’m working on supporting more websites and improving stability, especially around translation.&lt;/p&gt;

&lt;p&gt;Right now, I’m looking for people to try it with their usual reading setup and tell me what feels useful, confusing, or missing. Feedback on the reader itself is just as welcome as feedback on translation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/nodelane-comics-ai-manga/aiajdjliifeeaogpalejpggkiccjbneo" rel="noopener noreferrer"&gt;Try the Chrome extension&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Wy2926/node-comics" rel="noopener noreferrer"&gt;View the code on GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Do you mostly read manga on websites, from local files, or a mix of both? I’d love to hear how you currently keep everything organized.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I used AI to help draft the English text for this post.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>comics</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
