GoLocal!
Guía Técnica

Guía de configuración completa

Todo lo que necesita para instalar, configurar y usar GoLocal! para que su aplicación Bubble.io sea multilingüe.

📦 Complemento Bubble gratuito + suscripción GoLocal! SaaS (se requiere clave API)
Actual Libre/tecla API ComplementoTiempo de ejecución 4.1.23

Datos Bubble seguros, traducción estable de la interfaz de usuario y lógica multilingüe explícita

Actualice el complemento de Bubble Complementos pestaña antes de probar las funciones siguientes. La configuración, las traducciones y la facturación de Project permanecen adjuntas al proyecto GoLocal. Los desarrolladores de aplicaciones no necesitan pegar ni mantener un script en el encabezado HTML de Bubble; la versión del complemento publicada contiene el tiempo de ejecución compatible.

Los datos editables permanecen intactos

Las entradas ordinarias, las entradas multilínea, los editores Quill y otras áreas contenteditable no se traducen de forma inversa mientras el usuario escribe.

Exclusiones de contenido reutilizable

Protege valores de base de datos ingresados por el usuario y celdas de grupos repetidos con do_not_translate_selectors en lugar de ID de HTML duplicados.

Búsqueda inversa automática segura

Bubble SearchBox, Dropdown, MultiDropdown heredado y Select2 MultiDropdown pueden hacer coincidir las opciones traducidas con los valores del idioma de origen.

Elemento GoLocal Query

Utilice un elemento GoLocal Query independiente por entrada ordinaria solo cuando esa entrada impulse una búsqueda de texto en el idioma de origen, una condición o un filtro API.

Lea la guía para desarrolladores GoLocal Query →

1
Instalar el complemento

GoLocal! está disponible como complemento gratuito en el mercado Bubble.io. No pagas nada por instalarlo: el complemento en sí cuesta $0. La facturación solo aplica cuando lo conectas a un proyecto GoLocal! con una clave API.

a

Abra el editor Bubble → pestaña Complementos.

b

Haga clic en "+ Agregar complementos" y busque "GoLocal" o "Auto Translator".

c

Instale GoLocal! - Traductor automático. Si ya está instalado, actualícelo a la última versión publicada.

d

Arrastre el elemento GoLocal! a cualquier página (normalmente un encabezado reutilizable). El elemento es invisible.

💡
Mejores prácticas: Coloque GoLocal! en un elemento reutilizable (encabezado/pie de página) que aparece en cada página.

2
Crea tu cuenta y Project

Para activar el complemento, necesita un Clave API. Las claves API se generan en su panel GoLocal! cuando crea un proyecto.

un
Ir a golocal.online/dashboard e inicia sesión con Google. Instantáneo, sin formularios.
segundo
Haga clic "Nuevo proyecto Pro". Ingrese el nombre del proyecto, el dominio, el idioma de origen y los idiomas de destino.
c

un Prueba gratuita de 5 días comienza automáticamente. No se requiere tarjeta de crédito. tu Clave API se genera inmediatamente.

re

Copie la clave API; la necesitará al configurar el complemento en Bubble.

⚠️
El dominio debe coincidir exactamente. La clave API está vinculada al dominio que especifique. Si su aplicación Bubble se ejecuta en myapp.bubbleapps.io, ingresa exactamente eso.

3
Configurar el complemento

Haga clic en el elemento GoLocal!. Como mínimo, establezca un campo:

Configuración mínima requerida:

api_key→ pegue la clave API de su proyecto GoLocal!

Con solo la clave API, GoLocal! carga la configuración del proyecto, utiliza el navegador del visitante o la selección de widget guardada, traduce el texto visible de la interfaz de usuario y muestra el selector de idiomas.

4
Campos de complemento: referencia

api_keyRequerido

La clave API de su proyecto desde el panel GoLocal!.

Vinculado al dominio: es seguro incluirlo en el código del lado del cliente.

source_languageOpcional

Código de dos letras del idioma original de tu aplicación. Ejemplos: en, uk, de.

Normalmente, deje esto vacío cuando el idioma de origen ya esté configurado en el proyecto GoLocal. Configúrelo solo cuando necesite anular intencionalmente el valor del proyecto/trabajador.

target_languageOpcional

Normalmente deja este campo vacío. El widget y la selección persistente del visitante controlan el idioma activo durante la carga de la página.

Un valor codificado como fr fuerza ese idioma cada vez que el elemento se inicializa y puede anular la elección del visitante. Vincule un valor dinámico solo cuando su aplicación Bubble posee intencionalmente el estado del idioma y proporciona un código de idioma estable en cada página.

