El problema: los traductores carecen de contexto
Uno de los mayores retos de la localización es el ** contexto **.Los traductores a menudo ven una cadena como "Enviar" sin saber:
- ¿Es un botón o una etiqueta ?
- ¿Está en la parte superior o inferior de la pantalla ?
- ¿Cuál es la interfaz de usuario que lo rodea ?
- ¿Cuánto espacio hay disponible ?
- ¿Cuál es la interfaz de usuario que lo rodea ?
- ¿Está en la parte superior o inferior de la pantalla ?
** Resultado :** Traducciones genéricas que no se ajustan a la interfaz de usuario, problemas de truncamiento e interminables idas y venidas entre traductores y desarrolladores.
La solución: Contexto de las capturas de pantalla
Screenshot context resuelve esto permitiéndote:
- ** Cargar capturas de pantalla ** de su aplicación o sitio web
- ** Etiquetar claves de traducción ** con cuadros delimitadores que muestran exactamente dónde aparecen
- ** Detección automática de texto ** mediante OCR para acelerar el proceso de etiquetado
Cuando los traductores trabajan en una clave, ven inmediatamente el contexto visual.
IntlPull vs Lokalise: El enfrentamiento de las capturas de pantalla
Tanto IntlPull como Lokalise ofrecen funciones de captura de pantalla, pero la implementación difiere drásticamente.
Comparación de características
| Función IntlPull Lokalise | ---------| ----------| ----------| | Carga de capturas de pantalla Incluido en todos los planes de pago Complemento de pago | Autodetección de OCR Autoalojado en Tesseract(gratuito) Basado en la nube(pago por solicitud) | Carga por lotes Sí No | Coincidencia de clave difusa Coincidencia de Levenshtein + subcadena Coincidencia básica | Búsqueda de clave a captura de pantalla | Editor de cuadro delimitador, basado en lienzo moderno, superposición básica | Acceso API API REST completo Limitado
Comparación de costes
Aquí es donde se pone interesante.
** Precios de OCR de Lokalise:**
- Llamadas a la API de Cloud Vision: 0,005 - 0,02 dólares por solicitud
- Para 1.000 capturas de pantalla con OCR mensual: ** 60 - 240$ / año sólo en tarifas de OCR **
-
Además, la función de captura de pantalla puede ser un complemento de pago
** Precios del OCR de IntlPull
- Tesseract autoalojado: ** 0$ por solicitud **
- Sin cargos adicionales
- Incluido en todos los planes de pago
- Sin cargos adicionales
- Tesseract autoalojado: ** 0$ por solicitud **
-
- Para 1.000 capturas de pantalla con OCR mensual: ** 60 - 240$ / año sólo en tarifas de OCR **
La ventaja del autoalojamiento
IntlPull utiliza ** Tesseract OCR **, el motor de OCR de código abierto estándar del sector, que se ejecuta en su propia infraestructura:
Terminal1# Tesseract is installed on the server 2tesseract --version 3# tesseract 5.3.0 4 5# No cloud API calls 6# No per-request fees 7# No data leaving your infrastructure
**Ventajas
- Privacidad: Los datos de las capturas de pantalla nunca salen de su infraestructura
- Velocidad: Sin latencia de red a las API de la nube
- Coste: Coste marginal cero por operación de OCR
- Fiabilidad: Sin interrupciones de API de terceros
Cómo funciona la detección automática
El proceso de OCR de IntlPull es sorprendentemente sofisticado:
Paso 1: Detección de texto
Tesseract escanea la captura de pantalla y extrae regiones de texto con cuadros delimitadores:
JSON1{ 2 "detected_texts": [ 3 { 4 "text": "Submit Order", 5 "x": 350, 6 "y": 480, 7 "width": 120, 8 "height": 40, 9 "confidence": 0.95 10 }, 11 { 12 "text": "Cancel", 13 "x": 200, 14 "y": 480, 15 "width": 80, 16 "height": 40, 17 "confidence": 0.92 18 } 19 ] 20}
Paso 2: Coincidencia de claves difusas
El texto detectado se compara con las claves de traducción mediante varias estrategias:
- Coincidencia exacta (puntuación: 1,0)
- Coincidencia de subcadenas (puntuación: 0,9 x proporción)
- Distancia Levenshtein (similitud normalizada)
Esto maneja errores comunes de OCR como:
- "Submit" frente a "Submitt" (tolerancia a errores tipográficos)
- "SUBMIT" frente a "Submit" (insensible a mayúsculas y minúsculas)
- "Submit Order" frente a "Submit" (coincidencia parcial)
Paso 3: Etiquetas sugeridas
La API devuelve asignaciones sugeridas de clave a región:
JSON1{ 2 "suggested_tags": [ 3 { 4 "key_id": "abc123", 5 "key_name": "buttons.submit", 6 "x": 350, 7 "y": 480, 8 "width": 120, 9 "height": 40, 10 "confidence": 0.95, 11 "match_score": 1.0 12 } 13 ] 14}
Paso 4: Revisión humana
Los traductores revisan y confirman las sugerencias antes de aplicarlas. Esto evita falsos positivos y garantiza la precisión.
Flujo de trabajo real
Para desarrolladores
Terminal1# Upload screenshots from CI/CD 2for screenshot in screenshots/*.png; do 3 curl -X POST \ 4 -H "X-API-Key: ip_live_xxx" \ 5 -F "file=@$screenshot" \ 6 -F "tags=v2.5.0,checkout-flow" \ 7 https://api.intlpull.com/api/v1/projects/PROJECT_ID/screenshots 8done
For Project Managers
- Vaya a la pestaña Capturas de pantalla en el panel de control
- Haga clic en "Detección automática" en cada captura de pantalla
- Revise las etiquetas sugeridas y confírmelas
- Los traductores ven ahora el contexto visual de todas las claves etiquetadas
Para traductores
Al traducir "buttons.submit", ven:
- El botón real en la interfaz de usuario
- El contexto circundante (lo que hay encima/debajo)
- El espacio disponible para la traducción
- Múltiples capturas de pantalla si la tecla aparece en diferentes lugares
Referencias de rendimiento
Hemos probado los tiempos de procesamiento del OCR en un servidor típico:
| Tamaño de Imagen | Tiempo de Tesseract | Respuesta Total de API |
|---|---|---|
| < 1MB ~ 500ms ~ 1 segundo | ||
| 1-5MB ~1-2 segundos ~2-3 segundos | ||
| 5-20MB ~3-5 segundos ~5-7 segundos |
Para la mayoría de las capturas de pantalla (pantallas de móvil, páginas web), el procesamiento se completa en menos de 2 segundos.
Comparación: Enfoque de Lokalise
Lokalise utiliza un enfoque basado en la nube:
Screenshot -> Cloud API -> Text Detection -> Response
|
Network latency + API costs
**Desventajas
- Costes por solicitud que se acumulan
- Latencia de red para cada operación
- Dependencia de la disponibilidad de la API de terceros
- Los datos de las capturas de pantalla se envían a servidores externos
Configuración de capturas de pantalla en IntlPull
Requisitos previos
Para despliegues autoalojados, instale Tesseract:
Terminal1# macOS 2brew install tesseract 3 4# Ubuntu/Debian 5apt-get install tesseract-ocr 6 7# Docker 8FROM alpine:3.19 9RUN apk add tesseract-ocr
Uso de la API
Cargar una captura de pantalla:
Terminal1curl -X POST \ 2 -H "X-API-Key: YOUR_KEY" \ 3 -F "file=@screenshot.png" \ 4 -F "name=Checkout Page" \ 5 -F "tags=checkout,mobile" \ 6 https://api.intlpull.com/api/v1/projects/{projectId}/screenshots
Activar la detección automática:
Terminal1curl -X POST \ 2 -H "X-API-Key: YOUR_KEY" \ 3 -H "Content-Type: application/json" \ 4 -d '{"min_confidence": 0.7}' \ 5 https://api.intlpull.com/api/v1/projects/{projectId}/screenshots/{screenshotId}/auto-detect
Crear etiquetas clave a partir de los resultados del OCR:
Terminal1curl -X POST \ 2 -H "X-API-Key: YOUR_KEY" \ 3 -H "Content-Type: application/json" \ 4 -d '{ 5 "key_maps": [ 6 {"key_id": "abc123", "x": 100, "y": 200, "width": 80, "height": 30, "auto_detected": true}, 7 {"key_id": "def456", "x": 300, "y": 200, "width": 60, "height": 30, "auto_detected": true} 8 ] 9 }' \ 10 https://api.intlpull.com/api/v1/projects/{projectId}/screenshots/{screenshotId}/keys/bulk
Integración SDK
TypeScript SDK lo hace aún más fácil:
TypeScript1import { IntlPull } from '@intlpullhq/sdk'; 2 3const client = new IntlPull({ apiKey: 'ip_live_xxx' }); 4 5// Upload and auto-tag in one flow 6async function processScreenshot(filePath: string) { 7 // 1. Upload 8 const screenshot = await client.screenshots.upload(projectId, { 9 file: fs.readFileSync(filePath), 10 name: path.basename(filePath), 11 tags: ['v2.5.0'], 12 }); 13 14 // 2. Auto-detect 15 const detection = await client.screenshots.autoDetect( 16 projectId, 17 screenshot.id, 18 { minConfidence: 0.7 } 19 ); 20 21 // 3. Apply high-confidence matches 22 const highConfidence = detection.suggestedTags.filter(t => t.match_score >= 0.9); 23 24 if (highConfidence.length > 0) { 25 await client.screenshots.bulkCreateKeyMaps(projectId, screenshot.id, { 26 keyMaps: highConfidence.map(t => ({ 27 keyId: t.key_id, 28 x: t.x, 29 y: t.y, 30 width: t.width, 31 height: t.height, 32 autoDetected: true, 33 confidence: t.match_score, 34 })), 35 }); 36 } 37 38 console.log('Tagged ' + highConfidence.length + ' keys automatically'); 39}
Mejores prácticas
1. Capturar pantallas representativas
- Incluya todos los estados (vacío, cargando, error, éxito)
- Capture diferentes tamaños de pantalla (móvil, tableta, escritorio)
- Etiquetar los números de versión en los metadatos para su seguimiento
2. Utilizar etiquetas para la organización
Terminal1# Tag by feature area 2-F "tags=checkout,payment" 3 4# Tag by version 5-F "tags=v2.5.0,sprint-42" 6 7# Tag by platform 8-F "tags=ios,dark-mode"
3. Establecer umbrales de confianza adecuados
- 0.9+: Aplicación automática sin revisión (confianza alta)
- 0.7-0.9: Sugerir pero exigir confirmación
- <0.7: No sugerir (demasiada incertidumbre)
4. Revisar resultados OCR
El OCR no es perfecto. Problemas comunes:
- Caracteres similares (O vs 0, l vs I)
- Fuentes estilizadas
- Texto con poco contraste
Las etiquetas automatizadas deben ser revisadas siempre por una persona.
Migración desde Lokalise
Si está migrando desde Lokalise:
Terminal1# Export screenshots from Lokalise (if available via API) 2# Then bulk upload to IntlPull 3 4npx @intlpullhq/cli migrate --screenshots --from lokalise
Qué transfiere:
- Imágenes de pantalla
- Asignaciones existentes de clave a captura de pantalla
- Etiquetas y metadatos
Conclusión: Por qué gana IntlPull
| Metric | IntlPull | Lokalise |
|---|---|---|
| Coste de OCR: 0 $, 60-240+ $ al año | ||
| Privacidad de los datos En las instalaciones En la nube (terceros) | ||
| Complejidad de la instalación Preinstalado Clave API + facturación | ||
| Operaciones por lotes Sí Limitado | ||
| Acceso a la API Completo Parcial |
Para equipos que:
- Procesan muchas capturas de pantalla
- Se preocupan por la privacidad de los datos
- Quieren costes predecibles
- Necesitan automatizar la API
**El enfoque Tesseract autoalojado de IntlPull es el claro ganador
¿Listo para dar a los traductores el contexto que necesitan? Comience su prueba gratuita o lea la documentación completa.
