<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>BasicCAT — Computer-Aided Translation (CAT) Tools</title>
    <description>BasicCAT Website</description>
    <link>https://www.basiccat.org/</link>
    <atom:link href="https://www.basiccat.org/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 20 Jul 2026 09:41:30 +0000</pubDate>
    <lastBuildDate>Mon, 20 Jul 2026 09:41:30 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Self-Hosted Manga Translation API Server</title>
        <description>&lt;p&gt;AI manga translation usually requires several different technologies working together:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;OCR for extracting text from manga pages&lt;/li&gt;
  &lt;li&gt;Large language models for translation&lt;/li&gt;
  &lt;li&gt;Image processing for removing and replacing text&lt;/li&gt;
  &lt;li&gt;Typesetting for keeping the original manga style&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Computer-aided image translation tool &lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt; is a program combining all the parts mentioned above.&lt;/p&gt;

&lt;p&gt;However, for users who want to integrate manga translation into their own applications, a desktop translation tool alone is not enough.&lt;/p&gt;

&lt;p&gt;A self-hosted API layer makes it possible to connect manga translation capabilities with browsers, scripts, mobile applications, and automation workflows.&lt;/p&gt;

&lt;p&gt;With the &lt;a href=&quot;https://github.com/xulihang/ImageTrans_wsServer&quot;&gt;ImageTrans API Server&lt;/a&gt;, you can expose your existing &lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt; installation as a private manga translation service.&lt;/p&gt;

&lt;h2 id=&quot;fully-local-processing&quot;&gt;Fully Local Processing&lt;/h2&gt;

&lt;p&gt;All processing — OCR, translation, text removal, and typesetting — can run entirely on your local machine. Unlike cloud-based translation services, a local setup gives you:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;No extra cost&lt;/strong&gt;: Use open-source models without paying per-character API fees.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No usage limits&lt;/strong&gt;: Translate as many pages as you want, no rate limiting or quotas.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No privacy concerns&lt;/strong&gt;: Your manga images never leave your computer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a step-by-step guide on setting up a complete local manga translation workshop (ImageTrans + Ollama + custom workflows), see the previous article: &lt;a href=&quot;/how-to-build-a-local-manga-translation-workshop/&quot;&gt;Offline AI Manga Translator&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;h3 id=&quot;translate-a-whole-image&quot;&gt;Translate a Whole Image&lt;/h3&gt;

&lt;h4 id=&quot;request&quot;&gt;Request&lt;/h4&gt;

&lt;p&gt;Send a base64-encoded image to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/translate&lt;/code&gt; endpoint:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl &lt;span class=&quot;nt&quot;&gt;-X&lt;/span&gt; POST http://localhost:51042/translate &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;src=data:image/png;base64,iVBORw0KGgo...&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;sourceLang=ja&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;targetLang=en&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;response&quot;&gt;Response&lt;/h4&gt;

&lt;p&gt;On success, the endpoint returns JSON:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;success&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;img&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;base64-encoded-translated-image...&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;imgMap&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;boxes&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;こんにちは&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;target&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;geometry&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;X&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;width&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;height&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;img&lt;/code&gt;: The translated image as a base64 WebP.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;imgMap.boxes&lt;/code&gt;: Detected text boxes with source text, translated text, and geometry.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;text-only-mode&quot;&gt;Text-Only Mode&lt;/h4&gt;

&lt;p&gt;Set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;withoutImage=true&lt;/code&gt; to skip the image and only receive detected text boxes:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl &lt;span class=&quot;nt&quot;&gt;-X&lt;/span&gt; POST http://localhost:51042/translate &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;src=data:image/png;base64,...&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;withoutImage=true&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;translate-a-text-region&quot;&gt;Translate a Text Region&lt;/h3&gt;

&lt;p&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/translateRegion&lt;/code&gt; to OCR and translate a single text region:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl &lt;span class=&quot;nt&quot;&gt;-X&lt;/span&gt; POST http://localhost:51042/translateRegion &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;base64=data:image/png;base64,...&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;sourceLang=ja&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;targetLang=en&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The response includes the detected source text and translations from multiple engines:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;success&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;regionMap&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;source&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;こんにちは&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;target&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;engine&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;mymemory&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;engine&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;google&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Hi&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;manage-instances&quot;&gt;Manage Instances&lt;/h3&gt;

&lt;p&gt;List all connected ImageTrans desktop instances:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl http://localhost:51042/list
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Response:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;1710000000000&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;displayName&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;default&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;running&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;targeting-a-specific-instance&quot;&gt;Targeting a Specific Instance&lt;/h3&gt;

&lt;p&gt;If you have multiple ImageTrans instances connected, specify the target with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;displayName&lt;/code&gt; (optional password is supported):&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl &lt;span class=&quot;nt&quot;&gt;-X&lt;/span&gt; POST http://localhost:51042/translate &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;src=data:image/png;base64,...&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;displayName=my-instance&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;password=my-password&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;deployment&quot;&gt;Deployment&lt;/h2&gt;

&lt;p&gt;There are two server projects, which differ in their deployment approaches:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/xulihang/ImageTrans_wsServer&quot;&gt;ImageTrans_wsServer&lt;/a&gt;: The server runs on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;http://IP:51042&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://IP:51043&lt;/code&gt; by default. All translation requests are forwarded to a connected ImageTrans desktop instance via WebSocket, and the result is returned as an HTTP response. You can deploy the server on a public VPS or NAS at home and then connect your local AI computer to the server. The server is written in B4J.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/xulihang/image-translation-server&quot;&gt;image-translation-server&lt;/a&gt;: The server directly launches local ImageTrans instances via command line. It can be deployed to a powerful VPS or your local AI computer. The server is written in Python. Docker deployment is supported.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ai-agent-integration&quot;&gt;AI Agent Integration&lt;/h2&gt;

&lt;p&gt;If you prefer natural language interaction over raw HTTP endpoints, &lt;a href=&quot;https://github.com/xulihang/ImageTrans-skills&quot;&gt;ImageTrans-skills&lt;/a&gt; provides an AI agent skill for Claude Code and other agents, allowing you to operate ImageTrans via command line with simple prompts:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;npx skills add https://github.com/xulihang/ImageTrans-skills
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Example: translate manga images with a single sentence:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Translate Japanese manga images in the directory to Chinese. Use Deepseek for translation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The skill handles OCR, translation, text removal, and export — covering the full pipeline without writing any code.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;With a self-hosted API server, manga translation becomes a service you can integrate into any workflow — whether it’s a browser extension, a batch processing script, or a mobile reading app. Choose &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ImageTrans_wsServer&lt;/code&gt; if you want a lightweight relay between a remote server and your local ImageTrans desktop, or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;image-translation-server&lt;/code&gt; for a standalone deployment with Docker support. Both projects are open source, so you can customize them to fit your specific needs.&lt;/p&gt;
</description>
        <pubDate>Sat, 11 Jul 2026 11:08:50 +0000</pubDate>
        <link>https://www.basiccat.org/self-hosted-manga-translation-api-server/</link>
        <guid isPermaLink="true">https://www.basiccat.org/self-hosted-manga-translation-api-server/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Handling Punctuation at Line Start and End in Typesetting</title>
        <description>&lt;p&gt;In typesetting, punctuation needs to avoid appearing at the start or end of a line. This means certain punctuation marks should not be placed at the beginning or end of a line.&lt;/p&gt;

