FluentRead bilingual reading and translation setup

Document type
Field manual
Updated
Reading time
14 min

Start with webpage translation without an API key, then configure FluentRead's providers, AI sentence analysis, local models, documents and subtitles, with backup, privacy and troubleshooting guidance.

Source
Document details
fluentread/fluentread
License
GPL-3.0

Translate and restore an article with a free service first, then add AI explanations, documents, subtitles or local translation as needed.

01Uses and boundaries

Purpose and verification scope

FluentRead is an open-source browser extension that displays translations beneath the original text and provides selection translation, AI reading cards, learning records, document reading and bilingual captions on supported platforms. Its inputs are webpage text, selected sentences, documents or readable captions. Available output and controls depend on the installed build, browser and selected translation service.

Basic webpage translation can use free services without an API key. AI explanations need an available AI service and model. A local model changes the processing path for its assigned feature; it does not establish that every tool runs offline.

02Choose the matching build

Installation and first translation

The official README supplies the installation links below. After installing for the relevant browser, refresh pages that were already open and pin the FluentRead toolbar icon.

EnvironmentInstallationLimits to check
ChromeChrome Web StoreThe store version can differ from the source checkout
EdgeEdge Add-onsMobile installation availability depends on browser version and management policy
FirefoxMozilla Add-onsUse the compatible installation method offered on the device
UserscriptGreasy ForkRequires an enabled compatible script manager and has fewer features
SafariUserscripts or the native developer previewNo ready Safari store package; a desktop extension ZIP cannot be installed directly on an iPhone

In Chrome, find FluentRead in the extensions menu beside the address bar and select its pin icon. Other browsers may place this control elsewhere; first confirm that the FluentRead menu opens.

  • Not completed:

    Test on an ordinary HTTP(S) article, avoiding protected pages such as browser settings and extension stores.

  • Not completed:

    On first opening, choose and confirm the interface language; this controls buttons and settings only.

  • Not completed:

    Set the target language separately and leave source-language detection automatic initially.

  • Not completed:

    Start with Free translation services and confirm that an available service supports the target language.

  • Not completed:

    Select Translate, then use Restore after reading.

03Choose for the reading task

Features and their entry points

Webpage reading

Translate / Restore

Compare languages and restore the original

Read source text and translations together, with content processed near the reading position by default. Restore the page before starting again after changing language or service.

Word and sentence lookup

Selection translation

Look up the current selection

Enable it, select text and choose the nearby FluentRead icon to use the available translation, dictionary and read-aloud tools.

Closer reading

AI explanations / Structure

Use an available AI model for meaning and sentence structure

Configure an AI service and model, then request an explanation or structure analysis. Check the result against the original; unaligned output may fall back to a text explanation.

Continued study

Learning Center

Keep expressions with their source context

Save words, phrases and sentences for later reading and review. Learning data and configuration backups cover different things.

Document reading

Document translation

Import, translate, proofread and download documents

Open files within format and size limits, switch between original, bilingual and translated views, and download the translations and edits currently retained.

Video reading

Video subtitle translation

Compare captions in supported players

Most platforms must supply readable captions. Some desktop extension builds can use local recognition on X; userscripts do not provide subtitles.

Opening a selection card does not automatically call AI. A deliberate learning action sends the selection and permitted context to the configured service.

04Connections, models and costs

Translation services and AI setup

Choose a service under Settings → Translation services and enter its URL, key and required provider fields; an AI service also needs a model available to the account. Check connection sends a short request and may use allowance. Success describes that check only.

  1. Confirm language support, API allowance, region and model access with the provider.

  2. Configure and check the connection, then choose Set as default translation service.

  3. Test a short ordinary passage before translating a full article.

  4. Documents, subtitles and reading cards can use separate services, so check each active selection.

RouteRequired informationCost and processing boundary
Free translationAvailable candidates and language settingsNo API key, but public endpoints can throttle, change or stop working
Existing machine-translation accountMatching key, region or account fieldsCharges follow the provider's API plan and allowance
AI serviceCorrect endpoint, key and available modelA chat-product subscription may not include API allowance
Custom compatible endpointMatching protocol, model ID and complete routeThe compatible endpoint uses OpenAI Chat Completions; other protocols cannot be treated as the same entry point

Automatic balancing or fallback in the free service may send the same passage to another provider. To restrict text to a single provider, disable other candidates or select that provider's standalone service.