enabledOpcional

Casilla de verificación que controla si la traducción está activa. Predeterminado: comprobado.

show_widgetOpcional

Muestra el widget de cambio de idioma incorporado. Predeterminado: comprobado. Desactívelo solo cuando su aplicación Bubble proporcione sus propios controles de idioma y llamadas. switch_language.

widget_positionOpcional

Posición del widget: bottom-right (predeterminado), bottom-left, top-right, top-left.

dataset_1Opcional

Traduzca previamente su base de datos Bubble para una carga instantánea.

Formato estructurado (recomendado):

// Configuración de Bubble:

Haga una búsqueda por (Categorías): formato como texto

Contenido: {Título de esta categoría; Nombre de esta categoría; El cuerpo de esta categoría}

Delimitador: ,

// Agrega otro tipo:

:append Haga una búsqueda de (Cures): formatee como texto

Contenido: {El título de esta cura; El nombre de esta cura; La receta de esta cura}

Delimitador: ,

Campos dentro { } separados por ; - bloques separados por ,. Ver Conjuntos de datos para más detalles.

do_not_translate_idsOpcional

ID de elementos separados por comas para nunca traducir. Al especificar un ID de grupo/contenedor se excluyen todos los elementos secundarios.

Ejemplo: user-bio, code-block, brand-section

Los ID de HTML deben ser únicos. No reutilice la misma identificación en celdas de grupos repetidos; utilice do_not_translate_selectors con una clase en su lugar.

do_not_translate_selectorsOpcional

Selectores CSS para contenido reutilizable o repetitivo que debe permanecer exactamente como está almacenado. Se excluyen un elemento coincidente y todos sus hijos.

Ejemplos: .gl-user-content, [data-user-content], [id^="gl-user-content-"]

Recomendado para valores de bases de datos ingresados por el usuario y grupos repetidos. Un selector de clase o prefijo de ID puede hacer coincidir de forma segura muchas filas sin crear ID HTML duplicados.

private_translate_idsOpcional

Elementos que estan traducidos pero traducciones no están almacenados en caché globalmente. Úselo para datos por usuario (nombres, direcciones).

Ejemplo: user-name, order-address

Si el contenido debe permanecer exactamente como lo ingresó el usuario, no utilice este campo. Exclúyalo con do_not_translate_selectors en su lugar.

5
Conjuntos de datos: traducción de su base de datos Bubble

La mayoría de las aplicaciones Bubble muestran datos de la base de datos. Sin conjuntos de datos, el contenido dinámico se traduce en la primera vista, lo que provoca un retraso visible. Los conjuntos de datos pretraducen todo para carga instantánea.

Formato 1: estructurado: para elementos de varios campos (recomendado)

Envuelva cada artículo en {}, campos separados con ; (punto y coma), utilice , como delimitador entre elementos.

// Bubble: Realiza una búsqueda de (Categorías): formato como texto

Contenido: {Título de esta categoría; Nombre de esta categoría; El cuerpo de esta categoría}

Delimitador: ,

// Agregar: hacer una búsqueda de (Cures): formatear como texto

Contenido: {El título de esta cura; El nombre de esta cura; La receta de esta cura}

Delimitador: ,

// Resultado: {Salud;Bienestar;Guía...},{Belleza;Cuidado de la piel;Rutinas...},{Aspirina;Alivio;Tomar 2x...}

Clave: Campos dentro {} dividido por ; - bloques divididos por , — las comas en tu texto son seguras.

Formato 2: Simple: para listas de un solo valor

Para valores cortos sin comas (nombres de categorías, etiquetas):

Contenido: Nombre de esta categoría Delimitador: ,

// Salida: Electrónica,Ropa,Libros,Juguetes

Importante: Si el texto puede contener comas, utilice siempre el formato estructurado con {field;field} envolviendo.

💡
No necesita almacenar traducciones en su base de datos Bubble. GoLocal! traduce y almacena en caché todo automáticamente. Su base de datos permanece en un solo idioma.
💡
La búsqueda multilingüe tiene un alcance intencionado. La búsqueda inversa automática está disponible para Bubble SearchBox, Dropdown, MultiDropdown heredado y Select2 MultiDropdown. Para una entrada normal que filtre texto en el idioma de origen, agregue una GoLocal Query elemento y utilizar su normalized_query sólo en el filtro o condición. Consulte la guía Bubble completa.