&lt;p&gt;For example, a left quotation mark should not appear at the end of a line, and a period should not appear at the beginning.&lt;/p&gt;

&lt;p&gt;There are many ways to handle punctuation at line boundaries, such as borrowing a character from the previous line, hanging punctuation, compressing spacing, and so on. When I was a child writing essays on grid paper, if a punctuation mark was about to land at the start of the next line, I would always squeeze it into the last cell alongside the final character.&lt;/p&gt;

&lt;h2 id=&quot;example&quot;&gt;Example&lt;/h2&gt;

&lt;p&gt;Original text:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;在学术工作中，我们可以会遇到一些外语论文
。英语可能还好，但读起来不如中文母语效率
高。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Hanging punctuation:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;在学术工作中，我们可以会遇到一些外语论文。
英语可能还好，但读起来不如中文母语效率高。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Borrowing a character from the previous line:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;在学术工作中，我们可以会遇到一些外语论
文。英语可能还好，但读起来不如中文母语
效率高。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Word processors like Word, image editing software like Photoshop, and browsers all support this kind of handling. Graphics libraries like JavaFX support it as well.&lt;/p&gt;

&lt;p&gt;The manga translation software &lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt; uses JavaFX for text layout, but the vertical text engine is implemented by myself. Currently, it has preliminary support for preventing periods from appearing at the start of a line.&lt;/p&gt;

&lt;h2 id=&quot;references&quot;&gt;References&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.thetype.com/2018/05/14501/&quot;&gt;https://www.thetype.com/2018/05/14501/&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 05 Jul 2026 11:21:50 +0000</pubDate>
        <link>https://www.basiccat.org/handling-of-punctuation-at-starting-or-ending-positionin-type-setting/</link>
        <guid isPermaLink="true">https://www.basiccat.org/handling-of-punctuation-at-starting-or-ending-positionin-type-setting/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>PDF Paper Translation and Conversion to Markdown</title>
        <description>&lt;p&gt;In academic work, we may encounter PDFs in foreign languages. English might be manageable, but reading in your native language is always more efficient. Other less common languages, such as French or Japanese, may be completely unreadable. In these cases, we need to translate them. You can overlay the translation on top of the original PDF text, or convert it directly to formats like Markdown for convenient reading even on small phone screens.&lt;/p&gt;

&lt;p&gt;Translating PDF papers involves some special considerations:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;PDF papers have complex layouts, including multi-column layouts, formulas, tables, images, footnotes, and other elements. Layout analysis is needed to determine the position and reading order of these elements.&lt;/li&gt;
  &lt;li&gt;Text in PDFs can generally be extracted directly without additional OCR. However, the extracted text information may have issues such as missing characters or encoding errors (garbled text), in which case OCR is still necessary.&lt;/li&gt;
  &lt;li&gt;There is a lot of text that does not need to be extracted and translated (non-translatable elements), which needs to be filtered out.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This article will use &lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt;, an image OCR and translation software, to translate the following PDF.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Can Visual Language Models Translate Onomatopoeia in Manga?&lt;/em&gt;: &lt;a href=&quot;https://www.anlp.jp/proceedings/annual_meeting/2026/pdf_dir/C9-2.pdf&quot;&gt;PDF Link&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;steps&quot;&gt;Steps&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Create a new project based on the “Document” template and import the PDF. ImageTrans will convert the PDF to images for processing. There are some parameters to configure. For scanned PDFs, you can choose the image extraction mode, which is very fast. For PDFs with selectable text, use the default rendering mode, enable text extraction, and extract at the word level.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/import-options-en.jpg&quot; alt=&quot;PDF Translation&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If the built-in text information from the PDF is not extracted well or if the PDF has no embedded text, you can choose an OCR engine for recognition. For example, for Japanese, you can use rapid or oneocr. You can go to Menu - Edit - Detect text areas and recognize text to check the recognition result on a single image.&lt;/p&gt;

    &lt;p&gt;The text extraction from this example PDF works well.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/imported.jpg&quot; alt=&quot;Imported Interface&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Go to Menu - Project - Batch - Custom workflow to open the workflow settings. Some configuration specific to this PDF is needed. For example, this PDF does not need text detection, areas outside panels should be removed, and the panel detection engine should be set to Deepseek-OCR, which performs better. Here, “panels” refer to various layout components such as paragraphs, figures, and so on.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/workflow-en.jpg&quot; alt=&quot;Workflow&quot; /&gt;&lt;/p&gt;

    &lt;p&gt;Explanation of each operation:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Panel detection: Uses the configured Deepseek-OCR for layout analysis&lt;/li&gt;
      &lt;li&gt;Remove areas within image and table panels: Text in figures and tables does not need translation and can be removed directly. Figures and tables will be saved as images when exported to Markdown.&lt;/li&gt;
      &lt;li&gt;Remove areas outside panels: Removes text such as page footers, as they are not detected as page layout components by Deepseek-OCR&lt;/li&gt;
      &lt;li&gt;Sort: Sorts text areas according to panel order to ensure correct reading order&lt;/li&gt;
      &lt;li&gt;Translate: Uses engines like Deepseek for translation&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;Below is the interface after executing the custom workflow, with the toolbar switched to sorting mode:&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/panel-detected.jpg&quot; alt=&quot;Detection Results&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Click “Translated” in the lower-left corner to see the translated version of the PDF paper pages.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/translated-en.jpg&quot; alt=&quot;Translated Version&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Go to Menu - File - Export - Markdown to export the result as a Markdown file, making it easy to read on a phone or to feed to AI for analysis. Since Markdown, unlike PDF, does not have positional information for text, correct text ordering is critical during export. With Deepseek-OCR layout analysis, the reading order is generally correct. If there are errors, they can also be corrected in ImageTrans.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;/album/pdf-translation/markdown-en.jpg&quot; alt=&quot;Markdown&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In addition to exporting as Markdown, export to PDF, HTML, and other formats is also supported.&lt;/p&gt;

&lt;h2 id=&quot;setup&quot;&gt;Setup&lt;/h2&gt;

&lt;p&gt;To use DeepSeek-OCR, you need to fill in the API key of Siliconflow in preferences: https://cloud.siliconflow.cn/models?target=deepseek-ai/DeepSeek-OCR&lt;/p&gt;

&lt;p&gt;You can also run DeepSeek-OCR locally.&lt;/p&gt;

&lt;p&gt;In addition to DeepSeek-OCR, other large models such as GLM and MinerU can also be used for layout analysis.&lt;/p&gt;
</description>
        <pubDate>Sat, 04 Jul 2026 10:50:50 +0000</pubDate>
        <link>https://www.basiccat.org/pdf-paper-translation-and-conversion-to-markdown/</link>
        <guid isPermaLink="true">https://www.basiccat.org/pdf-paper-translation-and-conversion-to-markdown/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Lezhin Comics Translation Browser Extension</title>
        <description>&lt;p&gt;Lezhin Comics is one of the most popular Korean webtoon platforms. While some titles are officially translated into other languages like English, many comics are still unavailable in languages such as Chinese, French, Thai, Vietnamese, and more.&lt;/p&gt;

&lt;p&gt;If the webtoon you want to read hasn’t been localized into your preferred language, &lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt; Browser Extension can help.&lt;/p&gt;

