Translation_Tool/README.md
2026-09-24 11:00:35 +00:00

51 lines
1.9 KiB
Markdown

# Translation Tool
Runtime label translation for ASM UI (`asm_ui_app`) using Frappe **Translation** doctype records.
## Features
- Bulk API: flat `{ source_text: translated_text }` map for a language
- Client-side `label_translator.js` replaces hardcoded English labels/sections when Arabic is active
- Cache invalidation when Translation records change
## Install
```bash
cd ~/frappe-bench
bench get-app translation_tool # if not already in apps/
bench --site <site> install-app translation_tool
bench build --app translation_tool
bench --site <site> clear-cache
```
Ensure `translation_tool` is listed in `sites/<site>/apps.txt` after install.
## Translation records
Create rows in **Translation** doctype:
| language | source_text | translated_text |
|----------|-------------|-----------------|
| ar | Asset Information | معلومات الأصل |
| ar | Workflow Actions | إجراءات سير العمل |
`source_text` must match the visible English UI string exactly.
## API
- `translation_tool.api.translations.get_translations?language=ar`
- `translation_tool.api.translations.get_translation?source_text=...&language=ar`
- `translation_tool.api.translations.get_available_languages`
## Changes in asm_ui_app — Translation Tool Integration
No React page files were changed. Only the following 3 HTML entry files were updated by adding the label_translator.js script.
Added Script
<script src="/assets/translation_tool/js/label_translator.js?v=1.0.2" defer></script>
Modified Files
File Change
asm_ui_app/asm_app/index.html Added label_translator.js script. This is the source template and will be preserved for future Vite builds.
asm_ui_app/asm_ui_app/www/asm_app.html Added label_translator.js script. This is the live Frappe web route entry file.
asm_ui_app/asm_ui_app/public/asm_app/index.html Added label_translator.js script. This is the built SPA entry copy.