Private Document Translation¶
When translating contracts, internal memos, medical records, or any document containing sensitive information, sending text to a cloud translation service introduces a data privacy risk. Backend.AI GO translates in chat with a model running on your machine, so your content never leaves your device.
This guide walks through a private translation workflow, from choosing a model to creating glossaries and translating files, all without an internet connection.
Why Translate Locally?¶
| Concern | Cloud translation | Backend.AI GO |
|---|---|---|
| Data privacy | Text is sent to external servers | Text stays on your machine |
| Compliance | May violate data-handling policies | Fully local, auditable |
| Internet required | Yes | No |
| Custom terminology | Limited or paid add-on | Built-in glossary support |
Prerequisites¶
Before you begin, make sure you have:
- Backend.AI GO installed and running
- A model downloaded and running (see Compatible Models below). To translate files, the model must support tool calling.
- Enough disk space and RAM for the model (check model requirements on the download page)
Step 1: Download a Model¶
-
Open Backend.AI GO and go to the Models page.
-
Search for a model. To translate both text and files, pick a general model that supports tool calling, such as a recent Qwen model.
-
Click Download and wait for the model to finish downloading.
-
Once downloaded, run the model so it's ready for inference.
Dedicated Translation Models
Models built for translation, such as TranslateGemma, do not call tools, so they cannot translate attached files in chat. Use a general model with tool calling for files.
Gated Models May Require a Hugging Face API Key
Some models (such as TranslateGemma) are gated models on Hugging Face, meaning you must accept the model's license terms and authenticate to download them. If the download fails or you see an access error, go to Settings → Models (Storage & access section) and enter your Hugging Face API token. You can generate a token at huggingface.co/settings/tokens.
Step 2: Translate Text¶
-
Click New chat in the sidebar and select your running model in the composer.
-
Paste the text and say which language you want, for example "Translate this into Korean: ...". With a model that cannot call tools, such as TranslateGemma, click + in the composer and choose Translate instead, then paste the text and choose the language.
-
The translation view opens with the text on the left and its translation on the right. Edit the text, and only the sentences you changed are translated again. Copy the translation with the copy button under it.
Step 3: Set Up a Glossary¶
When translating technical, legal, or medical documents, certain terms must always be translated the same way. Glossaries enforce this consistency.
Create a Glossary¶
-
Open Data in the sidebar and choose the Glossary tab.
-
Click Create Glossary.
-
Fill in the details:
- Name: A descriptive name (for example, "Legal Terms EN→KO").
- Description: Optional context about the glossary's purpose.
- Source Language: The language of the original terms.
- Target Languages: One or more translation target languages.
-
Click Create Glossary in the editor.
Add Terms¶
-
Click Edit Glossary on the glossary card you just created.
-
Click Add Entry to add a new term.
-
Enter the source term and its translation for each target language.
-
Repeat for all terms you want to standardize.
Example glossary for a software company:
| Source (EN) | Target (KO) |
|---|---|
| Backend.AI | Backend.AI |
| inference | 추론 |
| model | 모델 |
| fine-tuning | 파인튜닝 |
| endpoint | 엔드포인트 |
How a Glossary Applies¶
A glossary applies on its own when one of its terms appears in your message, or in the text of a TXT or Markdown file you attach. A chip above the composer names it (Glossary: Legal Terms EN→KO ×), and clicking the chip turns it off for that message.
For a Word, PDF, or EPUB file, or an image, the terms cannot be found before the message is sent. Click + in the composer, choose Use a glossary, select the glossary, and click Apply before you send.
Glossary Scope
A glossary applies when its terms appear in the text: in the translation view, and in the message a translation tool translates a file for.
Step 4: Translate Files¶
For translating entire documents rather than snippets of text:
-
Click + in the composer and choose Attach file, or drag the file onto the composer.
-
Supported file formats:
Format Notes TXT, MD Plain text and Markdown files DOCX Microsoft Word documents, translated with their structure kept PDF, EPUB Translated and saved as Markdown PNG, JPG, GIF, WebP Images; the text in them is read and translated. Needs a model that can read images -
Ask for the translation, for example "Translate this file into Korean".
-
A card under the reply holds the translated file. In the desktop app, Show in folder shows where it was saved. In a browser, Download saves it.
Several Files
Attach and translate one file per message, so each translated file gets its own card.
Example Workflow: Translating a Contract¶
Here is a complete workflow for translating a confidential contract from English to Korean:
-
Prepare: Download and run a general model that supports tool calling.
-
Create a glossary: In Data → Glossary, add legal terms that must remain consistent (for example, "indemnification" → "면책", "jurisdiction" → "관할권").
-
Pick the glossary: Choose Use a glossary from the composer's + menu and select it, since a PDF's terms cannot be matched before sending.
-
Translate: Attach the contract PDF and ask for a Korean translation, or paste sections into the message for review.
-
Review: Check the translation for accuracy. Adjust glossary terms if needed and translate again.
All of this happens locally. The contract text never leaves your machine.
Compatible Models¶
| Model | Description |
|---|---|
| Qwen (various sizes) | General-purpose model with strong multilingual capabilities and tool calling. Translates text and files. |
| Llama (various sizes) | General-purpose model capable of translation. Files need a version that supports tool calling. |
| TranslateGemma 4B Instruct | Dedicated translation model with broad language support. It does not call tools, so it cannot translate attached files in chat. |
Tips¶
- Disconnect from the internet if your security policy requires it. Translation works fully offline once the model is running.
- Create separate glossaries for each project or domain (legal, medical, technical) to keep terminology organized.
- Review translations before using them in official documents. AI translation handles the first pass, and a human review ensures quality.
Related Pages¶
- Translation: full reference for translating in chat and for glossaries
- Downloading Models: how to find and download models
- Running Models: run and manage local models