Preguntas frecuentes

Respuestas a las preguntas que más recibimos.

Instalación y uso

Tengo objetos ocultos en la visualización, ¿molestan? #

Molestar no molestan, pero cuestan traducciones innecesarias. Simple Locale lee todo lo que cuelga de tu árbol de visualización, también los objetos que están ocultos en ese momento, y sigue los enlaces hasta su destino. Es intencionado: que un objeto sea visible no es un estado fijo - muchas visualizaciones muestran y ocultan de forma dinámica según una condición, la hora o el usuario. Si nos saltáramos lo oculto, justo en el momento en que apareciera se vería el texto original sin traducir.

El precio de ello: quien guarda scripts, acciones o simples variables auxiliares como objetos ocultos dentro de la visualización (o enlaces a ellos) hace que sus nombres y textos se traduzcan también. Eso consume cuota de tu proveedor de traducción y cuesta algo de tiempo en cada reescaneo, para contenidos que nadie llegará a ver.

El consejo: haz el primer escaneo con una sola lengua de destino. Después repasa una vez las tablas de traducción y excluye todo lo que nadie lee mediante la casilla "Traducción activa" (la columna "Ruta" te muestra dónde está cada fila en el árbol). Solo entonces añade las demás lenguas de destino: cada nuevo idioma traducirá únicamente lo que quede. Las filas siguen ahí: el escaneo las encuentra igual, simplemente ya no se traducen.

La casilla forma parte de la edición Pro (véase la pregunta justo encima). Sin ella, lo único que ayuda es guardar esos objetos auxiliares fuera del árbol traducido, en la medida en que tu visualización lo permita.

Veo varias entradas vacías en las tablas de traducción - ¿por qué? #

Suele haber uno de tres motivos totalmente normales, no un error: si el contenido monitorizado está actualmente vacío (p. ej. un texto de aviso que solo muestra algo bajo ciertas condiciones), la fila se crea correctamente con el texto de origen vacío - y permanece vacía en todos los idiomas, ya que no hay nada que traducir. En cuanto la variable vuelva a tener un valor real, todos los idiomas se rellenan automáticamente.

Si, en cambio, una variable monitorizada contiene datos de configuración/control estructurados para otro módulo en lugar de texto real (técnicamente reconocido como JSON válido, p. ej. {"musicProvider":"CLOUDPLAYER"}), Simple Locale la deja intencionadamente intacta: una traducción automática recodificaría comillas/caracteres especiales y así rompería la estructura para el script que la consume.

Si en este momento todos los proveedores de traducción configurados están en pausa (cuota diaria agotada, límite de solicitudes) o un intento de traducción concreto falló, una celda que nunca se ha rellenado permanece vacía temporalmente y se completa automáticamente en cuanto vuelva a haber un proveedor disponible.

Si en cambio quieres traducir texto que no es una variable de Symcon dentro del árbol monitorizado - por ejemplo, porque se genera directamente en el código PHP de tu propia baldosa o de tu propio script -, lógicamente nunca aparecerá en las tablas. Para ese caso existe el comando PHP SLOC_TranslateExternalText(), que llamas directamente desde tu propio código - consulta la documentación.

¿No quiero que se traduzca una variable en concreto, es posible? #

Sí: cada fila de las tablas de traducción escaneadas (nombres de objetos, textos propios, Automatizaciones, Bienvenida, enumeraciones, gráficos) tiene una casilla "Traducción activa" - desactívala para una fila y ese texto permanece en el idioma original en todas partes, por ejemplo para nombres propios, marcas o abreviaturas técnicas. Tampoco consume ya ninguna llamada de traducción.

Forma parte de la edición Pro (la misma columna de casillas que la edición directa de celdas). Una desactivación ya establecida sigue funcionando incluso tras un downgrade - solo activarla/cambiarla requiere Pro. Tu propia tabla de traducción queda excluida, ya que ahí nunca se traduce nada automáticamente.

Me parece convincente la solución, ¿hay alternativas que debería mirar? #

Lo mejor es que lo compruebes tú mismo: con nuestra versión de prueba de 30 días puedes probar Simple Locale a fondo sin ningún compromiso - sin tarjeta de crédito, sin renovación automática, solo instálalo y comprueba si encaja con tu visualización.

Sí, la hay: Symcon ofrece su propia solución con IP-Symcon Enterprise Localization - échale un vistazo para comparar. Estamos convencidos de las funciones y el precio de Simple Locale, pero al final lo que cuenta es lo que mejor encaje con tu caso de uso concreto.