6
Bubble Estados, eventos y acciones

El elemento principal GoLocal! posee la traducción de la página y expone el idioma activo a Bubble. Utilice sus estados en condiciones y sus eventos para iniciar flujos de trabajo en el punto correcto del ciclo de vida de la traducción.

1. Tiempo de ejecución listo

translator_ready = yes significa GoLocal inicializado. Esto no significa que todos los elementos dinámicos Bubble hayan terminado de traducirse.

2. Idioma cambiado

language_changed se activa cuando cambia el idioma activo. leer current_language aquí.

3. Pase completo

translation_complete se activa después de que se completa un lote de traducción. El contenido dinámico puede crear lotes posteriores.

Estados expuestos
current_languagetext

El código de idioma activo de dos letras. Úselo para enlaces PDF, condicionales Bubble y UI de idioma propiedad de la aplicación.

detected_languagetext

El idioma de origen/navegador detectado informado por el tiempo de ejecución.

translator_readyyes/no

Sí, después de que se haya inicializado el tiempo de ejecución de la traducción.

is_translatingyes/no

Sí, mientras GoLocal procesa un pase de traducción.

translation_completeyes/no

Bandera de finalización para el pase más reciente.

total_textsnumber

Número de elementos de texto observados en la sesión de ejecución actual.

cached_local / cached_bundle / cached_servernumber

Contadores de caché de diagnóstico. Útil para soporte y controles de rendimiento.

traducido / errores / tokens_usednumber

Contadores de errores y traducción en tiempo de ejecución.

last_error / preload_statustext

El último error de tiempo de ejecución y el estado de precarga para el diagnóstico.

Acciones de elementos

  • switch_language — cambiar al campo de acción requerido target_lang, por ejemplo fr.
  • Start_translation — comenzar o reanudar la observación y la traducción.
  • Stop_translation — deja de observar y traducir hasta que se reinicie.
  • rescan_dom — escanea explícitamente el contenido representado después de una ventana emergente Bubble, un elemento reutilizable o una actualización de grupo repetido.

Ejemplo: mostrar un enlace PDF en francés

Cree una condición Bubble en el enlace o grupo: When GoLocal! A's current_language is "fr". Si se debe ejecutar un flujo de trabajo cuando el visitante cambia de idioma, utilice When GoLocal! A language_changed. No necesitas esperar translation_complete solo para leer el idioma seleccionado.

⚠️
GoLocal Query es un elemento independiente. No reemplaza el elemento principal GoLocal! y sus estados no forman parte del elemento principal. Agréguelo solo para una entrada normal específica cuya lógica Bubble descendente necesite un valor de texto en el idioma de origen. Abra la guía de consultas completa.

7
Datos de usuario, formularios y grupos repetidos

GoLocal traduce el texto de la interfaz, pero los datos escritos o creados por sus usuarios deben permanecer estables. El tiempo de ejecución actual protege las entradas ordinarias, las entradas multilínea, los editores Quill y otros contenteditable áreas mientras una persona escribe.

Seguro por defecto

  • • Los valores de entrada y de entrada multilínea se guardan exactamente como se escriben.
  • • Quill .ql-editor y otras regiones editables se omiten mientras se escribe.
  • • Los correos electrónicos, contraseñas, números, fechas, identificaciones y archivos siempre deben usar sus valores Bubble originales.

La pantalla necesita una exclusión

Cuando el contenido del usuario guardado se muestra posteriormente mediante un elemento de texto Bubble normal, GoLocal no puede saber si se trata de una copia de la interfaz de usuario o de datos del usuario. Marque ese elemento de visualización o su contenedor más pequeño como una zona sin traducción.

Configuración recomendada de grupo repetido

  1. 1. Seleccione solo el elemento Texto que muestra el contenido del usuario. No excluya todo el grupo repetido si sus botones, encabezados y etiquetas estáticas aún deberían traducirse.
  2. 2. Asigne a cada fila una identificación dinámica única.
    gl-user-content-ID única de la cosa de la celda actual
  3. 3. Agregue un selector al elemento GoLocal.
    do_not_translate_selectors = [id^="gl-user-content-"]

Si su configuración Bubble o un elemento reutilizable pueden aplicar una clase personalizada, .gl-user-content es aún más sencillo. Añade esa clase una vez a do_not_translate_selectors.

Marcadores sin traducción admitidos

El tiempo de ejecución respeta data-tr-skip, data-no-translate, translate="no"y anidado .notranslate elementos. Los campos selectores de ID y CSS configurados siguen siendo el método nativo de Bubble más sencillo.