&lt;p&gt;Unlike built-in browser translators, ImageTrans translates the text inside comic images. It detects dialogue in speech bubbles, translates it into your chosen language, and replaces the original text directly on the page, making webtoons much easier to read.&lt;/p&gt;

&lt;h2 id=&quot;works-with-ai-translation&quot;&gt;Works with AI Translation&lt;/h2&gt;

&lt;p&gt;ImageTrans supports multiple translation engines, including modern AI models.&lt;/p&gt;

&lt;p&gt;If you’re reading story-heavy webtoons, AI translation usually produces much more natural dialogue than traditional machine translation.&lt;/p&gt;

&lt;p&gt;You can even enable visual context, allowing vision-language models to understand the artwork when translating difficult scenes.&lt;/p&gt;

&lt;h2 id=&quot;more-than-just-lezhin-comics&quot;&gt;More Than Just Lezhin Comics&lt;/h2&gt;

&lt;p&gt;The extension also works on many other websites where text is embedded inside images, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Korean webtoon platforms&lt;/li&gt;
  &lt;li&gt;Japanese manga websites&lt;/li&gt;
  &lt;li&gt;Chinese manhua sites&lt;/li&gt;
  &lt;li&gt;Comic readers&lt;/li&gt;
  &lt;li&gt;Image galleries&lt;/li&gt;
  &lt;li&gt;Social media posts&lt;/li&gt;
  &lt;li&gt;Scanned books and magazines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the content is an image, ImageTrans can usually translate it.&lt;/p&gt;

&lt;h2 id=&quot;available-on-major-browsers&quot;&gt;Available on Major Browsers&lt;/h2&gt;

&lt;p&gt;ImageTrans is available for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Chrome&lt;/li&gt;
  &lt;li&gt;Microsoft Edge&lt;/li&gt;
  &lt;li&gt;Firefox (including Firefox Android)&lt;/li&gt;
  &lt;li&gt;Kiwi Browser on Android&lt;/li&gt;
  &lt;li&gt;Orion Browser on iPhone and iPad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means you can read translated comics on both desktop and mobile devices.&lt;/p&gt;

&lt;h2 id=&quot;all-is-done-on-your-own-device&quot;&gt;All is Done on Your Own Device&lt;/h2&gt;

&lt;p&gt;All the processing can be done natively on your own device. The image is not sent to a remote server for processing.&lt;/p&gt;

&lt;h2 id=&quot;give-it-a-try&quot;&gt;Give It a Try&lt;/h2&gt;

&lt;p&gt;If you’re looking for a Lezhin Comics translation browser extension, ImageTrans offers an easy way to read Korean webtoons without leaving your browser.&lt;/p&gt;

&lt;p&gt;Instead of taking screenshots, copying text into translators, or using OCR apps, you can translate comic pages with a single click and focus on enjoying the story.&lt;/p&gt;

&lt;h2 id=&quot;demo-video&quot;&gt;Demo Video&lt;/h2&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/BD18xmIf66A?si=uV0EUeCS0UDIugf2&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
</description>
        <pubDate>Sun, 28 Jun 2026 08:30:50 +0000</pubDate>
        <link>https://www.basiccat.org/lezhin-comics-translation-browser-extension/</link>
        <guid isPermaLink="true">https://www.basiccat.org/lezhin-comics-translation-browser-extension/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Use Context to Improve Translation Quality for Comics, Game Screenshots, and Other Images</title>
        <description>&lt;p&gt;Previous articles introduced ImageTrans’ features for &lt;a href=&quot;/manga-image-translation-browser-extension/&quot;&gt;translating images in the browser&lt;/a&gt; and &lt;a href=&quot;/real-time-screen-translator/&quot;&gt;real-time screen translation for games&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The issue with this kind of on-the-fly translation is that it only translates one image at a time, which provides limited context and makes it difficult to ensure translation quality. This is unlike translating an entire book or a full comic, where there is ample context available. As we know, the more context a large model has, the better its translation output tends to be.&lt;/p&gt;

&lt;p&gt;ImageTrans v5.22.1 introduces two new translation-related features that provide additional context to improve translation quality:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Use of multimodal models that incorporate the image itself during translation.&lt;/li&gt;
  &lt;li&gt;Inclusion of text from previous images to provide more context for each translation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below are test results for Chinese-to-English translation of two images from the comic &lt;em&gt;A Dog&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/album/context-llm/1.jpg&quot; alt=&quot;Example 1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/album/context-llm/2.jpg&quot; alt=&quot;Example 2&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;multimodal-translation-using-images&quot;&gt;Multimodal Translation Using Images&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Original Text&lt;/th&gt;
      &lt;th&gt;Translation (without image context)&lt;/th&gt;
      &lt;th&gt;Translation (with image context)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;我不做人了!!&lt;/td&gt;
      &lt;td&gt;I’m no longer human!!&lt;/td&gt;
      &lt;td&gt;I’m not gonna be human anymore!!&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;未完待续&lt;/td&gt;
      &lt;td&gt;To be continued&lt;/td&gt;
      &lt;td&gt;To be continued&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;The model used is GLM 5V turbo.&lt;/p&gt;

&lt;h2 id=&quot;using-previous-pages-for-more-context&quot;&gt;Using Previous Pages for More Context&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Original Text&lt;/th&gt;
      &lt;th&gt;Translation (without previous context)&lt;/th&gt;
      &lt;th&gt;Translation (with previous context)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;车祸后我一直很害怕,那么大的火,我还以为自己死定了,想不到你不止是陪着我还是我的救命恩人!太谢谢了&lt;/td&gt;
      &lt;td&gt;After the car accident, I was very scared. Such a huge fire, I thought I was going to die. I never expected that you not only stayed with me but also became my savior! Thank you so much.&lt;/td&gt;
      &lt;td&gt;After the car accident, I was very scared. Such a big fire, I thought I was going to die. I didn’t expect you to not only be with me, but also become my savior! Thank you so much.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;这忽如其来的温柔,让单身二十六年的我没一点防备……&lt;/td&gt;
      &lt;td&gt;This sudden tenderness made me, who has been single for twenty-six years, completely unprepared…&lt;/td&gt;
      &lt;td&gt;This sudden kindness caught me completely off guard after being single for twenty-six years…&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;我不做人了!!&lt;/td&gt;
      &lt;td&gt;I won’t be a human anymore!!&lt;/td&gt;
      &lt;td&gt;I don’t want to be a person anymore!!&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;未完待续&lt;/td&gt;
      &lt;td&gt;To be continued&lt;/td&gt;
      &lt;td&gt;To be continued&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;The model used is Tencent-HY-MT1.5-1.8B. An offline model was used here due to concerns that the caching mechanisms of online services like Deepseek might interfere with the results.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;The translation results are in line with expectations. However, incorporating the image itself into the translation may not be as consistently useful as providing additional textual context.&lt;/p&gt;
</description>
        <pubDate>Wed, 24 Jun 2026 11:54:50 +0000</pubDate>
        <link>https://www.basiccat.org/context-matters-for-image-translation/</link>
        <guid isPermaLink="true">https://www.basiccat.org/context-matters-for-image-translation/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Translate Manga Images on Android Browser with Extension</title>
        <description>&lt;p&gt;Previously &lt;a href=&quot;/iphone-browser-extension-doujin-manga-image-translation/&quot;&gt;introduced&lt;/a&gt; how to translate manga images on iPhone using Orion Browser and the ImageTrans browser extension. Android supports it as well.&lt;/p&gt;