Traducción

¿Para cuántas traducciones suele alcanzar una cuenta gratuita de Google o DeepL? #

El proveedor gratuito incluido en todas las ediciones (MyMemory, sin necesidad de cuenta) permite 5.000 caracteres al día, o 50.000 al día si registras un correo de contacto. Como cada texto se traduce una sola vez y luego se guarda localmente, esto es suficiente para muchas instalaciones - pero con árboles más grandes, varios idiomas de destino a la vez o "textos propios" que cambian con frecuencia, el límite diario puede notarse.

A partir de la edición Standard puedes añadir Google Cloud Translate y/o DeepL: Google ofrece actualmente 500.000 caracteres al mes gratis (de forma recurrente) y DeepL 1.000.000 de caracteres gratis como saldo inicial único (ya no hay cupo mensual recurrente) - a fecha de agosto de 2026; las condiciones de los proveedores pueden cambiar, consulta sus páginas de precios. No hay que confundir el cupo mensual de Google con el saldo inicial de 300 $ para 90 días: eso es un periodo de prueba único y caduca, mientras que los 500.000 caracteres al mes se mantienen.

La verdadera ventaja: los proveedores se complementan entre sí en lugar de sustituirse (ver "A prueba de fallos" en Funciones). Si, por ejemplo, se agota tu cuota única de DeepL, Simple Locale sigue traduciendo automáticamente con Google - y si su cuota mensual también se agota, el proveedor gratuito MyMemory entra como último recurso. Incluso calculado de forma conservadora (la cuota gratuita de DeepL es un crédito inicial único, mientras que la de Google se renueva cada mes, así que no se suman sin más 1:1), combinar ambos proveedores te da notablemente más margen que un solo proveedor o el gratuito por sí solo.

Esto también alivia tu límite diario: para "textos propios" que cambian con frecuencia, la caché integrada (ver "Retraducción automática ante cambios externos" en Funciones) solo vuelve a traducir los valores que realmente cambiaron, en lugar de volver a solicitarlo todo en cada actualización - normalmente ahorra más del 80 % de las llamadas de traducción que serían necesarias, protegiendo así aún más tu cuota diaria.

Google avisa de que mi periodo de prueba ha caducado. ¿Seguirán funcionando mis traducciones? #

En corto: tu visualización sigue traduciendo, pero tienes que tocar Google una vez o dejará de hacerlo a través de Google. Lo importante es distinguir dos cosas que se llaman igual, "gratis": el saldo inicial de 300 $ para 90 días es un periodo de prueba y caduca. El cupo mensual de 500.000 caracteres para traducir es otra cosa y se mantiene.

Si el periodo de prueba termina y no haces nada, Google cierra la cuenta de facturación y detiene los proyectos asociados; con ello se acaba el acceso a la API. Por tanto sí tienes que pasar a la cuenta normal ("completa"). Eso no significa que empieces a pagar: tras el cambio sigue vigente el cupo mensual, y quien se mantiene por debajo no paga nada.

Como red de seguridad puedes crear en Google Cloud un presupuesto con límite de gasto y fijarlo en 0 €. En cuanto se generaran costes reales, Google pausa el uso en lugar de facturarlo. El propio Google señala dos salvedades: no es un límite estricto y su aplicación no es instantánea, porque el registro de costes va con retraso. Por cierto, una simple alerta de presupuesto sin límite no limita nada: solo envía correos.

Y si Google falla o se pausa: Simple Locale recurre automáticamente al proveedor gratuito. Tus visitantes seguirán viendo textos traducidos, solo que con algo menos de calidad, y lo ya traducido está guardado localmente y no cambia.

Sin garantía: esta información refleja lo que sabíamos en septiembre de 2026. Google puede cambiar en cualquier momento sus condiciones, sus cupos gratuitos y el comportamiento de sus mecanismos de control de costes. Cómo configuras, supervisas y proteges tu cuenta de Google es responsabilidad exclusivamente tuya: no garantizamos que no se generen costes ni asumimos responsabilidad alguna por los costes que se produzcan en Google.

Tengo textos largos que no se traducen - ¿por qué? #

El proveedor gratuito (MyMemory) acepta como máximo 500 bytes de texto por solicitud - rechaza deliberadamente los contenidos más largos en lugar de cortarlos de forma incorrecta. En la práctica esto afecta sobre todo a "Textos propios" más largos (p. ej. un widget HTMLBox completo con varios párrafos), con menos frecuencia a nombres de objetos o etiquetas cortas.

