mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-30 18:30:32 -06:00
tweaks
This commit is contained in:
@@ -1,52 +1,74 @@
|
||||
"use client";
|
||||
|
||||
import { CreateNewActionTab } from "@/modules/survey/editor/components/create-new-action-tab";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
import { Input } from "@/modules/ui/components/input";
|
||||
import { Modal } from "@/modules/ui/components/modal";
|
||||
import { useTranslate } from "@tolgee/react";
|
||||
import { MousePointerClickIcon, PlusIcon } from "lucide-react";
|
||||
import { KeyIcon } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import { TActionClass } from "@formbricks/types/action-classes";
|
||||
|
||||
interface AddActionModalProps {
|
||||
interface AddKeyModalProps {
|
||||
environmentId: string;
|
||||
actionClasses: TActionClass[];
|
||||
isReadOnly: boolean;
|
||||
open?: boolean;
|
||||
setOpen?: (open: boolean) => void;
|
||||
}
|
||||
|
||||
export const AddKeyModal = ({ environmentId, actionClasses, isReadOnly }: AddActionModalProps) => {
|
||||
export const AddKeyModal = ({
|
||||
environmentId,
|
||||
open: externalOpen,
|
||||
setOpen: externalSetOpen,
|
||||
}: AddKeyModalProps) => {
|
||||
const { t } = useTranslate();
|
||||
const [open, setOpen] = useState(false);
|
||||
const [internalOpen, setInternalOpen] = useState(false);
|
||||
const [keyLabel, setKeyLabel] = useState("");
|
||||
|
||||
const [newActionClasses, setNewActionClasses] = useState<TActionClass[]>(actionClasses);
|
||||
const open = externalOpen !== undefined ? externalOpen : internalOpen;
|
||||
const setOpen = externalSetOpen || setInternalOpen;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Button size="sm" onClick={() => setOpen(true)}>
|
||||
{t("common.add_action")}
|
||||
<PlusIcon />
|
||||
</Button>
|
||||
<Modal open={open} setOpen={setOpen} noPadding closeOnOutsideClick={false} restrictOverflow>
|
||||
<div className="flex h-full flex-col rounded-lg">
|
||||
<div className="rounded-t-lg bg-slate-100">
|
||||
<div className="flex w-full items-center justify-between p-6">
|
||||
<div className="flex items-center space-x-2">
|
||||
<div className="mr-1.5 h-6 w-6 text-slate-500">
|
||||
<MousePointerClickIcon className="h-5 w-5" />
|
||||
<Modal open={open} setOpen={setOpen} noPadding closeOnOutsideClick={false} restrictOverflow>
|
||||
<div className="flex h-full flex-col rounded-lg">
|
||||
<div className="rounded-t-lg bg-slate-100">
|
||||
<div className="flex w-full items-center justify-between p-6">
|
||||
<div className="flex items-center space-x-2">
|
||||
<div className="mr-1.5 h-6 w-6 text-slate-500">
|
||||
<KeyIcon className="h-5 w-5" />
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-xl font-medium text-slate-700">
|
||||
{t("environments.integrations.plain.add_key")}
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-xl font-medium text-slate-700">
|
||||
{t("environments.actions.track_new_user_action")}
|
||||
</div>
|
||||
<div className="text-sm text-slate-500">
|
||||
{t("environments.actions.track_user_action_to_display_surveys_or_create_user_segment")}
|
||||
</div>
|
||||
<div className="text-sm text-slate-500">
|
||||
{t("environments.integrations.plain.add_key_description")}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
</>
|
||||
<div className="p-6">
|
||||
<div className="mb-4">
|
||||
<label htmlFor="keyLabel" className="mb-2 block text-sm font-medium text-slate-700">
|
||||
{t("environments.integrations.plain.api_key_label")}
|
||||
</label>
|
||||
<Input
|
||||
id="keyLabel"
|
||||
name="keyLabel"
|
||||
placeholder={t("environments.integrations.plain.api_key_label_placeholder")}
|
||||
value={keyLabel}
|
||||
onChange={(e) => setKeyLabel(e.target.value)}
|
||||
className="w-full"
|
||||
/>
|
||||
</div>
|
||||
<div className="flex justify-end space-x-2">
|
||||
<Button variant="outline" onClick={() => setOpen(false)}>
|
||||
{t("common.cancel")}
|
||||
</Button>
|
||||
<Button variant="default" disabled={!keyLabel.trim()}>
|
||||
{t("common.connect")}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -58,7 +58,6 @@ export const PlainWrapper = ({
|
||||
|
||||
return (
|
||||
<>
|
||||
<AddKeyModal environmentId={environment.id} actionClasses={[]} isReadOnly={false} />
|
||||
{isConnected && notionIntegration ? (
|
||||
<>
|
||||
<AddIntegrationModal
|
||||
@@ -81,12 +80,15 @@ export const PlainWrapper = ({
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<ConnectIntegration
|
||||
isEnabled={enabled}
|
||||
integrationType={"plain"}
|
||||
handleAuthorization={handlePlainAuthorization}
|
||||
integrationLogoSrc={PlainLogo}
|
||||
/>
|
||||
<>
|
||||
<AddKeyModal environmentId={environment.id} open={open} setOpen={setOpen} />
|
||||
<ConnectIntegration
|
||||
isEnabled={enabled}
|
||||
integrationType={"plain"}
|
||||
handleAuthorization={handlePlainAuthorization}
|
||||
integrationLogoSrc={PlainLogo}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "Benutzer erfolgreich erstellt",
|
||||
"user_successfully_created_description": "Dein neuer Benutzer wurde erfolgreich erstellt. Bitte klicke auf den untenstehenden Button und melde Dich in deinem Konto an.",
|
||||
"user_successfully_created_info": "Wir haben nach einem Konto gesucht, das mit {email} verknüpft ist. Wenn keines existierte, haben wir eines für Dich erstellt. Wenn bereits ein Konto existierte, wurden keine Änderungen vorgenommen. Bitte melde Dich unten an, um fortzufahren."
|
||||
},
|
||||
"testimonial_1": "Als open-source Firma ist uns Datenschutz extrem wichtig! Formbricks bietet die perfekte Mischung aus modernster Technologie und solidem Datenschutz.",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "Ungültiges Token ☹️",
|
||||
"new_email_verification_success": "Wenn die Adresse gültig ist, wurde eine Bestätigungs-E-Mail gesendet.",
|
||||
"no_email_provided": "Keine E-Mail bereitgestellt",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "Bitte klicke auf den Link in der E-Mail, um dein Konto zu aktivieren.",
|
||||
"please_confirm_your_email_address": "Bitte bestätige deine E-Mail-Adresse",
|
||||
"resend_verification_email": "Bestätigungs-E-Mail erneut senden",
|
||||
"verification_email_resent_successfully": "Bestätigungs-E-Mail gesendet! Bitte überprüfe dein Postfach.",
|
||||
"verification_email_successfully_sent_info": "Wenn ein Konto mit {email} verknüpft ist, haben wir einen Bestätigungslink an diese Adresse gesendet. Bitte überprüfe dein Postfach, um die Anmeldung abzuschließen.",
|
||||
"we_sent_an_email_to": "Wir haben eine E-Mail an {email} gesendet",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "Hast Du keine E-Mail erhalten oder ist dein Link abgelaufen?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "und",
|
||||
"and_response_limit_of": "und Antwortlimit von",
|
||||
"anonymous": "Anonym",
|
||||
"api_key_label": "Plain-API-Schlüssel",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "API-Schlüssel",
|
||||
"app": "App",
|
||||
"app_survey": "App-Umfrage",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "Verbinde die Integration erneut, um neu hinzugefügte Datenbanken einzuschließen. Deine bestehenden Integrationen bleiben erhalten."
|
||||
},
|
||||
"notion_integration_description": "Sende Daten an deine Notion Datenbank",
|
||||
"plain": {
|
||||
"add_key": "Plain-API-Schlüssel hinzufügen",
|
||||
"add_key_description": "Fügen Sie Ihren Plain-API-Schlüssel hinzu, um sich mit Plain zu verbinden",
|
||||
"connect_with_plain": "Mit Plain verbinden",
|
||||
"plain_integration": "Plain Integration",
|
||||
"plain_integration_description": "Threads auf Plain mit Formbricks-Antworten erstellen"
|
||||
},
|
||||
"please_select_a_survey_error": "Bitte wähle eine Umfrage aus",
|
||||
"select_at_least_one_question_error": "Bitte wähle mindestens eine Frage aus",
|
||||
"slack": {
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "User successfully created",
|
||||
"user_successfully_created_description": "Your new user has been created successfully. Please click the button below and sign in to your account.",
|
||||
"user_successfully_created_info": "We’ve checked for an account associated with {email}. If none existed, we’ve created one for you. If an account already existed, no changes were made. Please log in below to continue."
|
||||
},
|
||||
"testimonial_1": "We measure the clarity of our docs and learn from churn all on one platform. Great product, very responsive team!",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "Invalid token ☹️",
|
||||
"new_email_verification_success": "If the address is valid, a verification email has been sent.",
|
||||
"no_email_provided": "No email provided",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "Please click the link in the email to activate your account.",
|
||||
"please_confirm_your_email_address": "Please confirm your email address",
|
||||
"resend_verification_email": "Resend verification email",
|
||||
"verification_email_resent_successfully": "Verification email sent! Please check your inbox.",
|
||||
"verification_email_successfully_sent_info": "If there’s an account associated with {email}, we’ve sent a verification link to that address. Please check your inbox to complete the sign-up.",
|
||||
"we_sent_an_email_to": "We sent an email to {email}. ",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "You didn't receive an email or your link expired?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "And",
|
||||
"and_response_limit_of": "and response limit of",
|
||||
"anonymous": "Anonymous",
|
||||
"api_key_label": "Plain API key",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "API Keys",
|
||||
"app": "App",
|
||||
"app_survey": "App Survey",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "Reconnect the integration to include newly added databases. Your existing integrations will remain intact."
|
||||
},
|
||||
"notion_integration_description": "Send data to your Notion database",
|
||||
"plain": {
|
||||
"add_key": "Add Plain API Key",
|
||||
"add_key_description": "Add your Plain API Key to connect with Plain",
|
||||
"connect_with_plain": "Connect with Plain",
|
||||
"plain_integration": "Plain Integration",
|
||||
"plain_integration_description": "Create threads on Plain using Formbricks responses"
|
||||
},
|
||||
"please_select_a_survey_error": "Please select a survey",
|
||||
"select_at_least_one_question_error": "Please select at least one question",
|
||||
"slack": {
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "Utilisateur créé avec succès",
|
||||
"user_successfully_created_description": "Votre nouvel utilisateur a été créé avec succès. Veuillez cliquer sur le bouton ci-dessous et vous connecter à votre compte.",
|
||||
"user_successfully_created_info": "Nous avons vérifié s'il existait un compte associé à {email}. Si aucun n'existait, nous en avons créé un pour vous. Si un compte existait déjà, aucune modification n'a été apportée. Veuillez vous connecter ci-dessous pour continuer."
|
||||
},
|
||||
"testimonial_1": "Nous mesurons la clarté de nos documents et apprenons des abandons, le tout sur une seule plateforme. Excellent produit, équipe très réactive !",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "Jeton non valide ☹️",
|
||||
"new_email_verification_success": "Si l'adresse est valide, un email de vérification a été envoyé.",
|
||||
"no_email_provided": "Aucun e-mail fourni",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "Veuillez cliquer sur le lien dans l'e-mail pour activer votre compte.",
|
||||
"please_confirm_your_email_address": "Veuillez confirmer votre adresse e-mail.",
|
||||
"resend_verification_email": "Renvoyer l'email de vérification",
|
||||
"verification_email_resent_successfully": "E-mail de vérification envoyé ! Veuillez vérifier votre boîte de réception.",
|
||||
"verification_email_successfully_sent_info": "Si un compte est associé à {email}, nous avons envoyé un lien de vérification à cette adresse. Veuillez vérifier votre boîte de réception pour terminer l'inscription.",
|
||||
"we_sent_an_email_to": "Nous avons envoyé un email à {email}",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "Vous n'avez pas reçu d'email ou votre lien a expiré ?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "Et",
|
||||
"and_response_limit_of": "et limite de réponse de",
|
||||
"anonymous": "Anonyme",
|
||||
"api_key_label": "Clé API Plain",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "Clés API",
|
||||
"app": "Application",
|
||||
"app_survey": "Sondage d'application",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "Reconnectez l'intégration pour inclure les nouvelles bases de données ajoutées. Vos intégrations existantes resteront intactes."
|
||||
},
|
||||
"notion_integration_description": "Envoyer des données à votre base de données Notion",
|
||||
"plain": {
|
||||
"add_key": "Ajouter une clé API Plain",
|
||||
"add_key_description": "Ajoutez votre clé API Plain pour vous connecter avec Plain",
|
||||
"connect_with_plain": "Se connecter avec Plain",
|
||||
"plain_integration": "Intégration Plain",
|
||||
"plain_integration_description": "Créer des fils sur Plain en utilisant les réponses de Formbricks"
|
||||
},
|
||||
"please_select_a_survey_error": "Veuillez sélectionner une enquête.",
|
||||
"select_at_least_one_question_error": "Veuillez sélectionner au moins une question.",
|
||||
"slack": {
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "Usuário criado com sucesso",
|
||||
"user_successfully_created_description": "Seu novo usuário foi criado com sucesso. Por favor, clique no botão abaixo e faça login na sua conta.",
|
||||
"user_successfully_created_info": "Verificamos se há uma conta associada a {email}. Se não existia, criamos uma para você. Se uma conta já existia, nenhuma alteração foi feita. Por favor, faça login abaixo para continuar."
|
||||
},
|
||||
"testimonial_1": "Mediamos a clareza dos nossos documentos e aprendemos com a rotatividade tudo em uma única plataforma. Ótimo produto, equipe muito atenciosa!",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "Token inválido ☹️",
|
||||
"new_email_verification_success": "Se o endereço for válido, um email de verificação foi enviado.",
|
||||
"no_email_provided": "Nenhum e-mail fornecido",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "Por favor, clica no link do e-mail pra ativar sua conta.",
|
||||
"please_confirm_your_email_address": "Por favor, confirme seu endereço de e-mail",
|
||||
"resend_verification_email": "Reenviar e-mail de verificação",
|
||||
"verification_email_resent_successfully": "E-mail de verificação enviado! Por favor, verifique sua caixa de entrada.",
|
||||
"verification_email_successfully_sent_info": "Se houver uma conta associada a {email}, enviamos um link de verificação para esse endereço. Por favor, verifique sua caixa de entrada para completar o cadastro.",
|
||||
"we_sent_an_email_to": "Enviamos um email para {email}",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "Você não recebeu um e-mail ou seu link expirou?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "E",
|
||||
"and_response_limit_of": "e limite de resposta de",
|
||||
"anonymous": "Anônimo",
|
||||
"api_key_label": "Chave API do Plain",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "Chaves de API",
|
||||
"app": "app",
|
||||
"app_survey": "Pesquisa de App",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "Reconecte a integração para incluir os novos bancos de dados adicionados. Suas integrações existentes permanecerão intactas."
|
||||
},
|
||||
"notion_integration_description": "Enviar dados para seu banco de dados do Notion",
|
||||
"plain": {
|
||||
"add_key": "Adicionar Chave API do Plain",
|
||||
"add_key_description": "Adicione sua chave API do Plain para conectar com o Plain",
|
||||
"connect_with_plain": "Conectar com o Plain",
|
||||
"plain_integration": "Integração com o Plain",
|
||||
"plain_integration_description": "Criar threads no Plain usando respostas do Formbricks"
|
||||
},
|
||||
"please_select_a_survey_error": "Por favor, escolha uma pesquisa",
|
||||
"select_at_least_one_question_error": "Por favor, selecione pelo menos uma pergunta",
|
||||
"slack": {
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "Utilizador criado com sucesso",
|
||||
"user_successfully_created_description": "O seu novo utilizador foi criado com sucesso. Por favor, clique no botão abaixo e inicie sessão na sua conta.",
|
||||
"user_successfully_created_info": "Verificámos a existência de uma conta associada a {email}. Se não existia, criámos uma para si. Se já existia uma conta, não foram feitas alterações. Por favor, inicie sessão abaixo para continuar."
|
||||
},
|
||||
"testimonial_1": "Medimos a clareza dos nossos documentos e aprendemos com a rotatividade, tudo numa só plataforma. Ótimo produto, equipa muito responsiva!",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "Token inválido ☹️",
|
||||
"new_email_verification_success": "Se o endereço for válido, um email de verificação foi enviado.",
|
||||
"no_email_provided": "Nenhum email fornecido",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "Por favor, clique no link no email para ativar a sua conta.",
|
||||
"please_confirm_your_email_address": "Por favor, confirme o seu endereço de email",
|
||||
"resend_verification_email": "Reenviar email de verificação",
|
||||
"verification_email_resent_successfully": "Email de verificação enviado! Por favor, verifique a sua caixa de entrada.",
|
||||
"verification_email_successfully_sent_info": "Se houver uma conta associada a {email}, enviámos um link de verificação para esse endereço. Por favor, verifique a sua caixa de entrada para completar o registo.",
|
||||
"we_sent_an_email_to": "Enviámos um email para {email}. ",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "Não recebeu um email ou o seu link expirou?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "E",
|
||||
"and_response_limit_of": "e limite de resposta de",
|
||||
"anonymous": "Anónimo",
|
||||
"api_key_label": "Chave API do Plain",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "Chaves API",
|
||||
"app": "Aplicação",
|
||||
"app_survey": "Inquérito da Aplicação",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "Restabeleça a integração para incluir as bases de dados recentemente adicionadas. As suas integrações existentes permanecerão intactas."
|
||||
},
|
||||
"notion_integration_description": "Enviar dados para a sua base de dados do Notion",
|
||||
"plain": {
|
||||
"add_key": "Adicionar Chave API do Plain",
|
||||
"add_key_description": "Adicione a sua chave API do Plain para ligar ao Plain",
|
||||
"connect_with_plain": "Ligar ao Plain",
|
||||
"plain_integration": "Integração com Plain",
|
||||
"plain_integration_description": "Criar tópicos no Plain usando respostas do Formbricks"
|
||||
},
|
||||
"please_select_a_survey_error": "Por favor, selecione um inquérito",
|
||||
"select_at_least_one_question_error": "Por favor, selecione pelo menos uma pergunta",
|
||||
"slack": {
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
},
|
||||
"signup_without_verification_success": {
|
||||
"user_successfully_created": "使用者建立成功",
|
||||
"user_successfully_created_description": "您的新使用者已成功建立。請點擊下方按鈕並登入您的帳戶。",
|
||||
"user_successfully_created_info": "我們已檢查與 {email} 相關聯的帳戶。如果不存在,我們已為您建立一個。如果帳戶已存在,則未進行任何更改。請在下方登入以繼續。"
|
||||
},
|
||||
"testimonial_1": "我們在同一個平台上測量文件的清晰度,並從客戶流失中學習。很棒的產品,團隊反應非常迅速!",
|
||||
@@ -92,12 +91,10 @@
|
||||
"invalid_token": "無效的權杖 ☹️",
|
||||
"new_email_verification_success": "如果地址有效,驗證電子郵件已發送。",
|
||||
"no_email_provided": "未提供電子郵件",
|
||||
"please_click_the_link_in_the_email_to_activate_your_account": "請點擊電子郵件中的連結以啟用您的帳戶。",
|
||||
"please_confirm_your_email_address": "請確認您的電子郵件地址",
|
||||
"resend_verification_email": "重新發送驗證電子郵件",
|
||||
"verification_email_resent_successfully": "驗證電子郵件已發送!請檢查您的收件箱。",
|
||||
"verification_email_successfully_sent_info": "如果有一個帳戶與 {email} 相關聯,我們已發送驗證連結至該地址。請檢查您的收件箱以完成註冊。",
|
||||
"we_sent_an_email_to": "我們已發送一封電子郵件至 <email>'{'email'}'</email>。",
|
||||
"you_didnt_receive_an_email_or_your_link_expired": "您沒有收到電子郵件或您的連結已過期?"
|
||||
},
|
||||
"verify": {
|
||||
@@ -132,6 +129,8 @@
|
||||
"and": "且",
|
||||
"and_response_limit_of": "且回應上限為",
|
||||
"anonymous": "匿名",
|
||||
"api_key_label": "Plain API 金鑰",
|
||||
"api_key_label_placeholder": "plainApiKey_xxxx",
|
||||
"api_keys": "API 金鑰",
|
||||
"app": "應用程式",
|
||||
"app_survey": "應用程式問卷",
|
||||
@@ -708,6 +707,13 @@
|
||||
"update_connection_tooltip": "重新連接整合以包含新添加的資料庫。您現有的整合將保持不變。"
|
||||
},
|
||||
"notion_integration_description": "將資料傳送至您的 Notion 資料庫",
|
||||
"plain": {
|
||||
"add_key": "新增 Plain API 金鑰",
|
||||
"add_key_description": "添加你的 Plain API Key 以連線 Plain",
|
||||
"connect_with_plain": "連線 Plain",
|
||||
"plain_integration": "Plain 整合",
|
||||
"plain_integration_description": "使用 Formbricks 回應在 Plain 上建立 threads"
|
||||
},
|
||||
"please_select_a_survey_error": "請選取問卷",
|
||||
"select_at_least_one_question_error": "請選取至少一個問題",
|
||||
"slack": {
|
||||
|
||||
Reference in New Issue
Block a user