Un cliente de escritorio para LibreTranslate, construido con Tauri (Rust + React + Tailwind CSS).
- Traducción de texto utilizando la API de LibreTranslate
- Soporte para servidores oficiales y autoalojados
- Selector de idiomas dinámico (cargado desde el servidor remoto)
- Interfaz con dos paneles: origen y destino
- Historial de traducciones persistente (SQLite)
- Temas claro, oscuro y sistema
- Copiar resultado al portapapeles con un clic
- Configuración de URL y API Key del servidor
- Atajo de teclado
Ctrl+Enterpara traducir - Iconos personalizados para todas las plataformas
- Content Security Policy (CSP) habilitado
- Validación de URL del servidor (HTTPS forzado para servidores remotos)
- Timeouts HTTP configurados (10s conexión, 30s request)
- API key eliminada del canal IPC del frontend
- Mensajes de error sanitizados (sin información interna expuesta)
- Input validation en todos los comandos Tauri (5000 chars max)
- TypeScript strict mode habilitado
- SQLite WAL mode para mejor concurrencia
- Logs filtrados por nivel de build (Debug en dev, Warn en release)
- Permisos de archivo restringidos en Unix (0700 dirs, 0600 files)
Binarios precompilados disponibles en el directorio bin/:
| Formato | Archivo | Uso recomendado |
|---|---|---|
| AppImage | lt-desktop-v0.0.4-linux-x86_64.AppImage |
Portable, sin instalar |
| DEB | lt-desktop-v0.0.4-linux-x86_64.deb |
Debian, Ubuntu, derivados |
| Binario | lt-desktop-v0.0.4-linux-x86_64 |
Raw (requiere libs del sistema) |
chmod +x lt-desktop-v0.0.4-linux-x86_64.AppImage
./lt-desktop-v0.0.4-linux-x86_64.AppImagesudo dpkg -i lt-desktop-v0.0.4-linux-x86_64.deb
sudo apt-get install -fchmod +x lt-desktop-v0.0.4-linux-x86_64
./lt-desktop-v0.0.4-linux-x86_64Requiere
libwebkit2gtk-4.1,gtk-3ylibayatana-appindicator3instaladas en el sistema.
| Plataforma | Estado |
|---|---|
| Linux x86_64 | Compilado y probado |
| macOS | Planeado (icon.icns listo) |
| Windows | Futuro (icon.ico listo) |
- Node.js v18+
- Rust v1.77+
- Dependencias del sistema para Tauri (ver INSTALL.md)
npm install
npm run tauri-dev # modo desarrollo
npm run tauri-build # build de producciónLa aplicación almacena la configuración en las rutas nativas del sistema:
| Sistema | Ruta |
|---|---|
| Linux | ~/.config/lt-desktop/settings.json |
| macOS | ~/Library/Application Support/com.ferarg.lt-desktop/settings.json |
| Windows | %APPDATA%\lt-desktop\settings.json |
| Opción | Descripción | Default |
|---|---|---|
server_url |
URL del servidor LibreTranslate | https://libretranslate.com |
api_key |
Clave de API (opcional) | (vacío) |
default_source_lang |
Idioma de origen por defecto | auto |
default_target_lang |
Idioma de destino por defecto | es |
theme |
Tema de la interfaz | system |
GET /languages- Lista de idiomas soportadosPOST /translate- Traducción de textoPOST /detect- Detección automática de idiomaGET /health- Verificación de estado del servidor
Los iconos de la aplicación se generan desde images/icon.png (512x512 RGBA):
| Plataforma | Archivos | Generado con |
|---|---|---|
| Linux | icon.png, 32x32.png, 128x128.png, 128x128@2x.png |
ImageMagick |
| Windows | icon.ico, Square*.png, StoreLogo.png |
ImageMagick |
| macOS | icon.icns |
png2icns (icnsutils) |
| Web | favicon-16x16.png, favicon-32x32.png, apple-touch-icon.png |
ImageMagick |
Para regenerar los iconos después de cambiar images/icon.png:
# PNGs para Tauri
convert images/icon.png -resize 32x32 src-tauri/icons/32x32.png
convert images/icon.png -resize 128x128 src-tauri/icons/128x128.png
convert images/icon.png -resize 256x256 src-tauri/icons/128x128@2x.png
convert images/icon.png -resize 512x512 src-tauri/icons/icon.png
# .ico para Windows
convert \( images/icon.png -resize 16x16 \) \( images/icon.png -resize 32x32 \) \
\( images/icon.png -resize 48x48 \) \( images/icon.png -resize 64x64 \) \
\( images/icon.png -resize 128x128 \) \( images/icon.png -resize 256x256 \) \
src-tauri/icons/icon.ico
# .icns para macOS (requiere icnsutils)
mkdir -p /tmp/icns && convert images/icon.png -resize 16x16 /tmp/icns/16.png
convert images/icon.png -resize 32x32 /tmp/icns/32.png
convert images/icon.png -resize 128x128 /tmp/icns/128.png
convert images/icon.png -resize 256x256 /tmp/icns/256.png
convert images/icon.png -resize 512x512 /tmp/icns/512.png
convert images/icon.png -resize 1024x1024 /tmp/icns/1024.png
png2icns src-tauri/icons/icon.icns /tmp/icns/*.png && rm -rf /tmp/icns
# Favicons para web
convert images/icon.png -resize 16x16 public/favicon-16x16.png
convert images/icon.png -resize 32x32 public/favicon-32x32.png
convert images/icon.png -resize 180x180 public/apple-touch-icon.pngEste proyecto está licenciado bajo la GNU General Public License v3.0 (GPL-3.0).
Consulta el archivo LICENSE para más detalles.
- FErArg - https://ferarg.com
- Deepseek - https://deepseek.com
- Kimi2 - https://kimi.moonshot.cn
- XiaomiMiMo - https://mimo.xiaomi.com
Consulta el archivo CHANGELOG.md para ver el historial de cambios.