Si además hay configurado un proveedor con clave de API propia (Google Cloud Translate o DeepL, desde la edición Standard), Simple Locale reenvía automáticamente a este un texto rechazado por MyMemory - ninguno de los dos tiene un límite de caracteres comparable. Si solo está disponible el proveedor gratuito, esa celda concreta simplemente queda sin traducir (mientras tanto la tile muestra el texto original, sin fallos) - el motivo exacto queda registrado en el registro de mensajes de Symcon de la instancia ("todos los proveedores de la cadena ... rechazados").

Mi visualización tiene una mezcla de varios idiomas - ¿puede Simple Locale con eso? #

Sí, funciona - con un poco de trabajo manual. El idioma base no se guarda una sola vez para toda la instalación, sino por elemento - así que puedes tener varios idiomas originales dentro de la misma instalación.

Si actualmente tienes una mezcla sin separar, lo más sencillo es: primero haz un escaneo completo usando tu idioma más utilizado como idioma base. Después borra manualmente todas las filas cuyo contenido esté realmente en otro idioma. Cambia el idioma base a tu segundo idioma más utilizado y vuelve a escanear - los objetos que acabas de borrar se detectan automáticamente como filas nuevas, esta vez capturadas correctamente en el nuevo idioma. Repite esto para cada idioma adicional hasta cubrirlos todos.

Licencia y pago

¿Cómo puedo pagar? #

Con tarjeta de crédito a través de Stripe Checkout - una página de pago segura y conforme a PCI alojada por Stripe. Nosotros nunca vemos ni almacenamos los datos de tu tarjeta.

¿Cuánto tarda la entrega de la licencia? #

Totalmente automatizada, normalmente en pocos minutos tras el pago exitoso: la clave de licencia y la factura (en PDF) llegan directamente por correo electrónico.

Ya no encuentro mi licencia y necesito reinstalar. ¿Puedo obtener una nueva? #

, sin complicaciones: en nuestra página de reenvío, simplemente introduce la dirección de correo con la que hiciste el pedido - te reenviaremos por correo todas tus claves de licencia existentes. Después introduce la clave como de costumbre en el formulario de configuración del módulo y haz clic en "Activar licencia".

Reinstalar con la misma clave ya comprada es totalmente normal y nunca se bloquea - cada activación solo se registra con fines de detección de abuso: qué instalación de Symcon (mediante su correo de licenciatario configurado) activó qué clave. Eso sirve únicamente para detectar el uso simultáneo de la misma clave en varias instalaciones (apareciendo con varias direcciones distintas); una cesión que nos hayas comunicado no supone ningún problema - una reinstalación normal en tu propio sistema no activa eso.

La única excepción: si tu clave antigua ya se ha canjeado por una actualización de edición, seguirá funcionando con normalidad durante un periodo de transición y recibirá una fecha de caducidad - el módulo la muestra como una licencia válida con fecha de fin, para que veas que aún debes introducir la clave más reciente. Después habrá caducado.

¿Cómo puedo desistir del contrato de compra? #

Muy sencillo: como consumidor, tienes el derecho legal de desistir de tu compra en un plazo de 14 días, sin necesidad de dar motivos. En el caso de claves de licencia digitales, podríamos pedirte que renuncies a ese derecho a cambio de la entrega inmediata - deliberadamente no lo hacemos, porque confiamos en la utilidad de Simple Locale. Simplemente escríbenos por correo electrónico (ver Aviso legal) y lo resolveremos sin complicaciones. Encontrarás las instrucciones de desistimiento completas y formales aquí.

¿Qué ocurre técnicamente cuando desisto - se bloquea mi clave de licencia al instante? #

No de inmediato. Si tu clave es válida lo comprueba Simple Locale totalmente sin conexión, mediante una firma digital; para eso no hace falta red. Sin embargo, una vez al día el módulo nos pregunta si la clave sigue activa. Tras un desistimiento la marcamos como desactivada en nuestro sistema, y el módulo aplica el bloqueo en la siguiente de esas consultas.

Si tu instalación está desconectada en ese momento, el bloqueo solo surte efecto en cuanto vuelva a estar conectada y esta comprobación diaria se realice con éxito - un fallo de red nunca bloquea por error (simplemente se mantiene el último estado conocido). A diferencia de una mejora de edición (consulta la documentación), esto tampoco inicia un nuevo periodo de prueba - una licencia desistida permanece bloqueada.

