mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-27 17:00:25 -06:00
Compare commits
7 Commits
feat/proje
...
feat/datab
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e39cdd7a2 | ||
|
|
1859091efd | ||
|
|
b9b052c102 | ||
|
|
9dd604524f | ||
|
|
5cc2a61089 | ||
|
|
520dc1f7b6 | ||
|
|
6ca21bca5e |
@@ -25,7 +25,7 @@ const Page = async (props: ConnectPageProps) => {
|
||||
|
||||
const project = await getProjectByEnvironmentId(environment.id);
|
||||
if (!project) {
|
||||
throw new Error(t("common.workspace_not_found"));
|
||||
throw new Error(t("common.project_not_found"));
|
||||
}
|
||||
|
||||
const channel = project.config.channel || null;
|
||||
@@ -46,7 +46,7 @@ const Page = async (props: ConnectPageProps) => {
|
||||
channel={channel}
|
||||
/>
|
||||
<Button
|
||||
className="absolute top-5 right-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
className="absolute right-5 top-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
variant="ghost"
|
||||
asChild>
|
||||
<Link href={`/environments/${environment.id}`}>
|
||||
|
||||
@@ -38,7 +38,7 @@ const Page = async (props: XMTemplatePageProps) => {
|
||||
|
||||
const project = await getProjectByEnvironmentId(environment.id);
|
||||
if (!project) {
|
||||
throw new Error(t("common.workspace_not_found"));
|
||||
throw new Error(t("common.project_not_found"));
|
||||
}
|
||||
|
||||
const projects = await getUserProjects(session.user.id, organizationId);
|
||||
@@ -49,7 +49,7 @@ const Page = async (props: XMTemplatePageProps) => {
|
||||
<XMTemplateList project={project} user={user} environmentId={environment.id} />
|
||||
{projects.length >= 2 && (
|
||||
<Button
|
||||
className="absolute top-5 right-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
className="absolute right-5 top-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
variant="ghost"
|
||||
asChild>
|
||||
<Link href={`/environments/${environment.id}/surveys`}>
|
||||
|
||||
@@ -50,8 +50,8 @@ const Page = async (props) => {
|
||||
</div>
|
||||
<div className="flex h-full flex-col items-center justify-center space-y-12">
|
||||
<Header
|
||||
title={t("organizations.landing.no_workspaces_warning_title")}
|
||||
subtitle={t("organizations.landing.no_workspaces_warning_subtitle")}
|
||||
title={t("organizations.landing.no_projects_warning_title")}
|
||||
subtitle={t("organizations.landing.no_projects_warning_subtitle")}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,16 +26,16 @@ const Page = async (props: ChannelPageProps) => {
|
||||
const t = await getTranslate();
|
||||
const channelOptions = [
|
||||
{
|
||||
title: t("organizations.workspaces.new.channel.link_and_email_surveys"),
|
||||
description: t("organizations.workspaces.new.channel.link_and_email_surveys_description"),
|
||||
title: t("organizations.projects.new.channel.link_and_email_surveys"),
|
||||
description: t("organizations.projects.new.channel.link_and_email_surveys_description"),
|
||||
icon: SendIcon,
|
||||
href: `/organizations/${params.organizationId}/workspaces/new/settings?channel=link`,
|
||||
href: `/organizations/${params.organizationId}/projects/new/settings?channel=link`,
|
||||
},
|
||||
{
|
||||
title: t("organizations.workspaces.new.channel.in_product_surveys"),
|
||||
description: t("organizations.workspaces.new.channel.in_product_surveys_description"),
|
||||
title: t("organizations.projects.new.channel.in_product_surveys"),
|
||||
description: t("organizations.projects.new.channel.in_product_surveys_description"),
|
||||
icon: PictureInPicture2Icon,
|
||||
href: `/organizations/${params.organizationId}/workspaces/new/settings?channel=app`,
|
||||
href: `/organizations/${params.organizationId}/projects/new/settings?channel=app`,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -44,13 +44,13 @@ const Page = async (props: ChannelPageProps) => {
|
||||
return (
|
||||
<div className="flex min-h-full min-w-full flex-col items-center justify-center space-y-12">
|
||||
<Header
|
||||
title={t("organizations.workspaces.new.channel.channel_select_title")}
|
||||
subtitle={t("organizations.workspaces.new.channel.channel_select_subtitle")}
|
||||
title={t("organizations.projects.new.channel.channel_select_title")}
|
||||
subtitle={t("organizations.projects.new.channel.channel_select_subtitle")}
|
||||
/>
|
||||
<OnboardingOptionsContainer options={channelOptions} />
|
||||
{projects.length >= 1 && (
|
||||
<Button
|
||||
className="absolute top-5 right-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
className="absolute right-5 top-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
variant="ghost"
|
||||
asChild>
|
||||
<Link href={"/"}>
|
||||
@@ -26,16 +26,16 @@ const Page = async (props: ModePageProps) => {
|
||||
const t = await getTranslate();
|
||||
const channelOptions = [
|
||||
{
|
||||
title: t("organizations.workspaces.new.mode.formbricks_surveys"),
|
||||
description: t("organizations.workspaces.new.mode.formbricks_surveys_description"),
|
||||
title: t("organizations.projects.new.mode.formbricks_surveys"),
|
||||
description: t("organizations.projects.new.mode.formbricks_surveys_description"),
|
||||
icon: ListTodoIcon,
|
||||
href: `/organizations/${params.organizationId}/workspaces/new/channel`,
|
||||
href: `/organizations/${params.organizationId}/projects/new/channel`,
|
||||
},
|
||||
{
|
||||
title: t("organizations.workspaces.new.mode.formbricks_cx"),
|
||||
description: t("organizations.workspaces.new.mode.formbricks_cx_description"),
|
||||
title: t("organizations.projects.new.mode.formbricks_cx"),
|
||||
description: t("organizations.projects.new.mode.formbricks_cx_description"),
|
||||
icon: HeartIcon,
|
||||
href: `/organizations/${params.organizationId}/workspaces/new/settings?mode=cx`,
|
||||
href: `/organizations/${params.organizationId}/projects/new/settings?mode=cx`,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -43,11 +43,11 @@ const Page = async (props: ModePageProps) => {
|
||||
|
||||
return (
|
||||
<div className="flex min-h-full min-w-full flex-col items-center justify-center space-y-12">
|
||||
<Header title={t("organizations.workspaces.new.mode.what_are_you_here_for")} />
|
||||
<Header title={t("organizations.projects.new.mode.what_are_you_here_for")} />
|
||||
<OnboardingOptionsContainer options={channelOptions} />
|
||||
{projects.length >= 1 && (
|
||||
<Button
|
||||
className="absolute top-5 right-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
className="absolute right-5 top-5 !mt-0 text-slate-500 hover:text-slate-700"
|
||||
variant="ghost"
|
||||
asChild>
|
||||
<Link href={"/"}>
|
||||
@@ -79,7 +79,7 @@ export const ProjectSettings = ({
|
||||
(environment) => environment.type === "production"
|
||||
);
|
||||
if (productionEnvironment) {
|
||||
if (globalThis.window !== undefined) {
|
||||
if (typeof window !== "undefined") {
|
||||
// Rmove filters when creating a new project
|
||||
localStorage.removeItem(FORMBRICKS_SURVEYS_FILTERS_KEY_LS);
|
||||
}
|
||||
@@ -96,7 +96,7 @@ export const ProjectSettings = ({
|
||||
toast.error(errorMessage);
|
||||
}
|
||||
} catch (error) {
|
||||
toast.error(t("organizations.workspaces.new.settings.workspace_creation_failed"));
|
||||
toast.error(t("organizations.projects.new.settings.project_creation_failed"));
|
||||
console.error(error);
|
||||
}
|
||||
};
|
||||
@@ -131,9 +131,9 @@ export const ProjectSettings = ({
|
||||
render={({ field, fieldState: { error } }) => (
|
||||
<FormItem className="w-full space-y-4">
|
||||
<div>
|
||||
<FormLabel>{t("organizations.workspaces.new.settings.brand_color")}</FormLabel>
|
||||
<FormLabel>{t("organizations.projects.new.settings.brand_color")}</FormLabel>
|
||||
<FormDescription>
|
||||
{t("organizations.workspaces.new.settings.brand_color_description")}
|
||||
{t("organizations.projects.new.settings.brand_color_description")}
|
||||
</FormDescription>
|
||||
</div>
|
||||
<FormControl>
|
||||
@@ -155,9 +155,9 @@ export const ProjectSettings = ({
|
||||
render={({ field, fieldState: { error } }) => (
|
||||
<FormItem className="w-full space-y-4">
|
||||
<div>
|
||||
<FormLabel>{t("organizations.workspaces.new.settings.workspace_name")}</FormLabel>
|
||||
<FormLabel>{t("organizations.projects.new.settings.project_name")}</FormLabel>
|
||||
<FormDescription>
|
||||
{t("organizations.workspaces.new.settings.workspace_name_description")}
|
||||
{t("organizations.projects.new.settings.project_name_description")}
|
||||
</FormDescription>
|
||||
</div>
|
||||
<FormControl>
|
||||
@@ -186,7 +186,7 @@ export const ProjectSettings = ({
|
||||
<div>
|
||||
<FormLabel>{t("common.teams")}</FormLabel>
|
||||
<FormDescription>
|
||||
{t("organizations.workspaces.new.settings.team_description")}
|
||||
{t("organizations.projects.new.settings.team_description")}
|
||||
</FormDescription>
|
||||
</div>
|
||||
<Button
|
||||
@@ -194,7 +194,7 @@ export const ProjectSettings = ({
|
||||
size="sm"
|
||||
type="button"
|
||||
onClick={() => setCreateTeamModalOpen(true)}>
|
||||
{t("organizations.workspaces.new.settings.create_new_team")}
|
||||
{t("organizations.projects.new.settings.create_new_team")}
|
||||
</Button>
|
||||
</div>
|
||||
<FormControl>
|
||||
@@ -3,7 +3,7 @@ import Link from "next/link";
|
||||
import { redirect } from "next/navigation";
|
||||
import { TProjectConfigChannel, TProjectConfigIndustry, TProjectMode } from "@formbricks/types/project";
|
||||
import { getTeamsByOrganizationId } from "@/app/(app)/(onboarding)/lib/onboarding";
|
||||
import { ProjectSettings } from "@/app/(app)/(onboarding)/organizations/[organizationId]/workspaces/new/settings/components/ProjectSettings";
|
||||
import { ProjectSettings } from "@/app/(app)/(onboarding)/organizations/[organizationId]/projects/new/settings/components/ProjectSettings";
|
||||
import { DEFAULT_BRAND_COLOR } from "@/lib/constants";
|
||||
import { getPublicDomain } from "@/lib/getPublicUrl";
|
||||
import { getUserProjects } from "@/lib/project/service";
|
||||
@@ -53,8 +53,8 @@ const Page = async (props: ProjectSettingsPageProps) => {
|
||||
return (
|
||||
<div className="flex min-h-full min-w-full flex-col items-center justify-center space-y-12">
|
||||
<Header
|
||||
title={t("organizations.workspaces.new.settings.workspace_settings_title")}
|
||||
subtitle={t("organizations.workspaces.new.settings.workspace_settings_subtitle")}
|
||||
title={t("organizations.projects.new.settings.project_settings_title")}
|
||||
subtitle={t("organizations.projects.new.settings.project_settings_subtitle")}
|
||||
/>
|
||||
<ProjectSettings
|
||||
organizationId={params.organizationId}
|
||||
@@ -43,7 +43,7 @@ export const EnvironmentLayout = async ({ layoutData, children }: EnvironmentLay
|
||||
|
||||
// Validate that project permission exists for members
|
||||
if (isMember && !projectPermission) {
|
||||
throw new Error(t("common.workspace_permission_not_found"));
|
||||
throw new Error(t("common.project_permission_not_found"));
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -113,7 +113,7 @@ export const MainNavigation = ({
|
||||
},
|
||||
{
|
||||
name: t("common.configuration"),
|
||||
href: `/environments/${environment.id}/workspace/general`,
|
||||
href: `/environments/${environment.id}/project/general`,
|
||||
icon: Cog,
|
||||
isActive: pathname?.includes("/project"),
|
||||
},
|
||||
@@ -164,7 +164,7 @@ export const MainNavigation = ({
|
||||
<aside
|
||||
className={cn(
|
||||
"z-40 flex flex-col justify-between rounded-r-xl border-r border-slate-200 bg-white pt-3 shadow-md transition-all duration-100",
|
||||
isCollapsed ? "w-sidebar-expanded" : "w-sidebar-collapsed"
|
||||
!isCollapsed ? "w-sidebar-collapsed" : "w-sidebar-expanded"
|
||||
)}>
|
||||
<div>
|
||||
{/* Logo and Toggle */}
|
||||
|
||||
@@ -17,13 +17,13 @@ export const WidgetStatusIndicator = ({ environment }: WidgetStatusIndicatorProp
|
||||
const stati = {
|
||||
notImplemented: {
|
||||
icon: AlertTriangleIcon,
|
||||
title: t("environments.workspace.app-connection.formbricks_sdk_not_connected"),
|
||||
subtitle: t("environments.workspace.app-connection.formbricks_sdk_not_connected_description"),
|
||||
title: t("environments.project.app-connection.formbricks_sdk_not_connected"),
|
||||
subtitle: t("environments.project.app-connection.formbricks_sdk_not_connected_description"),
|
||||
},
|
||||
running: {
|
||||
icon: CheckIcon,
|
||||
title: t("environments.workspace.app-connection.receiving_data"),
|
||||
subtitle: t("environments.workspace.app-connection.formbricks_sdk_connected"),
|
||||
title: t("environments.project.app-connection.receiving_data"),
|
||||
subtitle: t("environments.project.app-connection.formbricks_sdk_connected"),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -53,11 +53,11 @@ export const WidgetStatusIndicator = ({ environment }: WidgetStatusIndicatorProp
|
||||
<currentStatus.icon />
|
||||
</div>
|
||||
<p className="text-md font-bold text-slate-800 md:text-xl">{currentStatus.title}</p>
|
||||
<p className="w-2/3 text-sm text-balance text-slate-600">{currentStatus.subtitle}</p>
|
||||
<p className="w-2/3 text-balance text-sm text-slate-600">{currentStatus.subtitle}</p>
|
||||
{status === "notImplemented" && (
|
||||
<Button variant="outline" size="sm" className="bg-white" onClick={() => router.refresh()}>
|
||||
<RotateCcwIcon />
|
||||
{t("environments.workspace.app-connection.recheck")}
|
||||
{t("environments.project.app-connection.recheck")}
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -144,12 +144,6 @@ export const OrganizationBreadcrumb = ({
|
||||
href: `/environments/${currentEnvironmentId}/settings/api-keys`,
|
||||
hidden: !isOwnerOrManager,
|
||||
},
|
||||
{
|
||||
id: "domain",
|
||||
label: t("common.domain"),
|
||||
href: `/environments/${currentEnvironmentId}/settings/domain`,
|
||||
hidden: isFormbricksCloud,
|
||||
},
|
||||
{
|
||||
id: "billing",
|
||||
label: t("common.billing"),
|
||||
|
||||
@@ -36,12 +36,12 @@ interface ProjectBreadcrumbProps {
|
||||
}
|
||||
|
||||
const isActiveProjectSetting = (pathname: string, settingId: string): boolean => {
|
||||
// Match /workspace/{settingId} or /workspace/{settingId}/... but exclude settings paths
|
||||
// Match /project/{settingId} or /project/{settingId}/... but exclude settings paths
|
||||
if (pathname.includes("/settings/")) {
|
||||
return false;
|
||||
}
|
||||
// Check if path matches /workspace/{settingId} (with optional trailing path)
|
||||
const pattern = new RegExp(`/workspace/${settingId}(?:/|$)`);
|
||||
// Check if path matches /project/{settingId} (with optional trailing path)
|
||||
const pattern = new RegExp(`/project/${settingId}(?:/|$)`);
|
||||
return pattern.test(pathname);
|
||||
};
|
||||
|
||||
@@ -90,7 +90,7 @@ export const ProjectBreadcrumb = ({
|
||||
const error = new Error(errorMessage);
|
||||
logger.error(error, "Failed to load projects");
|
||||
Sentry.captureException(error);
|
||||
setLoadError(errorMessage || t("common.failed_to_load_workspaces"));
|
||||
setLoadError(errorMessage || t("common.failed_to_load_projects"));
|
||||
}
|
||||
setIsLoadingProjects(false);
|
||||
});
|
||||
@@ -101,37 +101,37 @@ export const ProjectBreadcrumb = ({
|
||||
{
|
||||
id: "general",
|
||||
label: t("common.general"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/general`,
|
||||
href: `/environments/${currentEnvironmentId}/project/general`,
|
||||
},
|
||||
{
|
||||
id: "look",
|
||||
label: t("common.look_and_feel"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/look`,
|
||||
href: `/environments/${currentEnvironmentId}/project/look`,
|
||||
},
|
||||
{
|
||||
id: "app-connection",
|
||||
label: t("common.website_and_app_connection"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/app-connection`,
|
||||
href: `/environments/${currentEnvironmentId}/project/app-connection`,
|
||||
},
|
||||
{
|
||||
id: "integrations",
|
||||
label: t("common.integrations"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/integrations`,
|
||||
href: `/environments/${currentEnvironmentId}/project/integrations`,
|
||||
},
|
||||
{
|
||||
id: "teams",
|
||||
label: t("common.team_access"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/teams`,
|
||||
href: `/environments/${currentEnvironmentId}/project/teams`,
|
||||
},
|
||||
{
|
||||
id: "languages",
|
||||
label: t("common.survey_languages"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/languages`,
|
||||
href: `/environments/${currentEnvironmentId}/project/languages`,
|
||||
},
|
||||
{
|
||||
id: "tags",
|
||||
label: t("common.tags"),
|
||||
href: `/environments/${currentEnvironmentId}/workspace/tags`,
|
||||
href: `/environments/${currentEnvironmentId}/project/tags`,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -159,7 +159,7 @@ export const ProjectBreadcrumb = ({
|
||||
|
||||
const handleProjectSettingsNavigation = (settingId: string) => {
|
||||
startTransition(() => {
|
||||
router.push(`/environments/${currentEnvironmentId}/workspace/${settingId}`);
|
||||
router.push(`/environments/${currentEnvironmentId}/project/${settingId}`);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -212,7 +212,7 @@ export const ProjectBreadcrumb = ({
|
||||
<DropdownMenuContent align="start" className="mt-2">
|
||||
<div className="px-2 py-1.5 text-sm font-medium text-slate-500">
|
||||
<FolderOpenIcon className="mr-2 inline h-4 w-4" strokeWidth={1.5} />
|
||||
{t("common.choose_workspace")}
|
||||
{t("common.choose_project")}
|
||||
</div>
|
||||
{isLoadingProjects && (
|
||||
<div className="flex items-center justify-center py-2">
|
||||
@@ -251,7 +251,7 @@ export const ProjectBreadcrumb = ({
|
||||
<DropdownMenuCheckboxItem
|
||||
onClick={handleAddProject}
|
||||
className="w-full cursor-pointer justify-between">
|
||||
<span>{t("common.add_new_workspace")}</span>
|
||||
<span>{t("common.add_new_project")}</span>
|
||||
<PlusIcon className="ml-2 h-4 w-4" strokeWidth={1.5} />
|
||||
</DropdownMenuCheckboxItem>
|
||||
)}
|
||||
@@ -261,7 +261,7 @@ export const ProjectBreadcrumb = ({
|
||||
<DropdownMenuSeparator />
|
||||
<div className="px-2 py-1.5 text-sm font-medium text-slate-500">
|
||||
<CogIcon className="mr-2 inline h-4 w-4" strokeWidth={1.5} />
|
||||
{t("common.workspace_configuration")}
|
||||
{t("common.project_configuration")}
|
||||
</div>
|
||||
{projectSettings.map((setting) => (
|
||||
<DropdownMenuCheckboxItem
|
||||
|
||||
@@ -17,9 +17,9 @@ import {
|
||||
import { TSurveyElement } from "@formbricks/types/surveys/elements";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { getTextContent } from "@formbricks/types/surveys/validation";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { BaseSelectDropdown } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/components/BaseSelectDropdown";
|
||||
import { fetchTables } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/lib/airtable";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { BaseSelectDropdown } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/components/BaseSelectDropdown";
|
||||
import { fetchTables } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/lib/airtable";
|
||||
import AirtableLogo from "@/images/airtableLogo.svg";
|
||||
import { recallToHeadline } from "@/lib/utils/recall";
|
||||
import { getElementsFromBlocks } from "@/modules/survey/lib/client-utils";
|
||||
@@ -5,8 +5,8 @@ import { TIntegrationItem } from "@formbricks/types/integration";
|
||||
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/lib/airtable";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/lib/airtable";
|
||||
import airtableLogo from "@/images/airtableLogo.svg";
|
||||
import { ConnectIntegration } from "@/modules/ui/components/connect-integration";
|
||||
|
||||
@@ -8,8 +8,8 @@ import { TIntegrationItem } from "@formbricks/types/integration";
|
||||
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { AddIntegrationModal } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/components/AddIntegrationModal";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { AddIntegrationModal } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/components/AddIntegrationModal";
|
||||
import { timeSince } from "@/lib/time";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
@@ -1,8 +1,8 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { TIntegrationItem } from "@formbricks/types/integration";
|
||||
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
|
||||
import { AirtableWrapper } from "@/app/(app)/environments/[environmentId]/workspace/integrations/airtable/components/AirtableWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/workspace/integrations/lib/surveys";
|
||||
import { AirtableWrapper } from "@/app/(app)/environments/[environmentId]/project/integrations/airtable/components/AirtableWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/project/integrations/lib/surveys";
|
||||
import { getAirtableTables } from "@/lib/airtable/service";
|
||||
import { AIRTABLE_CLIENT_ID, WEBAPP_URL } from "@/lib/constants";
|
||||
import { getIntegrations } from "@/lib/integration/service";
|
||||
@@ -42,7 +42,7 @@ const Page = async (props) => {
|
||||
|
||||
return (
|
||||
<PageContentWrapper>
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/workspace/integrations`} />
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/project/integrations`} />
|
||||
<PageHeader pageTitle={t("environments.integrations.airtable.airtable_integration")} />
|
||||
<div className="h-[75vh] w-full">
|
||||
<AirtableWrapper
|
||||
@@ -12,13 +12,13 @@ import {
|
||||
} from "@formbricks/types/integration/google-sheet";
|
||||
import { TSurvey, TSurveyQuestionId } from "@formbricks/types/surveys/types";
|
||||
import { getTextContent } from "@formbricks/types/surveys/validation";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { getSpreadsheetNameByIdAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/google-sheets/actions";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { getSpreadsheetNameByIdAction } from "@/app/(app)/environments/[environmentId]/project/integrations/google-sheets/actions";
|
||||
import {
|
||||
constructGoogleSheetsUrl,
|
||||
extractSpreadsheetIdFromUrl,
|
||||
isValidGoogleSheetsUrl,
|
||||
} from "@/app/(app)/environments/[environmentId]/workspace/integrations/google-sheets/lib/util";
|
||||
} from "@/app/(app)/environments/[environmentId]/project/integrations/google-sheets/lib/util";
|
||||
import GoogleSheetLogo from "@/images/googleSheetsLogo.png";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { recallToHeadline } from "@/lib/utils/recall";
|
||||
@@ -266,7 +266,7 @@ export const AddIntegrationModal = ({
|
||||
<div className="space-y-4">
|
||||
<div>
|
||||
<Label htmlFor="Surveys">{t("common.questions")}</Label>
|
||||
<div className="mt-1 max-h-[15vh] overflow-x-hidden overflow-y-auto rounded-lg border border-slate-200">
|
||||
<div className="mt-1 max-h-[15vh] overflow-y-auto overflow-x-hidden rounded-lg border border-slate-200">
|
||||
<div className="grid content-center rounded-lg bg-slate-50 p-3 text-left text-sm text-slate-900">
|
||||
{surveyElements.map((question) => (
|
||||
<div key={question.id} className="my-1 flex items-center space-x-2">
|
||||
@@ -8,8 +8,8 @@ import {
|
||||
} from "@formbricks/types/integration/google-sheet";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/workspace/integrations/google-sheets/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/workspace/integrations/google-sheets/lib/google";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/project/integrations/google-sheets/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/project/integrations/google-sheets/lib/google";
|
||||
import googleSheetLogo from "@/images/googleSheetsLogo.png";
|
||||
import { ConnectIntegration } from "@/modules/ui/components/connect-integration";
|
||||
import { AddIntegrationModal } from "./AddIntegrationModal";
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
TIntegrationGoogleSheetsConfigData,
|
||||
} from "@formbricks/types/integration/google-sheet";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { timeSince } from "@/lib/time";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
@@ -10,7 +10,7 @@ const Loading = () => {
|
||||
<div className="mt-6 p-6">
|
||||
<GoBackButton />
|
||||
<div className="mb-6 text-right">
|
||||
<Button className="pointer-events-none animate-pulse cursor-not-allowed bg-slate-200 select-none">
|
||||
<Button className="pointer-events-none animate-pulse cursor-not-allowed select-none bg-slate-200">
|
||||
{t("environments.integrations.google_sheets.link_new_sheet")}
|
||||
</Button>
|
||||
</div>
|
||||
@@ -51,7 +51,7 @@ const Loading = () => {
|
||||
<div className="mt-0 h-4 w-24 animate-pulse rounded-full bg-slate-200"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-span-2 my-auto flex items-center justify-center text-center text-sm whitespace-nowrap text-slate-500">
|
||||
<div className="col-span-2 my-auto flex items-center justify-center whitespace-nowrap text-center text-sm text-slate-500">
|
||||
<div className="h-4 w-16 animate-pulse rounded-full bg-slate-200"></div>
|
||||
</div>
|
||||
<div className="text-center"></div>
|
||||
@@ -1,7 +1,7 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { TIntegrationGoogleSheets } from "@formbricks/types/integration/google-sheet";
|
||||
import { GoogleSheetWrapper } from "@/app/(app)/environments/[environmentId]/workspace/integrations/google-sheets/components/GoogleSheetWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/workspace/integrations/lib/surveys";
|
||||
import { GoogleSheetWrapper } from "@/app/(app)/environments/[environmentId]/project/integrations/google-sheets/components/GoogleSheetWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/project/integrations/lib/surveys";
|
||||
import {
|
||||
GOOGLE_SHEETS_CLIENT_ID,
|
||||
GOOGLE_SHEETS_CLIENT_SECRET,
|
||||
@@ -40,7 +40,7 @@ const Page = async (props) => {
|
||||
|
||||
return (
|
||||
<PageContentWrapper>
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/workspace/integrations`} />
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/project/integrations`} />
|
||||
<PageHeader pageTitle={t("environments.integrations.google_sheets.google_sheets_integration")} />
|
||||
<div className="h-[75vh] w-full">
|
||||
<GoogleSheetWrapper
|
||||
@@ -15,12 +15,12 @@ import {
|
||||
import { TSurveyElementTypeEnum } from "@formbricks/types/surveys/elements";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { getTextContent } from "@formbricks/types/surveys/validation";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import {
|
||||
ERRORS,
|
||||
TYPE_MAPPING,
|
||||
UNSUPPORTED_TYPES_BY_NOTION,
|
||||
} from "@/app/(app)/environments/[environmentId]/workspace/integrations/notion/constants";
|
||||
} from "@/app/(app)/environments/[environmentId]/project/integrations/notion/constants";
|
||||
import NotionLogo from "@/images/notion.png";
|
||||
import { structuredClone } from "@/lib/pollyfills/structuredClone";
|
||||
import { recallToHeadline } from "@/lib/utils/recall";
|
||||
@@ -6,7 +6,7 @@ import toast from "react-hot-toast";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TIntegrationNotion, TIntegrationNotionConfigData } from "@formbricks/types/integration/notion";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { timeSince } from "@/lib/time";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
@@ -9,8 +9,8 @@ import {
|
||||
} from "@formbricks/types/integration/notion";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { AddIntegrationModal } from "@/app/(app)/environments/[environmentId]/workspace/integrations/notion/components/AddIntegrationModal";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/workspace/integrations/notion/components/ManageIntegration";
|
||||
import { AddIntegrationModal } from "@/app/(app)/environments/[environmentId]/project/integrations/notion/components/AddIntegrationModal";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/project/integrations/notion/components/ManageIntegration";
|
||||
import notionLogo from "@/images/notion.png";
|
||||
import { ConnectIntegration } from "@/modules/ui/components/connect-integration";
|
||||
import { authorize } from "../lib/notion";
|
||||
@@ -10,7 +10,7 @@ const Loading = () => {
|
||||
<div className="mt-6 p-6">
|
||||
<GoBackButton />
|
||||
<div className="mb-6 text-right">
|
||||
<Button className="pointer-events-none animate-pulse cursor-not-allowed bg-slate-200 select-none">
|
||||
<Button className="pointer-events-none animate-pulse cursor-not-allowed select-none bg-slate-200">
|
||||
{t("environments.integrations.notion.link_database")}
|
||||
</Button>
|
||||
</div>
|
||||
@@ -48,7 +48,7 @@ const Loading = () => {
|
||||
<div className="mt-0 h-4 w-24 animate-pulse rounded-full bg-slate-200"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-span-2 my-auto flex items-center justify-center text-center text-sm whitespace-nowrap text-slate-500">
|
||||
<div className="col-span-2 my-auto flex items-center justify-center whitespace-nowrap text-center text-sm text-slate-500">
|
||||
<div className="h-4 w-16 animate-pulse rounded-full bg-slate-200"></div>
|
||||
</div>
|
||||
<div className="text-center"></div>
|
||||
@@ -1,7 +1,7 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { TIntegrationNotion, TIntegrationNotionDatabase } from "@formbricks/types/integration/notion";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/workspace/integrations/lib/surveys";
|
||||
import { NotionWrapper } from "@/app/(app)/environments/[environmentId]/workspace/integrations/notion/components/NotionWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/project/integrations/lib/surveys";
|
||||
import { NotionWrapper } from "@/app/(app)/environments/[environmentId]/project/integrations/notion/components/NotionWrapper";
|
||||
import {
|
||||
NOTION_AUTH_URL,
|
||||
NOTION_OAUTH_CLIENT_ID,
|
||||
@@ -2,7 +2,7 @@ import { TFunction } from "i18next";
|
||||
import Image from "next/image";
|
||||
import { redirect } from "next/navigation";
|
||||
import { TIntegrationType } from "@formbricks/types/integration";
|
||||
import { getWebhookCountBySource } from "@/app/(app)/environments/[environmentId]/workspace/integrations/lib/webhook";
|
||||
import { getWebhookCountBySource } from "@/app/(app)/environments/[environmentId]/project/integrations/lib/webhook";
|
||||
import ActivePiecesLogo from "@/images/activepieces.webp";
|
||||
import AirtableLogo from "@/images/airtableLogo.svg";
|
||||
import GoogleSheetsLogo from "@/images/googleSheetsLogo.png";
|
||||
@@ -79,7 +79,7 @@ const Page = async (props) => {
|
||||
disabled: isReadOnly,
|
||||
},
|
||||
{
|
||||
connectHref: `/environments/${params.environmentId}/workspace/integrations/webhooks`,
|
||||
connectHref: `/environments/${params.environmentId}/project/integrations/webhooks`,
|
||||
connectText: t("environments.integrations.manage_webhooks"),
|
||||
connectNewTab: false,
|
||||
docsHref: "https://formbricks.com/docs/xm-and-surveys/core-features/integrations/webhooks",
|
||||
@@ -93,7 +93,7 @@ const Page = async (props) => {
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
connectHref: `/environments/${params.environmentId}/workspace/integrations/google-sheets`,
|
||||
connectHref: `/environments/${params.environmentId}/project/integrations/google-sheets`,
|
||||
connectText: `${isGoogleSheetsIntegrationConnected ? t("common.manage") : t("common.connect")}`,
|
||||
connectNewTab: false,
|
||||
docsHref: "https://formbricks.com/docs/xm-and-surveys/core-features/integrations/google-sheets",
|
||||
@@ -107,7 +107,7 @@ const Page = async (props) => {
|
||||
disabled: isReadOnly,
|
||||
},
|
||||
{
|
||||
connectHref: `/environments/${params.environmentId}/workspace/integrations/airtable`,
|
||||
connectHref: `/environments/${params.environmentId}/project/integrations/airtable`,
|
||||
connectText: `${isAirtableIntegrationConnected ? t("common.manage") : t("common.connect")}`,
|
||||
connectNewTab: false,
|
||||
docsHref: "https://formbricks.com/docs/xm-and-surveys/core-features/integrations/airtable",
|
||||
@@ -121,7 +121,7 @@ const Page = async (props) => {
|
||||
disabled: isReadOnly,
|
||||
},
|
||||
{
|
||||
connectHref: `/environments/${params.environmentId}/workspace/integrations/slack`,
|
||||
connectHref: `/environments/${params.environmentId}/project/integrations/slack`,
|
||||
connectText: `${isSlackIntegrationConnected ? t("common.manage") : t("common.connect")}`,
|
||||
connectNewTab: false,
|
||||
docsHref: "https://formbricks.com/docs/xm-and-surveys/core-features/integrations/slack",
|
||||
@@ -163,7 +163,7 @@ const Page = async (props) => {
|
||||
disabled: isReadOnly,
|
||||
},
|
||||
{
|
||||
connectHref: `/environments/${params.environmentId}/workspace/integrations/notion`,
|
||||
connectHref: `/environments/${params.environmentId}/project/integrations/notion`,
|
||||
connectText: `${isNotionIntegrationConnected ? t("common.manage") : t("common.connect")}`,
|
||||
connectNewTab: false,
|
||||
docsHref: "https://formbricks.com/docs/xm-and-surveys/core-features/integrations/notion",
|
||||
@@ -196,7 +196,7 @@ const Page = async (props) => {
|
||||
docsHref: "https://formbricks.com/docs/app-surveys/quickstart",
|
||||
docsText: t("common.docs"),
|
||||
docsNewTab: true,
|
||||
connectHref: `/environments/${params.environmentId}/workspace/app-connection`,
|
||||
connectHref: `/environments/${params.environmentId}/project/app-connection`,
|
||||
connectText: t("common.connect"),
|
||||
connectNewTab: false,
|
||||
label: "Javascript SDK",
|
||||
@@ -209,7 +209,7 @@ const Page = async (props) => {
|
||||
|
||||
return (
|
||||
<PageContentWrapper>
|
||||
<PageHeader pageTitle={t("common.workspace_configuration")}>
|
||||
<PageHeader pageTitle={t("common.project_configuration")}>
|
||||
<ProjectConfigNavigation environmentId={params.environmentId} activeId="integrations" />
|
||||
</PageHeader>
|
||||
<div className="grid grid-cols-3 place-content-stretch gap-4 lg:grid-cols-3">
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
} from "@formbricks/types/integration/slack";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { getTextContent } from "@formbricks/types/surveys/validation";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import SlackLogo from "@/images/slacklogo.png";
|
||||
import { recallToHeadline } from "@/lib/utils/recall";
|
||||
import { getElementsFromBlocks } from "@/modules/survey/lib/client-utils";
|
||||
@@ -6,7 +6,7 @@ import toast from "react-hot-toast";
|
||||
import { Trans, useTranslation } from "react-i18next";
|
||||
import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/actions";
|
||||
import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/project/integrations/actions";
|
||||
import { timeSince } from "@/lib/time";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
@@ -6,10 +6,10 @@ import { TIntegrationItem } from "@formbricks/types/integration";
|
||||
import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
import { getSlackChannelsAction } from "@/app/(app)/environments/[environmentId]/workspace/integrations/slack/actions";
|
||||
import { AddChannelMappingModal } from "@/app/(app)/environments/[environmentId]/workspace/integrations/slack/components/AddChannelMappingModal";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/workspace/integrations/slack/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/workspace/integrations/slack/lib/slack";
|
||||
import { getSlackChannelsAction } from "@/app/(app)/environments/[environmentId]/project/integrations/slack/actions";
|
||||
import { AddChannelMappingModal } from "@/app/(app)/environments/[environmentId]/project/integrations/slack/components/AddChannelMappingModal";
|
||||
import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/project/integrations/slack/components/ManageIntegration";
|
||||
import { authorize } from "@/app/(app)/environments/[environmentId]/project/integrations/slack/lib/slack";
|
||||
import slackLogo from "@/images/slacklogo.png";
|
||||
import { ConnectIntegration } from "@/modules/ui/components/connect-integration";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { TIntegrationSlack } from "@formbricks/types/integration/slack";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/workspace/integrations/lib/surveys";
|
||||
import { SlackWrapper } from "@/app/(app)/environments/[environmentId]/workspace/integrations/slack/components/SlackWrapper";
|
||||
import { getSurveys } from "@/app/(app)/environments/[environmentId]/project/integrations/lib/surveys";
|
||||
import { SlackWrapper } from "@/app/(app)/environments/[environmentId]/project/integrations/slack/components/SlackWrapper";
|
||||
import { SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, WEBAPP_URL } from "@/lib/constants";
|
||||
import { getIntegrationByType } from "@/lib/integration/service";
|
||||
import { findMatchingLocale } from "@/lib/utils/locale";
|
||||
@@ -32,7 +32,7 @@ const Page = async (props) => {
|
||||
|
||||
return (
|
||||
<PageContentWrapper>
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/workspace/integrations`} />
|
||||
<GoBackButton url={`${WEBAPP_URL}/environments/${params.environmentId}/project/integrations`} />
|
||||
<PageHeader pageTitle={t("environments.integrations.slack.slack_integration")} />
|
||||
<div className="h-[75vh] w-full">
|
||||
<SlackWrapper
|
||||
@@ -21,7 +21,7 @@ const AccountSettingsLayout = async (props) => {
|
||||
}
|
||||
|
||||
if (!project) {
|
||||
throw new Error(t("common.workspace_not_found"));
|
||||
throw new Error(t("common.project_not_found"));
|
||||
}
|
||||
|
||||
if (!session) {
|
||||
|
||||
@@ -16,7 +16,7 @@ export const IntegrationsTip = ({ environmentId }: IntegrationsTipProps) => {
|
||||
<p className="text-sm">
|
||||
{t("environments.settings.notifications.need_slack_or_discord_notifications")}?
|
||||
<a
|
||||
href={`/environments/${environmentId}/workspace/integrations`}
|
||||
href={`/environments/${environmentId}/project/integrations`}
|
||||
className="ml-1 cursor-pointer text-sm underline">
|
||||
{t("environments.settings.notifications.use_the_integration")}
|
||||
</a>
|
||||
|
||||
@@ -47,13 +47,6 @@ export const OrganizationSettingsNavbar = ({
|
||||
current: pathname?.includes("/api-keys"),
|
||||
hidden: !isOwner,
|
||||
},
|
||||
{
|
||||
id: "domain",
|
||||
label: t("common.domain"),
|
||||
href: `/environments/${environmentId}/settings/domain`,
|
||||
current: pathname?.includes("/domain"),
|
||||
hidden: isFormbricksCloud,
|
||||
},
|
||||
{
|
||||
id: "billing",
|
||||
label: t("common.billing"),
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TSurveyStatus } from "@formbricks/types/surveys/types";
|
||||
import { IdBadge } from "@/modules/ui/components/id-badge";
|
||||
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table";
|
||||
|
||||
interface SurveyWithSlug {
|
||||
id: string;
|
||||
name: string;
|
||||
slug: string | null;
|
||||
status: TSurveyStatus;
|
||||
environment: {
|
||||
id: string;
|
||||
type: "production" | "development";
|
||||
project: {
|
||||
id: string;
|
||||
name: string;
|
||||
};
|
||||
};
|
||||
createdAt: Date;
|
||||
}
|
||||
|
||||
interface PrettyUrlsTableProps {
|
||||
surveys: SurveyWithSlug[];
|
||||
}
|
||||
|
||||
export const PrettyUrlsTable = ({ surveys }: PrettyUrlsTableProps) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const getEnvironmentBadgeColor = (type: string) => {
|
||||
return type === "production" ? "bg-green-100 text-green-800" : "bg-blue-100 text-blue-800";
|
||||
};
|
||||
|
||||
const tableHeaders = [
|
||||
{
|
||||
label: t("environments.settings.domain.survey_name"),
|
||||
key: "name",
|
||||
},
|
||||
{
|
||||
label: t("environments.settings.domain.workspace"),
|
||||
key: "project",
|
||||
},
|
||||
{
|
||||
label: t("environments.settings.domain.pretty_url"),
|
||||
key: "slug",
|
||||
},
|
||||
{
|
||||
label: t("common.environment"),
|
||||
key: "environment",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="overflow-hidden rounded-lg">
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableRow className="bg-slate-100">
|
||||
{tableHeaders.map((header) => (
|
||||
<TableHead key={header.key} className="font-medium text-slate-500">
|
||||
{header.label}
|
||||
</TableHead>
|
||||
))}
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody className="[&_tr:last-child]:border-b">
|
||||
{surveys.length === 0 && (
|
||||
<TableRow className="hover:bg-transparent">
|
||||
<TableCell colSpan={4} className="text-center text-slate-500">
|
||||
{t("environments.settings.domain.no_pretty_urls")}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
)}
|
||||
{surveys.map((survey) => (
|
||||
<TableRow key={survey.id} className="border-slate-200 hover:bg-transparent">
|
||||
<TableCell className="font-medium">
|
||||
<Link
|
||||
href={`/environments/${survey.environment.id}/surveys/${survey.id}/summary`}
|
||||
className="text-slate-900 hover:text-slate-700 hover:underline">
|
||||
{survey.name}
|
||||
</Link>
|
||||
</TableCell>
|
||||
<TableCell>{survey.environment.project.name}</TableCell>
|
||||
<TableCell>
|
||||
<IdBadge id={survey.slug ?? ""} />
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<span
|
||||
className={`rounded px-2 py-1 text-xs font-medium ${getEnvironmentBadgeColor(survey.environment.type)}`}>
|
||||
{survey.environment.type === "production"
|
||||
? t("common.production")
|
||||
: t("common.development")}
|
||||
</span>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -1,53 +0,0 @@
|
||||
import { notFound } from "next/navigation";
|
||||
import { IS_FORMBRICKS_CLOUD } from "@/lib/constants";
|
||||
import { getTranslate } from "@/lingodotdev/server";
|
||||
import { getEnvironmentAuth } from "@/modules/environments/lib/utils";
|
||||
import { getSurveysWithSlugsByOrganizationId } from "@/modules/survey/lib/slug";
|
||||
import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper";
|
||||
import { PageHeader } from "@/modules/ui/components/page-header";
|
||||
import { SettingsCard } from "../../components/SettingsCard";
|
||||
import { OrganizationSettingsNavbar } from "../components/OrganizationSettingsNavbar";
|
||||
import { PrettyUrlsTable } from "./components/pretty-urls-table";
|
||||
|
||||
const Page = async (props: { params: Promise<{ environmentId: string }> }) => {
|
||||
const params = await props.params;
|
||||
const t = await getTranslate();
|
||||
|
||||
if (IS_FORMBRICKS_CLOUD) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const { session, currentUserMembership, organization } = await getEnvironmentAuth(params.environmentId);
|
||||
|
||||
if (!session) {
|
||||
throw new Error(t("common.session_not_found"));
|
||||
}
|
||||
|
||||
const result = await getSurveysWithSlugsByOrganizationId(organization.id);
|
||||
if (!result.ok) {
|
||||
throw new Error(t("common.something_went_wrong"));
|
||||
}
|
||||
|
||||
const surveys = result.data;
|
||||
|
||||
return (
|
||||
<PageContentWrapper>
|
||||
<PageHeader pageTitle={t("environments.settings.general.organization_settings")}>
|
||||
<OrganizationSettingsNavbar
|
||||
environmentId={params.environmentId}
|
||||
isFormbricksCloud={IS_FORMBRICKS_CLOUD}
|
||||
membershipRole={currentUserMembership?.role}
|
||||
activeId="domain"
|
||||
/>
|
||||
</PageHeader>
|
||||
|
||||
<SettingsCard
|
||||
title={t("environments.settings.domain.title")}
|
||||
description={t("environments.settings.domain.description")}>
|
||||
<PrettyUrlsTable surveys={surveys} />
|
||||
</SettingsCard>
|
||||
</PageContentWrapper>
|
||||
);
|
||||
};
|
||||
|
||||
export default Page;
|
||||
@@ -39,7 +39,7 @@ const Page = async (props) => {
|
||||
onRequest: false,
|
||||
},
|
||||
{
|
||||
title: t("environments.workspace.languages.multi_language_surveys"),
|
||||
title: t("environments.project.languages.multi_language_surveys"),
|
||||
comingSoon: false,
|
||||
onRequest: false,
|
||||
},
|
||||
@@ -118,7 +118,7 @@ const Page = async (props) => {
|
||||
<div className="relative isolate mt-8 overflow-hidden rounded-lg bg-slate-900 px-3 pt-8 shadow-2xl sm:px-8 md:pt-12 lg:flex lg:gap-x-10 lg:px-12 lg:pt-0">
|
||||
<svg
|
||||
viewBox="0 0 1024 1024"
|
||||
className="absolute top-1/2 left-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||
className="absolute left-1/2 top-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||
aria-hidden="true">
|
||||
<circle
|
||||
cx={512}
|
||||
|
||||
@@ -21,7 +21,7 @@ const Layout = async (props) => {
|
||||
}
|
||||
|
||||
if (!project) {
|
||||
throw new Error(t("common.workspace_not_found"));
|
||||
throw new Error(t("common.project_not_found"));
|
||||
}
|
||||
|
||||
if (!session) {
|
||||
|
||||
@@ -27,7 +27,7 @@ export const EmptyAppSurveys = ({ environment }: TEmptyAppSurveysProps) => {
|
||||
{t("environments.surveys.summary.connect_your_website_or_app_with_formbricks_to_get_started")}
|
||||
</p>
|
||||
|
||||
<Link className="mt-2" href={`/environments/${environment.id}/workspace/app-connection`}>
|
||||
<Link className="mt-2" href={`/environments/${environment.id}/project/app-connection`}>
|
||||
<Button size="sm" className="flex w-[120px] justify-center">
|
||||
{t("common.connect")}
|
||||
</Button>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
||||
import {
|
||||
Code2Icon,
|
||||
Link2Icon,
|
||||
LinkIcon,
|
||||
MailIcon,
|
||||
QrCodeIcon,
|
||||
Settings,
|
||||
@@ -22,7 +22,6 @@ import { DynamicPopupTab } from "@/app/(app)/environments/[environmentId]/survey
|
||||
import { EmailTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/email-tab";
|
||||
import { LinkSettingsTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/link-settings-tab";
|
||||
import { PersonalLinksTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/personal-links-tab";
|
||||
import { PrettyUrlTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/pretty-url-tab";
|
||||
import { QRCodeTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/qr-code-tab";
|
||||
import { SocialMediaTab } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/social-media-tab";
|
||||
import { TabContainer } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/tab-container";
|
||||
@@ -81,13 +80,13 @@ export const ShareSurveyModal = ({
|
||||
componentType: React.ComponentType<unknown>;
|
||||
componentProps: unknown;
|
||||
disabled?: boolean;
|
||||
}[] = useMemo(() => {
|
||||
const tabs = [
|
||||
}[] = useMemo(
|
||||
() => [
|
||||
{
|
||||
id: ShareViaType.ANON_LINKS,
|
||||
type: LinkTabsType.SHARE_VIA,
|
||||
label: t("environments.surveys.share.anonymous_links.nav_title"),
|
||||
icon: Link2Icon,
|
||||
icon: LinkIcon,
|
||||
title: t("environments.surveys.share.anonymous_links.nav_title"),
|
||||
description: t("environments.surveys.share.anonymous_links.description"),
|
||||
componentType: AnonymousLinksTab,
|
||||
@@ -181,33 +180,22 @@ export const ShareSurveyModal = ({
|
||||
componentType: LinkSettingsTab,
|
||||
componentProps: { isReadOnly, locale: user.locale, isStorageConfigured },
|
||||
},
|
||||
{
|
||||
id: ShareSettingsType.PRETTY_URL,
|
||||
type: LinkTabsType.SHARE_SETTING,
|
||||
label: t("environments.surveys.share.pretty_url.title"),
|
||||
icon: Link2Icon,
|
||||
title: t("environments.surveys.share.pretty_url.title"),
|
||||
description: t("environments.surveys.share.pretty_url.description"),
|
||||
componentType: PrettyUrlTab,
|
||||
componentProps: { publicDomain, isReadOnly },
|
||||
},
|
||||
];
|
||||
|
||||
return isFormbricksCloud ? tabs.filter((tab) => tab.id !== ShareSettingsType.PRETTY_URL) : tabs;
|
||||
}, [
|
||||
t,
|
||||
survey,
|
||||
publicDomain,
|
||||
user.locale,
|
||||
surveyUrl,
|
||||
isReadOnly,
|
||||
environmentId,
|
||||
segments,
|
||||
isContactsEnabled,
|
||||
isFormbricksCloud,
|
||||
email,
|
||||
isStorageConfigured,
|
||||
]);
|
||||
],
|
||||
[
|
||||
t,
|
||||
survey,
|
||||
publicDomain,
|
||||
user.locale,
|
||||
surveyUrl,
|
||||
isReadOnly,
|
||||
environmentId,
|
||||
segments,
|
||||
isContactsEnabled,
|
||||
isFormbricksCloud,
|
||||
email,
|
||||
isStorageConfigured,
|
||||
]
|
||||
);
|
||||
|
||||
const getDefaultActiveId = useCallback(() => {
|
||||
if (survey.type !== "link") {
|
||||
|
||||
@@ -163,7 +163,7 @@ export const AppTab = () => {
|
||||
</AlertDescription>
|
||||
{!environment.appSetupCompleted && (
|
||||
<AlertButton asChild>
|
||||
<Link href={`/environments/${environment.id}/workspace/app-connection`}>
|
||||
<Link href={`/environments/${environment.id}/project/app-connection`}>
|
||||
{t("common.connect_formbricks")}
|
||||
</Link>
|
||||
</AlertButton>
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Input } from "@/modules/ui/components/input";
|
||||
|
||||
interface PrettyUrlInputProps {
|
||||
value: string;
|
||||
onChange: (value: string) => void;
|
||||
publicDomain: string;
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
export const PrettyUrlInput = ({ value, onChange, publicDomain, disabled = false }: PrettyUrlInputProps) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<div className="flex items-center overflow-hidden rounded-md border border-slate-300 bg-white">
|
||||
<span className="flex-shrink-0 border-r border-slate-300 bg-slate-50 px-3 py-2 text-sm text-slate-600">
|
||||
{publicDomain}/p/
|
||||
</span>
|
||||
<Input
|
||||
type="text"
|
||||
value={value}
|
||||
onChange={(e) => onChange(e.target.value.toLowerCase().replaceAll(/[^a-z0-9-]/g, ""))}
|
||||
placeholder={t("environments.surveys.share.pretty_url.slug_placeholder")}
|
||||
disabled={disabled}
|
||||
className="border-0 bg-white focus-visible:ring-0 focus-visible:ring-offset-0"
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -1,194 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import { Copy, Trash2 } from "lucide-react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import toast from "react-hot-toast";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useSurvey } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/context/survey-context";
|
||||
import { getFormattedErrorMessage } from "@/lib/utils/helper";
|
||||
import { removeSurveySlugAction, updateSurveySlugAction } from "@/modules/survey/slug/actions";
|
||||
import { Button } from "@/modules/ui/components/button";
|
||||
import { DeleteDialog } from "@/modules/ui/components/delete-dialog";
|
||||
import {
|
||||
FormControl,
|
||||
FormDescription,
|
||||
FormField,
|
||||
FormItem,
|
||||
FormLabel,
|
||||
FormProvider,
|
||||
} from "@/modules/ui/components/form";
|
||||
import { PrettyUrlInput } from "./pretty-url-input";
|
||||
|
||||
interface PrettyUrlTabProps {
|
||||
publicDomain: string;
|
||||
isReadOnly?: boolean;
|
||||
}
|
||||
|
||||
interface PrettyUrlFormData {
|
||||
slug: string;
|
||||
}
|
||||
|
||||
export const PrettyUrlTab = ({ publicDomain, isReadOnly = false }: PrettyUrlTabProps) => {
|
||||
const { t } = useTranslation();
|
||||
const router = useRouter();
|
||||
const { survey } = useSurvey();
|
||||
const [isEditing, setIsEditing] = useState(!survey.slug);
|
||||
const [showRemoveDialog, setShowRemoveDialog] = useState(false);
|
||||
const [isSubmitting, setIsSubmitting] = useState(false);
|
||||
|
||||
// Initialize form with current values - memoize to prevent re-initialization
|
||||
const initialFormData = useMemo(() => {
|
||||
return {
|
||||
slug: survey.slug || "",
|
||||
};
|
||||
}, [survey.slug]);
|
||||
|
||||
const form = useForm<PrettyUrlFormData>({
|
||||
defaultValues: initialFormData,
|
||||
});
|
||||
|
||||
const { handleSubmit, reset } = form;
|
||||
|
||||
// Sync isEditing state and form with survey.slug changes
|
||||
useEffect(() => {
|
||||
setIsEditing(!survey.slug);
|
||||
reset({ slug: survey.slug || "" });
|
||||
}, [survey.slug, reset]);
|
||||
|
||||
const onSubmit = async (data: PrettyUrlFormData) => {
|
||||
if (!data.slug.trim()) {
|
||||
toast.error(t("environments.surveys.share.pretty_url.slug_required"));
|
||||
return;
|
||||
}
|
||||
|
||||
setIsSubmitting(true);
|
||||
const result = await updateSurveySlugAction({
|
||||
surveyId: survey.id,
|
||||
slug: data.slug,
|
||||
});
|
||||
|
||||
if (result?.data) {
|
||||
if (result.data.ok) {
|
||||
toast.success(t("environments.surveys.share.pretty_url.save_success"));
|
||||
router.refresh();
|
||||
setIsEditing(false);
|
||||
} else {
|
||||
toast.error(result.data.error.message);
|
||||
}
|
||||
} else {
|
||||
const errorMessage = getFormattedErrorMessage(result);
|
||||
toast.error(errorMessage || "Failed to update slug");
|
||||
}
|
||||
setIsSubmitting(false);
|
||||
};
|
||||
|
||||
const handleEdit = () => {
|
||||
setIsEditing(true);
|
||||
};
|
||||
|
||||
const handleCancel = () => {
|
||||
reset({ slug: survey.slug || "" });
|
||||
setIsEditing(false);
|
||||
};
|
||||
|
||||
const handleRemove = async () => {
|
||||
setIsSubmitting(true);
|
||||
|
||||
const result = await removeSurveySlugAction({ surveyId: survey.id });
|
||||
|
||||
if (result?.data) {
|
||||
if (result.data.ok) {
|
||||
setShowRemoveDialog(false);
|
||||
reset({ slug: "" });
|
||||
router.refresh();
|
||||
setIsEditing(true);
|
||||
toast.success(t("environments.surveys.share.pretty_url.remove_success"));
|
||||
} else {
|
||||
toast.error(result.data.error.message);
|
||||
}
|
||||
} else {
|
||||
const errorMessage = getFormattedErrorMessage(result);
|
||||
toast.error(errorMessage || "Failed to remove slug");
|
||||
}
|
||||
setIsSubmitting(false);
|
||||
};
|
||||
|
||||
const handleCopyUrl = () => {
|
||||
if (!survey.slug) return;
|
||||
const prettyUrl = `${publicDomain}/p/${survey.slug}`;
|
||||
navigator.clipboard.writeText(prettyUrl);
|
||||
toast.success(t("common.copied_to_clipboard"));
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="px-1">
|
||||
<FormProvider {...form}>
|
||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-6">
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="slug"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>{t("environments.surveys.share.pretty_url.slug_label")}</FormLabel>
|
||||
<FormControl>
|
||||
<PrettyUrlInput
|
||||
value={field.value}
|
||||
onChange={field.onChange}
|
||||
publicDomain={publicDomain}
|
||||
disabled={isReadOnly || !isEditing}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormDescription>{t("environments.surveys.share.pretty_url.slug_help")}</FormDescription>
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<div className="flex gap-2">
|
||||
{isEditing ? (
|
||||
<>
|
||||
<Button type="submit" disabled={isReadOnly || isSubmitting}>
|
||||
{t("common.save")}
|
||||
</Button>
|
||||
{survey.slug && (
|
||||
<Button type="button" variant="secondary" onClick={handleCancel} disabled={isSubmitting}>
|
||||
{t("common.cancel")}
|
||||
</Button>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
<Button type="button" variant="secondary" onClick={handleEdit} disabled={isReadOnly}>
|
||||
{t("common.edit")}
|
||||
</Button>
|
||||
)}
|
||||
|
||||
{survey.slug && !isEditing && (
|
||||
<>
|
||||
<Button type="button" variant="default" onClick={handleCopyUrl} disabled={isReadOnly}>
|
||||
<Copy className="mr-2 h-4 w-4" />
|
||||
{t("common.copy")} URL
|
||||
</Button>
|
||||
<Button
|
||||
type="button"
|
||||
variant="destructive"
|
||||
onClick={() => setShowRemoveDialog(true)}
|
||||
disabled={isReadOnly}>
|
||||
<Trash2 className="mr-2 h-4 w-4" />
|
||||
{t("common.remove")}
|
||||
</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</form>
|
||||
</FormProvider>
|
||||
|
||||
<DeleteDialog
|
||||
open={showRemoveDialog}
|
||||
setOpen={setShowRemoveDialog}
|
||||
deleteWhat={t("environments.surveys.share.pretty_url.title")}
|
||||
onDelete={handleRemove}
|
||||
text={t("environments.surveys.share.pretty_url.remove_description")}></DeleteDialog>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -66,7 +66,7 @@ export const SuccessView: React.FC<SuccessViewProps> = ({
|
||||
className="relative flex flex-col items-center gap-3 rounded-lg border border-slate-100 bg-white p-4 text-center text-sm text-slate-900 hover:border-slate-200 md:p-8">
|
||||
<UserIcon className="h-8 w-8 stroke-1 text-slate-900" />
|
||||
{t("environments.surveys.summary.use_personal_links")}
|
||||
<Badge size="normal" type="success" className="absolute top-3 right-3" text={t("common.new")} />
|
||||
<Badge size="normal" type="success" className="absolute right-3 top-3" text={t("common.new")} />
|
||||
</button>
|
||||
<Link
|
||||
href={`/environments/${environmentId}/settings/notifications`}
|
||||
@@ -75,7 +75,7 @@ export const SuccessView: React.FC<SuccessViewProps> = ({
|
||||
{t("environments.surveys.summary.configure_alerts")}
|
||||
</Link>
|
||||
<Link
|
||||
href={`/environments/${environmentId}/workspace/integrations`}
|
||||
href={`/environments/${environmentId}/project/integrations`}
|
||||
className="flex flex-col items-center gap-3 rounded-lg border border-slate-100 bg-white p-4 text-center text-sm text-slate-900 hover:border-slate-200 md:p-8">
|
||||
<BlocksIcon className="h-8 w-8 stroke-1 text-slate-900" />
|
||||
{t("environments.surveys.summary.setup_integrations")}
|
||||
|
||||
@@ -12,7 +12,6 @@ export enum ShareViaType {
|
||||
|
||||
export enum ShareSettingsType {
|
||||
LINK_SETTINGS = "link-settings",
|
||||
PRETTY_URL = "pretty-url",
|
||||
}
|
||||
|
||||
export enum LinkTabsType {
|
||||
|
||||
@@ -64,7 +64,7 @@ export const GET = async (req: Request) => {
|
||||
const result = await createOrUpdateIntegration(environmentId, googleSheetIntegration);
|
||||
if (result) {
|
||||
return Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/google-sheets`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/google-sheets`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ export const GET = withV1ApiWrapper({
|
||||
await createOrUpdateIntegration(environmentId, airtableIntegrationInput);
|
||||
return {
|
||||
response: Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/airtable`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/airtable`
|
||||
),
|
||||
};
|
||||
} catch (error) {
|
||||
|
||||
@@ -87,14 +87,14 @@ export const GET = withV1ApiWrapper({
|
||||
if (result) {
|
||||
return {
|
||||
response: Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/notion`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/notion`
|
||||
),
|
||||
};
|
||||
}
|
||||
} else if (error) {
|
||||
return {
|
||||
response: Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/notion?error=${error}`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/notion?error=${error}`
|
||||
),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -94,14 +94,14 @@ export const GET = withV1ApiWrapper({
|
||||
if (result) {
|
||||
return {
|
||||
response: Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/slack`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/slack`
|
||||
),
|
||||
};
|
||||
}
|
||||
} else if (error) {
|
||||
return {
|
||||
response: Response.redirect(
|
||||
`${WEBAPP_URL}/environments/${environmentId}/workspace/integrations/slack?error=${error}`
|
||||
`${WEBAPP_URL}/environments/${environmentId}/project/integrations/slack?error=${error}`
|
||||
),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4915,6 +4915,5 @@ export const previewSurvey = (projectName: string, t: TFunction): TSurvey => {
|
||||
isBackButtonHidden: false,
|
||||
metadata: {},
|
||||
questions: [], // Required for build-time type checking (Zod defaults to [] at runtime)
|
||||
slug: null,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import { LinkSurveyNotFound } from "@/modules/survey/link/not-found";
|
||||
|
||||
export default function NotFound() {
|
||||
return <LinkSurveyNotFound />;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
import { notFound, redirect } from "next/navigation";
|
||||
import { IS_FORMBRICKS_CLOUD } from "@/lib/constants";
|
||||
import { getSurveyBySlug } from "@/modules/survey/lib/slug";
|
||||
|
||||
interface PrettyUrlPageProps {
|
||||
params: Promise<{ slug: string }>;
|
||||
searchParams: Promise<Record<string, string | string[] | undefined>>;
|
||||
}
|
||||
|
||||
export default async function PrettyUrlPage(props: PrettyUrlPageProps) {
|
||||
const { slug } = await props.params;
|
||||
const searchParams = await props.searchParams;
|
||||
|
||||
if (IS_FORMBRICKS_CLOUD) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const result = await getSurveyBySlug(slug);
|
||||
if (!result.ok || !result.data) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const survey = result.data;
|
||||
|
||||
// Preserve query params (suId, lang, etc.)
|
||||
const queryString = new URLSearchParams(
|
||||
Object.entries(searchParams).filter(([_, v]) => v !== undefined) as [string, string][]
|
||||
).toString();
|
||||
|
||||
const baseUrl = `/s/${survey.id}`;
|
||||
const redirectUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
|
||||
|
||||
redirect(redirectUrl);
|
||||
}
|
||||
@@ -66,7 +66,7 @@ const Page = async () => {
|
||||
|
||||
if (!firstProductionEnvironmentId) {
|
||||
if (isOwner || isManager) {
|
||||
return redirect(`/organizations/${userOrganizations[0].id}/workspaces/new/mode`);
|
||||
return redirect(`/organizations/${userOrganizations[0].id}/projects/new/mode`);
|
||||
} else {
|
||||
return redirect(`/organizations/${userOrganizations[0].id}/landing`);
|
||||
}
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
"zh-Hant-TW",
|
||||
"nl-NL",
|
||||
"es-ES",
|
||||
"sv-SE",
|
||||
"ru-RU"
|
||||
"sv-SE"
|
||||
]
|
||||
},
|
||||
"version": 1.8
|
||||
|
||||
@@ -94,9 +94,9 @@ checksums:
|
||||
common/add_filter: ed5d8e9bfcb05cd1e10e4c403befbae6
|
||||
common/add_logo: c8665aa9afd0d5a13528bdc96daefa53
|
||||
common/add_member: 11979625770516ca287e929381778e02
|
||||
common/add_new_workspace: 6571cc8952d3c9a017c51cb842965d57
|
||||
common/add_new_project: 80e83b2059d1f727d68919a93b55a397
|
||||
common/add_project: b9188094aece9060064ce9b03b393f74
|
||||
common/add_to_team: 81ea05d21e72679f58a5bc77f6077ba1
|
||||
common/add_workspace: 17b0856283b433b848ce9bf4c03c6ae5
|
||||
common/all: 5e2e93f8e2a5f315b6fecdd0a0e6f55f
|
||||
common/all_questions: e13634cf510cc6e89b65a6394ea96a21
|
||||
common/allow: 3e39cc5940255e6bff0fea95c817dd43
|
||||
@@ -121,7 +121,7 @@ checksums:
|
||||
common/choices: 8a7a77a71ec6eebc363c5dc0f8490a4d
|
||||
common/choose_environment: 5762cd499529815fc3e6a7feea39f90b
|
||||
common/choose_organization: a8f5db68012323bfbb1a0ad0fb194603
|
||||
common/choose_workspace: f9ed22d76c69cc75aa56cf3da3fa6320
|
||||
common/choose_project: e9db88b0ae67498478a1ecb523e50e71
|
||||
common/clear_all: 854be0c051e4a3491a2cdd9dd8c1b4d5
|
||||
common/clear_filters: 8f40ab5af527e4b190da94e7b6221379
|
||||
common/clear_selection: af5d720527735d4253e289400d29ec9e
|
||||
@@ -147,9 +147,9 @@ checksums:
|
||||
common/count_contacts: b1c413a4b06961b71b6aeee95d6775d7
|
||||
common/count_responses: 690118a456c01c5b4d437ae82b50b131
|
||||
common/create_new_organization: 51dae7b33143686ee218abf5bea764a5
|
||||
common/create_project: 606c39c41c8b42373ba02ddf2a928b6c
|
||||
common/create_segment: 9d8291cd4d778b53b73bbc84fd91c181
|
||||
common/create_survey: 1cfbba08d34876566d84b2960054a987
|
||||
common/create_workspace: 2e6718e79964ea5ce22d76c2189c77ca
|
||||
common/created: 6045b4ff97fb7dca19ebadfa2e34a700
|
||||
common/created_at: f98a3c3bc73494df9bbc14e4e47a018c
|
||||
common/created_by: 6775c2fa7d495fea48f1ad816daea93b
|
||||
@@ -160,7 +160,6 @@ checksums:
|
||||
common/delete: 8bcf303dd10a645b5baacb02b47d72c9
|
||||
common/description: e17686a22ffad04cc7bb70524ed4478b
|
||||
common/dev_env: e650911d5e19ba256358e0cda154c005
|
||||
common/development: 85211dbb918bda7a6e87649dcfc1b17a
|
||||
common/development_environment_banner: 90aa859c1f43a9c2d9fbc758853d0c20
|
||||
common/disable: 81b754fd7962e0bd9b6ba87f3972e7fc
|
||||
common/disallow: 144b91c92ed07f29ff362fa9edc2e4d0
|
||||
@@ -168,7 +167,6 @@ checksums:
|
||||
common/dismissed: f0e21b3fe28726c577a7238a63cc29c2
|
||||
common/docs: 1563fcb5ddb5037b0709ccd3dd384a92
|
||||
common/documentation: 1563fcb5ddb5037b0709ccd3dd384a92
|
||||
common/domain: 402d46965eacc3af4c5df92e53e95712
|
||||
common/download: 56b7d0834952b39ee394b44bd8179178
|
||||
common/draft: e8a92958ad300aacfe46c2bf6644927e
|
||||
common/duplicate: 27756566785c2b8463e21582c4bb619b
|
||||
@@ -178,7 +176,6 @@ checksums:
|
||||
common/ending_card: 16d30d3a36472159da8c2dbd374dfe22
|
||||
common/enter_url: 468c2276d0f2cb971ff5a47a20fa4b97
|
||||
common/enterprise_license: e81bf506f47968870c7bd07245648a0d
|
||||
common/environment: 0844e8dc1485339c8de066dc0a9bb6a1
|
||||
common/environment_not_found: 4d7610bdb55a8b5e6131bb5b08ce04c5
|
||||
common/environment_notice: 0a860e3fa89407726dd8a2083a6b7fd5
|
||||
common/error: 3c95bcb32c2104b99a46f5b3dd015248
|
||||
@@ -189,7 +186,7 @@ checksums:
|
||||
common/expand_rows: b6e06327cb8718dfd6651720843e4dad
|
||||
common/failed_to_copy_to_clipboard: de836a7d628d36c832809252f188f784
|
||||
common/failed_to_load_organizations: 512808a2b674c7c28bca73f8f91fd87e
|
||||
common/failed_to_load_workspaces: 6ee3448097394517dc605074cd4e6ea4
|
||||
common/failed_to_load_projects: 0bba9f9b2b38c189706a486a1bb134c3
|
||||
common/finish: ffa7a10f71182b48fefed7135bee24fa
|
||||
common/follow_these: 3a730b242bb17a3f95e01bf0dae86885
|
||||
common/formbricks_version: d9967c797f3e49ca0cae78bc0ebd19cb
|
||||
@@ -297,10 +294,17 @@ checksums:
|
||||
common/preview_survey: 7409e9c118e3e5d5f2a86201c2b354f2
|
||||
common/privacy: 7459744a63ef8af4e517a09024bd7c08
|
||||
common/product_manager: dfeadc96e6d3de22a884ee97974b505e
|
||||
common/production: 226e0ce83b49700bc1b1c08c4c3ed23a
|
||||
common/profile: d7878693f91303a438852d617f6d35df
|
||||
common/profile_id: 0ef1286cce9d47b148e9a09deccb6655
|
||||
common/progress: dd0200d5849ebb7d64c15098ae91d229
|
||||
common/project_configuration: 252b62ea7dbccf752837dcea3cc306c6
|
||||
common/project_creation_description: 2c488ade53bcd4f2bb68f4fd2479e135
|
||||
common/project_id: a61075236b7d84c0fd9ec257e93d193d
|
||||
common/project_name: dd546200ce6ed6eab0675a2324498b34
|
||||
common/project_name_placeholder: 8a9e30ab01666af13c44a73b82c37ec1
|
||||
common/project_not_found: be3b516c02b05553acb4ae338511f645
|
||||
common/project_permission_not_found: ace6b03f06bd14e884e4295c5022d61b
|
||||
common/projects: fe8af5cfb3c95cb35534872a325b225e
|
||||
common/question: 2a47e06b62410b16003c4979dee0099f
|
||||
common/question_id: d0c3672976c281411bdccf749faf5ffd
|
||||
common/questions: 38d08215fd7a8026077c7b64eea6bb59
|
||||
@@ -389,7 +393,7 @@ checksums:
|
||||
common/top_right: 241f95c923846911aaf13af6109333e5
|
||||
common/try_again: 33dd8820e743e35a66e6977f69e9d3b5
|
||||
common/type: f04471a7ddac844b9ad145eb9911ef75
|
||||
common/unlock_more_workspaces_with_a_higher_plan: fe1590075b855bb4306c9388b65143b0
|
||||
common/unlock_more_projects_with_a_higher_plan: 97975218b01024f3023f3f791fd11887
|
||||
common/update: 079fc039262fd31b10532929685c2d1b
|
||||
common/updated: 8aa8ff2dc2977ca4b269e80a513100b4
|
||||
common/updated_at: 8fdb85248e591254973403755dcc3724
|
||||
@@ -413,18 +417,10 @@ checksums:
|
||||
common/website_app_survey: 258579927ed3955dcc8e1cbd7f0df17f
|
||||
common/website_survey: 17513d25a07b6361768a15ec622b021b
|
||||
common/welcome_card: 76081ebd5b2e35da9b0f080323704ae7
|
||||
common/workspace_configuration: d0a5812d6a97d7724d565b1017c34387
|
||||
common/workspace_creation_description: aea2f480ba0c54c5cabac72c9c900ddf
|
||||
common/workspace_id: bafef925e1b57b52a69844fdf47aac3c
|
||||
common/workspace_name: 14c04a902a874ab5ddbe9cf369ef0414
|
||||
common/workspace_name_placeholder: 8a9e30ab01666af13c44a73b82c37ec1
|
||||
common/workspace_not_found: 038fb0aaf3570610f4377b9eaed13752
|
||||
common/workspace_permission_not_found: e94bdff8af51175c5767714f82bb4833
|
||||
common/workspaces: 8ba082a84aa35cf851af1cf874b853e2
|
||||
common/you: db2a4a796b70cc1430d1b21f6ffb6dcb
|
||||
common/you_are_downgraded_to_the_community_edition: e3ae56502ff787109cae0997519f628e
|
||||
common/you_are_not_authorised_to_perform_this_action: 49595693c5c119aa213bb7854ddac780
|
||||
common/you_have_reached_your_limit_of_workspace_limit: 54d754c3267036742f23fb05fd3fcc45
|
||||
common/you_have_reached_your_limit_of_project_limit: f0ee61ef349d94eeca4f1dd04d1db88d
|
||||
common/you_have_reached_your_monthly_miu_limit_of: ded62fc6842c707f62622386ca34f71a
|
||||
common/you_have_reached_your_monthly_response_limit_of: 3824db23ecc3dcd2b1787b98ccfdd5f9
|
||||
common/you_will_be_downgraded_to_the_community_edition_on_date: bff35b54c13e2c205dc4c19056261cc0
|
||||
@@ -450,12 +446,14 @@ checksums:
|
||||
emails/forgot_password_email_text: 5100fa2fe2180ded9cb2d89b4f77d2e0
|
||||
emails/hidden_field: 3ed5c58d0ed359e558cdf7bd33606d2d
|
||||
emails/imprint: c4e5f2a1994d3cc5896b200709cc499c
|
||||
emails/invite_accepted_email_heading: 80763c6e4585cd57fa58e4d2d82e6500
|
||||
emails/invite_accepted_email_heading: 6ff6dff269b0f1ac1b73912c9e344343
|
||||
emails/invite_accepted_email_subject: 4f5f2a68c98dd1dd01143fcae3be5562
|
||||
emails/invite_accepted_email_text: 48d792826ab9a97eed27599c17ec70d5
|
||||
emails/invite_accepted_email_text_par1: b27eadc4779c9fa477103d136a6acab9
|
||||
emails/invite_accepted_email_text_par2: c77209b510baf0415264fdb5ab8076a8
|
||||
emails/invite_email_button_label: 02099d40cd11e717c0431fa43e68272c
|
||||
emails/invite_email_heading: d9f9b18e4de575980de3cde3e4ed08bf
|
||||
emails/invite_email_text: 1499fa615105121a133440929b039a64
|
||||
emails/invite_email_heading: 6ff6dff269b0f1ac1b73912c9e344343
|
||||
emails/invite_email_text_par1: 70b976a3d4a5509f6d905f9f3f962ada
|
||||
emails/invite_email_text_par2: 14da6da9fdbc21a1cb38988abac7932d
|
||||
emails/invite_member_email_subject: 295e329b1642339dc7cc2b49a687e1f8
|
||||
emails/new_email_verification_text: b7f00f47d04afa9e872176d9933f2d93
|
||||
emails/number_variable: d4f2bbb1965c791cf9921a5112914f3f
|
||||
@@ -728,6 +726,130 @@ checksums:
|
||||
environments/integrations/webhooks/webhook_url_placeholder: 5f2f7c074f6797e1506e21ce865219c1
|
||||
environments/integrations/website_or_app_integration_description: d49af190ebc89de0d281bd1434bd4008
|
||||
environments/integrations/zapier_integration_description: b8304da62a2490eced5ae50038d34e39
|
||||
environments/project/api_keys/add_api_key: 3c7633bae18a6e19af7a5af12f9bc3da
|
||||
environments/project/api_keys/api_key: ce825fec5b3e1f8e27c45b1a63619985
|
||||
environments/project/api_keys/api_key_copied_to_clipboard: daeeac786ba09ffa650e206609b88f9c
|
||||
environments/project/api_keys/api_key_created: 8dbb2b60a719b0d120e774d6666c8c45
|
||||
environments/project/api_keys/api_key_deleted: 6b63d1a15bea4b41acdd8432e680751a
|
||||
environments/project/api_keys/api_key_label: 66e9effa26d3dccd76383eb858e18dd4
|
||||
environments/project/api_keys/api_key_security_warning: 8959f73972a79c27e4886c7a40e7842e
|
||||
environments/project/api_keys/api_key_updated: 0e03754eb33742b4ee8d5fdad64c9b3f
|
||||
environments/project/api_keys/delete_api_key_confirmation: b2f0342d4e55f0cb244fe121eeeb10a3
|
||||
environments/project/api_keys/duplicate_access: ca60857bc80758977bd9bb30e520f15c
|
||||
environments/project/api_keys/no_api_keys_yet: 829cc32ad4fb0bcafd67f07d50c5fba6
|
||||
environments/project/api_keys/no_env_permissions_found: 97ef49946f3ce15c2ad44dcfd2bce507
|
||||
environments/project/api_keys/organization_access: 96a92fa907b15e0c0e47e33cac15be88
|
||||
environments/project/api_keys/organization_access_description: 773dfeaf6ffbf34dd9a0a3d656a6d83c
|
||||
environments/project/api_keys/permissions: 2160be68b1d6b6577e64634e9feba2ed
|
||||
environments/project/api_keys/project_access: 2c9f8da3ee1ebc2a5fe45786097438ca
|
||||
environments/project/api_keys/secret: f041e5eb96121c8b4f2b8af7e0f83a9b
|
||||
environments/project/api_keys/unable_to_delete_api_key: 1fd76d9a22c5f5f8c241c4891fca8295
|
||||
environments/project/app-connection/app_connection: 778d2305e1a9c8efe91c2c7b4af37ae4
|
||||
environments/project/app-connection/app_connection_description: dde226414bd2265cbd0daf6635efcfdd
|
||||
environments/project/app-connection/cache_update_delay_description: 3368e4a8090b7684117a16c94f0c409c
|
||||
environments/project/app-connection/cache_update_delay_title: 60e4a0fcfbd8850bddf29b5c3f59550c
|
||||
environments/project/app-connection/environment_id: 3dba898b081c18cd4cae131765ef411f
|
||||
environments/project/app-connection/environment_id_description: 8b4a763d069b000cfa1a2025a13df80c
|
||||
environments/project/app-connection/formbricks_sdk_connected: 29e8a40ad6a7fdb5af5ee9451a70a9aa
|
||||
environments/project/app-connection/formbricks_sdk_not_connected: 557c534e665750978ba6edb0eacb428e
|
||||
environments/project/app-connection/formbricks_sdk_not_connected_description: 4ddbacae084238bd0cefeded0fe9dbb9
|
||||
environments/project/app-connection/how_to_setup: 3bad40037f280b47fe6418fcbeb4c717
|
||||
environments/project/app-connection/how_to_setup_description: 2ae5cd9456a8acd3986e3d3678e70ed2
|
||||
environments/project/app-connection/receiving_data: 9f2a48c0b0278861add70b526061264c
|
||||
environments/project/app-connection/recheck: f95f2bbe6990a123d60255c87bdd59f7
|
||||
environments/project/app-connection/sdk_connection_details: 89f2c169fd1604c1df5a834517f1eae1
|
||||
environments/project/app-connection/sdk_connection_details_description: d9b5d06776a139aef6fc8ed53d71bf0a
|
||||
environments/project/app-connection/setup_alert_description: 6d676044d01dc2147731ffab7df6c259
|
||||
environments/project/app-connection/setup_alert_title: 9561cca2b391e0df81e8a982921ff2bb
|
||||
environments/project/app-connection/webapp_url: d64d8cc3c4c4ecce780d94755f7e4de9
|
||||
environments/project/general/cannot_delete_only_project: 24751701a42d8b4d2ba6112a5f642bad
|
||||
environments/project/general/delete_project: e4a2a227105c4ec71e561ab1f140eb26
|
||||
environments/project/general/delete_project_confirmation: 54a4ee78867537e0244c7170453cdb3f
|
||||
environments/project/general/delete_project_name_includes_surveys_responses_people_and_more: 11e9ac5a799fbec22495f92f42c40d98
|
||||
environments/project/general/delete_project_settings_description: 74609281410279b8e0515c5649a3f616
|
||||
environments/project/general/error_saving_project_information: 0354e1db63bc495a3b03d1480618044c
|
||||
environments/project/general/only_owners_or_managers_can_delete_projects: fe5cc6941c53180b2938eaf2b1748e89
|
||||
environments/project/general/project_deleted_successfully: dbedf0f0739b822f3951de4aeb2fc26f
|
||||
environments/project/general/project_name_settings_description: 079c6380ad539543a9aa8772bc1b0fa2
|
||||
environments/project/general/project_name_updated_successfully: f95f70f4a49d451dc0441a51d05a3aa3
|
||||
environments/project/general/recontact_waiting_time: 0566dc710b4b9644e276e311b419c4c0
|
||||
environments/project/general/recontact_waiting_time_settings_description: 8922cde1f95777f9a2747fb4bed57ab5
|
||||
environments/project/general/this_action_cannot_be_undone: 3d8b13374ffd3cefc0f3f7ce077bd9c9
|
||||
environments/project/general/wait_x_days_before_showing_next_survey: d96228788d32ec23dc0d8c8ba77150a6
|
||||
environments/project/general/waiting_period_updated_successfully: fe21f3034e63ed079dc0f9b9b1dfdbdf
|
||||
environments/project/general/whats_your_project_called: 599816573dcb6e5042b69fb276ca942c
|
||||
environments/project/languages/add_language: bf0407850be7b8a56901533bceb4bc64
|
||||
environments/project/languages/alias: 87e592cc48d819d7fdcf4597c1c63e7a
|
||||
environments/project/languages/alias_tooltip: 0f681269a71d46a2d988eedaff31515a
|
||||
environments/project/languages/cannot_remove_language_warning: a21bb501338eacefb5cf013aa107f452
|
||||
environments/project/languages/conflict_between_identifier_and_alias: e1ebeb085c7f336bb17717765392cd9f
|
||||
environments/project/languages/conflict_between_selected_alias_and_another_language: 86aadd7491a620c979819be809a21fea
|
||||
environments/project/languages/delete_language_confirmation: 4f83321fed95d689f7ff3aa47a82ce68
|
||||
environments/project/languages/duplicate_language_or_language_id: 0e17e3794b24e2428ca6ffadae0d08f3
|
||||
environments/project/languages/edit_languages: c9d36f6b28557cc7d54e87c37dc18fdd
|
||||
environments/project/languages/identifier: 7d8ade6b85e96216bcd73adeeeeecd8c
|
||||
environments/project/languages/incomplete_translations: d82908b5725f18f5849c7876ad497ebc
|
||||
environments/project/languages/language: 277fd1a41cc237a437cd1d5e4a80463b
|
||||
environments/project/languages/language_deleted_successfully: 4a805d030491f3fe608d2371b0cfcd83
|
||||
environments/project/languages/languages_updated_successfully: 60de474c99c5059c0458cddd0b016c15
|
||||
environments/project/languages/multi_language_surveys: f4f98855fca2b6e9b72959247adb1bec
|
||||
environments/project/languages/multi_language_surveys_description: 58da8b76c9d0f4d39a315667113a40b9
|
||||
environments/project/languages/no_language_found: 8e3b7f1898d35075ba26f54c4cf9e7b8
|
||||
environments/project/languages/please_select_a_language: d1ed573816cea84641c55ef0d33652ff
|
||||
environments/project/languages/remove_language: 1a64563b0f37109f97b78eddd493e381
|
||||
environments/project/languages/remove_language_from_surveys_to_remove_it_from_project: 24770f0a77fdca2a2a79b3d1c7b36508
|
||||
environments/project/languages/search_items: b54b751c8b075200be579d6c8e58096b
|
||||
environments/project/languages/translate: 59f9803b27e2030ba7323ed239116cf7
|
||||
environments/project/look/add_background_color: 9be512ee1246e32d3958c56097d202d9
|
||||
environments/project/look/add_background_color_description: adb6fcb392862b3d0e9420d9b5405ddb
|
||||
environments/project/look/app_survey_placement: f09cddac6bbb77d4694df223c6edf6b6
|
||||
environments/project/look/app_survey_placement_settings_description: d81bcff7a866a2f83ff76936dbad4770
|
||||
environments/project/look/centered_modal_overlay_color: 1124ba61ee2ecb18a7175ff780dc3b60
|
||||
environments/project/look/email_customization: ae399f381183a4fe0ffd41ab496b5d8f
|
||||
environments/project/look/email_customization_description: 5ccaf1769b2c39d7e87f3a08d056a374
|
||||
environments/project/look/enable_custom_styling: 4774d8fb009c27044aa0191ebcccdcc2
|
||||
environments/project/look/enable_custom_styling_description: c640ce557046d87b2944118dbc7aaffe
|
||||
environments/project/look/failed_to_remove_logo: c3b5aa87d945f7ea83e029d1ee90d310
|
||||
environments/project/look/failed_to_update_logo: f8c9f8fe947f559dc698a3439d73f0c5
|
||||
environments/project/look/formbricks_branding: 98dad6e31b03d235725c4d95065e36ff
|
||||
environments/project/look/formbricks_branding_hidden: fda9ba81f8d7fdaacf8dc1642034e145
|
||||
environments/project/look/formbricks_branding_settings_description: 5bb39206c6412c703895593f465a01f9
|
||||
environments/project/look/formbricks_branding_shown: 6c9861cf8f95e8a68c5c64b2630d96cd
|
||||
environments/project/look/logo_removed_successfully: f3a7f9d226affa91121e90ff360553aa
|
||||
environments/project/look/logo_settings_description: da155953f55cb44d0e563d9e740241aa
|
||||
environments/project/look/logo_updated_successfully: 170250f18062b79be6ac0481ec9d4368
|
||||
environments/project/look/logo_upload_failed: 342624c84a04b891846a5d37e00d2c9f
|
||||
environments/project/look/placement_updated_successfully: 65bdf0cfbf4f7e2430b4e7f5d4d377b5
|
||||
environments/project/look/remove_branding_with_a_higher_plan: ee049340ea6fdc454edfdb0c29eb554b
|
||||
environments/project/look/remove_logo: 7f0eb5e99706a338f3040cae5d724346
|
||||
environments/project/look/remove_logo_confirmation: 386603e03a70672ae515fa6c9b8d6ab4
|
||||
environments/project/look/replace_logo: b69a290f789ae2dfeb067c463482c824
|
||||
environments/project/look/reset_styling: f25db45ece8637d660bd9d455c9b0265
|
||||
environments/project/look/reset_styling_confirmation: 9ebc0403ebb8a51ed93ec2711db85796
|
||||
environments/project/look/show_formbricks_branding_in: 80fabfec9b34a13c0445d02b923216ed
|
||||
environments/project/look/show_powered_by_formbricks: 02b84acc3156de24e1aff8321d77603f
|
||||
environments/project/look/styling_updated_successfully: b8b74b50dde95abcd498633e9d0c891f
|
||||
environments/project/look/theme: 21fe00b7a518089576fb83c08631107a
|
||||
environments/project/look/theme_settings_description: 9fc45322818c3774ab4a44ea14d7836e
|
||||
environments/project/tags/add: 87c4a663507f2bcbbf79934af8164e13
|
||||
environments/project/tags/add_tag: 2cfa04ceea966149f2b5d40d9c131141
|
||||
environments/project/tags/count: 9c5848662eb8024ddf360f7e4001a968
|
||||
environments/project/tags/delete_tag_confirmation: a9fb98064cd156242899643f3d2ef032
|
||||
environments/project/tags/manage_tags: 2761d558b82b6104befbc240ae2379c6
|
||||
environments/project/tags/manage_tags_description: ce7cc42da3646fba960502d7e4e49cd2
|
||||
environments/project/tags/merge: 95051c859b8778be51226b43be6f1075
|
||||
environments/project/tags/no_tag_found: 119c59a4367dfbd7f24a2f967d7f0f35
|
||||
environments/project/tags/search_tags: 35066dce3d12ce93705cb2f5c2ea317d
|
||||
environments/project/tags/tag: 924d12caa9981ef5859395382497d101
|
||||
environments/project/tags/tag_already_exists: 1337fd5cdd04311bfdca4e7538f0a4f3
|
||||
environments/project/tags/tag_deleted: 54fc251117cddad3ca42d10811ce0dde
|
||||
environments/project/tags/tag_updated: 6685fd5cc501b8fb2fb284aa22c2823e
|
||||
environments/project/tags/tags_merged: 544471de666f93fbb0ab600321d1e553
|
||||
environments/project/teams/manage_teams: d7b5f26335cea450c333832adbe0b6ad
|
||||
environments/project/teams/no_teams_found: fb6680d4b5b73731697b100713afb50d
|
||||
environments/project/teams/permission: cc2ed7274bd8267f9e0a10b079584d8b
|
||||
environments/project/teams/team_name: d1a5f99dbf503ca53f06b3a98b511d02
|
||||
environments/project/teams/team_settings_description: da32d77993f5c5c7547cdf3e1d3fc7d5
|
||||
environments/segments/add_filter_below: be9b9c51d4d61903e782fb37931d8905
|
||||
environments/segments/add_your_first_filter_to_get_started: 365f9fc1600e2e44e2502e9ad9fde46a
|
||||
environments/segments/cannot_delete_segment_used_in_surveys: 134200217852566d6743245006737093
|
||||
@@ -784,9 +906,9 @@ checksums:
|
||||
environments/settings/api_keys/add_permission: 4f0481d26a32aef6137ee6f18aaf8e89
|
||||
environments/settings/api_keys/api_keys_description: 42c2d587834d54f124b9541b32ff7133
|
||||
environments/settings/billing/1000_monthly_responses: e8625042bed54209770add138c27b3a5
|
||||
environments/settings/billing/1_workspace: 4528d3e5277b172ef7a42fee7e881781
|
||||
environments/settings/billing/1_project: 233cd44f2fe8aa28ef764b174494937e
|
||||
environments/settings/billing/2000_contacts: af340a4c9297a61b255af65c2a4ee688
|
||||
environments/settings/billing/3_workspaces: 3f76b2f62e426297db3c2942a10c22f8
|
||||
environments/settings/billing/3_projects: 45fc2a4b20b8b35db1bca34653553413
|
||||
environments/settings/billing/5000_monthly_responses: c2f4bf25658af916bbd8331d4bb045b3
|
||||
environments/settings/billing/7500_contacts: eb1344ca1ba3338101087deda33e3383
|
||||
environments/settings/billing/all_integrations: a607324ae2bd67640bf579f9e4092610
|
||||
@@ -799,8 +921,8 @@ checksums:
|
||||
environments/settings/billing/current_tier_limit: a6875905f376953b12fdf5ae8fc7e051
|
||||
environments/settings/billing/custom: fee41bfbe59e71721d8648e7a95ec9c5
|
||||
environments/settings/billing/custom_contacts_limit: 380f13656e3b9e1a6cb3fffd1a1cc263
|
||||
environments/settings/billing/custom_project_limit: 9b9cc824609c476947dfe5b2c39f99ca
|
||||
environments/settings/billing/custom_response_limit: 96ef34d587001a7b479f3f6f7c9e66dc
|
||||
environments/settings/billing/custom_workspace_limit: 3f6f7f901dfc245028ce938e3d9aa2c6
|
||||
environments/settings/billing/email_embedded_surveys: bb1f558f9061287666041c08384ad1d4
|
||||
environments/settings/billing/email_follow_ups: 0cc02dc14aa28ce94ca6153c306924e5
|
||||
environments/settings/billing/enterprise_description: 56832155245afde5f8366fbc97beefaa
|
||||
@@ -827,19 +949,13 @@ checksums:
|
||||
environments/settings/billing/team_access_roles: 1cc4af14e589f6c09ab92a4f21958049
|
||||
environments/settings/billing/unable_to_upgrade_plan: 50fc725609411d139e534c85eeb2879e
|
||||
environments/settings/billing/unlimited_miu: 29c3f5bd01c2a09fdf1d3601665ce90f
|
||||
environments/settings/billing/unlimited_projects: 830c43605aa450f5a412a8248830d95b
|
||||
environments/settings/billing/unlimited_responses: 25bd1cd99bc08c66b8d7d3380b2812e1
|
||||
environments/settings/billing/unlimited_surveys: 7d5766ee0b7ef632a8b36c90b121c0bd
|
||||
environments/settings/billing/unlimited_team_members: b73b1b6ec747f4c2f9cfcca9e883527d
|
||||
environments/settings/billing/unlimited_workspaces: f7433bc693ee6d177e76509277f5c173
|
||||
environments/settings/billing/upgrade: 63c3b52882e0d779859307d672c178c2
|
||||
environments/settings/billing/uptime_sla_99: 25ca4060e575e1a7eee47fceb5576d7c
|
||||
environments/settings/billing/website_surveys: f4d176cc66ffcc2abf44c0d5da1642e3
|
||||
environments/settings/domain/description: f0b4d8c96da816f793cf1f4fdfaade34
|
||||
environments/settings/domain/no_pretty_urls: 2a83d8e399d325fcd4e2db14e45b1a86
|
||||
environments/settings/domain/pretty_url: 10a4b387b6df844245fc842be29527e3
|
||||
environments/settings/domain/survey_name: 169f24df0e2f42254c5458f32eb7bf00
|
||||
environments/settings/domain/title: 2c3a2951a31218e8e73f07cda69ed5ff
|
||||
environments/settings/domain/workspace: b63ef0e99ee6f7fef6cbe4971ca6cf0f
|
||||
environments/settings/enterprise/audit_logs: c7efb33d09676938d07651774b067bf6
|
||||
environments/settings/enterprise/coming_soon: ee2b0671e00972773210c5be5a9ccb89
|
||||
environments/settings/enterprise/contacts_and_segments: 5795d9e89c0c10e1ddbbc6fc65b8d90f
|
||||
@@ -864,13 +980,13 @@ checksums:
|
||||
environments/settings/general/cannot_leave_only_organization: dd8463262e4299fef7ad73512225c55b
|
||||
environments/settings/general/copy_invite_link_to_clipboard: 7af7ad935428a3f9da6b96e2cd211af9
|
||||
environments/settings/general/create_new_organization: 51dae7b33143686ee218abf5bea764a5
|
||||
environments/settings/general/create_new_organization_description: 25d47fa089ae4ef3a963b46e903938c1
|
||||
environments/settings/general/create_new_organization_description: 6d84bf3eb69d09266e314caf75cb6e6c
|
||||
environments/settings/general/customize_email_with_a_higher_plan: 4a58f87cf38c821de2af140a6ad45e35
|
||||
environments/settings/general/delete_member_confirmation: a8ea6d216063fbbc8367ff428a5f2439
|
||||
environments/settings/general/delete_member_confirmation: d497f42203c1a77e99ccf805554e3ed7
|
||||
environments/settings/general/delete_organization: 9f4061cc92673693bb43bbae062051c9
|
||||
environments/settings/general/delete_organization_description: 578e51577840707a7845c9967d5d4010
|
||||
environments/settings/general/delete_organization_description: 8e4c8f44b192fd8cb370aadcad0f9c70
|
||||
environments/settings/general/delete_organization_warning: fcc75b900080d9700ad72ed985072711
|
||||
environments/settings/general/delete_organization_warning_1: ffa4e85d53abffc214c1dff559c0f605
|
||||
environments/settings/general/delete_organization_warning_1: e439bd92dcf74ea2c18f2bd9c599b3f4
|
||||
environments/settings/general/delete_organization_warning_2: 4983371688c70c711b9b04d1e92b9ea8
|
||||
environments/settings/general/delete_organization_warning_3: 2ddf440095276a33077c0dad5e0d8382
|
||||
environments/settings/general/eliminate_branding_with_whitelabel: 2c7c61df65af823fee73f7ae79817b0c
|
||||
@@ -956,10 +1072,10 @@ checksums:
|
||||
environments/settings/profile/warning_cannot_delete_account: 07c25c3829149cd7171e7ad88229deac
|
||||
environments/settings/profile/warning_cannot_undo: dd1b2a59ff244b362d1d0d4eb1dbf7c6
|
||||
environments/settings/teams/add_members_description: 96e1e7125a0dfeaecc2c238eda3a216f
|
||||
environments/settings/teams/add_workspaces_description: f0f0cdd4d1032fbcb83d34a780bdfa52
|
||||
environments/settings/teams/add_projects_description: 4cc88a869322af51c11deb3ef638cce1
|
||||
environments/settings/teams/all_members_added: 0541be1777b5c838f2e039035488506c
|
||||
environments/settings/teams/all_workspaces_added: 50855f316bd80223b638b3cdc0685822
|
||||
environments/settings/teams/are_you_sure_you_want_to_delete_this_team: 9cf027aeee8059e692948f2da4302163
|
||||
environments/settings/teams/all_projects_added: dc0701f74b51236b3ffbbfbb614581d7
|
||||
environments/settings/teams/are_you_sure_you_want_to_delete_this_team: 35c990fa4aecc1851ae7bb333f54529f
|
||||
environments/settings/teams/billing_role_description: dfcfc3730c3dff59b983c5d9c3d6df12
|
||||
environments/settings/teams/bulk_invite: 9c237edb8782df589c25ae1723942bf7
|
||||
environments/settings/teams/contributor: 84febfd6836ddde20b1bd7b0661cc848
|
||||
@@ -975,18 +1091,18 @@ checksums:
|
||||
environments/settings/teams/manage: a3d40c0267b81ae53c9598eaeb05087d
|
||||
environments/settings/teams/manage_team: 4c52e636cfd1451a08179fb7a68042ab
|
||||
environments/settings/teams/manage_team_disabled: 2aaa0557b403a5bc657ec9e8b19ac5ac
|
||||
environments/settings/teams/manager_role_description: 020b8674cc330536239dafe5db087de6
|
||||
environments/settings/teams/manager_role_description: 39846863fa85ff8b1c6e4f354eb5018f
|
||||
environments/settings/teams/member: 1606dc30b369856b9dba1fe9aec425d2
|
||||
environments/settings/teams/member_role_description: 8c2447cb929850b41619988be0b9b1ac
|
||||
environments/settings/teams/member_role_info_message: 511f3b954486f9c8a3b043e498f21c69
|
||||
environments/settings/teams/member_role_description: 1c5deaece65798b74cc0d34525506c18
|
||||
environments/settings/teams/member_role_info_message: 0a276eef3c3b907d6f396ebfdc693b12
|
||||
environments/settings/teams/organization_role: 979b75fcc3696952e5922d659c839c10
|
||||
environments/settings/teams/owner_role_description: 8f577e6f9d1368fed4eba5a91ffc8cbf
|
||||
environments/settings/teams/please_fill_all_member_fields: 60e38d9906ec9a02a44d16c736bd9fe9
|
||||
environments/settings/teams/please_fill_all_workspace_fields: 190fc5d3c63cc5ec49d77f587e619ed8
|
||||
environments/settings/teams/please_fill_all_project_fields: 6712059df63c432ecd31f3c52b8e4d87
|
||||
environments/settings/teams/read: 2494ca23d10e5b6381eb271aceeb5270
|
||||
environments/settings/teams/read_write: 278a90dade128198d4c93ac00c345320
|
||||
environments/settings/teams/select_member: 7f4a38312aabbbe3fe92756b57bd5d75
|
||||
environments/settings/teams/select_workspace: 0ad989c23616c6a04faf23d9e63ed3f3
|
||||
environments/settings/teams/select_project: 6e4f4a24178660851d9ae0874706be9f
|
||||
environments/settings/teams/team_admin: 5df68214685738029af678ae1d5912bb
|
||||
environments/settings/teams/team_created_successfully: 45f83048fcabf466551144858a761eca
|
||||
environments/settings/teams/team_deleted_successfully: 972c86b0abe87f229f7bf1a691c0a253
|
||||
@@ -997,8 +1113,8 @@ checksums:
|
||||
environments/settings/teams/team_settings_description: 686f772f08d864d28cde23b900c9facf
|
||||
environments/settings/teams/team_updated_successfully: 5f769a5073aa0fcaad76f8ba73e17e97
|
||||
environments/settings/teams/teams: b63448c05270497973ac4407047dae02
|
||||
environments/settings/teams/teams_description: b6f5bf0a6ff49f78bad84ad3f8a5a871
|
||||
environments/settings/teams/unlock_teams_description: 0e5de01e914c0919aff3df797f9f7437
|
||||
environments/settings/teams/teams_description: 2ffe6c26ab1d55bb738d89d719e32ed2
|
||||
environments/settings/teams/unlock_teams_description: d57c682c7735dc8a12bb72b2255d4c7a
|
||||
environments/settings/teams/unlock_teams_title: 45b2a27d29d706418fd62540d34a19f3
|
||||
environments/settings/teams/upgrade_plan_notice_message: 305d6f94381482a8df6e72b74b097e99
|
||||
environments/settings/teams/you_are_a_member: 0d13738accc3f85fa99add823a24c102
|
||||
@@ -1251,7 +1367,7 @@ checksums:
|
||||
environments/surveys/edit/how_funky_do_you_want_your_cards_in_survey_type_derived_surveys: 3cb16b37510c01af20a80f51b598346e
|
||||
environments/surveys/edit/if_you_need_more_please: a7d208c283caf6b93800b809fca80768
|
||||
environments/surveys/edit/if_you_really_want_that_answer_ask_until_you_get_it: 31c18a8c7c578db2ba49eed663d1739f
|
||||
environments/surveys/edit/ignore_global_waiting_time: ea58ae981c2d3345b5a4e49e64be19ed
|
||||
environments/surveys/edit/ignore_global_waiting_time: 1e7f1465aeb6d26c325ad7f135b207a8
|
||||
environments/surveys/edit/ignore_global_waiting_time_description: 37d173a4d537622de40677389238d859
|
||||
environments/surveys/edit/image: 048ba7a239de0fbd883ade8558415830
|
||||
environments/surveys/edit/includes_all_of: ec72f90c0839d4c3bb518deb03894031
|
||||
@@ -1325,7 +1441,7 @@ checksums:
|
||||
environments/surveys/edit/options_used_in_logic_bulk_error: 1720e7a01a0bcb67c152cfe6a68c5355
|
||||
environments/surveys/edit/override_theme_with_individual_styles_for_this_survey: edffc97f5d3372419fe0444de0a5aa3f
|
||||
environments/surveys/edit/overwrite_global_waiting_time: 7bc23bd502b6bd048356b67acd956d9d
|
||||
environments/surveys/edit/overwrite_global_waiting_time_description: c5ffe497e889e955f983bc82dbe2da3f
|
||||
environments/surveys/edit/overwrite_global_waiting_time_description: 795cf6e93d4c01d2e43aa0ebab601c6e
|
||||
environments/surveys/edit/overwrite_placement: d7278be243e52c5091974e0fc4a7c342
|
||||
environments/surveys/edit/overwrite_survey_logo: a89cb566dfcc1559446abd8b830c84ed
|
||||
environments/surveys/edit/overwrite_the_global_placement_of_the_survey: 874075712254b1ce92e099d89f675a48
|
||||
@@ -1395,8 +1511,8 @@ checksums:
|
||||
environments/surveys/edit/required: 04d7fb6f37ffe0a6ca97d49e2a8b6eb5
|
||||
environments/surveys/edit/reset_to_theme_styles: f9edc3970ec23d6c4d2d7accc292ef3a
|
||||
environments/surveys/edit/reset_to_theme_styles_main_text: d86fb2213d3b2efbd0361526dc6cb27b
|
||||
environments/surveys/edit/respect_global_waiting_time: e5d80593318c28a25147c2d52ac8e46d
|
||||
environments/surveys/edit/respect_global_waiting_time_description: 6fb317d929507487e76d9b536245c4e8
|
||||
environments/surveys/edit/respect_global_waiting_time: 850e7e64ec890c591b2d07741ef26e11
|
||||
environments/surveys/edit/respect_global_waiting_time_description: 5235fee102d619cb391c5aa2c75b61be
|
||||
environments/surveys/edit/response_limit_can_t_be_set_to_0: 278664873ee3b1046dbcb58848efc12a
|
||||
environments/surveys/edit/response_limit_needs_to_exceed_number_of_received_responses: 9a9c223c0918ded716ddfaa84fbaa8d9
|
||||
environments/surveys/edit/response_limits_redirections_and_more: e4f1cf94e56ad0e1b08701158d688802
|
||||
@@ -1491,12 +1607,12 @@ checksums:
|
||||
environments/surveys/edit/visibility_and_recontact_description: 2969ab679e1f6111dd96e95cee26e219
|
||||
environments/surveys/edit/wait: 014d18ade977bf08d75b995076596708
|
||||
environments/surveys/edit/wait_a_few_seconds_after_the_trigger_before_showing_the_survey: 13d5521cf73be5afeba71f5db5847919
|
||||
environments/surveys/edit/waiting_time_across_surveys: 7ddc00d5a500a646bf5a8adb462248bc
|
||||
environments/surveys/edit/waiting_time_across_surveys_description: 0082297c799b909564cecab095dd14e2
|
||||
environments/surveys/edit/waiting_time_across_surveys: 5c5a7653d797c86c4008f13a40434ad8
|
||||
environments/surveys/edit/waiting_time_across_surveys_description: 1bbee2fee49f842056547c336f8fd788
|
||||
environments/surveys/edit/welcome_message: 986a434e3895c8ee0b267df95cc40051
|
||||
environments/surveys/edit/without_a_filter_all_of_your_users_can_be_surveyed: 451990569c61f25d01044cc45b1ce122
|
||||
environments/surveys/edit/you_have_not_created_a_segment_yet: c6658bd1cee9c5c957c675db044708dd
|
||||
environments/surveys/edit/you_need_to_have_two_or_more_languages_set_up_in_your_workspace_to_work_with_translations: 04241177ba989ef4c1d8c01e1a7b8541
|
||||
environments/surveys/edit/you_need_to_have_two_or_more_languages_set_up_in_your_project_to_work_with_translations: b12b28699e02ff9ba69bcbae838ba5da
|
||||
environments/surveys/edit/your_description_here_recall_information_with: 60f73a3cc9bdb9afea2166a7db8fd618
|
||||
environments/surveys/edit/your_question_here_recall_information_with: 6395bd54f5167830c9d662ba403da167
|
||||
environments/surveys/edit/your_web_app: 07234bed03a33330dc50ae9fcf0174f3
|
||||
@@ -1608,15 +1724,6 @@ checksums:
|
||||
environments/surveys/share/personal_links/upgrade_prompt_description: 09f394f5adf2d5a47352ceb80b43598b
|
||||
environments/surveys/share/personal_links/upgrade_prompt_title: 8068b8c5b27268ec4d804a9c7d153a8f
|
||||
environments/surveys/share/personal_links/work_with_segments: 45030e61077c88ae60f011b40566d5d1
|
||||
environments/surveys/share/pretty_url/description: 67173cfc7010ab044428a22f5a4bdaa2
|
||||
environments/surveys/share/pretty_url/remove_description: 7fb0afcb17447101ed4aa6aaffc6e136
|
||||
environments/surveys/share/pretty_url/remove_success: a4a08113d3d4c53889da7c12a0674473
|
||||
environments/surveys/share/pretty_url/save_success: e73e6e0adc93e0db723c765fbef7d82a
|
||||
environments/surveys/share/pretty_url/slug_help: 3c81237bfb50f41b9e0525e9a2754b9d
|
||||
environments/surveys/share/pretty_url/slug_label: b1cc25b6bf5032c75420aa862362808c
|
||||
environments/surveys/share/pretty_url/slug_placeholder: e9266ae26c4993ef285a5b1a927e52a5
|
||||
environments/surveys/share/pretty_url/slug_required: 9f1c28ff24a3507588c7c3710ae0b073
|
||||
environments/surveys/share/pretty_url/title: 10a4b387b6df844245fc842be29527e3
|
||||
environments/surveys/share/send_email/copy_embed_code: 04833baca1ed64dee8fc230462965d2d
|
||||
environments/surveys/share/send_email/description: 875935d1d039fc5dd2de7b2a25008796
|
||||
environments/surveys/share/send_email/email_preview_tab: 84458b39d3fd3bebb92de0e81d41b7da
|
||||
@@ -1745,130 +1852,6 @@ checksums:
|
||||
environments/surveys/templates/multiple_industries: 7dcb6f6d87feb08f8004dfb5a91e711f
|
||||
environments/surveys/templates/use_this_template: 69020c8b5a521b8f027616bb5c4b64dd
|
||||
environments/surveys/templates/uses_branching_logic: 7ac087d7067d342c17809d4ce497dfe0
|
||||
environments/workspace/api_keys/add_api_key: 3c7633bae18a6e19af7a5af12f9bc3da
|
||||
environments/workspace/api_keys/api_key: ce825fec5b3e1f8e27c45b1a63619985
|
||||
environments/workspace/api_keys/api_key_copied_to_clipboard: daeeac786ba09ffa650e206609b88f9c
|
||||
environments/workspace/api_keys/api_key_created: 8dbb2b60a719b0d120e774d6666c8c45
|
||||
environments/workspace/api_keys/api_key_deleted: 6b63d1a15bea4b41acdd8432e680751a
|
||||
environments/workspace/api_keys/api_key_label: 66e9effa26d3dccd76383eb858e18dd4
|
||||
environments/workspace/api_keys/api_key_security_warning: 8959f73972a79c27e4886c7a40e7842e
|
||||
environments/workspace/api_keys/api_key_updated: 0e03754eb33742b4ee8d5fdad64c9b3f
|
||||
environments/workspace/api_keys/delete_api_key_confirmation: b2f0342d4e55f0cb244fe121eeeb10a3
|
||||
environments/workspace/api_keys/duplicate_access: 7ac7ac5ba755ce94e6fc81afa5a21997
|
||||
environments/workspace/api_keys/no_api_keys_yet: 829cc32ad4fb0bcafd67f07d50c5fba6
|
||||
environments/workspace/api_keys/no_env_permissions_found: 97ef49946f3ce15c2ad44dcfd2bce507
|
||||
environments/workspace/api_keys/organization_access: 96a92fa907b15e0c0e47e33cac15be88
|
||||
environments/workspace/api_keys/organization_access_description: 773dfeaf6ffbf34dd9a0a3d656a6d83c
|
||||
environments/workspace/api_keys/permissions: 2160be68b1d6b6577e64634e9feba2ed
|
||||
environments/workspace/api_keys/secret: f041e5eb96121c8b4f2b8af7e0f83a9b
|
||||
environments/workspace/api_keys/unable_to_delete_api_key: 1fd76d9a22c5f5f8c241c4891fca8295
|
||||
environments/workspace/api_keys/workspace_access: b38cb73197ef5f5fa6653b88c68aa0bd
|
||||
environments/workspace/app-connection/app_connection: 778d2305e1a9c8efe91c2c7b4af37ae4
|
||||
environments/workspace/app-connection/app_connection_description: dde226414bd2265cbd0daf6635efcfdd
|
||||
environments/workspace/app-connection/cache_update_delay_description: 3368e4a8090b7684117a16c94f0c409c
|
||||
environments/workspace/app-connection/cache_update_delay_title: 60e4a0fcfbd8850bddf29b5c3f59550c
|
||||
environments/workspace/app-connection/environment_id: 3dba898b081c18cd4cae131765ef411f
|
||||
environments/workspace/app-connection/environment_id_description: 8b4a763d069b000cfa1a2025a13df80c
|
||||
environments/workspace/app-connection/formbricks_sdk_connected: 29e8a40ad6a7fdb5af5ee9451a70a9aa
|
||||
environments/workspace/app-connection/formbricks_sdk_not_connected: 557c534e665750978ba6edb0eacb428e
|
||||
environments/workspace/app-connection/formbricks_sdk_not_connected_description: 4ddbacae084238bd0cefeded0fe9dbb9
|
||||
environments/workspace/app-connection/how_to_setup: 3bad40037f280b47fe6418fcbeb4c717
|
||||
environments/workspace/app-connection/how_to_setup_description: 2ae5cd9456a8acd3986e3d3678e70ed2
|
||||
environments/workspace/app-connection/receiving_data: 9f2a48c0b0278861add70b526061264c
|
||||
environments/workspace/app-connection/recheck: f95f2bbe6990a123d60255c87bdd59f7
|
||||
environments/workspace/app-connection/sdk_connection_details: 89f2c169fd1604c1df5a834517f1eae1
|
||||
environments/workspace/app-connection/sdk_connection_details_description: d9b5d06776a139aef6fc8ed53d71bf0a
|
||||
environments/workspace/app-connection/setup_alert_description: 6d676044d01dc2147731ffab7df6c259
|
||||
environments/workspace/app-connection/setup_alert_title: 9561cca2b391e0df81e8a982921ff2bb
|
||||
environments/workspace/app-connection/webapp_url: d64d8cc3c4c4ecce780d94755f7e4de9
|
||||
environments/workspace/general/cannot_delete_only_workspace: 853f32a75d92b06eaccc0d43d767c183
|
||||
environments/workspace/general/delete_workspace: 3badbc0f4b49644986fc19d8b2d8f317
|
||||
environments/workspace/general/delete_workspace_confirmation: 54a4ee78867537e0244c7170453cdb3f
|
||||
environments/workspace/general/delete_workspace_name_includes_surveys_responses_people_and_more: 11e9ac5a799fbec22495f92f42c40d98
|
||||
environments/workspace/general/delete_workspace_settings_description: 411ef100f167fc8fca64e833b6c0d030
|
||||
environments/workspace/general/error_saving_workspace_information: e7b8022785619ef34de1fb1630b3c476
|
||||
environments/workspace/general/only_owners_or_managers_can_delete_workspaces: 58da180cd2610210302d85a9896d80bd
|
||||
environments/workspace/general/recontact_waiting_time: eb6b91b5cc4eeb7213d991492372ee13
|
||||
environments/workspace/general/recontact_waiting_time_settings_description: 8922cde1f95777f9a2747fb4bed57ab5
|
||||
environments/workspace/general/this_action_cannot_be_undone: 3d8b13374ffd3cefc0f3f7ce077bd9c9
|
||||
environments/workspace/general/wait_x_days_before_showing_next_survey: d96228788d32ec23dc0d8c8ba77150a6
|
||||
environments/workspace/general/waiting_period_updated_successfully: fe21f3034e63ed079dc0f9b9b1dfdbdf
|
||||
environments/workspace/general/whats_your_workspace_called: bcc29ba97a90f656cf8f516d725ddc95
|
||||
environments/workspace/general/workspace_deleted_successfully: 5eb380fdb741034a479644b5e7547099
|
||||
environments/workspace/general/workspace_name_settings_description: d7fe4ab1709df12d540d7e57710fb4f0
|
||||
environments/workspace/general/workspace_name_updated_successfully: ea244cd17b6644e05dbc89374ad0687a
|
||||
environments/workspace/languages/add_language: bf0407850be7b8a56901533bceb4bc64
|
||||
environments/workspace/languages/alias: 87e592cc48d819d7fdcf4597c1c63e7a
|
||||
environments/workspace/languages/alias_tooltip: 0f681269a71d46a2d988eedaff31515a
|
||||
environments/workspace/languages/cannot_remove_language_warning: a21bb501338eacefb5cf013aa107f452
|
||||
environments/workspace/languages/conflict_between_identifier_and_alias: e1ebeb085c7f336bb17717765392cd9f
|
||||
environments/workspace/languages/conflict_between_selected_alias_and_another_language: 3df7377a54909e439e38ec76514e5439
|
||||
environments/workspace/languages/delete_language_confirmation: 4f83321fed95d689f7ff3aa47a82ce68
|
||||
environments/workspace/languages/duplicate_language_or_language_id: 0e17e3794b24e2428ca6ffadae0d08f3
|
||||
environments/workspace/languages/edit_languages: c9d36f6b28557cc7d54e87c37dc18fdd
|
||||
environments/workspace/languages/identifier: 7d8ade6b85e96216bcd73adeeeeecd8c
|
||||
environments/workspace/languages/incomplete_translations: d82908b5725f18f5849c7876ad497ebc
|
||||
environments/workspace/languages/language: 277fd1a41cc237a437cd1d5e4a80463b
|
||||
environments/workspace/languages/language_deleted_successfully: 4a805d030491f3fe608d2371b0cfcd83
|
||||
environments/workspace/languages/languages_updated_successfully: 60de474c99c5059c0458cddd0b016c15
|
||||
environments/workspace/languages/multi_language_surveys: f4f98855fca2b6e9b72959247adb1bec
|
||||
environments/workspace/languages/multi_language_surveys_description: 58da8b76c9d0f4d39a315667113a40b9
|
||||
environments/workspace/languages/no_language_found: 8e3b7f1898d35075ba26f54c4cf9e7b8
|
||||
environments/workspace/languages/please_select_a_language: d1ed573816cea84641c55ef0d33652ff
|
||||
environments/workspace/languages/remove_language: 1a64563b0f37109f97b78eddd493e381
|
||||
environments/workspace/languages/remove_language_from_surveys_to_remove_it_from_workspace: 61bc96f9db31a29a649cc9ecd684bc39
|
||||
environments/workspace/languages/search_items: b54b751c8b075200be579d6c8e58096b
|
||||
environments/workspace/languages/translate: 59f9803b27e2030ba7323ed239116cf7
|
||||
environments/workspace/look/add_background_color: 9be512ee1246e32d3958c56097d202d9
|
||||
environments/workspace/look/add_background_color_description: adb6fcb392862b3d0e9420d9b5405ddb
|
||||
environments/workspace/look/app_survey_placement: f09cddac6bbb77d4694df223c6edf6b6
|
||||
environments/workspace/look/app_survey_placement_settings_description: d81bcff7a866a2f83ff76936dbad4770
|
||||
environments/workspace/look/centered_modal_overlay_color: 1124ba61ee2ecb18a7175ff780dc3b60
|
||||
environments/workspace/look/email_customization: ae399f381183a4fe0ffd41ab496b5d8f
|
||||
environments/workspace/look/email_customization_description: 5ccaf1769b2c39d7e87f3a08d056a374
|
||||
environments/workspace/look/enable_custom_styling: 4774d8fb009c27044aa0191ebcccdcc2
|
||||
environments/workspace/look/enable_custom_styling_description: c640ce557046d87b2944118dbc7aaffe
|
||||
environments/workspace/look/failed_to_remove_logo: c3b5aa87d945f7ea83e029d1ee90d310
|
||||
environments/workspace/look/failed_to_update_logo: f8c9f8fe947f559dc698a3439d73f0c5
|
||||
environments/workspace/look/formbricks_branding: 98dad6e31b03d235725c4d95065e36ff
|
||||
environments/workspace/look/formbricks_branding_hidden: fda9ba81f8d7fdaacf8dc1642034e145
|
||||
environments/workspace/look/formbricks_branding_settings_description: 5bb39206c6412c703895593f465a01f9
|
||||
environments/workspace/look/formbricks_branding_shown: 6c9861cf8f95e8a68c5c64b2630d96cd
|
||||
environments/workspace/look/logo_removed_successfully: f3a7f9d226affa91121e90ff360553aa
|
||||
environments/workspace/look/logo_settings_description: da155953f55cb44d0e563d9e740241aa
|
||||
environments/workspace/look/logo_updated_successfully: 170250f18062b79be6ac0481ec9d4368
|
||||
environments/workspace/look/logo_upload_failed: 342624c84a04b891846a5d37e00d2c9f
|
||||
environments/workspace/look/placement_updated_successfully: 65bdf0cfbf4f7e2430b4e7f5d4d377b5
|
||||
environments/workspace/look/remove_branding_with_a_higher_plan: ee049340ea6fdc454edfdb0c29eb554b
|
||||
environments/workspace/look/remove_logo: 7f0eb5e99706a338f3040cae5d724346
|
||||
environments/workspace/look/remove_logo_confirmation: 386603e03a70672ae515fa6c9b8d6ab4
|
||||
environments/workspace/look/replace_logo: b69a290f789ae2dfeb067c463482c824
|
||||
environments/workspace/look/reset_styling: f25db45ece8637d660bd9d455c9b0265
|
||||
environments/workspace/look/reset_styling_confirmation: 9ebc0403ebb8a51ed93ec2711db85796
|
||||
environments/workspace/look/show_formbricks_branding_in: 80fabfec9b34a13c0445d02b923216ed
|
||||
environments/workspace/look/show_powered_by_formbricks: 02b84acc3156de24e1aff8321d77603f
|
||||
environments/workspace/look/styling_updated_successfully: b8b74b50dde95abcd498633e9d0c891f
|
||||
environments/workspace/look/theme: 21fe00b7a518089576fb83c08631107a
|
||||
environments/workspace/look/theme_settings_description: 9fc45322818c3774ab4a44ea14d7836e
|
||||
environments/workspace/tags/add: 87c4a663507f2bcbbf79934af8164e13
|
||||
environments/workspace/tags/add_tag: 2cfa04ceea966149f2b5d40d9c131141
|
||||
environments/workspace/tags/count: 9c5848662eb8024ddf360f7e4001a968
|
||||
environments/workspace/tags/delete_tag_confirmation: a9fb98064cd156242899643f3d2ef032
|
||||
environments/workspace/tags/manage_tags: 2761d558b82b6104befbc240ae2379c6
|
||||
environments/workspace/tags/manage_tags_description: ce7cc42da3646fba960502d7e4e49cd2
|
||||
environments/workspace/tags/merge: 95051c859b8778be51226b43be6f1075
|
||||
environments/workspace/tags/no_tag_found: 119c59a4367dfbd7f24a2f967d7f0f35
|
||||
environments/workspace/tags/search_tags: 35066dce3d12ce93705cb2f5c2ea317d
|
||||
environments/workspace/tags/tag: 924d12caa9981ef5859395382497d101
|
||||
environments/workspace/tags/tag_already_exists: 1337fd5cdd04311bfdca4e7538f0a4f3
|
||||
environments/workspace/tags/tag_deleted: 54fc251117cddad3ca42d10811ce0dde
|
||||
environments/workspace/tags/tag_updated: 6685fd5cc501b8fb2fb284aa22c2823e
|
||||
environments/workspace/tags/tags_merged: 544471de666f93fbb0ab600321d1e553
|
||||
environments/workspace/teams/manage_teams: d7b5f26335cea450c333832adbe0b6ad
|
||||
environments/workspace/teams/no_teams_found: fb6680d4b5b73731697b100713afb50d
|
||||
environments/workspace/teams/permission: cc2ed7274bd8267f9e0a10b079584d8b
|
||||
environments/workspace/teams/team_name: d1a5f99dbf503ca53f06b3a98b511d02
|
||||
environments/workspace/teams/team_settings_description: 52f91883b9ceb6de83efbf8efd4f11c0
|
||||
environments/xm-templates/ces: e2ea309b2f7f13257967b966c2fda1e9
|
||||
environments/xm-templates/ces_description: c8d9794dd17d5ab85a979f1b3e1bc935
|
||||
environments/xm-templates/csat: fdfc1dc6214cce661dcdc32a71d80337
|
||||
@@ -1882,28 +1865,28 @@ checksums:
|
||||
environments/xm-templates/nps_description: d116fc0e1e9f92f3d66cd83138254a84
|
||||
environments/xm-templates/smileys: 592b612bd314663f6f6f205886796706
|
||||
environments/xm-templates/smileys_description: 6670d8cd0d160c3456d2c27bcc3bf787
|
||||
organizations/landing/no_workspaces_warning_subtitle: 305578d27209f1c4f706fccd53559f52
|
||||
organizations/landing/no_workspaces_warning_title: c674555c5f11c93570b5d7f95a13b667
|
||||
organizations/workspaces/new/channel/channel_select_subtitle: debeb0acf03f9f7b8a6efee291a89dc6
|
||||
organizations/workspaces/new/channel/channel_select_title: a7f7e7f36b5fc36883111f5ad78417c4
|
||||
organizations/workspaces/new/channel/in_product_surveys: 4b9fc41da77c5e36437a0e30fa525de5
|
||||
organizations/workspaces/new/channel/in_product_surveys_description: 4e129633485ec5e07be88a897e7cab87
|
||||
organizations/workspaces/new/channel/link_and_email_surveys: a1136de7ba6ad6dd2d3c1cc4155332fe
|
||||
organizations/workspaces/new/channel/link_and_email_surveys_description: cac2165c355ae7cd69426f629cdbd75e
|
||||
organizations/workspaces/new/mode/formbricks_cx: 470561141475b57d371007842cc91d71
|
||||
organizations/workspaces/new/mode/formbricks_cx_description: 27fa1137df3551e5c054477db7263f54
|
||||
organizations/workspaces/new/mode/formbricks_surveys: eba2fce04ee68f02626e5509adf7d66a
|
||||
organizations/workspaces/new/mode/formbricks_surveys_description: 5d42ed40e5da85598a5ed80a724e2720
|
||||
organizations/workspaces/new/mode/what_are_you_here_for: 54f3c08ad6c63023288ee5d19cd8da3e
|
||||
organizations/workspaces/new/settings/brand_color: 84ddb5736deb9f5c081ffe4962a6c63e
|
||||
organizations/workspaces/new/settings/brand_color_description: 458aced4c827cacbb5c3d3fb091083ad
|
||||
organizations/workspaces/new/settings/create_new_team: 3f4d388a473f979d4bd366c3ef08e425
|
||||
organizations/workspaces/new/settings/team_description: 534ba98e256646074a03949daf85665d
|
||||
organizations/workspaces/new/settings/workspace_creation_failed: 5c6a0e087d481255a1b201c0287d0221
|
||||
organizations/workspaces/new/settings/workspace_name: 7002a32bc4ce3343ede2076b30649ff7
|
||||
organizations/workspaces/new/settings/workspace_name_description: 0885c4cd8cc8836e74b6ccdb5d25b43d
|
||||
organizations/workspaces/new/settings/workspace_settings_subtitle: 83a72b3e9c08f2936524fcd11b29421b
|
||||
organizations/workspaces/new/settings/workspace_settings_title: 00e42231ca647111d3288f57ad3ce53a
|
||||
organizations/landing/no_projects_warning_subtitle: cbfaf5c03dc2f66735379f1f3b72c313
|
||||
organizations/landing/no_projects_warning_title: 3e1a0b8b78dc4bc6ebbb3a2a94ffa4aa
|
||||
organizations/projects/new/channel/channel_select_subtitle: debeb0acf03f9f7b8a6efee291a89dc6
|
||||
organizations/projects/new/channel/channel_select_title: a7f7e7f36b5fc36883111f5ad78417c4
|
||||
organizations/projects/new/channel/in_product_surveys: 4b9fc41da77c5e36437a0e30fa525de5
|
||||
organizations/projects/new/channel/in_product_surveys_description: 4e129633485ec5e07be88a897e7cab87
|
||||
organizations/projects/new/channel/link_and_email_surveys: a1136de7ba6ad6dd2d3c1cc4155332fe
|
||||
organizations/projects/new/channel/link_and_email_surveys_description: cac2165c355ae7cd69426f629cdbd75e
|
||||
organizations/projects/new/mode/formbricks_cx: 470561141475b57d371007842cc91d71
|
||||
organizations/projects/new/mode/formbricks_cx_description: 27fa1137df3551e5c054477db7263f54
|
||||
organizations/projects/new/mode/formbricks_surveys: eba2fce04ee68f02626e5509adf7d66a
|
||||
organizations/projects/new/mode/formbricks_surveys_description: 5d42ed40e5da85598a5ed80a724e2720
|
||||
organizations/projects/new/mode/what_are_you_here_for: 54f3c08ad6c63023288ee5d19cd8da3e
|
||||
organizations/projects/new/settings/brand_color: 84ddb5736deb9f5c081ffe4962a6c63e
|
||||
organizations/projects/new/settings/brand_color_description: 458aced4c827cacbb5c3d3fb091083ad
|
||||
organizations/projects/new/settings/create_new_team: 3f4d388a473f979d4bd366c3ef08e425
|
||||
organizations/projects/new/settings/project_creation_failed: 493492e108675913b88c90b882b7401a
|
||||
organizations/projects/new/settings/project_name: 7002a32bc4ce3343ede2076b30649ff7
|
||||
organizations/projects/new/settings/project_name_description: 0885c4cd8cc8836e74b6ccdb5d25b43d
|
||||
organizations/projects/new/settings/project_settings_subtitle: 83a72b3e9c08f2936524fcd11b29421b
|
||||
organizations/projects/new/settings/project_settings_title: 00e42231ca647111d3288f57ad3ce53a
|
||||
organizations/projects/new/settings/team_description: 3e1ceed1fe4418f20c6090f2d610c8ee
|
||||
s/check_inbox_or_spam: dfaf193f2106045c1bd3f463984317a2
|
||||
s/completed: 98a9cd97b409933edf1991e7d022bea9
|
||||
s/create_your_own: 27976ec69029d6dd52d146a9b5765bc6
|
||||
|
||||
@@ -177,7 +177,6 @@ export const AVAILABLE_LOCALES: TUserLocale[] = [
|
||||
"zh-Hans-CN",
|
||||
"es-ES",
|
||||
"sv-SE",
|
||||
"ru-RU",
|
||||
];
|
||||
|
||||
// Billing constants
|
||||
|
||||
@@ -141,7 +141,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Engels (VS)",
|
||||
"es-ES": "Inglés (EE.UU.)",
|
||||
"sv-SE": "Engelska (USA)",
|
||||
"ru-RU": "Английский (США)",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -159,7 +158,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Duits",
|
||||
"es-ES": "Alemán",
|
||||
"sv-SE": "Tyska",
|
||||
"ru-RU": "Немецкий",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -177,7 +175,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Portugees (Brazilië)",
|
||||
"es-ES": "Portugués (Brasil)",
|
||||
"sv-SE": "Portugisiska (Brasilien)",
|
||||
"ru-RU": "Португальский (Бразилия)",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -195,7 +192,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Frans",
|
||||
"es-ES": "Francés",
|
||||
"sv-SE": "Franska",
|
||||
"ru-RU": "Французский",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -213,7 +209,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Chinees (Traditioneel)",
|
||||
"es-ES": "Chino (Tradicional)",
|
||||
"sv-SE": "Kinesiska (traditionell)",
|
||||
"ru-RU": "Китайский (традиционный)",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -231,7 +226,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Portugees (Portugal)",
|
||||
"es-ES": "Portugués (Portugal)",
|
||||
"sv-SE": "Portugisiska (Portugal)",
|
||||
"ru-RU": "Португальский (Португалия)",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -249,7 +243,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Roemeens",
|
||||
"es-ES": "Rumano",
|
||||
"sv-SE": "Rumänska",
|
||||
"ru-RU": "Румынский",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -267,7 +260,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Japans",
|
||||
"es-ES": "Japonés",
|
||||
"sv-SE": "Japanska",
|
||||
"ru-RU": "Японский",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -285,7 +277,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Chinees (Vereenvoudigd)",
|
||||
"es-ES": "Chino (Simplificado)",
|
||||
"sv-SE": "Kinesiska (förenklad)",
|
||||
"ru-RU": "Китайский (упрощенный)",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -303,7 +294,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Nederlands",
|
||||
"es-ES": "Neerlandés",
|
||||
"sv-SE": "Nederländska",
|
||||
"ru-RU": "Голландский",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -321,7 +311,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Spaans",
|
||||
"es-ES": "Español",
|
||||
"sv-SE": "Spanska",
|
||||
"ru-RU": "Испанский",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -339,7 +328,6 @@ export const appLanguages = [
|
||||
"nl-NL": "Zweeds",
|
||||
"es-ES": "Sueco",
|
||||
"sv-SE": "Svenska",
|
||||
"ru-RU": "Шведский",
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
@@ -267,7 +267,6 @@ export const mockSyncSurveyOutput: SurveyMock = {
|
||||
variables: [],
|
||||
showLanguageSwitch: null,
|
||||
metadata: {},
|
||||
slug: null,
|
||||
};
|
||||
|
||||
export const mockSurveyOutput: SurveyMock = {
|
||||
@@ -291,7 +290,6 @@ export const mockSurveyOutput: SurveyMock = {
|
||||
variables: [],
|
||||
showLanguageSwitch: null,
|
||||
...baseSurveyProperties,
|
||||
slug: null,
|
||||
};
|
||||
|
||||
export const createSurveyInput: TSurveyCreateInput = {
|
||||
@@ -321,7 +319,6 @@ export const updateSurveyInput: TSurvey = {
|
||||
followUps: [],
|
||||
...baseSurveyProperties,
|
||||
...commonMockProperties,
|
||||
slug: null,
|
||||
};
|
||||
|
||||
export const mockTransformedSurveyOutput = {
|
||||
|
||||
@@ -108,7 +108,6 @@ export const selectSurvey = {
|
||||
},
|
||||
},
|
||||
followUps: true,
|
||||
slug: true,
|
||||
} satisfies Prisma.SurveySelect;
|
||||
|
||||
export const checkTriggersValidity = (triggers: TSurvey["triggers"], actionClasses: ActionClass[]) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { formatDistance, intlFormat } from "date-fns";
|
||||
import { de, enUS, es, fr, ja, nl, pt, ptBR, ro, ru, sv, zhCN, zhTW } from "date-fns/locale";
|
||||
import { de, enUS, es, fr, ja, nl, pt, ptBR, ro, sv, zhCN, zhTW } from "date-fns/locale";
|
||||
import { TUserLocale } from "@formbricks/types/user";
|
||||
|
||||
export const convertDateString = (dateString: string | null) => {
|
||||
@@ -107,8 +107,6 @@ const getLocaleForTimeSince = (locale: TUserLocale) => {
|
||||
return zhCN;
|
||||
case "es-ES":
|
||||
return es;
|
||||
case "ru-RU":
|
||||
return ru;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -84,12 +84,9 @@ describe("Helper Utilities", () => {
|
||||
validationErrors: {
|
||||
name: { _errors: ["Name is required"] },
|
||||
email: { _errors: ["Email is invalid"] },
|
||||
password: { _errors: ["is too short"] },
|
||||
},
|
||||
};
|
||||
expect(getFormattedErrorMessage(result)).toBe(
|
||||
"Name is required\nEmail is invalid\npassword: is too short"
|
||||
);
|
||||
expect(getFormattedErrorMessage(result)).toBe("nameName is required\nemailEmail is invalid");
|
||||
});
|
||||
|
||||
test("returns empty string for undefined errors", () => {
|
||||
|
||||
@@ -27,12 +27,7 @@ export const getFormattedErrorMessage = (result): string => {
|
||||
message = Object.keys(errors || {})
|
||||
.map((key) => {
|
||||
if (key === "_errors") return errors[key].join(", ");
|
||||
const fieldError = errors?.[key]?._errors?.join(", ");
|
||||
if (key && fieldError?.toLowerCase().startsWith(key.toLowerCase())) {
|
||||
return fieldError;
|
||||
}
|
||||
const keyPrefix = key ? `${key}: ` : "";
|
||||
return `${keyPrefix}${fieldError}`;
|
||||
return `${key ? `${key}` : ""}${errors?.[key]?._errors?.join(", ")}`;
|
||||
})
|
||||
.join("\n");
|
||||
}
|
||||
|
||||
@@ -121,9 +121,9 @@
|
||||
"add_filter": "Filter hinzufügen",
|
||||
"add_logo": "Logo hinzufügen",
|
||||
"add_member": "Mitglied hinzufügen",
|
||||
"add_new_workspace": "Neues Projekt hinzufügen",
|
||||
"add_new_project": "Neues Projekt hinzufügen",
|
||||
"add_project": "Projekt hinzufügen",
|
||||
"add_to_team": "Zum Team hinzufügen",
|
||||
"add_workspace": "Projekt hinzufügen",
|
||||
"all": "Alle",
|
||||
"all_questions": "Alle Fragen",
|
||||
"allow": "erlauben",
|
||||
@@ -148,7 +148,7 @@
|
||||
"choices": "Entscheidungen",
|
||||
"choose_environment": "Umgebung auswählen",
|
||||
"choose_organization": "Organisation auswählen",
|
||||
"choose_workspace": "Projekt auswählen",
|
||||
"choose_project": "Projekt wählen",
|
||||
"clear_all": "Alles löschen",
|
||||
"clear_filters": "Filter löschen",
|
||||
"clear_selection": "Auswahl aufheben",
|
||||
@@ -171,12 +171,12 @@
|
||||
"copy": "Kopieren",
|
||||
"copy_code": "Code kopieren",
|
||||
"copy_link": "Link kopieren",
|
||||
"count_contacts": "{value, plural, one {{value} Kontakt} other {{value} Kontakte}}",
|
||||
"count_responses": "{value, plural, one {{value} Antwort} other {{value} Antworten}}",
|
||||
"count_contacts": "{value, plural, other {'{'value, plural,\none '{{#}' Kontakt'}'\nother '{{#}' Kontakte'}'\n'}'}}",
|
||||
"count_responses": "{value, plural, other {{count} Antworten}}",
|
||||
"create_new_organization": "Neue Organisation erstellen",
|
||||
"create_project": "Projekt erstellen",
|
||||
"create_segment": "Segment erstellen",
|
||||
"create_survey": "Umfrage erstellen",
|
||||
"create_workspace": "Projekt erstellen",
|
||||
"created": "Erstellt",
|
||||
"created_at": "Erstellt am",
|
||||
"created_by": "Erstellt von",
|
||||
@@ -187,7 +187,6 @@
|
||||
"delete": "Löschen",
|
||||
"description": "Beschreibung",
|
||||
"dev_env": "Entwicklungsumgebung",
|
||||
"development": "Entwicklung",
|
||||
"development_environment_banner": "Du bist in einer Entwicklungsumgebung. Richte sie ein, um Umfragen, Aktionen und Attribute zu testen.",
|
||||
"disable": "Deaktivieren",
|
||||
"disallow": "Nicht erlauben",
|
||||
@@ -195,7 +194,6 @@
|
||||
"dismissed": "Entlassen",
|
||||
"docs": "Dokumentation",
|
||||
"documentation": "Dokumentation",
|
||||
"domain": "Domain",
|
||||
"download": "Herunterladen",
|
||||
"draft": "Entwurf",
|
||||
"duplicate": "Duplikat",
|
||||
@@ -205,7 +203,6 @@
|
||||
"ending_card": "Abschluss-Karte",
|
||||
"enter_url": "URL eingeben",
|
||||
"enterprise_license": "Enterprise Lizenz",
|
||||
"environment": "Umgebung",
|
||||
"environment_not_found": "Umgebung nicht gefunden",
|
||||
"environment_notice": "Du befindest dich derzeit in der {environment}-Umgebung.",
|
||||
"error": "Fehler",
|
||||
@@ -216,7 +213,7 @@
|
||||
"expand_rows": "Zeilen erweitern",
|
||||
"failed_to_copy_to_clipboard": "Fehler beim Kopieren in die Zwischenablage",
|
||||
"failed_to_load_organizations": "Fehler beim Laden der Organisationen",
|
||||
"failed_to_load_workspaces": "Projekte konnten nicht geladen werden",
|
||||
"failed_to_load_projects": "Fehler beim Laden der Projekte",
|
||||
"finish": "Fertigstellen",
|
||||
"follow_these": "Folge diesen",
|
||||
"formbricks_version": "Formbricks Version",
|
||||
@@ -324,10 +321,17 @@
|
||||
"preview_survey": "Umfragevorschau",
|
||||
"privacy": "Datenschutz",
|
||||
"product_manager": "Produktmanager",
|
||||
"production": "Produktion",
|
||||
"profile": "Profil",
|
||||
"profile_id": "Profil-ID",
|
||||
"progress": "Fortschritt",
|
||||
"project_configuration": "Projekteinstellungen",
|
||||
"project_creation_description": "Organisieren Sie Umfragen in Projekten für eine bessere Zugriffskontrolle.",
|
||||
"project_id": "Projekt-ID",
|
||||
"project_name": "Projektname",
|
||||
"project_name_placeholder": "z.B. Formbricks",
|
||||
"project_not_found": "Projekt nicht gefunden",
|
||||
"project_permission_not_found": "Projekt-Berechtigung nicht gefunden",
|
||||
"projects": "Projekte",
|
||||
"question": "Frage",
|
||||
"question_id": "Frage-ID",
|
||||
"questions": "Fragen",
|
||||
@@ -416,7 +420,7 @@
|
||||
"top_right": "Oben rechts",
|
||||
"try_again": "Versuch's nochmal",
|
||||
"type": "Typ",
|
||||
"unlock_more_workspaces_with_a_higher_plan": "Schalten Sie mehr Projekte mit einem höheren Tarif frei.",
|
||||
"unlock_more_projects_with_a_higher_plan": "Schalte mehr Projekte mit einem höheren Plan frei.",
|
||||
"update": "Aktualisierung",
|
||||
"updated": "Aktualisiert",
|
||||
"updated_at": "Aktualisiert am",
|
||||
@@ -440,18 +444,10 @@
|
||||
"website_app_survey": "Website- & App-Umfrage",
|
||||
"website_survey": "Website-Umfrage",
|
||||
"welcome_card": "Willkommenskarte",
|
||||
"workspace_configuration": "Projektkonfiguration",
|
||||
"workspace_creation_description": "Organisieren Sie Umfragen in Projekten für eine bessere Zugriffskontrolle.",
|
||||
"workspace_id": "Projekt-ID",
|
||||
"workspace_name": "Projektname",
|
||||
"workspace_name_placeholder": "z. B. Formbricks",
|
||||
"workspace_not_found": "Projekt nicht gefunden",
|
||||
"workspace_permission_not_found": "Projektberechtigung nicht gefunden",
|
||||
"workspaces": "Projekte",
|
||||
"you": "Du",
|
||||
"you_are_downgraded_to_the_community_edition": "Du wurdest auf die Community Edition herabgestuft.",
|
||||
"you_are_not_authorised_to_perform_this_action": "Du bist nicht berechtigt, diese Aktion auszuführen.",
|
||||
"you_have_reached_your_limit_of_workspace_limit": "Sie haben Ihr Limit von {projectLimit} Workspaces erreicht.",
|
||||
"you_have_reached_your_limit_of_project_limit": "Du hast dein Limit von {projectLimit} Projekten erreicht.",
|
||||
"you_have_reached_your_monthly_miu_limit_of": "Du hast dein monatliches MIU-Limit erreicht",
|
||||
"you_have_reached_your_monthly_response_limit_of": "Du hast dein monatliches Antwortlimit erreicht",
|
||||
"you_will_be_downgraded_to_the_community_edition_on_date": "Du wirst am {date} auf die Community Edition herabgestuft."
|
||||
@@ -479,12 +475,14 @@
|
||||
"forgot_password_email_text": "Du hast einen Link angefordert, um dein Passwort zu ändern. Du kannst dies tun, indem Du auf den untenstehenden Link klickst:",
|
||||
"hidden_field": "Verstecktes Feld",
|
||||
"imprint": "Impressum",
|
||||
"invite_accepted_email_heading": "Hey {inviterName}",
|
||||
"invite_accepted_email_heading": "Hey",
|
||||
"invite_accepted_email_subject": "Du hast einen neuen Organisation-Mitglied!",
|
||||
"invite_accepted_email_text": "Nur zur Info: {inviteeName} hat deine Einladung angenommen. Viel Spaß bei der Zusammenarbeit!",
|
||||
"invite_accepted_email_text_par1": "Wollte dir nur Bescheid geben, dass",
|
||||
"invite_accepted_email_text_par2": "deine Einladung angenommen hat. Viel Spaß bei der Zusammenarbeit!",
|
||||
"invite_email_button_label": "Organisation beitreten",
|
||||
"invite_email_heading": "Hey {inviteeName}",
|
||||
"invite_email_text": "Dein Kollege {inviterName} hat dich eingeladen, bei Formbricks mitzumachen. Um die Einladung anzunehmen, klicke bitte auf den Link unten:",
|
||||
"invite_email_heading": "Hey",
|
||||
"invite_email_text_par1": "Dein Kollege",
|
||||
"invite_email_text_par2": "hat Dich eingeladen, Formbricks zu nutzen. Um die Einladung anzunehmen, klicke bitte auf den untenstehenden Link:",
|
||||
"invite_member_email_subject": "Du wurdest eingeladen, Formbricks zu nutzen!",
|
||||
"new_email_verification_text": "Um Ihre neue E-Mail-Adresse zu bestätigen, klicken Sie bitte auf die Schaltfläche unten:",
|
||||
"number_variable": "Zahlenvariable",
|
||||
@@ -608,7 +606,7 @@
|
||||
"contacts_table_refresh": "Kontakte aktualisieren",
|
||||
"contacts_table_refresh_success": "Kontakte erfolgreich aktualisiert",
|
||||
"delete_contact_confirmation": "Dies wird alle Umfrageantworten und Kontaktattribute löschen, die mit diesem Kontakt verbunden sind. Jegliche zielgerichtete Kommunikation und Personalisierung basierend auf den Daten dieses Kontakts gehen verloren.",
|
||||
"delete_contact_confirmation_with_quotas": "{value, plural, one {Dies wird alle Umfrageantworten und Kontaktattribute löschen, die mit diesem Kontakt verbunden sind. Jegliche zielgerichtete Kommunikation und Personalisierung basierend auf den Daten dieses Kontakts gehen verloren. Wenn dieser Kontakt Antworten hat, die zu den Umfragequoten zählen, werden die Quotenstände reduziert, aber die Quotenlimits bleiben unverändert.} other {Dies wird alle Umfrageantworten und Kontaktattribute löschen, die mit diesen Kontakten verbunden sind. Jegliche zielgerichtete Kommunikation und Personalisierung basierend auf den Daten dieses Kontakts gehen verloren. Wenn diesen Kontakten Antworten haben, die zu den Umfragequoten zählen, werden die Quotenstände reduziert, aber die Quotenlimits bleiben unverändert.}}",
|
||||
"delete_contact_confirmation_with_quotas": "{value, plural, other {Dies wird alle Umfrageantworten und Kontaktattribute löschen, die mit diesem Kontakt verbunden sind. Jegliche zielgerichtete Kommunikation und Personalisierung basierend auf den Daten dieses Kontakts gehen verloren. Wenn dieser Kontakt Antworten hat, die zu den Umfragequoten zählen, werden die Quotenstände reduziert, aber die Quotenlimits bleiben unverändert.}}",
|
||||
"generate_personal_link": "Persönlichen Link generieren",
|
||||
"generate_personal_link_description": "Wähle eine veröffentlichte Umfrage aus, um einen personalisierten Link für diesen Kontakt zu generieren.",
|
||||
"no_published_link_surveys_available": "Keine veröffentlichten Link-Umfragen verfügbar. Bitte veröffentliche zuerst eine Link-Umfrage.",
|
||||
@@ -777,6 +775,146 @@
|
||||
"website_or_app_integration_description": "Integriere Formbricks in deine Website oder App",
|
||||
"zapier_integration_description": "Integriere Formbricks mit über 5000 Apps über Zapier"
|
||||
},
|
||||
"project": {
|
||||
"api_keys": {
|
||||
"add_api_key": "API-Schlüssel hinzufügen",
|
||||
"api_key": "API-Schlüssel",
|
||||
"api_key_copied_to_clipboard": "API-Schlüssel in die Zwischenablage kopiert",
|
||||
"api_key_created": "API-Schlüssel erstellt",
|
||||
"api_key_deleted": "API-Schlüssel gelöscht",
|
||||
"api_key_label": "API-Schlüssel Label",
|
||||
"api_key_security_warning": "Aus Sicherheitsgründen wird der API-Schlüssel nur einmal nach der Erstellung angezeigt. Bitte kopiere ihn sofort an einen sicheren Ort.",
|
||||
"api_key_updated": "API-Schlüssel aktualisiert",
|
||||
"delete_api_key_confirmation": "Alle Anwendungen, die diesen Schlüssel verwenden, können nicht mehr auf Ihre Formbricks-Daten zugreifen.",
|
||||
"duplicate_access": "Doppelter Projektzugriff nicht erlaubt",
|
||||
"no_api_keys_yet": "Du hast noch keine API-Schlüssel",
|
||||
"no_env_permissions_found": "Keine Umgebungsberechtigungen gefunden",
|
||||
"organization_access": "Organisationszugang",
|
||||
"organization_access_description": "Wähle Lese- oder Schreibrechte für organisationsweite Ressourcen aus.",
|
||||
"permissions": "Berechtigungen",
|
||||
"project_access": "Projektzugriff",
|
||||
"secret": "Geheimnis",
|
||||
"unable_to_delete_api_key": "API-Schlüssel kann nicht gelöscht werden"
|
||||
},
|
||||
"app-connection": {
|
||||
"app_connection": "App-Verbindung",
|
||||
"app_connection_description": "Verbinde deine App oder Website mit Formbricks.",
|
||||
"cache_update_delay_description": "Wenn Sie Aktualisierungen an Umfragen, Kontakten, Aktionen oder anderen Daten vornehmen, kann es bis zu 1 Minute dauern, bis diese Änderungen in Ihrer lokalen App, die das Formbricks SDK ausführt, erscheinen.",
|
||||
"cache_update_delay_title": "Änderungen werden aufgrund von Caching nach etwa 1 Minute angezeigt",
|
||||
"environment_id": "Deine Umgebungs-ID",
|
||||
"environment_id_description": "Diese ID identifiziert eindeutig diese Formbricks Umgebung.",
|
||||
"formbricks_sdk_connected": "Formbricks SDK ist verbunden",
|
||||
"formbricks_sdk_not_connected": "Formbricks SDK ist noch nicht verbunden.",
|
||||
"formbricks_sdk_not_connected_description": "Füge das Formbricks SDK zu deiner Website oder App hinzu, um sie mit Formbricks zu verbinden",
|
||||
"how_to_setup": "Wie einrichten",
|
||||
"how_to_setup_description": "Befolge diese Schritte, um das Formbricks Widget in deiner App einzurichten.",
|
||||
"receiving_data": "Daten werden empfangen 💃🕺",
|
||||
"recheck": "Erneut prüfen",
|
||||
"sdk_connection_details": "SDK-Verbindungsdetails",
|
||||
"sdk_connection_details_description": "Deine eindeutige Umgebungs-ID und SDK-Verbindungs-URL zur Integration von Formbricks mit deiner Anwendung.",
|
||||
"setup_alert_description": "Befolge dieses Schritt-für-Schritt-Tutorial, um deine App oder Website in weniger als 5 Minuten zu verbinden.",
|
||||
"setup_alert_title": "Wie man verbindet",
|
||||
"webapp_url": "SDK-Verbindungs-URL"
|
||||
},
|
||||
"general": {
|
||||
"cannot_delete_only_project": "Dies ist dein einziges Projekt, es kann nicht gelöscht werden. Erstelle zuerst ein neues Projekt.",
|
||||
"delete_project": "Projekt löschen",
|
||||
"delete_project_confirmation": "Bist Du sicher, dass Du {projectName} löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"delete_project_name_includes_surveys_responses_people_and_more": "{projectName} löschen inkl. aller Umfragen, Antworten, Personen, Aktionen und Attribute.",
|
||||
"delete_project_settings_description": "Projekt mit allen Umfragen, Antworten, Personen, Aktionen und Attributen löschen. Dies kann nicht rückgängig gemacht werden.",
|
||||
"error_saving_project_information": "Fehler beim Speichern der Projektinformationen",
|
||||
"only_owners_or_managers_can_delete_projects": "Nur Eigentümer oder Manager können Projekte löschen",
|
||||
"project_deleted_successfully": "Projekt erfolgreich gelöscht",
|
||||
"project_name_settings_description": "Ändere den Namen deines Projekts.",
|
||||
"project_name_updated_successfully": "Projektname erfolgreich aktualisiert",
|
||||
"recontact_waiting_time": "Projektweite Wartezeit zwischen Umfragen",
|
||||
"recontact_waiting_time_settings_description": "Steuere, wie oft Nutzer in allen App-Umfragen eine Umfrage angezeigt bekommen können.",
|
||||
"this_action_cannot_be_undone": "Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"wait_x_days_before_showing_next_survey": "Warte X Tage, bevor die nächste Umfrage angezeigt wird:",
|
||||
"waiting_period_updated_successfully": "Wartezeit erfolgreich aktualisiert",
|
||||
"whats_your_project_called": "Wie heißt dein Projekt?"
|
||||
},
|
||||
"languages": {
|
||||
"add_language": "Sprache hinzufügen",
|
||||
"alias": "Alias",
|
||||
"alias_tooltip": "Das Alias ist ein alternativer Name, um die Sprache identifizieren (optional)",
|
||||
"cannot_remove_language_warning": "Du kannst diese Sprache nicht entfernen, da sie noch in folgenden Umfragen verwendet wird:",
|
||||
"conflict_between_identifier_and_alias": "Es gibt einen Konflikt zwischen der ID einer hinzugefügten Sprache und einem deiner Aliase. Aliase und IDs dürfen nicht identisch sein.",
|
||||
"conflict_between_selected_alias_and_another_language": "Es gibt einen Konflikt zwischen dem ausgewählten Alias und einer anderen Sprache, die diese ID hat. Bitte füge stattdessen die Sprache mit dieser ID zu deinem Projekt hinzu, um Unstimmigkeiten zu vermeiden.",
|
||||
"delete_language_confirmation": "Bist Du sicher, dass Du diese Sprache löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"duplicate_language_or_language_id": "Doppelte Sprache oder Sprach-ID",
|
||||
"edit_languages": "Sprachen bearbeiten",
|
||||
"identifier": "Kennung (ISO)",
|
||||
"incomplete_translations": "Unvollständige Übersetzungen",
|
||||
"language": "Sprache",
|
||||
"language_deleted_successfully": "Sprache erfolgreich gelöscht",
|
||||
"languages_updated_successfully": "Sprachen erfolgreich aktualisiert",
|
||||
"multi_language_surveys": "Mehrsprachige Umfragen",
|
||||
"multi_language_surveys_description": "Füge Sprachen hinzu, um mehrsprachige Umfragen zu erstellen.",
|
||||
"no_language_found": "Keine Sprache gefunden. Füge unten deine erste Sprache hinzu.",
|
||||
"please_select_a_language": "Bitte wähle eine Sprache aus",
|
||||
"remove_language": "Sprache entfernen",
|
||||
"remove_language_from_surveys_to_remove_it_from_project": "Bitte entferne die Sprache aus diesen Umfragen, um sie aus dem Projekt zu entfernen.",
|
||||
"search_items": "Artikel suchen",
|
||||
"translate": "übersetzen"
|
||||
},
|
||||
"look": {
|
||||
"add_background_color": "Hintergrundfarbe hinzufügen",
|
||||
"add_background_color_description": "Füge dem Logo eine Hintergrundfarbe hinzu.",
|
||||
"app_survey_placement": "Platzierung der Umfragen",
|
||||
"app_survey_placement_settings_description": "Ändere, wo Umfragen in deiner App oder Website angezeigt werden.",
|
||||
"centered_modal_overlay_color": "Hintergrundfarbe bei Modal-Ansicht",
|
||||
"email_customization": "E-Mail-Anpassung",
|
||||
"email_customization_description": "Ändere das Aussehen und das Gefühl der E-Mails, die Formbricks in deinem Namen sendet.",
|
||||
"enable_custom_styling": "Eigenes Styling aktivieren",
|
||||
"enable_custom_styling_description": "Erlaube Nutzern, dieses Styling im Umfrageditor zu überschreiben.",
|
||||
"failed_to_remove_logo": "Logo konnte nicht entfernt werden",
|
||||
"failed_to_update_logo": "Logo konnte nicht aktualisiert werden",
|
||||
"formbricks_branding": "Formbricks Branding",
|
||||
"formbricks_branding_hidden": "Formbricks Branding ist versteckt.",
|
||||
"formbricks_branding_settings_description": "Wir schätzen deine Unterstützung, aber verstehen, wenn Du sie ausschaltest.",
|
||||
"formbricks_branding_shown": "Formbricks Branding wird angezeigt.",
|
||||
"logo_removed_successfully": "Logo erfolgreich entfernt",
|
||||
"logo_settings_description": "Lade dein Firmenlogo hoch, um Umfragen zu branden.",
|
||||
"logo_updated_successfully": "Logo erfolgreich aktualisiert",
|
||||
"logo_upload_failed": "Logo Upload fehlgeschlagen. Bitte versuche es erneut.",
|
||||
"placement_updated_successfully": "Platzierung erfolgreich aktualisiert",
|
||||
"remove_branding_with_a_higher_plan": "Branding entfernen mit einem höheren Plan",
|
||||
"remove_logo": "Logo entfernen",
|
||||
"remove_logo_confirmation": "Bist Du sicher, dass Du das Logo entfernen möchtest?",
|
||||
"replace_logo": "Logo ersetzen",
|
||||
"reset_styling": "Styling zurücksetzen",
|
||||
"reset_styling_confirmation": "Bist Du sicher, dass Du das Styling auf die Standardeinstellungen zurücksetzen möchtest?",
|
||||
"show_formbricks_branding_in": "Formbricks Branding in {type} Umfragen anzeigen",
|
||||
"show_powered_by_formbricks": "Zeige 'Powered by Formbricks' Signatur",
|
||||
"styling_updated_successfully": "Styling erfolgreich aktualisiert",
|
||||
"theme": "Styling",
|
||||
"theme_settings_description": "Erstelle ein Styling für alle Umfragen. Du kannst eigenes Styling für jede Umfrage aktivieren."
|
||||
},
|
||||
"tags": {
|
||||
"add": "Hinzufügen",
|
||||
"add_tag": "Tag hinzufügen",
|
||||
"count": "zählen",
|
||||
"delete_tag_confirmation": "Bist Du sicher, dass Du diesen Tag löschen möchtest?",
|
||||
"manage_tags": "Tags verwalten",
|
||||
"manage_tags_description": "Zusammenführen und Antwort-Tags entfernen.",
|
||||
"merge": "Zusammenführen",
|
||||
"no_tag_found": "Kein Tag gefunden",
|
||||
"search_tags": "Such-Tags...",
|
||||
"tag": "Tag",
|
||||
"tag_already_exists": "Tag existiert bereits",
|
||||
"tag_deleted": "Tag gelöscht",
|
||||
"tag_updated": "Tag aktualisiert",
|
||||
"tags_merged": "Tags zusammengeführt"
|
||||
},
|
||||
"teams": {
|
||||
"manage_teams": "Teams verwalten",
|
||||
"no_teams_found": "Keine Teams gefunden",
|
||||
"permission": "Berechtigung",
|
||||
"team_name": "Teamname",
|
||||
"team_settings_description": "Teams und ihre Mitglieder können auf dieses Projekt und seine Umfragen zugreifen. Organisationsbesitzer und Manager können diesen Zugriff gewähren."
|
||||
}
|
||||
},
|
||||
"segments": {
|
||||
"add_filter_below": "Filter unten hinzufügen",
|
||||
"add_your_first_filter_to_get_started": "Füge deinen ersten Filter hinzu, um loszulegen",
|
||||
@@ -839,9 +977,9 @@
|
||||
},
|
||||
"billing": {
|
||||
"1000_monthly_responses": "1,000 monatliche Antworten",
|
||||
"1_workspace": "1 Projekt",
|
||||
"1_project": "1 Projekt",
|
||||
"2000_contacts": "2,000 Kontakte",
|
||||
"3_workspaces": "3 Projekte",
|
||||
"3_projects": "3 Projekte",
|
||||
"5000_monthly_responses": "5,000 monatliche Antworten",
|
||||
"7500_contacts": "7,500 Kontakte",
|
||||
"all_integrations": "Alle Integrationen",
|
||||
@@ -854,8 +992,8 @@
|
||||
"current_tier_limit": "Aktuelles Limit",
|
||||
"custom": "Benutzerdefiniert & Skalierung",
|
||||
"custom_contacts_limit": "Benutzerdefiniertes Kontaktlimit",
|
||||
"custom_project_limit": "Benutzerdefiniertes Projektlimit",
|
||||
"custom_response_limit": "Benutzerdefiniertes Antwortlimit",
|
||||
"custom_workspace_limit": "Individuelles Projektlimit",
|
||||
"email_embedded_surveys": "Eingebettete Umfragen in E-Mails",
|
||||
"email_follow_ups": "E-Mail Follow-ups",
|
||||
"enterprise_description": "Premium-Support und benutzerdefinierte Limits.",
|
||||
@@ -882,22 +1020,14 @@
|
||||
"team_access_roles": "Rollen für Teammitglieder",
|
||||
"unable_to_upgrade_plan": "Plan kann nicht aktualisiert werden",
|
||||
"unlimited_miu": "Unbegrenzte MIU",
|
||||
"unlimited_projects": "Unbegrenzte Projekte",
|
||||
"unlimited_responses": "Unbegrenzte Antworten",
|
||||
"unlimited_surveys": "Unbegrenzte Umfragen",
|
||||
"unlimited_team_members": "Unbegrenzte Teammitglieder",
|
||||
"unlimited_workspaces": "Unbegrenzte Projekte",
|
||||
"upgrade": "Upgrade",
|
||||
"uptime_sla_99": "Betriebszeit SLA (99%)",
|
||||
"website_surveys": "Website-Umfragen"
|
||||
},
|
||||
"domain": {
|
||||
"description": "Übersicht aller Umfragen mit Pretty URLs in Ihrer Organisation",
|
||||
"no_pretty_urls": "Noch keine Umfragen mit Pretty URLs konfiguriert.",
|
||||
"pretty_url": "Pretty URL",
|
||||
"survey_name": "Umfragename",
|
||||
"title": "Pretty URLs",
|
||||
"workspace": "Projekt"
|
||||
},
|
||||
"enterprise": {
|
||||
"audit_logs": "Audit Logs",
|
||||
"coming_soon": "Kommt bald",
|
||||
@@ -925,13 +1055,13 @@
|
||||
"cannot_leave_only_organization": "Du kannst diese Organisation nicht verlassen, da es deine einzige Organisation ist. Erstelle zuerst eine neue Organisation.",
|
||||
"copy_invite_link_to_clipboard": "Einladungslink in die Zwischenablage kopieren",
|
||||
"create_new_organization": "Neue Organisation erstellen",
|
||||
"create_new_organization_description": "Erstellen Sie eine neue Organisation, um eine andere Gruppe von Projekten zu verwalten.",
|
||||
"create_new_organization_description": "Erstelle eine neue Organisation, um weitere Projekte zu verwalten.",
|
||||
"customize_email_with_a_higher_plan": "E-Mail-Anpassung mit einem höheren Plan",
|
||||
"delete_member_confirmation": "Gelöschte Mitglieder verlieren den Zugriff auf alle Projekte und Umfragen Ihrer Organisation.",
|
||||
"delete_member_confirmation": "Gelöschte Mitglieder verlieren den Zugriff auf alle Projekte und Umfragen deiner Organisation.",
|
||||
"delete_organization": "Organisation löschen",
|
||||
"delete_organization_description": "Organisation mit allen Projekten einschließlich aller Umfragen, Antworten, Personen, Aktionen und Attribute löschen",
|
||||
"delete_organization_warning": "Bevor Du mit dem Löschen dieser Organisation fortfährst, sei dir bitte der folgenden Konsequenzen bewusst:",
|
||||
"delete_organization_warning_1": "Dauerhafte Entfernung aller mit dieser Organisation verknüpften Projekte.",
|
||||
"delete_organization_warning_1": "Dauerhafte Entfernung aller Projekte, die mit dieser Organisation verbunden sind.",
|
||||
"delete_organization_warning_2": "Diese Aktion kann nicht rückgängig gemacht werden. Wenn es weg ist, ist es weg.",
|
||||
"delete_organization_warning_3": "Bitte gib {organizationName} in das folgende Feld ein, um die endgültige Löschung dieser Organisation zu bestätigen:",
|
||||
"eliminate_branding_with_whitelabel": "Entferne Formbricks Branding und aktiviere zusätzliche White-Label-Anpassungsoptionen.",
|
||||
@@ -1023,10 +1153,10 @@
|
||||
},
|
||||
"teams": {
|
||||
"add_members_description": "Füge Mitglieder zum Team hinzu und bestimme ihre Rolle.",
|
||||
"add_workspaces_description": "Steuern Sie, auf welche Projekte die Teammitglieder zugreifen können.",
|
||||
"add_projects_description": "Kontrolliere, auf welche Projekte die Teammitglieder zugreifen können.",
|
||||
"all_members_added": "Alle Mitglieder zu diesem Team hinzugefügt.",
|
||||
"all_workspaces_added": "Alle Workspaces zu diesem Team hinzugefügt.",
|
||||
"are_you_sure_you_want_to_delete_this_team": "Möchten Sie dieses Team wirklich löschen? Dadurch wird auch der Zugriff auf alle Workspaces und Umfragen entfernt, die mit diesem Team verknüpft sind.",
|
||||
"all_projects_added": "Alle Projekte zu diesem Team hinzugefügt.",
|
||||
"are_you_sure_you_want_to_delete_this_team": "Sind Sie sicher, dass Sie dieses Team löschen möchten? Dadurch wird auch der Zugriff auf alle Projekte und Umfragen entfernt, die mit diesem Team verbunden sind.",
|
||||
"billing_role_description": "Haben nur Zugriff auf Abrechnungsinformationen.",
|
||||
"bulk_invite": "Sammel-Einladung",
|
||||
"contributor": "Mitwirkender",
|
||||
@@ -1042,18 +1172,18 @@
|
||||
"manage": "Verwalten",
|
||||
"manage_team": "Team verwalten",
|
||||
"manage_team_disabled": "Nur Organisationsbesitzer, Manager und Team-Admins können Teams verwalten.",
|
||||
"manager_role_description": "Manager können auf alle Workspaces zugreifen und Mitglieder hinzufügen oder entfernen.",
|
||||
"manager_role_description": "Manager können auf alle Projekte zugreifen und Mitglieder hinzufügen und entfernen.",
|
||||
"member": "Mitglied",
|
||||
"member_role_description": "Mitglieder können in ausgewählten Workspaces arbeiten.",
|
||||
"member_role_info_message": "Um neuen Mitgliedern Zugriff auf einen Workspace zu gewähren, fügen Sie sie bitte unten einem Team hinzu. Mit Teams können Sie verwalten, wer Zugriff auf welchen Workspace hat.",
|
||||
"member_role_description": "Mitglieder können in ausgewählten Projekten arbeiten.",
|
||||
"member_role_info_message": "Um neuen Mitgliedern Zugriff auf ein Projekt zu geben, füge sie bitte unten einem Team hinzu. Mit Teams kannst du steuern, wer auf welches Projekt zugreifen kann.",
|
||||
"organization_role": "Organisationsrolle",
|
||||
"owner_role_description": "Besitzer haben die volle Kontrolle über die Organisation.",
|
||||
"please_fill_all_member_fields": "Bitte fülle alle Felder aus, um ein neues Mitglied hinzuzufügen.",
|
||||
"please_fill_all_workspace_fields": "Bitte füllen Sie alle Felder aus, um einen neuen Workspace hinzuzufügen.",
|
||||
"please_fill_all_project_fields": "Bitte fülle alle Felder aus, um ein neues Projekt hinzuzufügen.",
|
||||
"read": "Lesen",
|
||||
"read_write": "Lesen & Schreiben",
|
||||
"select_member": "Mitglied auswählen",
|
||||
"select_workspace": "Workspace auswählen",
|
||||
"select_project": "Projekt auswählen",
|
||||
"team_admin": "Team-Admin",
|
||||
"team_created_successfully": "Team erfolgreich erstellt.",
|
||||
"team_deleted_successfully": "Team erfolgreich gelöscht.",
|
||||
@@ -1064,8 +1194,8 @@
|
||||
"team_settings_description": "Teammitglieder, Zugriffsrechte und mehr verwalten.",
|
||||
"team_updated_successfully": "Team erfolgreich aktualisiert",
|
||||
"teams": "Teams",
|
||||
"teams_description": "Weisen Sie Mitglieder Teams zu und gewähren Sie Teams Zugriff auf Workspaces.",
|
||||
"unlock_teams_description": "Verwalten Sie, welche Organisationsmitglieder Zugriff auf bestimmte Workspaces und Umfragen haben.",
|
||||
"teams_description": "Mitglieder in Teams einteilen und Teams Zugriff auf Projekte gewähren.",
|
||||
"unlock_teams_description": "Verwalten Sie, welche Organisationsmitglieder Zugriff auf bestimmte Projekte und Umfragen haben.",
|
||||
"unlock_teams_title": "Schalten Sie Teams mit einem höheren Plan frei.",
|
||||
"upgrade_plan_notice_message": "Freischalten von Organisationsrollen mit einem höheren Plan.",
|
||||
"you_are_a_member": "Du bist Mitglied"
|
||||
@@ -1322,7 +1452,7 @@
|
||||
"how_funky_do_you_want_your_cards_in_survey_type_derived_surveys": "Wie funky sollen deine Karten in {surveyTypeDerived} Umfragen sein",
|
||||
"if_you_need_more_please": "Wenn Du mehr brauchst, bitte",
|
||||
"if_you_really_want_that_answer_ask_until_you_get_it": "Weiterhin anzeigen, wenn ausgelöst, bis eine Antwort abgegeben wird.",
|
||||
"ignore_global_waiting_time": "Workspace-weite Wartezeit ignorieren",
|
||||
"ignore_global_waiting_time": "Projektweite Wartezeit ignorieren",
|
||||
"ignore_global_waiting_time_description": "Diese Umfrage kann angezeigt werden, wenn ihre Bedingungen erfüllt sind, auch wenn kürzlich eine andere Umfrage angezeigt wurde.",
|
||||
"image": "Bild",
|
||||
"includes_all_of": "Enthält alles von",
|
||||
@@ -1396,7 +1526,7 @@
|
||||
"options_used_in_logic_bulk_error": "Die folgenden Optionen werden in der Logik verwendet: {questionIndexes}. Bitte entferne sie zuerst aus der Logik.",
|
||||
"override_theme_with_individual_styles_for_this_survey": "Styling für diese Umfrage überschreiben.",
|
||||
"overwrite_global_waiting_time": "Benutzerdefinierte Wartezeit festlegen",
|
||||
"overwrite_global_waiting_time_description": "Überschreiben Sie die Workspace-Konfiguration nur für diese Umfrage.",
|
||||
"overwrite_global_waiting_time_description": "Die Projektkonfiguration nur für diese Umfrage überschreiben.",
|
||||
"overwrite_placement": "Platzierung überschreiben",
|
||||
"overwrite_survey_logo": "Benutzerdefiniertes Umfragelogo festlegen",
|
||||
"overwrite_the_global_placement_of_the_survey": "Platzierung für diese Umfrage überschreiben",
|
||||
@@ -1438,7 +1568,7 @@
|
||||
"edit_quota": "Bearbeite Quote",
|
||||
"end_survey_for_matching_participants": "Umfrage für passende Teilnehmer beenden",
|
||||
"inclusion_criteria": "Einschlusskriterien",
|
||||
"limit_must_be_greater_than_or_equal_to_the_number_of_responses": "{value, plural, one {Sie haben bereits {value} Antwort für dieses Kontingent, daher muss das Limit größer als {value} sein.} other {Sie haben bereits {value} Antworten für dieses Kontingent, daher muss das Limit größer als {value} sein.}}",
|
||||
"limit_must_be_greater_than_or_equal_to_the_number_of_responses": "{value, plural, other {Limit muss größer oder gleich der Anzahl der Antworten sein}}",
|
||||
"limited_to_x_responses": "Begrenzt auf {limit}",
|
||||
"new_quota": "Neues Kontingent",
|
||||
"quota_created_successfull_toast": "Kontingent erfolgreich erstellt",
|
||||
@@ -1468,8 +1598,8 @@
|
||||
"required": "Erforderlich",
|
||||
"reset_to_theme_styles": "Styling zurücksetzen",
|
||||
"reset_to_theme_styles_main_text": "Bist Du sicher, dass Du das Styling auf die Themenstile zurücksetzen möchtest? Dadurch wird jegliches benutzerdefinierte Styling entfernt.",
|
||||
"respect_global_waiting_time": "Workspace-weite Wartezeit verwenden",
|
||||
"respect_global_waiting_time_description": "Diese Umfrage folgt der in der Workspace-Konfiguration festgelegten Wartezeit. Sie wird nur angezeigt, wenn während dieses Zeitraums keine andere Umfrage erschienen ist.",
|
||||
"respect_global_waiting_time": "Projektweite Wartezeit verwenden",
|
||||
"respect_global_waiting_time_description": "Diese Umfrage folgt der in der Projektkonfiguration festgelegten Wartezeit. Sie wird nur angezeigt, wenn in diesem Zeitraum keine andere Umfrage erschienen ist.",
|
||||
"response_limit_can_t_be_set_to_0": "Das Antwortlimit kann nicht auf 0 gesetzt werden",
|
||||
"response_limit_needs_to_exceed_number_of_received_responses": "Antwortlimit muss die Anzahl der erhaltenen Antworten ({responseCount}) überschreiten.",
|
||||
"response_limits_redirections_and_more": "Antwort Limits, Weiterleitungen und mehr.",
|
||||
@@ -1564,12 +1694,12 @@
|
||||
"visibility_and_recontact_description": "Steuern Sie, wann diese Umfrage erscheinen kann und wie oft sie erneut erscheinen kann.",
|
||||
"wait": "Warte",
|
||||
"wait_a_few_seconds_after_the_trigger_before_showing_the_survey": "Warte ein paar Sekunden nach dem Auslöser, bevor Du die Umfrage anzeigst",
|
||||
"waiting_time_across_surveys": "Workspace-weite Wartezeit",
|
||||
"waiting_time_across_surveys_description": "Um Umfragemüdigkeit zu vermeiden, wählen Sie aus, wie diese Umfrage mit der workspace-weiten Wartezeit interagiert.",
|
||||
"waiting_time_across_surveys": "Projektweite Wartezeit",
|
||||
"waiting_time_across_surveys_description": "Um Umfragemüdigkeit zu vermeiden, wählen Sie aus, wie diese Umfrage mit der projektweiten Wartezeit interagiert.",
|
||||
"welcome_message": "Willkommensnachricht",
|
||||
"without_a_filter_all_of_your_users_can_be_surveyed": "Ohne Filter können alle deine Nutzer befragt werden.",
|
||||
"you_have_not_created_a_segment_yet": "Du hast noch keinen Segment erstellt.",
|
||||
"you_need_to_have_two_or_more_languages_set_up_in_your_workspace_to_work_with_translations": "Sie müssen zwei oder mehr Sprachen in Ihrem Workspace eingerichtet haben, um mit Übersetzungen zu arbeiten.",
|
||||
"you_need_to_have_two_or_more_languages_set_up_in_your_project_to_work_with_translations": "Du musst zwei oder mehr Sprachen in deinem Projekt einrichten, um mit Übersetzungen zu arbeiten.",
|
||||
"your_description_here_recall_information_with": "Deine Beschreibung hier. Informationen abrufen mit @",
|
||||
"your_question_here_recall_information_with": "Deine Frage hier. Informationen abrufen mit @",
|
||||
"your_web_app": "Deine Web-App",
|
||||
@@ -1697,17 +1827,6 @@
|
||||
"upgrade_prompt_title": "Verwende persönliche Links mit einem höheren Plan",
|
||||
"work_with_segments": "Persönliche Links funktionieren mit Segmenten."
|
||||
},
|
||||
"pretty_url": {
|
||||
"description": "Erstellen Sie eine individuelle, einprägsame URL für Ihre Umfrage",
|
||||
"remove_description": "Ihre Umfrage bleibt über die ursprüngliche URL weiterhin erreichbar.",
|
||||
"remove_success": "Pretty URL erfolgreich entfernt",
|
||||
"save_success": "Pretty URL erfolgreich gespeichert",
|
||||
"slug_help": "Verwenden Sie nur Kleinbuchstaben, Zahlen und Bindestriche.",
|
||||
"slug_label": "Individueller Slug",
|
||||
"slug_placeholder": "kunden-feedback",
|
||||
"slug_required": "Bitte geben Sie einen gültigen Slug ein",
|
||||
"title": "Pretty URL"
|
||||
},
|
||||
"send_email": {
|
||||
"copy_embed_code": "Einbettungscode kopieren",
|
||||
"description": "Binden Sie Ihre Umfrage in eine E-Mail ein, um Antworten von Ihrem Publikum zu erhalten.",
|
||||
@@ -1848,146 +1967,6 @@
|
||||
"uses_branching_logic": "Diese Umfrage verwendet Logik."
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"api_keys": {
|
||||
"add_api_key": "API-Schlüssel hinzufügen",
|
||||
"api_key": "API-Schlüssel",
|
||||
"api_key_copied_to_clipboard": "API-Schlüssel in Zwischenablage kopiert",
|
||||
"api_key_created": "API-Schlüssel erstellt",
|
||||
"api_key_deleted": "API-Schlüssel gelöscht",
|
||||
"api_key_label": "API-Schlüssel-Bezeichnung",
|
||||
"api_key_security_warning": "Aus Sicherheitsgründen wird der API-Schlüssel nur einmal nach der Erstellung angezeigt. Bitte kopieren Sie ihn sofort an Ihr Ziel.",
|
||||
"api_key_updated": "API-Schlüssel aktualisiert",
|
||||
"delete_api_key_confirmation": "Alle Anwendungen, die diesen Schlüssel verwenden, können nicht mehr auf Ihre Formbricks-Daten zugreifen.",
|
||||
"duplicate_access": "Doppelter Workspace-Zugriff nicht erlaubt",
|
||||
"no_api_keys_yet": "Du hast noch keine API-Schlüssel",
|
||||
"no_env_permissions_found": "Keine Umgebungsberechtigungen gefunden",
|
||||
"organization_access": "Organisationszugriff",
|
||||
"organization_access_description": "Wähle Lese- oder Schreibrechte für organisationsweite Ressourcen.",
|
||||
"permissions": "Berechtigungen",
|
||||
"secret": "Geheimnis",
|
||||
"unable_to_delete_api_key": "API-Schlüssel kann nicht gelöscht werden",
|
||||
"workspace_access": "Workspace-Zugriff"
|
||||
},
|
||||
"app-connection": {
|
||||
"app_connection": "App-Verbindung",
|
||||
"app_connection_description": "Verbinde deine App oder Website mit Formbricks.",
|
||||
"cache_update_delay_description": "Wenn du Änderungen an Umfragen, Kontakten, Aktionen oder anderen Daten vornimmst, kann es bis zu 1 Minute dauern, bis diese Änderungen in deiner lokalen App mit dem Formbricks SDK angezeigt werden.",
|
||||
"cache_update_delay_title": "Änderungen werden aufgrund von Caching nach ~1 Minute angezeigt",
|
||||
"environment_id": "Deine Umgebungs-ID",
|
||||
"environment_id_description": "Diese ID identifiziert diese Formbricks-Umgebung eindeutig.",
|
||||
"formbricks_sdk_connected": "Formbricks SDK ist verbunden",
|
||||
"formbricks_sdk_not_connected": "Formbricks SDK ist noch nicht verbunden.",
|
||||
"formbricks_sdk_not_connected_description": "Füge das Formbricks SDK zu deiner Website oder App hinzu, um es mit Formbricks zu verbinden",
|
||||
"how_to_setup": "Einrichtungsanleitung",
|
||||
"how_to_setup_description": "Folge diesen Schritten, um das Formbricks-Widget in deiner App einzurichten.",
|
||||
"receiving_data": "Daten werden empfangen 💃🕺",
|
||||
"recheck": "Erneut prüfen",
|
||||
"sdk_connection_details": "SDK-Verbindungsdetails",
|
||||
"sdk_connection_details_description": "Deine eindeutige Umgebungs-ID und SDK-Verbindungs-URL zur Integration von Formbricks in deine Anwendung.",
|
||||
"setup_alert_description": "Folge dieser Schritt-für-Schritt-Anleitung, um deine App oder Website in unter 5 Minuten zu verbinden.",
|
||||
"setup_alert_title": "So verbinden",
|
||||
"webapp_url": "SDK-Verbindungs-URL"
|
||||
},
|
||||
"general": {
|
||||
"cannot_delete_only_workspace": "Dies ist Ihr einziges Projekt, es kann nicht gelöscht werden. Erstellen Sie zuerst ein neues Projekt.",
|
||||
"delete_workspace": "Projekt löschen",
|
||||
"delete_workspace_confirmation": "Sind Sie sicher, dass Sie {projectName} löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"delete_workspace_name_includes_surveys_responses_people_and_more": "{projectName} inkl. aller Umfragen, Antworten, Personen, Aktionen und Attribute löschen.",
|
||||
"delete_workspace_settings_description": "Projekt mit allen Umfragen, Antworten, Personen, Aktionen und Attributen löschen. Das kann nicht rückgängig gemacht werden.",
|
||||
"error_saving_workspace_information": "Fehler beim Speichern der Projektinformationen",
|
||||
"only_owners_or_managers_can_delete_workspaces": "Nur Eigentümer oder Manager können Projekte löschen",
|
||||
"recontact_waiting_time": "Projektweite Wartezeit zwischen Umfragen",
|
||||
"recontact_waiting_time_settings_description": "Steuern Sie, wie häufig Nutzer über alle App-Umfragen hinweg befragt werden können.",
|
||||
"this_action_cannot_be_undone": "Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"wait_x_days_before_showing_next_survey": "X Tage warten, bevor die nächste Umfrage angezeigt wird:",
|
||||
"waiting_period_updated_successfully": "Wartezeit erfolgreich aktualisiert",
|
||||
"whats_your_workspace_called": "Wie heißt Ihr Projekt?",
|
||||
"workspace_deleted_successfully": "Projekt erfolgreich gelöscht",
|
||||
"workspace_name_settings_description": "Ändern Sie den Namen Ihres Projekts.",
|
||||
"workspace_name_updated_successfully": "Projektname erfolgreich aktualisiert"
|
||||
},
|
||||
"languages": {
|
||||
"add_language": "Sprache hinzufügen",
|
||||
"alias": "Alias",
|
||||
"alias_tooltip": "Der Alias ist ein alternativer Name zur Identifizierung der Sprache in Link-Umfragen und im SDK (optional)",
|
||||
"cannot_remove_language_warning": "Sie können diese Sprache nicht entfernen, da sie noch in diesen Umfragen verwendet wird:",
|
||||
"conflict_between_identifier_and_alias": "Es besteht ein Konflikt zwischen der Kennung einer hinzugefügten Sprache und einem Ihrer Aliase. Aliase und Kennungen können nicht identisch sein.",
|
||||
"conflict_between_selected_alias_and_another_language": "Es besteht ein Konflikt zwischen dem ausgewählten Alias und einer anderen Sprache, die diese Kennung hat. Bitte fügen Sie stattdessen die Sprache mit dieser Kennung zu Ihrem Projekt hinzu, um Inkonsistenzen zu vermeiden.",
|
||||
"delete_language_confirmation": "Sind Sie sicher, dass Sie diese Sprache löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"duplicate_language_or_language_id": "Doppelte Sprache oder Sprach-ID",
|
||||
"edit_languages": "Sprachen bearbeiten",
|
||||
"identifier": "Kennung (ISO)",
|
||||
"incomplete_translations": "Unvollständige Übersetzungen",
|
||||
"language": "Sprache",
|
||||
"language_deleted_successfully": "Sprache erfolgreich gelöscht",
|
||||
"languages_updated_successfully": "Sprachen erfolgreich aktualisiert",
|
||||
"multi_language_surveys": "Mehrsprachige Umfragen",
|
||||
"multi_language_surveys_description": "Füge Sprachen hinzu, um mehrsprachige Umfragen zu erstellen.",
|
||||
"no_language_found": "Keine Sprache gefunden. Füge unten deine erste Sprache hinzu.",
|
||||
"please_select_a_language": "Bitte wähle eine Sprache aus",
|
||||
"remove_language": "Sprache entfernen",
|
||||
"remove_language_from_surveys_to_remove_it_from_workspace": "Bitte entferne die Sprache aus diesen Umfragen, um sie aus dem Workspace zu entfernen.",
|
||||
"search_items": "Elemente suchen",
|
||||
"translate": "Übersetzen"
|
||||
},
|
||||
"look": {
|
||||
"add_background_color": "Hintergrundfarbe hinzufügen",
|
||||
"add_background_color_description": "Füge dem Logo-Container eine Hintergrundfarbe hinzu.",
|
||||
"app_survey_placement": "Platzierung der App-Umfrage",
|
||||
"app_survey_placement_settings_description": "Ändere, wo Umfragen in deiner Web-App oder Website angezeigt werden.",
|
||||
"centered_modal_overlay_color": "Zentrierte modale Überlagerungsfarbe",
|
||||
"email_customization": "E-Mail-Anpassung",
|
||||
"email_customization_description": "Ändere das Aussehen und die Gestaltung von E-Mails, die Formbricks in deinem Namen versendet.",
|
||||
"enable_custom_styling": "Benutzerdefiniertes Styling aktivieren",
|
||||
"enable_custom_styling_description": "Erlaube Nutzern, dieses Theme im Umfrage-Editor zu überschreiben.",
|
||||
"failed_to_remove_logo": "Logo konnte nicht entfernt werden",
|
||||
"failed_to_update_logo": "Logo konnte nicht aktualisiert werden",
|
||||
"formbricks_branding": "Formbricks-Branding",
|
||||
"formbricks_branding_hidden": "Formbricks-Branding ist ausgeblendet.",
|
||||
"formbricks_branding_settings_description": "Wir freuen uns über deine Unterstützung, haben aber Verständnis, wenn du es ausschaltest.",
|
||||
"formbricks_branding_shown": "Formbricks-Branding wird angezeigt.",
|
||||
"logo_removed_successfully": "Logo erfolgreich entfernt",
|
||||
"logo_settings_description": "Lade dein Firmenlogo hoch, um Umfragen und Link-Vorschauen zu branden.",
|
||||
"logo_updated_successfully": "Logo erfolgreich aktualisiert",
|
||||
"logo_upload_failed": "Logo-Upload fehlgeschlagen. Bitte versuche es erneut.",
|
||||
"placement_updated_successfully": "Platzierung erfolgreich aktualisiert",
|
||||
"remove_branding_with_a_higher_plan": "Branding mit einem höheren Plan entfernen",
|
||||
"remove_logo": "Logo entfernen",
|
||||
"remove_logo_confirmation": "Bist du sicher, dass du das Logo entfernen möchtest?",
|
||||
"replace_logo": "Logo ersetzen",
|
||||
"reset_styling": "Styling zurücksetzen",
|
||||
"reset_styling_confirmation": "Bist du sicher, dass du das Styling auf die Standardeinstellungen zurücksetzen möchtest?",
|
||||
"show_formbricks_branding_in": "Formbricks-Branding in {type}-Umfragen anzeigen",
|
||||
"show_powered_by_formbricks": "\"Powered by Formbricks\"-Signatur anzeigen",
|
||||
"styling_updated_successfully": "Styling erfolgreich aktualisiert",
|
||||
"theme": "Theme",
|
||||
"theme_settings_description": "Erstelle ein Style-Theme für alle Umfragen. Du kannst für jede Umfrage individuelles Styling aktivieren."
|
||||
},
|
||||
"tags": {
|
||||
"add": "Hinzufügen",
|
||||
"add_tag": "Tag hinzufügen",
|
||||
"count": "Anzahl",
|
||||
"delete_tag_confirmation": "Bist du sicher, dass du diesen Tag löschen möchtest?",
|
||||
"manage_tags": "Tags verwalten",
|
||||
"manage_tags_description": "Antwort-Tags zusammenführen und entfernen.",
|
||||
"merge": "Zusammenführen",
|
||||
"no_tag_found": "Kein Tag gefunden",
|
||||
"search_tags": "Tags durchsuchen...",
|
||||
"tag": "Tag",
|
||||
"tag_already_exists": "Tag existiert bereits",
|
||||
"tag_deleted": "Tag gelöscht",
|
||||
"tag_updated": "Tag aktualisiert",
|
||||
"tags_merged": "Tags zusammengeführt"
|
||||
},
|
||||
"teams": {
|
||||
"manage_teams": "Teams verwalten",
|
||||
"no_teams_found": "Keine Teams gefunden",
|
||||
"permission": "Berechtigung",
|
||||
"team_name": "Teamname",
|
||||
"team_settings_description": "Sehen Sie, welche Teams auf diesen Workspace zugreifen können."
|
||||
}
|
||||
},
|
||||
"xm-templates": {
|
||||
"ces": "CES",
|
||||
"ces_description": "Nutze jeden Berührungspunkt, um zu verstehen, wie Du einfach der Umgang mit Deinem Produkt ist.",
|
||||
@@ -2006,36 +1985,36 @@
|
||||
},
|
||||
"organizations": {
|
||||
"landing": {
|
||||
"no_workspaces_warning_subtitle": "Wenden Sie sich an den Inhaber Ihrer Organisation, um Zugriff auf Workspaces zu erhalten. Oder erstellen Sie eine eigene Organisation, um loszulegen.",
|
||||
"no_workspaces_warning_title": "Ihr Konto hat noch keinen Zugriff auf Workspaces."
|
||||
"no_projects_warning_subtitle": "Wenden Sie sich an den Eigentümer Ihrer Organisation, um Zugriff auf Projekte zu erhalten. Oder erstellen Sie eine eigene Organisation, um loszulegen.",
|
||||
"no_projects_warning_title": "Ihr Konto hat noch keinen Zugriff auf Projekte."
|
||||
},
|
||||
"workspaces": {
|
||||
"projects": {
|
||||
"new": {
|
||||
"channel": {
|
||||
"channel_select_subtitle": "Teilen Sie einen Link oder zeigen Sie Ihre Umfrage in Apps oder auf Websites an.",
|
||||
"channel_select_title": "Welche Art von Umfragen benötigen Sie?",
|
||||
"channel_select_subtitle": "Teile einen Link oder zeige deine Umfrage in Apps oder auf Websites.",
|
||||
"channel_select_title": "Welche Art von Umfrage brauchst du?",
|
||||
"in_product_surveys": "In-Product-Umfragen",
|
||||
"in_product_surveys_description": "Eingebettet in Apps oder Websites.",
|
||||
"link_and_email_surveys": "Link- & E-Mail-Umfragen",
|
||||
"link_and_email_surveys_description": "Erreichen Sie Menschen überall online."
|
||||
"in_product_surveys_description": "Führe zielgerichtete Micro-Umfragen in deinen Apps durch.",
|
||||
"link_and_email_surveys": "Link- und E-Mail-Umfragen",
|
||||
"link_and_email_surveys_description": "Erreiche Menschen überall online."
|
||||
},
|
||||
"mode": {
|
||||
"formbricks_cx": "Formbricks CX",
|
||||
"formbricks_cx_description": "Umfragen und Berichte, um zu verstehen, was Ihre Kunden benötigen.",
|
||||
"formbricks_cx_description": "Umfragen und Berichte, um zu verstehen, was deine Kunden brauchen.",
|
||||
"formbricks_surveys": "Formbricks Umfragen",
|
||||
"formbricks_surveys_description": "Vielseitige Umfrageplattform für Web-, App- und E-Mail-Umfragen.",
|
||||
"what_are_you_here_for": "Wofür sind Sie hier?"
|
||||
"formbricks_surveys_description": "Multifunktionale Umfrageplattform für Web-, App- und E-Mail-Umfragen.",
|
||||
"what_are_you_here_for": "Warum bist Du hier?"
|
||||
},
|
||||
"settings": {
|
||||
"brand_color": "Markenfarbe",
|
||||
"brand_color_description": "Passen Sie die Hauptfarbe der Umfragen an Ihre Marke an.",
|
||||
"brand_color_description": "Passe die Hauptfarbe der Umfragen an deine Marke an.",
|
||||
"create_new_team": "Neues Team erstellen",
|
||||
"team_description": "Wer kann auf diesen Workspace zugreifen?",
|
||||
"workspace_creation_failed": "Workspace-Erstellung fehlgeschlagen",
|
||||
"workspace_name": "Produktname",
|
||||
"workspace_name_description": "Wie heißt Ihr Produkt?",
|
||||
"workspace_settings_subtitle": "Wenn Menschen Ihre Marke wiedererkennen, ist die Wahrscheinlichkeit viel höher, dass sie Antworten beginnen und abschließen.",
|
||||
"workspace_settings_title": "Lassen Sie Befragte wissen, dass Sie es sind"
|
||||
"project_creation_failed": "Projekterstellung fehlgeschlagen",
|
||||
"project_name": "Produktname",
|
||||
"project_name_description": "Wie heißt dein Produkt?",
|
||||
"project_settings_subtitle": "Wenn Leute deine Marke erkennen, ist es viel wahrscheinlicher, dass sie Umfragen beantworten und abschließen.",
|
||||
"project_settings_title": "Lass die Teilnehmenden wissen, dass du es bist",
|
||||
"team_description": "Wer kann auf dieses Projekt zugreifen?"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,9 +121,9 @@
|
||||
"add_filter": "Add filter",
|
||||
"add_logo": "Add logo",
|
||||
"add_member": "Add member",
|
||||
"add_new_workspace": "Add new workspace",
|
||||
"add_new_project": "Add new project",
|
||||
"add_project": "Add project",
|
||||
"add_to_team": "Add to team",
|
||||
"add_workspace": "Add workspace",
|
||||
"all": "All",
|
||||
"all_questions": "All questions",
|
||||
"allow": "Allow",
|
||||
@@ -148,7 +148,7 @@
|
||||
"choices": "Choices",
|
||||
"choose_environment": "Choose environment",
|
||||
"choose_organization": "Choose organization",
|
||||
"choose_workspace": "Choose workspace",
|
||||
"choose_project": "Choose project",
|
||||
"clear_all": "Clear all",
|
||||
"clear_filters": "Clear filters",
|
||||
"clear_selection": "Clear selection",
|
||||
@@ -174,9 +174,9 @@
|
||||
"count_contacts": "{value, plural, one {{value} contact} other {{value} contacts}}",
|
||||
"count_responses": "{value, plural, one {{value} response} other {{value} responses}}",
|
||||
"create_new_organization": "Create new organization",
|
||||
"create_project": "Create project",
|
||||
"create_segment": "Create segment",
|
||||
"create_survey": "Create survey",
|
||||
"create_workspace": "Create workspace",
|
||||
"created": "Created",
|
||||
"created_at": "Created at",
|
||||
"created_by": "Created by",
|
||||
@@ -187,7 +187,6 @@
|
||||
"delete": "Delete",
|
||||
"description": "Description",
|
||||
"dev_env": "Dev Environment",
|
||||
"development": "Development",
|
||||
"development_environment_banner": "You're in a development environment. Set it up to test surveys, actions and attributes.",
|
||||
"disable": "Disable",
|
||||
"disallow": "Don't allow",
|
||||
@@ -195,7 +194,6 @@
|
||||
"dismissed": "Dismissed",
|
||||
"docs": "Documentation",
|
||||
"documentation": "Documentation",
|
||||
"domain": "Domain",
|
||||
"download": "Download",
|
||||
"draft": "Draft",
|
||||
"duplicate": "Duplicate",
|
||||
@@ -205,7 +203,6 @@
|
||||
"ending_card": "Ending card",
|
||||
"enter_url": "Enter URL",
|
||||
"enterprise_license": "Enterprise License",
|
||||
"environment": "Environment",
|
||||
"environment_not_found": "Environment not found",
|
||||
"environment_notice": "You're currently in the {environment} environment.",
|
||||
"error": "Error",
|
||||
@@ -216,7 +213,7 @@
|
||||
"expand_rows": "Expand rows",
|
||||
"failed_to_copy_to_clipboard": "Failed to copy to clipboard",
|
||||
"failed_to_load_organizations": "Failed to load organizations",
|
||||
"failed_to_load_workspaces": "Failed to load workspaces",
|
||||
"failed_to_load_projects": "Failed to load projects",
|
||||
"finish": "Finish",
|
||||
"follow_these": "Follow these",
|
||||
"formbricks_version": "Formbricks Version",
|
||||
@@ -324,10 +321,17 @@
|
||||
"preview_survey": "Preview Survey",
|
||||
"privacy": "Privacy Policy",
|
||||
"product_manager": "Product Manager",
|
||||
"production": "Production",
|
||||
"profile": "Profile",
|
||||
"profile_id": "Profile ID",
|
||||
"progress": "Progress",
|
||||
"project_configuration": "Project Configuration",
|
||||
"project_creation_description": "Organize surveys in projects for better access control.",
|
||||
"project_id": "Project ID",
|
||||
"project_name": "Project Name",
|
||||
"project_name_placeholder": "e.g. Formbricks",
|
||||
"project_not_found": "Project not found",
|
||||
"project_permission_not_found": "Project permission not found",
|
||||
"projects": "Projects",
|
||||
"question": "question",
|
||||
"question_id": "Question ID",
|
||||
"questions": "Questions",
|
||||
@@ -416,7 +420,7 @@
|
||||
"top_right": "Top Right",
|
||||
"try_again": "Try again",
|
||||
"type": "Type",
|
||||
"unlock_more_workspaces_with_a_higher_plan": "Unlock more workspaces with a higher plan.",
|
||||
"unlock_more_projects_with_a_higher_plan": "Unlock more projects with a higher plan.",
|
||||
"update": "Update",
|
||||
"updated": "Updated",
|
||||
"updated_at": "Updated at",
|
||||
@@ -440,18 +444,10 @@
|
||||
"website_app_survey": "Website & App Survey",
|
||||
"website_survey": "Website Survey",
|
||||
"welcome_card": "Welcome card",
|
||||
"workspace_configuration": "Workspace Configuration",
|
||||
"workspace_creation_description": "Organize surveys in workspaces for better access control.",
|
||||
"workspace_id": "Workspace ID",
|
||||
"workspace_name": "Workspace Name",
|
||||
"workspace_name_placeholder": "e.g. Formbricks",
|
||||
"workspace_not_found": "Workspace not found",
|
||||
"workspace_permission_not_found": "Workspace permission not found",
|
||||
"workspaces": "Workspaces",
|
||||
"you": "You",
|
||||
"you_are_downgraded_to_the_community_edition": "You are downgraded to the Community Edition.",
|
||||
"you_are_not_authorised_to_perform_this_action": "You are not authorised to perform this action.",
|
||||
"you_have_reached_your_limit_of_workspace_limit": "You have reached your limit of {projectLimit} workspaces.",
|
||||
"you_have_reached_your_limit_of_project_limit": "You have reached your limit of {projectLimit} projects.",
|
||||
"you_have_reached_your_monthly_miu_limit_of": "You have reached your monthly MIU limit of",
|
||||
"you_have_reached_your_monthly_response_limit_of": "You have reached your monthly response limit of",
|
||||
"you_will_be_downgraded_to_the_community_edition_on_date": "You will be downgraded to the Community Edition on {date}."
|
||||
@@ -479,12 +475,14 @@
|
||||
"forgot_password_email_text": "You have requested a link to change your password. You can do this by clicking the link below:",
|
||||
"hidden_field": "Hidden field",
|
||||
"imprint": "Imprint",
|
||||
"invite_accepted_email_heading": "Hey {inviterName}",
|
||||
"invite_accepted_email_heading": "Hey",
|
||||
"invite_accepted_email_subject": "You've got a new organization member!",
|
||||
"invite_accepted_email_text": "Just letting you know that {inviteeName} accepted your invitation. Have fun collaborating!",
|
||||
"invite_accepted_email_text_par1": "Just letting you know that",
|
||||
"invite_accepted_email_text_par2": "accepted your invitation. Have fun collaborating!",
|
||||
"invite_email_button_label": "Join organization",
|
||||
"invite_email_heading": "Hey {inviteeName}",
|
||||
"invite_email_text": "Your colleague {inviterName} invited you to join them at Formbricks. To accept the invitation, please click the link below:",
|
||||
"invite_email_heading": "Hey",
|
||||
"invite_email_text_par1": "Your colleague",
|
||||
"invite_email_text_par2": "invited you to join them at Formbricks. To accept the invitation, please click the link below:",
|
||||
"invite_member_email_subject": "You're invited to collaborate on Formbricks!",
|
||||
"new_email_verification_text": "To verify your new email address, please click the button below:",
|
||||
"number_variable": "Number variable",
|
||||
@@ -777,6 +775,146 @@
|
||||
"website_or_app_integration_description": "Integrate Formbricks into your Website or App",
|
||||
"zapier_integration_description": "Integrate Formbricks with 5000+ apps via Zapier"
|
||||
},
|
||||
"project": {
|
||||
"api_keys": {
|
||||
"add_api_key": "Add API Key",
|
||||
"api_key": "API Key",
|
||||
"api_key_copied_to_clipboard": "API key copied to clipboard",
|
||||
"api_key_created": "API key created",
|
||||
"api_key_deleted": "API Key deleted",
|
||||
"api_key_label": "API Key Label",
|
||||
"api_key_security_warning": "For security reasons, the API key will only be shown once after creation. Please copy it to your destination right away.",
|
||||
"api_key_updated": "API Key updated",
|
||||
"delete_api_key_confirmation": "Any applications using this key will no longer be able to access your Formbricks data.",
|
||||
"duplicate_access": "Duplicate project access not allowed",
|
||||
"no_api_keys_yet": "You don't have any API keys yet",
|
||||
"no_env_permissions_found": "No environment permissions found",
|
||||
"organization_access": "Organization Access",
|
||||
"organization_access_description": "Select read or write privileges for organization-wide resources.",
|
||||
"permissions": "Permissions",
|
||||
"project_access": "Project Access",
|
||||
"secret": "Secret",
|
||||
"unable_to_delete_api_key": "Unable to delete API Key"
|
||||
},
|
||||
"app-connection": {
|
||||
"app_connection": "App Connection",
|
||||
"app_connection_description": "Connect your app or website to Formbricks.",
|
||||
"cache_update_delay_description": "When you make updates to surveys, contacts, actions, or other data, it can take up to 1 minute for those changes to appear in your local app running the Formbricks SDK.",
|
||||
"cache_update_delay_title": "Changes will be reflected after ~1 minute due to caching",
|
||||
"environment_id": "Your Environment ID",
|
||||
"environment_id_description": "This id uniquely identifies this Formbricks environment.",
|
||||
"formbricks_sdk_connected": "Formbricks SDK is connected",
|
||||
"formbricks_sdk_not_connected": "Formbricks SDK is not yet connected.",
|
||||
"formbricks_sdk_not_connected_description": "Add the Formbricks SDK to your website or app to connect it with Formbricks",
|
||||
"how_to_setup": "How to setup",
|
||||
"how_to_setup_description": "Follow these steps to setup the Formbricks widget within your app.",
|
||||
"receiving_data": "Receiving data \uD83D\uDC83\uD83D\uDD7A",
|
||||
"recheck": "Re-check",
|
||||
"sdk_connection_details": "SDK Connection Details",
|
||||
"sdk_connection_details_description": "Your unique environment ID and SDK connection URL for integrating Formbricks with your application.",
|
||||
"setup_alert_description": "Follow this step-by-step tutorial to connect your app or website in under 5 minutes.",
|
||||
"setup_alert_title": "How to connect",
|
||||
"webapp_url": "SDK Connection URL"
|
||||
},
|
||||
"general": {
|
||||
"cannot_delete_only_project": "This is your only project, it cannot be deleted. Create a new project first.",
|
||||
"delete_project": "Delete Project",
|
||||
"delete_project_confirmation": "Are you sure you want to delete {projectName}? This action cannot be undone.",
|
||||
"delete_project_name_includes_surveys_responses_people_and_more": "Delete {projectName} incl. all surveys, responses, people, actions and attributes.",
|
||||
"delete_project_settings_description": "Delete project with all surveys, responses, people, actions and attributes. This cannot be undone.",
|
||||
"error_saving_project_information": "Error saving project information",
|
||||
"only_owners_or_managers_can_delete_projects": "Only owners or managers can delete projects",
|
||||
"project_deleted_successfully": "Project deleted successfully",
|
||||
"project_name_settings_description": "Change your projects name.",
|
||||
"project_name_updated_successfully": "Project name updated successfully",
|
||||
"recontact_waiting_time": "Project-wide Waiting Time Between Surveys",
|
||||
"recontact_waiting_time_settings_description": "Control how frequently users can be surveyed across all app surveys.",
|
||||
"this_action_cannot_be_undone": "This action cannot be undone.",
|
||||
"wait_x_days_before_showing_next_survey": "Wait X days before showing next survey:",
|
||||
"waiting_period_updated_successfully": "Waiting period updated successfully",
|
||||
"whats_your_project_called": "What's your project called?"
|
||||
},
|
||||
"languages": {
|
||||
"add_language": "Add language",
|
||||
"alias": "Alias",
|
||||
"alias_tooltip": "The alias is an alternate name to identify the language in link surveys and the SDK (optional)",
|
||||
"cannot_remove_language_warning": "You cannot remove this language since it’s still used in these surveys:",
|
||||
"conflict_between_identifier_and_alias": "There is a conflict between the identifier of an added language and one for your aliases. Aliases and identifiers cannot be identical.",
|
||||
"conflict_between_selected_alias_and_another_language": "There is a conflict between the selected alias and another language that has this identifier. Please add the language with this identifier to your project instead to avoid inconsistencies.",
|
||||
"delete_language_confirmation": "Are you sure you want to delete this language? This action cannot be undone.",
|
||||
"duplicate_language_or_language_id": "Duplicate language or language ID",
|
||||
"edit_languages": "Edit languages",
|
||||
"identifier": "Identifier (ISO)",
|
||||
"incomplete_translations": "Incomplete translations",
|
||||
"language": "Language",
|
||||
"language_deleted_successfully": "Language deleted successfully",
|
||||
"languages_updated_successfully": "Languages updated successfully",
|
||||
"multi_language_surveys": "Multi-Language Surveys",
|
||||
"multi_language_surveys_description": "Add languages to create multi-language surveys.",
|
||||
"no_language_found": "No language found. Add your first language below.",
|
||||
"please_select_a_language": "Please select a language",
|
||||
"remove_language": "Remove Language",
|
||||
"remove_language_from_surveys_to_remove_it_from_project": "Please remove the language from these surveys in order to remove it from the project.",
|
||||
"search_items": "Search items",
|
||||
"translate": "Translate"
|
||||
},
|
||||
"look": {
|
||||
"add_background_color": "Add background color",
|
||||
"add_background_color_description": "Add a background color to the logo container.",
|
||||
"app_survey_placement": "App Survey Placement",
|
||||
"app_survey_placement_settings_description": "Change where surveys will be shown in your web app or website.",
|
||||
"centered_modal_overlay_color": "Centered modal overlay color",
|
||||
"email_customization": "Email Customization",
|
||||
"email_customization_description": "Change the look and feel of emails Formbricks sends out on your behalf.",
|
||||
"enable_custom_styling": "Enable custom styling",
|
||||
"enable_custom_styling_description": "Allow users to override this theme in the survey editor.",
|
||||
"failed_to_remove_logo": "Failed to remove the logo",
|
||||
"failed_to_update_logo": "Failed to update the logo",
|
||||
"formbricks_branding": "Formbricks Branding",
|
||||
"formbricks_branding_hidden": "Formbricks branding is hidden.",
|
||||
"formbricks_branding_settings_description": "We love your support but understand if you toggle it off.",
|
||||
"formbricks_branding_shown": "Formbricks branding is shown.",
|
||||
"logo_removed_successfully": "Logo removed successfully",
|
||||
"logo_settings_description": "Upload your company logo to brand surveys and link previews.",
|
||||
"logo_updated_successfully": "Logo updated successfully",
|
||||
"logo_upload_failed": "Logo upload failed. Please try again.",
|
||||
"placement_updated_successfully": "Placement updated successfully",
|
||||
"remove_branding_with_a_higher_plan": "Remove branding with a higher plan",
|
||||
"remove_logo": "Remove Logo",
|
||||
"remove_logo_confirmation": "Are you sure you want to remove the logo?",
|
||||
"replace_logo": "Replace Logo",
|
||||
"reset_styling": "Reset styling",
|
||||
"reset_styling_confirmation": "Are you sure you want to reset the styling to default?",
|
||||
"show_formbricks_branding_in": "Show Formbricks Branding in {type} surveys",
|
||||
"show_powered_by_formbricks": "Show 'Powered by Formbricks' Signature",
|
||||
"styling_updated_successfully": "Styling updated successfully",
|
||||
"theme": "Theme",
|
||||
"theme_settings_description": "Create a style theme for all surveys. You can enable custom styling for each survey."
|
||||
},
|
||||
"tags": {
|
||||
"add": "Add",
|
||||
"add_tag": "Add Tag",
|
||||
"count": "Count",
|
||||
"delete_tag_confirmation": "Are you sure you want to delete this tag?",
|
||||
"manage_tags": "Manage Tags",
|
||||
"manage_tags_description": "Merge and remove response tags.",
|
||||
"merge": "Merge",
|
||||
"no_tag_found": "No tag found",
|
||||
"search_tags": "Search Tags...",
|
||||
"tag": "Tag",
|
||||
"tag_already_exists": "Tag already exists",
|
||||
"tag_deleted": "Tag deleted",
|
||||
"tag_updated": "Tag updated",
|
||||
"tags_merged": "Tags merged"
|
||||
},
|
||||
"teams": {
|
||||
"manage_teams": "Manage teams",
|
||||
"no_teams_found": "No teams found",
|
||||
"permission": "Permission",
|
||||
"team_name": "Team Name",
|
||||
"team_settings_description": "See which teams can access this project."
|
||||
}
|
||||
},
|
||||
"segments": {
|
||||
"add_filter_below": "Add filter below",
|
||||
"add_your_first_filter_to_get_started": "Add your first filter to get started",
|
||||
@@ -839,9 +977,9 @@
|
||||
},
|
||||
"billing": {
|
||||
"1000_monthly_responses": "Monthly 1,000 Responses",
|
||||
"1_workspace": "1 Workspace",
|
||||
"1_project": "1 Project",
|
||||
"2000_contacts": "2,000 Contacts",
|
||||
"3_workspaces": "3 Workspaces",
|
||||
"3_projects": "3 Projects",
|
||||
"5000_monthly_responses": "5,000 Monthly Responses",
|
||||
"7500_contacts": "7,500 Contacts",
|
||||
"all_integrations": "All Integrations",
|
||||
@@ -854,8 +992,8 @@
|
||||
"current_tier_limit": "Current Tier Limit",
|
||||
"custom": "Custom & Scale",
|
||||
"custom_contacts_limit": "Custom Contacts Limit",
|
||||
"custom_project_limit": "Custom Project Limit",
|
||||
"custom_response_limit": "Custom Response Limit",
|
||||
"custom_workspace_limit": "Custom Workspace Limit",
|
||||
"email_embedded_surveys": "Email Embedded Surveys",
|
||||
"email_follow_ups": "Email Follow-ups",
|
||||
"enterprise_description": "Premium support and custom limits.",
|
||||
@@ -882,22 +1020,14 @@
|
||||
"team_access_roles": "Team Access Roles",
|
||||
"unable_to_upgrade_plan": "Unable to upgrade plan",
|
||||
"unlimited_miu": "Unlimited MIU",
|
||||
"unlimited_projects": "Unlimited Projects",
|
||||
"unlimited_responses": "Unlimited Responses",
|
||||
"unlimited_surveys": "Unlimited Surveys",
|
||||
"unlimited_team_members": "Unlimited Team Members",
|
||||
"unlimited_workspaces": "Unlimited Workspaces",
|
||||
"upgrade": "Upgrade",
|
||||
"uptime_sla_99": "Uptime SLA (99%)",
|
||||
"website_surveys": "Website Surveys"
|
||||
},
|
||||
"domain": {
|
||||
"description": "Overview of all surveys using Pretty URLs across your organization",
|
||||
"no_pretty_urls": "No surveys with Pretty URLs configured yet.",
|
||||
"pretty_url": "Pretty URL",
|
||||
"survey_name": "Survey Name",
|
||||
"title": "Pretty URLs",
|
||||
"workspace": "Workspace"
|
||||
},
|
||||
"enterprise": {
|
||||
"audit_logs": "Audit Logs",
|
||||
"coming_soon": "Coming soon",
|
||||
@@ -925,13 +1055,13 @@
|
||||
"cannot_leave_only_organization": "You cannot leave this organization as it is your only organization. Create a new organization first.",
|
||||
"copy_invite_link_to_clipboard": "Copy invite link to clipboard",
|
||||
"create_new_organization": "Create new organization",
|
||||
"create_new_organization_description": "Create a new organization to handle a different set of workspaces.",
|
||||
"create_new_organization_description": "Create a new organization to handle a different set of projects.",
|
||||
"customize_email_with_a_higher_plan": "Customize email with a higher plan",
|
||||
"delete_member_confirmation": "Deleted members will lose access to all workspaces and surveys of your organization.",
|
||||
"delete_member_confirmation": "Deleted members will lose access to all projects and surveys of your organization.",
|
||||
"delete_organization": "Delete Organization",
|
||||
"delete_organization_description": "Delete organization with all its workspaces including all surveys, responses, people, actions and attributes",
|
||||
"delete_organization_description": "Delete organization with all its projects including all surveys, responses, people, actions and attributes",
|
||||
"delete_organization_warning": "Before you proceed with deleting this organization, please be aware of the following consequences:",
|
||||
"delete_organization_warning_1": "Permanent removal of all workspaces linked to this organization.",
|
||||
"delete_organization_warning_1": "Permanent removal of all projects linked to this organization.",
|
||||
"delete_organization_warning_2": "This action cannot be undone. If it's gone, it's gone.",
|
||||
"delete_organization_warning_3": "Please enter {organizationName} in the following field to confirm the definitive deletion of this organization:",
|
||||
"eliminate_branding_with_whitelabel": "Eliminate Formbricks branding and enable additional white-label customization options.",
|
||||
@@ -1023,10 +1153,10 @@
|
||||
},
|
||||
"teams": {
|
||||
"add_members_description": "Add members to the team and determine their role.",
|
||||
"add_workspaces_description": "Control which workspaces the team members can access.",
|
||||
"add_projects_description": "Control which projects the team members can access.",
|
||||
"all_members_added": "All members added to this team.",
|
||||
"all_workspaces_added": "All workspaces added to this team.",
|
||||
"are_you_sure_you_want_to_delete_this_team": "Are you sure you want to delete this team? This also removes the access to all the workspaces and surveys associated with this team.",
|
||||
"all_projects_added": "All projects added to this team.",
|
||||
"are_you_sure_you_want_to_delete_this_team": "Are you sure you want to delete this team? This also removes the access to all the projects and surveys associated with this team.",
|
||||
"billing_role_description": "Only have access to billing info.",
|
||||
"bulk_invite": "Bulk Invite",
|
||||
"contributor": "Contributor",
|
||||
@@ -1042,18 +1172,18 @@
|
||||
"manage": "Manage",
|
||||
"manage_team": "Manage team",
|
||||
"manage_team_disabled": "Only organization owners, managers and team admins can manage teams.",
|
||||
"manager_role_description": "Managers can access all workspaces and add and remove members.",
|
||||
"manager_role_description": "Managers can access all projects and add and remove members.",
|
||||
"member": "Member",
|
||||
"member_role_description": "Members can work in selected workspaces.",
|
||||
"member_role_info_message": "To give new members access to a workspace, please add them to a Team below. With Teams you can manage who has access to which workspace.",
|
||||
"member_role_description": "Members can work in selected projects.",
|
||||
"member_role_info_message": "To give new members access to a project, please add them to a Team below. With Teams you can manage who has access to which project.",
|
||||
"organization_role": "Organization role",
|
||||
"owner_role_description": "Owners have full control over the organization.",
|
||||
"please_fill_all_member_fields": "Please fill all the fields to add a new member.",
|
||||
"please_fill_all_workspace_fields": "Please fill all the fields to add a new workspace.",
|
||||
"please_fill_all_project_fields": "Please fill all the fields to add a new project.",
|
||||
"read": "Read",
|
||||
"read_write": "Read & Write",
|
||||
"select_member": "Select member",
|
||||
"select_workspace": "Select workspace",
|
||||
"select_project": "Select project",
|
||||
"team_admin": "Team Admin",
|
||||
"team_created_successfully": "Team created successfully.",
|
||||
"team_deleted_successfully": "Team deleted successfully.",
|
||||
@@ -1064,8 +1194,8 @@
|
||||
"team_settings_description": "Manage team members, access rights, and more.",
|
||||
"team_updated_successfully": "Team updated successfully",
|
||||
"teams": "Teams",
|
||||
"teams_description": "Assign members into teams and give teams access to workspaces.",
|
||||
"unlock_teams_description": "Manage which organization members have access to specific workspaces and surveys.",
|
||||
"teams_description": "Assign members into teams and give teams access to projects.",
|
||||
"unlock_teams_description": "Manage which organization members have access to specific projects and surveys.",
|
||||
"unlock_teams_title": "Unlock Teams with a higher plan.",
|
||||
"upgrade_plan_notice_message": "Unlock Organization Roles with a higher plan.",
|
||||
"you_are_a_member": "You're a member"
|
||||
@@ -1322,7 +1452,7 @@
|
||||
"how_funky_do_you_want_your_cards_in_survey_type_derived_surveys": "How funky do you want your cards in {surveyTypeDerived} Surveys",
|
||||
"if_you_need_more_please": "If you need more, please",
|
||||
"if_you_really_want_that_answer_ask_until_you_get_it": "Keep showing whenever triggered until a response is submitted.",
|
||||
"ignore_global_waiting_time": "Ignore workspace-wide waiting time",
|
||||
"ignore_global_waiting_time": "Ignore project-wide waiting time",
|
||||
"ignore_global_waiting_time_description": "This survey can show whenever its conditions are met, even if another survey was shown recently.",
|
||||
"image": "Image",
|
||||
"includes_all_of": "Includes all of",
|
||||
@@ -1396,7 +1526,7 @@
|
||||
"options_used_in_logic_bulk_error": "The following options are used in logic: {questionIndexes}. Please remove them from logic first.",
|
||||
"override_theme_with_individual_styles_for_this_survey": "Override the theme with individual styles for this survey.",
|
||||
"overwrite_global_waiting_time": "Set custom waiting time",
|
||||
"overwrite_global_waiting_time_description": "Override the workspace configuration for this survey only.",
|
||||
"overwrite_global_waiting_time_description": "Override the project configuration for this survey only.",
|
||||
"overwrite_placement": "Overwrite placement",
|
||||
"overwrite_survey_logo": "Set custom survey logo",
|
||||
"overwrite_the_global_placement_of_the_survey": "Overwrite the global placement of the survey",
|
||||
@@ -1468,8 +1598,8 @@
|
||||
"required": "Required",
|
||||
"reset_to_theme_styles": "Reset to theme styles",
|
||||
"reset_to_theme_styles_main_text": "Are you sure you want to reset the styling to the theme styles? This will remove all custom styling.",
|
||||
"respect_global_waiting_time": "Use workspace-wide waiting time",
|
||||
"respect_global_waiting_time_description": "This survey follows the waiting time set in workspace configuration. It only shows if no other survey has appeared during that period.",
|
||||
"respect_global_waiting_time": "Use project-wide waiting time",
|
||||
"respect_global_waiting_time_description": "This survey follows the waiting time set in project configuration. It only shows if no other survey has appeared during that period.",
|
||||
"response_limit_can_t_be_set_to_0": "Response limit can't be set to 0",
|
||||
"response_limit_needs_to_exceed_number_of_received_responses": "Response limit needs to exceed number of received responses ({responseCount}).",
|
||||
"response_limits_redirections_and_more": "Response limits, redirections and more.",
|
||||
@@ -1564,12 +1694,12 @@
|
||||
"visibility_and_recontact_description": "Control when this survey can appear and how often it can reappear.",
|
||||
"wait": "Wait",
|
||||
"wait_a_few_seconds_after_the_trigger_before_showing_the_survey": "Wait a few seconds after the trigger before showing the survey",
|
||||
"waiting_time_across_surveys": "Workspace-wide waiting time",
|
||||
"waiting_time_across_surveys_description": "To prevent survey fatigue, choose how this survey interacts with the workspace-wide waiting time.",
|
||||
"waiting_time_across_surveys": "Project-wide waiting time",
|
||||
"waiting_time_across_surveys_description": "To prevent survey fatigue, choose how this survey interacts with the project-wide waiting time.",
|
||||
"welcome_message": "Welcome message",
|
||||
"without_a_filter_all_of_your_users_can_be_surveyed": "Without a filter, all of your users can be surveyed.",
|
||||
"you_have_not_created_a_segment_yet": "You have not created a segment yet",
|
||||
"you_need_to_have_two_or_more_languages_set_up_in_your_workspace_to_work_with_translations": "You need to have two or more languages set up in your workspace to work with translations.",
|
||||
"you_need_to_have_two_or_more_languages_set_up_in_your_project_to_work_with_translations": "You need to have two or more languages set up in your project to work with translations.",
|
||||
"your_description_here_recall_information_with": "Your description here. Recall information with @",
|
||||
"your_question_here_recall_information_with": "Your question here. Recall information with @",
|
||||
"your_web_app": "Your web app",
|
||||
@@ -1697,17 +1827,6 @@
|
||||
"upgrade_prompt_title": "Use personal links with a higher plan",
|
||||
"work_with_segments": "Personal links work with segments."
|
||||
},
|
||||
"pretty_url": {
|
||||
"description": "Create a custom, memorable URL for your survey",
|
||||
"remove_description": "Your survey will still be accessible via its original URL.",
|
||||
"remove_success": "Pretty URL removed successfully",
|
||||
"save_success": "Pretty URL saved successfully",
|
||||
"slug_help": "Use lowercase letters, numbers, and hyphens only.",
|
||||
"slug_label": "Custom Slug",
|
||||
"slug_placeholder": "customer-feedback",
|
||||
"slug_required": "Please enter a valid slug",
|
||||
"title": "Pretty URL"
|
||||
},
|
||||
"send_email": {
|
||||
"copy_embed_code": "Copy embed code",
|
||||
"description": "Embed your survey in an email to get responses from your audience.",
|
||||
@@ -1848,146 +1967,6 @@
|
||||
"uses_branching_logic": "This survey uses branching logic."
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"api_keys": {
|
||||
"add_api_key": "Add API Key",
|
||||
"api_key": "API Key",
|
||||
"api_key_copied_to_clipboard": "API key copied to clipboard",
|
||||
"api_key_created": "API key created",
|
||||
"api_key_deleted": "API Key deleted",
|
||||
"api_key_label": "API Key Label",
|
||||
"api_key_security_warning": "For security reasons, the API key will only be shown once after creation. Please copy it to your destination right away.",
|
||||
"api_key_updated": "API Key updated",
|
||||
"delete_api_key_confirmation": "Any applications using this key will no longer be able to access your Formbricks data.",
|
||||
"duplicate_access": "Duplicate workspace access not allowed",
|
||||
"no_api_keys_yet": "You don't have any API keys yet",
|
||||
"no_env_permissions_found": "No environment permissions found",
|
||||
"organization_access": "Organization Access",
|
||||
"organization_access_description": "Select read or write privileges for organization-wide resources.",
|
||||
"permissions": "Permissions",
|
||||
"secret": "Secret",
|
||||
"unable_to_delete_api_key": "Unable to delete API Key",
|
||||
"workspace_access": "Workspace Access"
|
||||
},
|
||||
"app-connection": {
|
||||
"app_connection": "App Connection",
|
||||
"app_connection_description": "Connect your app or website to Formbricks.",
|
||||
"cache_update_delay_description": "When you make updates to surveys, contacts, actions, or other data, it can take up to 1 minute for those changes to appear in your local app running the Formbricks SDK.",
|
||||
"cache_update_delay_title": "Changes will be reflected after ~1 minute due to caching",
|
||||
"environment_id": "Your Environment ID",
|
||||
"environment_id_description": "This id uniquely identifies this Formbricks environment.",
|
||||
"formbricks_sdk_connected": "Formbricks SDK is connected",
|
||||
"formbricks_sdk_not_connected": "Formbricks SDK is not yet connected.",
|
||||
"formbricks_sdk_not_connected_description": "Add the Formbricks SDK to your website or app to connect it with Formbricks",
|
||||
"how_to_setup": "How to setup",
|
||||
"how_to_setup_description": "Follow these steps to setup the Formbricks widget within your app.",
|
||||
"receiving_data": "Receiving data \uD83D\uDC83\uD83D\uDD7A",
|
||||
"recheck": "Re-check",
|
||||
"sdk_connection_details": "SDK Connection Details",
|
||||
"sdk_connection_details_description": "Your unique environment ID and SDK connection URL for integrating Formbricks with your application.",
|
||||
"setup_alert_description": "Follow this step-by-step tutorial to connect your app or website in under 5 minutes.",
|
||||
"setup_alert_title": "How to connect",
|
||||
"webapp_url": "SDK Connection URL"
|
||||
},
|
||||
"general": {
|
||||
"cannot_delete_only_workspace": "This is your only workspace, it cannot be deleted. Create a new workspace first.",
|
||||
"delete_workspace": "Delete Workspace",
|
||||
"delete_workspace_confirmation": "Are you sure you want to delete {projectName}? This action cannot be undone.",
|
||||
"delete_workspace_name_includes_surveys_responses_people_and_more": "Delete {projectName} incl. all surveys, responses, people, actions and attributes.",
|
||||
"delete_workspace_settings_description": "Delete workspace with all surveys, responses, people, actions and attributes. This cannot be undone.",
|
||||
"error_saving_workspace_information": "Error saving workspace information",
|
||||
"only_owners_or_managers_can_delete_workspaces": "Only owners or managers can delete workspaces",
|
||||
"recontact_waiting_time": "Workspace-wide Waiting Time Between Surveys",
|
||||
"recontact_waiting_time_settings_description": "Control how frequently users can be surveyed across all app surveys.",
|
||||
"this_action_cannot_be_undone": "This action cannot be undone.",
|
||||
"wait_x_days_before_showing_next_survey": "Wait X days before showing next survey:",
|
||||
"waiting_period_updated_successfully": "Waiting period updated successfully",
|
||||
"whats_your_workspace_called": "What's your workspace called?",
|
||||
"workspace_deleted_successfully": "Workspace deleted successfully",
|
||||
"workspace_name_settings_description": "Change your workspace's name.",
|
||||
"workspace_name_updated_successfully": "Workspace name updated successfully"
|
||||
},
|
||||
"languages": {
|
||||
"add_language": "Add language",
|
||||
"alias": "Alias",
|
||||
"alias_tooltip": "The alias is an alternate name to identify the language in link surveys and the SDK (optional)",
|
||||
"cannot_remove_language_warning": "You cannot remove this language since it’s still used in these surveys:",
|
||||
"conflict_between_identifier_and_alias": "There is a conflict between the identifier of an added language and one for your aliases. Aliases and identifiers cannot be identical.",
|
||||
"conflict_between_selected_alias_and_another_language": "There is a conflict between the selected alias and another language that has this identifier. Please add the language with this identifier to your workspace instead to avoid inconsistencies.",
|
||||
"delete_language_confirmation": "Are you sure you want to delete this language? This action cannot be undone.",
|
||||
"duplicate_language_or_language_id": "Duplicate language or language ID",
|
||||
"edit_languages": "Edit languages",
|
||||
"identifier": "Identifier (ISO)",
|
||||
"incomplete_translations": "Incomplete translations",
|
||||
"language": "Language",
|
||||
"language_deleted_successfully": "Language deleted successfully",
|
||||
"languages_updated_successfully": "Languages updated successfully",
|
||||
"multi_language_surveys": "Multi-Language Surveys",
|
||||
"multi_language_surveys_description": "Add languages to create multi-language surveys.",
|
||||
"no_language_found": "No language found. Add your first language below.",
|
||||
"please_select_a_language": "Please select a language",
|
||||
"remove_language": "Remove Language",
|
||||
"remove_language_from_surveys_to_remove_it_from_workspace": "Please remove the language from these surveys in order to remove it from the workspace.",
|
||||
"search_items": "Search items",
|
||||
"translate": "Translate"
|
||||
},
|
||||
"look": {
|
||||
"add_background_color": "Add background color",
|
||||
"add_background_color_description": "Add a background color to the logo container.",
|
||||
"app_survey_placement": "App Survey Placement",
|
||||
"app_survey_placement_settings_description": "Change where surveys will be shown in your web app or website.",
|
||||
"centered_modal_overlay_color": "Centered modal overlay color",
|
||||
"email_customization": "Email Customization",
|
||||
"email_customization_description": "Change the look and feel of emails Formbricks sends out on your behalf.",
|
||||
"enable_custom_styling": "Enable custom styling",
|
||||
"enable_custom_styling_description": "Allow users to override this theme in the survey editor.",
|
||||
"failed_to_remove_logo": "Failed to remove the logo",
|
||||
"failed_to_update_logo": "Failed to update the logo",
|
||||
"formbricks_branding": "Formbricks Branding",
|
||||
"formbricks_branding_hidden": "Formbricks branding is hidden.",
|
||||
"formbricks_branding_settings_description": "We love your support but understand if you toggle it off.",
|
||||
"formbricks_branding_shown": "Formbricks branding is shown.",
|
||||
"logo_removed_successfully": "Logo removed successfully",
|
||||
"logo_settings_description": "Upload your company logo to brand surveys and link previews.",
|
||||
"logo_updated_successfully": "Logo updated successfully",
|
||||
"logo_upload_failed": "Logo upload failed. Please try again.",
|
||||
"placement_updated_successfully": "Placement updated successfully",
|
||||
"remove_branding_with_a_higher_plan": "Remove branding with a higher plan",
|
||||
"remove_logo": "Remove Logo",
|
||||
"remove_logo_confirmation": "Are you sure you want to remove the logo?",
|
||||
"replace_logo": "Replace Logo",
|
||||
"reset_styling": "Reset styling",
|
||||
"reset_styling_confirmation": "Are you sure you want to reset the styling to default?",
|
||||
"show_formbricks_branding_in": "Show Formbricks Branding in {type} surveys",
|
||||
"show_powered_by_formbricks": "Show 'Powered by Formbricks' Signature",
|
||||
"styling_updated_successfully": "Styling updated successfully",
|
||||
"theme": "Theme",
|
||||
"theme_settings_description": "Create a style theme for all surveys. You can enable custom styling for each survey."
|
||||
},
|
||||
"tags": {
|
||||
"add": "Add",
|
||||
"add_tag": "Add Tag",
|
||||
"count": "Count",
|
||||
"delete_tag_confirmation": "Are you sure you want to delete this tag?",
|
||||
"manage_tags": "Manage Tags",
|
||||
"manage_tags_description": "Merge and remove response tags.",
|
||||
"merge": "Merge",
|
||||
"no_tag_found": "No tag found",
|
||||
"search_tags": "Search Tags...",
|
||||
"tag": "Tag",
|
||||
"tag_already_exists": "Tag already exists",
|
||||
"tag_deleted": "Tag deleted",
|
||||
"tag_updated": "Tag updated",
|
||||
"tags_merged": "Tags merged"
|
||||
},
|
||||
"teams": {
|
||||
"manage_teams": "Manage teams",
|
||||
"no_teams_found": "No teams found",
|
||||
"permission": "Permission",
|
||||
"team_name": "Team Name",
|
||||
"team_settings_description": "See which teams can access this workspace."
|
||||
}
|
||||
},
|
||||
"xm-templates": {
|
||||
"ces": "CES",
|
||||
"ces_description": "Leverage every touchpoint to understand ease of customer interaction.",
|
||||
@@ -2006,10 +1985,10 @@
|
||||
},
|
||||
"organizations": {
|
||||
"landing": {
|
||||
"no_workspaces_warning_subtitle": "Reach out to your organization owner to get access to workspaces. Or create an own organization to get started.",
|
||||
"no_workspaces_warning_title": "Your account doesn't have access to any workspaces yet."
|
||||
"no_projects_warning_subtitle": "Reach out to your organization owner to get access to projects. Or create an own organization to get started.",
|
||||
"no_projects_warning_title": "Your account doesn't have access to any projects yet."
|
||||
},
|
||||
"workspaces": {
|
||||
"projects": {
|
||||
"new": {
|
||||
"channel": {
|
||||
"channel_select_subtitle": "Share a link or display your survey in apps or on websites.",
|
||||
@@ -2030,12 +2009,12 @@
|
||||
"brand_color": "Brand color",
|
||||
"brand_color_description": "Match the main color of surveys with your brand.",
|
||||
"create_new_team": "Create new team",
|
||||
"team_description": "Who all can access this workspace?",
|
||||
"workspace_creation_failed": "Workspace creation failed",
|
||||
"workspace_name": "Product name",
|
||||
"workspace_name_description": "What is your product called?",
|
||||
"workspace_settings_subtitle": "When people recognize your brand, they are much more likely to start and complete responses.",
|
||||
"workspace_settings_title": "Let respondents know it's you"
|
||||
"project_creation_failed": "Project creation failed",
|
||||
"project_name": "Product name",
|
||||
"project_name_description": "What is your product called?",
|
||||
"project_settings_subtitle": "When people recognize your brand, they are much more likely to start and complete responses.",
|
||||
"project_settings_title": "Let respondents know it's you",
|
||||
"team_description": "Who all can access this project?"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user