Translation on Firefox Translations models; new logo
- Email translation moves from LibreTranslate to our own translator
service (translator/): Mozilla's Firefox Translations models on the
Bergamot engine, fastText language detection (176 languages). Polish,
English, German, French, Spanish and Italian on first start (~350 MB
instead of ~10 GB); Admin panel > Email translation installs and
removes languages. Built and pushed as the `translator` image.
- Every message is translated paragraph by paragraph as plain text;
names travel with their sentence and are kept only where the model
changed them; a sentence start the model copied ("Enclosed") is tried
again in lower case; list markers are not sent
- The Translate button shows only for installed languages
- New logo: favicon, app/maskable/iPhone icons, notification badge,
email logo and calendar copy regenerated; BIMI logo rebuilt in SVG
Tiny PS with its gradients; masks render in browsers
- Launch screen background is the app's dark grey
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+10
-14
@@ -158,22 +158,18 @@ services:
|
||||
retries: 12
|
||||
restart: unless-stopped
|
||||
|
||||
# Email translation (app/translation.py). The first start downloads every
|
||||
# language model (several GB) into the volume; later starts reuse them.
|
||||
libretranslate:
|
||||
image: libretranslate/libretranslate:v1.9.6
|
||||
environment:
|
||||
LT_DISABLE_WEB_UI: "true"
|
||||
LT_UPDATE_MODELS: "false"
|
||||
# Email translation (translator/, app/translation.py): Firefox Translations
|
||||
# models and fastText. The first start downloads the default languages
|
||||
# (about 350 MB) into the volume; the admin panel adds more.
|
||||
translator:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/Dockerfile.translator
|
||||
image: webmail/translator:dev
|
||||
ports:
|
||||
- "127.0.0.1:5005:5000"
|
||||
volumes:
|
||||
- ltmodels:/home/libretranslate/.local
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "python3 -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:5000/languages', timeout=4)\""]
|
||||
interval: 15s
|
||||
timeout: 6s
|
||||
retries: 240
|
||||
- translatordata:/data
|
||||
restart: unless-stopped
|
||||
|
||||
greenmail:
|
||||
@@ -188,7 +184,7 @@ services:
|
||||
- "127.0.0.1:3993:3993" # IMAPS
|
||||
|
||||
volumes:
|
||||
ltmodels:
|
||||
translatordata:
|
||||
pgdata:
|
||||
meilidata:
|
||||
blobs:
|
||||
|
||||
Reference in New Issue
Block a user