jimmysu0309/shinkansen-rss-translator — explained in plain English
Analysis updated 2026-05-18
Subscribe to a foreign-language RSS feed and read it translated into Traditional Chinese.
Feed a translated output into a reader app like Miniflux or Readwise Reader.
Track translation cost and token usage per feed with a built-in dashboard.
Fetch full article bodies instead of RSS summaries before translating.
| jimmysu0309/shinkansen-rss-translator | 00kaku/wp-rest-playground | botpress/documentation-v12 | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | — | — | 2023-02-07 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | hard | easy |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | general | developer | writer |
Figures from each repo's GitHub metadata at analysis time.
Needs Node 20+ with git submodules, and a Gemini API key for the higher quality engine.
Shinkansen RSS Translator is a self-hosted server that takes any RSS or Atom feed, translates it into Taiwanese Traditional Chinese, and outputs a new feed that a reader app such as Miniflux or Readwise Reader can subscribe to. It reuses the translation engine from a separate browser extension project called Shinkansen, pulled in as a pinned git submodule, so it inherits that project's tuned prompt, its list of banned mainland Chinese terms to avoid, and its approach to splitting text into segments so nothing gets skipped during translation. The project supports two translation engines: Gemini, which gives higher quality results but needs an API key, and Google Translate, which is free and needs no key. Either can be chosen globally or per feed. When translating an article, only the text is sent for translation while page elements like images and links are held in place with placeholders, so the original HTML structure survives the round trip. Everything is managed through a web interface in the browser: adding and editing feeds, importing and exporting OPML lists, a usage dashboard showing cost and token counts per model, and a log of fetch, translate, and error events that can be filtered and exported to CSV. Feeds can optionally fetch the full article body instead of just the RSS summary before translating it. A cron based schedule handles automatic fetching and translation on a timer, and conditional GET requests mean unchanged feeds are not re-downloaded. Under the hood it runs on Node.js with a Fastify web server and a single SQLite database file for storage. The service can self-maintain by trimming old articles per feed, rotating log retention, and taking a daily automatic backup of the database with the last seven kept. An optional password can be set to protect the web interface and API while the translated RSS output itself stays open so reader apps can fetch it. The project is released under the Elastic License 2.0, which allows viewing, learning from, modifying, and self-hosting the code but forbids repackaging it as a paid hosted service.
A self-hosted server that translates any RSS or Atom feed into Traditional Chinese and republishes it for your feed reader.
Mainly JavaScript. The stack also includes Node.js, Fastify, SQLite.
You can view, modify, and self-host the code freely, but you cannot resell it as a hosted service.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.