Tecnología

¿Simple Locale envía datos a algún servidor? #

De forma limitada, sí: para traducir, el texto a traducir se envía al proveedor que hayas elegido (gratis mediante MyMemory, opcionalmente Google Cloud Translate y/o DeepL, según tu configuración). Esto es necesario para que la traducción funcione.

Al activar una clave de licencia por primera vez, también se notifica a nuestro propio servidor un hash de la clave (no la clave en sí) más un identificador del licenciatario - para detectar que la misma clave se esté usando a la vez en varias instalaciones. Ceder o vender una licencia está permitido: basta con comunicárnoslo y asignaremos la clave al nuevo titular. Después, el módulo consulta al mismo servidor una vez al día para comprobar si la licencia sigue activa (relevante, por ejemplo, tras una revocación, ver FAQ) - de nuevo solo se transmite el hash de la clave, ningún otro dato. Sin seguimiento, sin analíticas, sin cookies publicitarias. El cambio entre idiomas ya traducidos sigue funcionando completamente en local, sin retrasos de red - solo esta breve consulta diaria de estado en segundo plano necesita conexión, y un error de red durante esa consulta nunca bloquea nada por error. La conexión con nuestro servidor está cifrada en todo momento (HTTPS). Consulta nuestra política de privacidad para más detalles.

En sentido contrario, al activar, su instalación descarga los iconos y las plantillas de mosaico incluidos en su edición, de modo que una edición especial también lo parezca, sin necesidad de una nueva versión del módulo cada vez. Pueden ser varios, y una descarga posterior recoge sus actualizaciones. El paquete lleva la misma firma que una clave de licencia, así que su módulo solo acepta lo que supera esa comprobación. Se guarda localmente: un diseño ya recibido permanece con usted aunque más tarde lo retiremos. La comprobación diaria de estado no lo descarga; solo lo hace una activación o una pulsación expresa en „activar/actualizar licencia“.

¿Cuánto almacenamiento local necesita Simple Locale? #

Naturalmente depende del número de objetos e idiomas - pero podemos decir con confianza: muy poco. Como referencia de nuestra experiencia con instalaciones reales: >500 nombres de objetos, >40 textos propios y >200 etiquetas en 7 idiomas ocupan en conjunto unos 1,5 MB de configuración de instancia. Las instalaciones pequeñas/medianas (unas pocas docenas a unos cientos de objetos, 2-4 idiomas) suelen quedar muy por debajo, en el rango bajo a medio de decenas de KB.

La caché apenas añade algo encima: por objeto e idioma solo se guarda el valor traducido más reciente, no su historial - así que incluso un widget meteorológico cuyos valores cambian cada 10 minutos simplemente sobrescribe el mismo espacio de almacenamiento en lugar de crecer con el tiempo.

¿Cuánto ancho de banda necesita Simple Locale en funcionamiento normal? #

Depende de lo que esté ocurriendo: cambiar de idioma entre contenido ya traducido funciona completamente en local - no necesita conexión a internet para ello. Simple Locale sí necesita internet cada vez que algo se traduce realmente por primera vez: el escaneo inicial del árbol, cada nuevo escaneo (manual o automático) y la retraducción automática en vivo cuando un "texto propio" monitorizado cambia externamente. En esos momentos se envía el texto nuevo/modificado al proveedor de traducción elegido - normalmente solo unos pocos kilobytes por operación, y únicamente texto: nunca se transmiten imágenes ni archivos de su visualización. Al activar la licencia, viaja un pequeño paquete en sentido contrario: los iconos y las plantillas de mosaico de su edición, en conjunto normalmente unos pocos kilobytes. Después quedan almacenados localmente; solo una nueva activación descarga actualizaciones. Si justo en ese momento no hay conexión, solo falla ese intento de traducción concreto (la baldosa muestra mientras tanto el texto original sin traducir en lugar de fallar) y se reintenta automáticamente en el siguiente escaneo o cambio.

¿Cuántas "variables utilizables" de IP-Symcon usa Simple Locale? #

Buena noticia: 0. Esto es relevante porque las licencias de IP-Symcon tienen un límite de "variables utilizables" - pero Simple Locale no crea ni una sola variable propia de Symcon. Solo traduce y reescribe el nombre y el valor de objetos que ya has creado dentro de tu categoría raíz elegida (la configuración propia del módulo se guarda como propiedad de instancia, no como variable). Por lo tanto, Simple Locale no cuenta en absoluto contra el límite de tu licencia de IP-Symcon.