&lt;p&gt;I tested Kiwi and Firefox browsers, and both can install the ImageTrans extension and translate images in web pages without issues. There are no restrictions like those on Orion Browser for iOS.&lt;/p&gt;

&lt;p&gt;Kiwi Browser supports installing Chrome extensions. Once the browser is installed, you can install the ImageTrans extension directly from the Chrome Web Store.&lt;/p&gt;

&lt;p&gt;For Firefox, you can download and install it directly from the Firefox Add-ons store.&lt;/p&gt;

&lt;p&gt;After installation, open the manga page and click the extension button to start translating.&lt;/p&gt;

&lt;p&gt;ImageTrans reads the images in the web page, performs OCR recognition on them, calls translation services to obtain the translated text, and finally overlays the translation back onto the original images. The entire process is completed within the current web page, without the need for repeated screenshots or switching between apps.&lt;/p&gt;

&lt;p&gt;The extension also provides a screenshot translation feature, allowing you to recognize and translate any area on the screen.&lt;/p&gt;

&lt;p&gt;Source code repositories for the ImageTrans browser extension:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Chrome: &lt;a href=&quot;https://github.com/xulihang/ImageTrans_chrome_extension&quot;&gt;https://github.com/xulihang/ImageTrans_chrome_extension&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Firefox: &lt;a href=&quot;https://github.com/xulihang/ImageTrans_firefox_extension&quot;&gt;https://github.com/xulihang/ImageTrans_firefox_extension&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Demo video:&lt;/p&gt;

&lt;iframe src=&quot;//player.bilibili.com/player.html?isOutside=true&amp;amp;aid=116708002041395&amp;amp;bvid=BV131Ex6VEhr&amp;amp;cid=38930809605&amp;amp;p=1&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
</description>
        <pubDate>Wed, 17 Jun 2026 12:32:50 +0000</pubDate>
        <link>https://www.basiccat.org/android-browser-extension-manga-image-translation/</link>
        <guid isPermaLink="true">https://www.basiccat.org/android-browser-extension-manga-image-translation/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Translate Manga, Doujinshi, and Images on iPhone with a Browser Extension</title>
        <description>&lt;p&gt;Reading Japanese manga and doujinshi on an iPhone can be frustrating if you don’t understand the language. While modern browsers can translate webpage text, they usually cannot translate text embedded inside images.&lt;/p&gt;

&lt;p&gt;This is a problem because manga, doujinshi, comics, scanned books, screenshots, and many social media posts contain most or all of their content as images.&lt;/p&gt;

&lt;p&gt;With the ImageTrans browser extension and Orion Browser, you can translate images directly on your iPhone.&lt;/p&gt;

&lt;h2 id=&quot;why-traditional-web-translators-dont-work&quot;&gt;Why Traditional Web Translators Don’t Work&lt;/h2&gt;

&lt;p&gt;Built-in translators such as Google Translate mainly work on HTML text.&lt;/p&gt;

&lt;p&gt;However, many websites display content as images:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Manga pages&lt;/li&gt;
  &lt;li&gt;Doujinshi&lt;/li&gt;
  &lt;li&gt;Comics&lt;/li&gt;
  &lt;li&gt;Scanned books&lt;/li&gt;
  &lt;li&gt;Screenshots&lt;/li&gt;
  &lt;li&gt;Infographics&lt;/li&gt;
  &lt;li&gt;Social media posts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since the text is part of the image itself, normal webpage translation cannot access or translate it.&lt;/p&gt;

&lt;p&gt;ImageTrans solves this problem by performing OCR, translation, and image editing on the image.&lt;/p&gt;

&lt;h2 id=&quot;why-orion-browser&quot;&gt;Why Orion Browser?&lt;/h2&gt;

&lt;p&gt;Apple’s Safari does not support Chrome extensions directly.&lt;/p&gt;

&lt;p&gt;Fortunately, Orion Browser provides experimental support for many Chrome and Firefox extensions on iPhone and iPad.&lt;/p&gt;

&lt;p&gt;This makes it possible to install and use the ImageTrans browser extension on iOS.&lt;/p&gt;

&lt;p&gt;Once installed, ImageTrans can help translate manga pages, comics, scanned documents, and other image-based content while browsing.&lt;/p&gt;

&lt;h2 id=&quot;two-ways-to-translate-images&quot;&gt;Two Ways to Translate Images&lt;/h2&gt;

&lt;h3 id=&quot;method-1-image-translation&quot;&gt;Method 1: Image Translation&lt;/h3&gt;

&lt;p&gt;The extension detects images on the webpage and sends them for processing.&lt;/p&gt;

&lt;p&gt;The workflow is:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Detect the image.&lt;/li&gt;
  &lt;li&gt;Extract text using OCR.&lt;/li&gt;
  &lt;li&gt;Translate the text.&lt;/li&gt;
  &lt;li&gt;Remove the original text.&lt;/li&gt;
  &lt;li&gt;Render the translation.&lt;/li&gt;
  &lt;li&gt;Replace the original image.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This method works well for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Manga&lt;/li&gt;
  &lt;li&gt;Doujinshi&lt;/li&gt;
  &lt;li&gt;Comics&lt;/li&gt;
  &lt;li&gt;Scanned documents&lt;/li&gt;
  &lt;li&gt;Posters&lt;/li&gt;
  &lt;li&gt;Infographics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;method-2-screenshot-translation&quot;&gt;Method 2: Screenshot Translation&lt;/h3&gt;

&lt;p&gt;Screenshot Translation is currently the most reliable option on iPhone.&lt;/p&gt;

&lt;p&gt;Instead of downloading the image directly from the webpage, you select a region of the screen and send the screenshot to ImageTrans.&lt;/p&gt;

&lt;p&gt;The workflow is:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Capture a screenshot of the selected area.&lt;/li&gt;
  &lt;li&gt;Extract text using OCR.&lt;/li&gt;
  &lt;li&gt;Translate the text.&lt;/li&gt;
  &lt;li&gt;Generate a translated image.&lt;/li&gt;
  &lt;li&gt;Display the result.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This method works even when direct access to webpage images is restricted.&lt;/p&gt;

&lt;h2 id=&quot;current-limitations-on-ios&quot;&gt;Current Limitations on iOS&lt;/h2&gt;

&lt;p&gt;Because Orion Browser runs extensions differently from desktop Chrome, there are some limitations.&lt;/p&gt;

&lt;h3 id=&quot;cross-origin-image-access&quot;&gt;Cross-Origin Image Access&lt;/h3&gt;

&lt;p&gt;Many websites host images on domains that are different from the webpage itself.&lt;/p&gt;

&lt;p&gt;On desktop Chrome, ImageTrans uses DeclarativeNetRequest rules to modify requests and work around some cross-origin restrictions.&lt;/p&gt;

&lt;p&gt;On Orion Browser for iOS, these request modifications do not always work correctly.&lt;/p&gt;

&lt;p&gt;As a result:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Some images cannot be downloaded by the extension.&lt;/li&gt;
  &lt;li&gt;Direct image translation may fail.&lt;/li&gt;
  &lt;li&gt;Screenshot Translation is often the preferred workaround.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For manga and doujinshi readers, Screenshot Translation is usually the most reliable option.&lt;/p&gt;