Saltar versus traducción privada

do_not_translate_* conserva el valor original. private_translate_ids todavía traduce el valor pero evita un caché global compartido. Utilice la traducción privada sólo cuando el contenido realmente deba traducirse.

⚠️
Nunca duplique una ID HTML en un grupo repetido. Una identificación duplicada puede hacer que un selector coincida de manera impredecible o excluya un área más grande de lo previsto. Utilice una clase, un atributo de datos o un ID dinámico que contenga el ID único de la cosa.
💡
Iconos de materiales y controles de glifos personalizados: algunos íconos Bubble o de terceros se representan a partir de nombres de glifos literales como home o check_box. Si un icono tiene respaldo de texto, excluya el icono/contenedor de control más pequeño para que la palabra clave glifo nunca se traduzca.

8
Editor de traducción y correcciones manuales

Utilice el Editor de traducción para textos fijos del producto: etiquetas de navegación, encabezados, botones, texto de ayuda y otras frases que deberían tener una traducción revisada. Las entradas manuales están bloqueadas y no son reemplazadas por una traducción automática posterior.

Buena corrección manual

Fuente Plan de actualización → frase de producto en francés revisada Mejorar el plan. Esta es una copia de interfaz estable y pertenece al editor.

No corrija los datos del usuario una fila a la vez

Un nombre creado por el cliente, como Trabajo de domicilio debe excluirse en el elemento de visualización Bubble. Agregar miles de traducciones de identidades no es un reemplazo seguro para una zona sin traducción.

  1. 1. Abra el proyecto en el panel de GoLocal y elija Traducciones.
  2. 2. Busque la frase fuente exacta y el par de idiomas.
  3. 3. Edite el valor objetivo o utilice Agregar traducción para obtener una nueva frase fuente exacta.
  4. 4. Guardar. La entrada está marcada. manuales, la versión del paquete cambia y el tiempo de ejecución actualiza el diccionario del proyecto.
  5. 5. Vuelva a probar la ruta Bubble exacta donde se representa la frase. uso rescan_dom solo si la frase aparece después de una representación inusual de un tercero.
💡
El par exacto del idioma de origen es importante. Si el idioma de origen del proyecto es el inglés, agregue el par del manual como en → fr, no auto → fr. El tiempo de ejecución solicita el par de fuentes resuelto del proyecto.

9
Cómo funciona la traducción

GoLocal observa el Bubble DOM renderizado, aplica primero las traducciones del paquete del proyecto y del caché local, y solicita solo frases faltantes o modificadas. Continúa observando ventanas emergentes, elementos reutilizables y grupos repetidos que Bubble renderiza más adelante.

1

Carga de página inicial

El tiempo de ejecución resuelve los idiomas de origen y de destino, carga el paquete del proyecto actual, escanea el texto visible de la interfaz de usuario y revela la página a través del flujo antiparpadeo incorporado.

2

Traducciones en caché

Las frases conocidas se aplican desde el paquete o la caché del navegador sin regenerarlas. Una versión modificada del paquete invalida los valores almacenados en caché obsoletos.

3

Contenido dinámico Bubble

El observador DOM detecta ventanas emergentes recién renderizadas, elementos reutilizables, grupos condicionalmente visibles y celdas de grupos repetidos. rescan_dom es un recurso explícito.

El antiparpadeo está integrado en el tiempo de ejecución del complemento publicado. Los desarrolladores de aplicaciones actualizan el complemento desde la pestaña Complementos de Bubble; no pegan un script GoLocal en el encabezado HTML de la aplicación. El tiempo de espera de seguridad siempre revela la página incluso si falla una solicitud de red.

10
Solución de problemas y pruebas de lanzamiento

La página se restablece a un idioma.

Deje target_language vacío en cada página y elemento GoLocal reutilizable a menos que su aplicación Bubble posea deliberadamente el idioma. Se vuelve a aplicar un valor codificado durante la inicialización.

Falta el widget

Confirme que show_widget esté marcado, que la versión más reciente del complemento esté instalada y que solo un elemento GoLocal previsto controle la página. Luego pruebe fuera del modo depurador paso a paso Bubble.

Una ventana emergente o una nueva fila de grupo repetido permanece sin traducir

Espere a que el elemento se haga visible. El observador normalmente lo encuentra automáticamente; Si un elemento de terceros se muestra de manera inusual, ejecute rescan_dom después de que se muestre la ventana emergente o el grupo.

