diff --git a/apps/builder/next.config.mjs b/apps/builder/next.config.mjs
index 778af91c8..0f1fb3eda 100644
--- a/apps/builder/next.config.mjs
+++ b/apps/builder/next.config.mjs
@@ -22,7 +22,7 @@ const nextConfig = {
],
i18n: {
defaultLocale: 'en',
- locales: ['en', 'fr', 'pt', 'pt-BR', 'de'],
+ locales: ['en', 'fr', 'pt', 'pt-BR', 'de', 'ro', 'es'],
},
experimental: {
outputFileTracingRoot: join(__dirname, '../../'),
diff --git a/apps/builder/public/locales/de.json b/apps/builder/public/locales/de.json
index 167202779..adb5ec34b 100644
--- a/apps/builder/public/locales/de.json
+++ b/apps/builder/public/locales/de.json
@@ -44,7 +44,7 @@
"auth.noProvider.link": "mindestens einen Authentifizierungsanbieter konfigurieren (E-Mail, Google, GitHub, Facebook oder Azure AD).",
"auth.noProvider.preLink": "Du musst",
"auth.orEmailLabel": "Oder mit deiner E-Mail",
- "auth.register.aggreeToTerms": "Durch die Registrierung stimmst du unseren termsOfService und privacyPolicy zu.",
+ "auth.register.aggreeToTerms": "Durch die Registrierung stimmst du unseren nutzungsbedingungen und datenschutzrichtlinie zu.",
"auth.register.alreadyHaveAccountLabel.link": "Anmelden",
"auth.register.alreadyHaveAccountLabel.preLink": "Bereits ein Konto vorhanden?",
"auth.register.heading": "Konto erstellen",
diff --git a/apps/builder/public/locales/en.json b/apps/builder/public/locales/en.json
index 6162cef08..80941f8f8 100644
--- a/apps/builder/public/locales/en.json
+++ b/apps/builder/public/locales/en.json
@@ -44,7 +44,7 @@
"auth.noProvider.link": "configure at least one auth provider (Email, Google, GitHub, Facebook or Azure AD).",
"auth.noProvider.preLink": "You need to",
"auth.orEmailLabel": "Or with your email",
- "auth.register.aggreeToTerms": "By signing up, you agree to our termsOfService and privacyPolicy.",
+ "auth.register.aggreeToTerms": "By signing up, you agree to our terms of service and privacy policy.",
"auth.register.alreadyHaveAccountLabel.link": "Sign in",
"auth.register.alreadyHaveAccountLabel.preLink": "Already have an account?",
"auth.register.heading": "Create an account",
@@ -227,9 +227,9 @@
"templates.modal.useTemplateButton.label": "Use this template",
"upgrade": "Upgrade",
"video.aspectRatioInput.label": "Aspect ratio",
- "video.aspectRatioInput.moreInfoTooltip": "Example: \"16/9\" or \"9/16",
+ "video.aspectRatioInput.moreInfoTooltip": "Example: \"16/9\" or \"9/16\"",
"video.maxWidthInput.label": "Max width",
- "video.maxWidthInput.moreInfoTooltip": "Example: \"300px\" or \"100%",
+ "video.maxWidthInput.moreInfoTooltip": "Example: \"300px\" or \"100%\"",
"video.urlInput.helperText": "Works with Youtube, Vimeo, Gumlet, TikTok and others",
"video.urlInput.placeholder": "Paste the video link...",
"workspace.dropdown.logoutButton.label": "Log out",
diff --git a/apps/builder/public/locales/es.json b/apps/builder/public/locales/es.json
new file mode 100644
index 000000000..d56196307
--- /dev/null
+++ b/apps/builder/public/locales/es.json
@@ -0,0 +1,252 @@
+{
+ "account.apiTokens.createButton.label": "Crear",
+ "account.apiTokens.createModal.copyInstruction": "Por favor, copia tu token y guárdalo en un lugar seguro.",
+ "account.apiTokens.createModal.createButton.label": "Crear token",
+ "account.apiTokens.createModal.createHeading": "Crear token",
+ "account.apiTokens.createModal.createdHeading": "Token Creado",
+ "account.apiTokens.createModal.doneButton.label": "Hecho",
+ "account.apiTokens.createModal.nameInput.label": "Ingresa un nombre único para tu token, para diferenciarlo de otros tokens.",
+ "account.apiTokens.createModal.nameInput.placeholder": "Ej. Zapier, Github, Make.com",
+ "account.apiTokens.createModal.securityWarning": "Por motivos de seguridad, no podemos mostrarlo nuevamente.",
+ "account.apiTokens.deleteButton.label": "Eliminar",
+ "account.apiTokens.deleteConfirmationMessage": "El token tokenName será anulado de forma permanente. ¿Deseas continuar?",
+ "account.apiTokens.description": "Estos tokens permiten que otras aplicaciones controlen toda tu cuenta y tus typebots. ¡Ten cuidado!",
+ "account.apiTokens.heading": "Tokens de API",
+ "account.apiTokens.table.createdHeader": "Creado",
+ "account.apiTokens.table.nameHeader": "Nombre",
+ "account.myAccount.changePhotoButton.label": "Cambiar foto",
+ "account.myAccount.changePhotoButton.specification": ".jpg o .png, máximo 1MB",
+ "account.myAccount.emailInput.disabledTooltip": "El cambio de email no está disponible. Contacta al soporte si quieres cambiarlo.",
+ "account.myAccount.emailInput.label": "Correo electrónico:",
+ "account.myAccount.nameInput.label": "Nombre:",
+ "account.preferences.appearance.darkLabel": "Oscuro",
+ "account.preferences.appearance.heading": "Apariencia",
+ "account.preferences.appearance.lightLabel": "Claro",
+ "account.preferences.appearance.systemLabel": "Sistema",
+ "account.preferences.graphNavigation.heading": "Navegación del Editor",
+ "account.preferences.graphNavigation.mouse.description": "Muévete arrastrando el tablero y acerca/aleja el zoom usando la rueda de desplazamiento.",
+ "account.preferences.graphNavigation.mouse.label": "Mouse",
+ "account.preferences.graphNavigation.trackpad.description": "Mueve el tablero con 2 dedos y acerca o aleja el zoom pellizcando",
+ "account.preferences.graphNavigation.trackpad.label": "Trackpad",
+ "account.preferences.language.heading": "Idioma",
+ "account.preferences.language.tooltip": "Las traducciones aún no están completas. Es un trabajo en progreso. \uD83E\uDD13",
+ "analytics.completionRateLabel": "Tasa de finalización",
+ "analytics.notAvailableLabel": "No disponible",
+ "analytics.startsLabel": "Iniciaron",
+ "analytics.viewsLabel": "Vistas",
+ "auth.emailSubmitButton.label": "Enviar",
+ "auth.error.default": "Intenta iniciar sesión con una cuenta diferente.",
+ "auth.error.email": "No se encontró el correo electrónico. Intenta iniciar sesión con un proveedor diferente.",
+ "auth.error.oauthNotLinked": "Para confirmar tu identidad, inicia sesión con la misma cuenta que utilizaste originalmente.",
+ "auth.error.unknown": "Se produjo un error. Inténtalo de nuevo.",
+ "auth.magicLink.description": "Asegúrate de revisar tu carpeta spam.",
+ "auth.magicLink.title": "Se envió un correo electrónico con enlace mágico. \uD83E\uDE84",
+ "auth.noProvider.link": "Configurar al menos un proveedor de autenticación (correo electrónico, Google, GitHub, Facebook o Azure AD).",
+ "auth.noProvider.preLink": "Necesitas",
+ "auth.orEmailLabel": "O con tu correo electrónico",
+ "auth.register.aggreeToTerms": "Al registrarte, aceptas nuestros términos de servicio y política de privacidad.",
+ "auth.register.alreadyHaveAccountLabel.link": "Iniciar sesión",
+ "auth.register.alreadyHaveAccountLabel.preLink": "¿Ya tienes una cuenta?",
+ "auth.register.heading": "Crear una cuenta",
+ "auth.signin.heading": "Iniciar sesión",
+ "auth.signin.noAccountLabel.link": "Regístrate gratis",
+ "auth.signin.noAccountLabel.preLink": "¿No tienes una cuenta?",
+ "auth.signinErrorToast.description": "Los registros están deshabilitados.",
+ "auth.signinErrorToast.title": "No autorizado",
+ "auth.signinErrorToast.tooManyRequests": "Demasiadas solicitudes. Inténtalo de nuevo más tarde.",
+ "auth.socialLogin.azureButton.label": "Continuar con {azureProviderName}",
+ "auth.socialLogin.customButton.label": "Continuar con {customProviderName}",
+ "auth.socialLogin.facebookButton.label": "Continuar con Facebook",
+ "auth.socialLogin.githubButton.label": "Continuar con GitHub",
+ "auth.socialLogin.gitlabButton.label": "Continuar con {gitlabProviderName}",
+ "auth.socialLogin.googleButton.label": "Continuar con Google",
+ "back": "Volver",
+ "billing.billingPortalButton.label": "Portal de facturación",
+ "billing.contribution.link": "Más información.",
+ "billing.contribution.preLink": "Typebot está contribuyendo con un 1% de tu suscripción para eliminar CO₂ de la atmósfera.",
+ "billing.currentSubscription.cancelDate": "Será cancelado en",
+ "billing.currentSubscription.heading": "Suscripción",
+ "billing.currentSubscription.pastDueAlert": "El último pago falló. Ve al portal de facturación para continuar y evitar que tu suscripción sea cancelada.",
+ "billing.currentSubscription.subheading": "Suscripción actual del espacio de trabajo:",
+ "billing.customLimit.link": "¡Hablemos!",
+ "billing.customLimit.preLink": "¿Necesitas límites personalizados? ¿Funciones específicas?",
+ "billing.invoices.empty": "No se encontraron facturas para este espacio de trabajo.",
+ "billing.invoices.heading": "Facturas",
+ "billing.invoices.paidAt": "Pagado el",
+ "billing.invoices.subtotal": "Subtotal",
+ "billing.limitMessage.analytics": "desbloquea análisis detallados",
+ "billing.limitMessage.brand": "elimina la marca",
+ "billing.limitMessage.customDomain": "añade dominios personalizados",
+ "billing.limitMessage.fileInput": "usa bloques de carga de archivos",
+ "billing.limitMessage.folder": "crea carpetas",
+ "billing.preCheckoutModal.companyInput.label": "Nombre de la empresa:",
+ "billing.preCheckoutModal.emailInput.label": "Correo electrónico:",
+ "billing.preCheckoutModal.submitButton.label": "Ir a la página de pagos",
+ "billing.preCheckoutModal.taxId.label": "Identificación fiscal:",
+ "billing.preCheckoutModal.taxId.placeholder": "Tipo de ID",
+ "billing.pricingCard.chatsPerMonth": "chats/mes",
+ "billing.pricingCard.chatsTooltip": "Se cuenta un chat cada vez que un usuario inicia una conversación. Es independiente del número de mensajes que envía y recibe.",
+ "billing.pricingCard.heading": "Actualiza a plan",
+ "billing.pricingCard.perMonth": "/ mes",
+ "billing.pricingCard.plus": ", más:",
+ "billing.pricingCard.pro.analytics": "Análisis detallados",
+ "billing.pricingCard.pro.customDomains": "Dominios personalizados",
+ "billing.pricingCard.pro.description": "Para agencias y startups en crecimiento.",
+ "billing.pricingCard.pro.everythingFromStarter": "Todo en Starter",
+ "billing.pricingCard.pro.includedSeats": "5 asientos incluidos",
+ "billing.pricingCard.pro.mostPopularLabel": "Más popular",
+ "billing.pricingCard.pro.whatsAppIntegration": "Integración de WhatsApp",
+ "billing.pricingCard.starter.brandingRemoved": "Marca eliminada",
+ "billing.pricingCard.starter.createFolders": "Crear carpetas",
+ "billing.pricingCard.starter.description": "Para individuos y pequeñas empresas.",
+ "billing.pricingCard.starter.fileUploadBlock": "Bloque de carga de archivos",
+ "billing.pricingCard.starter.includedSeats": "2 asientos incluidos",
+ "billing.pricingCard.upgradeButton.current": "Tu plan actual",
+ "billing.tiersModal.heading": "Tabla de precios de Chats",
+ "billing.updateSuccessToast.description": "Espacio de trabajo {plan} actualizado correctamente \uD83C\uDF89",
+ "billing.upgradeAlert.buttonDefaultLabel": "Más información",
+ "billing.upgradeLimitLabel": "Necesitas actualizar tu plan para {type}",
+ "billing.usage.chats.alert.soonReach": "¡Tus typebots son populares! Pronto alcanzarás el límite de chats de tu plan. \uD83D\uDE80",
+ "billing.usage.chats.alert.updatePlan": "Asegúrate de actualizar tu plan para aumentar este límite y seguir chateando con tus usuarios.",
+ "billing.usage.chats.heading": "Chats",
+ "billing.usage.heading": "Uso",
+ "billing.usage.unlimited": "Ilimitado",
+ "blocks.bubbles.embed.blockCard.tooltip": "Insertar un PDF, un iframe, un sitio web...",
+ "blocks.inputs.fileUpload.blockCard.tooltip": "Cargar archivos",
+ "blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics",
+ "blocks.integrations.googleSheets.blockCard.tooltip": "Google Sheets",
+ "cancel": "Cancelar",
+ "clickToEdit": "Haz clic para editar...",
+ "confirmModal.defaultTitle": "¿Estás seguro?",
+ "dashboard.header.settingsButton.label": "Configuración y Miembros",
+ "dashboard.redirectionMessage": "Estás siendo redirigido...",
+ "dashboard.title": "Mis typebots",
+ "delete": "Eliminar",
+ "downgrade": "Degradar",
+ "editor.blockCard.logicBlock.tooltip.code.label": "Ejecutar código Javascript",
+ "editor.blockCard.logicBlock.tooltip.jump.label": "Saltar al flujo de otro grupo",
+ "editor.blockCard.logicBlock.tooltip.typebotLink.label": "Enlazar y avanzar a otro typebot",
+ "editor.blocks.bubbles.audio.settings.autoplay.label": "Habilitar reproducción automática",
+ "editor.blocks.bubbles.audio.settings.chooseFile.label": "Elegir un archivo",
+ "editor.blocks.bubbles.audio.settings.embedLink.label": "Adicionar link",
+ "editor.blocks.bubbles.audio.settings.upload.label": "Subir",
+ "editor.blocks.bubbles.audio.settings.worksWith.placeholder": "Pega el enlace del archivo de audio...",
+ "editor.blocks.bubbles.audio.settings.worksWith.text": "Compatible con .MP3 y .WAV",
+ "editor.blocks.bubbles.embed.node.show.text": "Mostrar inserción",
+ "editor.blocks.bubbles.embed.settings.numberInput.unit": "px",
+ "editor.blocks.bubbles.embed.settings.worksWith.placeholder": "Pega el enlace o código...",
+ "editor.blocks.bubbles.embed.settings.worksWith.text": "Funciona con PDF, iframes, sitios web...",
+ "editor.blocks.bubbles.image.switchWithLabel.onClick.label": "Enlace al hacer clic",
+ "editor.blocks.bubbles.image.switchWithLabel.onClick.placeholder": "Texto alternativo del enlace (descripción)",
+ "editor.blocks.bubbles.textEditor.plate.label": "Editor de texto",
+ "editor.blocks.bubbles.textEditor.searchVariable.placeholder": "Buscar una variable",
+ "editor.blocks.start.text": "Inicio",
+ "editor.editableTypebotName.tooltip.rename.label": "Renombrar",
+ "editor.gettingStartedModal.editorBasics.heading": "Conceptos básicos del Editor",
+ "editor.gettingStartedModal.editorBasics.list.four.label": "Previsualiza tu bot haciendo clic en el botón de previsualización en la esquina superior derecha",
+ "editor.gettingStartedModal.editorBasics.list.label": "Si tienes alguna pregunta, no dudes en usar la burbuja en la esquina inferior derecha. Suelo responder en las próximas 24 horas. \uD83D\uDE03",
+ "editor.gettingStartedModal.editorBasics.list.one.label": "La barra lateral izquierda contiene bloques que puedes arrastrar y soltar en el tablero.",
+ "editor.gettingStartedModal.editorBasics.list.three.label": "Conecta los grupos entre sí",
+ "editor.gettingStartedModal.editorBasics.list.two.label": "Puedes agrupar bloques ubicándolos debajo o encima de cada uno",
+ "editor.gettingStartedModal.seeAction.item.label": "Otros videos",
+ "editor.gettingStartedModal.seeAction.label": "Verlo en acción",
+ "editor.gettingStartedModal.seeAction.time": "5 minutos",
+ "editor.headers.flowButton.label": "Flujo",
+ "editor.headers.helpButton.label": "Ayuda",
+ "editor.headers.previewButton.label": "Previsualización",
+ "editor.headers.resultsButton.label": "Resultados",
+ "editor.headers.savingSpinner.label": "Guardando...",
+ "editor.headers.settingsButton.label": "Configuración",
+ "editor.headers.shareButton.label": "Compartir",
+ "editor.headers.themeButton.label": "Tema",
+ "editor.sidebarBlock.abTest.label": "Prueba A/B",
+ "editor.sidebarBlock.analytics.label": "Análisis",
+ "editor.sidebarBlock.audio.label": "Audio",
+ "editor.sidebarBlock.button.label": "Botones",
+ "editor.sidebarBlock.chatwoot.label": "Chatwoot",
+ "editor.sidebarBlock.condition.label": "Condición",
+ "editor.sidebarBlock.date.label": "Fecha",
+ "editor.sidebarBlock.email.label": "Email",
+ "editor.sidebarBlock.embed.label": "Insertar",
+ "editor.sidebarBlock.file.label": "Archivo",
+ "editor.sidebarBlock.image.label": "Imagen",
+ "editor.sidebarBlock.jump.label": "Saltar",
+ "editor.sidebarBlock.makecom.label": "Make.com",
+ "editor.sidebarBlock.number.label": "Número",
+ "editor.sidebarBlock.openai.label": "OpenAI",
+ "editor.sidebarBlock.pabbly.label": "Pabbly",
+ "editor.sidebarBlock.payment.label": "Pago",
+ "editor.sidebarBlock.phone.label": "Teléfono",
+ "editor.sidebarBlock.picChoice.label": "Elegir imagen",
+ "editor.sidebarBlock.pixel.label": "Píxel",
+ "editor.sidebarBlock.rating.label": "Calificación",
+ "editor.sidebarBlock.redirect.label": "Redireccionar",
+ "editor.sidebarBlock.script.label": "Script",
+ "editor.sidebarBlock.setVariable.label": "Establecer variable",
+ "editor.sidebarBlock.sheets.label": "Sheets",
+ "editor.sidebarBlock.start.label": "Iniciar",
+ "editor.sidebarBlock.text.label": "Texto",
+ "editor.sidebarBlock.typebot.label": "Typebot",
+ "editor.sidebarBlock.video.label": "Video",
+ "editor.sidebarBlock.wait.label": "Esperar",
+ "editor.sidebarBlock.webhook.label": "Webhook",
+ "editor.sidebarBlock.website.label": "Sitio web",
+ "editor.sidebarBlock.zapier.label": "Zapier",
+ "editor.sidebarBlock.zemanticAi.label": "Zemantic AI",
+ "editor.sidebarBlocks.blockType.bubbles.heading": "Burbujas",
+ "editor.sidebarBlocks.blockType.inputs.heading": "Entradas",
+ "editor.sidebarBlocks.blockType.integrations.heading": "Integraciones",
+ "editor.sidebarBlocks.blockType.logic.heading": "Lógica",
+ "editor.sidebarBlocks.sidebar.icon.lock.label": "Bloquear",
+ "editor.sidebarBlocks.sidebar.icon.unlock.label": "Desbloquear",
+ "editor.sidebarBlocks.sidebar.lock.label": "Bloquear barra lateral",
+ "editor.sidebarBlocks.sidebar.unlock.label": "Desbloquear barra lateral",
+ "errorMessage": "Se produjo un error",
+ "folders.createFolderButton.label": "Crear una carpeta",
+ "folders.createTypebotButton.label": "Crear un Typebot",
+ "folders.folderButton.deleteConfirmationMessage": "¿Estás seguro de que quieres eliminar la carpeta folderName? (Todo lo que hay dentro se moverá a tu tablero)",
+ "folders.typebotButton.delete": "Eliminar",
+ "folders.typebotButton.deleteConfirmationMessage": "¿Estás seguro de que quieres eliminar tu Typebot typebotName?",
+ "folders.typebotButton.deleteConfirmationMessageWarning": "Todos sus datos asociados se eliminarán y no se podrán recuperar.",
+ "folders.typebotButton.duplicate": "Duplicar",
+ "folders.typebotButton.live": "En vivo",
+ "folders.typebotButton.showMoreOptions": "Mostrar más opciones",
+ "folders.typebotButton.unpublish": "Despublicar",
+ "pending": "Pendiente",
+ "remove": "Eliminar",
+ "skip": "Saltar",
+ "templates.buttons.fromScratchButton.label": "Empezar desde cero",
+ "templates.buttons.fromTemplateButton.label": "Empezar desde una plantilla",
+ "templates.buttons.heading": "Crear un nuevo Typebot",
+ "templates.buttons.importFileButton.label": "Importar un archivo",
+ "templates.importFromFileButon.toastError.description": "Error al analizar el archivo. ¿Estás seguro de que es un Typebot?",
+ "templates.modal.menuHeading.marketing": "Marketing",
+ "templates.modal.menuHeading.new.tag": "Nuevo",
+ "templates.modal.menuHeading.other": "Otro",
+ "templates.modal.menuHeading.product": "Producto",
+ "templates.modal.useTemplateButton.label": "Usar esta plantilla",
+ "upgrade": "Actualizar",
+ "video.aspectRatioInput.label": "Relación de aspecto",
+ "video.aspectRatioInput.moreInfoTooltip": "Ejemplo: \"16/9\" o \"9/16\"",
+ "video.maxWidthInput.label": "Ancho máximo",
+ "video.maxWidthInput.moreInfoTooltip": "Ejemplo: \"300px\" o \"100%\"",
+ "video.urlInput.helperText": "Funciona con Youtube, Vimeo, Gumlet, TikTok y otros",
+ "video.urlInput.placeholder": "Pega el enlace del video...",
+ "workspace.dropdown.logoutButton.label": "Cerrar sesión",
+ "workspace.dropdown.newButton.label": "Nuevo espacio de trabajo",
+ "workspace.membersList.inviteButton.label": "Invitar",
+ "workspace.membersList.inviteInput.placeholder": "colega@empresa.com",
+ "workspace.membersList.title": "Miembros",
+ "workspace.membersList.unlockBanner.label": "Actualiza tu plan para trabajar con más miembros del equipo y desbloquear increíbles funciones avanzadas \uD83D\uDE80",
+ "workspace.settings.deleteButton.confirmMessage": "¿Estás seguro de que quieres eliminar el espacio de trabajo {workspaceName}? Se eliminarán para siempre todas sus carpetas, Typebots y resultados.",
+ "workspace.settings.deleteButton.label": "Eliminar espacio de trabajo",
+ "workspace.settings.icon.title": "Icono",
+ "workspace.settings.modal.menu.billingAndUsage.label": "Facturación y uso",
+ "workspace.settings.modal.menu.members.label": "Miembros",
+ "workspace.settings.modal.menu.myAccount.label": "Mi cuenta",
+ "workspace.settings.modal.menu.preferences.label": "Preferencias",
+ "workspace.settings.modal.menu.settings.label": "Configuración",
+ "workspace.settings.modal.menu.version.label": "Versión: {version}",
+ "workspace.settings.modal.menu.workspace.label": "Espacio de trabajo",
+ "workspace.settings.name.label": "Nombre:"
+}
diff --git a/apps/builder/public/locales/fr.json b/apps/builder/public/locales/fr.json
index 14c6486bf..cc8af1570 100644
--- a/apps/builder/public/locales/fr.json
+++ b/apps/builder/public/locales/fr.json
@@ -44,7 +44,7 @@
"auth.noProvider.link": "configurer au moins un fournisseur d'authentification (E-mail, Google, GitHub, Facebook ou Azure AD).",
"auth.noProvider.preLink": "Tu as besoin de",
"auth.orEmailLabel": "Ou avec votre email",
- "auth.register.aggreeToTerms": "En vous inscrivant, vous acceptez nos termsOfService et privacyPolicy.",
+ "auth.register.aggreeToTerms": "En vous inscrivant, vous acceptez nos conditions de service et politique de protection de la vie privée.",
"auth.register.alreadyHaveAccountLabel.link": "Se connecter",
"auth.register.alreadyHaveAccountLabel.preLink": "Tu as déjà un compte?",
"auth.register.heading": "Créer un compte",
diff --git a/apps/builder/public/locales/pt-BR.json b/apps/builder/public/locales/pt-BR.json
index 8a9677609..d670ec020 100644
--- a/apps/builder/public/locales/pt-BR.json
+++ b/apps/builder/public/locales/pt-BR.json
@@ -44,7 +44,7 @@
"auth.noProvider.link": "configurar pelo menos um provedor de autenticação (E-mail, Google, GitHub, Facebook ou Azure AD).",
"auth.noProvider.preLink": "Você precisa",
"auth.orEmailLabel": "Ou com seu email",
- "auth.register.aggreeToTerms": "Ao se cadastrar, você concorda com nossos termsOfService e privacyPolicy.",
+ "auth.register.aggreeToTerms": "Ao se cadastrar, você concorda com nossos termos de serviço e política de privacidade.",
"auth.register.alreadyHaveAccountLabel.link": "Entrar",
"auth.register.alreadyHaveAccountLabel.preLink": "Já tem uma conta?",
"auth.register.heading": "Criar uma conta",
@@ -112,7 +112,7 @@
"billing.usage.heading": "Uso",
"billing.usage.unlimited": "Ilimitado",
"blocks.bubbles.embed.blockCard.tooltip": "Incorporar pdf, iframe, website...",
- "blocks.inputs.fileUpload.blockCard.tooltip": "Carregar Ficheiros",
+ "blocks.inputs.fileUpload.blockCard.tooltip": "Anexar arquivos",
"blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics",
"blocks.integrations.googleSheets.blockCard.tooltip": "Google Sheets",
"cancel": "Cancelar",
@@ -226,6 +226,10 @@
"templates.modal.menuHeading.product": "Produto",
"templates.modal.useTemplateButton.label": "Usar esse modelo",
"upgrade": "Upgrade",
+ "video.aspectRatioInput.label": "Proporção",
+ "video.aspectRatioInput.moreInfoTooltip": "Exemplo: \"16/9\" ou \"9/16\"",
+ "video.maxWidthInput.label": "Largura máxima",
+ "video.maxWidthInput.moreInfoTooltip": "Exemplo: \"300px\" ou \"100%\"",
"video.urlInput.helperText": "Compatível com Youtube, Vimeo, Gumlet, TikTok e outros",
"video.urlInput.placeholder": "Colar o link do vídeo...",
"workspace.dropdown.logoutButton.label": "Sair",
diff --git a/apps/builder/public/locales/pt.json b/apps/builder/public/locales/pt.json
index 8d4c63eb0..41986fe4a 100644
--- a/apps/builder/public/locales/pt.json
+++ b/apps/builder/public/locales/pt.json
@@ -44,7 +44,7 @@
"auth.noProvider.link": "configurar pelo menos um fornecedor de autenticação (E-mail, Google, GitHub, Facebook ou Azure AD).",
"auth.noProvider.preLink": "Precisa de",
"auth.orEmailLabel": "Ou com o seu e-mail",
- "auth.register.aggreeToTerms": "Ao registar-se, concorda com os nossos termsOfService e privacyPolicy.",
+ "auth.register.aggreeToTerms": "Ao registar-se, concorda com os nossos termos de serviço e política de privacidade.",
"auth.register.alreadyHaveAccountLabel.link": "Entrar",
"auth.register.alreadyHaveAccountLabel.preLink": "Já tem uma conta?",
"auth.register.heading": "Criar uma conta",
@@ -102,6 +102,7 @@
"billing.pricingCard.starter.fileUploadBlock": "Bloco de envio de ficheiro",
"billing.pricingCard.starter.includedSeats": "2 lugares incluídos",
"billing.pricingCard.upgradeButton.current": "A sua subscrição atual",
+ "billing.tiersModal.heading": "Tabela de preços de chat",
"billing.updateSuccessToast.description": "A sua subscrição {plan} foi atualizada com sucesso \uD83C\uDF89",
"billing.upgradeAlert.buttonDefaultLabel": "Mais informações",
"billing.upgradeLimitLabel": "Precisa de atualizar a sua subscrição para {type}",
@@ -225,6 +226,10 @@
"templates.modal.menuHeading.product": "Produto",
"templates.modal.useTemplateButton.label": "Usar este modelo",
"upgrade": "Upgrade",
+ "video.aspectRatioInput.label": "Proporção",
+ "video.aspectRatioInput.moreInfoTooltip": "Exemplo: \"16/9\" ou \"9/16\"",
+ "video.maxWidthInput.label": "Largura máxima",
+ "video.maxWidthInput.moreInfoTooltip": "Exemplo: \"300px\" ou \"100%\"",
"video.urlInput.helperText": "Compatível com Youtube, Vimeo, Gumlet, TikTok e outros",
"video.urlInput.placeholder": "Colar o link do vídeo...",
"workspace.dropdown.logoutButton.label": "Sair",
diff --git a/apps/builder/public/locales/ro.json b/apps/builder/public/locales/ro.json
new file mode 100644
index 000000000..75b468398
--- /dev/null
+++ b/apps/builder/public/locales/ro.json
@@ -0,0 +1,252 @@
+{
+ "account.apiTokens.createButton.label": "Crează",
+ "account.apiTokens.createModal.copyInstruction": "Vă rugăm să vă copiați jetonul și să-l păstrați într-un loc sigur.",
+ "account.apiTokens.createModal.createButton.label": "Creați token",
+ "account.apiTokens.createModal.createHeading": "Creați token",
+ "account.apiTokens.createModal.createdHeading": "Token creat",
+ "account.apiTokens.createModal.doneButton.label": "Terminat",
+ "account.apiTokens.createModal.nameInput.label": "Introduceți un nume unic pentru token-ul dvs. pentru a-l diferenția de alte jetoane.",
+ "account.apiTokens.createModal.nameInput.placeholder": "d.e. Zapier, Github, Make.com",
+ "account.apiTokens.createModal.securityWarning": "Din motive de securitate, nu îl putem arăta din nou.",
+ "account.apiTokens.deleteButton.label": "Șterge",
+ "account.apiTokens.deleteConfirmationMessage": "Indicatorul tokenName va fi revocat definitiv, sunteți sigur că doriți să continuați?",
+ "account.apiTokens.description": "Aceste jetoane permit altor aplicații să vă controleze întregul cont și typebots. Atenție!",
+ "account.apiTokens.heading": "Jetoane API",
+ "account.apiTokens.table.createdHeader": "Creat",
+ "account.apiTokens.table.nameHeader": "Nume",
+ "account.myAccount.changePhotoButton.label": "Schimbare fotografie",
+ "account.myAccount.changePhotoButton.specification": ".jpg sau.png, maxim 1MB",
+ "account.myAccount.emailInput.disabledTooltip": "Actualizarea e-mailului nu este disponibilă. Contactați asistența dacă doriți să o schimbați.",
+ "account.myAccount.emailInput.label": "Adresa de e-mail:",
+ "account.myAccount.nameInput.label": "Nume:",
+ "account.preferences.appearance.darkLabel": "Întuneric",
+ "account.preferences.appearance.heading": "Aspect",
+ "account.preferences.appearance.lightLabel": "Luminos",
+ "account.preferences.appearance.systemLabel": "Sistem",
+ "account.preferences.graphNavigation.heading": "Navigare editor",
+ "account.preferences.graphNavigation.mouse.description": "Deplasați-vă trăgând panoul și măriți / micșorați folosind rotița de defilare",
+ "account.preferences.graphNavigation.mouse.label": "Mouse",
+ "account.preferences.graphNavigation.trackpad.description": "Mutați placa folosind 2 degete și măriți/micșorați prin ciupire",
+ "account.preferences.graphNavigation.trackpad.label": "Trackpad",
+ "account.preferences.language.heading": "Limba",
+ "account.preferences.language.tooltip": "Traducerile nu sunt încă complete. Este o lucrare în curs. \uD83E\uDD13",
+ "analytics.completionRateLabel": "Rata de finalizare",
+ "analytics.notAvailableLabel": "Nu este disponibil",
+ "analytics.startsLabel": "Începe",
+ "analytics.viewsLabel": "Vizualizări",
+ "auth.emailSubmitButton.label": "Trimite",
+ "auth.error.default": "Încercați să semnați cu alt cont.",
+ "auth.error.email": "E-mail nu a fost găsit. Încercați să semnați cu un alt furnizor.",
+ "auth.error.oauthNotLinked": "Pentru a vă confirma identitatea, conectați-vă cu același cont pe care l-ați folosit inițial.",
+ "auth.error.unknown": "A aparut o eroare. Vă rugăm să încercați din nou.",
+ "auth.magicLink.description": "Asigurați-vă că verificați folderul de spam.",
+ "auth.magicLink.title": "A fost trimis un e-mail cu link magic. \uD83E\uDE84",
+ "auth.noProvider.link": "configurați cel puțin un furnizor de autentificare (E-mail, Google, GitHub, Facebook sau Azure AD).",
+ "auth.noProvider.preLink": "Trebuie să",
+ "auth.orEmailLabel": "Sau cu e-mailul tău",
+ "auth.register.aggreeToTerms": "Prin înscriere, sunteți de acord cu termeni și condiții de utilizare și cu politica de confidențialitate.",
+ "auth.register.alreadyHaveAccountLabel.link": "Conectare",
+ "auth.register.alreadyHaveAccountLabel.preLink": "Ai deja un cont?",
+ "auth.register.heading": "Creați un cont",
+ "auth.signin.heading": "Conectare",
+ "auth.signin.noAccountLabel.link": "Inregistreaza-te GRATUIT",
+ "auth.signin.noAccountLabel.preLink": "Nu ai un cont?",
+ "auth.signinErrorToast.description": "Înscrierile sunt dezactivate.",
+ "auth.signinErrorToast.title": "Neautorizat",
+ "auth.signinErrorToast.tooManyRequests": "Prea multe cereri. Încercați mai târziu.",
+ "auth.socialLogin.azureButton.label": "Continuați cu {customProviderName}",
+ "auth.socialLogin.customButton.label": "Continuați cu {customProviderName}",
+ "auth.socialLogin.facebookButton.label": "Continuați cu Facebook",
+ "auth.socialLogin.githubButton.label": "Continuați cu GitHub",
+ "auth.socialLogin.gitlabButton.label": "Continuați cu {customProviderName}",
+ "auth.socialLogin.googleButton.label": "Continuați cu Google",
+ "back": "Înapoi",
+ "billing.billingPortalButton.label": "Portalul de facturare",
+ "billing.contribution.link": "Află mai multe.",
+ "billing.contribution.preLink": "Typebot contribuie cu 1% din abonamentul dvs. pentru a elimina CO₂ din atmosferă.",
+ "billing.currentSubscription.cancelDate": "Va fi anulat pe",
+ "billing.currentSubscription.heading": "Abonament",
+ "billing.currentSubscription.pastDueAlert": "Ultima plată a eșuat. Accesați portalul de facturare pentru a continua și pentru a evita anularea abonamentului.",
+ "billing.currentSubscription.subheading": "Abonament curent pentru spațiul de lucru:",
+ "billing.customLimit.link": "Hai sa vorbim!",
+ "billing.customLimit.preLink": "Ai nevoie de limite personalizate? Caracteristici specifice?",
+ "billing.invoices.empty": "Nu s-au găsit facturi pentru acest spațiu de lucru.",
+ "billing.invoices.heading": "Facturi",
+ "billing.invoices.paidAt": "Plătit la",
+ "billing.invoices.subtotal": "Subtotal",
+ "billing.limitMessage.analytics": "deblocați analize aprofundate",
+ "billing.limitMessage.brand": "eliminați brandingul",
+ "billing.limitMessage.customDomain": "adăugați domenii personalizate",
+ "billing.limitMessage.fileInput": "utilizați blocuri de introducere a fișierelor",
+ "billing.limitMessage.folder": "creați foldere",
+ "billing.preCheckoutModal.companyInput.label": "Numele companiei:",
+ "billing.preCheckoutModal.emailInput.label": "E-mail:",
+ "billing.preCheckoutModal.submitButton.label": "Mergi la casa",
+ "billing.preCheckoutModal.taxId.label": "Cod fiscal:",
+ "billing.preCheckoutModal.taxId.placeholder": "tip ID",
+ "billing.pricingCard.chatsPerMonth": "chat-uri/lună",
+ "billing.pricingCard.chatsTooltip": "Un chat este numărat ori de câte ori un utilizator începe o discuție. Este independent de numărul de mesaje pe care le trimite și le primește.",
+ "billing.pricingCard.heading": "Treceți la plan",
+ "billing.pricingCard.perMonth": "/luna",
+ "billing.pricingCard.plus": ", la care se adauga:",
+ "billing.pricingCard.pro.analytics": "Analize aprofundate",
+ "billing.pricingCard.pro.customDomains": "Domenii personalizate",
+ "billing.pricingCard.pro.description": "Pentru agenții și startup-uri în creștere.",
+ "billing.pricingCard.pro.everythingFromStarter": "Totul în Starter",
+ "billing.pricingCard.pro.includedSeats": "5 locuri incluse",
+ "billing.pricingCard.pro.mostPopularLabel": "Cel mai popular",
+ "billing.pricingCard.pro.whatsAppIntegration": "Integrare WhatsApp",
+ "billing.pricingCard.starter.brandingRemoved": "Branding eliminat",
+ "billing.pricingCard.starter.createFolders": "Creați foldere",
+ "billing.pricingCard.starter.description": "Pentru persoane fizice și întreprinderi mici.",
+ "billing.pricingCard.starter.fileUploadBlock": "Bloc de intrare pentru încărcarea fișierului",
+ "billing.pricingCard.starter.includedSeats": "2 locuri incluse",
+ "billing.pricingCard.upgradeButton.current": "Planul dvs. actual",
+ "billing.tiersModal.heading": "Tabelul de prețuri pentru chat",
+ "billing.updateSuccessToast.description": "Planul spațiului de lucru {plan} a fost actualizat cu succes \uD83C\uDF89",
+ "billing.upgradeAlert.buttonDefaultLabel": "Mai multe informatii",
+ "billing.upgradeLimitLabel": "Trebuie să vă actualizați planul pentru a {type}",
+ "billing.usage.chats.alert.soonReach": "Typebot-ii tăi sunt populari! În curând vei atinge limita de chat-uri a planului tău. \uD83D\uDE80",
+ "billing.usage.chats.alert.updatePlan": "Asigurați-vă că vă actualizați planul pentru a crește această limită și continuați să discutați cu utilizatorii dvs.",
+ "billing.usage.chats.heading": "Chat-uri",
+ "billing.usage.heading": "Utilizare",
+ "billing.usage.unlimited": "Nelimitat",
+ "blocks.bubbles.embed.blockCard.tooltip": "Încorporați un pdf, un iframe, un site web...",
+ "blocks.inputs.fileUpload.blockCard.tooltip": "Încărca fișiere",
+ "blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics",
+ "blocks.integrations.googleSheets.blockCard.tooltip": "Foi de calcul Google",
+ "cancel": "Anulare",
+ "clickToEdit": "Faceți clic pentru a edita...",
+ "confirmModal.defaultTitle": "Esti sigur?",
+ "dashboard.header.settingsButton.label": "Setări și membri",
+ "dashboard.redirectionMessage": "Sunteti redirectionat...",
+ "dashboard.title": "Typebot-ii mei",
+ "delete": "Șterge",
+ "downgrade": "Degradează",
+ "editor.blockCard.logicBlock.tooltip.code.label": "Executați codul Javascript",
+ "editor.blockCard.logicBlock.tooltip.jump.label": "Avansați rapid fluxul către alt grup",
+ "editor.blockCard.logicBlock.tooltip.typebotLink.label": "Conectați-vă și săriți la alt typebot",
+ "editor.blocks.bubbles.audio.settings.autoplay.label": "Activați redarea automată",
+ "editor.blocks.bubbles.audio.settings.chooseFile.label": "Alegeți un fișier",
+ "editor.blocks.bubbles.audio.settings.embedLink.label": "Încorporați linkul",
+ "editor.blocks.bubbles.audio.settings.upload.label": "Încărcați",
+ "editor.blocks.bubbles.audio.settings.worksWith.placeholder": "Lipiți linkul fișierului audio...",
+ "editor.blocks.bubbles.audio.settings.worksWith.text": "Funcționează cu .MP3 și .WAV",
+ "editor.blocks.bubbles.embed.node.show.text": "Afișați încorporarea",
+ "editor.blocks.bubbles.embed.settings.numberInput.unit": "px",
+ "editor.blocks.bubbles.embed.settings.worksWith.placeholder": "Lipiți linkul sau codul...",
+ "editor.blocks.bubbles.embed.settings.worksWith.text": "Funcționează cu PDF-uri, iframe, site-uri web...",
+ "editor.blocks.bubbles.image.switchWithLabel.onClick.label": "La clic pe link",
+ "editor.blocks.bubbles.image.switchWithLabel.onClick.placeholder": "Link alt text (descriere)",
+ "editor.blocks.bubbles.textEditor.plate.label": "Editor de text",
+ "editor.blocks.bubbles.textEditor.searchVariable.placeholder": "Căutați o variabilă",
+ "editor.blocks.start.text": "start",
+ "editor.editableTypebotName.tooltip.rename.label": "Redenumiți",
+ "editor.gettingStartedModal.editorBasics.heading": "Elementele de bază ale editorului",
+ "editor.gettingStartedModal.editorBasics.list.four.label": "Previzualizați botul dvs. făcând clic pe butonul de previzualizare din dreapta sus",
+ "editor.gettingStartedModal.editorBasics.list.label": "Simțiți-vă liber să utilizați balonul din dreapta jos pentru a contacta dacă aveți întrebări. De obicei răspund în următoarele 24 de ore. \uD83D\uDE03",
+ "editor.gettingStartedModal.editorBasics.list.one.label": "Bara din stânga conține blocuri pe care le puteți trage și plasa pe panou.",
+ "editor.gettingStartedModal.editorBasics.list.three.label": "Conectați grupurile împreună",
+ "editor.gettingStartedModal.editorBasics.list.two.label": "Puteți grupa blocuri, aruncându-le unul sub celălalt sau deasupra celuilalt",
+ "editor.gettingStartedModal.seeAction.item.label": "Alte videoclipuri",
+ "editor.gettingStartedModal.seeAction.label": "Vedeți-l în acțiune",
+ "editor.gettingStartedModal.seeAction.time": "5 minute",
+ "editor.headers.flowButton.label": "curgere",
+ "editor.headers.helpButton.label": "Ajutor",
+ "editor.headers.previewButton.label": "previzualizare",
+ "editor.headers.resultsButton.label": "Rezultate",
+ "editor.headers.savingSpinner.label": "Salvare...",
+ "editor.headers.settingsButton.label": "Setări",
+ "editor.headers.shareButton.label": "Acțiune",
+ "editor.headers.themeButton.label": "Temă",
+ "editor.sidebarBlock.abTest.label": "Testul AB",
+ "editor.sidebarBlock.analytics.label": "Analitica",
+ "editor.sidebarBlock.audio.label": "Audio",
+ "editor.sidebarBlock.button.label": "Butoane",
+ "editor.sidebarBlock.chatwoot.label": "Chatwoot",
+ "editor.sidebarBlock.condition.label": "Condiție",
+ "editor.sidebarBlock.date.label": "Data",
+ "editor.sidebarBlock.email.label": "E-mail",
+ "editor.sidebarBlock.embed.label": "Încorporare",
+ "editor.sidebarBlock.file.label": "Fişier",
+ "editor.sidebarBlock.image.label": "Imagine",
+ "editor.sidebarBlock.jump.label": "Sari",
+ "editor.sidebarBlock.makecom.label": "Make.com",
+ "editor.sidebarBlock.number.label": "Număr",
+ "editor.sidebarBlock.openai.label": "OpenAI",
+ "editor.sidebarBlock.pabbly.label": "Pabbly",
+ "editor.sidebarBlock.payment.label": "Plată",
+ "editor.sidebarBlock.phone.label": "Telefon",
+ "editor.sidebarBlock.picChoice.label": "Alegerea poza",
+ "editor.sidebarBlock.pixel.label": "Pixel",
+ "editor.sidebarBlock.rating.label": "Evaluare",
+ "editor.sidebarBlock.redirect.label": "Redirecţiona",
+ "editor.sidebarBlock.script.label": "Scenariul",
+ "editor.sidebarBlock.setVariable.label": "Setați variabila",
+ "editor.sidebarBlock.sheets.label": "Foi",
+ "editor.sidebarBlock.start.label": "Start",
+ "editor.sidebarBlock.text.label": "Text",
+ "editor.sidebarBlock.typebot.label": "Typebot",
+ "editor.sidebarBlock.video.label": "Video",
+ "editor.sidebarBlock.wait.label": "Așteaptă",
+ "editor.sidebarBlock.webhook.label": "Webhook",
+ "editor.sidebarBlock.website.label": "Site-ul web",
+ "editor.sidebarBlock.zapier.label": "Zapier",
+ "editor.sidebarBlock.zemanticAi.label": "Zemantic AI",
+ "editor.sidebarBlocks.blockType.bubbles.heading": "Bule",
+ "editor.sidebarBlocks.blockType.inputs.heading": "Intrări",
+ "editor.sidebarBlocks.blockType.integrations.heading": "Integrari",
+ "editor.sidebarBlocks.blockType.logic.heading": "Logică",
+ "editor.sidebarBlocks.sidebar.icon.lock.label": "Blocați",
+ "editor.sidebarBlocks.sidebar.icon.unlock.label": "Deblocați",
+ "editor.sidebarBlocks.sidebar.lock.label": "Blocați bara laterală",
+ "editor.sidebarBlocks.sidebar.unlock.label": "Deblocați bara laterală",
+ "errorMessage": "A aparut o eroare",
+ "folders.createFolderButton.label": "Creați un folder",
+ "folders.createTypebotButton.label": "Creați un typebot",
+ "folders.folderButton.deleteConfirmationMessage": "Sigur doriți să ștergeți dosarul folderName? (Totul din interior va fi mutat în tabloul de bord)",
+ "folders.typebotButton.delete": "Șterge",
+ "folders.typebotButton.deleteConfirmationMessage": "Sigur doriți să ștergeți typebotName de typebot?",
+ "folders.typebotButton.deleteConfirmationMessageWarning": "Toate datele asociate acesteia vor fi șterse și nu vor fi recuperate.",
+ "folders.typebotButton.duplicate": "Duplicat",
+ "folders.typebotButton.live": "Trăi",
+ "folders.typebotButton.showMoreOptions": "Afișați mai multe opțiuni",
+ "folders.typebotButton.unpublish": "Anulați publicarea",
+ "pending": "In asteptarea",
+ "remove": "Elimina",
+ "skip": "Ocolire",
+ "templates.buttons.fromScratchButton.label": "Începe de la zero",
+ "templates.buttons.fromTemplateButton.label": "Începeți de la un șablon",
+ "templates.buttons.heading": "Creați un nou typebot",
+ "templates.buttons.importFileButton.label": "Importați un fișier",
+ "templates.importFromFileButon.toastError.description": "Nu s-a putut analiza fișierul. Ești sigur că este un typebot?",
+ "templates.modal.menuHeading.marketing": "Marketing",
+ "templates.modal.menuHeading.new.tag": "Nou",
+ "templates.modal.menuHeading.other": "Alte",
+ "templates.modal.menuHeading.product": "Produs",
+ "templates.modal.useTemplateButton.label": "Utilizați acest șablon",
+ "upgrade": "Actualizare",
+ "video.aspectRatioInput.label": "Raportul de aspect",
+ "video.aspectRatioInput.moreInfoTooltip": "Exemplu: „16/9” sau „9/16”",
+ "video.maxWidthInput.label": "lățimea maximă",
+ "video.maxWidthInput.moreInfoTooltip": "Exemplu: „300px” sau „100%”",
+ "video.urlInput.helperText": "Funcționează cu Youtube, Vimeo, Gumlet, TikTok și altele",
+ "video.urlInput.placeholder": "Lipiți linkul video...",
+ "workspace.dropdown.logoutButton.label": "Deconectați-vă",
+ "workspace.dropdown.newButton.label": "Nou spațiu de lucru",
+ "workspace.membersList.inviteButton.label": "A invita",
+ "workspace.membersList.inviteInput.placeholder": "colega@company.com",
+ "workspace.membersList.title": "Membrii",
+ "workspace.membersList.unlockBanner.label": "Actualizați-vă planul pentru a lucra cu mai mulți membri ai echipei și deblocați funcții extraordinare de putere \uD83D\uDE80",
+ "workspace.settings.deleteButton.confirmMessage": "Sigur doriți să ștergeți spațiul de lucru {workspaceName}? Toate folderele, tiproboții și rezultatele sale vor fi șterse pentru totdeauna.",
+ "workspace.settings.deleteButton.label": "Șterge spațiul de lucru",
+ "workspace.settings.icon.title": "Pictogramă",
+ "workspace.settings.modal.menu.billingAndUsage.label": "Facturare și utilizare",
+ "workspace.settings.modal.menu.members.label": "Membrii",
+ "workspace.settings.modal.menu.myAccount.label": "Contul meu",
+ "workspace.settings.modal.menu.preferences.label": "Preferințe",
+ "workspace.settings.modal.menu.settings.label": "Setări",
+ "workspace.settings.modal.menu.version.label": "Versiune: {version}",
+ "workspace.settings.modal.menu.workspace.label": "Spațiul de lucru",
+ "workspace.settings.name.label": "Nume:"
+}
diff --git a/apps/builder/src/features/account/components/UserPreferencesForm.tsx b/apps/builder/src/features/account/components/UserPreferencesForm.tsx
index ee2d66dc2..2515cac94 100644
--- a/apps/builder/src/features/account/components/UserPreferencesForm.tsx
+++ b/apps/builder/src/features/account/components/UserPreferencesForm.tsx
@@ -25,6 +25,8 @@ const localeHumanReadable = {
de: 'Deutsch',
pt: 'Português',
'pt-BR': 'Português (BR)',
+ ro: 'Română',
+ es: 'Español',
} as const
export const UserPreferencesForm = () => {
diff --git a/apps/builder/src/lib/tolgee.tsx b/apps/builder/src/lib/tolgee.tsx
index 44c4251c2..a4842c6c6 100644
--- a/apps/builder/src/lib/tolgee.tsx
+++ b/apps/builder/src/lib/tolgee.tsx
@@ -5,6 +5,8 @@ import fr from '../../public/locales/fr.json'
import de from '../../public/locales/de.json'
import pt from '../../public/locales/pt.json'
import ptBR from '../../public/locales/pt-BR.json'
+import es from '../../public/locales/es.json'
+import ro from '../../public/locales/ro.json'
import { env } from '@typebot.io/env'
export const tolgee = Tolgee()
@@ -14,7 +16,7 @@ export const tolgee = Tolgee()
apiKey: env.NEXT_PUBLIC_TOLGEE_API_KEY,
apiUrl: env.NEXT_PUBLIC_TOLGEE_API_URL,
defaultLanguage: 'en',
- availableLanguages: ['en', 'fr', 'de', 'pt', 'pt-BR'],
+ availableLanguages: ['en', 'fr', 'de', 'pt', 'pt-BR', 'es', 'ro'],
fallbackLanguage: 'en',
staticData: {
en,
@@ -22,5 +24,7 @@ export const tolgee = Tolgee()
de,
pt,
'pt-BR': ptBR,
+ es,
+ ro,
},
})