&lt;h3 id=&quot;using-a-local-imagetrans-server&quot;&gt;Using a Local ImageTrans Server&lt;/h3&gt;

&lt;p&gt;ImageTrans can run OCR and translation locally on your computer, allowing images to be processed without relying on external cloud services.&lt;/p&gt;

&lt;p&gt;On desktop browsers, the extension normally communicates with the local ImageTrans server through its background script. This helps avoid certificate and mixed-content restrictions when accessing a service running on a local network IP address.&lt;/p&gt;

&lt;p&gt;Unfortunately, this communication path does not work reliably in Orion Browser on iOS.&lt;/p&gt;

&lt;p&gt;As a result, the extension often needs to communicate with the ImageTrans server directly.&lt;/p&gt;

&lt;p&gt;Because most websites today are served over HTTPS, browsers will block requests from an HTTPS page to an unsecured HTTP service on your local network.&lt;/p&gt;

&lt;p&gt;To make the connection work properly, the ImageTrans server should also use HTTPS.&lt;/p&gt;

&lt;p&gt;A self-signed certificate is needed for Intranet usage, you will need to:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Generate a certificate for the ImageTrans server with the server’s IP.&lt;/li&gt;
  &lt;li&gt;Install the certificate on your iPhone.&lt;/li&gt;
  &lt;li&gt;Trust the certificate in iOS Settings.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After the certificate is trusted, the browser can securely communicate with the ImageTrans server through its local network address.&lt;/p&gt;

&lt;h3 id=&quot;local-paddleocr-is-not-available&quot;&gt;Local PaddleOCR Is Not Available&lt;/h3&gt;

&lt;p&gt;The ImageTrans browser extension can normally run PaddleOCR directly inside the browser using WebAssembly (WASM).&lt;/p&gt;

&lt;p&gt;This allows OCR to run entirely on the user’s device without requiring a separate server.&lt;/p&gt;

&lt;p&gt;However, Orion Browser on iOS currently has compatibility issues with loading the required WASM modules.&lt;/p&gt;

&lt;p&gt;As a result, the built-in PaddleOCR engine cannot be initialized correctly.&lt;/p&gt;

&lt;p&gt;Because of this limitation, OCR processing must be performed by an ImageTrans server running on another device, such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A Windows PC&lt;/li&gt;
  &lt;li&gt;A Mac&lt;/li&gt;
  &lt;li&gt;A Linux machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The extension sends screenshots or images to the server, which performs OCR, translation, and image rendering before returning the translated result.&lt;/p&gt;

&lt;h2 id=&quot;recommended-setup&quot;&gt;Recommended Setup&lt;/h2&gt;

&lt;p&gt;For the best manga and doujinshi reading experience on iPhone:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Install Orion Browser.&lt;/li&gt;
  &lt;li&gt;Install the ImageTrans browser extension.&lt;/li&gt;
  &lt;li&gt;Run ImageTrans on a PC, Mac, or home server.&lt;/li&gt;
  &lt;li&gt;Setup certificate HTTPS on the ImageTrans server.&lt;/li&gt;
  &lt;li&gt;Install and trust the server certificate on iOS.&lt;/li&gt;
  &lt;li&gt;Configure the extension to use the ImageTrans server.&lt;/li&gt;
  &lt;li&gt;Use Screenshot Translation whenever direct image translation is unavailable.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This setup avoids the current iOS limitations related to cross-origin image access, background-script networking, and WebAssembly-based OCR.&lt;/p&gt;

&lt;p&gt;PS: There is also a public server you can have a try first without setting up the ImageTrans server. But since it is slow, not recommended for heavy usage.&lt;/p&gt;

&lt;h2 id=&quot;what-can-you-translate&quot;&gt;What Can You Translate?&lt;/h2&gt;

&lt;p&gt;ImageTrans is not limited to manga and doujinshi.&lt;/p&gt;

&lt;p&gt;You can also translate:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Comics&lt;/li&gt;
  &lt;li&gt;Webtoons&lt;/li&gt;
  &lt;li&gt;Light novel illustrations&lt;/li&gt;
  &lt;li&gt;Game screenshots&lt;/li&gt;
  &lt;li&gt;Japanese blogs&lt;/li&gt;
  &lt;li&gt;Chinese comics&lt;/li&gt;
  &lt;li&gt;Korean webtoons&lt;/li&gt;
  &lt;li&gt;Scanned books&lt;/li&gt;
  &lt;li&gt;Technical diagrams&lt;/li&gt;
  &lt;li&gt;Infographics&lt;/li&gt;
  &lt;li&gt;Social media images&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any image containing text can potentially be translated.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Although browser extension support on iPhone is still more limited than on desktop systems, Orion Browser makes image translation possible on iOS.&lt;/p&gt;

&lt;p&gt;By combining Orion Browser with ImageTrans, you can translate manga, doujinshi, comics, scanned documents, and other image-based content directly while browsing.&lt;/p&gt;

&lt;p&gt;Due to current iOS limitations, Screenshot Translation remains the most reliable workflow. When paired with an HTTPS-enabled ImageTrans server, it provides a practical way to read foreign-language image content on an iPhone without constantly switching between apps.&lt;/p&gt;

&lt;p&gt;Demo video: &lt;a href=&quot;https://youtube.com/shorts/YeDeC-KigDE?si=NK240zYsoEEUpMok&quot;&gt;https://youtube.com/shorts/YeDeC-KigDE?si=NK240zYsoEEUpMok&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 16 Jun 2026 11:26:50 +0000</pubDate>
        <link>https://www.basiccat.org/iphone-browser-extension-doujin-manga-image-translation/</link>
        <guid isPermaLink="true">https://www.basiccat.org/iphone-browser-extension-doujin-manga-image-translation/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>Translate Your Comic Into Multiple Languages: A Guide for Independent Creators Going Global</title>
        <description>&lt;p&gt;The internet has completely changed how comics are created and distributed.&lt;/p&gt;

&lt;p&gt;In the past, reaching readers in other countries often required a publisher, a localization team, and significant financial resources. Today, independent creators can publish directly to a global audience through online platforms.&lt;/p&gt;

&lt;p&gt;However, two major challenges remain:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How do you make your comic accessible to readers who speak different languages?&lt;/li&gt;
  &lt;li&gt;How do you adapt your comic to different publishing platforms?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first challenge requires localization. The second often requires format adaptation.&lt;/p&gt;

&lt;p&gt;Fortunately, advances in AI translation and publishing tools have made both much easier than they were just a few years ago.&lt;/p&gt;

&lt;h2 id=&quot;why-publish-your-comic-in-multiple-languages&quot;&gt;Why Publish Your Comic in Multiple Languages?&lt;/h2&gt;

&lt;p&gt;If your comic is only available in one language, most potential readers around the world simply cannot enjoy it.&lt;/p&gt;

&lt;p&gt;Comics are one of the most globally accessible forms of storytelling. Readers from different cultures can appreciate the same artwork, characters, and stories. Yet language barriers still prevent many great comics from reaching their full audience.&lt;/p&gt;

&lt;p&gt;Adding additional language versions can help you:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Reach readers in more countries&lt;/li&gt;
  &lt;li&gt;Increase social media exposure&lt;/li&gt;
  &lt;li&gt;Build a larger fan community&lt;/li&gt;
  &lt;li&gt;Generate more support and subscriptions&lt;/li&gt;
  &lt;li&gt;Explore international markets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For many creators, English is the first step. Later, expanding into Spanish, French, Portuguese, Japanese, or other languages can open even more opportunities.&lt;/p&gt;

