Transl8 Documentation
Complete guide to AI-powered translation of Revit models across 34 languages. Transl8 scans your model for all translatable text -- rooms, sheets, schedules, keynotes, parameters, and more -- then translates everything in a single batch using an AEC-domain-aware AI engine with built-in architectural glossaries.
What It Does
International architectural practices routinely need to produce drawings in multiple languages -- UK firms working in China, Italian studios delivering in the Middle East, Scandinavian offices producing documentation for Southeast Asian projects, or any practice collaborating across borders. Currently this means days of manual work: finding every room name, sheet title, annotation, schedule header, and parameter value, then translating each one correctly using the right industry terminology. Transl8 automates the entire process with a single dialog.
Any Language to Any Language
Transl8 is not English-centric. Any of the 34 supported languages can be used as either the source or target language. Translate Italian to Chinese, French to Arabic, Japanese to German, or any other combination. The AI translation engine handles all language pairs natively. Built-in AEC glossaries are available for 36 language pairs, with the AI system prompt providing AEC-domain intelligence for all other combinations.
You can preview translations in multiple target languages before committing any changes. Switch between Spanish, Polish, and Japanese freely -- each translation is cached in the per-project database and recalled instantly with no additional API cost. Only when you click Apply is the translated text written into the model.
Regional Language Variants
Languages with significant regional differences are supported as separate entries with dedicated glossaries and AI prompt tuning:
| Language | Code | Regional Differences |
|---|---|---|
| Spanish (Spain) | es | Aparcamiento, Ascensor, Fontaneria, Aseo |
| Spanish (Latin America) | es-419 | Estacionamiento, Elevador, Plomeria, Sanitario |
| Portuguese (Portugal) | pt | Casa de Banho, Res-do-chao, Betao, Canalizacoes |
| Portuguese (Brazil) | pt-BR | Banheiro, Terreo, Concreto, Tubulacao |
| Simplified Chinese | zh-Hans | Mainland China (PRC) conventions, GB/T terminology |
| Traditional Chinese | zh-Hant | Taiwan/Hong Kong conventions |
Main Transl8 dialog -- scanning and language selection
AEC-Domain Intelligence
Generic translation tools produce incorrect results for architectural content. "Plant Room" gets translated as vegetation. "WC" gets a literal translation instead of the local equivalent. "Riser" becomes "something that rises" instead of a vertical services shaft. Transl8 uses an AI translation engine with AEC-specific system prompts and built-in glossaries that understand construction terminology, producing industry-standard translations that architects actually use on real projects.
Four-Phase Translation Pipeline
Every translation request goes through four phases to maximise accuracy and minimise API costs:
- Glossary lookup -- project and built-in glossary terms are applied first (instant, free, deterministic)
- Translation memory -- previously translated text is recalled from the per-project database (instant, free)
- AI batch translation -- only new, untranslated text is sent to the Claude API in optimised batches
- Glossary override -- after AI translation completes, glossary terms override any AI or memory results to ensure deterministic terminology for known terms. User-edited translations are never overridden.
Supported Element Types
Transl8 scans fourteen categories of translatable content, accessible via the category sidebar on the left of the main dialog. When "All Categories" is selected, items are sorted alphabetically by category.
| Category | What Gets Translated | Notes |
|---|---|---|
| Rooms | Room Name, Department, Occupancy, Comments, Finishes | Filters out unplaced rooms (Area = 0) |
| Areas | Area Name, Department, Comments | Area plan elements; also extracts Area Scheme names |
| Sheets & Title Blocks | Sheet Name, Revision Description, user parameters, title block label parameters | Excludes people's names and identifiers |
| Views | View Name, Title on Sheet | Excludes templates and sheet views |
| Text Notes | Full text content | Preserves formatting (bold, italic, underline) |
| Schedules | Schedule Name + column headings | Excludes titleblock revision and internal keynote schedules |
| Keynotes | Keynote text entries | Creates a translated copy; original never modified |
| Family Types | Type Name and Family Name | 21 targeted categories including Doors, Windows, Furniture, Plumbing, MEP |
| Materials | Name, Description, Comments, Keywords, Mark | Only materials actually used in the model |
| Revisions | Description, Date, Issued To, Issued By | Pure numeric dates skipped; text dates translated |
| Dimensions | Override text on dimension segments | Only dimensions with user-applied text overrides |
| Parameters | Shared/project parameter string values + Project Information | Scans 34 categories; excludes parameters covered by other extractors |
| Global Parameters | String-valued global parameters | Project-wide parameters with text values |
What Should Not Be Translated
Certain model content is intentionally excluded from translation because it serves as a reference identifier that must remain consistent across all language versions:
| Content | Reason |
|---|---|
| Grid names (A, B, 1, 2, 3) | Structural reference identifiers |
| Level datum names | Datum references -- translating breaks filters and schedules |
| Sheet numbers | Document identifiers -- must match across all language editions |
| Room numbers | Spatial identifiers -- referenced in fire strategies and FM systems |
| Door/Window marks | Element identifiers -- cross-referenced in schedules |
| Drawn By / Checked By / Approved By | People's names -- not translatable |
| Element IDs and GUIDs | System identifiers |
| File paths | System references |
Translation Workflow
Scanning a Revit model -- language selection and scan results
Preview grid with colour-coded status, search, and category filtering
Translation progress overlay with batch processing and pause/resume
Inline editing, element selection in Revit, and batch selection
Applying translations to the Revit model with progress reporting
Excel export with colour-coded status cells and summary sheet
Translation Status Codes
| Status | Colour | Meaning |
|---|---|---|
| Pending | Grey | Not yet translated |
| Translated | Green | Translation complete (from AI, glossary, or memory) |
| Glossary | Cyan | Matched from the built-in or user glossary |
| Memory | Blue | Recalled from translation memory |
| Stale | Amber | Source text changed since last translation |
| Applied | Dark green | Successfully written back to the model |
| Edited | Purple | User manually edited the translation |
Glossary System
Built-In AEC Glossaries
Transl8 ships with 36 built-in AEC glossaries covering the most common language pairs in international practice. Glossaries are loaded automatically when the matching source-target pair is selected.
English Source Glossaries (33)
Each English-source glossary contains 549-551 AEC terms covering the target language. Supported targets include: Simplified Chinese, Traditional Chinese, Arabic, Japanese, Korean, French, German, Spanish (Spain), Spanish (Latin America), Portuguese (Portugal), Portuguese (Brazil), Italian, Swedish, Danish, Norwegian, Finnish, Dutch, Polish, Czech, Romanian, Hungarian, Greek, Turkish, Ukrainian, Croatian, Slovak, Bulgarian, Hebrew, Hindi, Thai, Vietnamese, Malay, and Indonesian.
Italian Source Glossaries (3)
| Target Language | Terms | Notes |
|---|---|---|
| English (en) | 341 | Italian studios producing international documentation |
| Simplified Chinese (zh-Hans) | 342 | Italian practices working in China |
| Arabic (ar) | 342 | Italian practices working in the Middle East |
Glossary Categories
Each glossary covers up to eleven categories:
- Architecture -- Room names, circulation spaces, floor levels, specialist spaces
- Structure -- Columns, beams, slabs, foundations, shear walls, reinforcement, precast elements
- MEP -- HVAC systems, electrical distribution, fire protection, plumbing, air handling
- General -- Drawing types (plans, sections, elevations), schedules, title block elements
- Healthcare -- Treatment rooms, diagnostic suites, linear accelerator vaults, clean rooms
- Education -- Classrooms, laboratories, lecture halls, libraries, sports facilities
- Hospitality -- Guest rooms, lobbies, restaurants, conference centres
- Retail -- Shop floors, stockrooms, fitting rooms, food courts
- Materials -- Concrete, steel, timber, insulation, waterproofing, finishes, cladding
- Data Centre -- Server rooms, cooling, UPS, cable management, access flooring
- NBS Specifications -- Specification clause descriptions and headings
Translation priority follows a strict hierarchy: User edits > Glossary > AI > Memory. User-edited translations are never overridden. Glossary entries always take priority over AI and memory translations, ensuring critical AEC terms are translated consistently.
User Glossaries
Users can create project-specific or firm-wide glossaries for any language pair. User glossaries can be placed in:
%AppData%\AUTOM8LABS\Transl8\Glossaries\-- default user glossary folder- Any additional folders configured in Settings (network drives, project folders)
Both JSON and CSV formats are supported. User glossary entries override built-in terms when there's a conflict. Glossaries are reloaded automatically whenever the Transl8 dialog is opened and on every model scan. Export your current translations as a CSV glossary directly from the dialog using the Export Glossary button.
Glossary terms applied during translation with priority indicators
Common AEC Corrections
The AI system prompt includes explicit corrections for frequently mistranslated terms:
| English Term | Correct Translation | Common Mistake |
|---|---|---|
| Plant Room | Mechanical/services room | Vegetation room |
| WC | Local toilet/washroom equivalent | Literal "water closet" |
| Riser | Vertical services shaft | "Something that rises" |
| FFL | Finished Floor Level | Literal translation |
| DPC | Damp Proof Course | Literal translation |
| Soffit | Underside of element | Generic "bottom" |
| Cill / Sill | Window sill | Literal translation |
Translation Memory
Transl8 maintains a per-project translation memory database. The storage location is determined automatically based on the model type:
| Model Type | Memory Location | Shared? |
|---|---|---|
| Local file | {ModelDir}\Transl8\memory.db | N/A (single user) |
| Workshared (file server) | {CentralModelDir}\Transl8\memory.db | Yes -- all users share one database |
| Cloud (ACC / BIM 360) | %LocalAppData%\...\CloudProjects\{guid}\memory.db | No -- per-user, but stable across sessions |
For workshared models on a file server, the database is placed next to the central model (not the local copy), so all team members with Transl8 share the same translation memory. The SQLite database uses WAL (Write-Ahead Logging) mode for safe concurrent access.
Previously translated text is automatically recalled on subsequent scans, so you never pay to translate the same text twice. The memory persists across sessions and is specific to each source-target language pair.
Multi-Language Translation
Transl8 treats the current model text as the source language. Translation is a two-step process: Translate (preview) and Apply (commit). This separation enables powerful multi-language workflows.
Preview multiple languages before committing:
- Open an English model and set target to Spanish -- click Translate -- translations cached in the database
- Switch target to Polish -- click Translate -- Polish translations cached alongside the Spanish ones
- Switch target to Japanese -- click Translate -- Japanese translations also cached
- Switch back to Spanish -- translations recalled instantly from the database (no API call, no cost)
At this point the database holds translations for all three languages against the English source text. The model itself is unchanged -- still in English. You can compare languages, review, edit, and only apply when you're satisfied.
Apply commits the language:
- Click Apply with Spanish selected -- model text becomes Spanish
- Spanish is now the source language for any future translations
- If you later need French, Transl8 translates from Spanish (the current model text) to French
If you applied Spanish and want to undo it, Revert Selected restores the English text. If you then applied French, Revert would restore the Spanish text. Each Apply stores a snapshot of the pre-apply text for that element.
Version-Specific Storage
| Revit Version | Translation Memory Format |
|---|---|
| 2025-2026 | SQLite database (memory.db) with WAL mode |
| 2022-2024 | JSON file fallback (memory.json) |
If the project directory is read-only, the memory falls back to %LocalAppData%\AUTOM8LABS\Transl8\.
AI Translation Engine
Transl8 uses Claude Haiku 4.5 (claude-haiku-4-5-20251001) as its primary translation engine -- the fastest Claude model, optimised for the high-throughput, low-latency requirements of batch translation while maintaining strong AEC-domain accuracy.
Prompt Caching
The system prompt (which includes AEC-domain instructions, common term corrections, and the full project glossary) is sent with cache_control: ephemeral. This means the first batch in a session pays full cost for the system prompt, but all subsequent batches get approximately 90% discount on system prompt tokens. For a model with 300+ items translated in 5-6 batches, this significantly reduces total API cost.
Automatic Retry
Transient API errors are handled with automatic retry and exponential backoff:
| Error | Retries | Backoff |
|---|---|---|
| 429 Rate Limited | 3 | 2s, 5s, 10s (or Retry-After header) |
| 529 Overloaded | 3 | 2s, 5s, 10s |
| 500/502/503 Server Error | 3 | 2s, 5s, 10s |
Failed batches do not lose previously completed batches. If all retries are exhausted, the remaining items are left as Pending and can be retranslated later.
Font Validation
Revit displays placeholder boxes when the assigned font doesn't support the target language's character set. Before applying translations, Transl8 validates that the required fonts are installed:
| Language | Required Fonts | Fallback |
|---|---|---|
| Simplified Chinese | SimSun, Microsoft YaHei | Arial Unicode MS |
| Traditional Chinese | MingLiU, Microsoft JhengHei | Arial Unicode MS |
| Japanese | MS Gothic, Yu Gothic | Arial Unicode MS |
| Korean | Malgun Gothic, Batang | Arial Unicode MS |
| Arabic | Arial Unicode MS, Simplified Arabic | Arial Unicode MS |
| Thai | Leelawadee UI, Tahoma | Arial Unicode MS |
| Hindi | Nirmala UI, Mangal | Arial Unicode MS |
| European & Latin-script | Segoe UI, Arial | No validation needed |
If fonts are missing, a warning banner appears in the dialog with the recommended font to install. When auto font switch is enabled (default), Text Notes are automatically reassigned to a TextNoteType with the correct font.
Supported Languages
All 34 languages work as both source and target in any combination -- giving 1,122 possible language pairs. Every English target pair has a dedicated AEC glossary with 549-551 terms.
| Language | Code | RTL | Glossary |
|---|---|---|---|
| English | en | No | Source language |
| Simplified Chinese | zh-Hans | No | 549 terms |
| Traditional Chinese | zh-Hant | No | 551 terms |
| Arabic | ar | Yes | 549 terms |
| Japanese | ja | No | 549 terms |
| Korean | ko | No | 551 terms |
| French | fr | No | 549 terms |
| German | de | No | 549 terms |
| Spanish (Spain) | es | No | 551 terms |
| Spanish (Latin America) | es-419 | No | 551 terms |
| Portuguese (Portugal) | pt | No | 551 terms |
| Portuguese (Brazil) | pt-BR | No | 551 terms |
| Italian | it | No | 549 terms |
| Vietnamese | vi | No | 551 terms |
| Thai | th | No | 551 terms |
| Hindi | hi | No | 551 terms |
| Danish | da | No | 551 terms |
| Dutch | nl | No | 551 terms |
| Swedish | sv | No | 551 terms |
| Norwegian | nb | No | 551 terms |
| Finnish | fi | No | 551 terms |
| Polish | pl | No | 551 terms |
| Czech | cs | No | 551 terms |
| Romanian | ro | No | 551 terms |
| Hungarian | hu | No | 551 terms |
| Greek | el | No | 551 terms |
| Turkish | tr | No | 551 terms |
| Ukrainian | uk | No | 551 terms |
| Croatian | hr | No | 551 terms |
| Slovak | sk | No | 551 terms |
| Bulgarian | bg | No | 551 terms |
| Hebrew | he | Yes | 551 terms |
| Malay | ms | No | 551 terms |
| Indonesian | id | No | 551 terms |
Keynote Translation
Keynotes in Revit are stored in an external text file, not in the model itself. Transl8 handles this differently from other element types:
- Scan -- Reads the keynote table file referenced by the model and extracts all text entries
- Translate -- Translates keynote text through the same four-phase pipeline
- Apply -- Creates a new translated keynote file alongside the original (e.g.
Keynotes_NBS.txtbecomesKeynotes_NBS_sv.txt), then re-links the Revit model to the translated file. The original file is never modified. - Revert -- Re-links the model back to the original keynote file
Worksharing Support
Transl8 is designed for multi-user workshared environments:
- Element ownership -- Before modifying any element, Transl8 checks ownership via
WorksharingUtils. Elements owned by another user are skipped automatically. - Detailed skip reporting -- When elements are skipped, the results show a breakdown: how many were owned by other users (and which users), how many were deleted in the central model, etc.
- Shared translation memory -- For workshared models on a file server, translation memory is stored next to the central model so all team members share one database. SQLite WAL mode ensures safe concurrent reads and writes.
- Cloud model support -- ACC and BIM 360 models use a stable local path derived from the cloud model GUID, so translation memory persists across sessions.
Multi-User Workflow
When multiple team members have Transl8 installed and are working in the same workshared model:
- Each user's translations are cached in the shared translation memory
- When User B scans after User A has translated, User B sees those translations from memory (instant, no API cost)
- Elements owned by other users are skipped during Apply, with clear reporting of which users own which elements
- After syncing to central, all translations are visible to all users
Supported Revit Versions
| Revit Version | Framework | Status |
|---|---|---|
| Revit 2022 | .NET Framework 4.8 | Supported |
| Revit 2023 | .NET Framework 4.8 | Supported |
| Revit 2024 | .NET Framework 4.8 | Supported |
| Revit 2025 | .NET 8.0 (Windows) | Supported |
| Revit 2026 | .NET 8.0 (Windows) | Supported |
Installation
Make sure Autodesk Revit is completely closed before starting the installation process.
Transl8 deploys as an Autodesk ApplicationPlugins bundle:
C:\ProgramData\Autodesk\ApplicationPlugins\AUTOM8LABS.Transl8.bundle\
+-- PackageContents.xml # Bundle manifest (auto-detected by Revit)
+-- Contents\
+-- 2022\ # Revit 2022 (net48)
+-- 2023\ # Revit 2023 (net48)
+-- 2024\ # Revit 2024 (net48)
+-- 2025\ # Revit 2025 (net8.0-windows)
+-- 2026\ # Revit 2026 (net8.0-windows)
Each version folder contains AUTOM8LABS.Transl8.dll and all dependency DLLs. Revit discovers the bundle automatically via PackageContents.xml -- no separate .addin manifest is needed.
Accessing the Tool
After installation, launch Revit and open a model. The tool is located at:
Add-Ins tab > AUTOM8LABS panel > Transl8
The AUTOM8LABS panel is shared with other AUTOM8LABS tools. The Transl8 button opens a modeless dialog that stays open while you work.
Configuration
Settings
User preferences are stored in:
%AppData%\AUTOM8LABS\Transl8\settings.json
Configurable options include:
- Default source and target language -- Pre-selected when opening the dialog
- Enabled categories -- Which element types to scan by default
- Auto font switch -- Automatically switch Text Note fonts to support the target language
- Font override -- Force a specific font instead of auto-detection
- Additional glossary folders -- Network drives or project folders containing custom glossaries
- Check for updates on startup -- Optionally checks for new versions when Transl8 loads
Settings dialog -- language defaults, categories, font options, and glossary folders
Usage Tips
Scan First, Review Second
Always review the preview grid before applying. Double-click any row to select the element in Revit and verify the context.
Use the Glossary
Add firm-specific terms to a user glossary before translating a large model. This ensures consistent terminology and reduces API costs.
Check Fonts Before Applying
If the font warning banner appears, install the recommended font before applying translations to avoid placeholder boxes in Revit.
Memory Saves Money
The first translation costs the most. Subsequent runs recall from memory, so only new or changed text hits the API.
Same Text, One Translation
Transl8 deduplicates identical source text. If "Kitchen" appears in 50 rooms, it's translated once and applied to all 50.
Workshared Models
Make relevant worksets editable before translating. Elements owned by other users are automatically skipped with a detailed ownership report.
- Single undo. The entire apply operation is wrapped in a single Revit transaction. One Ctrl+Z reverts all translations.
- Save before applying. While single-undo is supported, saving beforehand gives you an extra safety net for large translation batches.
- Selection mode. Select elements in Revit before opening Transl8, then enable "Selected Elements Only" to translate just those items instead of the entire model.
- Excel round-trip. Export translations to Excel, distribute to team members for review, then import the edited file back. Transl8 matches by Element ID and Property Name.
- Regional variants matter. If you're working on a project in Brazil, select "Portuguese (Brazil)" not "Portuguese (Portugal)". The AEC terminology differences are significant.
- Preview multiple languages. Before applying, switch the target language and click Translate to cache translations for several languages. Switch between them freely -- cached translations are recalled instantly with no API cost.
- Keynote files. When translating keynotes, a new translated file is created alongside the original. The original is never modified. Reverting re-links back to the original file.