+}
+
describe('ModalContextProvider trigger events limit modal', () => {
beforeEach(() => {
mockConsoleStateReader.mockReset()
@@ -197,13 +203,27 @@ describe('ModalContextProvider trigger events limit modal', () => {
})
const user = userEvent.setup()
- renderProvider()
+ renderProvider(
+ <>
+
+
+ >,
+ )
+
+ expect(screen.getByTestId('has-blocking-modal-open')).toHaveTextContent('false')
await user.click(screen.getByRole('button', { name: 'open preferences' }))
expect(
await screen.findByRole('status', { name: 'active account setting tab' }),
).toHaveTextContent(ACCOUNT_SETTING_TAB.PREFERENCES)
+ expect(screen.getByTestId('has-blocking-modal-open')).toHaveTextContent('true')
+
+ await user.click(screen.getByRole('button', { name: 'cancel account setting' }))
+
+ await waitFor(() => {
+ expect(screen.getByTestId('has-blocking-modal-open')).toHaveTextContent('false')
+ })
})
it('relies on the in-memory guard when localStorage reads throw', async () => {
diff --git a/web/context/modal-context.ts b/web/context/modal-context.ts
index 33d7c5f9e0b..045aaaef468 100644
--- a/web/context/modal-context.ts
+++ b/web/context/modal-context.ts
@@ -45,6 +45,7 @@ export type ModelModalType = {
}
export type ModalContextState = {
+ hasBlockingModalOpen: boolean
setShowAccountSettingModal: Dispatch | null>>
setShowModerationSettingModal: Dispatch | null>>
setShowExternalDataToolModal: Dispatch | null>>
@@ -74,6 +75,7 @@ export type ModalContextState = {
}
export const ModalContext = createContext({
+ hasBlockingModalOpen: false,
setShowAccountSettingModal: noop,
setShowModerationSettingModal: noop,
setShowExternalDataToolModal: noop,
diff --git a/web/env.ts b/web/env.ts
index 4501607326a..0bf9edeaac0 100644
--- a/web/env.ts
+++ b/web/env.ts
@@ -93,6 +93,7 @@ const clientSchema = {
NEXT_PUBLIC_ENABLE_TRIAL_APP: coercedBoolean.default(true),
NEXT_PUBLIC_ENABLE_EXPLORE_BANNER: coercedBoolean.default(true),
NEXT_PUBLIC_ENABLE_LEARN_APP: coercedBoolean.default(true),
+ NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR: coercedBoolean.default(true),
NEXT_PUBLIC_RBAC_ENABLED: coercedBoolean.default(false),
/**
@@ -286,6 +287,9 @@ export const env = createEnv({
NEXT_PUBLIC_ENABLE_LEARN_APP: isServer
? process.env.NEXT_PUBLIC_ENABLE_LEARN_APP
: getRuntimeEnvFromBody('enableLearnApp'),
+ NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR: isServer
+ ? process.env.NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR
+ : getRuntimeEnvFromBody('enableStepByStepTour'),
NEXT_PUBLIC_RBAC_ENABLED: isServer
? process.env.NEXT_PUBLIC_RBAC_ENABLED
: getRuntimeEnvFromBody('rbacEnabled'),
diff --git a/web/features/system-features/__tests__/system-features.spec.ts b/web/features/system-features/__tests__/system-features.spec.ts
index ab32b0fba8a..fa7a3728488 100644
--- a/web/features/system-features/__tests__/system-features.spec.ts
+++ b/web/features/system-features/__tests__/system-features.spec.ts
@@ -21,6 +21,7 @@ const defaultCloudEnv = {
NEXT_PUBLIC_ENABLE_LEARN_APP: true,
NEXT_PUBLIC_ENABLE_MARKETPLACE: true,
NEXT_PUBLIC_ENABLE_SOCIAL_OAUTH_LOGIN: true,
+ NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR: true,
NEXT_PUBLIC_ENABLE_TRIAL_APP: true,
NEXT_PUBLIC_IS_EMAIL_SETUP: true,
NEXT_PUBLIC_RBAC_ENABLED: false,
@@ -142,6 +143,7 @@ describe('systemFeaturesQueryOptions', () => {
enable_social_oauth_login: true,
enable_trial_app: true,
enable_learn_app: true,
+ enable_step_by_step_tour: true,
rbac_enabled: false,
})
})
@@ -156,6 +158,7 @@ describe('systemFeaturesQueryOptions', () => {
NEXT_PUBLIC_ALLOW_REGISTER: false,
NEXT_PUBLIC_ENABLE_EXPLORE_BANNER: false,
NEXT_PUBLIC_ENABLE_LEARN_APP: true,
+ NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR: true,
NEXT_PUBLIC_RBAC_ENABLED: true,
},
})
@@ -170,6 +173,7 @@ describe('systemFeaturesQueryOptions', () => {
is_allow_register: false,
enable_explore_banner: false,
enable_learn_app: true,
+ enable_step_by_step_tour: true,
rbac_enabled: true,
branding: {
enabled: false,
@@ -225,6 +229,7 @@ describe('serverSystemFeaturesQueryOptions', () => {
NEXT_PUBLIC_ENABLE_MARKETPLACE: false,
NEXT_PUBLIC_ENABLE_EMAIL_PASSWORD_LOGIN: true,
NEXT_PUBLIC_ENABLE_LEARN_APP: true,
+ NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR: true,
},
})
@@ -238,6 +243,7 @@ describe('serverSystemFeaturesQueryOptions', () => {
enable_marketplace: false,
enable_email_password_login: true,
enable_learn_app: true,
+ enable_step_by_step_tour: true,
})
})
diff --git a/web/features/system-features/config.ts b/web/features/system-features/config.ts
index 6eb8b7eb2cc..df9c6a93c8f 100644
--- a/web/features/system-features/config.ts
+++ b/web/features/system-features/config.ts
@@ -58,6 +58,7 @@ export const defaultSystemFeatures = {
enable_trial_app: false,
enable_explore_banner: false,
enable_learn_app: true,
+ enable_step_by_step_tour: false,
} satisfies GetSystemFeaturesResponse
export const cloudSystemFeatures = {
@@ -108,5 +109,6 @@ export const cloudSystemFeatures = {
enable_trial_app: env.NEXT_PUBLIC_ENABLE_TRIAL_APP,
enable_explore_banner: env.NEXT_PUBLIC_ENABLE_EXPLORE_BANNER,
enable_learn_app: env.NEXT_PUBLIC_ENABLE_LEARN_APP,
+ enable_step_by_step_tour: env.NEXT_PUBLIC_ENABLE_STEP_BY_STEP_TOUR,
rbac_enabled: env.NEXT_PUBLIC_RBAC_ENABLED,
} satisfies GetSystemFeaturesResponse
diff --git a/web/hooks/use-import-dsl.ts b/web/hooks/use-import-dsl.ts
index 1e2d659e89e..34db25f874f 100644
--- a/web/hooks/use-import-dsl.ts
+++ b/web/hooks/use-import-dsl.ts
@@ -31,6 +31,7 @@ type ResponseCallback = {
onSuccess?: (payload: DSLImportResponse) => void
onPending?: (payload: DSLImportResponse) => void
onFailed?: () => void
+ skipRedirectOnSuccess?: boolean
}
export const useImportDSL = () => {
const { t } = useTranslation()
@@ -47,7 +48,10 @@ export const useImportDSL = () => {
const setNeedRefresh = useSetNeedRefreshAppList()
const handleImportDSL = useCallback(
- async (payload: DSLPayload, { onSuccess, onPending, onFailed }: ResponseCallback) => {
+ async (
+ payload: DSLPayload,
+ { onSuccess, onPending, onFailed, skipRedirectOnSuccess }: ResponseCallback,
+ ) => {
if (isFetching) return
setIsFetching(true)
@@ -87,17 +91,19 @@ export const useImportDSL = () => {
setNeedRefresh('1')
invalidateAppList()
await handleCheckPluginDependencies(app_id)
- const redirectionTarget = await resolveImportedAppRedirectionTarget({
- id: app_id,
- mode: app_mode,
- permission_keys,
- })
- getRedirection(redirectionTarget, push, {
- currentUserId,
- resourceMaintainer: currentUserId,
- workspacePermissionKeys,
- isRbacEnabled,
- })
+ if (!skipRedirectOnSuccess) {
+ const redirectionTarget = await resolveImportedAppRedirectionTarget({
+ id: app_id,
+ mode: app_mode,
+ permission_keys,
+ })
+ getRedirection(redirectionTarget, push, {
+ currentUserId,
+ resourceMaintainer: currentUserId,
+ workspacePermissionKeys,
+ isRbacEnabled,
+ })
+ }
} else if (status === DSLImportStatus.PENDING) {
setVersions({
importedVersion: imported_dsl_version ?? '',
@@ -130,7 +136,11 @@ export const useImportDSL = () => {
)
const handleImportDSLConfirm = useCallback(
- async ({ onSuccess, onFailed }: Pick) => {
+ async ({
+ onSuccess,
+ onFailed,
+ skipRedirectOnSuccess,
+ }: Pick) => {
if (isFetching) return
setIsFetching(true)
if (!importIdRef.current) return
@@ -162,17 +172,19 @@ export const useImportDSL = () => {
await handleCheckPluginDependencies(app_id)
setNeedRefresh('1')
invalidateAppList()
- const redirectionTarget = await resolveImportedAppRedirectionTarget({
- id: app_id,
- mode: app_mode,
- permission_keys,
- })
- getRedirection(redirectionTarget, push, {
- currentUserId,
- resourceMaintainer: currentUserId,
- workspacePermissionKeys,
- isRbacEnabled,
- })
+ if (!skipRedirectOnSuccess) {
+ const redirectionTarget = await resolveImportedAppRedirectionTarget({
+ id: app_id,
+ mode: app_mode,
+ permission_keys,
+ })
+ getRedirection(redirectionTarget, push, {
+ currentUserId,
+ resourceMaintainer: currentUserId,
+ workspacePermissionKeys,
+ isRbacEnabled,
+ })
+ }
} else if (status === DSLImportStatus.FAILED) {
toast.error(t(($) => $['newApp.appCreateFailed'], { ns: 'app' }))
onFailed?.()
diff --git a/web/i18n/ar-TN/common.json b/web/i18n/ar-TN/common.json
index b37d1e3ff41..660e5d034e2 100644
--- a/web/i18n/ar-TN/common.json
+++ b/web/i18n/ar-TN/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "لقد اطّلعت على الأساسيات. حان وقت بناء شيء ما.",
+ "stepByStepTour.completion.dismiss": "إغلاق",
+ "stepByStepTour.completion.label": "اكتملت جولة Step-by-step Tour",
+ "stepByStepTour.completion.title": "أنت جاهز الآن",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "يمكنك عرض التطبيقات في مساحة العمل هذه، لكن لا توجد تطبيقات هنا بعد. لإنشاء التطبيقات أو تعديلها، بدّل مساحة العمل أو اطلب الوصول من مالك مساحة العمل أو المسؤول.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "لا توجد تطبيقات لعرضها بعد",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "يمكنك تصفح التطبيقات وفتحها في مساحة العمل هذه، لكن إنشاء التطبيقات أو تعديلها يتطلب صلاحية. بدّل إلى مساحة عمل لديك فيها وصول، أو تواصل مع مالك مساحة العمل أو المسؤول.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio متاح للعرض فقط لك",
+ "stepByStepTour.markTaskComplete": "وضع علامة على {{title}} كمكتمل",
+ "stepByStepTour.markTaskIncomplete": "وضع علامة على {{title}} كغير مكتمل",
+ "stepByStepTour.progressAriaValueText": "اكتملت {{completed}} من {{total}} خطوات",
+ "stepByStepTour.stepLabel": "{{current}} من {{total}}",
+ "stepByStepTour.tasks.home.description": "افتح درسا عمليا من Learn Dify لترى Dify اثناء العمل.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "لإنشاء أو إدارة قواعد المعرفة، بدّل إلى مساحة عمل لديك فيها وصول أو تواصل مع Workspace Owner أو Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge يحتاج إلى صلاحية",
+ "stepByStepTour.tasks.studio.noCreate.description": "يمكنك عرض التطبيقات في مساحة العمل هذه. لإنشاء التطبيقات أو تعديلها، بدّل مساحة العمل أو اطلب الوصول من Workspace Owner أو Admin.",
"swaggerAPIAsToolPage.description": "استورد أي API كأداة باستخدام مواصفات OpenAPI/Swagger. اضبطها مرة واحدة وأعد استخدامها عبر workflows.",
"tag.addNew": "إضافة علامة جديدة",
"tag.addTag": "إضافة علامات",
diff --git a/web/i18n/de-DE/common.json b/web/i18n/de-DE/common.json
index 10b45574ba1..12cd07ac3f3 100644
--- a/web/i18n/de-DE/common.json
+++ b/web/i18n/de-DE/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Du hast die Grundlagen gesehen. Zeit, etwas zu bauen.",
+ "stepByStepTour.completion.dismiss": "Schließen",
+ "stepByStepTour.completion.label": "Step-by-step Tour abgeschlossen",
+ "stepByStepTour.completion.title": "Du bist startklar",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Du kannst Apps in diesem Arbeitsbereich anzeigen, aber hier gibt es noch keine Apps. Um Apps zu erstellen oder zu bearbeiten, wechsle den Arbeitsbereich oder bitte den Workspace Owner oder Admin um Zugriff.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Noch keine Apps zum Anzeigen",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Du kannst Apps in diesem Arbeitsbereich durchsuchen und oeffnen, aber zum Erstellen oder Bearbeiten brauchst du eine Berechtigung. Wechsle zu einem Arbeitsbereich mit Zugriff oder kontaktiere den Workspace Owner oder Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio ist fuer dich schreibgeschuetzt",
+ "stepByStepTour.markTaskComplete": "{{title}} als abgeschlossen markieren",
+ "stepByStepTour.markTaskIncomplete": "{{title}} als nicht abgeschlossen markieren",
+ "stepByStepTour.progressAriaValueText": "{{completed}} von {{total}} Schritten abgeschlossen",
+ "stepByStepTour.stepLabel": "{{current}} von {{total}}",
+ "stepByStepTour.tasks.home.description": "Oeffne eine praktische Learn Dify Lektion, um Dify in Aktion zu sehen.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Um Knowledge Bases zu erstellen oder zu verwalten, wechsle zu einem Arbeitsbereich mit Zugriff oder kontaktiere den Workspace Owner oder Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge braucht eine Berechtigung",
+ "stepByStepTour.tasks.studio.noCreate.description": "Du kannst Apps in diesem Arbeitsbereich ansehen. Um Apps zu erstellen oder zu bearbeiten, wechsle den Arbeitsbereich oder bitte den Workspace Owner oder Admin um Zugriff.",
"swaggerAPIAsToolPage.description": "Importiere jede API mithilfe von OpenAPI/Swagger-Spezifikationen als Tool. Einmal konfigurieren und in Workflows wiederverwenden.",
"tag.addNew": "Neues Tag hinzufügen",
"tag.addTag": "Tags hinzufügen",
diff --git a/web/i18n/en-US/common.json b/web/i18n/en-US/common.json
index 00c83f9528c..d21b5bd24fb 100644
--- a/web/i18n/en-US/common.json
+++ b/web/i18n/en-US/common.json
@@ -198,6 +198,7 @@
"mainNav.help.docs": "Documentation",
"mainNav.help.learnDify": "Learn Dify",
"mainNav.help.openMenu": "Open help menu",
+ "mainNav.help.stepByStepTour": "Step-by-step Tour",
"mainNav.home": "Home",
"mainNav.integrations": "Integrations",
"mainNav.marketplace": "Marketplace",
@@ -554,6 +555,92 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "You’ve seen the essentials. Time to build something.",
+ "stepByStepTour.completion.dismiss": "Dismiss",
+ "stepByStepTour.completion.label": "Step-by-step Tour completed",
+ "stepByStepTour.completion.title": "You’re all set",
+ "stepByStepTour.duration": "A quick tour — about 5 minutes",
+ "stepByStepTour.guides.home.create.description": "Click here to make it yours",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons here and learn how Dify works. To create an app from a lesson, switch to a workspace where you have create permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.guides.home.pick.description": "Pick a lesson to see how it works.",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.dataSource.title": "Data Source",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can import content from Drive, Notion, GitHub, Firecrawl, and more. To set them up, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. To add or edit servers, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers, model credentials, and Message Credits here. To install or change providers, contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and Marketplace plugins that apps can call during execution. To install or configure one, contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. To create or manage triggers, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.trigger.title": "Trigger",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.knowledge.empty.connect.description": "Already have a knowledge base elsewhere? Connect it via API — no data migration needed.",
+ "stepByStepTour.guides.knowledge.empty.connect.title": "Connect to an external knowledge base",
+ "stepByStepTour.guides.knowledge.empty.create.description": "Fastest way to get going. Upload documents and Dify handles chunking, indexing, and embedding for you. You can switch to custom anytime.",
+ "stepByStepTour.guides.knowledge.empty.create.title": "Create a ready-to-use knowledge base",
+ "stepByStepTour.guides.knowledge.empty.pipeline.description": "Define your own chunking, cleanup, and indexing flow when you need finer control over how documents become searchable.",
+ "stepByStepTour.guides.knowledge.empty.pipeline.title": "Build a custom knowledge base",
+ "stepByStepTour.guides.knowledge.withDatasets.create.description": "Use Create to add a new knowledge base — start ready-to-use, build a custom one from your documents, or connect to an external knowledge base.",
+ "stepByStepTour.guides.knowledge.withDatasets.create.title": "Create a new knowledge base",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.description": "Tap any knowledge base to open its document management page — update documents, retrieval settings, and access from there.",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.title": "Open and manage each knowledge base",
+ "stepByStepTour.guides.primaryActionLabel": "Got it",
+ "stepByStepTour.guides.studio.empty.blank.description": "Start from an empty canvas when you already know what to build.",
+ "stepByStepTour.guides.studio.empty.blank.title": "Create from blank",
+ "stepByStepTour.guides.studio.empty.dsl.description": "Got a Dify DSL file? Import it here to restore an app you've shared or backed up.",
+ "stepByStepTour.guides.studio.empty.dsl.title": "Import a DSL file",
+ "stepByStepTour.guides.studio.empty.learnDify.description": "New to Dify? Walk through a guided lesson first — you'll see Workflows, Agents, and more in action.",
+ "stepByStepTour.guides.studio.empty.learnDify.title": "Or start with Learn Dify",
+ "stepByStepTour.guides.studio.empty.template.description": "Browse Dify's templates and pick one that matches what you want to build. Great way to start without writing anything from scratch.",
+ "stepByStepTour.guides.studio.empty.template.title": "Create from a template",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "You can view apps in this workspace, but there are no apps here yet. To create or edit apps, switch workspaces or ask your Workspace Owner or Admin for access.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "No apps to view yet",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "You can browse apps in this workspace. To create or edit apps, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio is view-only for you",
+ "stepByStepTour.guides.studio.withApps.create.description": "Use Create to add a new app — pick from a template, start from blank, or import a DSL file.",
+ "stepByStepTour.guides.studio.withApps.create.title": "Create a new app",
+ "stepByStepTour.guides.studio.withApps.manage.description": "Tap any app to open its orchestration page — edit prompts, models, and logic, or manage its settings from there.",
+ "stepByStepTour.guides.studio.withApps.manage.title": "Open and manage each app",
+ "stepByStepTour.learnMore": "Learn more",
+ "stepByStepTour.markTaskComplete": "Mark {{title}} complete",
+ "stepByStepTour.markTaskIncomplete": "Mark {{title}} incomplete",
+ "stepByStepTour.minimize": "Minimize",
+ "stepByStepTour.progressAriaValueText": "{{completed}} of {{total}} steps completed",
+ "stepByStepTour.restore": "Open step-by-step tour",
+ "stepByStepTour.skip": "Skip tour",
+ "stepByStepTour.skipRecovery.dismiss": "Got it",
+ "stepByStepTour.skipRecovery.label": "Step-by-step Tour recovery tip",
+ "stepByStepTour.skipRecovery.message": "Tour hidden. Turn it back on anytime in Help → Step-by-step Tour.",
+ "stepByStepTour.stepLabel": "{{current}} of {{total}}",
+ "stepByStepTour.tasks.home.description": "Open a hands-on lesson from Learn Dify to see Dify in action.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here and learn how Dify works. To create an app from a lesson, switch to a workspace where you have create permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.home.primaryActionLabel": "Take a look",
+ "stepByStepTour.tasks.home.title": "Try a Learn Dify lesson",
+ "stepByStepTour.tasks.integration.description": "Models, tools, data sources & more — explore what you can connect.",
+ "stepByStepTour.tasks.integration.noPermission.description": "Browse models, tools, data sources, and triggers. To create or manage integrations, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.primaryActionLabel": "Take a look",
+ "stepByStepTour.tasks.integration.title": "Explore integrations",
+ "stepByStepTour.tasks.knowledge.description": "Build a knowledge base so your apps answer from your documents.",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "To create or manage knowledge bases, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.primaryActionLabel": "Got it",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge needs permission",
+ "stepByStepTour.tasks.knowledge.primaryActionLabel": "Take a look",
+ "stepByStepTour.tasks.knowledge.title": "Add your own data",
+ "stepByStepTour.tasks.studio.description": "All your apps live in Studio — edit, organize, and publish them here.",
+ "stepByStepTour.tasks.studio.noCreate.description": "You can browse apps in this workspace. To create or edit apps, switch to a workspace where you have permission, or contact your Workspace Owner or Admin.",
+ "stepByStepTour.tasks.studio.noCreate.title": "Find your apps in Studio",
+ "stepByStepTour.tasks.studio.primaryActionLabel": "Take a look",
+ "stepByStepTour.tasks.studio.title": "Manage your apps in Studio",
+ "stepByStepTour.title": "Get to know Dify",
"swaggerAPIAsToolPage.description": "Import any API as a tool using OpenAPI/Swagger specs. Configure once and reuse it across your workflows.",
"tag.addNew": "Add new tag",
"tag.addTag": "Add tags",
diff --git a/web/i18n/es-ES/common.json b/web/i18n/es-ES/common.json
index d859fbb22e2..2e5417b5d7d 100644
--- a/web/i18n/es-ES/common.json
+++ b/web/i18n/es-ES/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Ya viste lo esencial. Es hora de crear algo.",
+ "stepByStepTour.completion.dismiss": "Descartar",
+ "stepByStepTour.completion.label": "Step-by-step Tour completado",
+ "stepByStepTour.completion.title": "Todo listo",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Puedes ver apps en este espacio de trabajo, pero aun no hay apps aqui. Para crear o editar apps, cambia de espacio de trabajo o pide acceso al propietario o administrador.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Aun no hay apps para ver",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Puedes explorar y abrir apps en este espacio de trabajo, pero crear o editar apps requiere permiso. Cambia a un espacio donde tengas acceso o contacta al propietario o administrador.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio es de solo lectura para ti",
+ "stepByStepTour.markTaskComplete": "Marcar {{title}} como completado",
+ "stepByStepTour.markTaskIncomplete": "Marcar {{title}} como incompleto",
+ "stepByStepTour.progressAriaValueText": "{{completed}} de {{total}} pasos completados",
+ "stepByStepTour.stepLabel": "{{current}} de {{total}}",
+ "stepByStepTour.tasks.home.description": "Abre una leccion practica de Learn Dify para ver Dify en accion.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Para crear o administrar bases de conocimiento, cambia a un espacio de trabajo con acceso o contacta al Workspace Owner o Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge necesita permiso",
+ "stepByStepTour.tasks.studio.noCreate.description": "Puedes ver apps en este espacio de trabajo. Para crear o editar apps, cambia de espacio de trabajo o pide acceso al Workspace Owner o Admin.",
"swaggerAPIAsToolPage.description": "Importa cualquier API como herramienta usando especificaciones OpenAPI/Swagger. Configúrala una vez y reutilízala en tus workflows.",
"tag.addNew": "Agregar nueva etiqueta",
"tag.addTag": "Agregar etiquetas",
diff --git a/web/i18n/fa-IR/common.json b/web/i18n/fa-IR/common.json
index ef78f2b0763..17f2d13f4cc 100644
--- a/web/i18n/fa-IR/common.json
+++ b/web/i18n/fa-IR/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "موارد اصلی را دیدید. وقت ساختن چیزی تازه است.",
+ "stepByStepTour.completion.dismiss": "بستن",
+ "stepByStepTour.completion.label": "Step-by-step Tour کامل شد",
+ "stepByStepTour.completion.title": "همه چیز آماده است",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "میتوانید برنامههای این فضای کاری را مشاهده کنید، اما هنوز برنامهای وجود ندارد. برای ساخت یا ویرایش برنامهها، فضای کاری را تغییر دهید یا از مالک یا مدیر فضای کاری دسترسی بخواهید.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "هنوز برنامهای برای مشاهده وجود ندارد",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "میتوانید برنامههای این فضای کاری را مرور و باز کنید، اما ساخت یا ویرایش برنامهها به مجوز نیاز دارد. به فضای کاری دارای دسترسی بروید یا با مالک یا مدیر فضای کاری تماس بگیرید.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio برای شما فقط قابل مشاهده است",
+ "stepByStepTour.markTaskComplete": "{{title}} را کامل علامت بزن",
+ "stepByStepTour.markTaskIncomplete": "{{title}} را ناقص علامت بزن",
+ "stepByStepTour.progressAriaValueText": "{{completed}} از {{total}} مرحله کامل شد",
+ "stepByStepTour.stepLabel": "{{current}} از {{total}}",
+ "stepByStepTour.tasks.home.description": "یک درس عملی از Learn Dify را باز کنید تا Dify را در عمل ببینید.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "برای ساخت یا مدیریت پایگاههای دانش، به فضای کاری دارای دسترسی بروید یا با Workspace Owner یا Admin تماس بگیرید.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge به مجوز نیاز دارد",
+ "stepByStepTour.tasks.studio.noCreate.description": "میتوانید برنامههای این فضای کاری را مشاهده کنید. برای ساخت یا ویرایش برنامهها، فضای کاری را تغییر دهید یا از Workspace Owner یا Admin دسترسی بخواهید.",
"swaggerAPIAsToolPage.description": "هر API را با مشخصات OpenAPI/Swagger بهعنوان ابزار وارد کنید. یکبار پیکربندی کنید و در workflowها دوباره استفاده کنید.",
"tag.addNew": "افزودن برچسب جدید",
"tag.addTag": "افزودن برچسبها",
diff --git a/web/i18n/fr-FR/common.json b/web/i18n/fr-FR/common.json
index 7710080d9f0..7363ed70e75 100644
--- a/web/i18n/fr-FR/common.json
+++ b/web/i18n/fr-FR/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Vous avez vu l’essentiel. Il est temps de créer quelque chose.",
+ "stepByStepTour.completion.dismiss": "Fermer",
+ "stepByStepTour.completion.label": "Step-by-step Tour terminé",
+ "stepByStepTour.completion.title": "Tout est prêt",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Vous pouvez consulter les apps de cet espace de travail, mais il n y en a pas encore. Pour creer ou modifier des apps, changez d espace de travail ou demandez l acces au proprietaire ou a un admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Aucune app a afficher pour le moment",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Vous pouvez parcourir et ouvrir les apps de cet espace de travail, mais la creation ou la modification necessite une autorisation. Changez d espace de travail ou contactez le proprietaire ou un admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio est en lecture seule pour vous",
+ "stepByStepTour.markTaskComplete": "Marquer {{title}} comme terminé",
+ "stepByStepTour.markTaskIncomplete": "Marquer {{title}} comme non terminé",
+ "stepByStepTour.progressAriaValueText": "{{completed}} étapes sur {{total}} terminées",
+ "stepByStepTour.stepLabel": "{{current}} sur {{total}}",
+ "stepByStepTour.tasks.home.description": "Ouvrez une lecon pratique Learn Dify pour voir Dify en action.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Pour creer ou gerer des bases de connaissances, changez d espace de travail ou contactez le Workspace Owner ou Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge necessite une autorisation",
+ "stepByStepTour.tasks.studio.noCreate.description": "Vous pouvez afficher les apps de cet espace de travail. Pour creer ou modifier des apps, changez d espace de travail ou demandez l acces au Workspace Owner ou Admin.",
"swaggerAPIAsToolPage.description": "Importez n’importe quelle API comme outil avec des spécifications OpenAPI/Swagger. Configurez-la une fois et réutilisez-la dans vos workflows.",
"tag.addNew": "Ajouter une nouvelle balise",
"tag.addTag": "ajouter une balise",
diff --git a/web/i18n/hi-IN/common.json b/web/i18n/hi-IN/common.json
index 4c27f5e4516..0782d143d74 100644
--- a/web/i18n/hi-IN/common.json
+++ b/web/i18n/hi-IN/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "आपने ज़रूरी बातें देख ली हैं। अब कुछ बनाने का समय है।",
+ "stepByStepTour.completion.dismiss": "बंद करें",
+ "stepByStepTour.completion.label": "Step-by-step Tour पूरा हुआ",
+ "stepByStepTour.completion.title": "आप तैयार हैं",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "आप इस वर्कस्पेस में ऐप देख सकते हैं, लेकिन अभी यहां कोई ऐप नहीं है। ऐप बनाने या संपादित करने के लिए वर्कस्पेस बदलें या Workspace Owner या Admin से एक्सेस मांगें।",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "देखने के लिए अभी कोई ऐप नहीं है",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "आप इस वर्कस्पेस में ऐप ब्राउज़ और खोल सकते हैं, लेकिन ऐप बनाना या संपादित करना अनुमति मांगता है। ऐसे वर्कस्पेस में जाएं जहां आपके पास एक्सेस हो, या Workspace Owner या Admin से संपर्क करें।",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio आपके लिए केवल देखने योग्य है",
+ "stepByStepTour.markTaskComplete": "{{title}} को पूरा चिह्नित करें",
+ "stepByStepTour.markTaskIncomplete": "{{title}} को अधूरा चिह्नित करें",
+ "stepByStepTour.progressAriaValueText": "{{total}} में से {{completed}} चरण पूरे हुए",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "Dify को काम करते देखने के लिए Learn Dify का एक hands-on lesson खोलें।",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Knowledge bases बनाने या manage करने के लिए ऐसे workspace में जाएं जहां access हो, या Workspace Owner या Admin से संपर्क करें।",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge के लिए permission चाहिए",
+ "stepByStepTour.tasks.studio.noCreate.description": "आप इस workspace में apps देख सकते हैं। Apps बनाने या edit करने के लिए workspace बदलें या Workspace Owner या Admin से access मांगें।",
"swaggerAPIAsToolPage.description": "OpenAPI/Swagger स्पेक्स का उपयोग करके किसी भी API को टूल के रूप में आयात करें। एक बार कॉन्फ़िगर करें और workflows में पुनः उपयोग करें।",
"tag.addNew": "नया टैग जोड़ें",
"tag.addTag": "टैग जोड़ें",
diff --git a/web/i18n/id-ID/common.json b/web/i18n/id-ID/common.json
index a3f44326ba6..31afc7932ad 100644
--- a/web/i18n/id-ID/common.json
+++ b/web/i18n/id-ID/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Anda sudah melihat hal-hal penting. Saatnya mulai membangun sesuatu.",
+ "stepByStepTour.completion.dismiss": "Tutup",
+ "stepByStepTour.completion.label": "Step-by-step Tour selesai",
+ "stepByStepTour.completion.title": "Semuanya siap",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Anda dapat melihat app di workspace ini, tetapi belum ada app di sini. Untuk membuat atau mengedit app, pindah workspace atau minta akses ke Workspace Owner atau Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Belum ada app untuk dilihat",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Anda dapat menelusuri dan membuka app di workspace ini, tetapi membuat atau mengedit app memerlukan izin. Pindah ke workspace yang dapat Anda akses, atau hubungi Workspace Owner atau Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio hanya dapat dilihat oleh Anda",
+ "stepByStepTour.markTaskComplete": "Tandai {{title}} selesai",
+ "stepByStepTour.markTaskIncomplete": "Tandai {{title}} belum selesai",
+ "stepByStepTour.progressAriaValueText": "{{completed}} dari {{total}} langkah selesai",
+ "stepByStepTour.stepLabel": "{{current}} dari {{total}}",
+ "stepByStepTour.tasks.home.description": "Buka pelajaran langsung dari Learn Dify untuk melihat Dify bekerja.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Untuk membuat atau mengelola knowledge base, pindah ke workspace yang dapat Anda akses atau hubungi Workspace Owner atau Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge memerlukan izin",
+ "stepByStepTour.tasks.studio.noCreate.description": "Anda dapat melihat app di workspace ini. Untuk membuat atau mengedit app, pindah workspace atau minta akses ke Workspace Owner atau Admin.",
"swaggerAPIAsToolPage.description": "Impor API apa pun sebagai alat menggunakan spesifikasi OpenAPI/Swagger. Konfigurasikan sekali dan gunakan kembali di workflow Anda.",
"tag.addNew": "Tambahkan tag baru",
"tag.addTag": "Tambahkan tag",
diff --git a/web/i18n/it-IT/common.json b/web/i18n/it-IT/common.json
index abd62d07d00..c8fd85b20a7 100644
--- a/web/i18n/it-IT/common.json
+++ b/web/i18n/it-IT/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Hai visto gli elementi essenziali. È il momento di creare qualcosa.",
+ "stepByStepTour.completion.dismiss": "Chiudi",
+ "stepByStepTour.completion.label": "Step-by-step Tour completato",
+ "stepByStepTour.completion.title": "È tutto pronto",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Puoi visualizzare le app in questo workspace, ma non ce ne sono ancora. Per creare o modificare app, cambia workspace o chiedi accesso al Workspace Owner o Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Nessuna app da visualizzare",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Puoi sfogliare e aprire le app in questo workspace, ma creare o modificare app richiede un permesso. Passa a un workspace con accesso o contatta il Workspace Owner o Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio e in sola visualizzazione per te",
+ "stepByStepTour.markTaskComplete": "Contrassegna {{title}} come completato",
+ "stepByStepTour.markTaskIncomplete": "Contrassegna {{title}} come incompleto",
+ "stepByStepTour.progressAriaValueText": "{{completed}} di {{total}} passaggi completati",
+ "stepByStepTour.stepLabel": "{{current}} di {{total}}",
+ "stepByStepTour.tasks.home.description": "Apri una lezione pratica di Learn Dify per vedere Dify in azione.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Per creare o gestire knowledge base, passa a un workspace con accesso o contatta il Workspace Owner o Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge richiede un permesso",
+ "stepByStepTour.tasks.studio.noCreate.description": "Puoi visualizzare le app in questo workspace. Per creare o modificare app, cambia workspace o chiedi accesso al Workspace Owner o Admin.",
"swaggerAPIAsToolPage.description": "Importa qualsiasi API come strumento usando specifiche OpenAPI/Swagger. Configurala una volta e riutilizzala nei workflow.",
"tag.addNew": "Aggiungi nuovo tag",
"tag.addTag": "Aggiungi tag",
diff --git a/web/i18n/ja-JP/common.json b/web/i18n/ja-JP/common.json
index c866dc7b54d..f4f272f1178 100644
--- a/web/i18n/ja-JP/common.json
+++ b/web/i18n/ja-JP/common.json
@@ -198,6 +198,7 @@
"mainNav.help.docs": "ドキュメント",
"mainNav.help.learnDify": "Difyを学ぶ",
"mainNav.help.openMenu": "ヘルプメニューを開く",
+ "mainNav.help.stepByStepTour": "ステップガイド",
"mainNav.home": "ホーム",
"mainNav.integrations": "連携",
"mainNav.marketplace": "マーケットプレイス",
@@ -554,6 +555,92 @@
"settings.swaggerAPIAsTool": "Swagger API をツールとして利用",
"settings.trigger": "トリガー",
"settings.workspace": "ワークスペース",
+ "stepByStepTour.completion.description": "基本を確認しました。さあ、作り始めましょう。",
+ "stepByStepTour.completion.dismiss": "閉じる",
+ "stepByStepTour.completion.label": "Step-by-step Tour が完了しました",
+ "stepByStepTour.completion.title": "準備が整いました",
+ "stepByStepTour.duration": "簡単なガイド — 約 5 分",
+ "stepByStepTour.guides.home.create.description": "ここをクリックしてあなたのアプリにしましょう",
+ "stepByStepTour.guides.home.noCreate.description": "ここでレッスンを確認し、Dify の使い方を学べます。レッスンからアプリを作成するには、作成権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.home.noCreate.title": "Learn Dify を見る",
+ "stepByStepTour.guides.home.pick.description": "レッスンを選んで、その仕組みを見てみましょう。",
+ "stepByStepTour.guides.integration.dataSource.description": "ここでデータソースを接続すると、Knowledge が Drive、Notion、GitHub、Firecrawl などのサービスからコンテンツを取り込めます。",
+ "stepByStepTour.guides.integration.dataSource.title": "データソース",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "ここでデータソースを接続すると、Knowledge が Drive、Notion、GitHub、Firecrawl などのサービスからコンテンツを取り込めます。設定するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "接続済みの MCP サーバーを確認できます。これらはアプリに外部ツールやサービスを提供します。サーバーを追加または編集するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "ここでモデルプロバイダー、モデル認証情報、クレジットを確認できます。プロバイダーをインストールまたは変更するには、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "アプリの実行時に呼び出せるインストール済みツールや Marketplace プラグインを閲覧できます。インストールまたは設定するには、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "サードパーティイベントをアプリの入力に変換する Trigger を確認できます。Trigger を作成または管理するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.integration.mcp.description": "アプリが MCP 経由で外部ツールやサービスにアクセスする必要がある場合、ここで MCP サーバーを接続できます。",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "ここでモデルプロバイダーの管理やインストール、モデル認証情報の設定、Message Credits の確認ができます。",
+ "stepByStepTour.guides.integration.modelProvider.title": "モデルプロバイダー",
+ "stepByStepTour.guides.integration.toolPlugin.description": "アプリの実行時に呼び出せる組み込みツールや Marketplace プラグインを管理できます。",
+ "stepByStepTour.guides.integration.toolPlugin.title": "ツールプラグイン",
+ "stepByStepTour.guides.integration.trigger.description": "Trigger を使うと、サードパーティのイベントをアプリが認識して自動処理できる入力に変換できます。",
+ "stepByStepTour.guides.integration.trigger.title": "トリガー",
+ "stepByStepTour.guides.integration.updateSettings.description": "Integrations の自動更新方法を設定できます。更新モード、実行時間、対象範囲を指定できます。",
+ "stepByStepTour.guides.integration.updateSettings.title": "更新設定",
+ "stepByStepTour.guides.knowledge.empty.connect.description": "別の場所にナレッジベースがある場合は、API で接続できます。データ移行は不要です。",
+ "stepByStepTour.guides.knowledge.empty.connect.title": "外部ナレッジベースに接続",
+ "stepByStepTour.guides.knowledge.empty.create.description": "最も簡単な方法です。ドキュメントをアップロードすれば、Dify がチャンキング、インデックス作成、埋め込みを自動で処理します。いつでもカスタムに切り替えできます。",
+ "stepByStepTour.guides.knowledge.empty.create.title": "すぐに使えるナレッジベースを作成",
+ "stepByStepTour.guides.knowledge.empty.pipeline.description": "ドキュメントが検索可能になるプロセスをより細かく制御したい場合は、チャンキング、クリーンアップ、インデックスのフローを自分で定義できます。",
+ "stepByStepTour.guides.knowledge.empty.pipeline.title": "カスタムナレッジベースを構築",
+ "stepByStepTour.guides.knowledge.withDatasets.create.description": "Create から新しいナレッジベースを追加できます — すぐに使える形式、ドキュメントからのカスタム作成、外部ナレッジベース接続から選べます。",
+ "stepByStepTour.guides.knowledge.withDatasets.create.title": "新しいナレッジベースを作成",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.description": "任意のナレッジベースをタップしてドキュメント管理ページを開きます — そこでドキュメント、検索設定、アクセス権を更新できます。",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.title": "各ナレッジベースを開いて管理",
+ "stepByStepTour.guides.primaryActionLabel": "了解",
+ "stepByStepTour.guides.studio.empty.blank.description": "何を作るかが決まっているなら、空のキャンバスから始めましょう。",
+ "stepByStepTour.guides.studio.empty.blank.title": "空白から作成",
+ "stepByStepTour.guides.studio.empty.dsl.description": "Dify の DSL ファイルがあれば、ここからインポートして共有・バックアップしたアプリを復元できます。",
+ "stepByStepTour.guides.studio.empty.dsl.title": "DSL ファイルをインポート",
+ "stepByStepTour.guides.studio.empty.learnDify.description": "初めての方は、まず Learn Dify レッスンを試してみましょう — Workflow や Agent などが実際に動くのを見られます。",
+ "stepByStepTour.guides.studio.empty.learnDify.title": "または Learn Dify から始める",
+ "stepByStepTour.guides.studio.empty.template.description": "Dify のテンプレートを探して、作りたいものに合うものを選びましょう。ゼロから始める必要はありません。",
+ "stepByStepTour.guides.studio.empty.template.title": "テンプレートから作成",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "このワークスペースのアプリは表示できますが、まだアプリがありません。アプリを作成または編集するには、権限のあるワークスペースに切り替えるか、Workspace Owner または Admin にアクセスを依頼してください。",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "表示できるアプリはまだありません",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "このワークスペースのアプリを閲覧できます。アプリを作成または編集するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio は閲覧のみ可能です",
+ "stepByStepTour.guides.studio.withApps.create.description": "Create から新しいアプリを追加できます — テンプレート、空白、DSL ファイルから選べます。",
+ "stepByStepTour.guides.studio.withApps.create.title": "新しいアプリを作成",
+ "stepByStepTour.guides.studio.withApps.manage.description": "任意のアプリをタップして編成ページを開きます — そこでプロンプト、モデル、ロジックを編集したり、設定を管理できます。",
+ "stepByStepTour.guides.studio.withApps.manage.title": "各アプリを開いて管理",
+ "stepByStepTour.learnMore": "詳細を見る",
+ "stepByStepTour.markTaskComplete": "{{title}} を完了としてマーク",
+ "stepByStepTour.markTaskIncomplete": "{{title}} を未完了としてマーク",
+ "stepByStepTour.minimize": "最小化",
+ "stepByStepTour.progressAriaValueText": "{{total}} ステップ中 {{completed}} 完了",
+ "stepByStepTour.restore": "Step-by-step Tour を開く",
+ "stepByStepTour.skip": "ガイドをスキップ",
+ "stepByStepTour.skipRecovery.dismiss": "了解",
+ "stepByStepTour.skipRecovery.label": "Step-by-step Tour の復元ヒント",
+ "stepByStepTour.skipRecovery.message": "ガイドを非表示にしました。ヘルプ → ステップガイド からいつでも再開できます。",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "Learn Dify のハンズオンレッスンを開いて、Dify を体験しましょう。",
+ "stepByStepTour.tasks.home.noCreate.description": "ここでレッスンを確認し、Dify の使い方を学べます。レッスンからアプリを作成するには、作成権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.tasks.home.noCreate.title": "Learn Dify を見る",
+ "stepByStepTour.tasks.home.primaryActionLabel": "見てみる",
+ "stepByStepTour.tasks.home.title": "Learn Dify レッスンを試す",
+ "stepByStepTour.tasks.integration.description": "モデル、ツール、データソースなど — 接続できるものを見てみましょう。",
+ "stepByStepTour.tasks.integration.noPermission.description": "モデル、ツール、データソース、Trigger を閲覧できます。Integrations を作成または管理するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.tasks.integration.noPermission.title": "インテグレーションを見る",
+ "stepByStepTour.tasks.integration.primaryActionLabel": "見てみる",
+ "stepByStepTour.tasks.integration.title": "連携を見る",
+ "stepByStepTour.tasks.knowledge.description": "ナレッジベースを構築して、アプリが自分のドキュメントから回答できるようにします。",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "ナレッジベースを作成または管理するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.tasks.knowledge.noPermission.primaryActionLabel": "了解",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge には権限が必要です",
+ "stepByStepTour.tasks.knowledge.primaryActionLabel": "見てみる",
+ "stepByStepTour.tasks.knowledge.title": "独自のデータを追加",
+ "stepByStepTour.tasks.studio.description": "すべてのアプリは Studio に集約されます — 編集、整理、公開がここで行えます。",
+ "stepByStepTour.tasks.studio.noCreate.description": "このワークスペースのアプリを閲覧できます。アプリを作成または編集するには、権限のあるワークスペースに切り替えるか、ワークスペースオーナーまたは管理者に連絡してください。",
+ "stepByStepTour.tasks.studio.noCreate.title": "Studio でアプリを確認する",
+ "stepByStepTour.tasks.studio.primaryActionLabel": "見てみる",
+ "stepByStepTour.tasks.studio.title": "Studio でアプリを管理",
+ "stepByStepTour.title": "Dify を知ろう",
"swaggerAPIAsToolPage.description": "OpenAPI/Swagger 仕様を使って任意の API をツールとして取り込めます。一度設定すれば、複数のワークフローで再利用できます。",
"tag.addNew": "新しいタグを追加",
"tag.addTag": "タグを追加",
diff --git a/web/i18n/ko-KR/common.json b/web/i18n/ko-KR/common.json
index 78e6594c287..4cd10383729 100644
--- a/web/i18n/ko-KR/common.json
+++ b/web/i18n/ko-KR/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "핵심 내용을 모두 살펴봤습니다. 이제 만들어 볼 시간입니다.",
+ "stepByStepTour.completion.dismiss": "닫기",
+ "stepByStepTour.completion.label": "Step-by-step Tour 완료",
+ "stepByStepTour.completion.title": "준비가 끝났어요",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "이 워크스페이스의 앱을 볼 수 있지만 아직 앱이 없습니다. 앱을 만들거나 편집하려면 권한이 있는 워크스페이스로 전환하거나 Workspace Owner 또는 Admin에게 접근 권한을 요청하세요.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "아직 볼 수 있는 앱이 없습니다",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "이 워크스페이스의 앱을 둘러보고 열 수 있지만, 앱을 만들거나 편집하려면 권한이 필요합니다. 접근 권한이 있는 워크스페이스로 전환하거나 Workspace Owner 또는 Admin에게 문의하세요.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio는 보기 전용입니다",
+ "stepByStepTour.markTaskComplete": "{{title}} 완료로 표시",
+ "stepByStepTour.markTaskIncomplete": "{{title}} 미완료로 표시",
+ "stepByStepTour.progressAriaValueText": "{{total}}단계 중 {{completed}}개 완료",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "Learn Dify의 실습 레슨을 열어 Dify가 작동하는 모습을 확인하세요.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Knowledge base를 만들거나 관리하려면 접근 권한이 있는 워크스페이스로 전환하거나 Workspace Owner 또는 Admin에게 문의하세요.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge 권한이 필요합니다",
+ "stepByStepTour.tasks.studio.noCreate.description": "이 워크스페이스의 앱을 볼 수 있습니다. 앱을 만들거나 편집하려면 워크스페이스를 전환하거나 Workspace Owner 또는 Admin에게 접근 권한을 요청하세요.",
"swaggerAPIAsToolPage.description": "OpenAPI/Swagger 사양을 사용해 모든 API를 도구로 가져오세요. 한 번 구성하고 workflow 전반에서 재사용할 수 있습니다.",
"tag.addNew": "새 태그 추가",
"tag.addTag": "태그 추가",
diff --git a/web/i18n/nl-NL/common.json b/web/i18n/nl-NL/common.json
index 05eba709db4..b3f71ccea92 100644
--- a/web/i18n/nl-NL/common.json
+++ b/web/i18n/nl-NL/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Je hebt de basis gezien. Tijd om iets te bouwen.",
+ "stepByStepTour.completion.dismiss": "Sluiten",
+ "stepByStepTour.completion.label": "Step-by-step Tour voltooid",
+ "stepByStepTour.completion.title": "Je bent er klaar voor",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Je kunt apps in deze workspace bekijken, maar er zijn hier nog geen apps. Om apps te maken of te bewerken, wissel van workspace of vraag de Workspace Owner of Admin om toegang.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Nog geen apps om te bekijken",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Je kunt apps in deze workspace bekijken en openen, maar maken of bewerken vereist toestemming. Wissel naar een workspace met toegang of neem contact op met de Workspace Owner of Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio is alleen-lezen voor jou",
+ "stepByStepTour.markTaskComplete": "{{title}} als voltooid markeren",
+ "stepByStepTour.markTaskIncomplete": "{{title}} als onvoltooid markeren",
+ "stepByStepTour.progressAriaValueText": "{{completed}} van {{total}} stappen voltooid",
+ "stepByStepTour.stepLabel": "{{current}} van {{total}}",
+ "stepByStepTour.tasks.home.description": "Open een praktische Learn Dify les om Dify in actie te zien.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Om knowledge bases te maken of te beheren, wissel naar een workspace met toegang of neem contact op met de Workspace Owner of Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge vereist toestemming",
+ "stepByStepTour.tasks.studio.noCreate.description": "Je kunt apps in deze workspace bekijken. Om apps te maken of te bewerken, wissel van workspace of vraag de Workspace Owner of Admin om toegang.",
"swaggerAPIAsToolPage.description": "Importeer elke API als tool met OpenAPI/Swagger-specificaties. Configureer eenmaal en hergebruik in je workflows.",
"tag.addNew": "Add new tag",
"tag.addTag": "Add tags",
diff --git a/web/i18n/pl-PL/common.json b/web/i18n/pl-PL/common.json
index 8c90401a2e2..e72dec66756 100644
--- a/web/i18n/pl-PL/common.json
+++ b/web/i18n/pl-PL/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Znasz już najważniejsze elementy. Czas coś zbudować.",
+ "stepByStepTour.completion.dismiss": "Zamknij",
+ "stepByStepTour.completion.label": "Step-by-step Tour ukończony",
+ "stepByStepTour.completion.title": "Wszystko gotowe",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Mozesz przegladac aplikacje w tym workspace, ale jeszcze ich tu nie ma. Aby tworzyc lub edytowac aplikacje, zmien workspace albo popros Workspace Owner lub Admin o dostep.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Brak aplikacji do wyswietlenia",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Mozesz przegladac i otwierac aplikacje w tym workspace, ale tworzenie lub edycja wymaga uprawnien. Przejdz do workspace z dostepem albo skontaktuj sie z Workspace Owner lub Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio jest dla Ciebie tylko do odczytu",
+ "stepByStepTour.markTaskComplete": "Oznacz {{title}} jako ukończone",
+ "stepByStepTour.markTaskIncomplete": "Oznacz {{title}} jako nieukończone",
+ "stepByStepTour.progressAriaValueText": "Ukończono {{completed}} z {{total}} kroków",
+ "stepByStepTour.stepLabel": "{{current}} z {{total}}",
+ "stepByStepTour.tasks.home.description": "Otworz praktyczna lekcje Learn Dify, aby zobaczyc Dify w dzialaniu.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Aby tworzyc lub zarzadzac knowledge bases, przejdz do workspace z dostepem albo skontaktuj sie z Workspace Owner lub Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge wymaga uprawnien",
+ "stepByStepTour.tasks.studio.noCreate.description": "Mozesz wyswietlac aplikacje w tym workspace. Aby tworzyc lub edytowac aplikacje, zmien workspace albo popros Workspace Owner lub Admin o dostep.",
"swaggerAPIAsToolPage.description": "Importuj dowolne API jako narzędzie przy użyciu specyfikacji OpenAPI/Swagger. Skonfiguruj raz i używaj ponownie w workflowach.",
"tag.addNew": "Dodaj nowy tag",
"tag.addTag": "Dodaj tagi",
diff --git a/web/i18n/pt-BR/common.json b/web/i18n/pt-BR/common.json
index ea3f78cb41e..0d8af80934e 100644
--- a/web/i18n/pt-BR/common.json
+++ b/web/i18n/pt-BR/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Você já viu o essencial. Hora de criar algo.",
+ "stepByStepTour.completion.dismiss": "Dispensar",
+ "stepByStepTour.completion.label": "Step-by-step Tour concluído",
+ "stepByStepTour.completion.title": "Tudo pronto",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Voce pode ver apps neste workspace, mas ainda nao ha apps aqui. Para criar ou editar apps, troque de workspace ou peca acesso ao Workspace Owner ou Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Ainda nao ha apps para ver",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Voce pode navegar e abrir apps neste workspace, mas criar ou editar apps requer permissao. Troque para um workspace com acesso ou contate o Workspace Owner ou Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio esta somente para visualizacao para voce",
+ "stepByStepTour.markTaskComplete": "Marcar {{title}} como concluído",
+ "stepByStepTour.markTaskIncomplete": "Marcar {{title}} como incompleto",
+ "stepByStepTour.progressAriaValueText": "{{completed}} de {{total}} etapas concluídas",
+ "stepByStepTour.stepLabel": "{{current}} de {{total}}",
+ "stepByStepTour.tasks.home.description": "Abra uma licao pratica do Learn Dify para ver o Dify em acao.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Para criar ou gerenciar bases de conhecimento, troque para um workspace com acesso ou contate o Workspace Owner ou Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge precisa de permissao",
+ "stepByStepTour.tasks.studio.noCreate.description": "Voce pode ver apps neste workspace. Para criar ou editar apps, troque de workspace ou peca acesso ao Workspace Owner ou Admin.",
"swaggerAPIAsToolPage.description": "Importe qualquer API como ferramenta usando especificações OpenAPI/Swagger. Configure uma vez e reutilize nos seus workflows.",
"tag.addNew": "Adicionar nova tag",
"tag.addTag": "adicionar etiqueta",
diff --git a/web/i18n/ro-RO/common.json b/web/i18n/ro-RO/common.json
index 5c3b8cb74fb..ca3d4e2b1a5 100644
--- a/web/i18n/ro-RO/common.json
+++ b/web/i18n/ro-RO/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Ai văzut elementele esențiale. Este timpul să construiești ceva.",
+ "stepByStepTour.completion.dismiss": "Închide",
+ "stepByStepTour.completion.label": "Step-by-step Tour finalizat",
+ "stepByStepTour.completion.title": "Ești gata",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Poti vedea aplicatiile din acest workspace, dar aici nu exista inca aplicatii. Pentru a crea sau edita aplicatii, schimba workspace-ul sau cere acces de la Workspace Owner sau Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Nu exista inca aplicatii de vazut",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Poti rasfoi si deschide aplicatii in acest workspace, dar crearea sau editarea necesita permisiune. Treci la un workspace unde ai acces sau contacteaza Workspace Owner sau Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio este doar pentru vizualizare pentru tine",
+ "stepByStepTour.markTaskComplete": "Marchează {{title}} ca finalizat",
+ "stepByStepTour.markTaskIncomplete": "Marchează {{title}} ca nefinalizat",
+ "stepByStepTour.progressAriaValueText": "{{completed}} din {{total}} pași finalizați",
+ "stepByStepTour.stepLabel": "{{current}} din {{total}}",
+ "stepByStepTour.tasks.home.description": "Deschide o lectie practica Learn Dify ca sa vezi Dify in actiune.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Pentru a crea sau gestiona knowledge bases, treci la un workspace cu acces sau contacteaza Workspace Owner sau Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge necesita permisiune",
+ "stepByStepTour.tasks.studio.noCreate.description": "Poti vedea aplicatii in acest workspace. Pentru a crea sau edita aplicatii, schimba workspace-ul sau cere acces de la Workspace Owner sau Admin.",
"swaggerAPIAsToolPage.description": "Importă orice API ca instrument folosind specificații OpenAPI/Swagger. Configurează o dată și reutilizează în workflowuri.",
"tag.addNew": "Adăugați o etichetă nouă",
"tag.addTag": "Adăugați etichete",
diff --git a/web/i18n/ru-RU/common.json b/web/i18n/ru-RU/common.json
index 1ec561a39a4..db5337fb8ae 100644
--- a/web/i18n/ru-RU/common.json
+++ b/web/i18n/ru-RU/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Вы познакомились с основами. Пора что-нибудь создать.",
+ "stepByStepTour.completion.dismiss": "Закрыть",
+ "stepByStepTour.completion.label": "Step-by-step Tour завершен",
+ "stepByStepTour.completion.title": "Все готово",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Вы можете просматривать приложения в этом рабочем пространстве, но здесь пока нет приложений. Чтобы создавать или редактировать приложения, переключитесь на другое рабочее пространство или попросите доступ у Workspace Owner или Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Пока нет приложений для просмотра",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Вы можете просматривать и открывать приложения в этом рабочем пространстве, но создание или редактирование требует разрешения. Переключитесь на рабочее пространство с доступом или обратитесь к Workspace Owner или Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio доступна вам только для просмотра",
+ "stepByStepTour.markTaskComplete": "Отметить {{title}} как выполненное",
+ "stepByStepTour.markTaskIncomplete": "Отметить {{title}} как невыполненное",
+ "stepByStepTour.progressAriaValueText": "Выполнено {{completed}} из {{total}} шагов",
+ "stepByStepTour.stepLabel": "{{current}} из {{total}}",
+ "stepByStepTour.tasks.home.description": "Откройте практический урок Learn Dify, чтобы увидеть Dify в действии.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Чтобы создавать или управлять базами знаний, переключитесь на рабочее пространство с доступом или обратитесь к Workspace Owner или Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge требует разрешения",
+ "stepByStepTour.tasks.studio.noCreate.description": "Вы можете просматривать приложения в этом рабочем пространстве. Чтобы создавать или редактировать приложения, переключитесь на другое рабочее пространство или попросите доступ у Workspace Owner или Admin.",
"swaggerAPIAsToolPage.description": "Импортируйте любой API как инструмент с помощью спецификаций OpenAPI/Swagger. Настройте один раз и повторно используйте в workflow.",
"tag.addNew": "Добавить новый тег",
"tag.addTag": "Добавить теги",
diff --git a/web/i18n/sl-SI/common.json b/web/i18n/sl-SI/common.json
index 55562960c27..a0e396e3110 100644
--- a/web/i18n/sl-SI/common.json
+++ b/web/i18n/sl-SI/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Ogledali ste si osnove. Čas je, da nekaj ustvarite.",
+ "stepByStepTour.completion.dismiss": "Zapri",
+ "stepByStepTour.completion.label": "Step-by-step Tour dokončan",
+ "stepByStepTour.completion.title": "Vse je pripravljeno",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Aplikacije v tem workspaceu lahko vidite, vendar jih tukaj se ni. Za ustvarjanje ali urejanje aplikacij zamenjajte workspace ali prosite Workspace Owner ali Admin za dostop.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Ni se aplikacij za ogled",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Aplikacije v tem workspaceu lahko brskate in odpirate, vendar ustvarjanje ali urejanje zahteva dovoljenje. Preklopite na workspace z dostopom ali kontaktirajte Workspace Owner ali Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio je za vas samo za ogled",
+ "stepByStepTour.markTaskComplete": "Označi {{title}} kot dokončano",
+ "stepByStepTour.markTaskIncomplete": "Označi {{title}} kot nedokončano",
+ "stepByStepTour.progressAriaValueText": "Dokončanih {{completed}} od {{total}} korakov",
+ "stepByStepTour.stepLabel": "{{current}} od {{total}}",
+ "stepByStepTour.tasks.home.description": "Odprite prakticno lekcijo Learn Dify in si oglejte Dify v akciji.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Za ustvarjanje ali upravljanje knowledge bases preklopite na workspace z dostopom ali kontaktirajte Workspace Owner ali Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge zahteva dovoljenje",
+ "stepByStepTour.tasks.studio.noCreate.description": "Aplikacije v tem workspaceu lahko vidite. Za ustvarjanje ali urejanje aplikacij zamenjajte workspace ali prosite Workspace Owner ali Admin za dostop.",
"swaggerAPIAsToolPage.description": "Uvozite kateri koli API kot orodje z uporabo specifikacij OpenAPI/Swagger. Nastavite enkrat in ponovno uporabite v workflowih.",
"tag.addNew": "Dodajanje nove oznake",
"tag.addTag": "Dodajanje oznak",
diff --git a/web/i18n/th-TH/common.json b/web/i18n/th-TH/common.json
index b074a7b88ab..37168fd10f5 100644
--- a/web/i18n/th-TH/common.json
+++ b/web/i18n/th-TH/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "คุณได้เห็นสิ่งสำคัญแล้ว ถึงเวลาสร้างบางอย่าง",
+ "stepByStepTour.completion.dismiss": "ปิด",
+ "stepByStepTour.completion.label": "Step-by-step Tour เสร็จสมบูรณ์",
+ "stepByStepTour.completion.title": "พร้อมแล้ว",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "คุณสามารถดูแอปใน workspace นี้ได้ แต่ยังไม่มีแอปที่นี่ หากต้องการสร้างหรือแก้ไขแอป ให้สลับ workspace หรือขอสิทธิ์จาก Workspace Owner หรือ Admin",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "ยังไม่มีแอปให้ดู",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "คุณสามารถเรียกดูและเปิดแอปใน workspace นี้ได้ แต่การสร้างหรือแก้ไขแอปต้องมีสิทธิ์ สลับไปยัง workspace ที่มีสิทธิ์ หรือ ติดต่อ Workspace Owner หรือ Admin",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio เป็นโหมดดูอย่างเดียวสำหรับคุณ",
+ "stepByStepTour.markTaskComplete": "ทำเครื่องหมาย {{title}} ว่าเสร็จแล้ว",
+ "stepByStepTour.markTaskIncomplete": "ทำเครื่องหมาย {{title}} ว่ายังไม่เสร็จ",
+ "stepByStepTour.progressAriaValueText": "เสร็จแล้ว {{completed}} จาก {{total}} ขั้นตอน",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "เปิดบทเรียนแบบลงมือทำจาก Learn Dify เพื่อดู Dify ทำงานจริง",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "หากต้องการสร้างหรือจัดการ knowledge bases ให้สลับไปยัง workspace ที่มีสิทธิ์ หรือ ติดต่อ Workspace Owner หรือ Admin",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge ต้องมีสิทธิ์",
+ "stepByStepTour.tasks.studio.noCreate.description": "คุณสามารถดูแอปใน workspace นี้ได้ หากต้องการสร้างหรือแก้ไขแอป ให้สลับ workspace หรือขอสิทธิ์จาก Workspace Owner หรือ Admin",
"swaggerAPIAsToolPage.description": "นำเข้า API ใด ๆ เป็นเครื่องมือด้วยสเปก OpenAPI/Swagger กำหนดค่าเพียงครั้งเดียวแล้วนำกลับมาใช้ซ้ำใน workflow ได้",
"tag.addNew": "เพิ่มแท็กใหม่",
"tag.addTag": "เพิ่มแท็ก",
diff --git a/web/i18n/tr-TR/common.json b/web/i18n/tr-TR/common.json
index 3d78cadbe9b..ecd40235395 100644
--- a/web/i18n/tr-TR/common.json
+++ b/web/i18n/tr-TR/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Temel noktaları gördünüz. Artık bir şeyler oluşturma zamanı.",
+ "stepByStepTour.completion.dismiss": "Kapat",
+ "stepByStepTour.completion.label": "Step-by-step Tour tamamlandı",
+ "stepByStepTour.completion.title": "Her şey hazır",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Bu workspace icindeki uygulamalari gorebilirsiniz, ancak henuz uygulama yok. Uygulama olusturmak veya duzenlemek icin workspace degistirin ya da Workspace Owner veya Admin den erisim isteyin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Henuz goruntulenecek uygulama yok",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Bu workspace icindeki uygulamalara goz atip acabilirsiniz, ancak olusturma veya duzenleme izin gerektirir. Erisiminiz olan bir workspace e gecin ya da Workspace Owner veya Admin ile iletisime gecin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio sizin icin salt goruntuleme modunda",
+ "stepByStepTour.markTaskComplete": "{{title}} tamamlandı olarak işaretle",
+ "stepByStepTour.markTaskIncomplete": "{{title}} tamamlanmadı olarak işaretle",
+ "stepByStepTour.progressAriaValueText": "{{total}} adımdan {{completed}} tamamlandı",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "Dify yi calisir halde gormek icin Learn Dify den uygulamali bir ders acin.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Knowledge bases olusturmak veya yonetmek icin erisiminiz olan bir workspace e gecin ya da Workspace Owner veya Admin ile iletisime gecin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge izin gerektirir",
+ "stepByStepTour.tasks.studio.noCreate.description": "Bu workspace icindeki uygulamalari gorebilirsiniz. Uygulama olusturmak veya duzenlemek icin workspace degistirin ya da Workspace Owner veya Admin den erisim isteyin.",
"swaggerAPIAsToolPage.description": "OpenAPI/Swagger özelliklerini kullanarak herhangi bir API’yi araç olarak içe aktarın. Bir kez yapılandırın ve workflowlarda yeniden kullanın.",
"tag.addNew": "Yeni etiket ekle",
"tag.addTag": "Etiket ekle",
diff --git a/web/i18n/uk-UA/common.json b/web/i18n/uk-UA/common.json
index 8884e81e403..8bc6535d5fe 100644
--- a/web/i18n/uk-UA/common.json
+++ b/web/i18n/uk-UA/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Ви переглянули основне. Час створити щось своє.",
+ "stepByStepTour.completion.dismiss": "Закрити",
+ "stepByStepTour.completion.label": "Step-by-step Tour завершено",
+ "stepByStepTour.completion.title": "Усе готово",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Ви можете переглядати застосунки в цьому робочому просторі, але тут їх поки немає. Щоб створювати або редагувати застосунки, перемкніться на інший робочий простір або попросіть доступ у Workspace Owner чи Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Поки немає застосунків для перегляду",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Ви можете переглядати й відкривати застосунки в цьому робочому просторі, але створення або редагування потребує дозволу. Перемкніться на простір із доступом або зверніться до Workspace Owner чи Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio доступна вам лише для перегляду",
+ "stepByStepTour.markTaskComplete": "Позначити {{title}} як виконане",
+ "stepByStepTour.markTaskIncomplete": "Позначити {{title}} як невиконане",
+ "stepByStepTour.progressAriaValueText": "Виконано {{completed}} з {{total}} кроків",
+ "stepByStepTour.stepLabel": "{{current}} з {{total}}",
+ "stepByStepTour.tasks.home.description": "Відкрийте практичний урок Learn Dify, щоб побачити Dify в роботі.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "Щоб створювати або керувати базами знань, перемкніться на робочий простір із доступом або зверніться до Workspace Owner чи Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge потребує дозволу",
+ "stepByStepTour.tasks.studio.noCreate.description": "Ви можете переглядати застосунки в цьому робочому просторі. Щоб створювати або редагувати застосунки, перемкніться на інший простір або попросіть доступ у Workspace Owner чи Admin.",
"swaggerAPIAsToolPage.description": "Імпортуйте будь-який API як інструмент за допомогою специфікацій OpenAPI/Swagger. Налаштуйте один раз і повторно використовуйте у workflow.",
"tag.addNew": "Додати новий тег",
"tag.addTag": "додати тег",
diff --git a/web/i18n/vi-VN/common.json b/web/i18n/vi-VN/common.json
index 4437103fa52..0df42f9070c 100644
--- a/web/i18n/vi-VN/common.json
+++ b/web/i18n/vi-VN/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API as Tool",
"settings.trigger": "Trigger",
"settings.workspace": "WORKSPACE",
+ "stepByStepTour.completion.description": "Bạn đã xem những phần cốt lõi. Đến lúc bắt đầu xây dựng.",
+ "stepByStepTour.completion.dismiss": "Đóng",
+ "stepByStepTour.completion.label": "Step-by-step Tour đã hoàn tất",
+ "stepByStepTour.completion.title": "Bạn đã sẵn sàng",
+ "stepByStepTour.guides.home.noCreate.description": "You can review lessons and see how Dify works here. Creating an app from a lesson requires a workspace where you have create permission, or help from an admin.",
+ "stepByStepTour.guides.home.noCreate.title": "Browse lessons in Learn Dify",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more. Setup may require admin access.",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "View connected MCP servers that expose external tools and services to apps. Adding or editing servers requires the right workspace permission.",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "View model providers here, check model credentials, and see Message Credits. Installing or changing providers requires admin permission.",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "Browse installed tools and marketplace plugins that apps can call during execution. Ask an admin if you need to install or configure one.",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "View triggers that turn third-party events into app inputs. Creating or managing triggers requires permission from your Workspace Owner or Admin.",
+ "stepByStepTour.guides.integration.mcp.description": "Connect MCP servers when your apps need access to external tools and services through MCP.",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "Manage or install model providers here, set up model credentials, and check your Message Credits.",
+ "stepByStepTour.guides.integration.modelProvider.title": "Model Provider",
+ "stepByStepTour.guides.integration.toolPlugin.description": "Manage built-in tools and marketplace plugins that apps can call during execution.",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "Configure how integrations update automatically, including the update mode, scheduled time, and which integrations are included.",
+ "stepByStepTour.guides.integration.updateSettings.title": "Update Settings",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "Ban co the xem ung dung trong workspace nay, nhung hien chua co ung dung nao. De tao hoac chinh sua ung dung, hay doi workspace hoac yeu cau quyen truy cap tu Workspace Owner hoac Admin.",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "Chua co ung dung nao de xem",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "Ban co the duyet va mo ung dung trong workspace nay, nhung viec tao hoac chinh sua ung dung can quyen. Hay chuyen sang workspace ban co quyen, hoac lien he Workspace Owner hoac Admin.",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio chi cho phep ban xem",
+ "stepByStepTour.markTaskComplete": "Đánh dấu {{title}} là hoàn thành",
+ "stepByStepTour.markTaskIncomplete": "Đánh dấu {{title}} là chưa hoàn thành",
+ "stepByStepTour.progressAriaValueText": "Đã hoàn thành {{completed}} / {{total}} bước",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "Mo mot bai hoc thuc hanh tu Learn Dify de xem Dify hoat dong.",
+ "stepByStepTour.tasks.home.noCreate.description": "You can review lessons here, but creating from a lesson requires additional permission.",
+ "stepByStepTour.tasks.home.noCreate.title": "Browse Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "De tao hoac quan ly knowledge bases, hay chuyen sang workspace ban co quyen hoac lien he Workspace Owner hoac Admin.",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge can quyen",
+ "stepByStepTour.tasks.studio.noCreate.description": "Ban co the xem ung dung trong workspace nay. De tao hoac chinh sua ung dung, hay doi workspace hoac yeu cau quyen truy cap tu Workspace Owner hoac Admin.",
"swaggerAPIAsToolPage.description": "Nhập bất kỳ API nào làm công cụ bằng đặc tả OpenAPI/Swagger. Cấu hình một lần và tái sử dụng trong các workflow.",
"tag.addNew": "Thêm thẻ mới",
"tag.addTag": "thêm thẻ",
diff --git a/web/i18n/zh-Hans/common.json b/web/i18n/zh-Hans/common.json
index fe00eec2370..215f26d47b5 100644
--- a/web/i18n/zh-Hans/common.json
+++ b/web/i18n/zh-Hans/common.json
@@ -198,6 +198,7 @@
"mainNav.help.docs": "文档",
"mainNav.help.learnDify": "了解 Dify",
"mainNav.help.openMenu": "打开帮助菜单",
+ "mainNav.help.stepByStepTour": "分步引导",
"mainNav.home": "主页",
"mainNav.integrations": "集成",
"mainNav.marketplace": "Marketplace",
@@ -554,6 +555,92 @@
"settings.swaggerAPIAsTool": "Swagger API 作为工具",
"settings.trigger": "触发器",
"settings.workspace": "工作空间",
+ "stepByStepTour.completion.description": "你已经了解了核心内容。现在可以开始构建了。",
+ "stepByStepTour.completion.dismiss": "关闭",
+ "stepByStepTour.completion.label": "Step-by-step Tour 已完成",
+ "stepByStepTour.completion.title": "你已经准备好了",
+ "stepByStepTour.duration": "快速浏览 — 大约 5 分钟",
+ "stepByStepTour.guides.home.create.description": "点击这里,把它变成你的应用",
+ "stepByStepTour.guides.home.noCreate.description": "你可以在这里查看课程,了解 Dify 如何工作。如需从课程创建应用,请切换到有创建权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.guides.home.noCreate.title": "浏览 Learn Dify",
+ "stepByStepTour.guides.home.pick.description": "选一节课程,看看它是怎么运作的。",
+ "stepByStepTour.guides.integration.dataSource.description": "在这里连接数据源,让 Knowledge 可以引入 Drive、Notion、GitHub、Firecrawl 等服务中的内容。",
+ "stepByStepTour.guides.integration.dataSource.title": "数据源",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "在这里连接数据源,让 Knowledge 可以引入 Drive、Notion、GitHub、Firecrawl 等服务中的内容。如需配置,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "查看已连接的 MCP Server,它们可为应用提供外部工具和服务。如需新增或编辑 Server,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "你可以在这里查看模型供应商、模型凭据和消息额度。如需安装或修改模型供应商,请联系工作区所有者/管理员。",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "浏览应用运行时可调用的已安装工具和 Marketplace 插件。如需安装或配置,请联系工作区所有者/管理员。",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "查看可将第三方事件转换为应用输入的 Trigger。如需创建或管理 Trigger,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.guides.integration.mcp.description": "当应用需要通过 MCP 访问外部工具和服务时,可在这里连接 MCP Server。",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "在这里管理或安装模型供应商、设置模型凭据,并查看你的 Message Credits。",
+ "stepByStepTour.guides.integration.modelProvider.title": "模型供应商",
+ "stepByStepTour.guides.integration.toolPlugin.description": "管理内置工具和 Marketplace 插件,供应用在运行时调用。",
+ "stepByStepTour.guides.integration.toolPlugin.title": "工具插件",
+ "stepByStepTour.guides.integration.trigger.description": "使用 Trigger 将第三方事件转换为应用可识别并自动处理的输入。",
+ "stepByStepTour.guides.integration.trigger.title": "触发器",
+ "stepByStepTour.guides.integration.updateSettings.description": "配置集成的自动更新方式,包括更新模式、计划时间以及包含哪些集成。",
+ "stepByStepTour.guides.integration.updateSettings.title": "更新设置",
+ "stepByStepTour.guides.knowledge.empty.connect.description": "已有其他知识库?通过 API 直接连接,无需迁移数据。",
+ "stepByStepTour.guides.knowledge.empty.connect.title": "连接外部知识库",
+ "stepByStepTour.guides.knowledge.empty.create.description": "最快上手的方式。上传文档,Dify 自动完成切片、索引和向量化。随时可以切换到自定义模式。",
+ "stepByStepTour.guides.knowledge.empty.create.title": "创建即用型知识库",
+ "stepByStepTour.guides.knowledge.empty.pipeline.description": "当你需要更精细地控制文档如何变得可检索时,可以自定义切片、清洗和索引流程。",
+ "stepByStepTour.guides.knowledge.empty.pipeline.title": "构建自定义知识库",
+ "stepByStepTour.guides.knowledge.withDatasets.create.description": "用 Create 添加新知识库 — 可从即用型、基于文档自定义或连接外部知识库三种方式开始。",
+ "stepByStepTour.guides.knowledge.withDatasets.create.title": "创建新知识库",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.description": "点击任意知识库打开它的文档管理页 — 在那里更新文档、检索设置和访问权限。",
+ "stepByStepTour.guides.knowledge.withDatasets.manage.title": "打开并管理每个知识库",
+ "stepByStepTour.guides.primaryActionLabel": "知道了",
+ "stepByStepTour.guides.studio.empty.blank.description": "当你已经清楚要做什么时,从空白画布开始。",
+ "stepByStepTour.guides.studio.empty.blank.title": "从空白开始",
+ "stepByStepTour.guides.studio.empty.dsl.description": "已经有 Dify DSL 文件?在这里导入,恢复你分享或备份过的应用。",
+ "stepByStepTour.guides.studio.empty.dsl.title": "导入 DSL 文件",
+ "stepByStepTour.guides.studio.empty.learnDify.description": "新手?先走一遍 Learn Dify 课程 — 你会实际看到 Workflow、Agent 等运行起来的样子。",
+ "stepByStepTour.guides.studio.empty.learnDify.title": "或者从 Learn Dify 开始",
+ "stepByStepTour.guides.studio.empty.template.description": "浏览 Dify 的模板,选一个最贴近你想做的事。无需从零开始。",
+ "stepByStepTour.guides.studio.empty.template.title": "从模板创建",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "你可以查看这个工作空间里的应用,但这里还没有应用。若要创建或编辑应用,请切换到有权限的工作空间,或联系 Workspace Owner / Admin 开通权限。",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "暂时没有可查看的应用",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "你可以浏览此工作区中的应用。如需创建或编辑应用,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "你当前只能查看 Studio",
+ "stepByStepTour.guides.studio.withApps.create.description": "用 Create 添加新应用 — 可从模板、空白画布或 DSL 文件三种方式开始。",
+ "stepByStepTour.guides.studio.withApps.create.title": "创建新应用",
+ "stepByStepTour.guides.studio.withApps.manage.description": "点击任意应用打开它的编排页 — 在那里编辑 prompt、模型、逻辑,或管理它的设置。",
+ "stepByStepTour.guides.studio.withApps.manage.title": "打开并管理每个应用",
+ "stepByStepTour.learnMore": "了解更多",
+ "stepByStepTour.markTaskComplete": "将 {{title}} 标记为完成",
+ "stepByStepTour.markTaskIncomplete": "将 {{title}} 标记为未完成",
+ "stepByStepTour.minimize": "最小化",
+ "stepByStepTour.progressAriaValueText": "已完成 {{completed}} / {{total}} 个步骤",
+ "stepByStepTour.restore": "打开 Step-by-step Tour",
+ "stepByStepTour.skip": "跳过引导",
+ "stepByStepTour.skipRecovery.dismiss": "知道了",
+ "stepByStepTour.skipRecovery.label": "Step-by-step Tour 恢复提示",
+ "stepByStepTour.skipRecovery.message": "引导已隐藏。可随时在 帮助 → 分步引导 中重新开启。",
+ "stepByStepTour.stepLabel": "第 {{current}} 步 / 共 {{total}} 步",
+ "stepByStepTour.tasks.home.description": "打开一节 Learn Dify 实操课程,亲手感受 Dify。",
+ "stepByStepTour.tasks.home.noCreate.description": "你可以在这里查看课程,了解 Dify 如何工作。如需从课程创建应用,请切换到有创建权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.tasks.home.noCreate.title": "浏览 Learn Dify",
+ "stepByStepTour.tasks.home.primaryActionLabel": "去看看",
+ "stepByStepTour.tasks.home.title": "尝试 Learn Dify 课程",
+ "stepByStepTour.tasks.integration.description": "模型、工具、数据源……看看你能连接什么。",
+ "stepByStepTour.tasks.integration.noPermission.description": "浏览模型、工具、数据源和 Trigger。如需创建或管理 Integrations,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.tasks.integration.noPermission.title": "探索 Integrations",
+ "stepByStepTour.tasks.integration.primaryActionLabel": "去看看",
+ "stepByStepTour.tasks.integration.title": "探索集成",
+ "stepByStepTour.tasks.knowledge.description": "创建知识库,让你的应用基于自己的文档回答问题。",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "如需创建或管理知识库,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.tasks.knowledge.noPermission.primaryActionLabel": "知道了",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge 需要权限",
+ "stepByStepTour.tasks.knowledge.primaryActionLabel": "去看看",
+ "stepByStepTour.tasks.knowledge.title": "添加你自己的数据",
+ "stepByStepTour.tasks.studio.description": "你的所有应用都在 Studio 中 — 编辑、组织和发布。",
+ "stepByStepTour.tasks.studio.noCreate.description": "你可以浏览此工作区中的应用。如需创建或编辑应用,请切换到有权限的工作区,或联系工作区所有者/管理员。",
+ "stepByStepTour.tasks.studio.noCreate.title": "在 Studio 找到你的应用",
+ "stepByStepTour.tasks.studio.primaryActionLabel": "去看看",
+ "stepByStepTour.tasks.studio.title": "在 Studio 管理你的应用",
+ "stepByStepTour.title": "认识 Dify",
"swaggerAPIAsToolPage.description": "使用 OpenAPI/Swagger 规范将任意 API 导入为工具。一次配置,即可在所有工作流中复用。",
"tag.addNew": "创建新标签",
"tag.addTag": "添加标签",
diff --git a/web/i18n/zh-Hant/common.json b/web/i18n/zh-Hant/common.json
index fc16d91673b..4746d977671 100644
--- a/web/i18n/zh-Hant/common.json
+++ b/web/i18n/zh-Hant/common.json
@@ -554,6 +554,43 @@
"settings.swaggerAPIAsTool": "Swagger API 作為工具",
"settings.trigger": "觸發器",
"settings.workspace": "工作區",
+ "stepByStepTour.completion.description": "你已經了解了核心內容。現在可以開始建構了。",
+ "stepByStepTour.completion.dismiss": "關閉",
+ "stepByStepTour.completion.label": "Step-by-step Tour 已完成",
+ "stepByStepTour.completion.title": "你已經準備好了",
+ "stepByStepTour.guides.home.noCreate.description": "你可以查看課程,了解 Dify 如何運作。若要從課程建立應用,需要切換到有建立權限的工作空間,或請管理員協助。",
+ "stepByStepTour.guides.home.noCreate.title": "瀏覽 Learn Dify 課程",
+ "stepByStepTour.guides.integration.dataSource.description": "Connect data sources here so Knowledge can bring in content from Drive, Notion, GitHub, Firecrawl, and more.",
+ "stepByStepTour.guides.integration.limitedAccess.dataSource.description": "在這裡連接資料來源,讓知識庫可以引入 Drive、Notion、GitHub、Firecrawl 等內容。設定可能需要管理員權限。",
+ "stepByStepTour.guides.integration.limitedAccess.mcp.description": "查看已連接的 MCP 伺服器,它們會向應用暴露外部工具和服務。新增或編輯伺服器需要相應的工作空間權限。",
+ "stepByStepTour.guides.integration.limitedAccess.modelProvider.description": "在這裡查看模型供應商、檢查模型憑證,並查看 Message Credits。安裝或變更供應商需要管理員權限。",
+ "stepByStepTour.guides.integration.limitedAccess.toolPlugin.description": "瀏覽已安裝工具與 Marketplace 外掛,應用可在執行時呼叫它們。如需安裝或設定,請聯絡管理員。",
+ "stepByStepTour.guides.integration.limitedAccess.trigger.description": "查看將第三方事件轉換為應用輸入的觸發器。建立或管理觸發器需要工作空間所有者或管理員授權。",
+ "stepByStepTour.guides.integration.mcp.description": "當應用需要透過 MCP 存取外部工具和服務時,在這裡連接 MCP 伺服器。",
+ "stepByStepTour.guides.integration.mcp.title": "MCP",
+ "stepByStepTour.guides.integration.modelProvider.description": "在這裡管理或安裝模型供應商、設定模型憑證,並查看你的 Message Credits。",
+ "stepByStepTour.guides.integration.modelProvider.title": "模型供應商",
+ "stepByStepTour.guides.integration.toolPlugin.description": "管理內建工具與 Marketplace 外掛,供應用在執行時呼叫。",
+ "stepByStepTour.guides.integration.toolPlugin.title": "Tool Plugin",
+ "stepByStepTour.guides.integration.trigger.description": "Use triggers to turn third-party events into inputs your apps can recognize and act on automatically.",
+ "stepByStepTour.guides.integration.updateSettings.description": "設定整合的自動更新方式,包括更新模式、排程時間以及包含哪些整合。",
+ "stepByStepTour.guides.integration.updateSettings.title": "更新設定",
+ "stepByStepTour.guides.studio.noCreate.empty.description": "你可以查看這個工作空間裡的應用,但這裡還沒有應用。若要建立或編輯應用,請切換到有權限的工作空間,或聯絡 Workspace Owner / Admin 開通權限。",
+ "stepByStepTour.guides.studio.noCreate.empty.title": "暫時沒有可查看的應用",
+ "stepByStepTour.guides.studio.noCreate.withApps.description": "你可以瀏覽並開啟這個工作空間裡的應用,但建立或編輯應用需要權限。請切換到有權限的工作空間,或聯絡 Workspace Owner / Admin。",
+ "stepByStepTour.guides.studio.noCreate.withApps.title": "Studio 對你是唯讀的",
+ "stepByStepTour.markTaskComplete": "將 {{title}} 標記為完成",
+ "stepByStepTour.markTaskIncomplete": "將 {{title}} 標記為未完成",
+ "stepByStepTour.progressAriaValueText": "已完成 {{completed}} / {{total}} 個步驟",
+ "stepByStepTour.stepLabel": "{{current}} / {{total}}",
+ "stepByStepTour.tasks.home.description": "開啟一節 Learn Dify 實作課程,看看 Dify 如何運作。",
+ "stepByStepTour.tasks.home.noCreate.description": "你可以在這裡查看課程,但從課程建立應用需要額外權限。",
+ "stepByStepTour.tasks.home.noCreate.title": "瀏覽 Learn Dify",
+ "stepByStepTour.tasks.integration.noPermission.title": "Explore Integrations",
+ "stepByStepTour.tasks.integration.title": "Explore Integrations",
+ "stepByStepTour.tasks.knowledge.noPermission.description": "若要建立或管理知識庫,請切換到有權限的工作空間,或聯絡 Workspace Owner / Admin。",
+ "stepByStepTour.tasks.knowledge.noPermission.title": "Knowledge 需要權限",
+ "stepByStepTour.tasks.studio.noCreate.description": "你可以查看這個工作空間裡的應用。若要建立或編輯應用,請切換工作空間,或聯絡 Workspace Owner / Admin 開通權限。",
"swaggerAPIAsToolPage.description": "使用 OpenAPI/Swagger 規格將任意 API 作為工具匯入。設定一次,即可在工作流程中重複使用。",
"tag.addNew": "建立新標籤",
"tag.addTag": "新增標籤",
diff --git a/web/test/i18n-mock.ts b/web/test/i18n-mock.ts
index af7ddc40494..fc197e76355 100644
--- a/web/test/i18n-mock.ts
+++ b/web/test/i18n-mock.ts
@@ -103,6 +103,16 @@ export function withSelectorKeyProps(
}
}
+function interpolateTranslation(value: string | string[], options?: Record) {
+ if (typeof value !== 'string') return value
+
+ return value.replace(/\{\{\s*(\w+)\s*\}\}/g, (match, paramName: string) => {
+ const paramValue = options?.[paramName]
+
+ return paramValue === undefined ? match : String(paramValue)
+ })
+}
+
/**
* Create a t function with optional custom translations
* Checks translations[key] first, then translations[ns.key], then returns ns.key as fallback
@@ -130,7 +140,7 @@ function createTFunction(
)
// Check custom translations first (without namespace)
- if (translations[key] !== undefined) return translations[key]
+ if (translations[key] !== undefined) return interpolateTranslation(translations[key], options)
const ns =
keyNamespace ??
@@ -141,7 +151,8 @@ function createTFunction(
const fullKey = ns ? `${ns}.${key}` : key
// Check custom translations with namespace
- if (translations[fullKey] !== undefined) return translations[fullKey]
+ if (translations[fullKey] !== undefined)
+ return interpolateTranslation(translations[fullKey], options)
// Serialize params (excluding ns) for test assertions
const params = { ...options }