&lt;h2 id=&quot;choosing-the-right-platforms-for-international-readers&quot;&gt;Choosing the Right Platforms for International Readers&lt;/h2&gt;

&lt;p&gt;Before translating your comic, it is worth considering where your future readers are most likely to discover it.&lt;/p&gt;

&lt;p&gt;Different platforms attract different audiences and support different business models.&lt;/p&gt;

&lt;h3 id=&quot;patreon-build-sustainable-income&quot;&gt;Patreon: Build Sustainable Income&lt;/h3&gt;

&lt;p&gt;Patreon allows creators to monetize their work directly through memberships.&lt;/p&gt;

&lt;p&gt;Many comic creators use Patreon to offer:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Early chapter access&lt;/li&gt;
  &lt;li&gt;High-resolution downloads&lt;/li&gt;
  &lt;li&gt;Behind-the-scenes content&lt;/li&gt;
  &lt;li&gt;Exclusive bonus materials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since much of Patreon’s audience is English-speaking, having an English version of your comic can significantly improve its appeal to potential supporters.&lt;/p&gt;

&lt;p&gt;For independent creators, Patreon can become a reliable source of recurring revenue.&lt;/p&gt;

&lt;h3 id=&quot;pixiv-reach-japanese-readers&quot;&gt;Pixiv: Reach Japanese Readers&lt;/h3&gt;

&lt;p&gt;If your comic is influenced by manga or anime culture, Pixiv can be an excellent platform for gaining visibility in Japan.&lt;/p&gt;

&lt;p&gt;Japanese readers are highly engaged with original comics and illustrations, and many creators use Pixiv as a primary publishing platform.&lt;/p&gt;

&lt;p&gt;Even if you are not ready for a full Japanese translation, localized descriptions and tags can help increase discoverability.&lt;/p&gt;

&lt;h3 id=&quot;webtoon-a-global-audience-for-digital-comics&quot;&gt;WEBTOON: A Global Audience for Digital Comics&lt;/h3&gt;

&lt;p&gt;WEBTOON has become one of the world’s largest comic publishing platforms.&lt;/p&gt;

&lt;p&gt;Unlike traditional page-based comics, WEBTOON is designed for vertical scrolling on mobile devices.&lt;/p&gt;

&lt;p&gt;For creators seeking international growth, publishing an English version on WEBTOON is often one of the fastest ways to reach new readers.&lt;/p&gt;

&lt;h2 id=&quot;the-hidden-cost-of-multi-language-publishing&quot;&gt;The Hidden Cost of Multi-Language Publishing&lt;/h2&gt;

&lt;p&gt;Creating a translated version of a comic sounds straightforward.&lt;/p&gt;

&lt;p&gt;In practice, maintaining multiple language editions can quickly become time-consuming.&lt;/p&gt;

&lt;p&gt;For example, publishing a comic in Chinese, English, and Spanish may require:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Translating dialogue&lt;/li&gt;
  &lt;li&gt;Updating text layouts&lt;/li&gt;
  &lt;li&gt;Exporting multiple versions&lt;/li&gt;
  &lt;li&gt;Synchronizing future revisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every typo correction, script change, or chapter update must be repeated across all languages.&lt;/p&gt;

&lt;p&gt;As a series grows, the workload grows with it.&lt;/p&gt;

&lt;h2 id=&quot;how-ai-is-changing-comic-localization&quot;&gt;How AI Is Changing Comic Localization&lt;/h2&gt;

&lt;p&gt;AI-powered tools have dramatically reduced the amount of manual work involved in comic translation.&lt;/p&gt;

&lt;p&gt;Modern workflows can automate tasks such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dialogue translation&lt;/li&gt;
  &lt;li&gt;Text replacement&lt;/li&gt;
  &lt;li&gt;Layout adjustment&lt;/li&gt;
  &lt;li&gt;Batch processing&lt;/li&gt;
  &lt;li&gt;Multi-language generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, localization is no longer limited to large publishers. Independent creators can now manage international releases with far fewer resources.&lt;/p&gt;

&lt;h2 id=&quot;introducing-imagetrans&quot;&gt;Introducing ImageTrans&lt;/h2&gt;

&lt;p&gt;ImageTrans is a localization tool designed specifically for comics, manga, webtoons, and image-based content.&lt;/p&gt;

&lt;p&gt;Unlike many translation tools that only work with exported images, ImageTrans supports both image-based workflows and source-file workflows.&lt;/p&gt;

&lt;p&gt;This makes it useful for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Comic creators&lt;/li&gt;
  &lt;li&gt;Manga artists&lt;/li&gt;
  &lt;li&gt;Webtoon creators&lt;/li&gt;
  &lt;li&gt;Illustration storytellers&lt;/li&gt;
  &lt;li&gt;Localization teams&lt;/li&gt;
  &lt;li&gt;Small publishers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you are translating a new project or localizing older works, ImageTrans can help streamline the process.&lt;/p&gt;

&lt;h2 id=&quot;workflow-1-translate-psd-source-files-directly&quot;&gt;Workflow 1: Translate PSD Source Files Directly&lt;/h2&gt;

&lt;p&gt;If you still have your original project files, there is no reason to start from exported images.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/imagetrans/&quot;&gt;ImageTrans&lt;/a&gt; can work directly with PSD files and other source files containing editable text layers.&lt;/p&gt;

&lt;p&gt;A typical workflow looks like this:&lt;/p&gt;

&lt;p&gt;Source File&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Extract Text Layers&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Translation&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Replace Text Automatically&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Export Target Language Version&lt;/p&gt;

&lt;p&gt;This approach offers several advantages:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;No OCR required&lt;/li&gt;
  &lt;li&gt;No text removal or image repair&lt;/li&gt;
  &lt;li&gt;Original layer structure is preserved&lt;/li&gt;
  &lt;li&gt;Easier future updates&lt;/li&gt;
  &lt;li&gt;Ideal for ongoing series&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For creators producing long-running comics, this can save a significant amount of time.&lt;/p&gt;

&lt;h2 id=&quot;workflow-2-translate-published-comic-images&quot;&gt;Workflow 2: Translate Published Comic Images&lt;/h2&gt;

&lt;p&gt;Not every project still has its original source files.&lt;/p&gt;

&lt;p&gt;You may only have:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;JPG files&lt;/li&gt;
  &lt;li&gt;PNG files&lt;/li&gt;
  &lt;li&gt;Scanned pages&lt;/li&gt;
  &lt;li&gt;Archived web releases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In these situations, ImageTrans can use OCR to extract text and generate translated versions.&lt;/p&gt;

&lt;p&gt;Image&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;OCR Text Extraction&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Translation&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Text Removal&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Typesetting&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Export&lt;/p&gt;

&lt;p&gt;This workflow is particularly useful for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Older comics&lt;/li&gt;
  &lt;li&gt;Completed series&lt;/li&gt;
  &lt;li&gt;Re-releases&lt;/li&gt;
  &lt;li&gt;International editions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;workflow-3-convert-page-comics-into-webtoons&quot;&gt;Workflow 3: Convert Page Comics into Webtoons&lt;/h2&gt;

&lt;p&gt;Language is not the only barrier when expanding to new platforms.&lt;/p&gt;

