From 0b7267afd801ce4169e3c807043805fc833ad9b6 Mon Sep 17 00:00:00 2001 From: pandeymangg Date: Wed, 29 Apr 2026 11:50:51 +0530 Subject: [PATCH] fix: removes project references --- .../(app)/workspaces/[workspaceId]/actions.ts | 2 +- apps/web/lib/utils/templates.test.ts | 16 +-- apps/web/locales/de-DE.json | 16 +-- apps/web/locales/es-ES.json | 72 +++++------ apps/web/locales/fr-FR.json | 58 ++++----- apps/web/locales/nl-NL.json | 40 +++--- apps/web/locales/pt-BR.json | 58 ++++----- apps/web/locales/pt-PT.json | 58 ++++----- apps/web/locales/ro-RO.json | 20 +-- apps/web/locales/ru-RU.json | 40 +++--- apps/web/locales/sv-SE.json | 22 ++-- apps/web/locales/tr-TR.json | 116 +++++++++--------- apps/web/locales/zh-Hans-CN.json | 22 ++-- apps/web/locales/zh-Hant-TW.json | 22 ++-- .../ee/analysis/charts/lib/charts.test.ts | 2 +- .../dashboards/lib/dashboards.test.ts | 2 +- .../lib/feedback-record-directory.test.ts | 4 +- .../lib/feedback-record-directory.ts | 4 +- .../types/feedback-record-directory.ts | 2 +- .../ee/license-check/lib/utils.test.ts | 4 +- .../lib/self-hosted-provider.test.ts | 2 +- .../response-pipeline/lib/telemetry.test.ts | 2 +- .../template-list/lib/utils.test.ts | 6 +- .../editor/components/survey-editor.tsx | 2 +- .../web/modules/survey/list/lib/utils.test.ts | 2 +- apps/web/modules/survey/list/lib/utils.ts | 12 +- .../components/language-view.tsx | 20 +-- docker/formbricks.sh | 2 +- docs/api-v2-reference/openapi.yml | 65 ++++++++-- .../organization/naming-conventions.mdx | 15 ++- packages/database/README.md | 12 +- packages/surveys/README.md | 2 +- .../src/components/general/survey.test.tsx | 4 +- 33 files changed, 388 insertions(+), 338 deletions(-) diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/actions.ts b/apps/web/app/(app)/workspaces/[workspaceId]/actions.ts index 13953f6b5172..588af526b3fb 100644 --- a/apps/web/app/(app)/workspaces/[workspaceId]/actions.ts +++ b/apps/web/app/(app)/workspaces/[workspaceId]/actions.ts @@ -117,7 +117,7 @@ const ZGetWorkspacesForSwitcherAction = z.object({ }); /** - * Fetches projects list for switcher dropdown. + * Fetches workspaces list for switcher dropdown. * Called on-demand when user opens the workspace switcher. */ export const getWorkspacesForSwitcherAction = authenticatedActionClient diff --git a/apps/web/lib/utils/templates.test.ts b/apps/web/lib/utils/templates.test.ts index c4b087a1a530..42efa1b917f1 100644 --- a/apps/web/lib/utils/templates.test.ts +++ b/apps/web/lib/utils/templates.test.ts @@ -36,13 +36,13 @@ describe("Template Utilities", () => { } as unknown as TSurveyElement; const workspace = { - name: "TestProject", + name: "TestWorkspace", } as unknown as TWorkspace; const result = replaceElementPresetPlaceholders(element, workspace); // The function directly replaces without calling getLocalizedValue in the test scenario - expect(result.headline?.default).toBe("How do you like TestProject?"); + expect(result.headline?.default).toBe("How do you like TestWorkspace?"); }); test("replaces workspaceName placeholder in subheader", () => { @@ -53,13 +53,13 @@ describe("Template Utilities", () => { } as unknown as TSurveyElement; const workspace = { - name: "TestProject", + name: "TestWorkspace", } as unknown as TWorkspace; const result = replaceElementPresetPlaceholders(element, workspace); expect(result.headline?.default).toBe("Question"); - expect(result.subheader?.default).toBe("Subheader for TestProject"); + expect(result.subheader?.default).toBe("Subheader for TestWorkspace"); }); test("handles missing headline and subheader", () => { @@ -68,7 +68,7 @@ describe("Template Utilities", () => { } as unknown as TSurveyElement; const workspace = { - name: "TestProject", + name: "TestWorkspace", } as unknown as TWorkspace; const result = replaceElementPresetPlaceholders(element, workspace); @@ -106,14 +106,14 @@ describe("Template Utilities", () => { } as unknown as TTemplate; const workspace = { - name: "TestProject", + name: "TestWorkspace", } as TWorkspace; const result = replacePresetPlaceholders(mockTemplate, workspace); expect(structuredClone).toHaveBeenCalledWith(mockTemplate.preset); - expect(result.preset.name).toBe("TestProject Feedback"); - expect(result.preset.blocks[0].elements[0].headline?.default).toBe("How would you rate TestProject?"); + expect(result.preset.name).toBe("TestWorkspace Feedback"); + expect(result.preset.blocks[0].elements[0].headline?.default).toBe("How would you rate TestWorkspace?"); }); }); }); diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 75a2631f3c20..3e903560e414 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -162,7 +162,7 @@ "choice_n": "Auswahl {n}", "choices": "Entscheidungen", "choose_organization": "Organisation auswählen", - "choose_workspace": "Projekt auswählen", + "choose_workspace": "Workspace auswählen", "clear_all": "Alles löschen", "clear_filters": "Filter löschen", "clear_selection": "Auswahl aufheben", @@ -243,7 +243,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_workspaces": "Workspaces konnten nicht geladen werden", "failed_to_parse_csv": "CSV-Analyse fehlgeschlagen", "field_placeholder": "Platzhalter für {field}", "filter": "Filter", @@ -503,13 +503,13 @@ "weeks": "Wochen", "welcome_card": "Willkommenskarte", "workspace": "Arbeitsbereich", - "workspace_configuration": "Projektkonfiguration", - "workspace_created_successfully": "Projekt erfolgreich erstellt", - "workspace_creation_description": "Organisieren Sie Umfragen in Projekten für eine bessere Zugriffskontrolle.", - "workspace_id": "Projekt-ID", - "workspace_name": "Projektname", + "workspace_configuration": "Workspace-Konfiguration", + "workspace_created_successfully": "Workspace erfolgreich erstellt", + "workspace_creation_description": "Organisiere Umfragen in Workspaces für eine bessere Zugriffskontrolle.", + "workspace_id": "Workspace-ID", + "workspace_name": "Workspace-Name", "workspace_name_placeholder": "z. B. Formbricks", - "workspaces": "Projekte", + "workspaces": "Workspaces", "years": "Jahre", "yes": "Ja", "you_are_downgraded_to_the_community_edition": "Du wurdest auf die Community Edition herabgestuft.", diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json index 206be10dda34..e51afb0e2bce 100644 --- a/apps/web/locales/es-ES.json +++ b/apps/web/locales/es-ES.json @@ -130,9 +130,9 @@ "add_filter": "Añadir filtro", "add_logo": "Añadir logotipo", "add_member": "Añadir miembro", - "add_new_workspace": "Añadir proyecto nuevo", + "add_new_workspace": "Añadir nuevo espacio de trabajo", "add_to_team": "Añadir al equipo", - "add_workspace": "Añadir proyecto", + "add_workspace": "Añadir espacio de trabajo", "all": "Todos", "all_questions": "Todas las preguntas", "allow": "Permitir", @@ -162,7 +162,7 @@ "choice_n": "Opción {n}", "choices": "Opciones", "choose_organization": "Elegir organización", - "choose_workspace": "Elegir proyecto", + "choose_workspace": "Elegir espacio de trabajo", "clear_all": "Borrar todo", "clear_filters": "Borrar filtros", "clear_selection": "Borrar selección", @@ -197,7 +197,7 @@ "create_new_organization": "Crear organización nueva", "create_segment": "Crear segmento", "create_survey": "Crear encuesta", - "create_workspace": "Crear proyecto", + "create_workspace": "Crear espacio de trabajo", "created": "Creado", "created_at": "Creado el", "created_by": "Creado por", @@ -243,7 +243,7 @@ "expand_rows": "Expandir filas", "failed_to_copy_to_clipboard": "Error al copiar al portapapeles", "failed_to_load_organizations": "Error al cargar organizaciones", - "failed_to_load_workspaces": "Error al cargar los proyectos", + "failed_to_load_workspaces": "Error al cargar los espacios de trabajo", "failed_to_parse_csv": "Error al analizar el CSV", "field_placeholder": "Marcador de posición de {field}", "filter": "Filtro", @@ -476,7 +476,7 @@ "type": "Tipo", "unify": "Unificar", "unknown_survey": "Encuesta desconocida", - "unlock_more_workspaces_with_a_higher_plan": "Desbloquea más proyectos con un plan superior.", + "unlock_more_workspaces_with_a_higher_plan": "Desbloquea más espacios de trabajo con un plan superior.", "update": "Actualizar", "updated": "Actualizado", "updated_at": "Actualizado el", @@ -503,13 +503,13 @@ "weeks": "semanas", "welcome_card": "Tarjeta de bienvenida", "workspace": "Espacio de trabajo", - "workspace_configuration": "Configuración del proyecto", - "workspace_created_successfully": "Proyecto creado correctamente", - "workspace_creation_description": "Organiza las encuestas en proyectos para un mejor control de acceso.", - "workspace_id": "ID del proyecto", - "workspace_name": "Nombre del proyecto", + "workspace_configuration": "Configuración del espacio de trabajo", + "workspace_created_successfully": "Espacio de trabajo creado correctamente", + "workspace_creation_description": "Organiza las encuestas en espacios de trabajo para un mejor control de acceso.", + "workspace_id": "ID del espacio de trabajo", + "workspace_name": "Nombre del espacio de trabajo", "workspace_name_placeholder": "p. ej. Formbricks", - "workspaces": "Proyectos", + "workspaces": "Espacios de trabajo", "years": "años", "yes": "Sí", "you_are_downgraded_to_the_community_edition": "Has sido degradado a la edición Community.", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Logo de Formbricks", "general": { - "cannot_delete_only_workspace": "Este es tu único proyecto, no se puede eliminar. Crea primero un proyecto nuevo.", + "cannot_delete_only_workspace": "Este es tu único espacio de trabajo, no se puede eliminar. Crea primero un nuevo espacio de trabajo.", "custom_scripts": "Scripts personalizados", "custom_scripts_card_description": "Añade scripts de seguimiento y píxeles a todas las encuestas con enlace en este espacio de trabajo.", "custom_scripts_description": "Los scripts se inyectarán en el de todas las páginas de encuestas con enlace.", @@ -1994,20 +1994,20 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Scripts personalizados actualizados correctamente", "custom_scripts_warning": "Los scripts se ejecutan con acceso completo al navegador. Solo añade scripts de fuentes confiables.", - "delete_workspace": "Eliminar proyecto", + "delete_workspace": "Eliminar espacio de trabajo", "delete_workspace_confirmation": "¿Estás seguro de que quieres eliminar {workspaceName}? Esta acción no se puede deshacer.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Eliminar {workspaceName} incluyendo todas las encuestas, respuestas, personas, acciones y atributos.", - "delete_workspace_settings_description": "Eliminar proyecto con todas las encuestas, respuestas, personas, acciones y atributos. Esto no se puede deshacer.", - "error_saving_workspace_information": "Error al guardar la información del proyecto", - "only_owners_or_managers_can_delete_workspaces": "Solo los propietarios o administradores pueden eliminar proyectos", + "delete_workspace_settings_description": "Elimina el espacio de trabajo con todas las encuestas, respuestas, personas, acciones y atributos. Esta acción no se puede deshacer.", + "error_saving_workspace_information": "Error al guardar la información del espacio de trabajo", + "only_owners_or_managers_can_delete_workspaces": "Solo los propietarios o administradores pueden eliminar espacios de trabajo", "recontact_waiting_time": "Periodo de espera (entre encuestas)", "recontact_waiting_time_settings_description": "Controla con qué frecuencia se puede encuestar a los usuarios en todas las encuestas de sitio web y aplicación de este espacio de trabajo.", "this_action_cannot_be_undone": "Esta acción no se puede deshacer.", "wait_x_days_before_showing_next_survey": "Esperar X días antes de mostrar la siguiente encuesta:", "waiting_period_updated_successfully": "Periodo de espera actualizado correctamente", - "whats_your_workspace_called": "¿Cómo se llama tu proyecto?", - "workspace_deleted_successfully": "Proyecto eliminado correctamente", - "workspace_name_settings_description": "Cambia el nombre de tu proyecto.", + "whats_your_workspace_called": "¿Cómo se llama tu espacio de trabajo?", + "workspace_deleted_successfully": "Espacio de trabajo eliminado correctamente", + "workspace_name_settings_description": "Cambia el nombre de tu espacio de trabajo.", "workspace_name_updated_successfully": "Nombre del espacio de trabajo actualizado correctamente" }, "integrations": { @@ -2447,7 +2447,7 @@ "trial_payment_method_added_description": "¡Todo listo! Tu plan Pro continuará automáticamente cuando termine el periodo de prueba.", "trial_title": "¡Consigue Formbricks Pro gratis!", "unlimited_responses": "Respuestas ilimitadas", - "unlimited_workspaces": "Proyectos ilimitados", + "unlimited_workspaces": "Espacios de trabajo ilimitados", "upgrade": "Actualizar", "upgrade_now": "Actualizar ahora", "usage_cycle": "Usage cycle", @@ -2470,7 +2470,7 @@ "pretty_url": "URL bonita", "survey_name": "Nombre de la encuesta", "title": "URL bonitas", - "workspace": "Proyecto" + "workspace": "Espacio de trabajo" }, "enterprise": { "audit_logs": "Registros de auditoría", @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "No puedes abandonar esta organización ya que es tu única organización. Crea una nueva organización primero.", "copy_invite_link_to_clipboard": "Copiar enlace de invitación al portapapeles", "create_new_organization": "Crear nueva organización", - "create_new_organization_description": "Crea una nueva organización para gestionar un conjunto diferente de proyectos.", + "create_new_organization_description": "Crea una nueva organización para gestionar un conjunto diferente de espacios de trabajo.", "customize_email_with_a_higher_plan": "Personaliza el correo electrónico con un plan superior", - "delete_member_confirmation": "Los miembros eliminados perderán acceso a todos los proyectos y encuestas de tu organización.", + "delete_member_confirmation": "Los miembros eliminados perderán el acceso a todos los espacios de trabajo y encuestas de tu organización.", "delete_organization": "Eliminar organización", - "delete_organization_description": "Eliminar organización con todos sus proyectos incluyendo todas las encuestas, respuestas, personas, acciones y atributos", + "delete_organization_description": "Elimina la organización con todos sus espacios de trabajo, incluyendo todas las encuestas, respuestas, personas, acciones y atributos", "delete_organization_warning": "Antes de proceder con la eliminación de esta organización, ten en cuenta las siguientes consecuencias:", - "delete_organization_warning_1": "Eliminación permanente de todos los proyectos vinculados a esta organización.", + "delete_organization_warning_1": "Eliminación permanente de todos los espacios de trabajo vinculados a esta organización.", "delete_organization_warning_2": "Esta acción no se puede deshacer. Si desaparece, desaparece para siempre.", "delete_organization_warning_3": "Por favor, introduce {organizationName} en el siguiente campo para confirmar la eliminación definitiva de esta organización:", "eliminate_branding_with_whitelabel": "Elimina la marca Formbricks y habilita opciones adicionales de personalización de marca blanca.", @@ -2673,10 +2673,10 @@ }, "teams": { "add_members_description": "Añade miembros al equipo y determina su rol.", - "add_workspaces_description": "Controla a qué proyectos pueden acceder los miembros del equipo.", + "add_workspaces_description": "Controla a qué espacios de trabajo pueden acceder los miembros del equipo.", "all_members_added": "Todos los miembros añadidos a este equipo.", - "all_workspaces_added": "Todos los proyectos añadidos a este equipo.", - "are_you_sure_you_want_to_delete_this_team": "¿Estás seguro de que quieres eliminar este equipo? Esto también elimina el acceso a todos los proyectos y encuestas asociados con este equipo.", + "all_workspaces_added": "Todos los espacios de trabajo añadidos a este equipo.", + "are_you_sure_you_want_to_delete_this_team": "¿Estás seguro de que quieres eliminar este equipo? Esto también elimina el acceso a todos los espacios de trabajo y encuestas asociadas con este equipo.", "billing_role_description": "Solo tienen acceso a la información de facturación.", "bulk_invite": "Invitación masiva", "contributor": "Colaborador", @@ -2692,14 +2692,14 @@ "manage": "Gestionar", "manage_team": "Gestionar equipo", "manage_team_disabled": "Solo los propietarios de la organización, gestores y administradores de equipo pueden gestionar equipos.", - "manager_role_description": "Los gestores pueden acceder a todos los proyectos y añadir y eliminar miembros.", + "manager_role_description": "Los gestores pueden acceder a todos los espacios de trabajo y añadir o eliminar miembros.", "member": "Miembro", - "member_role_description": "Los miembros pueden trabajar en proyectos seleccionados.", - "member_role_info_message": "Para dar a los nuevos miembros acceso a un proyecto, por favor añádelos a un equipo a continuación. Con los equipos puedes gestionar quién tiene acceso a qué proyecto.", + "member_role_description": "Los miembros pueden trabajar en los espacios de trabajo seleccionados.", + "member_role_info_message": "Para dar acceso a nuevos miembros a un espacio de trabajo, añádelos a un equipo a continuación. Con los equipos puedes gestionar quién tiene acceso a qué espacio de trabajo.", "organization_role": "Rol en la organización", "owner_role_description": "Los propietarios tienen control total sobre la organización.", "please_fill_all_member_fields": "Por favor, rellena todos los campos para añadir un nuevo miembro.", - "please_fill_all_workspace_fields": "Por favor, rellena todos los campos para añadir un proyecto nuevo.", + "please_fill_all_workspace_fields": "Por favor, rellena todos los campos para añadir un nuevo espacio de trabajo.", "read": "Lectura", "read_write": "Lectura y escritura", "team_admin": "Administrador de equipo", @@ -2712,8 +2712,8 @@ "team_settings_description": "Gestiona miembros del equipo, derechos de acceso y más.", "team_updated_successfully": "Equipo actualizado correctamente", "teams": "Equipos", - "teams_description": "Asigna miembros a equipos y da acceso a los equipos a proyectos.", - "unlock_teams_description": "Gestiona qué miembros de la organización tienen acceso a proyectos y encuestas específicos.", + "teams_description": "Asigna miembros a equipos y otorga a los equipos acceso a los espacios de trabajo.", + "unlock_teams_description": "Gestiona qué miembros de la organización tienen acceso a espacios de trabajo y encuestas específicos.", "unlock_teams_title": "Desbloquea Equipos con un plan superior.", "upgrade_plan_notice_message": "Desbloquea Roles de Organización con un plan superior.", "you_are_a_member": "Eres miembro" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "Las siguientes opciones se utilizan en la lógica: {questionIndexes}. Por favor, elimínalas de la lógica primero.", "override_theme_with_individual_styles_for_this_survey": "Anular el tema con estilos individuales para esta encuesta.", "overwrite_global_waiting_time": "Establecer periodo de espera personalizado", - "overwrite_global_waiting_time_description": "Anular la configuración del proyecto solo para esta encuesta.", + "overwrite_global_waiting_time_description": "Anula la configuración del espacio de trabajo solo para esta encuesta.", "overwrite_placement": "Sobrescribir ubicación", "overwrite_survey_logo": "Establecer logotipo personalizado para la encuesta", "overwrite_the_global_placement_of_the_survey": "Sobrescribir la ubicación global de la encuesta", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index b8ed48c744ce..4f9911071b74 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -130,9 +130,9 @@ "add_filter": "Ajouter un filtre", "add_logo": "Ajouter un logo", "add_member": "Ajouter un membre", - "add_new_workspace": "Ajouter un nouveau projet", + "add_new_workspace": "Ajouter un nouvel espace de travail", "add_to_team": "Ajouter à l'équipe", - "add_workspace": "Ajouter un projet", + "add_workspace": "Ajouter un espace de travail", "all": "Tout", "all_questions": " toutes les questions", "allow": "Autoriser", @@ -162,7 +162,7 @@ "choice_n": "Choix {n}", "choices": "Choix", "choose_organization": "Choisir l'organisation", - "choose_workspace": "Choisir un projet", + "choose_workspace": "Choisir un espace de travail", "clear_all": "Tout effacer", "clear_filters": "Effacer les filtres", "clear_selection": "Effacer la sélection", @@ -197,7 +197,7 @@ "create_new_organization": "Créer une nouvelle organisation", "create_segment": "Créer un segment", "create_survey": "Créer un sondage", - "create_workspace": "Créer un projet", + "create_workspace": "Créer un espace de travail", "created": "Créé", "created_at": "Créé le", "created_by": "Créé par", @@ -243,7 +243,7 @@ "expand_rows": "Développer les lignes", "failed_to_copy_to_clipboard": "Échec de la copie dans le presse-papiers", "failed_to_load_organizations": "Échec du chargement des organisations", - "failed_to_load_workspaces": "Échec du chargement des projets", + "failed_to_load_workspaces": "Échec du chargement des espaces de travail", "failed_to_parse_csv": "Échec de l'analyse du CSV", "field_placeholder": "Espace réservé pour {field}", "filter": "Filtre", @@ -476,7 +476,7 @@ "type": "Type", "unify": "Unifier", "unknown_survey": "Enquête inconnue", - "unlock_more_workspaces_with_a_higher_plan": "Débloquez plus de projets avec un forfait supérieur.", + "unlock_more_workspaces_with_a_higher_plan": "Débloque plus d'espaces de travail avec un forfait supérieur.", "update": "Mise à jour", "updated": "Mise à jour", "updated_at": "Mis à jour à", @@ -503,13 +503,13 @@ "weeks": "semaines", "welcome_card": "Carte de bienvenue", "workspace": "Espace de travail", - "workspace_configuration": "Configuration du projet", - "workspace_created_successfully": "Projet créé avec succès", - "workspace_creation_description": "Organisez les enquêtes dans des projets pour un meilleur contrôle d'accès.", - "workspace_id": "ID du projet", - "workspace_name": "Nom du projet", + "workspace_configuration": "Configuration de l'espace de travail", + "workspace_created_successfully": "Espace de travail créé avec succès", + "workspace_creation_description": "Organise tes enquêtes dans des espaces de travail pour un meilleur contrôle d'accès.", + "workspace_id": "ID de l'espace de travail", + "workspace_name": "Nom de l'espace de travail", "workspace_name_placeholder": "par ex. Formbricks", - "workspaces": "Projets", + "workspaces": "Espaces de travail", "years": "années", "yes": "Oui", "you_are_downgraded_to_the_community_edition": "Vous êtes rétrogradé à l'édition communautaire.", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Logo Formbricks", "general": { - "cannot_delete_only_workspace": "Il s'agit de votre seul projet, il ne peut pas être supprimé. Créez d'abord un nouveau projet.", + "cannot_delete_only_workspace": "C'est ton seul espace de travail, il ne peut pas être supprimé. Crée d'abord un nouvel espace de travail.", "custom_scripts": "Scripts personnalisés", "custom_scripts_card_description": "Ajouter des scripts de suivi et des pixels à toutes les enquêtes par lien dans cet espace de travail.", "custom_scripts_description": "Les scripts seront injectés dans le de toutes les pages d'enquête par lien.", @@ -1994,21 +1994,21 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Scripts personnalisés mis à jour avec succès", "custom_scripts_warning": "Les scripts s'exécutent avec un accès complet au navigateur. Ajoutez uniquement des scripts provenant de sources fiables.", - "delete_workspace": "Supprimer le projet", + "delete_workspace": "Supprimer l'espace de travail", "delete_workspace_confirmation": "Es-tu sûr de vouloir supprimer {workspaceName} ? Cette action est irréversible.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Supprimer {workspaceName} y compris tous les sondages, réponses, personnes, actions et attributs.", - "delete_workspace_settings_description": "Supprimer le projet avec toutes les enquêtes, réponses, personnes, actions et attributs. Cette opération est irréversible.", - "error_saving_workspace_information": "Erreur lors de l'enregistrement des informations du projet", - "only_owners_or_managers_can_delete_workspaces": "Seuls les propriétaires ou les gestionnaires peuvent supprimer des projets", + "delete_workspace_settings_description": "Supprimer l'espace de travail avec toutes les enquêtes, réponses, personnes, actions et attributs. Cette action est irréversible.", + "error_saving_workspace_information": "Erreur lors de l'enregistrement des informations de l'espace de travail", + "only_owners_or_managers_can_delete_workspaces": "Seuls les propriétaires ou les gestionnaires peuvent supprimer des espaces de travail", "recontact_waiting_time": "Période de refroidissement (entre les sondages)", "recontact_waiting_time_settings_description": "Contrôlez la fréquence à laquelle les utilisateurs peuvent être interrogés dans tous les sondages de site web et d'application de cet espace de travail.", "this_action_cannot_be_undone": "Cette action ne peut pas être annulée.", "wait_x_days_before_showing_next_survey": "Attendre X jours avant d'afficher la prochaine enquête :", "waiting_period_updated_successfully": "Période d'attente mise à jour avec succès", - "whats_your_workspace_called": "Comment s'appelle votre projet ?", - "workspace_deleted_successfully": "Projet supprimé avec succès", - "workspace_name_settings_description": "Modifiez le nom de votre projet.", - "workspace_name_updated_successfully": "Nom du projet mis à jour avec succès" + "whats_your_workspace_called": "Comment s'appelle ton espace de travail ?", + "workspace_deleted_successfully": "Espace de travail supprimé avec succès", + "workspace_name_settings_description": "Modifie le nom de ton espace de travail.", + "workspace_name_updated_successfully": "Nom de l'espace de travail mis à jour avec succès" }, "integrations": { "activepieces_integration_description": "Connectez instantanément Formbricks à des applications populaires pour automatiser des tâches sans effectuer de codage.", @@ -2166,7 +2166,7 @@ "alias_tooltip": "L'alias est un nom alternatif pour identifier la langue dans les enquêtes par lien et le SDK (facultatif)", "cannot_remove_language_warning": "Vous ne pouvez pas supprimer cette langue car elle est encore utilisée dans ces enquêtes :", "conflict_between_identifier_and_alias": "Il y a un conflit entre l'identifiant d'une langue ajoutée et l'un de vos alias. Les alias et les identifiants ne peuvent pas être identiques.", - "conflict_between_selected_alias_and_another_language": "Il y a un conflit entre l'alias sélectionné et une autre langue qui possède cet identifiant. Veuillez plutôt ajouter la langue avec cet identifiant à votre projet pour éviter les incohérences.", + "conflict_between_selected_alias_and_another_language": "Il y a un conflit entre l'alias sélectionné et une autre langue qui possède cet identifiant. Ajoute plutôt la langue avec cet identifiant à ton espace de travail pour éviter les incohérences.", "delete_language_confirmation": "Êtes-vous sûr de vouloir supprimer cette langue ? Cette action ne peut pas être annulée.", "duplicate_language_or_language_id": "Langue ou identifiant de langue en double", "edit_languages": "Modifier les langues", @@ -2447,7 +2447,7 @@ "trial_payment_method_added_description": "Tout est prêt ! Votre abonnement Pro se poursuivra automatiquement après la fin de la période d'essai.", "trial_title": "Obtenez Formbricks Pro gratuitement !", "unlimited_responses": "Réponses illimitées", - "unlimited_workspaces": "Projets illimités", + "unlimited_workspaces": "Espaces de travail illimités", "upgrade": "Mise à niveau", "upgrade_now": "Passer à la formule supérieure maintenant", "usage_cycle": "Usage cycle", @@ -2470,7 +2470,7 @@ "pretty_url": "URL personnalisée", "survey_name": "Nom de l'enquête", "title": "URL personnalisées", - "workspace": "Projet" + "workspace": "Espace de travail" }, "enterprise": { "audit_logs": "Journaux d'audit", @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "Vous ne pouvez pas quitter cette organisation car c'est votre seule organisation. Créez d'abord une nouvelle organisation.", "copy_invite_link_to_clipboard": "Copier le lien d'invitation dans le presse-papiers", "create_new_organization": "Créer une nouvelle organisation", - "create_new_organization_description": "Créez une nouvelle organisation pour gérer un ensemble différent de projets.", + "create_new_organization_description": "Crée une nouvelle organisation pour gérer un ensemble différent d'espaces de travail.", "customize_email_with_a_higher_plan": "Personnalisez vos e-mails en passant à un forfait supérieur", - "delete_member_confirmation": "Les membres supprimés perdront l'accès à tous les projets et enquêtes de votre organisation.", + "delete_member_confirmation": "Les membres supprimés perdront l'accès à tous les espaces de travail et enquêtes de votre organisation.", "delete_organization": "Supprimer l'organisation", - "delete_organization_description": "Supprimer l'organisation avec tous ses projets, y compris toutes les enquêtes, réponses, personnes, actions et attributs", + "delete_organization_description": "Supprimer l'organisation avec tous ses espaces de travail, incluant toutes les enquêtes, réponses, personnes, actions et attributs", "delete_organization_warning": "Avant de procéder à la suppression de cette organisation, veuillez prendre connaissance des conséquences suivantes :", - "delete_organization_warning_1": "Suppression définitive de tous les projets liés à cette organisation.", + "delete_organization_warning_1": "Suppression définitive de tous les espaces de travail liés à cette organisation.", "delete_organization_warning_2": "Cette action ne peut pas être annulée. Si c'est parti, c'est parti.", "delete_organization_warning_3": "Veuillez entrer {organizationName} dans le champ suivant pour confirmer la suppression définitive de cette organisation :", "eliminate_branding_with_whitelabel": "Le logo Formbricks n'apparaîtra plus et d'autres options de personnalisation s'offriront à vous.", @@ -2673,7 +2673,7 @@ }, "teams": { "add_members_description": "Ajoutez des membres à l'équipe et déterminez leur rôle.", - "add_workspaces_description": "Contrôlez les projets auxquels les membres de l'équipe peuvent accéder.", + "add_workspaces_description": "Contrôlez les espaces de travail auxquels les membres de l'équipe peuvent accéder.", "all_members_added": "Tous les membres ajoutés à cette équipe.", "all_workspaces_added": "Tous les espaces de travail ont été ajoutés à cette équipe.", "are_you_sure_you_want_to_delete_this_team": "Êtes-vous sûr de vouloir supprimer cette équipe ? Cela supprime également l'accès à tous les espaces de travail et enquêtes associés à cette équipe.", diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json index 286f522f5125..3aac6ace8a18 100644 --- a/apps/web/locales/nl-NL.json +++ b/apps/web/locales/nl-NL.json @@ -504,7 +504,7 @@ "welcome_card": "Welkomstkaart", "workspace": "Werkruimte", "workspace_configuration": "Werkruimte-configuratie", - "workspace_created_successfully": "Project succesvol aangemaakt", + "workspace_created_successfully": "Werkruimte succesvol aangemaakt", "workspace_creation_description": "Organiseer enquêtes in werkruimtes voor beter toegangsbeheer.", "workspace_id": "Werkruimte-ID", "workspace_name": "Werkruimtenaam", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Formbricks-logo", "general": { - "cannot_delete_only_workspace": "Dit is uw enige project, het kan niet worden verwijderd. Maak eerst een nieuw project aan.", + "cannot_delete_only_workspace": "Dit is je enige werkruimte en kan niet worden verwijderd. Maak eerst een nieuwe werkruimte aan.", "custom_scripts": "Aangepaste scripts", "custom_scripts_card_description": "Voeg trackingscripts en pixels toe aan alle linkenquêtes in deze werkruimte.", "custom_scripts_description": "Scripts worden geïnjecteerd in de van alle linkenquêtepagina's.", @@ -1994,20 +1994,20 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Aangepaste scripts succesvol bijgewerkt", "custom_scripts_warning": "Scripts worden uitgevoerd met volledige browsertoegang. Voeg alleen scripts toe van vertrouwde bronnen.", - "delete_workspace": "Project verwijderen", + "delete_workspace": "Werkruimte verwijderen", "delete_workspace_confirmation": "Weet je zeker dat je {workspaceName} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Verwijder {workspaceName} inclusief alle enquêtes, antwoorden, mensen, acties en attributen.", - "delete_workspace_settings_description": "Verwijder project met alle enquêtes, reacties, mensen, acties en attributen. Dit kan niet ongedaan worden gemaakt.", - "error_saving_workspace_information": "Fout bij opslaan van projectinformatie", - "only_owners_or_managers_can_delete_workspaces": "Alleen eigenaren of beheerders kunnen projecten verwijderen", + "delete_workspace_settings_description": "Verwijder werkruimte met alle enquêtes, reacties, personen, acties en attributen. Dit kan niet ongedaan worden gemaakt.", + "error_saving_workspace_information": "Fout bij het opslaan van werkruimte-informatie", + "only_owners_or_managers_can_delete_workspaces": "Alleen eigenaren of managers kunnen werkruimtes verwijderen", "recontact_waiting_time": "Afkoelperiode (voor alle enquêtes)", "recontact_waiting_time_settings_description": "Bepaal hoe vaak gebruikers kunnen worden bevraagd voor alle website- en app-enquêtes in deze workspace.", "this_action_cannot_be_undone": "Deze actie kan niet ongedaan worden gemaakt.", "wait_x_days_before_showing_next_survey": "Wacht X dagen voordat de volgende enquête wordt getoond:", "waiting_period_updated_successfully": "Wachtperiode succesvol bijgewerkt", - "whats_your_workspace_called": "Hoe heet uw project?", - "workspace_deleted_successfully": "Project succesvol verwijderd", - "workspace_name_settings_description": "Wijzig de naam van uw project.", + "whats_your_workspace_called": "Hoe heet je werkruimte?", + "workspace_deleted_successfully": "Werkruimte succesvol verwijderd", + "workspace_name_settings_description": "Wijzig de naam van je werkruimte.", "workspace_name_updated_successfully": "Werkruimtenaam succesvol bijgewerkt" }, "integrations": { @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "U kunt deze organisatie niet verlaten, aangezien dit uw enige organisatie is. Maak eerst een nieuwe organisatie aan.", "copy_invite_link_to_clipboard": "Kopieer de uitnodigingslink naar het klembord", "create_new_organization": "Creëer een nieuwe organisatie", - "create_new_organization_description": "Creëer een nieuwe organisatie om een ​​andere reeks projecten af ​​te handelen.", + "create_new_organization_description": "Maak een nieuwe organisatie aan om een andere set werkruimtes te beheren.", "customize_email_with_a_higher_plan": "Pas e-mail aan met een hoger abonnement", - "delete_member_confirmation": "Verwijderde leden verliezen de toegang tot alle projecten en enquêtes van uw organisatie.", + "delete_member_confirmation": "Verwijderde leden verliezen toegang tot alle werkruimtes en enquêtes van je organisatie.", "delete_organization": "Organisatie verwijderen", - "delete_organization_description": "Verwijder de organisatie met al haar projecten, inclusief alle enquêtes, reacties, mensen, acties en attributen", + "delete_organization_description": "Verwijder organisatie met al haar werkruimtes inclusief alle enquêtes, reacties, personen, acties en attributen", "delete_organization_warning": "Voordat u doorgaat met het verwijderen van deze organisatie, moet u rekening houden met de volgende gevolgen:", - "delete_organization_warning_1": "Permanente verwijdering van alle projecten die aan deze organisatie zijn gekoppeld.", + "delete_organization_warning_1": "Permanente verwijdering van alle werkruimtes die aan deze organisatie zijn gekoppeld.", "delete_organization_warning_2": "Deze actie kan niet ongedaan worden gemaakt. Als het weg is, is het weg.", "delete_organization_warning_3": "Voer {organizationName} in het volgende veld in om de definitieve verwijdering van deze organisatie te bevestigen:", "eliminate_branding_with_whitelabel": "Elimineer de Formbricks-branding en maak extra white-label aanpassingsopties mogelijk.", @@ -2676,7 +2676,7 @@ "add_workspaces_description": "Bepaal tot welke werkruimtes de teamleden toegang hebben.", "all_members_added": "Alle leden zijn aan dit team toegevoegd.", "all_workspaces_added": "Alle werkruimtes toegevoegd aan dit team.", - "are_you_sure_you_want_to_delete_this_team": "Weet u zeker dat u dit team wilt verwijderen? Hiermee wordt ook de toegang verwijderd tot alle projecten en enquêtes die aan dit team zijn gekoppeld.", + "are_you_sure_you_want_to_delete_this_team": "Weet je zeker dat je dit team wilt verwijderen? Dit verwijdert ook de toegang tot alle werkruimtes en enquêtes die bij dit team horen.", "billing_role_description": "U heeft alleen toegang tot factuurgegevens.", "bulk_invite": "Bulk-uitnodiging", "contributor": "Bijdrager", @@ -2692,10 +2692,10 @@ "manage": "Beheren", "manage_team": "Beheer team", "manage_team_disabled": "Alleen organisatie-eigenaren, managers en teambeheerders kunnen teams beheren.", - "manager_role_description": "Managers hebben toegang tot alle projecten en kunnen leden toevoegen en verwijderen.", + "manager_role_description": "Managers hebben toegang tot alle werkruimtes en kunnen leden toevoegen en verwijderen.", "member": "Lid", - "member_role_description": "Leden kunnen in geselecteerde projecten werken.", - "member_role_info_message": "Om nieuwe leden toegang te geven tot een project, voegt u ze hieronder toe aan een team. Met Teams kun je beheren wie toegang heeft tot welk project.", + "member_role_description": "Leden kunnen werken in geselecteerde werkruimtes.", + "member_role_info_message": "Om nieuwe leden toegang te geven tot een werkruimte, voeg ze toe aan een Team hieronder. Met Teams kun je beheren wie toegang heeft tot welke werkruimte.", "organization_role": "Organisatierol", "owner_role_description": "Eigenaars hebben volledige controle over de organisatie.", "please_fill_all_member_fields": "Vul alle velden in om een ​​nieuw lid toe te voegen.", @@ -2712,8 +2712,8 @@ "team_settings_description": "Beheer teamleden, toegangsrechten en meer.", "team_updated_successfully": "Team succesvol bijgewerkt", "teams": "Teams", - "teams_description": "Wijs leden toe aan teams en geef teams toegang tot projecten.", - "unlock_teams_description": "Beheer welke organisatieleden toegang hebben tot specifieke projecten en enquêtes.", + "teams_description": "Wijs leden toe aan teams en geef teams toegang tot werkruimtes.", + "unlock_teams_description": "Beheer welke organisatieleden toegang hebben tot specifieke werkruimtes en enquêtes.", "unlock_teams_title": "Ontgrendel teams met een hoger plan.", "upgrade_plan_notice_message": "Ontgrendel organisatierollen met een hoger plan.", "you_are_a_member": "Je bent lid" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "De volgende opties worden gebruikt in logica: {questionIndexes}. Verwijder ze eerst uit de logica.", "override_theme_with_individual_styles_for_this_survey": "Overschrijf het thema met individuele stijlen voor deze enquête.", "overwrite_global_waiting_time": "Aangepaste afkoelperiode instellen", - "overwrite_global_waiting_time_description": "Overschrijf de projectconfiguratie alleen voor deze enquête.", + "overwrite_global_waiting_time_description": "Overschrijf de werkruimte-instellingen alleen voor deze enquête.", "overwrite_placement": "Plaatsing overschrijven", "overwrite_survey_logo": "Stel aangepast enquêtelogo in", "overwrite_the_global_placement_of_the_survey": "Overschrijf de globale plaatsing van de enquête", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index b49b741d53eb..4a8896a0f7f1 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -130,9 +130,9 @@ "add_filter": "Adicionar filtro", "add_logo": "Adicionar logo", "add_member": "Adicionar membro", - "add_new_workspace": "Adicionar novo projeto", + "add_new_workspace": "Adicionar novo workspace", "add_to_team": "Adicionar à equipe", - "add_workspace": "Adicionar projeto", + "add_workspace": "Adicionar workspace", "all": "Todos", "all_questions": "Todas as perguntas", "allow": "permitir", @@ -162,7 +162,7 @@ "choice_n": "Escolha {n}", "choices": "Escolhas", "choose_organization": "Escolher organização", - "choose_workspace": "Escolher projeto", + "choose_workspace": "Escolher workspace", "clear_all": "Limpar tudo", "clear_filters": "Limpar filtros", "clear_selection": "Limpar seleção", @@ -197,7 +197,7 @@ "create_new_organization": "Criar nova organização", "create_segment": "Criar segmento", "create_survey": "Criar pesquisa", - "create_workspace": "Criar projeto", + "create_workspace": "Criar workspace", "created": "Criado", "created_at": "Data de criação", "created_by": "Criado por", @@ -243,7 +243,7 @@ "expand_rows": "Expandir linhas", "failed_to_copy_to_clipboard": "Falha ao copiar para a área de transferência", "failed_to_load_organizations": "Falha ao carregar organizações", - "failed_to_load_workspaces": "Falha ao carregar projetos", + "failed_to_load_workspaces": "Falha ao carregar workspaces", "failed_to_parse_csv": "Falha ao analisar CSV", "field_placeholder": "Espaço reservado de {field}", "filter": "Filtro", @@ -476,7 +476,7 @@ "type": "Tipo", "unify": "Unificar", "unknown_survey": "Pesquisa desconhecida", - "unlock_more_workspaces_with_a_higher_plan": "Desbloqueie mais projetos com um plano superior.", + "unlock_more_workspaces_with_a_higher_plan": "Desbloqueie mais workspaces com um plano superior.", "update": "atualizar", "updated": "atualizado", "updated_at": "Atualizado em", @@ -503,13 +503,13 @@ "weeks": "semanas", "welcome_card": "Cartão de boas-vindas", "workspace": "Espaço de trabalho", - "workspace_configuration": "Configuração do projeto", - "workspace_created_successfully": "Projeto criado com sucesso", - "workspace_creation_description": "Organize pesquisas em projetos para melhor controle de acesso.", - "workspace_id": "ID do projeto", - "workspace_name": "Nome do projeto", + "workspace_configuration": "Configuração do Workspace", + "workspace_created_successfully": "Workspace criado com sucesso", + "workspace_creation_description": "Organize pesquisas em workspaces para melhor controle de acesso.", + "workspace_id": "ID do Workspace", + "workspace_name": "Nome do Workspace", "workspace_name_placeholder": "ex: Formbricks", - "workspaces": "Projetos", + "workspaces": "Workspaces", "years": "anos", "yes": "Sim", "you_are_downgraded_to_the_community_edition": "Você foi rebaixado para a Edição Comunitária.", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Logo da Formbricks", "general": { - "cannot_delete_only_workspace": "Este é seu único projeto, ele não pode ser excluído. Crie um novo projeto primeiro.", + "cannot_delete_only_workspace": "Este é o seu único workspace, não pode ser excluído. Crie um novo workspace primeiro.", "custom_scripts": "Scripts personalizados", "custom_scripts_card_description": "Adicione scripts de rastreamento e pixels a todas as pesquisas de link neste workspace.", "custom_scripts_description": "Os scripts serão injetados no de todas as páginas de pesquisa de link.", @@ -1994,21 +1994,21 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Scripts personalizados atualizados com sucesso", "custom_scripts_warning": "Os scripts são executados com acesso total ao navegador. Adicione apenas scripts de fontes confiáveis.", - "delete_workspace": "Excluir projeto", + "delete_workspace": "Excluir Workspace", "delete_workspace_confirmation": "Tem certeza que deseja excluir {workspaceName}? Esta ação não pode ser desfeita.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Excluir {workspaceName} incluindo todas as pesquisas, respostas, pessoas, ações e atributos.", - "delete_workspace_settings_description": "Excluir projeto com todas as pesquisas, respostas, pessoas, ações e atributos. Isso não pode ser desfeito.", - "error_saving_workspace_information": "Erro ao salvar informações do projeto", - "only_owners_or_managers_can_delete_workspaces": "Apenas proprietários ou gerentes podem excluir projetos", + "delete_workspace_settings_description": "Excluir workspace com todas as pesquisas, respostas, pessoas, ações e atributos. Isso não pode ser desfeito.", + "error_saving_workspace_information": "Erro ao salvar informações do workspace", + "only_owners_or_managers_can_delete_workspaces": "Apenas proprietários ou gerentes podem excluir workspaces", "recontact_waiting_time": "Período de espera (entre pesquisas)", "recontact_waiting_time_settings_description": "Controle com que frequência os usuários podem ser pesquisados em todas as pesquisas de website e app neste workspace.", "this_action_cannot_be_undone": "Essa ação não pode ser desfeita.", "wait_x_days_before_showing_next_survey": "Aguardar X dias antes de mostrar a próxima pesquisa:", "waiting_period_updated_successfully": "Período de espera atualizado com sucesso", - "whats_your_workspace_called": "Como se chama seu projeto?", - "workspace_deleted_successfully": "Projeto excluído com sucesso", - "workspace_name_settings_description": "Altere o nome do seu projeto.", - "workspace_name_updated_successfully": "Nome do projeto atualizado com sucesso" + "whats_your_workspace_called": "Como seu workspace se chama?", + "workspace_deleted_successfully": "Workspace excluído com sucesso", + "workspace_name_settings_description": "Altere o nome do seu workspace.", + "workspace_name_updated_successfully": "Nome do workspace atualizado com sucesso" }, "integrations": { "activepieces_integration_description": "Conecte o Formbricks instantaneamente com aplicativos populares para automatizar tarefas sem codificação.", @@ -2166,7 +2166,7 @@ "alias_tooltip": "O alias é um nome alternativo para identificar o idioma em pesquisas de link e no SDK (opcional)", "cannot_remove_language_warning": "Você não pode remover este idioma, pois ele ainda está sendo usado nestas pesquisas:", "conflict_between_identifier_and_alias": "Há um conflito entre o identificador de um idioma adicionado e um dos seus aliases. Aliases e identificadores não podem ser idênticos.", - "conflict_between_selected_alias_and_another_language": "Há um conflito entre o alias selecionado e outro idioma que possui este identificador. Adicione o idioma com este identificador ao seu projeto para evitar inconsistências.", + "conflict_between_selected_alias_and_another_language": "Há um conflito entre o alias selecionado e outro idioma que possui este identificador. Por favor, adicione o idioma com este identificador ao seu workspace para evitar inconsistências.", "delete_language_confirmation": "Tem certeza de que deseja excluir este idioma? Essa ação não pode ser desfeita.", "duplicate_language_or_language_id": "Idioma ou ID de idioma duplicado", "edit_languages": "Editar idiomas", @@ -2447,7 +2447,7 @@ "trial_payment_method_added_description": "Tudo pronto! Seu plano Pro continuará automaticamente após o término do período de teste.", "trial_title": "Ganhe o Formbricks Pro gratuitamente!", "unlimited_responses": "Respostas Ilimitadas", - "unlimited_workspaces": "Projetos ilimitados", + "unlimited_workspaces": "Workspaces Ilimitados", "upgrade": "Atualizar", "upgrade_now": "Fazer upgrade agora", "usage_cycle": "Usage cycle", @@ -2470,7 +2470,7 @@ "pretty_url": "URL amigável", "survey_name": "Nome da Pesquisa", "title": "URLs amigáveis", - "workspace": "Projeto" + "workspace": "Workspace" }, "enterprise": { "audit_logs": "Registros de Auditoria", @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "Você não pode sair dessa organização porque é a sua única. Crie uma nova organização primeiro.", "copy_invite_link_to_clipboard": "Copiar link do convite para a área de transferência", "create_new_organization": "Criar nova organização", - "create_new_organization_description": "Crie uma nova organização para gerenciar um conjunto diferente de projetos.", + "create_new_organization_description": "Crie uma nova organização para gerenciar um conjunto diferente de workspaces.", "customize_email_with_a_higher_plan": "Personalize o email com um plano superior", - "delete_member_confirmation": "Membros excluídos perderão acesso a todos os projetos e pesquisas da sua organização.", + "delete_member_confirmation": "Membros excluídos perderão acesso a todos os workspaces e pesquisas da sua organização.", "delete_organization": "Excluir Organização", - "delete_organization_description": "Excluir organização com todos os seus projetos, incluindo todas as pesquisas, respostas, pessoas, ações e atributos", + "delete_organization_description": "Excluir organização com todos os seus workspaces, incluindo todas as pesquisas, respostas, pessoas, ações e atributos", "delete_organization_warning": "Antes de continuar com a exclusão desta organização, esteja ciente das seguintes consequências:", - "delete_organization_warning_1": "Remoção permanente de todos os projetos vinculados a esta organização.", + "delete_organization_warning_1": "Remoção permanente de todos os workspaces vinculados a esta organização.", "delete_organization_warning_2": "Essa ação não pode ser desfeita. Se foi, foi.", "delete_organization_warning_3": "Por favor, insira {organizationName} no campo abaixo para confirmar a exclusão definitiva desta organização:", "eliminate_branding_with_whitelabel": "Elimine a marca Formbricks e ative opções adicionais de personalização de marca branca.", @@ -2673,7 +2673,7 @@ }, "teams": { "add_members_description": "Adicione membros à equipe e determine sua função.", - "add_workspaces_description": "Controle quais projetos os membros da equipe podem acessar.", + "add_workspaces_description": "Controle quais workspaces os membros da equipe podem acessar.", "all_members_added": "Todos os membros adicionados a esta equipe.", "all_workspaces_added": "Todos os espaços de trabalho adicionados a esta equipe.", "are_you_sure_you_want_to_delete_this_team": "Tem certeza de que deseja excluir esta equipe? Isso também remove o acesso a todos os espaços de trabalho e pesquisas associados a esta equipe.", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index 0dbf3c14a18d..424666e7ea98 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -130,9 +130,9 @@ "add_filter": "Adicionar filtro", "add_logo": "Adicionar logótipo", "add_member": "Adicionar membro", - "add_new_workspace": "Adicionar novo projeto", + "add_new_workspace": "Adicionar novo espaço de trabalho", "add_to_team": "Adicionar à equipa", - "add_workspace": "Adicionar projeto", + "add_workspace": "Adicionar espaço de trabalho", "all": "Todos", "all_questions": "Todas as perguntas", "allow": "Permitir", @@ -162,7 +162,7 @@ "choice_n": "Escolha {n}", "choices": "Escolhas", "choose_organization": "Escolher organização", - "choose_workspace": "Escolher projeto", + "choose_workspace": "Escolher espaço de trabalho", "clear_all": "Limpar tudo", "clear_filters": "Limpar filtros", "clear_selection": "Limpar seleção", @@ -197,7 +197,7 @@ "create_new_organization": "Criar nova organização", "create_segment": "Criar segmento", "create_survey": "Criar inquérito", - "create_workspace": "Criar projeto", + "create_workspace": "Criar espaço de trabalho", "created": "Criado", "created_at": "Criado em", "created_by": "Criado por", @@ -243,7 +243,7 @@ "expand_rows": "Expandir linhas", "failed_to_copy_to_clipboard": "Falha ao copiar para a área de transferência", "failed_to_load_organizations": "Falha ao carregar organizações", - "failed_to_load_workspaces": "Falha ao carregar projetos", + "failed_to_load_workspaces": "Falha ao carregar espaços de trabalho", "failed_to_parse_csv": "Falha ao analisar o CSV", "field_placeholder": "Espaço reservado de {field}", "filter": "Filtro", @@ -476,7 +476,7 @@ "type": "Tipo", "unify": "Unificar", "unknown_survey": "Inquérito desconhecido", - "unlock_more_workspaces_with_a_higher_plan": "Desbloqueie mais projetos com um plano superior.", + "unlock_more_workspaces_with_a_higher_plan": "Desbloqueia mais espaços de trabalho com um plano superior.", "update": "Atualizar", "updated": "Atualizado", "updated_at": "Atualizado em", @@ -503,13 +503,13 @@ "weeks": "semanas", "welcome_card": "Cartão de boas-vindas", "workspace": "Espaço de trabalho", - "workspace_configuration": "Configuração do projeto", - "workspace_created_successfully": "Projeto criado com sucesso", - "workspace_creation_description": "Organize inquéritos em projetos para melhor controlo de acesso.", - "workspace_id": "ID do projeto", - "workspace_name": "Nome do projeto", + "workspace_configuration": "Configuração do Espaço de Trabalho", + "workspace_created_successfully": "Espaço de trabalho criado com sucesso", + "workspace_creation_description": "Organiza inquéritos em espaços de trabalho para um melhor controlo de acesso.", + "workspace_id": "ID do Espaço de Trabalho", + "workspace_name": "Nome do Espaço de Trabalho", "workspace_name_placeholder": "ex. Formbricks", - "workspaces": "Projetos", + "workspaces": "Espaços de Trabalho", "years": "anos", "yes": "Sim", "you_are_downgraded_to_the_community_edition": "Foi rebaixado para a Edição Comunitária.", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Logotipo do Formbricks", "general": { - "cannot_delete_only_workspace": "Este é o seu único projeto, não pode ser eliminado. Crie primeiro um novo projeto.", + "cannot_delete_only_workspace": "Este é o teu único espaço de trabalho e não pode ser eliminado. Cria primeiro um novo espaço de trabalho.", "custom_scripts": "Scripts personalizados", "custom_scripts_card_description": "Adicionar scripts de rastreamento e pixels a todos os inquéritos de link nesta área de trabalho.", "custom_scripts_description": "Os scripts serão injetados no de todas as páginas de inquéritos de link.", @@ -1994,21 +1994,21 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Scripts personalizados atualizados com sucesso", "custom_scripts_warning": "Os scripts são executados com acesso total ao navegador. Adicione apenas scripts de fontes fidedignas.", - "delete_workspace": "Eliminar projeto", + "delete_workspace": "Eliminar Espaço de Trabalho", "delete_workspace_confirmation": "Tens a certeza de que queres eliminar {workspaceName}? Esta ação não pode ser revertida.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Eliminar {workspaceName} incluindo todos os inquéritos, respostas, pessoas, ações e atributos.", - "delete_workspace_settings_description": "Eliminar projeto com todos os inquéritos, respostas, pessoas, ações e atributos. Isto não pode ser desfeito.", - "error_saving_workspace_information": "Erro ao guardar informações do projeto", - "only_owners_or_managers_can_delete_workspaces": "Apenas proprietários ou gestores podem eliminar projetos", + "delete_workspace_settings_description": "Elimina o espaço de trabalho com todos os inquéritos, respostas, pessoas, ações e atributos. Esta ação não pode ser revertida.", + "error_saving_workspace_information": "Erro ao guardar informações do espaço de trabalho", + "only_owners_or_managers_can_delete_workspaces": "Apenas proprietários ou gestores podem eliminar espaços de trabalho", "recontact_waiting_time": "Período de espera (entre inquéritos)", "recontact_waiting_time_settings_description": "Controle com que frequência os utilizadores podem ser inquiridos em todos os inquéritos de website e aplicação neste espaço de trabalho.", "this_action_cannot_be_undone": "Esta ação não pode ser desfeita.", "wait_x_days_before_showing_next_survey": "Aguardar X dias antes de mostrar o próximo inquérito:", "waiting_period_updated_successfully": "Período de espera atualizado com sucesso", - "whats_your_workspace_called": "Como se chama o seu projeto?", - "workspace_deleted_successfully": "Projeto eliminado com sucesso", - "workspace_name_settings_description": "Altere o nome do seu projeto.", - "workspace_name_updated_successfully": "Nome do projeto atualizado com sucesso" + "whats_your_workspace_called": "Como se chama o teu espaço de trabalho?", + "workspace_deleted_successfully": "Espaço de trabalho eliminado com sucesso", + "workspace_name_settings_description": "Altera o nome do teu espaço de trabalho.", + "workspace_name_updated_successfully": "Nome do espaço de trabalho atualizado com sucesso" }, "integrations": { "activepieces_integration_description": "Conecte instantaneamente o Formbricks com apps populares para automatizar tarefas sem codificação.", @@ -2166,7 +2166,7 @@ "alias_tooltip": "O alias é um nome alternativo para identificar o idioma em inquéritos de link e no SDK (opcional)", "cannot_remove_language_warning": "Não pode remover este idioma porque ainda está a ser utilizado nestes inquéritos:", "conflict_between_identifier_and_alias": "Existe um conflito entre o identificador de um idioma adicionado e um dos seus aliases. Aliases e identificadores não podem ser idênticos.", - "conflict_between_selected_alias_and_another_language": "Existe um conflito entre o alias selecionado e outro idioma que tem este identificador. Por favor, adicione o idioma com este identificador ao seu projeto para evitar inconsistências.", + "conflict_between_selected_alias_and_another_language": "Existe um conflito entre o alias selecionado e outro idioma que possui este identificador. Por favor, adiciona o idioma com este identificador ao teu espaço de trabalho para evitar inconsistências.", "delete_language_confirmation": "Tem a certeza de que pretende eliminar este idioma? Esta ação não pode ser desfeita.", "duplicate_language_or_language_id": "Idioma ou ID de idioma duplicado", "edit_languages": "Editar idiomas", @@ -2447,7 +2447,7 @@ "trial_payment_method_added_description": "Está tudo pronto! O teu plano Pro continuará automaticamente após o fim do período experimental.", "trial_title": "Obtém o Formbricks Pro gratuitamente!", "unlimited_responses": "Respostas Ilimitadas", - "unlimited_workspaces": "Projetos ilimitados", + "unlimited_workspaces": "Espaços de Trabalho Ilimitados", "upgrade": "Atualizar", "upgrade_now": "Fazer upgrade agora", "usage_cycle": "Usage cycle", @@ -2470,7 +2470,7 @@ "pretty_url": "URL amigável", "survey_name": "Nome do inquérito", "title": "URLs amigáveis", - "workspace": "Projeto" + "workspace": "Espaço de Trabalho" }, "enterprise": { "audit_logs": "Registos de Auditoria", @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "Não pode sair desta organização, pois é a sua única organização. Crie uma nova organização primeiro.", "copy_invite_link_to_clipboard": "Copiar link de convite para a área de transferência", "create_new_organization": "Criar nova organização", - "create_new_organization_description": "Crie uma nova organização para gerir um conjunto diferente de projetos.", + "create_new_organization_description": "Cria uma nova organização para gerir um conjunto diferente de espaços de trabalho.", "customize_email_with_a_higher_plan": "Personalize o e-mail com um plano superior", - "delete_member_confirmation": "Os membros eliminados perderão o acesso a todos os projetos e inquéritos da sua organização.", + "delete_member_confirmation": "Os membros eliminados perderão o acesso a todos os espaços de trabalho e inquéritos da tua organização.", "delete_organization": "Eliminar Organização", - "delete_organization_description": "Eliminar organização com todos os seus projetos, incluindo todos os inquéritos, respostas, pessoas, ações e atributos", + "delete_organization_description": "Eliminar organização com todos os seus espaços de trabalho, incluindo todos os inquéritos, respostas, pessoas, ações e atributos", "delete_organization_warning": "Antes de prosseguir com a eliminação desta organização, esteja ciente das seguintes consequências:", - "delete_organization_warning_1": "Remoção permanente de todos os projetos associados a esta organização.", + "delete_organization_warning_1": "Remoção permanente de todos os espaços de trabalho associados a esta organização.", "delete_organization_warning_2": "Esta ação não pode ser desfeita. Se for eliminada, está eliminada.", "delete_organization_warning_3": "Por favor, insira {organizationName} no campo seguinte para confirmar a eliminação definitiva desta organização:", "eliminate_branding_with_whitelabel": "Elimine a marca Formbricks e ative opções adicionais de personalização de marca branca.", @@ -2673,7 +2673,7 @@ }, "teams": { "add_members_description": "Adicionar membros à equipa e determinar o seu papel.", - "add_workspaces_description": "Controle a quais projetos os membros da equipa podem aceder.", + "add_workspaces_description": "Controla a quais espaços de trabalho os membros da equipa podem aceder.", "all_members_added": "Todos os membros adicionados a esta equipa.", "all_workspaces_added": "Todos os espaços de trabalho adicionados a esta equipa.", "are_you_sure_you_want_to_delete_this_team": "Tem a certeza de que pretende eliminar esta equipa? Isto também remove o acesso a todos os espaços de trabalho e inquéritos associados a esta equipa.", diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json index bc3b6e151095..32e1afd3dbe8 100644 --- a/apps/web/locales/ro-RO.json +++ b/apps/web/locales/ro-RO.json @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Logo Formbricks", "general": { - "cannot_delete_only_workspace": "Acesta este singurul tău proiect, nu poate fi șters. Creează mai întâi un proiect nou.", + "cannot_delete_only_workspace": "Acesta este singurul tău spațiu de lucru și nu poate fi șters. Creează mai întâi un spațiu de lucru nou.", "custom_scripts": "Scripturi personalizate", "custom_scripts_card_description": "Adaugă scripturi de tracking și pixeli tuturor sondajelor cu link din acest spațiu de lucru.", "custom_scripts_description": "Scripturile vor fi injectate în pe toate paginile sondajelor cu link.", @@ -1994,21 +1994,21 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Scripturile personalizate au fost actualizate cu succes", "custom_scripts_warning": "Scripturile se execută cu acces complet la browser. Adaugă doar scripturi din surse de încredere.", - "delete_workspace": "Șterge proiectul", + "delete_workspace": "Șterge Spațiul de Lucru", "delete_workspace_confirmation": "Ești sigur că vrei să ștergi {workspaceName}? Această acțiune nu poate fi anulată.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Șterge {workspaceName} incluzând toate sondajele, răspunsurile, persoanele, acțiunile și atributele.", - "delete_workspace_settings_description": "Șterge proiectul cu toate sondajele, răspunsurile, persoanele, acțiunile și atributele. Aceasta nu poate fi anulată.", - "error_saving_workspace_information": "Eroare la salvarea informațiilor despre proiect", - "only_owners_or_managers_can_delete_workspaces": "Doar proprietarii sau managerii pot șterge proiecte", + "delete_workspace_settings_description": "Șterge spațiul de lucru împreună cu toate sondajele, răspunsurile, persoanele, acțiunile și atributele. Această acțiune nu poate fi anulată.", + "error_saving_workspace_information": "Eroare la salvarea informațiilor spațiului de lucru", + "only_owners_or_managers_can_delete_workspaces": "Doar proprietarii sau managerii pot șterge spațiile de lucru", "recontact_waiting_time": "Perioadă de răcire (între sondaje)", "recontact_waiting_time_settings_description": "Controlează cât de des pot fi chestionați utilizatorii în toate sondajele Website & App din acest workspace.", "this_action_cannot_be_undone": "Această acțiune nu poate fi anulată.", "wait_x_days_before_showing_next_survey": "Așteaptă X zile înainte de a afișa următorul sondaj:", "waiting_period_updated_successfully": "Perioada de așteptare a fost actualizată cu succes", - "whats_your_workspace_called": "Cum se numește proiectul tău?", - "workspace_deleted_successfully": "Proiectul a fost șters cu succes", - "workspace_name_settings_description": "Schimbă numele proiectului tău.", - "workspace_name_updated_successfully": "Numele proiectului a fost actualizat cu succes" + "whats_your_workspace_called": "Cum se numește spațiul tău de lucru?", + "workspace_deleted_successfully": "Spațiul de lucru a fost șters cu succes", + "workspace_name_settings_description": "Schimbă numele spațiului tău de lucru.", + "workspace_name_updated_successfully": "Numele spațiului de lucru a fost actualizat cu succes" }, "integrations": { "activepieces_integration_description": "Conectați instantaneu Formbricks cu aplicații populare pentru a automatiza sarcini fără codare.", @@ -2166,7 +2166,7 @@ "alias_tooltip": "Aliasul este un nume alternativ pentru a identifica limba în sondajele pe link și în SDK (opțional)", "cannot_remove_language_warning": "Nu poți elimina această limbă deoarece este încă folosită în următoarele sondaje:", "conflict_between_identifier_and_alias": "Există un conflict între identificatorul unei limbi adăugate și unul dintre aliasurile tale. Aliasurile și identificatorii nu pot fi identici.", - "conflict_between_selected_alias_and_another_language": "Există un conflict între aliasul selectat și o altă limbă care are acest identificator. Adaugă limba cu acest identificator în proiectul tău pentru a evita inconsistențele.", + "conflict_between_selected_alias_and_another_language": "Există un conflict între aliasul selectat și o altă limbă care are acest identificator. Te rugăm să adaugi în schimb limba cu acest identificator în spațiul tău de lucru pentru a evita inconsistențele.", "delete_language_confirmation": "Sigur vrei să ștergi această limbă? Această acțiune nu poate fi anulată.", "duplicate_language_or_language_id": "Limbă sau ID de limbă duplicat", "edit_languages": "Editați limbile", diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json index 36e2d96b82ed..6d665cfc40ea 100644 --- a/apps/web/locales/ru-RU.json +++ b/apps/web/locales/ru-RU.json @@ -504,7 +504,7 @@ "welcome_card": "Приветственная карточка", "workspace": "Рабочее пространство", "workspace_configuration": "Настройка рабочего пространства", - "workspace_created_successfully": "Рабочий проект успешно создан", + "workspace_created_successfully": "Рабочее пространство успешно создано", "workspace_creation_description": "Организуйте опросы в рабочих пространствах для лучшего контроля доступа.", "workspace_id": "ID рабочего пространства", "workspace_name": "Название рабочего пространства", @@ -1986,7 +1986,7 @@ }, "formbricks_logo": "Логотип Formbricks", "general": { - "cannot_delete_only_workspace": "Это ваш единственный рабочий проект, его нельзя удалить. Сначала создайте новый проект.", + "cannot_delete_only_workspace": "Это ваше единственное рабочее пространство, его нельзя удалить. Сначала создайте новое рабочее пространство.", "custom_scripts": "Пользовательские скрипты", "custom_scripts_card_description": "Добавьте трекинговые скрипты и пиксели ко всем опросам по ссылке в этом рабочем пространстве.", "custom_scripts_description": "Скрипты будут внедряться в всех страниц опросов по ссылке.", @@ -1994,20 +1994,20 @@ "custom_scripts_placeholder": "\n", "custom_scripts_updated_successfully": "Пользовательские скрипты успешно обновлены", "custom_scripts_warning": "Скрипты выполняются с полным доступом к браузеру. Добавляйте только скрипты из доверенных источников.", - "delete_workspace": "Удалить рабочий проект", + "delete_workspace": "Удалить рабочее пространство", "delete_workspace_confirmation": "Вы уверены, что хотите удалить {workspaceName}? Это действие нельзя отменить.", "delete_workspace_name_includes_surveys_responses_people_and_more": "Удалить {workspaceName}, включая все опросы, ответы, людей, действия и атрибуты.", - "delete_workspace_settings_description": "Удалить рабочий проект со всеми опросами, ответами, пользователями, действиями и атрибутами. Это действие необратимо.", - "error_saving_workspace_information": "Ошибка при сохранении информации о рабочем проекте", - "only_owners_or_managers_can_delete_workspaces": "Только владельцы или менеджеры могут удалять рабочие проекты", + "delete_workspace_settings_description": "Удалить рабочее пространство со всеми опросами, ответами, людьми, действиями и атрибутами. Это действие нельзя отменить.", + "error_saving_workspace_information": "Ошибка при сохранении информации о рабочем пространстве", + "only_owners_or_managers_can_delete_workspaces": "Только владельцы или менеджеры могут удалять рабочие пространства", "recontact_waiting_time": "Период ожидания (между опросами)", "recontact_waiting_time_settings_description": "Управляйте частотой, с которой пользователи могут проходить опросы на сайте и в приложении в этом рабочем пространстве.", "this_action_cannot_be_undone": "Это действие нельзя отменить.", "wait_x_days_before_showing_next_survey": "Ждать X дней перед показом следующего опроса:", "waiting_period_updated_successfully": "Период ожидания успешно обновлён", - "whats_your_workspace_called": "Как называется ваш рабочий проект?", - "workspace_deleted_successfully": "Рабочий проект успешно удалён", - "workspace_name_settings_description": "Измените название вашего рабочего проекта.", + "whats_your_workspace_called": "Как называется твоё рабочее пространство?", + "workspace_deleted_successfully": "Рабочее пространство успешно удалено", + "workspace_name_settings_description": "Измените название вашего рабочего пространства.", "workspace_name_updated_successfully": "Название рабочей области успешно обновлено" }, "integrations": { @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "Вы не можете покинуть эту организацию, так как она у вас единственная. Сначала создайте новую организацию.", "copy_invite_link_to_clipboard": "Скопировать ссылку-приглашение в буфер обмена", "create_new_organization": "Создать новую организацию", - "create_new_organization_description": "Создайте новую организацию для управления отдельным набором проектов.", + "create_new_organization_description": "Создайте новую организацию для управления другим набором рабочих пространств.", "customize_email_with_a_higher_plan": "Настройте электронную почту с помощью более высокого тарифа", - "delete_member_confirmation": "Удалённые участники потеряют доступ ко всем проектам и опросам вашей организации.", + "delete_member_confirmation": "Удалённые участники потеряют доступ ко всем рабочим пространствам и опросам вашей организации.", "delete_organization": "Удалить организацию", - "delete_organization_description": "Удалите организацию со всеми её проектами, включая все опросы, ответы, людей, действия и атрибуты", + "delete_organization_description": "Удалить организацию со всеми её рабочими пространствами, включая все опросы, ответы, людей, действия и атрибуты", "delete_organization_warning": "Прежде чем продолжить удаление этой организации, обратите внимание на следующие последствия:", - "delete_organization_warning_1": "Безвозвратное удаление всех проектов, связанных с этой организацией.", + "delete_organization_warning_1": "Безвозвратное удаление всех рабочих пространств, связанных с этой организацией.", "delete_organization_warning_2": "Это действие нельзя отменить. Если удалено — то удалено навсегда.", "delete_organization_warning_3": "Пожалуйста, введите {organizationName} в поле ниже для подтверждения окончательного удаления этой организации:", "eliminate_branding_with_whitelabel": "Уберите брендинг Formbricks и получите дополнительные возможности для white-label кастомизации.", @@ -2676,7 +2676,7 @@ "add_workspaces_description": "Управляйте доступом участников команды к рабочим пространствам.", "all_members_added": "Все участники добавлены в эту команду.", "all_workspaces_added": "Все рабочие пространства добавлены в эту команду.", - "are_you_sure_you_want_to_delete_this_team": "Вы уверены, что хотите удалить эту команду? Это также удалит доступ ко всем проектам и опросам, связанным с этой командой.", + "are_you_sure_you_want_to_delete_this_team": "Вы уверены, что хотите удалить эту команду? Это также удалит доступ ко всем рабочим пространствам и опросам, связанным с этой командой.", "billing_role_description": "Доступ только к платёжной информации.", "bulk_invite": "Массовое приглашение", "contributor": "Участник", @@ -2692,10 +2692,10 @@ "manage": "Управлять", "manage_team": "Управлять командой", "manage_team_disabled": "Только владельцы организации, менеджеры и администраторы команд могут управлять командами.", - "manager_role_description": "Менеджеры имеют доступ ко всем проектам, а также могут добавлять и удалять участников.", + "manager_role_description": "Менеджеры могут получать доступ ко всем рабочим пространствам, а также добавлять и удалять участников.", "member": "Участник", - "member_role_description": "Участники могут работать в выбранных проектах.", - "member_role_info_message": "Чтобы предоставить новым участникам доступ к проекту, добавьте их в команду ниже. С помощью команд вы можете управлять доступом к проектам.", + "member_role_description": "Участники могут работать в выбранных рабочих пространствах.", + "member_role_info_message": "Чтобы предоставить новым участникам доступ к рабочему пространству, добавьте их в команду ниже. С помощью команд ты можешь управлять тем, кто имеет доступ к какому рабочему пространству.", "organization_role": "Роль в организации", "owner_role_description": "Владельцы имеют полный контроль над организацией.", "please_fill_all_member_fields": "Пожалуйста, заполните все поля для добавления нового участника.", @@ -2712,8 +2712,8 @@ "team_settings_description": "Управляйте участниками команды, правами доступа и другими параметрами.", "team_updated_successfully": "Команда успешно обновлена", "teams": "Команды", - "teams_description": "Распределяйте участников по командам и предоставляйте командам доступ к проектам.", - "unlock_teams_description": "Управляйте доступом участников организации к отдельным проектам и опросам.", + "teams_description": "Распределите участников по командам и предоставьте командам доступ к рабочим пространствам.", + "unlock_teams_description": "Управляйте тем, какие участники организации имеют доступ к конкретным рабочим пространствам и опросам.", "unlock_teams_title": "Откройте доступ к командам с более высоким тарифом.", "upgrade_plan_notice_message": "Откройте роли организации с более высоким тарифом.", "you_are_a_member": "Вы участник" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "Следующие варианты используются в логике: {questionIndexes}. Пожалуйста, сначала удалите их из логики.", "override_theme_with_individual_styles_for_this_survey": "Переопределить тему индивидуальными стилями для этого опроса.", "overwrite_global_waiting_time": "Установить свой период ожидания", - "overwrite_global_waiting_time_description": "Переопределить настройки проекта только для этого опроса.", + "overwrite_global_waiting_time_description": "Переопределить настройки рабочего пространства только для этого опроса.", "overwrite_placement": "Переопределить размещение", "overwrite_survey_logo": "Установить индивидуальный логотип опроса", "overwrite_the_global_placement_of_the_survey": "Переопределить глобальное размещение опроса", diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json index 8814811efac4..49b1c54ab833 100644 --- a/apps/web/locales/sv-SE.json +++ b/apps/web/locales/sv-SE.json @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "Du kan inte lämna denna organisation eftersom det är din enda organisation. Skapa en ny organisation först.", "copy_invite_link_to_clipboard": "Kopiera inbjudningslänk till urklipp", "create_new_organization": "Skapa ny organisation", - "create_new_organization_description": "Skapa en ny organisation för att hantera en annan uppsättning projekt.", + "create_new_organization_description": "Skapa en ny organisation för att hantera en annan uppsättning arbetsytor.", "customize_email_with_a_higher_plan": "Anpassa e-post med en högre plan", - "delete_member_confirmation": "Borttagna medlemmar förlorar åtkomst till alla projekt och enkäter i din organisation.", + "delete_member_confirmation": "Borttagna medlemmar förlorar åtkomst till alla arbetsytor och undersökningar i din organisation.", "delete_organization": "Ta bort organisation", - "delete_organization_description": "Ta bort organisation med alla dess projekt inklusive alla enkäter, svar, personer, åtgärder och attribut", + "delete_organization_description": "Ta bort organisation med alla dess arbetsytor inklusive alla undersökningar, svar, personer, åtgärder och attribut", "delete_organization_warning": "Innan du fortsätter med att ta bort denna organisation, var medveten om följande konsekvenser:", - "delete_organization_warning_1": "Permanent borttagning av alla projekt kopplade till denna organisation.", + "delete_organization_warning_1": "Permanent borttagning av alla arbetsytor kopplade till denna organisation.", "delete_organization_warning_2": "Denna åtgärd kan inte ångras. När det är borta, är det borta.", "delete_organization_warning_3": "Vänligen ange {organizationName} i följande fält för att bekräfta den definitiva borttagningen av denna organisation:", "eliminate_branding_with_whitelabel": "Eliminera Formbricks-varumärke och aktivera ytterligare white-label-anpassningsalternativ.", @@ -2676,7 +2676,7 @@ "add_workspaces_description": "Styr vilka arbetsytor teammedlemmarna kan komma åt.", "all_members_added": "Alla medlemmar tillagda i detta team.", "all_workspaces_added": "Alla arbetsytor har lagts till i detta team.", - "are_you_sure_you_want_to_delete_this_team": "Är du säker på att du vill ta bort detta team? Detta tar även bort åtkomsten till alla projekt och enkäter kopplade till detta team.", + "are_you_sure_you_want_to_delete_this_team": "Är du säker på att du vill ta bort det här teamet? Detta tar även bort åtkomsten till alla arbetsytor och undersökningar som är kopplade till teamet.", "billing_role_description": "Har endast åtkomst till faktureringsinformation.", "bulk_invite": "Massinbjudning", "contributor": "Bidragsgivare", @@ -2692,10 +2692,10 @@ "manage": "Hantera", "manage_team": "Hantera team", "manage_team_disabled": "Endast organisationsägare, administratörer och teamadministratörer kan hantera team.", - "manager_role_description": "Administratörer kan komma åt alla projekt och lägga till och ta bort medlemmar.", + "manager_role_description": "Administratörer kan komma åt alla arbetsytor och lägga till samt ta bort medlemmar.", "member": "Medlem", - "member_role_description": "Medlemmar kan arbeta i valda projekt.", - "member_role_info_message": "För att ge nya medlemmar åtkomst till ett projekt, vänligen lägg till dem i ett team nedan. Med team kan du hantera vem som har åtkomst till vilket projekt.", + "member_role_description": "Medlemmar kan arbeta i utvalda arbetsytor.", + "member_role_info_message": "För att ge nya medlemmar åtkomst till en arbetsyta, lägg till dem i ett team nedan. Med team kan du hantera vem som har åtkomst till vilken arbetsyta.", "organization_role": "Organisationsroll", "owner_role_description": "Ägare har full kontroll över organisationen.", "please_fill_all_member_fields": "Vänligen fyll i alla fält för att lägga till en ny medlem.", @@ -2712,8 +2712,8 @@ "team_settings_description": "Hantera teammedlemmar, åtkomsträttigheter och mer.", "team_updated_successfully": "Team uppdaterat", "teams": "Team", - "teams_description": "Tilldela medlemmar till team och ge team åtkomst till projekt.", - "unlock_teams_description": "Hantera vilka organisationsmedlemmar som har åtkomst till specifika projekt och enkäter.", + "teams_description": "Tilldela medlemmar till team och ge team åtkomst till arbetsytor.", + "unlock_teams_description": "Hantera vilka organisationsmedlemmar som har åtkomst till specifika arbetsytor och undersökningar.", "unlock_teams_title": "Lås upp team med en högre plan.", "upgrade_plan_notice_message": "Lås upp organisationsroller med en högre plan.", "you_are_a_member": "Du är medlem" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "Följande alternativ används i logiken: {questionIndexes}. Vänligen ta bort dem från logiken först.", "override_theme_with_individual_styles_for_this_survey": "Åsidosätt temat med individuella stilar för denna enkät.", "overwrite_global_waiting_time": "Ange anpassad väntetid", - "overwrite_global_waiting_time_description": "Åsidosätt projektkonfigurationen endast för denna enkät.", + "overwrite_global_waiting_time_description": "Åsidosätt arbetsytans konfiguration för enbart denna undersökning.", "overwrite_placement": "Åsidosätt placering", "overwrite_survey_logo": "Ange anpassad logotyp för undersökningen", "overwrite_the_global_placement_of_the_survey": "Åsidosätt den globala placeringen av enkäten", diff --git a/apps/web/locales/tr-TR.json b/apps/web/locales/tr-TR.json index 2846ea849984..edb0551656e0 100644 --- a/apps/web/locales/tr-TR.json +++ b/apps/web/locales/tr-TR.json @@ -514,7 +514,7 @@ "yes": "Evet", "you_are_downgraded_to_the_community_edition": "Topluluk Sürümüne düşürüldünüz.", "you_are_not_authorized_to_perform_this_action": "Bu işlemi gerçekleştirme yetkiniz yok.", - "you_have_reached_your_limit_of_workspace_limit": "{projectLimit} çalışma alanı sınırınıza ulaştınız.", + "you_have_reached_your_limit_of_workspace_limit": "{workspaceLimit} çalışma alanı limitine ulaştınız.", "you_have_reached_your_monthly_response_limit_of": "Aylık yanıt sınırınıza ulaştınız:", "you_will_be_downgraded_to_the_community_edition_on_date": "{date} tarihinde Topluluk Sürümüne düşürüleceksiniz.", "your_license_has_expired_please_renew": "Kurumsal lisansınızın süresi doldu. Kurumsal özellikleri kullanmaya devam etmek için lütfen yenileyin." @@ -712,10 +712,10 @@ "book_interview": "Mülakat planla", "build_product_roadmap_description": "Kullanıcılarınızın en çok istediği TEK şeyi belirleyin ve oluşturun.", "build_product_roadmap_name": "Ürün Yol Haritası Oluştur", - "build_product_roadmap_question_1_headline": "$[projectName] özelliklerinden ve işlevselliğinden ne kadar memnunsunuz?", + "build_product_roadmap_question_1_headline": "$[workspaceName] ürününün özellikleri ve işlevselliğinden ne kadar memnunsunuz?", "build_product_roadmap_question_1_lower_label": "Hiç memnun değil", "build_product_roadmap_question_1_upper_label": "Son derece memnun", - "build_product_roadmap_question_2_headline": "$[projectName] deneyiminizi en çok iyileştirecek TEK değişiklik ne olurdu?", + "build_product_roadmap_question_2_headline": "$[workspaceName] deneyiminizi en çok geliştirebilmemiz için yapabileceğimiz TEK değişiklik nedir?", "build_product_roadmap_question_2_placeholder": "Cevabınızı buraya yazın…", "card_abandonment_survey": "Sepet Terk Survey'i", "card_abandonment_survey_description": "Web mağazanızdaki sepet terk nedenlerini anlayın.", @@ -748,10 +748,10 @@ "card_abandonment_survey_question_8_headline": "Ek yorum veya önerileriniz var mı?", "career_development_survey_description": "Çalışanların kariyer gelişimi ve fırsatlarından memnuniyetini değerlendirin.", "career_development_survey_name": "Kariyer Gelişimi Survey'i", - "career_development_survey_question_1_headline": "$[projectName] bünyesindeki kişisel ve mesleki gelişim fırsatlarından memnunum.", + "career_development_survey_question_1_headline": "$[workspaceName] bünyesinde kişisel ve profesyonel gelişim fırsatlarından memnunum.", "career_development_survey_question_1_lower_label": "Kesinlikle katılmıyorum", "career_development_survey_question_1_upper_label": "Kesinlikle katılıyorum", - "career_development_survey_question_2_headline": "$[projectName] bünyesinde bana sunulan kariyer ilerleme fırsatlarından memnunum.", + "career_development_survey_question_2_headline": "$[workspaceName] bünyesinde bana sunulan kariyer ilerleme fırsatlarından memnunum.", "career_development_survey_question_2_lower_label": "Kesinlikle katılmıyorum", "career_development_survey_question_2_upper_label": "Kesinlikle katılıyorum", "career_development_survey_question_3_headline": "Organizasyonumun sunduğu işle ilgili eğitimlerden memnunum.", @@ -781,7 +781,7 @@ "ces_lower_label": "Çok zor", "ces_upper_label": "Çok kolay", "cess_survey_name": "CES Survey", - "cess_survey_question_1_headline": "$[projectName] benim için [HEDEF EKLE] işlemini kolaylaştırıyor", + "cess_survey_question_1_headline": "$[workspaceName], [HEDEF EKLE] konusunda işimi kolaylaştırıyor", "cess_survey_question_1_lower_label": "Kesinlikle katılmıyorum", "cess_survey_question_1_upper_label": "Kesinlikle katılıyorum", "cess_survey_question_2_headline": "Teşekkürler! [HEDEF EKLE] işlemini sizin için nasıl kolaylaştırabiliriz?", @@ -808,7 +808,7 @@ "churn_survey_question_1_headline": "Aboneliğinizi neden iptal ettiniz?", "churn_survey_question_1_subheader": "Ayrılmanıza üzüldük. Daha iyisini yapmamıza yardımcı olun:", "churn_survey_question_2_button_label": "Gönder", - "churn_survey_question_2_headline": "$[projectName] kullanımını sizin için ne kolaylaştırırdı?", + "churn_survey_question_2_headline": "$[workspaceName] ürününü kullanımını kolaylaştıracak ne olabilirdi?", "churn_survey_question_3_button_label": "Yüzde 30 indirim alın", "churn_survey_question_3_headline": "Gelecek yıl için %30 indirim kazanın!", "churn_survey_question_3_html": "

Sizi müşterimiz olarak tutmak istiyoruz. Gelecek yıl için %30 indirim sunmaktan mutluluk duyarız.

", @@ -849,7 +849,7 @@ "csat_name": "Müşteri Memnuniyeti Puanı (CSAT)", "csat_question_10_headline": "Başka yorumunuz, sorunuz veya endişeniz var mı?", "csat_question_10_placeholder": "Cevabınızı buraya yazın…", - "csat_question_1_headline": "Bu $[projectName] ürününü bir arkadaşınıza veya iş arkadaşınıza tavsiye etme olasılığınız nedir?", + "csat_question_1_headline": "Bu $[workspaceName] ürününü bir arkadaşına veya meslektaşına tavsiye etme olasılığın ne kadar?", "csat_question_1_lower_label": "Olası değil", "csat_question_1_upper_label": "Çok olası", "csat_question_2_choice_1": "Oldukça memnun", @@ -857,7 +857,7 @@ "csat_question_2_choice_3": "Ne memnun ne de memnuniyetsiz", "csat_question_2_choice_4": "Biraz memnuniyetsiz", "csat_question_2_choice_5": "Çok memnuniyetsiz", - "csat_question_2_headline": "Genel olarak $[projectName] ürünümüzden ne kadar memnun veya memnuniyetsizsiniz?", + "csat_question_2_headline": "Genel olarak $[workspaceName] ürünümüzden ne kadar memnunsunuz veya memnun değilsiniz?", "csat_question_2_subheader": "Lütfen birini seçin:", "csat_question_3_choice_1": "Etkisiz", "csat_question_3_choice_10": "Benzersiz", @@ -869,28 +869,28 @@ "csat_question_3_choice_7": "Paraya iyi değer", "csat_question_3_choice_8": "Düşük kalite", "csat_question_3_choice_9": "Güvenilmez", - "csat_question_3_headline": "$[projectName] ürünümüzü tanımlamak için aşağıdaki kelimelerden hangisini kullanırsınız?", + "csat_question_3_headline": "$[workspaceName] ürünümüzü tanımlamak için aşağıdaki kelimelerden hangilerini kullanırsınız?", "csat_question_3_subheader": "Lütfen geçerli olanların tümünü seçin:", "csat_question_4_choice_1": "Son derece iyi", "csat_question_4_choice_2": "Çok iyi", "csat_question_4_choice_3": "Oldukça iyi", "csat_question_4_choice_4": "Pek iyi değil", "csat_question_4_choice_5": "Hiç iyi değil", - "csat_question_4_headline": "$[projectName] ürünlerimiz ihtiyaçlarınızı ne kadar karşılıyor?", + "csat_question_4_headline": "$[workspaceName] ürünümüz ihtiyaçlarınızı ne kadar karşılıyor?", "csat_question_4_subheader": "Bir seçenek seçin:", "csat_question_5_choice_1": "Çok yüksek kalite", "csat_question_5_choice_2": "Yüksek kalite", "csat_question_5_choice_3": "Düşük kalite", "csat_question_5_choice_4": "Çok düşük kalite", "csat_question_5_choice_5": "Ne yüksek ne düşük", - "csat_question_5_headline": "$[projectName] ürününün kalitesini nasıl değerlendirirsiniz?", + "csat_question_5_headline": "$[workspaceName] ürününün kalitesini nasıl değerlendirirsiniz?", "csat_question_5_subheader": "Bir seçenek seçin:", "csat_question_6_choice_1": "Mükemmel", "csat_question_6_choice_2": "Ortalamanın üstünde", "csat_question_6_choice_3": "Ortalama", "csat_question_6_choice_4": "Ortalamanın altında", "csat_question_6_choice_5": "Zayıf", - "csat_question_6_headline": "$[projectName] ürününün fiyat/performans oranını nasıl değerlendirirsiniz?", + "csat_question_6_headline": "$[workspaceName] ürününün fiyat-performans değerini nasıl değerlendirirsiniz?", "csat_question_6_subheader": "Lütfen birini seçin:", "csat_question_7_choice_1": "Son derece duyarlı", "csat_question_7_choice_2": "Çok duyarlı", @@ -904,17 +904,17 @@ "csat_question_8_choice_3": "Altı aydan bir yıla kadar", "csat_question_8_choice_4": "1-2 yıl", "csat_question_8_choice_5": "3 veya daha fazla yıl", - "csat_question_8_headline": "Ne kadar süredir $[projectName] müşterisisiniz?", + "csat_question_8_headline": "Ne kadar süredir $[workspaceName] müşterisisiniz?", "csat_question_8_subheader": "Lütfen birini seçin:", "csat_question_9_choice_1": "Son derece olası", "csat_question_9_choice_2": "Çok olası", "csat_question_9_choice_3": "Biraz olası", "csat_question_9_choice_4": "Pek olası değil", "csat_question_9_choice_5": "Hiç olası değil", - "csat_question_9_headline": "$[projectName] ürünlerimizden herhangi birini tekrar satın alma olasılığınız nedir?", + "csat_question_9_headline": "$[workspaceName] ürünlerimizden herhangi birini tekrar satın alma olasılığınız nedir?", "csat_question_9_subheader": "Bir seçenek seçin:", - "csat_survey_name": "$[projectName] CSAT", - "csat_survey_question_1_headline": "$[projectName] deneyiminizden ne kadar memnunsunuz?", + "csat_survey_name": "$[workspaceName] CSAT", + "csat_survey_question_1_headline": "$[workspaceName] deneyiminizden ne kadar memnunsunuz?", "csat_survey_question_1_lower_label": "Son derece memnuniyetsiz", "csat_survey_question_1_upper_label": "Son derece memnun", "csat_survey_question_2_headline": "Harika! Deneyiminizi iyileştirmek için yapabileceğimiz bir şey var mı?", @@ -929,7 +929,7 @@ "custom_survey_question_1_placeholder": "Cevabınızı buraya yazın…", "customer_effort_score_description": "Bir özelliğin kullanım kolaylığını belirleyin.", "customer_effort_score_name": "Müşteri Çaba Puanı (CES)", - "customer_effort_score_question_1_headline": "$[projectName] benim için [HEDEF EKLE] işlemini kolaylaştırıyor", + "customer_effort_score_question_1_headline": "$[workspaceName], [HEDEF EKLE] konusunda işimi kolaylaştırıyor", "customer_effort_score_question_1_lower_label": "Kesinlikle katılmıyorum", "customer_effort_score_question_1_upper_label": "Kesinlikle katılıyorum", "customer_effort_score_question_2_headline": "Teşekkürler! [HEDEF EKLE] işlemini sizin için nasıl kolaylaştırabiliriz?", @@ -953,14 +953,14 @@ "earned_advocacy_score_name": "Kazanılmış Savunuculuk Puanı (EAS)", "earned_advocacy_score_question_1_choice_1": "Evet", "earned_advocacy_score_question_1_choice_2": "Hayır", - "earned_advocacy_score_question_1_headline": "$[projectName] ürününü başkalarına aktif olarak tavsiye ettiniz mi?", + "earned_advocacy_score_question_1_headline": "$[workspaceName] ürününü başkalarına aktif olarak tavsiye ettiniz mi?", "earned_advocacy_score_question_2_headline": "Bizi neden tavsiye ettiniz?", "earned_advocacy_score_question_2_placeholder": "Cevabınızı buraya yazın…", "earned_advocacy_score_question_3_headline": "Çok üzücü. Neden tavsiye etmediniz?", "earned_advocacy_score_question_3_placeholder": "Cevabınızı buraya yazın…", "earned_advocacy_score_question_4_choice_1": "Evet", "earned_advocacy_score_question_4_choice_2": "Hayır", - "earned_advocacy_score_question_4_headline": "Başkalarını $[projectName] tercih etmekten aktif olarak caydırdınız mı?", + "earned_advocacy_score_question_4_headline": "Başkalarını $[workspaceName] ürününü seçmekten aktif olarak caydırdınız mı?", "earned_advocacy_score_question_5_headline": "Onları caydırmanıza ne sebep oldu?", "earned_advocacy_score_question_5_placeholder": "Cevabınızı buraya yazın…", "employee_satisfaction_description": "Çalışan memnuniyetini ölçün ve iyileştirme alanlarını belirleyin.", @@ -1009,7 +1009,7 @@ "evaluate_a_product_idea_description": "Kullanıcılara ürün veya özellik fikirleri hakkında survey yapın. Hızlıca geri bildirim alın.", "evaluate_a_product_idea_name": "Ürün Fikrini Değerlendirin", "evaluate_a_product_idea_question_1_button_label": "Haydi başlayalım!", - "evaluate_a_product_idea_question_1_headline": "$[projectName] ürününü nasıl kullandığınızı çok beğeniyoruz! Bir özellik fikri hakkında düşüncelerinizi almak istiyoruz. Bir dakikanız var mı?", + "evaluate_a_product_idea_question_1_headline": "$[workspaceName] ürününü nasıl kullandığını çok beğeniyoruz! Bir özellik fikri hakkında fikrini almak isteriz. Bir dakikan var mı?", "evaluate_a_product_idea_question_1_html": "

Zamanınıza saygı duyuyoruz ve kısa tuttuk 🤸

", "evaluate_a_product_idea_question_2_headline": "Teşekkürler! Bugün [PROBLEM ALANI] konusunda ne kadar zor veya kolay?", "evaluate_a_product_idea_question_2_lower_label": "Çok zor", @@ -1091,13 +1091,13 @@ "identify_customer_goals_question_1_choice_2": "Üst satış fırsatlarını belirlemek", "identify_customer_goals_question_1_choice_3": "Mümkün olan en iyi ürünü geliştirmek", "identify_customer_goals_question_1_choice_4": "Dünyaya hükmedip herkese kahvaltıda brüksel lahanası yedirmek", - "identify_customer_goals_question_1_headline": "$[projectName] kullanmanın birincil hedefin ne?", + "identify_customer_goals_question_1_headline": "$[workspaceName] ürününü kullanmaktaki birincil hedefin nedir?", "identify_sign_up_barriers_description": "Kayıt engelleri hakkında bilgi toplamak için indirim sunun.", "identify_sign_up_barriers_name": "Kayıt Engellerini Belirleyin", "identify_sign_up_barriers_question_1_button_label": "Yüzde 10 indirim alın", "identify_sign_up_barriers_question_1_headline": "Bu kısa anketi yanıtlayın, %10 indirim kazanın!", "identify_sign_up_barriers_question_1_html": "Kayıt olmayı düşünüyor gibisiniz. Dört soruyu yanıtlayın ve herhangi bir planda %10 indirim kazanın.", - "identify_sign_up_barriers_question_2_headline": "$[projectName] için kayıt olma olasılığınız ne kadar?", + "identify_sign_up_barriers_question_2_headline": "$[workspaceName] ürününe kaydolma olasılığın ne kadar?", "identify_sign_up_barriers_question_2_lower_label": "Hiç olası değil", "identify_sign_up_barriers_question_2_upper_label": "Çok olası", "identify_sign_up_barriers_question_3_choice_1_label": "Aradığım şeye sahip olmayabilir", @@ -1105,8 +1105,8 @@ "identify_sign_up_barriers_question_3_choice_3_label": "Karmaşık görünüyor", "identify_sign_up_barriers_question_3_choice_4_label": "Fiyatlandırma endişe verici", "identify_sign_up_barriers_question_3_choice_5_label": "Başka bir şey", - "identify_sign_up_barriers_question_3_headline": "$[projectName] ürününü denemenizi engelleyen nedir?", - "identify_sign_up_barriers_question_4_headline": "Neye ihtiyacınız var ama $[projectName] sunmuyor?", + "identify_sign_up_barriers_question_3_headline": "$[workspaceName] ürününü denemekten seni alıkoyan nedir?", + "identify_sign_up_barriers_question_4_headline": "İhtiyacın olup da $[workspaceName] ürününün sunmadığı nedir?", "identify_sign_up_barriers_question_4_placeholder": "Cevabınızı buraya yazın…", "identify_sign_up_barriers_question_5_headline": "Hangi seçenekleri değerlendiriyorsunuz?", "identify_sign_up_barriers_question_5_placeholder": "Cevabınızı buraya yazın…", @@ -1125,7 +1125,7 @@ "identify_upsell_opportunities_question_1_choice_2": "1-2 saat", "identify_upsell_opportunities_question_1_choice_3": "3-5 saat", "identify_upsell_opportunities_question_1_choice_4": "5+ saat", - "identify_upsell_opportunities_question_1_headline": "Ekibiniz $[projectName] kullanarak haftada kaç saat tasarruf ediyor?", + "identify_upsell_opportunities_question_1_headline": "Ekibiniz $[workspaceName] kullanarak haftada kaç saat tasarruf ediyor?", "improve_activation_rate_description": "Kullanıcı aktivasyonunu artırmak için başlangıç akışınızdaki zayıf noktaları belirleyin.", "improve_activation_rate_name": "Aktivasyon Oranını İyileştirin", "improve_activation_rate_question_1_choice_1": "Bana faydalı görünmedi", @@ -1133,10 +1133,10 @@ "improve_activation_rate_question_1_choice_3": "Özellik/işlevsellik eksikti", "improve_activation_rate_question_1_choice_4": "Henüz vakit bulamadım", "improve_activation_rate_question_1_choice_5": "Başka bir şey", - "improve_activation_rate_question_1_headline": "$[projectName] kurulumunu tamamlamamanızın ana nedeni nedir?", - "improve_activation_rate_question_2_headline": "$[projectName] ürününün faydalı olmayacağını düşünmenize ne sebep oldu?", + "improve_activation_rate_question_1_headline": "$[workspaceName] kurulumunu tamamlamamanın ana nedeni nedir?", + "improve_activation_rate_question_2_headline": "$[workspaceName]'in faydalı olmayacağını düşünmenize ne sebep oldu?", "improve_activation_rate_question_2_placeholder": "Cevabınızı buraya yazın…", - "improve_activation_rate_question_3_headline": "$[projectName] kurulumunda veya kullanımında zor olan neydi?", + "improve_activation_rate_question_3_headline": "$[workspaceName]'i kurarken veya kullanırken neyi zor buldunuz?", "improve_activation_rate_question_3_placeholder": "Cevabınızı buraya yazın…", "improve_activation_rate_question_4_headline": "Hangi özellikler veya işlevler eksikti?", "improve_activation_rate_question_4_placeholder": "Cevabınızı buraya yazın…", @@ -1165,9 +1165,9 @@ "improve_trial_conversion_question_1_headline": "Deneme sürümünü neden bıraktınız?", "improve_trial_conversion_question_1_subheader": "Sizi daha iyi anlamamıza yardımcı olun:", "improve_trial_conversion_question_2_button_label": "Sonraki", - "improve_trial_conversion_question_2_headline": "Üzgünüz. $[projectName] kullanırken en büyük sorun neydi?", + "improve_trial_conversion_question_2_headline": "Bunu duyduğumuza üzüldük. $[workspaceName] kullanırken karşılaştığınız en büyük sorun neydi?", "improve_trial_conversion_question_3_button_label": "İleri", - "improve_trial_conversion_question_3_headline": "$[projectName]'in ne yapmasını bekliyordun?", + "improve_trial_conversion_question_3_headline": "$[workspaceName]'in ne yapmasını bekliyordunuz?", "improve_trial_conversion_question_4_button_label": "Yüzde 20 indirim alın", "improve_trial_conversion_question_4_headline": "Üzgünüz! İlk yıl %20 indirim kazanın.", "improve_trial_conversion_question_4_html": "

Yıllık planda size %20 indirim sunmaktan mutluluk duyarız.

", @@ -1183,7 +1183,7 @@ "integration_setup_survey_question_1_upper_label": "Çok kolay", "integration_setup_survey_question_2_headline": "Neden zordu?", "integration_setup_survey_question_2_placeholder": "Cevabınızı buraya yazın…", - "integration_setup_survey_question_3_headline": "$[projectName] ile birlikte hangi araçları kullanmak istersiniz?", + "integration_setup_survey_question_3_headline": "$[workspaceName] ile başka hangi araçları kullanmak istersiniz?", "integration_setup_survey_question_3_subheader": "Entegrasyonlar geliştirmeye devam ediyoruz, sıradaki sizinki olabilir:", "interview_prompt_description": "Belirli bir kullanıcı grubunu ürün ekibinizle görüşme yapmaya davet edin.", "interview_prompt_name": "Görüşme Daveti", @@ -1194,23 +1194,23 @@ "long_term_retention_check_in_name": "Uzun Vadeli Elde Tutma Kontrolü", "long_term_retention_check_in_question_10_headline": "Ek geri bildiriminiz veya yorumunuz var mı?", "long_term_retention_check_in_question_10_placeholder": "İyileştirmemize yardımcı olabilecek düşüncelerinizi paylaşın...", - "long_term_retention_check_in_question_1_headline": "Genel olarak $[projectName] ürününden ne kadar memnunsunuz?", + "long_term_retention_check_in_question_1_headline": "$[workspaceName]'den genel olarak ne kadar memnunsunuz?", "long_term_retention_check_in_question_1_lower_label": "Memnun değil", "long_term_retention_check_in_question_1_upper_label": "Çok memnun", - "long_term_retention_check_in_question_2_headline": "$[projectName] ürününde en değerli bulduğunuz şey nedir?", + "long_term_retention_check_in_question_2_headline": "$[workspaceName]'in en değerli bulduğunuz yanı nedir?", "long_term_retention_check_in_question_2_placeholder": "En çok değer verdiğiniz özellik veya faydayı açıklayın...", "long_term_retention_check_in_question_3_choice_1": "Özellikler", "long_term_retention_check_in_question_3_choice_2": "Müşteri desteği", "long_term_retention_check_in_question_3_choice_3": "Kullanıcı deneyimi", "long_term_retention_check_in_question_3_choice_4": "Fiyatlandırma", "long_term_retention_check_in_question_3_choice_5": "Güvenilirlik ve çalışma süresi", - "long_term_retention_check_in_question_3_headline": "$[projectName] ürününün deneyiminiz için en temel yönü hangisi?", - "long_term_retention_check_in_question_4_headline": "$[projectName] beklentilerinizi ne kadar karşılıyor?", + "long_term_retention_check_in_question_3_headline": "$[workspaceName]'in deneyiminiz için en önemli bulduğunuz yönü hangisi?", + "long_term_retention_check_in_question_4_headline": "$[workspaceName] beklentilerinizi ne kadar karşılıyor?", "long_term_retention_check_in_question_4_lower_label": "Beklentilerin altında", "long_term_retention_check_in_question_4_upper_label": "Beklentilerin üstünde", - "long_term_retention_check_in_question_5_headline": "$[projectName] kullanırken hangi zorluklarla veya hayal kırıklıklarıyla karşılaştınız?", + "long_term_retention_check_in_question_5_headline": "$[workspaceName]'i kullanırken hangi zorluklar veya hayal kırıklıklarıyla karşılaştınız?", "long_term_retention_check_in_question_5_placeholder": "Karşılaştığınız zorlukları veya görmek istediğiniz iyileştirmeleri açıklayın...", - "long_term_retention_check_in_question_6_headline": "$[projectName] ürününü bir arkadaşınıza veya meslektaşınıza tavsiye etme olasılığınız nedir?", + "long_term_retention_check_in_question_6_headline": "$[workspaceName]'i bir arkadaşınıza veya iş arkadaşınıza tavsiye etme olasılığınız nedir?", "long_term_retention_check_in_question_6_lower_label": "Olası değil", "long_term_retention_check_in_question_6_upper_label": "Çok olası", "long_term_retention_check_in_question_7_choice_1": "Yeni özellikler ve iyileştirmeler", @@ -1219,7 +1219,7 @@ "long_term_retention_check_in_question_7_choice_4": "Daha fazla entegrasyon", "long_term_retention_check_in_question_7_choice_5": "Kullanıcı deneyimi iyileştirmeleri", "long_term_retention_check_in_question_7_headline": "Uzun vadeli kullanıcı olarak kalma olasılığınızı ne artırır?", - "long_term_retention_check_in_question_8_headline": "$[projectName] hakkında bir şeyi değiştirebilseydiniz, ne olurdu?", + "long_term_retention_check_in_question_8_headline": "$[workspaceName] hakkında bir şeyi değiştirebilseydiniz, bu ne olurdu?", "long_term_retention_check_in_question_8_placeholder": "Dikkate almamızı istediğiniz değişiklik veya özellikleri paylaşın...", "long_term_retention_check_in_question_9_headline": "Ürün güncellemelerimizden ve sıklığından ne kadar memnunsunuz?", "long_term_retention_check_in_question_9_lower_label": "Memnun değilim", @@ -1238,8 +1238,8 @@ "market_site_clarity_question_1_choice_1": "Evet, kesinlikle", "market_site_clarity_question_1_choice_2": "Biraz…", "market_site_clarity_question_1_choice_3": "Hayır, hiç değil", - "market_site_clarity_question_1_headline": "$[projectName] ürününü denemek için ihtiyacınız olan tüm bilgilere sahip misiniz?", - "market_site_clarity_question_2_headline": "$[projectName] hakkında eksik veya belirsiz olan nedir?", + "market_site_clarity_question_1_headline": "$[workspaceName]'i denemek için ihtiyacınız olan tüm bilgilere sahip misiniz?", + "market_site_clarity_question_2_headline": "$[workspaceName] hakkında size eksik veya belirsiz gelen nedir?", "market_site_clarity_question_3_button_label": "İndirim alın", "market_site_clarity_question_3_headline": "Yanıtınız için teşekkürler! İlk 6 ayda %25 indirim kazanın:", "matrix": "Matris", @@ -1284,12 +1284,12 @@ "nps_description": "Net Tavsiye Skorunu (0-10) ölçün", "nps_lower_label": "Hiç olası değil", "nps_name": "Net Tavsiye Skoru (NPS)", - "nps_question_1_headline": "$[projectName] ürününü bir arkadaşınıza veya meslektaşınıza tavsiye etme olasılığınız nedir?", + "nps_question_1_headline": "$[workspaceName]'i bir arkadaşınıza veya iş arkadaşınıza tavsiye etme olasılığınız nedir?", "nps_question_1_lower_label": "Olası değil", "nps_question_1_upper_label": "Çok olası", "nps_question_2_headline": "Bu puanı vermenize ne sebep oldu?", "nps_survey_name": "NPS Anketi", - "nps_survey_question_1_headline": "$[projectName] ürününü bir arkadaşınıza veya meslektaşınıza tavsiye etme olasılığınız nedir?", + "nps_survey_question_1_headline": "$[workspaceName]'i bir arkadaşınıza veya iş arkadaşınıza tavsiye etme olasılığınız nedir?", "nps_survey_question_1_lower_label": "Hiç olası değil", "nps_survey_question_1_upper_label": "Son derece olası", "nps_survey_question_2_headline": "Gelişmemize yardımcı olmak için puanlama nedeninizi açıklar mısınız?", @@ -1323,7 +1323,7 @@ "preview_survey_ending_card_description": "Lütfen başlangıç sürecinize devam edin.", "preview_survey_ending_card_headline": "Başardınız!", "preview_survey_name": "Yeni Anket", - "preview_survey_question_1_headline": "{projectName} ürününü nasıl değerlendirirsiniz?", + "preview_survey_question_1_headline": "{workspaceName}'i nasıl değerlendirirsiniz?", "preview_survey_question_1_lower_label": "İyi değil", "preview_survey_question_1_subheader": "Bu bir anket önizlemesidir.", "preview_survey_question_1_upper_label": "Çok iyi", @@ -1347,16 +1347,16 @@ "prioritize_features_question_2_choice_2": "Özellik 2", "prioritize_features_question_2_choice_3": "Özellik 3", "prioritize_features_question_2_headline": "Bu özelliklerden hangisi sizin için EN AZ DEĞERLİ olurdu?", - "prioritize_features_question_3_headline": "$[projectName] deneyiminizi başka nasıl iyileştirebiliriz?", + "prioritize_features_question_3_headline": "$[workspaceName] deneyiminizi geliştirmek için başka ne yapabiliriz?", "prioritize_features_question_3_placeholder": "Cevabınızı buraya yazın…", "product_market_fit_short_description": "Ürününüz ortadan kalksa kullanıcıların ne kadar hayal kırıklığına uğrayacağını değerlendirerek ÜPU ölçün.", "product_market_fit_short_name": "Ürün Pazar Uyumu Anketi (Kısa)", "product_market_fit_short_question_1_choice_1": "Hiç hayal kırıklığına uğramamış", "product_market_fit_short_question_1_choice_2": "Biraz hayal kırıklığına uğramış", "product_market_fit_short_question_1_choice_3": "Çok hayal kırıklığına uğramış", - "product_market_fit_short_question_1_headline": "$[projectName] ürününü artık kullanamasanız ne kadar hayal kırıklığına uğrarsınız?", + "product_market_fit_short_question_1_headline": "$[workspaceName]'i artık kullanamıyor olsaydınız ne kadar hayal kırıklığına uğrardınız?", "product_market_fit_short_question_1_subheader": "Lütfen aşağıdaki seçeneklerden birini seçin:", - "product_market_fit_short_question_2_headline": "$[projectName] ürününü sizin için nasıl geliştirebiliriz?", + "product_market_fit_short_question_2_headline": "$[workspaceName]'i sizin için nasıl geliştirebiliriz?", "product_market_fit_short_question_2_subheader": "Lütfen mümkün olduğunca detaylı olun.", "product_market_fit_superhuman": "Ürün Pazar Uyumu (Superhuman)", "product_market_fit_superhuman_description": "Ürününüz ortadan kalksa kullanıcıların ne kadar hayal kırıklığına uğrayacağını değerlendirerek ÜPU ölçün.", @@ -1366,7 +1366,7 @@ "product_market_fit_superhuman_question_2_choice_1": "Hiç hayal kırıklığına uğramamış", "product_market_fit_superhuman_question_2_choice_2": "Biraz hayal kırıklığına uğramış", "product_market_fit_superhuman_question_2_choice_3": "Çok hayal kırıklığına uğramış", - "product_market_fit_superhuman_question_2_headline": "$[projectName] ürününü artık kullanamasanız ne kadar hayal kırıklığına uğrarsınız?", + "product_market_fit_superhuman_question_2_headline": "$[workspaceName]'i artık kullanamıyor olsaydınız ne kadar hayal kırıklığına uğrardınız?", "product_market_fit_superhuman_question_2_subheader": "Lütfen aşağıdaki seçeneklerden birini seçin:", "product_market_fit_superhuman_question_3_choice_1": "Kurucu", "product_market_fit_superhuman_question_3_choice_2": "Yönetici", @@ -1375,9 +1375,9 @@ "product_market_fit_superhuman_question_3_choice_5": "Yazılım Mühendisi", "product_market_fit_superhuman_question_3_headline": "Rolünüz nedir?", "product_market_fit_superhuman_question_3_subheader": "Lütfen aşağıdaki seçeneklerden birini seçin:", - "product_market_fit_superhuman_question_4_headline": "Sizce $[projectName] ürününden en çok hangi tür insanlar fayda sağlar?", - "product_market_fit_superhuman_question_5_headline": "$[projectName] ürününden aldığınız temel fayda nedir?", - "product_market_fit_superhuman_question_6_headline": "$[projectName] ürününü sizin için nasıl geliştirebiliriz?", + "product_market_fit_superhuman_question_4_headline": "$[workspaceName]'den en çok hangi tür insanların faydalanacağını düşünüyorsunuz?", + "product_market_fit_superhuman_question_5_headline": "$[workspaceName]'den elde ettiğiniz ana fayda nedir?", + "product_market_fit_superhuman_question_6_headline": "$[workspaceName] uygulamasını sizin için nasıl geliştirebiliriz?", "product_market_fit_superhuman_question_6_subheader": "Lütfen mümkün olduğunca detaylı olun.", "professional_development_growth_survey_description": "Çalışanların profesyonel gelişim ve büyüme fırsatlarından memnuniyetini değerlendirin.", "professional_development_growth_survey_name": "Profesyonel Gelişim ve Büyüme Anketi", @@ -1448,7 +1448,7 @@ "recognition_and_reward_survey_question_4_placeholder": "Cevabınızı buraya yazın…", "review_prompt_description": "Ürününüzü seven kullanıcıları herkese açık değerlendirme yazmaya davet edin.", "review_prompt_name": "Değerlendirme Daveti", - "review_prompt_question_1_headline": "$[projectName] ürününü nasıl buluyorsunuz?", + "review_prompt_question_1_headline": "$[workspaceName] hakkında ne düşünüyorsunuz?", "review_prompt_question_1_lower_label": "İyi değil", "review_prompt_question_1_upper_label": "Çok memnun", "review_prompt_question_2_button_label": "Yorum yaz", @@ -1491,7 +1491,7 @@ "site_abandonment_survey_question_8_headline": "Lütfen email adresinizi paylaşın:", "site_abandonment_survey_question_9_headline": "Ek yorumlarınız veya önerileriniz var mı?", "smileys_survey_name": "Gülen Yüz Anketi", - "smileys_survey_question_1_headline": "$[projectName] ürününü nasıl buluyorsunuz?", + "smileys_survey_question_1_headline": "$[workspaceName] hakkında ne düşünüyorsunuz?", "smileys_survey_question_1_lower_label": "İyi değil", "smileys_survey_question_1_upper_label": "Çok memnun", "smileys_survey_question_2_button_label": "Yorum yaz", @@ -1501,8 +1501,8 @@ "smileys_survey_question_3_headline": "Üzgünüz! Daha iyi yapabileceğimiz BİR şey nedir?", "smileys_survey_question_3_placeholder": "Cevabınızı buraya yazın…", "smileys_survey_question_3_subheader": "Deneyiminizi iyileştirmemize yardımcı olun.", - "star_rating_survey_name": "$[projectName] Puanlama Anketi", - "star_rating_survey_question_1_headline": "$[projectName] ürününü nasıl buluyorsunuz?", + "star_rating_survey_name": "$[workspaceName] Değerlendirme Anketi", + "star_rating_survey_question_1_headline": "$[workspaceName] hakkında ne düşünüyorsunuz?", "star_rating_survey_question_1_lower_label": "Son derece memnuniyetsiz", "star_rating_survey_question_1_upper_label": "Son derece memnun", "star_rating_survey_question_2_button_label": "Yorum yaz", @@ -1535,7 +1535,7 @@ "uncover_strengths_and_weaknesses_question_1_choice_3": "Açık kaynak olması", "uncover_strengths_and_weaknesses_question_1_choice_4": "Kurucular çok sempatik", "uncover_strengths_and_weaknesses_question_1_choice_5": "Diğer", - "uncover_strengths_and_weaknesses_question_1_headline": "$[projectName] ürününde en çok neye değer veriyorsunuz?", + "uncover_strengths_and_weaknesses_question_1_headline": "$[workspaceName] uygulamasında en çok neye değer veriyorsunuz?", "uncover_strengths_and_weaknesses_question_2_choice_1": "Dokümantasyon", "uncover_strengths_and_weaknesses_question_2_choice_2": "Özelleştirilebilirlik", "uncover_strengths_and_weaknesses_question_2_choice_3": "Fiyatlandırma", @@ -1551,8 +1551,8 @@ "understand_low_engagement_question_1_choice_3": "Henüz vakit bulamadım", "understand_low_engagement_question_1_choice_4": "İhtiyacım olan özellikler eksikti", "understand_low_engagement_question_1_choice_5": "Diğer", - "understand_low_engagement_question_1_headline": "Son zamanlarda $[projectName] ürününe geri dönmemenizin ana nedeni nedir?", - "understand_low_engagement_question_2_headline": "$[projectName] kullanımında zor olan nedir?", + "understand_low_engagement_question_1_headline": "Son zamanlarda $[workspaceName] uygulamasına geri dönmemenizin ana nedeni nedir?", + "understand_low_engagement_question_2_headline": "$[workspaceName] uygulamasını kullanmakta zorluk çektiğiniz şey nedir?", "understand_low_engagement_question_2_placeholder": "Cevabınızı buraya yazın…", "understand_low_engagement_question_3_headline": "Anladım. Onun yerine hangi alternatifi kullanıyorsunuz?", "understand_low_engagement_question_3_placeholder": "Cevabınızı buraya yazın…", diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json index 75331abd3ab9..96e3843f65fc 100644 --- a/apps/web/locales/zh-Hans-CN.json +++ b/apps/web/locales/zh-Hans-CN.json @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "您 不能 离开 此 组织,因为 这是 您 唯一的 组织。请 先 创建一个新的 组织。", "copy_invite_link_to_clipboard": "复制 invite 链接 到 剪贴板", "create_new_organization": "创建 新的 组织", - "create_new_organization_description": "创建一个新 组织 来处理不同的 项目 集。", + "create_new_organization_description": "创建一个新组织来管理不同的工作空间集合。", "customize_email_with_a_higher_plan": "通过更高的计划 自定义电子邮件", - "delete_member_confirmation": "删除的 成员 将无法访问 你的组织 的 所有项目 和 调查。", + "delete_member_confirmation": "被删除的成员将失去对你组织中所有工作空间和调查的访问权限。", "delete_organization": "删除 组织", - "delete_organization_description": "删除 组织 的 所有 项目 包括所有 调查、回应、人员、动作 和 属性", + "delete_organization_description": "删除组织及其所有工作空间,包括所有调查、回复、人员、操作和属性", "delete_organization_warning": "在 您 继续 删除 这个 组织 前, 请 注意 以下 后果:", - "delete_organization_warning_1": "永久删除与此组织关联的所有项目。", + "delete_organization_warning_1": "永久删除与此组织关联的所有工作空间。", "delete_organization_warning_2": "此操作无法撤消。 一旦 消失 就 消失 。", "delete_organization_warning_3": "请在下列字段中输入 {organizationName} 以确认此组织的最终删除:", "eliminate_branding_with_whitelabel": "消除 Formbricks 品牌 并启用 额外的 白标 自定义 选项", @@ -2676,7 +2676,7 @@ "add_workspaces_description": "控制团队成员可以访问哪些工作区。", "all_members_added": "所有成员已添加到此团队。", "all_workspaces_added": "该团队已添加所有工作区。", - "are_you_sure_you_want_to_delete_this_team": "您 确定 要 删除 这个 团队 吗?这也会 移除 对 与 这个 团队 相关 的 所有 项目 和 调查 的 访问。", + "are_you_sure_you_want_to_delete_this_team": "你确定要删除这个团队吗?这也会移除对与此团队关联的所有工作空间和调查的访问权限。", "billing_role_description": "仅 能 访问 账单 信息。", "bulk_invite": "批量 邀请", "contributor": "贡献者", @@ -2692,10 +2692,10 @@ "manage": "管理", "manage_team": "管理团队", "manage_team_disabled": "只有 组织 拥有者、经理 和 团队 管理员 可以 管理 团队。", - "manager_role_description": "经理 可以 访问 所有 项目 并 添加 移除 成员。", + "manager_role_description": "管理员可以访问所有工作空间,并可以添加和移除成员。", "member": "成员", - "member_role_description": "成员 可以 在 选定 项目 中 工作。", - "member_role_info_message": "要 给 新 成员 访问 项目 ,请 将 他们 添加 到 下方 的 团队 。通过 团队 你 可以 管理 谁 可以 访问 哪个 项目 。", + "member_role_description": "成员可以在选定的工作空间中工作。", + "member_role_info_message": "要让新成员访问工作空间,请将他们添加到下面的团队中。通过团队,你可以管理谁有权访问哪个工作空间。", "organization_role": "组织角色", "owner_role_description": "所有者拥有对组织的完全控制权。", "please_fill_all_member_fields": "请 填写 所有 字段 以 添加 新 成员。", @@ -2712,8 +2712,8 @@ "team_settings_description": "管理 团队成员、访问 权限 和 更多。", "team_updated_successfully": "团队 更新 成功", "teams": "团队", - "teams_description": "将 成员 分配 到 团队 ,并 给 团队 访问 项目 的 权限。", - "unlock_teams_description": "管理 哪些 组织成员 可以 访问 特定 项目 和 调查。", + "teams_description": "将成员分配到团队中,并授予团队访问工作空间的权限。", + "unlock_teams_description": "管理哪些组织成员可以访问特定的工作空间和调查。", "unlock_teams_title": "通过 更 高级 划解锁 团队", "upgrade_plan_notice_message": "解锁更多组织角色功能 通过升级计划。", "you_are_a_member": "你是 会员" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "以下选项在逻辑中被使用:{questionIndexes}。请先从逻辑中删除它们。", "override_theme_with_individual_styles_for_this_survey": "使用 个性化 样式 替代 这份 问卷 的 主题。", "overwrite_global_waiting_time": "自定义冷却期", - "overwrite_global_waiting_time_description": "仅为此调查覆盖项目配置。", + "overwrite_global_waiting_time_description": "仅针对此调查覆盖工作空间配置。", "overwrite_placement": "覆盖 放置", "overwrite_survey_logo": "设置自定义调查 logo", "overwrite_the_global_placement_of_the_survey": "覆盖 全局 调查 放置", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index edc4fa56911a..3b8a29748905 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -2572,13 +2572,13 @@ "cannot_leave_only_organization": "您無法離開此組織,因為它是您唯一的組織。請先建立新組織。", "copy_invite_link_to_clipboard": "將邀請連結複製到剪貼簿", "create_new_organization": "建立新組織", - "create_new_organization_description": "建立新組織以處理一組不同的專案。", + "create_new_organization_description": "建立新組織來管理不同的工作區集合。", "customize_email_with_a_higher_plan": "使用更高等級的方案自訂電子郵件", - "delete_member_confirmation": "刪除的成員將失去存取您組織的所有專案和問卷的權限。", + "delete_member_confirmation": "已刪除的成員將無法存取您組織的所有工作區和調查問卷。", "delete_organization": "刪除組織", - "delete_organization_description": "刪除包含所有專案的組織,包括所有問卷、回應、人員、操作和屬性", + "delete_organization_description": "刪除組織及其所有工作區,包括所有調查問卷、回覆、人員、操作和屬性", "delete_organization_warning": "在您繼續刪除此組織之前,請注意以下後果:", - "delete_organization_warning_1": "永久移除與此組織相關聯的所有專案。", + "delete_organization_warning_1": "永久移除與此組織連結的所有工作區。", "delete_organization_warning_2": "此操作無法復原。一旦刪除,即永久消失。", "delete_organization_warning_3": "請在下列欄位中輸入 '{'organizationName'}' 以確認永久刪除此組織:", "eliminate_branding_with_whitelabel": "消除 Formbricks 品牌並啟用其他白標自訂選項。", @@ -2676,7 +2676,7 @@ "add_workspaces_description": "控管團隊成員可存取哪些工作區。", "all_members_added": "所有成員都已新增至此團隊。", "all_workspaces_added": "所有工作區都已加入此團隊。", - "are_you_sure_you_want_to_delete_this_team": "您確定要刪除此團隊嗎?這也會移除對此團隊相關的所有專案和問卷的存取權限。", + "are_you_sure_you_want_to_delete_this_team": "確定要刪除這個團隊嗎?這也會移除與此團隊相關的所有工作區和調查問卷的存取權限。", "billing_role_description": "只能存取帳單資訊。", "bulk_invite": "大量邀請", "contributor": "投稿人", @@ -2692,10 +2692,10 @@ "manage": "管理", "manage_team": "管理團隊", "manage_team_disabled": "只有組織擁有者、管理員和團隊管理員才能管理團隊。", - "manager_role_description": "管理員可以存取所有專案,並新增和移除成員。", + "manager_role_description": "管理者可以存取所有工作區,並可新增或移除成員。", "member": "成員", - "member_role_description": "成員可以在選定的專案中工作。", - "member_role_info_message": "若要授予新成員存取專案的權限,請將他們新增至下方的團隊。藉由團隊,您可以管理誰可以存取哪些專案。", + "member_role_description": "成員可以在選定的工作區中工作。", + "member_role_info_message": "若要讓新成員存取工作區,請在下方將他們加入團隊。透過團隊功能,你可以管理誰能存取哪些工作區。", "organization_role": "組織角色", "owner_role_description": "擁有者對組織具有完全控制權。", "please_fill_all_member_fields": "請填寫所有欄位以新增新成員。", @@ -2712,8 +2712,8 @@ "team_settings_description": "管理團隊成員、存取權限等。", "team_updated_successfully": "團隊已成功更新", "teams": "團隊", - "teams_description": "將成員指派到團隊中,並授予團隊存取專案的權限。", - "unlock_teams_description": "管理哪些組織成員可以存取特定專案和問卷。", + "teams_description": "將成員分配到團隊,並授予團隊存取工作區的權限。", + "unlock_teams_description": "管理哪些組織成員可以存取特定的工作區和調查問卷。", "unlock_teams_title": "使用更高等級的方案解鎖團隊。", "upgrade_plan_notice_message": "使用更高等級的方案解鎖組織角色。", "you_are_a_member": "您是成員" @@ -3059,7 +3059,7 @@ "options_used_in_logic_bulk_error": "以下選項已用於邏輯中:{questionIndexes}。請先從邏輯中移除它們。", "override_theme_with_individual_styles_for_this_survey": "使用此問卷的個別樣式覆寫主題。", "overwrite_global_waiting_time": "自訂冷卻期", - "overwrite_global_waiting_time_description": "僅覆蓋此問卷的專案設定。", + "overwrite_global_waiting_time_description": "僅針對此調查問卷覆寫工作區設定。", "overwrite_placement": "覆寫位置", "overwrite_survey_logo": "設定自訂問卷標誌", "overwrite_the_global_placement_of_the_survey": "覆寫問卷的整體位置", diff --git a/apps/web/modules/ee/analysis/charts/lib/charts.test.ts b/apps/web/modules/ee/analysis/charts/lib/charts.test.ts index 1101a646e7f0..163e0a8a8927 100644 --- a/apps/web/modules/ee/analysis/charts/lib/charts.test.ts +++ b/apps/web/modules/ee/analysis/charts/lib/charts.test.ts @@ -348,7 +348,7 @@ describe("Chart Service", () => { }); describe("getCharts", () => { - test("returns all charts for a project", async () => { + test("returns all charts for a workspace", async () => { const chartsFromDb = [ { ...mockChart, creator: { name: "User 1" } }, { ...mockChart, id: "chart-2", name: "Chart 2", creator: { name: null } }, diff --git a/apps/web/modules/ee/analysis/dashboards/lib/dashboards.test.ts b/apps/web/modules/ee/analysis/dashboards/lib/dashboards.test.ts index c6107b28574c..d9dd7ea8f9d3 100644 --- a/apps/web/modules/ee/analysis/dashboards/lib/dashboards.test.ts +++ b/apps/web/modules/ee/analysis/dashboards/lib/dashboards.test.ts @@ -419,7 +419,7 @@ describe("Dashboard Service", () => { }); describe("getDashboards", () => { - test("returns all dashboards for a project with creator", async () => { + test("returns all dashboards for a workspace with creator", async () => { const dashboards = [ { ...mockDashboard, creator: { name: "Alice" }, _count: { widgets: 3 } }, { ...mockDashboard, id: "dash-2", name: "Dashboard 2", creator: null, _count: { widgets: 0 } }, diff --git a/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.test.ts b/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.test.ts index 3c285175fd84..a7871016cf6c 100644 --- a/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.test.ts +++ b/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.test.ts @@ -234,7 +234,7 @@ describe("FeedbackRecordDirectory Service", () => { await expect( createFeedbackRecordDirectory(mockOrganizationId, "Bad Workspaces", [mockWorkspaceId1]) - ).rejects.toThrow(new InvalidInputError("DIRECTORY_PROJECTS_INVALID_ORG")); + ).rejects.toThrow(new InvalidInputError("DIRECTORY_WORKSPACES_INVALID_ORG")); }); test("throws InvalidInputError on duplicate name (unique constraint violation)", async () => { @@ -370,7 +370,7 @@ describe("FeedbackRecordDirectory Service", () => { updateFeedbackRecordDirectory(mockDirectoryId, mockOrganizationId, { workspaceIds: [mockWorkspaceId1], }) - ).rejects.toThrow(new InvalidInputError("DIRECTORY_PROJECTS_INVALID_ORG")); + ).rejects.toThrow(new InvalidInputError("DIRECTORY_WORKSPACES_INVALID_ORG")); }); test("throws InvalidInputError on duplicate name (unique constraint violation)", async () => { diff --git a/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.ts b/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.ts index 8dea4a256af6..636a1e07da64 100644 --- a/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.ts +++ b/apps/web/modules/ee/feedback-record-directory/lib/feedback-record-directory.ts @@ -190,7 +190,7 @@ export const createFeedbackRecordDirectory = async ( where: { id: { in: workspaceIds }, organizationId }, }); if (count !== workspaceIds.length) { - throw new InvalidInputError("DIRECTORY_PROJECTS_INVALID_ORG"); + throw new InvalidInputError("DIRECTORY_WORKSPACES_INVALID_ORG"); } } @@ -247,7 +247,7 @@ const buildWorkspaceAssignmentPayload = async ( }, }); if (orgWorkspacesCount !== workspaceIds.length) { - throw new InvalidInputError("DIRECTORY_PROJECTS_INVALID_ORG"); + throw new InvalidInputError("DIRECTORY_WORKSPACES_INVALID_ORG"); } } diff --git a/apps/web/modules/ee/feedback-record-directory/types/feedback-record-directory.ts b/apps/web/modules/ee/feedback-record-directory/types/feedback-record-directory.ts index d1f9c87126a3..81ccca2dc48e 100644 --- a/apps/web/modules/ee/feedback-record-directory/types/feedback-record-directory.ts +++ b/apps/web/modules/ee/feedback-record-directory/types/feedback-record-directory.ts @@ -63,7 +63,7 @@ export const getTranslatedFeedbackRecordDirectoryError = ( return t("workspace.settings.feedback_record_directories.error_directory_name_required"); case "DIRECTORY_NAME_DUPLICATE": return t("workspace.settings.feedback_record_directories.error_directory_name_duplicate"); - case "DIRECTORY_PROJECTS_INVALID_ORG": + case "DIRECTORY_WORKSPACES_INVALID_ORG": return t("workspace.settings.feedback_record_directories.error_directory_workspaces_invalid_org"); case "DIRECTORY_HAS_CONNECTORS": return t("workspace.settings.feedback_record_directories.error_directory_has_connectors"); diff --git a/apps/web/modules/ee/license-check/lib/utils.test.ts b/apps/web/modules/ee/license-check/lib/utils.test.ts index 911ae7937e25..02dd9c4ee405 100644 --- a/apps/web/modules/ee/license-check/lib/utils.test.ts +++ b/apps/web/modules/ee/license-check/lib/utils.test.ts @@ -433,7 +433,7 @@ describe("License Utils", () => { }); describe("getOrganizationWorkspacesLimit", () => { - test("returns cloud projects limit when cloud license status allows usage", async () => { + test("returns cloud workspaces limit when cloud license status allows usage", async () => { vi.mocked(constants).IS_FORMBRICKS_CLOUD = true; vi.mocked(getOrganizationEntitlementsContext).mockResolvedValue({ ...defaultEntitlementsContext, @@ -446,7 +446,7 @@ describe("License Utils", () => { expect(result).toBe(10); }); - test("returns Infinity when cloud projects limit is unbounded", async () => { + test("returns Infinity when cloud workspaces limit is unbounded", async () => { vi.mocked(constants).IS_FORMBRICKS_CLOUD = true; vi.mocked(getOrganizationEntitlementsContext).mockResolvedValue({ ...defaultEntitlementsContext, diff --git a/apps/web/modules/entitlements/lib/self-hosted-provider.test.ts b/apps/web/modules/entitlements/lib/self-hosted-provider.test.ts index f0198be46e6c..a637d2fd2004 100644 --- a/apps/web/modules/entitlements/lib/self-hosted-provider.test.ts +++ b/apps/web/modules/entitlements/lib/self-hosted-provider.test.ts @@ -73,7 +73,7 @@ describe("getSelfHostedOrganizationEntitlementsContext", () => { expect(result.limits.workspaces).toBe(10); }); - test("defaults projects to 3 when license is inactive", async () => { + test("defaults workspaces to 3 when license is inactive", async () => { mockGetOrg.mockResolvedValue({ id: "org1" } as any); mockGetLicense.mockResolvedValue({ status: "expired", diff --git a/apps/web/modules/response-pipeline/lib/telemetry.test.ts b/apps/web/modules/response-pipeline/lib/telemetry.test.ts index ce3b2eb90037..9d7d5d26afec 100644 --- a/apps/web/modules/response-pipeline/lib/telemetry.test.ts +++ b/apps/web/modules/response-pipeline/lib/telemetry.test.ts @@ -356,7 +356,7 @@ describe("sendTelemetryEvents", () => { organizationCount: BigInt(1), userCount: BigInt(5), teamCount: BigInt(2), - projectCount: BigInt(3), + workspaceCount: BigInt(3), surveyCount: BigInt(10), inProgressSurveyCount: BigInt(4), completedSurveyCount: BigInt(6), diff --git a/apps/web/modules/survey/components/template-list/lib/utils.test.ts b/apps/web/modules/survey/components/template-list/lib/utils.test.ts index 57cb9de01a81..ad4f82af490a 100644 --- a/apps/web/modules/survey/components/template-list/lib/utils.test.ts +++ b/apps/web/modules/survey/components/template-list/lib/utils.test.ts @@ -42,14 +42,14 @@ describe("Template utils", () => { }; const mockWorkspace = { - name: "TestProject", + name: "TestWorkspace", }; const result = replacePresetPlaceholders(mockTemplate, mockWorkspace); expect(structuredClone).toHaveBeenCalledWith(mockTemplate.preset); - expect(result.preset.name).toBe("TestProject Feedback"); - expect(result.preset.blocks[0].elements[0].headline?.default).toBe("How would you rate TestProject?"); + expect(result.preset.name).toBe("TestWorkspace Feedback"); + expect(result.preset.blocks[0].elements[0].headline?.default).toBe("How would you rate TestWorkspace?"); }); test("getChannelMapping returns correct channel mappings", () => { diff --git a/apps/web/modules/survey/editor/components/survey-editor.tsx b/apps/web/modules/survey/editor/components/survey-editor.tsx index 1f7ca13b1eea..4dffecf3a913 100644 --- a/apps/web/modules/survey/editor/components/survey-editor.tsx +++ b/apps/web/modules/survey/editor/components/survey-editor.tsx @@ -243,7 +243,7 @@ export const SurveyEditor = ({ diff --git a/apps/web/modules/survey/list/lib/utils.test.ts b/apps/web/modules/survey/list/lib/utils.test.ts index bdf893b89693..22e8558c1335 100644 --- a/apps/web/modules/survey/list/lib/utils.test.ts +++ b/apps/web/modules/survey/list/lib/utils.test.ts @@ -28,7 +28,7 @@ describe("normalizeSurveyFilters", () => { }); }); - test("drops type filters when the project channel is link-only", () => { + test("drops type filters when the workspace channel is link-only", () => { expect( normalizeSurveyFilters( { diff --git a/apps/web/modules/survey/list/lib/utils.ts b/apps/web/modules/survey/list/lib/utils.ts index a027b8b91636..0768a873372c 100644 --- a/apps/web/modules/survey/list/lib/utils.ts +++ b/apps/web/modules/survey/list/lib/utils.ts @@ -27,9 +27,9 @@ function getNormalizedStatus(value: unknown): TSurveyOverviewFilters["status"] { function getNormalizedType( value: unknown, - currentProjectChannel?: TWorkspaceConfigChannel + currentWorkspaceChannel?: TWorkspaceConfigChannel ): TSurveyOverviewType[] { - if (currentProjectChannel === "link" || !Array.isArray(value)) { + if (currentWorkspaceChannel === "link" || !Array.isArray(value)) { return []; } @@ -44,19 +44,19 @@ function getNormalizedSort(value: unknown): TSurveyOverviewSort { export function normalizeSurveyFilters( filters: Partial | null | undefined, - currentProjectChannel?: TWorkspaceConfigChannel + currentWorkspaceChannel?: TWorkspaceConfigChannel ): TSurveyOverviewFilters { return { name: typeof filters?.name === "string" ? filters.name.trim() : initialFilters.name, status: getNormalizedStatus(filters?.status), - type: getNormalizedType(filters?.type, currentProjectChannel), + type: getNormalizedType(filters?.type, currentWorkspaceChannel), sortBy: getNormalizedSort(filters?.sortBy), }; } export function parseStoredSurveyFilters( storedValue: string | null, - currentProjectChannel?: TWorkspaceConfigChannel + currentWorkspaceChannel?: TWorkspaceConfigChannel ): TSurveyOverviewFilters | null { if (!storedValue) { return null; @@ -65,7 +65,7 @@ export function parseStoredSurveyFilters( try { return normalizeSurveyFilters( JSON.parse(storedValue) as Partial, - currentProjectChannel + currentWorkspaceChannel ); } catch { return null; diff --git a/apps/web/modules/survey/multi-language-surveys/components/language-view.tsx b/apps/web/modules/survey/multi-language-surveys/components/language-view.tsx index b5775453bf55..2b79381e2357 100644 --- a/apps/web/modules/survey/multi-language-surveys/components/language-view.tsx +++ b/apps/web/modules/survey/multi-language-surveys/components/language-view.tsx @@ -42,7 +42,7 @@ import { ManageTranslationsModal } from "./manage-translations-modal"; interface LanguageViewProps { localSurvey: TSurvey; setLocalSurvey: (survey: TSurvey) => void; - projectLanguages: Language[]; + workspaceLanguages: Language[]; locale: TUserLocale; setHasIncompleteTranslations: (has: boolean) => void; } @@ -59,7 +59,7 @@ interface ConfirmationModalInfo { export const LanguageView = ({ localSurvey, setLocalSurvey, - projectLanguages, + workspaceLanguages, locale, setHasIncompleteTranslations, }: LanguageViewProps) => { @@ -169,7 +169,7 @@ export const LanguageView = ({ }; const handleDefaultLanguageChange = (languageCode: string) => { - const language = projectLanguages.find((lang) => lang.code === languageCode); + const language = workspaceLanguages.find((lang) => lang.code === languageCode); if (!language) return; let languageExists = false; @@ -218,7 +218,7 @@ export const LanguageView = ({ } } else { // Language not in survey — add it with enabled: true - const language = projectLanguages.find((l) => l.code === code); + const language = workspaceLanguages.find((l) => l.code === code); if (language) { const updatedLanguages: TSurveyLanguage[] = [ ...localSurvey.languages, @@ -273,7 +273,7 @@ export const LanguageView = ({ return (
{/* Activation toggle — only show when workspace has languages */} - {projectLanguages.length > 0 && ( + {workspaceLanguages.length > 0 && (
{/* Default language select — only show when no default is set yet */} - {projectLanguages.length > 0 && !defaultLanguage && ( + {workspaceLanguages.length > 0 && !defaultLanguage && (
@@ -322,7 +322,7 @@ export const LanguageView = ({ - {projectLanguages.map((lang) => ( + {workspaceLanguages.map((lang) => ( {getLanguageLabel(lang.code, locale)} ({lang.code}) @@ -334,7 +334,7 @@ export const LanguageView = ({ )} {/* Languages table — show all workspace languages */} - {defaultLanguage && projectLanguages.length > 0 && ( + {defaultLanguage && workspaceLanguages.length > 0 && (
@@ -386,7 +386,7 @@ export const LanguageView = ({ {/* Non-default language rows — all workspace languages except default */} - {projectLanguages + {workspaceLanguages .filter((pl) => pl.code !== defaultLanguage.code) .map((pl) => { const surveyLang = localSurvey.languages.find((sl) => sl.language.code === pl.code); @@ -492,7 +492,7 @@ export const LanguageView = ({ )} - {projectLanguages.length === 0 && ( + {workspaceLanguages.length === 0 && (

{t("workspace.surveys.edit.no_languages_found_add_first_one_to_get_started")} diff --git a/docker/formbricks.sh b/docker/formbricks.sh index 8347d11ca6e5..69284207e132 100755 --- a/docker/formbricks.sh +++ b/docker/formbricks.sh @@ -266,7 +266,7 @@ EOT echo " If you skip this, the following features will be disabled:" echo " - Adding images to surveys (e.g., in questions or as background)" echo " - 'File Upload' and 'Picture Selection' question types" - echo " - Project logos" + echo " - Workspace logos" echo " - Custom organization logo in emails" read -p "Configure file uploads now? [Y/n] " configure_uploads configure_uploads=$(echo "$configure_uploads" | tr '[:upper:]' '[:lower:]') diff --git a/docs/api-v2-reference/openapi.yml b/docs/api-v2-reference/openapi.yml index 9d52de395666..f1ffc0ff54f9 100644 --- a/docs/api-v2-reference/openapi.yml +++ b/docs/api-v2-reference/openapi.yml @@ -3019,10 +3019,17 @@ paths: name: teamId schema: type: string + - in: query + name: workspaceId + schema: + type: string + description: The ID of the Workspace to filter by - in: query name: projectId + deprecated: true schema: type: string + description: Deprecated alias for workspaceId. responses: "200": description: Workspace teams retrieved successfully. @@ -3044,9 +3051,13 @@ paths: type: string description: The date and time the Workspace team was last updated example: 2021-01-01T00:00:00.000Z - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. teamId: type: string description: The ID of the team @@ -3090,9 +3101,13 @@ paths: teamId: type: string description: The ID of the team - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. permission: type: string enum: @@ -3102,7 +3117,6 @@ paths: description: Level of access granted to the Workspace required: - teamId - - projectId - permission responses: "201": @@ -3120,9 +3134,13 @@ paths: type: string description: The date and time the Workspace team was last updated example: 2021-01-01T00:00:00.000Z - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. teamId: type: string description: The ID of the team @@ -3157,9 +3175,13 @@ paths: teamId: type: string description: The ID of the team - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. permission: type: string enum: @@ -3169,7 +3191,6 @@ paths: description: Level of access granted to the Workspace required: - teamId - - projectId - permission responses: "200": @@ -3187,9 +3208,13 @@ paths: type: string description: The date and time the Workspace team was last updated example: 2021-01-01T00:00:00.000Z - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. teamId: type: string description: The ID of the team @@ -3218,11 +3243,17 @@ paths: schema: type: string required: true + - in: query + name: workspaceId + schema: + type: string + description: The ID of the Workspace - in: query name: projectId + deprecated: true schema: type: string - required: true + description: Deprecated alias for workspaceId. responses: "200": description: Workspace team deleted successfully. @@ -3239,9 +3270,13 @@ paths: type: string description: The date and time the Workspace team was last updated example: 2021-01-01T00:00:00.000Z - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. teamId: type: string description: The ID of the team @@ -5506,7 +5541,7 @@ components: - string - "null" description: ID of the segment - projectOverwrites: + workspaceOverwrites: type: - object - "null" @@ -5790,7 +5825,7 @@ components: - delay - surveyClosedMessage - segmentId - - projectOverwrites + - workspaceOverwrites - styling - singleUse - isVerifyEmailEnabled @@ -5897,9 +5932,13 @@ components: type: string description: The date and time the Workspace team was last updated example: 2021-01-01T00:00:00.000Z - projectId: + workspaceId: type: string description: The ID of the Workspace + projectId: + type: string + deprecated: true + description: Deprecated alias for workspaceId. teamId: type: string description: The ID of the team @@ -5913,7 +5952,7 @@ components: required: - createdAt - updatedAt - - projectId + - workspaceId - teamId - permission user: diff --git a/docs/development/standards/organization/naming-conventions.mdx b/docs/development/standards/organization/naming-conventions.mdx index bc72d9598fb1..1e6927549335 100644 --- a/docs/development/standards/organization/naming-conventions.mdx +++ b/docs/development/standards/organization/naming-conventions.mdx @@ -7,6 +7,7 @@ icon: input-text ## Files and Directories ### General Files + - Use lowercase and hyphen-separated names (kebab-case) for files and directories - ✅ `user-profile.ts` - ❌ `UserProfile.ts` @@ -15,6 +16,7 @@ icon: input-text - ❌ `component`, `util` ### Special Files + - Configuration files should follow framework conventions - ✅ `next.config.mjs`, `tailwind.config.js` - Test files should mirror source files with `.test` or `.spec` suffix @@ -25,6 +27,7 @@ icon: input-text ## Code Symbols ### Variables and Functions + - Use camelCase for variables and function names - ✅ `fetchUserData`, `isLoading`, `handleSubmit` - ❌ `FetchUserData`, `is_loading` @@ -34,6 +37,7 @@ icon: input-text - ✅ `fetchData`, `createUser`, `updateProfile` ### Classes and Types + - Use PascalCase for: - Classes: `Config`, `Client`, `ResponseAPI` - Interfaces: `TSurveySummaryResponse`, `ApiConfig` @@ -42,20 +46,22 @@ icon: input-text - ✅ `TStats`, `TResponseData`, `IApiConfig` - Enum names should be PascalCase, values in UPPER_SNAKE_CASE ```typescript - enum ProjectFeatureKeys { + enum WorkspaceFeatureKeys { FREE = "free", STARTUP = "startup", - SCALE = "scale" + SCALE = "scale", } ``` ### Constants + - Use UPPER_SNAKE_CASE for constant values - ✅ `API_TIMEOUT`, `MAX_RETRIES`, `CONTAINER_ID` - Use PascalCase for constant references/objects - ✅ `ErrorCodes`, `Config` ### Database Models + - Use PascalCase singular form for model names - ✅ `Survey`, `Response`, `Document` - Use camelCase for field names @@ -64,30 +70,35 @@ icon: input-text - ✅ `created_at`, `updated_at` ### Components + - Use PascalCase for React components and their files - ✅ `SurveyCard.tsx`, `UserProfile.tsx` - Component-specific types should be prefixed with component name - ✅ `SurveyCardProps`, `UserProfileData` ### API and Endpoints + - Use kebab-case for API endpoints - ✅ `/api/user-profile`, `/api/survey-responses` - Use camelCase for query parameters - ✅ `/api/surveys?pageSize=10&sortOrder=desc` ## Schema and Validation + - Prefix Zod schemas with Z - ✅ `ZSurvey`, `ZDocument`, `ZInsight` - Use descriptive names for validation schemas - ✅ `ZUpdateDocumentAction`, `ZGenerateDocumentObjectSchema` ## Error Handling + - Suffix error classes with "Error" - ✅ `ValidationError`, `DatabaseError`, `AuthenticationError` - Use descriptive names for error types - ✅ `SURVEY_NOT_FOUND`, `INVALID_RESPONSE` ## Best Practices + - Keep names descriptive but concise - Be consistent within each context - Follow existing patterns in the codebase diff --git a/packages/database/README.md b/packages/database/README.md index 597c6a91f865..ef4ec5f7dc90 100644 --- a/packages/database/README.md +++ b/packages/database/README.md @@ -83,7 +83,7 @@ Run these commands from the root directory of the Formbricks monorepo: - Copies migration to Prisma's internal directory - Applies all pending migrations to the database - **`pnpm db:seed`**: Seed the database with sample data - - Upserts base infrastructure (Organization, Project, Environments) + - Upserts base infrastructure (Organization, Workspaces) - Creates multi-role users (Admin, Manager) - Generates complex surveys and sample responses - **`pnpm db:seed:clear`**: Clear all seeded data and re-seed @@ -121,11 +121,11 @@ Run these commands from the `packages/database` directory: ## Database Seeding -The seeding system provides a quick way to set up a functional environment for development, QA, and testing. +The seeding system provides a quick way to set up a functional workspace for development, QA, and testing. ### Safety Guard -To prevent accidental data loss in production, seeding is blocked if `NODE_ENV=production`. If you explicitly need to seed a production-like environment (e.g., staging), you must set: +To prevent accidental data loss in production, seeding is blocked if `NODE_ENV=production`. If you explicitly need to seed a production-like workspace (e.g., staging), you must set: ```bash ALLOW_SEED=true @@ -135,11 +135,11 @@ ALLOW_SEED=true The `pnpm db:seed` script: -1. **Infrastructure**: Upserts a default organization, project, and environments. +1. **Infrastructure**: Upserts a default organization and workspace. 2. **Users**: Creates default users with the following credentials (passwords are hashed): - **Admin**: `admin@formbricks.com` / `password123` - **Manager**: `manager@formbricks.com` / `password123` -3. **Surveys**: Creates complex sample surveys (Kitchen Sink, CSAT, Draft, etc.) in the **Production** environment. +3. **Surveys**: Creates complex sample surveys (Kitchen Sink, CSAT, Draft, etc.) in the **Production** workspace. 4. **Responses**: Generates ~50 realistic responses and displays for each survey. ### Idempotency @@ -203,7 +203,7 @@ The package uses PostgreSQL with the following key features: - **User**: User accounts with authentication and profile data - **Organization**: Multi-tenant organization structure -- **Project**: Project-level configuration and settings +- **Workspace**: Workspace-level configuration and settings - **Survey**: Survey definitions with advanced targeting and styling - **Response**: Survey response data with metadata - **Contact**: Contact management and attributes diff --git a/packages/surveys/README.md b/packages/surveys/README.md index 3b6742993404..b4c35908d192 100644 --- a/packages/surveys/README.md +++ b/packages/surveys/README.md @@ -54,7 +54,7 @@ packages/surveys/ - Join the Formbricks team on Lingo.dev 2. **Get Your API Key** - - In the sidebar, go to **Projects** and open the default project + - In the sidebar, go to **Workspaces** and open the default workspace - Navigate to the **Settings** tab - Copy the API key diff --git a/packages/surveys/src/components/general/survey.test.tsx b/packages/surveys/src/components/general/survey.test.tsx index 0cf5531726c3..c2c8348c5f1a 100644 --- a/packages/surveys/src/components/general/survey.test.tsx +++ b/packages/surveys/src/components/general/survey.test.tsx @@ -122,7 +122,7 @@ const defaultLanguage = { alias: null, createdAt: new Date(), updatedAt: new Date(), - projectId: "project12345678901234567", + workspaceId: "workspace12345678901234567", }, }; @@ -166,7 +166,7 @@ const baseSurvey: TJsWorkspaceStateSurvey = { languages: [defaultLanguage], segment: null, hiddenFields: { enabled: false, fieldIds: [] }, - projectOverwrites: null, + workspaceOverwrites: null, triggers: [], displayOption: "displayOnce", showLanguageSwitch: false,