Page updated:

AI Translation

The AI Translation feature can translate the pushed content into any language, helping you break down language barriers. Whether you're reading domestic trending news or subscribing to overseas RSS feeds, you can get the content in a language you're comfortable with.

Enabling translation

Add the following configuration in config/config.yaml to turn on translation:
ai_translation:
  enabled: true
  language: "English"  # target language; enter the language you want to translate into

Supported languages

You can set the language field to any of the common languages below, or enter any other language name:
Language valueDescription
EnglishEnglish
KoreanKorean
JapaneseJapanese
FrenchFrench
SpanishSpanish
GermanGerman
...You can enter any language name, and the AI will attempt to translate into it

Features

FeatureDescription
One-click enableJust set enabled: true and a target language in the configuration file to turn on translation
Smart batch processingWhen translating many titles, requests are automatically batched to reduce API calls and save costs (added in v6.10.0)
Custom translation styleCustomize the translation prompt via the ai_translation_prompt.txt file to adjust the style and tone
Shared model configurationShares the same model configuration as the AI analysis feature — you only need to configure ai.api_key once
Section-level controlYou can control whether translation is enabled for each section independently, such as hot lists, RSS, and standalone pushes
Smart skippingPush sections that are not set to display are automatically skipped during translation, saving token usage

Batch processing mechanism

Since v6.10.0, AI Translation includes a smart batch processing mechanism. When many titles need to be translated, the system automatically sends translation requests in batches, avoiding exceeding the model's limit in a single request while reducing the number of API calls to lower usage costs.
You can adjust batch processing behavior with the following settings:
ai_translation:
  batch_size: 100     # Number of titles sent to the AI per batch (default: 100)
  batch_interval: 2   # Interval in seconds between batches to avoid API rate limits (default: 2)
The default settings are suitable for most scenarios and usually don't need to be changed. If your AI service has stricter rate limits, you can reduce batch_size or increase batch_interval.

Customizing the translation style

If you're not satisfied with the default translation, you can adjust the translation prompt by editing the config/ai_translation_prompt.txt file. For example, you can ask the AI to use more colloquial wording, or to leave certain terms untranslated.

Section-level translation control

The translation feature supports controlling each push section independently. You can choose to translate only the hot list content, only the RSS content, or only the standalone push section. Sections that are not set to display are automatically skipped, so no tokens are wasted.
ai_translation:
  scope:
    hotlist: false    # Do not translate hot list titles (default: off)
    rss: true         # Translate RSS titles (default: on)
    standalone: true  # Translate standalone section titles (default: on)
Default values for each field: hotlist defaults to false (off), while rss and standalone default to true (on). You can adjust these to suit your needs.

Notes

Recommended RSS feeds

If you're looking for high-quality overseas RSS feeds, the following two open-source projects have curated large lists of high-quality RSS feeds that you can use together with the translation feature:
awesome-tech-rss
A collection of blog RSS feeds about technology, startups, and programming
awesome-rss-feeds
A curated collection of RSS feeds from major news media around the world