From 29bd5f1539bd2d91469f6a1c2e7a098aa3f267ba Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Fri, 19 Jan 2024 10:16:09 +0100 Subject: [PATCH] :globe_with_meridians: Add it translations --- apps/builder/next.config.mjs | 2 +- .../components/UserPreferencesForm.tsx | 1 + .../date/components/DateNodeContent.tsx | 5 +- apps/builder/src/i18n/en.json | 3 +- apps/builder/src/i18n/fr.json | 29 ++ apps/builder/src/i18n/it.json | 487 ++++++++++++++++++ apps/builder/src/i18n/pt-BR.json | 3 +- apps/builder/src/i18n/pt.json | 13 + apps/builder/src/lib/tolgee.tsx | 4 +- apps/docs/openapi/builder.json | 38 ++ apps/docs/openapi/viewer.json | 38 ++ 11 files changed, 613 insertions(+), 10 deletions(-) create mode 100644 apps/builder/src/i18n/it.json diff --git a/apps/builder/next.config.mjs b/apps/builder/next.config.mjs index e3414961e..5271157de 100644 --- a/apps/builder/next.config.mjs +++ b/apps/builder/next.config.mjs @@ -39,7 +39,7 @@ const nextConfig = { ], i18n: { defaultLocale: 'en', - locales: ['en', 'fr', 'pt', 'pt-BR', 'de', 'ro', 'es'], + locales: ['en', 'fr', 'pt', 'pt-BR', 'de', 'ro', 'es', 'it'], }, experimental: { outputFileTracingRoot: join(__dirname, '../../'), diff --git a/apps/builder/src/features/account/components/UserPreferencesForm.tsx b/apps/builder/src/features/account/components/UserPreferencesForm.tsx index e2d2d9aa2..52b3abc85 100644 --- a/apps/builder/src/features/account/components/UserPreferencesForm.tsx +++ b/apps/builder/src/features/account/components/UserPreferencesForm.tsx @@ -27,6 +27,7 @@ const localeHumanReadable = { 'pt-BR': 'Português (BR)', ro: 'Română', es: 'Español', + it: 'Italiano', } as const export const UserPreferencesForm = () => { diff --git a/apps/builder/src/features/blocks/inputs/date/components/DateNodeContent.tsx b/apps/builder/src/features/blocks/inputs/date/components/DateNodeContent.tsx index 05e7307d8..3dfe4da29 100644 --- a/apps/builder/src/features/blocks/inputs/date/components/DateNodeContent.tsx +++ b/apps/builder/src/features/blocks/inputs/date/components/DateNodeContent.tsx @@ -1,17 +1,14 @@ import React from 'react' import { Text } from '@chakra-ui/react' import { WithVariableContent } from '@/features/graph/components/nodes/block/WithVariableContent' -import { useTranslate } from '@tolgee/react' type Props = { variableId?: string } export const DateNodeContent = ({ variableId }: Props) => { - const { t } = useTranslate() - return variableId ? ( ) : ( - {t('blocks.inputs.date.placeholder.label')} + Pick a date ) } diff --git a/apps/builder/src/i18n/en.json b/apps/builder/src/i18n/en.json index 2d14ebd1f..91c03d5be 100644 --- a/apps/builder/src/i18n/en.json +++ b/apps/builder/src/i18n/en.json @@ -126,7 +126,6 @@ "blocks.inputs.button.settings.dynamicData.label": "Dynamic data:", "blocks.inputs.button.variables.buttons.label": "buttons", "blocks.inputs.button.variables.display.label": "Display", - "blocks.inputs.date.placeholder.label": "Pick a date...", "blocks.inputs.date.settings.format.example.label": "i.e", "blocks.inputs.date.settings.format.label": "Format:", "blocks.inputs.date.settings.from.label": "From label:", @@ -435,7 +434,7 @@ "theme.sideMenu.global.background.none.select": "None", "theme.sideMenu.global.font": "Font", "theme.sideMenu.global.typebotBrand": "Show Typebot brand", - "theme.sideMenu.template": "Template", + "theme.sideMenu.template": "Templates", "theme.sideMenu.template.gallery": "Gallery", "theme.sideMenu.template.gallery.avatarPreview.alt": "Avatar preview in theme template card", "theme.sideMenu.template.myTemplates": "My templates", diff --git a/apps/builder/src/i18n/fr.json b/apps/builder/src/i18n/fr.json index 45326c21b..626c0d458 100644 --- a/apps/builder/src/i18n/fr.json +++ b/apps/builder/src/i18n/fr.json @@ -30,6 +30,7 @@ "account.preferences.graphNavigation.trackpad.label": "Trackpad", "account.preferences.language.heading": "Langue", "account.preferences.language.tooltip": "Les traductions ne sont pas encore complètes. C'est un travail en cours. \uD83E\uDD13", + "add": "Ajouter", "analytics.completionRateLabel": "Taux de complétion", "analytics.notAvailableLabel": "Non disponible", "analytics.startsLabel": "Démarrés", @@ -112,6 +113,34 @@ "billing.usage.heading": "Utilisation", "billing.usage.unlimited": "Illimité", "blocks.bubbles.embed.blockCard.tooltip": "Intégrer un pdf, un iframe, un site web...", + "blocks.inputs.button.addItem.ariaLabel": "Ajouter un item", + "blocks.inputs.button.buttonSettings.addComparisonButton.label": "Ajouter une comparaison", + "blocks.inputs.button.buttonSettings.displayCondition.infoText.label": "Afficher cet item seulement si une condition est valide.", + "blocks.inputs.button.buttonSettings.displayCondition.selectOperator.label": "Choisis un operateur", + "blocks.inputs.button.clickToEdit.label": "Clic pour modifier", + "blocks.inputs.button.conditionContent.if.label": "IF", + "blocks.inputs.button.default.label": "Default", + "blocks.inputs.button.else.label": "Else", + "blocks.inputs.button.openSettings.ariaLabel": "Ouvrir les paramètres", + "blocks.inputs.button.settings.dynamicData.infoText.label": "Si défini, les boutons seront affichés dynamiquement et basés sur le contenu de la variable.", + "blocks.inputs.button.settings.dynamicData.label": "Données dynamique:", + "blocks.inputs.button.variables.buttons.label": "boutons", + "blocks.inputs.button.variables.display.label": "Affiche", + "blocks.inputs.date.settings.format.example.label": "i.e", + "blocks.inputs.date.settings.format.label": "Format:", + "blocks.inputs.date.settings.from.label": "Libellé début:", + "blocks.inputs.date.settings.isRange.label": "Plage de dates?", + "blocks.inputs.date.settings.to.label": "Libellé fin:", + "blocks.inputs.date.settings.toInputValue.label": "De:", + "blocks.inputs.date.settings.withTime.label": "Avec horaires?", + "blocks.inputs.file.collectMultiple.label": "Récolter fichiers", + "blocks.inputs.file.collectSingle.label": "Récolter un fichier", + "blocks.inputs.file.settings.allowMultiple.label": "Autoriser plusieurs fichiers?", + "blocks.inputs.file.settings.clear.label": "Libellé \"reset\":", + "blocks.inputs.file.settings.required.label": "Requis?", + "blocks.inputs.file.settings.saveMultipleUpload.label": "Sauvegarder les URLs dans une variable:", + "blocks.inputs.file.settings.saveSingleUpload.label": "Sauvegarder l'URL dans une variable:\n", + "blocks.inputs.file.settings.skip.label": "Libellé \"skip\":", "blocks.inputs.fileUpload.blockCard.tooltip": "Télécharger des fichiers", "blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics", "blocks.integrations.googleSheets.blockCard.tooltip": "Google Sheets", diff --git a/apps/builder/src/i18n/it.json b/apps/builder/src/i18n/it.json new file mode 100644 index 000000000..11fd501f8 --- /dev/null +++ b/apps/builder/src/i18n/it.json @@ -0,0 +1,487 @@ +{ + "account.apiTokens.createButton.label": "Creare", + "account.apiTokens.createModal.copyInstruction": "Copiate il vostro token e conservatelo in un luogo sicuro.", + "account.apiTokens.createModal.createButton.label": "Creare un token", + "account.apiTokens.createModal.createHeading": "Creare un token", + "account.apiTokens.createModal.createdHeading": "Gettone creato", + "account.apiTokens.createModal.doneButton.label": "Fatto", + "account.apiTokens.createModal.nameInput.label": "Inserite un nome univoco per il vostro token, in modo da differenziarlo da altri token.", + "account.apiTokens.createModal.nameInput.placeholder": "Ad esempio Zapier, Github, Make.com", + "account.apiTokens.createModal.securityWarning": "Per motivi di sicurezza non possiamo mostrarlo di nuovo.", + "account.apiTokens.deleteButton.label": "Cancellare", + "account.apiTokens.deleteConfirmationMessage": "Il token nome Token sarà revocato in modo permanente, sei sicuro di voler continuare?", + "account.apiTokens.description": "Questi token consentono ad altre app di controllare l'intero account e i typebot. Fate attenzione!", + "account.apiTokens.heading": "Token API", + "account.apiTokens.table.createdHeader": "Creato", + "account.apiTokens.table.nameHeader": "Nome", + "account.myAccount.changePhotoButton.label": "Cambia foto", + "account.myAccount.changePhotoButton.specification": ".jpg o.png, max 1MB", + "account.myAccount.emailInput.disabledTooltip": "L'aggiornamento dell'e-mail non è disponibile. Contattare l'assistenza se si desidera modificarla.", + "account.myAccount.emailInput.label": "Indirizzo e-mail:", + "account.myAccount.nameInput.label": "Nome:", + "account.preferences.appearance.darkLabel": "Scuro", + "account.preferences.appearance.heading": "Aspetto", + "account.preferences.appearance.lightLabel": "Chiaro", + "account.preferences.appearance.systemLabel": "Sistema", + "account.preferences.graphNavigation.heading": "Navigazione dell'editor", + "account.preferences.graphNavigation.mouse.description": "Spostarsi trascinando la tavola e ingrandire/rimpicciolire usando la rotella di scorrimento.", + "account.preferences.graphNavigation.mouse.label": "Mouse", + "account.preferences.graphNavigation.trackpad.description": "Muovete la tavola con 2 dita e fate lo zoom avanti/indietro pizzicando", + "account.preferences.graphNavigation.trackpad.label": "Trackpad", + "account.preferences.language.heading": "Lingua", + "account.preferences.language.tooltip": "Le traduzioni non sono ancora complete. Si tratta di un lavoro in corso. \uD83E\uDD13", + "add": "Aggiungere", + "analytics.completionRateLabel": "Tasso di completamento", + "analytics.notAvailableLabel": "Non disponibile", + "analytics.startsLabel": "Inizio", + "analytics.viewsLabel": "Visualizzazioni", + "auth.emailSubmitButton.label": "Invia", + "auth.error.default": "Provare a collegarti con un altro account.", + "auth.error.email": "Email non trovata. Prova a collegarti con un altro provider.", + "auth.error.oauthNotLinked": "Per confermare la propria identità, accedere con lo stesso account utilizzato inizialmente.", + "auth.error.unknown": "Si è verificato un errore. Si prega di riprovare.", + "auth.magicLink.description": "Assicuratevi di controllare la cartella spam.", + "auth.magicLink.title": "È stata inviata un'e-mail con un link. \uD83E\uDE84", + "auth.noProvider.link": "Configurare almeno un provider di autenticazione (Email, Google, GitHub, Facebook o Azure AD).", + "auth.noProvider.preLink": "È necessario", + "auth.orEmailLabel": "O con la tua e-mail", + "auth.register.aggreeToTerms": "Iscrivendosi, l'utente accetta i nostri termini di servizio e politica sulla privacy.", + "auth.register.alreadyHaveAccountLabel.link": "Accedi", + "auth.register.alreadyHaveAccountLabel.preLink": "Hai già un account?", + "auth.register.heading": "Creare un account", + "auth.signin.heading": "Accedi", + "auth.signin.noAccountLabel.link": "Iscriviti gratuitamente", + "auth.signin.noAccountLabel.preLink": "Non avete un account?", + "auth.signinErrorToast.description": "Le iscrizioni sono disabilitate.", + "auth.signinErrorToast.title": "Non autorizzato", + "auth.signinErrorToast.tooManyRequests": "Troppe richieste. Riprovare più tardi.", + "auth.socialLogin.azureButton.label": "Continuare con {azureProviderName}", + "auth.socialLogin.customButton.label": "Continuare con {customProviderName}", + "auth.socialLogin.facebookButton.label": "Continua con Facebook", + "auth.socialLogin.githubButton.label": "Continua con GitHub", + "auth.socialLogin.gitlabButton.label": "Continuare con {gitlabProviderName}", + "auth.socialLogin.googleButton.label": "Continua con Google", + "back": "Indietro", + "billing.billingPortalButton.label": "Portale di fatturazione", + "billing.contribution.link": "Per saperne di più.", + "billing.contribution.preLink": "Typebot contribuisce con l'1% del vostro abbonamento alla rimozione della CO₂ dall'atmosfera.", + "billing.currentSubscription.cancelDate": "Sarà cancellato il", + "billing.currentSubscription.heading": "Abbonamento", + "billing.currentSubscription.pastDueAlert": "L'ultimo pagamento non è andato a buon fine. Andate al portale di fatturazione per procedere ed evitare l'annullamento dell'abbonamento.", + "billing.currentSubscription.subheading": "Abbonamento all'area di lavoro corrente:", + "billing.customLimit.link": "Chiacchieriamo!", + "billing.customLimit.preLink": "Avete bisogno di limiti personalizzati? Caratteristiche specifiche?", + "billing.invoices.empty": "No invoices found for this workspace.", + "billing.invoices.heading": "Fatture", + "billing.invoices.paidAt": "Pagato a", + "billing.invoices.subtotal": "Subtotale", + "billing.limitMessage.analytics": "sbloccare analisi approfondite", + "billing.limitMessage.brand": "rimuovere il marchio", + "billing.limitMessage.customDomain": "aggiungere domini personalizzati", + "billing.limitMessage.fileInput": "utilizzare i blocchi di input del file", + "billing.limitMessage.folder": "creare cartelle", + "billing.preCheckoutModal.companyInput.label": "Nome della società:", + "billing.preCheckoutModal.emailInput.label": "Email:", + "billing.preCheckoutModal.submitButton.label": "Vai alla cassa", + "billing.preCheckoutModal.taxId.label": "Codice fiscale:", + "billing.preCheckoutModal.taxId.placeholder": "Tipo di ID", + "billing.pricingCard.chatsPerMonth": "chats/mensili", + "billing.pricingCard.chatsTooltip": "Una chat viene conteggiata ogni volta che un utente avvia una discussione. È indipendente dal numero di messaggi inviati e ricevuti.", + "billing.pricingCard.heading": "Aggiornamento a piano", + "billing.pricingCard.perMonth": "/ mese", + "billing.pricingCard.plus": " in più:", + "billing.pricingCard.pro.analytics": "Analisi approfondite", + "billing.pricingCard.pro.customDomains": "Domini personalizzati", + "billing.pricingCard.pro.description": "Per agenzie e startup in crescita.", + "billing.pricingCard.pro.everythingFromStarter": "Tutto in Starter", + "billing.pricingCard.pro.includedSeats": "5 posti inclusi", + "billing.pricingCard.pro.mostPopularLabel": "I più popolari", + "billing.pricingCard.pro.whatsAppIntegration": "Integrazione con WhatsApp", + "billing.pricingCard.starter.brandingRemoved": "Rimozione del marchio", + "billing.pricingCard.starter.createFolders": "Creare cartelle", + "billing.pricingCard.starter.description": "Per privati e piccole imprese.", + "billing.pricingCard.starter.fileUploadBlock": "Blocco di ingresso per il caricamento dei file", + "billing.pricingCard.starter.includedSeats": "2 posti inclusi", + "billing.pricingCard.upgradeButton.current": "Il vostro piano attuale", + "billing.tiersModal.heading": "Tabella dei prezzi delle chat", + "billing.updateSuccessToast.description": "Piano di lavoro {plan} aggiornato con successo \uD83C\uDF89", + "billing.upgradeAlert.buttonDefaultLabel": "Più informazioni", + "billing.upgradeLimitLabel": "È necessario aggiornare il proprio piano per poter {type}", + "billing.usage.chats.alert.soonReach": "I vostri typebot sono popolari! Presto raggiungerai il limite di chat del tuo piano. \uD83D\uDE80", + "billing.usage.chats.alert.updatePlan": "Assicuratevi di aggiornare il vostro piano per aumentare questo limite e continuare a chattare con i vostri utenti.", + "billing.usage.chats.heading": "Chats", + "billing.usage.heading": "Utilizzo", + "billing.usage.unlimited": "Illimitato", + "blocks.bubbles.embed.blockCard.tooltip": "Incorporare un pdf, un iframe, un sito web...", + "blocks.inputs.button.addItem.ariaLabel": "Aggiungi articolo", + "blocks.inputs.button.buttonSettings.addComparisonButton.label": "Aggiungi confronto", + "blocks.inputs.button.buttonSettings.displayCondition.infoText.label": "Visualizza questo elemento solo se è soddisfatta una condizione.", + "blocks.inputs.button.buttonSettings.displayCondition.selectOperator.label": "Selezionare un operatore", + "blocks.inputs.button.clickToEdit.label": "Fare clic per modificare", + "blocks.inputs.button.conditionContent.if.label": "Se", + "blocks.inputs.button.default.label": "Predefinito", + "blocks.inputs.button.else.label": "Altro", + "blocks.inputs.button.openSettings.ariaLabel": "Apri Impostazioni", + "blocks.inputs.button.settings.dynamicData.infoText.label": "Se definiti, i pulsanti verranno visualizzati dinamicamente in base al contenuto della variabile.", + "blocks.inputs.button.settings.dynamicData.label": "Dati dinamici:", + "blocks.inputs.button.variables.buttons.label": "pulsanti", + "blocks.inputs.button.variables.display.label": "Display", + "blocks.inputs.date.settings.format.example.label": "cioè", + "blocks.inputs.date.settings.format.label": "Formato:", + "blocks.inputs.date.settings.from.label": "Dall'etichetta:", + "blocks.inputs.date.settings.isRange.label": "Il raggio d'azione è?", + "blocks.inputs.date.settings.to.label": "Da etichettare:", + "blocks.inputs.date.settings.toInputValue.label": "A:", + "blocks.inputs.date.settings.withTime.label": "Con il tempo?", + "blocks.inputs.file.collectMultiple.label": "Raccogliere i file", + "blocks.inputs.file.collectSingle.label": "Raccogliere il file", + "blocks.inputs.file.settings.allowMultiple.label": "Consentire più file?", + "blocks.inputs.file.settings.clear.label": "Cancella l'etichetta del pulsante:", + "blocks.inputs.file.settings.required.label": "È necessario?", + "blocks.inputs.file.settings.saveMultipleUpload.label": "Salvare gli URL di caricamento in una variabile:", + "blocks.inputs.file.settings.saveSingleUpload.label": "Salvare l'URL di caricamento in una variabile:", + "blocks.inputs.file.settings.skip.label": "Etichetta del pulsante di salto:", + "blocks.inputs.fileUpload.blockCard.tooltip": "Etichetta del pulsante di salto:", + "blocks.inputs.number.settings.step.label": "Passo:", + "blocks.inputs.payment.collect.label": "Raccogliere", + "blocks.inputs.payment.placeholder.label": "Configurare...", + "blocks.inputs.payment.settings.account.label": "Account:", + "blocks.inputs.payment.settings.accountText.label": "{provider} account", + "blocks.inputs.payment.settings.additionalInformation.description.placeholder.label": "Un prodotto digitale", + "blocks.inputs.payment.settings.additionalInformation.email.label": "Email:", + "blocks.inputs.payment.settings.additionalInformation.label": "Informazioni aggiuntive", + "blocks.inputs.payment.settings.additionalInformation.name.label": "Nome", + "blocks.inputs.payment.settings.additionalInformation.phone.label": "Numero di telefono:", + "blocks.inputs.payment.settings.address.city.label": "Città:", + "blocks.inputs.payment.settings.address.country.label": "Paese:", + "blocks.inputs.payment.settings.address.label": "Indirizzo", + "blocks.inputs.payment.settings.address.line.label": "Linea {line}:", + "blocks.inputs.payment.settings.address.postalCode.label": "Codice postale:", + "blocks.inputs.payment.settings.address.state.label": "Stato:", + "blocks.inputs.payment.settings.credentials.connectNew.label": "Collegare il nuovo", + "blocks.inputs.payment.settings.credentials.removeCredentials.label": "Rimuovere le credenziali", + "blocks.inputs.payment.settings.currency.label": "Valuta:", + "blocks.inputs.payment.settings.priceAmount.label": "Importo del prezzo:", + "blocks.inputs.payment.settings.provider.label": "Fornitore:", + "blocks.inputs.payment.settings.stripeConfig.accountName.label": "Nome Account:", + "blocks.inputs.payment.settings.stripeConfig.findKeys.here.label": "qui", + "blocks.inputs.payment.settings.stripeConfig.findKeys.label": "Potete trovare le vostre chiavi", + "blocks.inputs.payment.settings.stripeConfig.liveKeys.label": "Chiavi live:", + "blocks.inputs.payment.settings.stripeConfig.testKeys.infoText.label": "Verrà utilizzato durante l'anteprima del bot.", + "blocks.inputs.payment.settings.stripeConfig.testKeys.label": "Chiavi di prova:", + "blocks.inputs.payment.settings.stripeConfig.title.label": "Collegare il conto Stripe", + "blocks.inputs.payment.settings.successMessage.label": "Messaggio di successo:", + "blocks.inputs.phone.settings.defaultCountry.label": "Paese predefinito:", + "blocks.inputs.phone.settings.international.placeholder.label": "Internazionale", + "blocks.inputs.picture.itemSettings.image.change.label": "Cambia immagine", + "blocks.inputs.picture.itemSettings.image.label": "Immagine:", + "blocks.inputs.picture.itemSettings.image.pick.label": "Scegliere un'immagine", + "blocks.inputs.picture.itemSettings.title.label": "Titolo:", + "blocks.inputs.picture.settings.dynamicItems.descriptions.label": "Descrizioni:", + "blocks.inputs.picture.settings.dynamicItems.images.label": "Immagini:", + "blocks.inputs.picture.settings.dynamicItems.label": "Oggetti dinamici?", + "blocks.inputs.picture.settings.dynamicItems.titles.label": "Titoli:", + "blocks.inputs.picture.settings.dynamicVariables.display.label": "Mostra", + "blocks.inputs.picture.settings.dynamicVariables.pictures.label": "immagini", + "blocks.inputs.rating.from.label": "Tariffa da", + "blocks.inputs.rating.settings.customIcon.label": "Icona personalizzata?", + "blocks.inputs.rating.settings.extremelyLikely.placeholder.label": "Estremamente probabile", + "blocks.inputs.rating.settings.iconSVG.label": "Icona SVG:", + "blocks.inputs.rating.settings.maximum.label": "Massimo:", + "blocks.inputs.rating.settings.notLikely.placeholder.label": "Non è affatto probabile", + "blocks.inputs.rating.settings.oneClickSubmit.infoText.label": "Se abilitato, la risposta verrà inviata non appena l'utente fa clic su una valutazione, invece di mostrare il pulsante \"Invia\".", + "blocks.inputs.rating.settings.oneClickSubmit.label": "Invio con un solo clic", + "blocks.inputs.rating.settings.rateLabel.label": "Etichetta {rate}", + "blocks.inputs.rating.settings.type.label": "Tipo:", + "blocks.inputs.rating.to.label": "s", + "blocks.inputs.settings.button.label": "Etichetta del pulsante:", + "blocks.inputs.settings.buttonText.label": "Inviare", + "blocks.inputs.settings.description.label": "Descrizione:", + "blocks.inputs.settings.displayCondition.label": "Mostra condizioni", + "blocks.inputs.settings.input.filterOptions.label": "Filtrare le opzioni...", + "blocks.inputs.settings.input.placeholder.label": "Segnaposto di ingresso:", + "blocks.inputs.settings.isSearchable.label": "È ricercabile?", + "blocks.inputs.settings.max.label": "Massimo:", + "blocks.inputs.settings.min.label": "Minimo:", + "blocks.inputs.settings.multipleChoice.label": "Scelta multipla?", + "blocks.inputs.settings.placeholder.label": "Segnaposto:", + "blocks.inputs.settings.retryMessage.label": "Messaggio di riprova:", + "blocks.inputs.settings.saveAnswer.label": "Salvare la risposta in una variabile:", + "blocks.inputs.settings.submitButton.label": "Etichetta del pulsante di invio:", + "blocks.inputs.text.settings.longText.label": "Testo lungo?", + "blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics", + "blocks.integrations.googleSheets.blockCard.tooltip": "Google Sheets", + "cancel": "Annullamento", + "clickToEdit": "Fare clic per modificare", + "collaboration.roles.edit.label": "Può modificare", + "collaboration.roles.full.label": "Accesso completo", + "collaboration.roles.view.label": "Può visualizzare", + "colorPicker.advancedColors": "Colori avanzati", + "colorPicker.colorValue.ariaLabel": "Valore del colore", + "colorPicker.pickColor.ariaLabel": "Scegliere un colore", + "confirmModal.defaultTitle": "Sei sicuro?", + "connect": "Collegare", + "copied": "Copiato", + "copy": "Copia", + "create": "Creare", + "dashboard.header.settingsButton.label": "Impostazioni e membri", + "dashboard.redirectionMessage": "Sei stato reindirizzato.", + "dashboard.title": "I miei robot da scrivere", + "delete": "Cancellare", + "downgrade": "Declassamento", + "duplicate": "Duplicare", + "editor.blockCard.logicBlock.tooltip.code.label": "Eseguire il codice Javascript", + "editor.blockCard.logicBlock.tooltip.jump.label": "Il flusso si sposta velocemente verso un altro gruppo", + "editor.blockCard.logicBlock.tooltip.typebotLink.label": "Collegamento e salto a un altro typebot", + "editor.blocks.bubbles.audio.settings.autoplay.label": "Abilita l'autoplay", + "editor.blocks.bubbles.audio.settings.chooseFile.label": "Scegliere un file", + "editor.blocks.bubbles.audio.settings.embedLink.label": "Collegamento incorporato", + "editor.blocks.bubbles.audio.settings.upload.label": "Caricare", + "editor.blocks.bubbles.audio.settings.worksWith.placeholder": "Incollare il link del file audio...", + "editor.blocks.bubbles.audio.settings.worksWith.text": "Funziona con i file .MP3 e .WAV", + "editor.blocks.bubbles.embed.node.show.text": "Mostra incorporato", + "editor.blocks.bubbles.embed.settings.numberInput.unit": "px", + "editor.blocks.bubbles.embed.settings.worksWith.placeholder": "Incollare il link o il codice...", + "editor.blocks.bubbles.embed.settings.worksWith.text": "Funziona con PDF, iframe, siti web...", + "editor.blocks.bubbles.image.switchWithLabel.onClick.label": "Su clicca link", + "editor.blocks.bubbles.image.switchWithLabel.onClick.placeholder": "Testo alt del link (descrizione)", + "editor.blocks.bubbles.textEditor.plate.label": "Editor di testo", + "editor.blocks.bubbles.textEditor.searchVariable.placeholder": "Ricerca di una variabile", + "editor.blocks.start.text": "Inizio", + "editor.gettingStartedModal.editorBasics.heading": "Nozioni di base dell'editor", + "editor.gettingStartedModal.editorBasics.list.four.label": "Visualizzare l'anteprima del bot facendo clic sul pulsante di prova in alto a destra.", + "editor.gettingStartedModal.editorBasics.list.label": "Non esitate a utilizzare la bolla in basso a destra per contattarmi in caso di domande. Di solito rispondo entro le 24 ore successive. \uD83D\uDE03", + "editor.gettingStartedModal.editorBasics.list.one.label": "La barra laterale di sinistra contiene i blocchi che si possono trascinare e rilasciare sulla tavola.", + "editor.gettingStartedModal.editorBasics.list.three.label": "Collegare i gruppi tra loro", + "editor.gettingStartedModal.editorBasics.list.two.label": "È possibile raggruppare i blocchi facendoli cadere uno sotto l'altro o uno sopra l'altro.", + "editor.gettingStartedModal.seeAction.item.label": "Altri video", + "editor.gettingStartedModal.seeAction.label": "Vedetelo in azione", + "editor.gettingStartedModal.seeAction.time": "5 minuti", + "editor.graph.menu.documentationItem.label": "Documentazione", + "editor.graph.menu.editorSettingsItem.label": "Impostazioni dell'editor", + "editor.graph.menu.exportFlowItem.label": "Esporta il flusso", + "editor.header.flowButton.label": "Flusso", + "editor.header.helpButton.label": "Aiuto", + "editor.header.linkTab.searchInputPlaceholder.label": "Incollare il link dell'immagine...", + "editor.header.previewButton.label": "Test", + "editor.header.redoButton.label": "Rifare", + "editor.header.resultsButton.label": "Risultati", + "editor.header.savingSpinner.label": "Risparmio...", + "editor.header.settingsButton.label": "Impostazioni", + "editor.header.themeButton.label": "Tema", + "editor.header.tooltip.changeIcon.label": "Cambia icona", + "editor.header.undo.tooltip.label": "Modifiche annullate!", + "editor.header.undoButton.label": "Annullamento", + "editor.header.unpublishTypebot.error.label": "Errore durante la non pubblicazione di typebot", + "editor.header.uploadTab.uploadButton.label": "Scegliere un'immagine", + "editor.sidebarBlock.abTest.label": "AB Test", + "editor.sidebarBlock.analytics.label": "Analitico", + "editor.sidebarBlock.audio.label": "Audio", + "editor.sidebarBlock.button.label": "Pulsanti", + "editor.sidebarBlock.chatwoot.label": "Chatwoot", + "editor.sidebarBlock.condition.label": "Condizione", + "editor.sidebarBlock.date.label": "Data", + "editor.sidebarBlock.email.label": "Email", + "editor.sidebarBlock.embed.label": "Incorporato", + "editor.sidebarBlock.file.label": "File", + "editor.sidebarBlock.image.label": "Immagine", + "editor.sidebarBlock.jump.label": "Salta", + "editor.sidebarBlock.makecom.label": "Make.com", + "editor.sidebarBlock.number.label": "Numero", + "editor.sidebarBlock.openai.label": "OpenAI", + "editor.sidebarBlock.pabbly.label": "Pabbly", + "editor.sidebarBlock.payment.label": "Pagamento", + "editor.sidebarBlock.phone.label": "Telefono", + "editor.sidebarBlock.picChoice.label": "Scelta dell'immagine", + "editor.sidebarBlock.pixel.label": "Pixel", + "editor.sidebarBlock.rating.label": "Valutazione", + "editor.sidebarBlock.redirect.label": "Reindirizzamento", + "editor.sidebarBlock.script.label": "Script", + "editor.sidebarBlock.setVariable.label": "Impostare la variabile", + "editor.sidebarBlock.sheets.label": "Sheets", + "editor.sidebarBlock.start.label": "Inizio", + "editor.sidebarBlock.text.label": "Testo", + "editor.sidebarBlock.typebot.label": "Typebot", + "editor.sidebarBlock.video.label": "Video", + "editor.sidebarBlock.wait.label": "Attendi", + "editor.sidebarBlock.webhook.label": "Webhook", + "editor.sidebarBlock.website.label": "Sito Web", + "editor.sidebarBlock.zapier.label": "Zapier", + "editor.sidebarBlock.zemanticAi.label": "Zemantic AI", + "editor.sidebarBlocks.blockType.bubbles.heading": "Bolle", + "editor.sidebarBlocks.blockType.inputs.heading": "Inserimenti", + "editor.sidebarBlocks.blockType.integrations.heading": "integrazioni", + "editor.sidebarBlocks.blockType.logic.heading": "Logica", + "editor.sidebarBlocks.sidebar.icon.lock.label": "Blocco", + "editor.sidebarBlocks.sidebar.icon.unlock.label": "Sblocco", + "editor.sidebarBlocks.sidebar.lock.label": "Blocca barra laterale", + "editor.sidebarBlocks.sidebar.unlock.label": "Sblocca barra laterale", + "emojiList.categories.activities.label": "ATTIVITÀ", + "emojiList.categories.animalsAndNature.label": "ANIMALI E NATURA", + "emojiList.categories.flags.label": "BANDIERE", + "emojiList.categories.foodAndDrink.label": "CIBO E BEVANDE", + "emojiList.categories.objects.label": "OGGETTI", + "emojiList.categories.people.label": "PERSONE", + "emojiList.categories.recent.label": "RECENTE", + "emojiList.categories.symbols.label": "SIMBOLI", + "emojiList.categories.travelAndPlaces.label": "VIAGGI E LUOGHI", + "emojiList.searchInput.placeholder": "Cerca...", + "errorMessage": "Si è verificato un errore", + "folders.createFolderButton.label": "Creare una cartella", + "folders.createTypebotButton.label": "Creare un typebot", + "folders.folderButton.deleteConfirmationMessage": "Siete sicuri di voler eliminare la cartella NomeCartella (tutto ciò che contiene verrà spostato nella dashboard)?", + "folders.typebotButton.delete": "Cancellare", + "folders.typebotButton.deleteConfirmationMessage": "Si è sicuri di voler eliminare il proprio typebot typebotName?", + "folders.typebotButton.deleteConfirmationMessageWarning": "Tutti i dati associati verranno eliminati e non saranno più recuperabili.", + "folders.typebotButton.duplicate": "Duplicato", + "folders.typebotButton.live": "In diretta", + "folders.typebotButton.showMoreOptions": "Mostra più opzioni", + "folders.typebotButton.unpublish": "Non pubblicare", + "help": "Aiuto", + "pending": "In attesa", + "preview.restartButton.label": "Riavvio", + "publish.error.label": "Errore durante la pubblicazione di typebot", + "publish.versionWarning.checkBreakingChanges": "Assicuratevi di controllare tutte le modifiche di rottura associate.", + "publish.versionWarning.message.aboutToDeploy.label": "Si sta per distribuire una versione del bot con un motore aggiornato. (Typebot V6).", + "publish.versionWarning.message.testInPreviewMode.label": "Quindi testate a fondo il bot in modalità anteprima prima di pubblicarlo.", + "publish.versionWarning.title.label": "⚠️ Nuova versione del motore", + "publishButton.closed.label": "Chiuso", + "publishButton.dropdown.close.label": "Chiudere il typebot alle nuove risposte", + "publishButton.dropdown.reopen.label": "Riaprire il typebot alle nuove risposte", + "publishButton.dropdown.restoreVersion.label": "Ripristino della versione pubblicata", + "publishButton.dropdown.showMenu.label": "Mostra il menu del typebot pubblicato", + "publishButton.dropdown.unpublish.label": "Non pubblicare il typebot", + "publishButton.label": "Pubblica", + "publishButton.published.label": "Pubblicato", + "publishButton.tooltip.nonPublishedChanges.label": "Ci sono modifiche non pubblicate.", + "publishButton.tooltip.publishedVersion.from.label": "Versione pubblicata da {timeSince}.", + "remove": "Rimuovere", + "rename": "Rinominare", + "save": "Salvare", + "select": "Selezionare", + "share.button.label": "Condividere", + "share.button.popover.ariaLabel": "Aprire il popover di condivisione", + "share.button.popover.collaboratorsFetch.error.label": "Impossibile recuperare i collaboratori", + "share.button.popover.invitationSent.successToast.label": "Invito inviato! \uD83D\uDCE7", + "share.button.popover.invitationsFetch.error.label": "Non è stato possibile ottenere inviti", + "share.button.popover.inviteButton.label": "invitare", + "share.button.popover.inviteInput.placeholder": "colleague@company.com", + "share.button.popover.publicFlow.label": "Rendere il flusso disponibile al pubblico", + "skip": "Passa", + "templates.buttons.fromScratchButton.label": "Iniziare da zero", + "templates.buttons.fromTemplateButton.label": "Partendo da un modello", + "templates.buttons.heading": "Creare un nuovo typebot", + "templates.buttons.importFileButton.label": "Importare un file", + "templates.importFromFileButon.toastError.description": "Impossibile analizzare il file. Sei sicuro che sia un typebot?", + "templates.modal.marketing.insuranceOffer.description": "Siete una compagnia di assicurazioni per cani. Questo bot vi permette di raccogliere informazioni sul cane e di fornire un preventivo.", + "templates.modal.marketing.insuranceOffer.name": "Offerta assicurativa", + "templates.modal.marketing.leadGenWithAi.description": "Siete un'agenzia di marketing e questo bot vi permette di generare nuovi contatti interessati ai vostri servizi. Un blocco di intelligenza artificiale viene utilizzato per approfondire le esigenze degli utenti.", + "templates.modal.marketing.leadGenWithAi.name": "Lead Gen con l'intelligenza artificiale", + "templates.modal.marketing.leadGeneration.description": "Siete un'agenzia di marketing e questo bot vi permette di generare nuovi contatti interessati ai vostri servizi.", + "templates.modal.marketing.leadGeneration.name": "Generazione di lead", + "templates.modal.marketing.leadMagnet.description": "Fornite un contenuto gratuito ai vostri potenziali clienti in cambio delle loro informazioni di contatto.", + "templates.modal.marketing.leadMagnet.name": "Lead Magnet", + "templates.modal.marketing.leadScoring.description": "Calcolate un punteggio in base alle domande di qualificazione dei lead per classificare i vostri nuovi potenziali clienti.", + "templates.modal.marketing.leadScoring.name": "Punteggio dei Lead", + "templates.modal.marketing.productRecommendation.description": "Näak è un'azienda che vende barrette energetiche, miscele idratanti e prodotti per il recupero. Questo bot aiuta il visitatore a scegliere il prodotto giusto. Vi aiuta a qualificare il vostro lead e a fornire una raccomandazione personalizzata.", + "templates.modal.marketing.productRecommendation.name": "Raccomandazione sul prodotto", + "templates.modal.marketing.quiz.description": "Un quiz divertente per coinvolgere i vostri utenti e raccogliere le loro e-mail.", + "templates.modal.marketing.quiz.name": "Quiz", + "templates.modal.menuHeading.marketing": "Marketing", + "templates.modal.menuHeading.new.tag": "Nuovo", + "templates.modal.menuHeading.other": "Altro", + "templates.modal.menuHeading.product": "Prodotto", + "templates.modal.other.audioChatGpt.description": "Un bot AI audio che utilizza il blocco OpenAI per generare risposte in base agli input dell'utente.", + "templates.modal.other.audioChatGpt.name": "Chat audioGPT", + "templates.modal.other.basicChatGpt.description": "Un bot che utilizza il modello ChatGPT per generare risposte in base agli input dell'utente.", + "templates.modal.other.basicChatGpt.name": "ChatGPT di base", + "templates.modal.other.chatGptPersonas.description": "Un bot che utilizza il modello ChatGPT per generare risposte basate sull'input dell'utente e sulla persona selezionata.", + "templates.modal.other.chatGptPersonas.name": "Personaggi ChatGPT", + "templates.modal.other.digitalProductPayment.description": "Un bot che consente di vendere prodotti digitali (ebook, corsi, ecc.) e di fornire il contenuto solo dopo la conferma del pagamento.", + "templates.modal.other.digitalProductPayment.name": "Pagamento del prodotto digitale", + "templates.modal.other.movieRecommendation.description": "Un bot che consiglia film in base alle preferenze dell'utente.", + "templates.modal.other.movieRecommendation.name": "Raccomandazione di film", + "templates.modal.other.openAiConditions.description": "Questo è un esempio di come si possa utilizzare il blocco OpenAI per prendere decisioni intelligenti in base agli input dell'utente e reindirizzare la conversazione verso la strada giusta.", + "templates.modal.other.openAiConditions.name": "Condizioni OpenAI", + "templates.modal.product.customerSupport.description": "Un bot il cui compito è raccogliere i feedback degli utenti: domande, bug e richieste di funzionalità.", + "templates.modal.product.customerSupport.name": "Assistenza clienti", + "templates.modal.product.faq.description": "Un bot che risponde alle domande più frequenti sul vostro prodotto o servizio.", + "templates.modal.product.faq.name": "FAQ", + "templates.modal.product.npsSurvey.description": "Un semplice sondaggio NPS per misurare la soddisfazione dei clienti e migliorare il prodotto.", + "templates.modal.product.npsSurvey.name": "Sondaggio NPS", + "templates.modal.product.userOnboarding.description": "Un bot che chiede informazioni a un nuovo utente prima che inizi a usare il vostro prodotto.", + "templates.modal.product.userOnboarding.name": "Onboarding dell'utente", + "templates.modal.useTemplateButton.label": "Utilizzare questo modello", + "theme.sideMenu.chat": "Chat", + "theme.sideMenu.chat.botAvatar": "Avatar del bot", + "theme.sideMenu.chat.botBubbles": "Bolle del bot", + "theme.sideMenu.chat.buttons": "Pulsanti", + "theme.sideMenu.chat.cornersRoundness": "Rotondità degli angoli", + "theme.sideMenu.chat.inputs": "inserimenti", + "theme.sideMenu.chat.theme.background": "Sfondo:", + "theme.sideMenu.chat.theme.placeholder": "Testo segnaposto:", + "theme.sideMenu.chat.theme.text": "Testo:", + "theme.sideMenu.chat.userAvatar": "Avatar dell'utente", + "theme.sideMenu.chat.userBubbles": "Bolle dell'utente", + "theme.sideMenu.customCSS": "Css personalizzato", + "theme.sideMenu.global": "Globale", + "theme.sideMenu.global.background": "Sfondo", + "theme.sideMenu.global.background.color": "Colore Sfondo:", + "theme.sideMenu.global.background.color.select": "Colore", + "theme.sideMenu.global.background.image.alt": "Immagine di sfondo", + "theme.sideMenu.global.background.image.button": "Scegliere un'immagine", + "theme.sideMenu.global.background.image.select": "Immagine", + "theme.sideMenu.global.background.none.select": "Nessuno", + "theme.sideMenu.global.font": "Font", + "theme.sideMenu.global.typebotBrand": "Mostra il marchio Typebot", + "theme.sideMenu.template": "Modelli", + "theme.sideMenu.template.gallery": "Galleria", + "theme.sideMenu.template.gallery.avatarPreview.alt": "Anteprima dell'avatar nella scheda del modello del tema", + "theme.sideMenu.template.myTemplates": "I miei modelli", + "theme.sideMenu.template.myTemplates.menu.ariaLabel": "Aprire il menu del modello", + "theme.sideMenu.template.myTemplates.saveTheme": "Salva il tema corrente", + "theme.sideMenu.template.myTemplates.saveTheme.myTemplate": "Il mio modello", + "theme.sideMenu.template.myTemplates.saveTheme.name": "Nome:", + "theme.sideMenu.template.myTemplates.saveTheme.saveAsNew": "Salva come nuovo modello", + "theme.sideMenu.template.myTemplates.saveTheme.title": "Salva tema", + "theme.sideMenu.title": "Personalizzare il tema", + "timeSince.days": "{count}d fa", + "timeSince.hours": "{count}h fa", + "timeSince.minutes": "{count}m fa", + "timeSince.months": "{count} mesi fa", + "timeSince.seconds": "{conto} fa", + "timeSince.years": "{count} anni fa", + "typebots.defaultName": "Il mio typebot", + "update": "Aggiornamento", + "upgrade": "Aggiornamento", + "variables.button.searchInput.placeholder": "Ricerca di una variabile", + "variables.button.tooltip": "Inserire una variabile", + "variables.remove": "Rimuovere una variabile", + "variables.rename": "Rinominare una variabile", + "variables.search": "Cercare una variabile", + "variables.select": "Selezionare una variabile", + "variables.set": "impostare", + "video.aspectRatioInput.label": "Rapporto d'aspetto", + "video.aspectRatioInput.moreInfoTooltip": "Esempio: \"16/9\" o \"9/16\"", + "video.maxWidthInput.label": "Larghezza massima", + "video.maxWidthInput.moreInfoTooltip": "Esempio: \"300px\" o \"100%\"", + "video.urlInput.helperText": "Funziona con Youtube, Vimeo, Gumlet, TikTok e altri.", + "video.urlInput.placeholder": "Incolla il link del video...", + "workspace.dropdown.logoutButton.label": "Disconnettersi", + "workspace.dropdown.newButton.label": "Nuovo spazio di lavoro", + "workspace.membersList.inviteButton.label": "Invito", + "workspace.membersList.inviteInput.placeholder": "colleague@company.com", + "workspace.membersList.title": "Membri", + "workspace.membersList.unlockBanner.label": "Aggiornate il vostro piano per lavorare con più membri del team e sbloccare fantastiche funzioni di potenza \uD83D\uDE80", + "workspace.settings.deleteButton.confirmMessage": "Siete sicuri di voler eliminare l'area di lavoro {workspaceName}? Tutte le sue cartelle, i typebot e i risultati saranno eliminati per sempre.", + "workspace.settings.deleteButton.label": "Cancellare l'area di lavoro", + "workspace.settings.icon.title": "icona", + "workspace.settings.modal.menu.billingAndUsage.label": "Fatturazione e utilizzo", + "workspace.settings.modal.menu.members.label": "Membri", + "workspace.settings.modal.menu.myAccount.label": "Il mio account", + "workspace.settings.modal.menu.preferences.label": "Preferenze", + "workspace.settings.modal.menu.settings.label": "Impostazioni", + "workspace.settings.modal.menu.version.label": "Versione: {versione}", + "workspace.settings.modal.menu.workspace.label": "Spazio di lavoro", + "workspace.settings.name.label": "Nome:" +} diff --git a/apps/builder/src/i18n/pt-BR.json b/apps/builder/src/i18n/pt-BR.json index dcb45b735..bec4400d5 100644 --- a/apps/builder/src/i18n/pt-BR.json +++ b/apps/builder/src/i18n/pt-BR.json @@ -126,7 +126,6 @@ "blocks.inputs.button.settings.dynamicData.label": "Dados dinâmicos:", "blocks.inputs.button.variables.buttons.label": "botões", "blocks.inputs.button.variables.display.label": "Exibir", - "blocks.inputs.date.placeholder.label": "Escolha uma data...", "blocks.inputs.date.settings.format.example.label": "Ex:", "blocks.inputs.date.settings.format.label": "Formatar:", "blocks.inputs.date.settings.from.label": "Legenda de:", @@ -434,7 +433,7 @@ "theme.sideMenu.global.background.none.select": "Nenhum", "theme.sideMenu.global.font": "Fonte", "theme.sideMenu.global.typebotBrand": "Mostrar marca do Typebot", - "theme.sideMenu.template": "Template", + "theme.sideMenu.template": "Templates", "theme.sideMenu.template.gallery": "Galeria", "theme.sideMenu.template.gallery.avatarPreview.alt": "Pré-visualização do avatar no cartão do tema do template", "theme.sideMenu.template.myTemplates": "Meus templates", diff --git a/apps/builder/src/i18n/pt.json b/apps/builder/src/i18n/pt.json index ab6e2d8ee..56f65463a 100644 --- a/apps/builder/src/i18n/pt.json +++ b/apps/builder/src/i18n/pt.json @@ -30,6 +30,7 @@ "account.preferences.graphNavigation.trackpad.label": "Trackpad", "account.preferences.language.heading": "Idioma", "account.preferences.language.tooltip": "As traduções ainda não estão completas. É um trabalho em curso. \uD83E\uDD13", + "add": "Adicionar", "analytics.completionRateLabel": "Taxa de conclusão", "analytics.notAvailableLabel": "Não disponível", "analytics.startsLabel": "Inícios", @@ -112,6 +113,18 @@ "billing.usage.heading": "Uso", "billing.usage.unlimited": "Ilimitado", "blocks.bubbles.embed.blockCard.tooltip": "Incorporar pdf, iframe, website...", + "blocks.inputs.button.addItem.ariaLabel": "Adicionar Item", + "blocks.inputs.button.buttonSettings.addComparisonButton.label": "Adicionar comparação", + "blocks.inputs.button.buttonSettings.displayCondition.infoText.label": "Apenas mostrar este item se uma condição for atendida", + "blocks.inputs.button.buttonSettings.displayCondition.selectOperator.label": "Selecione um operador", + "blocks.inputs.button.clickToEdit.label": "Clique para editar", + "blocks.inputs.button.conditionContent.if.label": "Se", + "blocks.inputs.button.default.label": "Padrão", + "blocks.inputs.button.else.label": "Outro", + "blocks.inputs.button.openSettings.ariaLabel": "Abrir configurações", + "blocks.inputs.button.settings.dynamicData.infoText.label": "Se definido, os botões serão dinamicamente disponibilizados de acordo com o que a variável contém.", + "blocks.inputs.button.settings.dynamicData.label": "Dados dinamicos", + "blocks.inputs.button.variables.buttons.label": "Botões", "blocks.inputs.fileUpload.blockCard.tooltip": "Carregar Ficheiros", "blocks.integrations.googleAnalytics.blockCard.tooltip": "Google Analytics", "blocks.integrations.googleSheets.blockCard.tooltip": "Google Sheets", diff --git a/apps/builder/src/lib/tolgee.tsx b/apps/builder/src/lib/tolgee.tsx index 89ef97243..de9df4ad0 100644 --- a/apps/builder/src/lib/tolgee.tsx +++ b/apps/builder/src/lib/tolgee.tsx @@ -7,6 +7,7 @@ import pt from '../i18n/pt.json' import ptBR from '../i18n/pt-BR.json' import es from '../i18n/es.json' import ro from '../i18n/ro.json' +import it from '../i18n/it.json' import { env } from '@typebot.io/env' export const tolgee = Tolgee() @@ -16,7 +17,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', 'es', 'ro'], + availableLanguages: ['en', 'fr', 'de', 'pt', 'pt-BR', 'es', 'ro', 'it'], fallbackLanguage: 'en', staticData: { en, @@ -26,5 +27,6 @@ export const tolgee = Tolgee() 'pt-BR': ptBR, es, ro, + it, }, }) diff --git a/apps/docs/openapi/builder.json b/apps/docs/openapi/builder.json index 8c1d0e68c..f7f45208e 100644 --- a/apps/docs/openapi/builder.json +++ b/apps/docs/openapi/builder.json @@ -23510,6 +23510,44 @@ "document", "timestamp" ] + }, + { + "type": "object", + "properties": { + "from": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "location" + ] + }, + "location": { + "type": "object", + "properties": { + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "timestamp": { + "type": "string" + } + }, + "required": [ + "from", + "type", + "location", + "timestamp" + ] } ] } diff --git a/apps/docs/openapi/viewer.json b/apps/docs/openapi/viewer.json index 900e7b52c..75c4ffc1b 100644 --- a/apps/docs/openapi/viewer.json +++ b/apps/docs/openapi/viewer.json @@ -3836,6 +3836,44 @@ "document", "timestamp" ] + }, + { + "type": "object", + "properties": { + "from": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "location" + ] + }, + "location": { + "type": "object", + "properties": { + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "timestamp": { + "type": "string" + } + }, + "required": [ + "from", + "type", + "location", + "timestamp" + ] } ] }