&lt;p&gt;Many creators originally design comics for traditional page-based reading.&lt;/p&gt;

&lt;p&gt;However, platforms such as WEBTOON favor vertical scrolling formats optimized for smartphones.&lt;/p&gt;

&lt;p&gt;Adapting a page comic to a webtoon often requires reorganizing panels and restructuring layouts.&lt;/p&gt;

&lt;p&gt;ImageTrans can assist with page-to-webtoon conversion workflows, making it easier to prepare existing comics for modern digital platforms.&lt;/p&gt;

&lt;p&gt;This allows a single comic project to reach readers across multiple publishing ecosystems.&lt;/p&gt;

&lt;h2 id=&quot;which-languages-should-you-prioritize&quot;&gt;Which Languages Should You Prioritize?&lt;/h2&gt;

&lt;p&gt;If you are just starting your international expansion, consider these languages first.&lt;/p&gt;

&lt;h3 id=&quot;english&quot;&gt;English&lt;/h3&gt;

&lt;p&gt;The largest and most accessible global audience.&lt;/p&gt;

&lt;h3 id=&quot;spanish&quot;&gt;Spanish&lt;/h3&gt;

&lt;p&gt;A massive reader base across Spain and Latin America.&lt;/p&gt;

&lt;h3 id=&quot;french&quot;&gt;French&lt;/h3&gt;

&lt;p&gt;France has one of the world’s strongest comic-reading cultures.&lt;/p&gt;

&lt;h3 id=&quot;portuguese&quot;&gt;Portuguese&lt;/h3&gt;

&lt;p&gt;Especially valuable for reaching Brazilian readers.&lt;/p&gt;

&lt;h3 id=&quot;japanese&quot;&gt;Japanese&lt;/h3&gt;

&lt;p&gt;A natural choice for creators targeting manga audiences.&lt;/p&gt;

&lt;h2 id=&quot;from-local-creator-to-global-audience&quot;&gt;From Local Creator to Global Audience&lt;/h2&gt;

&lt;p&gt;Not long ago, publishing a comic in multiple languages required translators, editors, and production teams.&lt;/p&gt;

&lt;p&gt;Today, AI-powered localization tools have made global publishing accessible to independent creators.&lt;/p&gt;

&lt;p&gt;Whether your goal is to build a Patreon community, reach Japanese readers through Pixiv, or grow an audience on WEBTOON, multi-language publishing can dramatically expand your opportunities.&lt;/p&gt;

&lt;p&gt;Great comics do not lack readers.&lt;/p&gt;

&lt;p&gt;More often, they simply need a way to be discovered beyond the boundaries of a single language.&lt;/p&gt;
</description>
        <pubDate>Fri, 05 Jun 2026 12:52:50 +0000</pubDate>
        <link>https://www.basiccat.org/translate-your-comics-globally-independent-creators-guide/</link>
        <guid isPermaLink="true">https://www.basiccat.org/translate-your-comics-globally-independent-creators-guide/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>OCR for Republican-Era Chinese Periodicals: Text Extraction and Translation into Simplified Vernacular Chinese</title>
        <description>&lt;p&gt;Most Republican-era Chinese periodicals were printed in vertically arranged Traditional Chinese and written in Classical Chinese. This article demonstrates how to use ImageTrans to recognize the text and translate it into Simplified Chinese vernacular language.&lt;/p&gt;

&lt;p&gt;For example, the article &lt;em&gt;“Women’s Virtue”&lt;/em&gt; from Volume 1, Issue 1 of &lt;em&gt;Chinese Women’s World&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/album/fude.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;configure-mineru&quot;&gt;Configure MinerU&lt;/h2&gt;

&lt;p&gt;To achieve better OCR accuracy, we use MinerU as the OCR engine.&lt;/p&gt;

&lt;p&gt;Configuration steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Download the plugin from &lt;a href=&quot;/assets/mineruOCRPlugin.zip&quot;&gt;mineruOCRPlugin.zip&lt;/a&gt; and extract it into the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;plugins&lt;/code&gt; directory of ImageTrans.&lt;/li&gt;
  &lt;li&gt;Apply for an API Key and enter it in the MinerU section of ImageTrans’s API preferences.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can obtain an API Key from the official website:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://mineru.net/apiManage/token&quot;&gt;https://mineru.net/apiManage/token&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;ocr-and-translation&quot;&gt;OCR and Translation&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Create a new project and import PDF files or images. ImageTrans can directly extract images from scanned PDFs and import hundreds of pages within seconds.&lt;/li&gt;
  &lt;li&gt;Select &lt;strong&gt;MinerU&lt;/strong&gt; as the OCR engine, then click &lt;strong&gt;Edit → Detect text areas and recognize text&lt;/strong&gt; to process the current image. The recognized text regions will be highlighted on the original image, and both the positions and text contents can be edited manually.&lt;/li&gt;
  &lt;li&gt;To process all images in the project, choose &lt;strong&gt;Project → Batch → Detect text areas and recognize text for all pictures&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;After OCR is complete, proceed with translation. You can use the DeepSeek large language model to translate the text into Simplified Chinese vernacular language. In the preferences dialog, modify the DeepSeek prompt and replace the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{langcode}&lt;/code&gt; parameter with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Simplified Chinese Vernacular&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;/album/Republican-era-Chinese-periodicals.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;export-as-markdown&quot;&gt;Export as Markdown&lt;/h2&gt;

&lt;p&gt;Next, you can export the results as Markdown for reading, searching, or AI analysis.&lt;/p&gt;

&lt;p&gt;The following is an example of the exported result, formatted with one line of original text followed by one line of translation:&lt;/p&gt;

&lt;p&gt;婦德&lt;/p&gt;

&lt;p&gt;妇德&lt;/p&gt;

&lt;p&gt;汪長祿&lt;/p&gt;

&lt;p&gt;汪长禄&lt;/p&gt;

&lt;p&gt;問曰婦德何爲而作也昔者周公制禮以九嬤隸於天官實掌婦學之法其立敎之目有四曰婦德婦言婦容婦功德者何貞順之謂言者何辭令之謂容者何婉婉之謂功者何絲案之謂鄭玄既以此解周官其注禮記昏義亦循是說（二）然則當日后王君公卿士大夫之家女師所講閑門所習文質粲然斯已備矣載稽內則女子十年不出姆教婉婉聽從執麻東治絲繭紆組綱學女事以共衣服觀於祭祀納酒柴鑠豆茫蘸禮相助奠鄖云婉謂言語婉謂容貌與前說頗有異義孔類達釋之曰鄭意以此上下備其四德以婉爲婦言婉爲婦容聽從爲婦順執麻桌以下爲婦功從知德言容功四者析言之則有此別合言之可通名之曰德范史后紀九嬤掌敦四德（二）其說蓋有所受之矣班昭者生長名門博極羣書中更憂患以反說約所著女誠七篇務爲平易近人其言曰婦德不必才明絕異也婦言不必辯口利辭也婦容不必顏色美德也婦功不必技巧過人也幽閒貞靜守節整齊行己有風動靜有法是謂婦德擇辭而說不道憑語時然後言不厭於人是謂婦言盟浣塵穢服飾鮮潔沐浴以時身不垢辱是謂婦容專心紡績不好戲笑潔&lt;/p&gt;