He programado yo mismo funciones que dependen del nombre de un objeto - ¿sigue funcionando? #

Aquí hay que tener cuidado: al cambiar de idioma, Simple Locale reescribe justamente los nombres de objeto dentro de tu categoría raíz. Si tu propio script depende de un nombre fijo concreto (p. ej. una comparación de cadenas, o un disparador enganchado a IPS_SetName), ese mismo cambio de nombre puede activar tu función sin querer o hacer que falle silenciosamente - Simple Locale no conoce el propósito de tu script y no puede tenerlo en cuenta. En ese caso tendrías que adaptar tú mismo el script para que sea compatible con varios idiomas, por ejemplo haciendo que dependa del ID de objeto estable en lugar del nombre (que ahora cambia según el idioma), o reconociendo y aceptando todas las traducciones relevantes del nombre.

Recibo el mensaje "An uncaught error occured … ResizeObserver loop completed with undelivered notifications" - ¿qué es? #

Ese mensaje procede de la propia consola de IP-Symcon, no de Simple Locale. Detrás hay un aviso del navegador conocido e inofensivo: el navegador informa de que un cálculo de tamaño del diseño no terminó dentro de un único fotograma. No se pierde ningún dato, nada se traduce de forma incorrecta y tu configuración queda intacta - la consola simplemente muestra ese aviso como un diálogo de error rojo. Basta con pulsar "OK".

Lo hemos comunicado a IP-Symcon. Su respuesta (en alemán): "In der aktuellen 9.0 Beta soll dieser Fehler eigentlich korrigiert sein." - es decir, el fallo debería estar corregido en la beta 9.0 actual. Así que, si todavía usas una versión anterior, el mensaje puede seguir apareciendo - desaparece al actualizar a una versión en la que Symcon lo haya solucionado.

El mensaje tal y como lo muestra la consola de IP-Symcon.
El mensaje tal y como lo muestra la consola de IP-Symcon.
Soy desarrollador y quiero integrar mi módulo de visualización con Simple Locale. ¿Es posible? #

Sí. Si tu módulo genera su propia tarjeta HTML mediante GetVisualizationTile(), su texto se puede traducir en vivo al idioma que la visualización tenga activo en ese momento, y sin cuenta propia en un proveedor de traducción: SLOC_TranslateExternalText() reutiliza la clave de la instancia de Simple Locale que ya está funcionando en ese sistema.

Conviene llamarlo de forma defensiva, porque la mayoría de usuarios (todavía) no tiene Simple Locale instalado: primero comprueba function_exists("SLOC_TranslateExternalText") y después localiza la instancia con IPS_GetInstanceListByModuleID("{1A2E3892-FE35-9E4E-A3A8-B983B0C41F64}"), en lugar de fijar un ID de instancia. Si no encuentras nada, devuelve el texto sin cambios: no es un error, simplemente no hay traducción.

El mejor sitio para llamarlo es dentro de cada GetVisualizationTile(): la tarjeta se vuelve a generar en cada llamada, así que ahí no puede quedarse texto obsoleto. Los nombres y valores de los objetos que están en la visualización los traduce Simple Locale por su cuenta de todos modos. El ejemplo completo está en el apartado 10 de la documentación del módulo.

Actualmente no ofrecemos una edición Developer aparte - la edición Pro ya cubre todo lo que necesitas para la integración. Si aun así crees que tienes una necesidad especial, escríbenos.

¡He encontrado un error! ¿Qué hago ahora? #

Cualquier software puede tener errores - Simple Locale se prueba a fondo antes de cada lanzamiento y, por ahora, no tenemos constancia de ningún error abierto. Lo que sí existe son límites deliberados del alcance funcional actual (ver "Limitaciones conocidas" en la página de resumen) - eso no son errores, sino decisiones de diseño.

Si aun así encuentras algo que no funciona como se describe: te agradecemos mucho el aviso y haremos todo lo posible por publicar una solución lo antes posible. Escríbenos a través de Soporte con una breve descripción de lo que esperabas y lo que ocurrió realmente - cuanto más concreto, más rápido podremos ayudarte.

¿No encuentras tu pregunta?

Escríbenos - estaremos encantados de ayudarte.

Ir a soporte