La entrada o el texto enriquecido cambian mientras se escribe

Actualice el complemento, confirme el tiempo de ejecución actual y verifique que el flujo de trabajo para guardar lea el valor de entrada/editor original, no el texto mostrado traducido o normalized_query.

El texto en francés creado por el usuario se traduce nuevamente

Excluya el texto/contenedor de visualización a través de do_not_translate_selectors. Protege el valor dinámico más pequeño, no toda la interfaz de usuario estática a su alrededor.

Una corrección manual vuelve a automática.

Las entradas manuales actuales están bloqueadas. Confirme que editó el mismo texto fuente y el mismo par de idiomas exacto utilizado por el tiempo de ejecución, luego envíe el proyecto, la ruta, la frase y el tiempo de prueba al soporte.

Los nombres de los meses y días permanecen en inglés.

El navegador nativo o el selector de fecha Bubble Chrome siguen la configuración regional del navegador/control. GoLocal traduce las etiquetas circundantes pero no reescribe la interfaz de usuario interna del selector de fechas.

Chrome ofrece traducción de su propia página

El complemento ya marca el documento como notranslate para la traducción del navegador y permite que GoLocal se ejecute. Actualiza el complemento; no agregue una segunda extensión de traducción o script.

El texto se ajusta de forma diferente después de la traducción

GoLocal conserva la tipografía Bubble. Las frases traducidas pueden ser más largas, así que verifique el ancho mínimo, el ancho máximo, la altura de ajuste, el desbordamiento y las reglas de respuesta de Bubble en cada punto de interrupción.

Lista de verificación de aceptación de Bubble

  • ✓Cambie de origen → destino → origen sin actualizar.
  • ✓Navegue entre todas las páginas Bubble y encabezados reutilizables.
  • ✓Abra ventanas emergentes y cargue filas de grupos repetidos después de cargar la página.
  • ✓Escriba, pegue, edite, guarde y vuelva a abrir campos normales y de texto enriquecido.
  • ✓Pruebe un valor de datos de usuario excluido dentro de cada grupo repetido.
  • ✓Pruebe SearchBox, menú desplegable, búsqueda heredada/Select2 MultiDropdown.
  • ✓Pruebe todos los enlaces condicionales y PDF/recursos de current_language.
  • ✓Vuelva a probar Chrome, Safari, ancho móvil y una sesión privada.
💡
Evidencias de apoyo útiles: envíe la URL exacta en vivo o de prueba de versión, el nombre del proyecto, los idiomas de origen y de destino, el tipo de elemento Bubble afectado, los pasos para reproducir, el tiempo de prueba con zona horaria, la captura de pantalla y las líneas de la consola que comienzan con [GoLocal v4].

11
Preciosy facturación

Tres planes, todos con palabras de traducción ilimitadas e idiomas de destino ilimitados.

CaracterísticaStarterProBusiness
Precio mensual$15/mo$35/mo$89/mo
Precio anual$149/yr$349/yr$890/yr
Idiomas de destinoIlimitadoIlimitadoIlimitado
Límite MAU30K150K1M
Projects112

MAU

Visitantes únicos que vieron traducciones. Se filtraron los robots. 10% de excedente gratis, luego $3/10K extra.

Idiomas

Todos los planes pagos incluyen idiomas de destino ilimitados sin cargo adicional por idioma.

Prueba gratuita de 5 días

Cada nuevo proyecto comienza con una prueba gratuita. No se requiere tarjeta de crédito.

12
Socio Program

Gana dinero recomendando GoLocal!

Comparte tu enlace de referencia: gana comisiones recurrentes por cada cliente de pago que traigas.

1

Regístrate como socio

Panel de control → pestaña Socio → "Unirse al socio Program". Obtenga su enlace de referencia único.

2

Comparte tu enlace

Blog, YouTube, foro Bubble, redes sociales, tutoriales o directamente con los clientes.

3

Gana comisiones

Comisión recurrente durante toda la vida de la suscripción de cada usuario referido.

4

recibir pago

Solicite el pago mediante transferencia bancaria o PayPal cuando el saldo alcance el umbral mínimo.

💡
Perfecto para agencias Bubble: Recomendar GoLocal! a los clientes. Usted obtiene ingresos pasivos y ellos obtienen traducción profesional.

¿Listo para hacer que tu aplicación sea multilingüe?

Instale el complemento gratuito, cree un proyecto, pegue su clave API y su aplicación Bubble hablará todos los idiomas.