Extra AI context and AI multi-paragraph translation are off by default. Context submits more webpage text and may increase allowance use and waiting time. Its range is limited, so verify terminology and important information.

05Check each processing path separately

Browser-local models and Ollama

RouteSetupLimits
Local model translationSelect a model in service settings, download and verify it, then choose it for translationNo separate server; requires the browser extension and is unavailable in the userscript
Ollama (local)Install Ollama, start its server, download a model and enter the installed model's nameAllow the extension's origin to connect; manage the server and model separately

Ollama's default address is http://127.0.0.1:11434 without an API key. Other devices or ports need a complete /v1/chat/completions URL as documented. On slower computers, set concurrency to 1 under Request limits → Entire service → Custom, then observe response times and resource use.

The first local-model download still needs a connection, and download size is not runtime memory use. Model files remain in the current browser and are excluded from configuration backups. Ollama manages its own model residency.

06File, player and device limits

Document and subtitle availability

Document import and download

Open Document translation and import a file or provide a direct online PDF link. If a login prevents the link from opening, download the file and import it locally.

ItemConfirmed scope
Document formatsPDF, ePub, DOCX, HTML, TXT, Markdown, JSON
Subtitle file formatsSRT, VTT, ASS, SSA, LRC
Size limits50 MB for PDFs; 10 MB for other formats
Older Word filesConvert .doc to .docx first
Scanned PDFRecognize text before translation; recognition-language data may need downloading
Downloaded outputChoose bilingual or translation-only output, including retained proofreading edits

Documents can pause, continue and retry while retaining completed results and edits. After changing language or some settings, Retranslate replaces existing translations and manual edits. Download the current version first if it needs to be kept.

Untranslated passages keep their original text in partial downloads, so a download does not establish full translation. Check recognition, formulas and specialist terms against the source file. Clearing browser data can also remove local documents and edits.

Video and meeting captions

The official guide lists YouTube, X, Udemy, Disney+ and Google Meet, Teams and Zoom web meetings. Most routes need readable captions supplied by the platform. Account, region, player and meeting-host permissions can restrict availability.

Enable Video subtitle translation, then enable the player's native captions. For X videos without captions, supported desktop Chrome, Edge and Firefox extensions can use Whisper in the browser. Models download on first use, and the documented limit is 20 minutes per video.

Whisper recognition can run locally, but recognized text may still go to the selected translation service. FluentRead does not create captions for meetings that supply none and does not control desktop meeting applications.

07Builds have different capabilities

Userscripts, phones and Safari

Userscripts require a compatible manager such as Tampermonkey, Violentmonkey, Via or Safari Userscripts. Keep a single FluentRead script enabled, check site access and the script switch, then reload an ordinary webpage.

BuildAvailable routeMain limits
General userscriptCore webpage, selection and hover translationNo image OCR, area capture, video subtitles, writing assistance or some statistics
Android ViaBuild and import the standalone script as documentedGreasy Fork and source builds update separately; check the file and manager versions
Safari UserscriptsEnable the manager and site access, then open settings from the floating buttonNo script menu commands; page and service-domain access follow separate rules
Native SafariDeveloper preview for Safari/iOS 26+Requires a source build, Xcode and signing; no Safari store package yet

The native Safari preview still lacks Chrome's built-in translation, image OCR, area capture and some platform features. iOS system video fullscreen does not display normal webpage overlays. The system-caption route described in the guide still needs physical-device verification.

08Narrow the scope before changing settings

Reading and configuration practices

Follow the reading position

The default mode translates passages near the current reading position first. Scroll down to check for more results; unseen passages are not automatically failures.

Restore before changing services

Restore webpage originals before translating again after changing language, service or some base styles. Documents have separate continuation and retranslation rules, so keep important edits first.

Translate a selected area

Use Section to choose an article or thread, then confirm translation after locking it. Selecting the area alone does not send a translation request.

Avoid overlapping translation tools

For duplicate text or broken layout, restore the page and disable browser translation and other translation extensions to isolate the conflict.

Sentence roles and parts of speech describe different things, and model formatting can cause analysis to fall back to text. Treat the result as a reading aid and compare it with the sentence and context. Use a glossary when important terms need consistent translation.

09Suggested procedure and observable results

Reading an article from start to restore

Use an ordinary public article with Traditional Chinese as the target language. Start with free translation without an API key. AI explanations remain optional for users who already have an available service.