&lt;p&gt;问：为什么要写妇德呢？从前周公制定礼法，把九嫔归入天官管辖，实际掌管女子教育的法则。其中设立的教育条目有四项：妇德、妇言、妇容、妇功。什么是德？就是贞洁顺从的意思；什么是言？就是辞令应对的意思；什么是容？就是温婉柔和的意思；什么是功？就是丝麻纺织的意思。郑玄用这些来解释《周官》，他注解《礼记·昏义》时也沿用这个说法（二）。那么，当时王侯公卿士大夫家的女师所讲授、闺门所练习的内容，文采和实质都很完备了。考察《内则》记载：女子十岁以后不出门，由女师教导她们温婉、听从，学习处理麻葛、缫丝织茧、编织丝带、缝纫衣服，以供穿着，并观察祭祀礼节，送酒浆、摆放笾豆、调和肉酱，协助礼仪。郑玄解释说：婉是指言语，婉是指容貌，与之前的说法略有不同。孔颖达解释说：郑玄的意思是，上下文中已经包含了四种德行，用婉指代妇言，用婉指代妇容，用听从指代妇顺，用处理麻葛以下指代妇功。由此可知，德、言、容、功四者，分开说就有这些区别，合起来说都可以统称为德。《后汉书·后纪》说九嫔掌管教导四德（二），这种说法是有所传承的。班昭出身名门，博览群书，中年经历忧患后返璞归真，所著的《女诫》七篇，力求平易近人。她说：妇德不必才明绝世，妇言不必巧舌善辩，妇容不必容貌美丽，妇功不必技巧过人。幽静贞洁、守节整饬、行为有度、动静有法，这就是妇德；选择言辞说话，不传恶语，适时说话，不令人讨厌，这就是妇言；洗涤污秽、服饰整洁、按时沐浴、身体不脏不辱，这就是妇容；专心纺织、不好戏笑、洁净&lt;/p&gt;

&lt;p&gt;期一第卷一第&lt;/p&gt;

&lt;p&gt;期一 第卷一&lt;/p&gt;

&lt;p&gt;As you can see, once the Classical Chinese text has been translated into punctuated Simplified Chinese vernacular language, it becomes much easier to read and understand.&lt;/p&gt;
</description>
        <pubDate>Wed, 03 Jun 2026 10:36:50 +0000</pubDate>
        <link>https://www.basiccat.org/republican-era-Chinese-periodicals-OCR-and-translation/</link>
        <guid isPermaLink="true">https://www.basiccat.org/republican-era-Chinese-periodicals-OCR-and-translation/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
      <item>
        <title>OCR for Ancient Chinese Books: Converting Scanned Ancient Texts into Searchable PDF and Markdown</title>
        <description>&lt;p&gt;Most classical Chinese ancient texts already have modern versions, whether digital or newly printed. However, a large number of ancient documents have yet to be digitized, such as local chronicles, genealogies, stele rubbings, rare library editions, and newly discovered or newly compiled versions of ancient books. To enable full-text search, version comparison, content proofreading, AI analysis, and long-term preservation, these documents still require digitization, a key step of which is OCR. This article introduces how to perform OCR on ancient books using the desktop OCR software ImageTrans, converting scanned ancient texts into searchable PDF and Markdown formats.&lt;/p&gt;

&lt;h2 id=&quot;challenges-in-recognizing-text-from-chinese-ancient-books&quot;&gt;Challenges in Recognizing Text from Chinese Ancient Books&lt;/h2&gt;

&lt;p&gt;Recognizing text from ancient books presents difficulties such as vertical layout, complex page structures, image blemishes, tilted text, and recognition of variant and traditional Chinese characters. ImageTrans integrates OCR engines like PaddleOCR, mineru, and Qwen, which perform well with common traditional Chinese documents. For more challenging ancient texts, the Kandianguji Ancient Book API can be used.&lt;/p&gt;

&lt;h2 id=&quot;using-imagetrans&quot;&gt;Using ImageTrans&lt;/h2&gt;

&lt;p&gt;Below, we introduce how to use the Kandianguji Ancient Book API to recognize an image from &lt;em&gt;Shishuo Xinyu&lt;/em&gt; (A New Account of the Tales of the World).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/album/ancient-book/shi_shuo_xin_yu02.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;api-configuration&quot;&gt;API Configuration&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Install the Kandianguji Ancient Book OCR plugin. Extract the plugin into the software’s plugins directory. &lt;a href=&quot;/assets/kandiangujiOCRPlugin.zip&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Open ImageTrans, go to Preferences → API Settings, and fill in the API and account credentials (email or phone number) for the kandianguji entry.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The API can be obtained from the Kandianguji Ancient Books official website: &lt;a href=&quot;https://kandianguji.com/shuzihua?page_mode=ocr_api&quot;&gt;https://kandianguji.com/shuzihua?page_mode=ocr_api&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;text-recognition&quot;&gt;Text Recognition&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Create a new project and import PDF or image files. ImageTrans can directly extract images from scanned PDFs, importing hundreds of images in seconds.&lt;/li&gt;
  &lt;li&gt;Select the OCR engine as kandianguji, then click Edit → Detect text areas and recognize text to recognize text on a single image. The results will be highlighted on the original image, and both the recognition positions and text can be edited.&lt;/li&gt;
  &lt;li&gt;To process all images, click Menu → Project → Batch Process → Detect text areas and recognize text for all pictures.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;/album/ancient-book/imagetrans.jpg&quot; alt=&quot;Screenshot&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;export&quot;&gt;Export&lt;/h3&gt;

&lt;p&gt;After recognition, you can export the results as a searchable PDF or Markdown file.
A searchable PDF retains the original scanned images while embedding a hidden text layer, making it easy to perform full-text search and copy text.&lt;/p&gt;

&lt;p&gt;The Markdown format is more suitable for subsequent editing, version management, and AI processing, such as importing into knowledge base systems, generating training data, or performing automatic translation.&lt;/p&gt;

&lt;p&gt;Note that due to the large number of rare characters in ancient books, a font with a large character set, such as Source Han Sans (&lt;a href=&quot;https://github.com/unix755/SourceHan-font-ttf/releases/download/latest/SourceHanSansTC_TTF_2.005R.zip&quot;&gt;Download&lt;/a&gt;), should be used to generate the text layer of the PDF.&lt;/p&gt;

&lt;h3 id=&quot;post-processing&quot;&gt;Post-processing&lt;/h3&gt;

&lt;p&gt;Using large language models, you can further proofread the recognized text, add punctuation intelligently, translate, convert variant characters to standard forms, and perform traditional-simplified Chinese conversion. These features are yet to be integrated.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Digitizing ancient books is not just about converting paper documents into images; it is more important to transform them into searchable, editable, and analyzable data. With the Kandianguji Ancient Book OCR and ImageTrans’s visual proofreading capabilities, users can quickly convert scanned ancient texts into searchable PDF and Markdown files, providing a foundation for further research, organization, and AI analysis.&lt;/p&gt;
</description>
        <pubDate>Tue, 02 Jun 2026 12:55:50 +0000</pubDate>
        <link>https://www.basiccat.org/Chinese-ancient-books-OCR-PDF-markdown/</link>
        <guid isPermaLink="true">https://www.basiccat.org/Chinese-ancient-books-OCR-PDF-markdown/</guid>
        
        <category>imagetrans</category>
        
        
        <category>blog</category>
        
      </item>
    
  </channel>
</rss>