StageActionObservable result
Establish a baselineRefresh the article, open FluentRead and check interface and target languages separatelyButtons use the chosen interface language, with the translation target shown separately
Read both languagesChoose Free translation services, select Translate and scrollOriginals remain while nearby passages gain translations
Look up a sentenceEnable Selection translation, select a sentence and open its cardThe card shows the current selection and available lookup tools
Request an explanationWith an available AI service, configure AI explanations and select Structure deliberatelyStructure or text explanation appears; ordinary translation remains available without AI setup
Compare and restoreCheck terms against the original, then select RestoreOriginal text returns and pending webpage translation stops

This procedure follows the official interface documentation; this research did not run the extension. When testing it, record the browser, installed version, service, language and article URL, with private content removed from screenshots.

10Separate local storage from external requests

Privacy, keys and backups

Settings and learning records stay local by default. Cloud translation sends relevant text to the chosen provider, and fallback may send it to another provider. Extra AI context, documents and subtitles have separate processing paths, so check the feature and service before using sensitive material.

API keys persist in local settings instead of disappearing when the browser closes. Configuration storage uses public application material for encryption, so it does not provide secrecy under a user-owned password. People with access to the browser profile or backups may still read credentials.

Backup typeContentsLimits to check
Local full backupSettings, wordbooks and model usage, potentially including API keys, service credentials and source textUnencrypted JSON; not an image of every local database
Basic cloud settingsGeneral settings such as language, appearance, shortcuts and website rulesExcludes connections, keys, model selections, URLs and private prompts by default
Sensitive cloud settingsAdds service connections, credentials and private prompts from settings after explicit selectionStill excludes wordbooks, conversations, usage statistics and recent documents

Google Drive and WebDAV configuration backups are manual; changing settings does not upload them automatically. Consent for sensitive settings stays in the current browser until that option is disabled. Cancellation, failure or changing accounts does not clear the choice automatically.

The official backup guide and privacy guide explain that disabling sensitive settings, revoking access or uninstalling does not delete old cloud files. To remove existing secrets, confirm a basic-settings save or merge and manage cloud version history and other copies separately.

11Symptoms, causes and next steps

Troubleshooting and known limits

SymptomFirst checkNext action
Webpage does not changeExtension switch, page access and protected-page restrictionsRefresh an ordinary article and retry a single passage
Only nearby passages are translatedDefault reading-position behaviorScroll down, then check service and article-recognition scope
Interface is Chinese but translations are notInterface and target languages are separateCorrect the target, restore and translate again
Selection translates but AI analysis is missingAI service, model and deliberate learning actionConfigure an available service and request explanation or structure
Connection check failsURL, key, model, region and allowanceFollow the provider's error code without sharing complete requests
HTTP 404 returns a webpageEndpoint path or protocol mismatchCheck the complete route; this alone does not prove an invalid key
Rate limits or full-article failureConcurrency, request count and provider allowanceReduce concurrency or scope, retry later or change services
Document cannot be importedFormat, size, login and recognition requirementsDownload an accessible file and check its limits before retrying
Video lacks bilingual captionsBuild type, caption switch and native captionsEnable platform captions first; on X, check supported local recognition
Duplicate translations or broken layoutOther translation tools act on the same pageRestore, then disable conflicting tools individually

Free endpoints, models and browser restrictions can change, and a documented feature may not have reached the installed store build. Report the installed version and publicly reproducible steps. Verify important recognition, translation and AI-explanation output manually.

12Optional developer route

Source builds and contributions

Readers can use a store build. To investigate or change the code, use the checked commit, Node.js 22.23.4 from .nvmrc and the package's pnpm 12.18.0 through Corepack.

bash
git clone https://github.com/FluentRead/FluentRead.git
cd FluentRead
git checkout 2f0fb198db20addfbfda06b84185a7638a6dfc52
nvm install
corepack pnpm install --frozen-lockfile
corepack pnpm dev

corepack pnpm dev starts local development, and corepack pnpm zip packages Chrome. These are upstream project commands. This research did not install dependencies, build the extension or load it in a browser.

The maintainer release guide covers Edge, Firefox, Userscript and Safari builds separately. Producing a ZIP does not complete store review or signing. Platforms such as Firefox and Safari have their own distribution requirements.

13Continue from the reading workflow

Further reading and reporting problems

Complete basic translation and restore before configuring AI, document or subtitle services. To reduce external text transfer, consider a local translation route and check the network behavior of other tools separately.

The official README welcomes code, documentation, interface translations and website-adaptation contributions. Describe a single reproducible problem with expected and actual results before proposing a matching change.

References