-
-
+
)
}
@@ -106,6 +107,7 @@ export function HomeSkeleton({ showBanner }: { showBanner: boolean }) {
return (
$.loading, { ns: 'common' })} className="contents">
+
{showBanner && }
diff --git a/web/features/skills/error.ts b/web/features/skills/error.ts
new file mode 100644
index 00000000000..e528fa5dc4f
--- /dev/null
+++ b/web/features/skills/error.ts
@@ -0,0 +1,68 @@
+export function isSkillErrorRecord(value: unknown): value is Record {
+ return typeof value === 'object' && value !== null
+}
+
+export async function normalizeSkillError(error: unknown): Promise {
+ if (!(error instanceof Response)) return error
+
+ try {
+ return await error.clone().json()
+ } catch {
+ return error
+ }
+}
+
+export function getSkillErrorCode(error: unknown): string | undefined {
+ if (!isSkillErrorRecord(error)) return undefined
+
+ const data = isSkillErrorRecord(error.data) ? error.data : undefined
+ const candidates = [error, data, error.body, data?.body]
+ for (const candidate of candidates) {
+ if (isSkillErrorRecord(candidate) && typeof candidate.code === 'string') return candidate.code
+ }
+
+ const messages = candidates.flatMap((candidate) => {
+ if (!isSkillErrorRecord(candidate)) return []
+ return typeof candidate.message === 'string' ? [candidate.message] : []
+ })
+ if (messages.some((message) => /must contain SKILL\.md/i.test(message))) return 'missing_skill_md'
+ if (messages.some((message) => /skill name .+ already exists/i.test(message)))
+ return 'skill_name_conflict'
+ if (messages.some((message) => /skill limit/i.test(message))) return 'skill_limit_exceeded'
+
+ return undefined
+}
+
+function getSkillErrorDetails(error: unknown): Record | undefined {
+ if (!isSkillErrorRecord(error)) return undefined
+
+ const data = isSkillErrorRecord(error.data) ? error.data : undefined
+ const candidates = [error, data, error.body, data?.body]
+ for (const candidate of candidates) {
+ if (isSkillErrorRecord(candidate) && isSkillErrorRecord(candidate.details))
+ return candidate.details
+ }
+
+ return undefined
+}
+
+export function getSkillErrorDetailNumber(error: unknown, key: string): number | undefined {
+ const value = getSkillErrorDetails(error)?.[key]
+ return typeof value === 'number' ? value : undefined
+}
+
+export function getSkillErrorDetailString(error: unknown, key: string): string | undefined {
+ const value = getSkillErrorDetails(error)?.[key]
+ if (typeof value === 'string') return value
+ if (key !== 'name' || !isSkillErrorRecord(error)) return undefined
+
+ const data = isSkillErrorRecord(error.data) ? error.data : undefined
+ const candidates = [error, data, error.body, data?.body]
+ for (const candidate of candidates) {
+ if (!isSkillErrorRecord(candidate) || typeof candidate.message !== 'string') continue
+ const match = candidate.message.match(/skill name ["']?(.+?)["']? already exists/i)
+ if (match?.[1]) return match[1]
+ }
+
+ return undefined
+}
diff --git a/web/features/tag-management/__tests__/tag-filter.spec.tsx b/web/features/tag-management/__tests__/tag-filter.spec.tsx
index e4804740b95..787c21d6935 100644
--- a/web/features/tag-management/__tests__/tag-filter.spec.tsx
+++ b/web/features/tag-management/__tests__/tag-filter.spec.tsx
@@ -245,6 +245,19 @@ describe('TagFilter', () => {
})
describe('Search', () => {
+ it('should filter tags without matching letter case', async () => {
+ const user = userEvent.setup()
+
+ render()
+
+ await user.click(screen.getByText(i18n.placeholder))
+
+ const searchInput = screen.getByRole('combobox', { name: i18n.selectorPlaceholder })
+ await user.type(searchInput, 'frontend')
+
+ expect(screen.getByRole('option', { name: /Frontend/i })).toBeInTheDocument()
+ })
+
it('should filter tags by search keywords', async () => {
const user = userEvent.setup()
diff --git a/web/features/tag-management/__tests__/tag-selector.spec.tsx b/web/features/tag-management/__tests__/tag-selector.spec.tsx
index 8ded87ed0bc..5ef445420f8 100644
--- a/web/features/tag-management/__tests__/tag-selector.spec.tsx
+++ b/web/features/tag-management/__tests__/tag-selector.spec.tsx
@@ -204,6 +204,20 @@ describe('TagSelector', () => {
expect(screen.getByRole('option', { name: /Backend/i })).toBeInTheDocument()
})
+ it('matches existing tags without offering a case-only duplicate', async () => {
+ const user = userEvent.setup()
+ render()
+
+ await user.click(screen.getByRole('combobox', { name: /Frontend/i }))
+ await user.type(
+ await screen.findByRole('combobox', { name: i18n.selectorPlaceholder }),
+ 'frontend',
+ )
+
+ expect(screen.getByRole('option', { name: 'Frontend' })).toBeInTheDocument()
+ expect(screen.queryByRole('option', { name: /common\.tag\.create/i })).not.toBeInTheDocument()
+ })
+
it('applies added tags only when the popup closes', async () => {
const user = userEvent.setup()
render()
diff --git a/web/features/tag-management/components/tag-filter.tsx b/web/features/tag-management/components/tag-filter.tsx
index b728b15732f..d4817c16ff6 100644
--- a/web/features/tag-management/components/tag-filter.tsx
+++ b/web/features/tag-management/components/tag-filter.tsx
@@ -38,10 +38,10 @@ export const TagFilter = ({
value,
onChange,
onOpenTagManagement = () => {},
- portalProps,
showTagManagement = true,
showLeadingIcon = true,
triggerClassName,
+ portalProps,
}: TagFilterProps) => {
const { t } = useTranslation()
const [open, setOpen] = useState(false)
diff --git a/web/features/tag-management/components/tag-selector.tsx b/web/features/tag-management/components/tag-selector.tsx
index f69a2264e3c..df7a9e761b0 100644
--- a/web/features/tag-management/components/tag-selector.tsx
+++ b/web/features/tag-management/components/tag-selector.tsx
@@ -23,10 +23,11 @@ import { isCreateTagOption } from './tag-combobox-item'
import { TagSearchContent } from './tag-search-content'
import { TagTriggerContent } from './tag-trigger-content'
+const normalizeTagName = (name: string) => name.trim().toLocaleLowerCase()
const TAG_COMBOBOX_FILTER: NonNullable['filter']> = (
tag,
query,
-) => tag.name.includes(query)
+) => normalizeTagName(tag.name).includes(normalizeTagName(query))
const tagToString = (tag: TagComboboxItem) => tag.name
const isSameTag = (item: TagComboboxItem, value: TagComboboxItem) => item.id === value.id
@@ -109,6 +110,7 @@ export const TagSelector = ({
const items = useMemo(() => {
const tagIds = new Set()
const nextItems: TagComboboxItem[] = []
+ const normalizedInputValue = normalizeTagName(inputValue)
for (const tag of tagList) {
if (tag.type !== type) continue
@@ -121,10 +123,15 @@ export const TagSelector = ({
if (tag.type === type && !tagIds.has(tag.id)) nextItems.push(tag)
}
- if (canManageTags && inputValue && nextItems.every((tag) => tag.name !== inputValue)) {
+ if (
+ canManageTags &&
+ normalizedInputValue &&
+ nextItems.every((tag) => normalizeTagName(tag.name) !== normalizedInputValue)
+ ) {
+ const trimmedInputValue = inputValue.trim()
nextItems.push({
- id: `__create_tag__:${inputValue}`,
- name: inputValue,
+ id: `__create_tag__:${trimmedInputValue}`,
+ name: trimmedInputValue,
type,
binding_count: '0',
isCreateOption: true,
diff --git a/web/i18n/ar-TN/agent-v-2.json b/web/i18n/ar-TN/agent-v-2.json
index 208d3d462a3..34274d8aaa2 100644
--- a/web/i18n/ar-TN/agent-v-2.json
+++ b/web/i18n/ar-TN/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "للمواد المرجعية الأطول من أن تُلصق في Prompt: المواصفات، القوالب، الإرشادات. تعرّف على المزيد\n\nفي وضع Build، يمكن للوكيل إعدادها لك.",
+ "agentDetail.configure.prompt.richTip": "حدّد دور الوكيل وكيفية عمله. تعرّف على المزيد"
}
diff --git a/web/i18n/ar-TN/app.json b/web/i18n/ar-TN/app.json
index ba03eac9757..3a9746605d5 100644
--- a/web/i18n/ar-TN/app.json
+++ b/web/i18n/ar-TN/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "ابدأ من سير عمل مُعد مسبقًا. مناسب لتعلم Dify والأنماط الشائعة.",
"firstEmpty.title": "لا يوجد تطبيق بعد",
"gotoAnything.actions.accountDesc": "الانتقال إلى صفحة الحساب",
- "gotoAnything.actions.communityDesc": "فتح مجتمع Discord",
"gotoAnything.actions.createAuto": "تلقائي",
"gotoAnything.actions.createAutoDesc": "دع الذكاء الاصطناعي يختار Workflow أو Chatflow من وصفك",
"gotoAnything.actions.createCategoryDesc": "قم بإنشاء سير عمل أو سير دردشة تم إنشاؤه بواسطة الذكاء الاصطناعي",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "أنشئ تطبيق تدفق الدردشة (الدردشة المتقدمة) من الوصف",
"gotoAnything.actions.createWorkflow": "سير العمل",
"gotoAnything.actions.createWorkflowDesc": "قم بإنشاء تطبيق سير عمل من الوصف",
+ "gotoAnything.actions.discordDesc": "فتح مجتمع Discord",
"gotoAnything.actions.docDesc": "فتح وثائق المساعدة",
- "gotoAnything.actions.feedbackDesc": "فتح مناقشات ملاحظات المجتمع",
"gotoAnything.actions.languageChangeDesc": "تغيير لغة واجهة المستخدم",
"gotoAnything.actions.refineCategoryDesc": "قم بتحسين سير العمل الحالي أو الرسم البياني لتدفق الدردشة",
"gotoAnything.actions.refineDesc": "قم بوصف التغيير الذي سيتم تطبيقه على المسودة الحالية",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "أوامر",
"gotoAnything.groups.knowledgeBases": "قواعد المعرفة",
"gotoAnything.groups.plugins": "إضافات",
- "gotoAnything.groups.recent": "الأخيرة",
"gotoAnything.groups.workflowNodes": "عقد سير العمل",
"gotoAnything.inScope": "في {{scope}}",
"gotoAnything.noMatchingCommands": "لم يتم العثور على أوامر مطابقة",
diff --git a/web/i18n/de-DE/agent-v-2.json b/web/i18n/de-DE/agent-v-2.json
index 5737ca460cd..4b5c530901a 100644
--- a/web/i18n/de-DE/agent-v-2.json
+++ b/web/i18n/de-DE/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Für Referenzmaterial, das zu lang zum Einfügen in den Prompt ist: Spezifikationen, Vorlagen, Richtlinien. Mehr erfahren\n\nIm Build-Modus kann der Agent diese Einrichtung für Sie übernehmen.",
+ "agentDetail.configure.prompt.richTip": "Definieren Sie die Rolle des Agenten und wie er arbeiten soll. Mehr erfahren"
}
diff --git a/web/i18n/de-DE/app.json b/web/i18n/de-DE/app.json
index efe2a7c505e..4beeff43254 100644
--- a/web/i18n/de-DE/app.json
+++ b/web/i18n/de-DE/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Starte mit einem vorgefertigten Workflow. Ideal, um Dify und gängige Muster zu lernen.",
"firstEmpty.title": "Noch keine App",
"gotoAnything.actions.accountDesc": "Gehe zur Kontoseite",
- "gotoAnything.actions.communityDesc": "Offene Discord-Community",
"gotoAnything.actions.createAuto": "Auto",
"gotoAnything.actions.createAutoDesc": "Lassen Sie die KI anhand Ihrer Beschreibung Workflow oder Chatflow auswählen",
"gotoAnything.actions.createCategoryDesc": "Erstellen Sie einen KI-generierten Workflow oder Chatflow",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Generieren Sie eine Chatflow-App (erweiterter Chat) aus einer Beschreibung",
"gotoAnything.actions.createWorkflow": "Arbeitsablauf",
"gotoAnything.actions.createWorkflowDesc": "Generieren Sie eine Workflow-App aus einer Beschreibung",
+ "gotoAnything.actions.discordDesc": "Öffnen Sie die Discord-Community",
"gotoAnything.actions.docDesc": "Öffnen Sie die Hilfedokumentation",
- "gotoAnything.actions.feedbackDesc": "Offene Diskussionen zum Feedback der Gemeinschaft",
"gotoAnything.actions.languageChangeDesc": "UI-Sprache ändern",
"gotoAnything.actions.refineCategoryDesc": "Verfeinern Sie den aktuellen Workflow oder das Chatflow-Diagramm",
"gotoAnything.actions.refineDesc": "Beschreiben Sie eine Änderung, die auf den aktuellen Entwurf angewendet werden soll",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Befehle",
"gotoAnything.groups.knowledgeBases": "Wissensdatenbanken",
"gotoAnything.groups.plugins": "Integrationen",
- "gotoAnything.groups.recent": "Zuletzt",
"gotoAnything.groups.workflowNodes": "Workflow-Knoten",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "Keine übereinstimmenden Befehle gefunden",
diff --git a/web/i18n/en-US/agent-v-2.json b/web/i18n/en-US/agent-v-2.json
index 131ad1ac7ba..2bc4961e3ab 100644
--- a/web/i18n/en-US/agent-v-2.json
+++ b/web/i18n/en-US/agent-v-2.json
@@ -623,5 +623,8 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "For reference material too long to paste into the Prompt: specs, templates, guidelines. Learn more\n\nIn Build mode, the agent can set these up for you.",
+ "agentDetail.configure.prompt.richTip": "Define the agent's role and how it should work. Learn more",
+ "agentDetail.configure.skills.workspaceSelector.limitReached": "An agent can use up to 20 library skills. Remove one to add another."
}
diff --git a/web/i18n/en-US/app.json b/web/i18n/en-US/app.json
index b6e401f58c7..50766de769c 100644
--- a/web/i18n/en-US/app.json
+++ b/web/i18n/en-US/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Pick a ready-made app and customize it. The fastest way to see Dify in action.",
"firstEmpty.title": "Build your first App",
"gotoAnything.actions.accountDesc": "Navigate to account page",
- "gotoAnything.actions.communityDesc": "Open Discord community",
"gotoAnything.actions.createAuto": "Auto",
"gotoAnything.actions.createAutoDesc": "Let AI pick Workflow or Chatflow from your description",
"gotoAnything.actions.createCategoryDesc": "Create an AI-generated workflow or chatflow",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Generate a chatflow (advanced chat) app from a description",
"gotoAnything.actions.createWorkflow": "Workflow",
"gotoAnything.actions.createWorkflowDesc": "Generate a workflow app from a description",
+ "gotoAnything.actions.discordDesc": "Open Discord community",
"gotoAnything.actions.docDesc": "Open help documentation",
- "gotoAnything.actions.feedbackDesc": "Open community feedback discussions",
"gotoAnything.actions.languageChangeDesc": "Change UI language",
"gotoAnything.actions.refineCategoryDesc": "Refine the current workflow or chatflow graph",
"gotoAnything.actions.refineDesc": "Describe a change to apply to the current draft",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Commands",
"gotoAnything.groups.knowledgeBases": "Knowledge Bases",
"gotoAnything.groups.plugins": "Integrations",
- "gotoAnything.groups.recent": "Recent",
"gotoAnything.groups.workflowNodes": "Workflow Nodes",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "No matching commands found",
diff --git a/web/i18n/es-ES/agent-v-2.json b/web/i18n/es-ES/agent-v-2.json
index d7d992ed4de..2aada5d954e 100644
--- a/web/i18n/es-ES/agent-v-2.json
+++ b/web/i18n/es-ES/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Para material de referencia demasiado largo para pegar en el Prompt: especificaciones, plantillas, guías. Más información\n\nEn modo Build, el agente puede configurarlos por ti.",
+ "agentDetail.configure.prompt.richTip": "Define el rol del agente y cómo debe trabajar. Más información"
}
diff --git a/web/i18n/es-ES/app.json b/web/i18n/es-ES/app.json
index 12e1d0fdcd5..65bce39cf11 100644
--- a/web/i18n/es-ES/app.json
+++ b/web/i18n/es-ES/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Empieza con un flujo de trabajo prediseñado. Ideal para aprender Dify y patrones comunes.",
"firstEmpty.title": "Aún no hay aplicaciones",
"gotoAnything.actions.accountDesc": "Navegar a la página de cuenta",
- "gotoAnything.actions.communityDesc": "Abrir comunidad de Discord",
"gotoAnything.actions.createAuto": "Automático",
"gotoAnything.actions.createAutoDesc": "Deja que la IA elija Workflow o Chatflow a partir de tu descripción",
"gotoAnything.actions.createCategoryDesc": "Cree un flujo de trabajo o flujo de chat generado por IA",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Generar una aplicación de chatflow (chat avanzado) a partir de una descripción",
"gotoAnything.actions.createWorkflow": "Flujo de trabajo",
"gotoAnything.actions.createWorkflowDesc": "Generar una aplicación de flujo de trabajo a partir de una descripción",
+ "gotoAnything.actions.discordDesc": "Abrir comunidad de Discord",
"gotoAnything.actions.docDesc": "Abrir la documentación de ayuda",
- "gotoAnything.actions.feedbackDesc": "Discusiones de retroalimentación de la comunidad abierta",
"gotoAnything.actions.languageChangeDesc": "Cambiar el idioma de la interfaz",
"gotoAnything.actions.refineCategoryDesc": "Refinar el flujo de trabajo actual o el gráfico de flujo de chat",
"gotoAnything.actions.refineDesc": "Describir un cambio para aplicar al borrador actual.",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Comandos",
"gotoAnything.groups.knowledgeBases": "Bases de conocimiento",
"gotoAnything.groups.plugins": "Complementos",
- "gotoAnything.groups.recent": "Reciente",
"gotoAnything.groups.workflowNodes": "Nodos de flujo de trabajo",
"gotoAnything.inScope": "en {{scope}}s",
"gotoAnything.noMatchingCommands": "No se encontraron comandos coincidentes",
diff --git a/web/i18n/fa-IR/agent-v-2.json b/web/i18n/fa-IR/agent-v-2.json
index 0216328013b..ad1b5b0b38a 100644
--- a/web/i18n/fa-IR/agent-v-2.json
+++ b/web/i18n/fa-IR/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "برای منابع مرجعی که برای چسباندن در Prompt بیش از حد طولانیاند: مشخصات، قالبها، دستورالعملها. بیشتر بدانید\n\nدر حالت Build، عامل میتواند این موارد را برای شما تنظیم کند.",
+ "agentDetail.configure.prompt.richTip": "نقش عامل و نحوه کار آن را تعریف کنید. بیشتر بدانید"
}
diff --git a/web/i18n/fa-IR/app.json b/web/i18n/fa-IR/app.json
index 3b207895ef1..db186ab504d 100644
--- a/web/i18n/fa-IR/app.json
+++ b/web/i18n/fa-IR/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "از یک گردشکار از پیش ساخته شروع کنید. برای یادگیری Dify و الگوهای رایج مناسب است.",
"firstEmpty.title": "هنوز برنامهای وجود ندارد",
"gotoAnything.actions.accountDesc": "به صفحه حساب کاربری بروید",
- "gotoAnything.actions.communityDesc": "جامعه دیسکورد باز",
"gotoAnything.actions.createAuto": "خودکار",
"gotoAnything.actions.createAutoDesc": "به هوش مصنوعی اجازه دهید بر اساس توضیحات شما Workflow یا Chatflow را انتخاب کند",
"gotoAnything.actions.createCategoryDesc": "یک گردش کار یا جریان گفتگو ایجاد شده توسط هوش مصنوعی ایجاد کنید",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "یک برنامه chatflow (چت پیشرفته) از توضیحات ایجاد کنید",
"gotoAnything.actions.createWorkflow": "گردش کار",
"gotoAnything.actions.createWorkflowDesc": "یک برنامه گردش کار را از توضیحات ایجاد کنید",
+ "gotoAnything.actions.discordDesc": "انجمن دیسکورد را باز کنید",
"gotoAnything.actions.docDesc": "مستندات کمک را باز کنید",
- "gotoAnything.actions.feedbackDesc": "بحثهای باز بازخورد جامعه",
"gotoAnything.actions.languageChangeDesc": "زبان رابط کاربری را تغییر دهید",
"gotoAnything.actions.refineCategoryDesc": "جریان کار یا نمودار جریان گفتگو را اصلاح کنید",
"gotoAnything.actions.refineDesc": "تغییری را برای اعمال در پیشنویس فعلی توضیح دهید",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "دستورات",
"gotoAnything.groups.knowledgeBases": "پایگاه های دانش",
"gotoAnything.groups.plugins": "یکپارچهسازی",
- "gotoAnything.groups.recent": "اخیر",
"gotoAnything.groups.workflowNodes": "گره های گردش کار",
"gotoAnything.inScope": "در {{scope}}s",
"gotoAnything.noMatchingCommands": "هیچ دستوری منطبق یافت نشد",
diff --git a/web/i18n/fr-FR/agent-v-2.json b/web/i18n/fr-FR/agent-v-2.json
index 7367bd0913c..1f3ad1d7c89 100644
--- a/web/i18n/fr-FR/agent-v-2.json
+++ b/web/i18n/fr-FR/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Pour les documents de référence trop longs à coller dans le Prompt : spécifications, modèles, consignes. En savoir plus\n\nEn mode Build, l'agent peut les configurer pour vous.",
+ "agentDetail.configure.prompt.richTip": "Définissez le rôle de l’agent et la manière dont il doit travailler. En savoir plus"
}
diff --git a/web/i18n/fr-FR/app.json b/web/i18n/fr-FR/app.json
index e69e4b4dc32..cf3d9386080 100644
--- a/web/i18n/fr-FR/app.json
+++ b/web/i18n/fr-FR/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Commencez avec un workflow prédéfini. Idéal pour apprendre Dify et les modèles courants.",
"firstEmpty.title": "Aucune application pour le moment",
"gotoAnything.actions.accountDesc": "Accédez à la page de compte",
- "gotoAnything.actions.communityDesc": "Ouvrir la communauté Discord",
"gotoAnything.actions.createAuto": "Auto",
"gotoAnything.actions.createAutoDesc": "Laissez l'IA choisir Workflow ou Chatflow à partir de votre description",
"gotoAnything.actions.createCategoryDesc": "Créez un flux de travail ou un chatflow généré par l'IA",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Générer une application chatflow (chat avancé) à partir d'une description",
"gotoAnything.actions.createWorkflow": "Flux de travail",
"gotoAnything.actions.createWorkflowDesc": "Générer une application de workflow à partir d'une description",
+ "gotoAnything.actions.discordDesc": "Ouvrir la communauté Discord",
"gotoAnything.actions.docDesc": "Ouvrir la documentation d'aide",
- "gotoAnything.actions.feedbackDesc": "Discussions de rétroaction de la communauté ouverte",
"gotoAnything.actions.languageChangeDesc": "Changer la langue de l'interface",
"gotoAnything.actions.refineCategoryDesc": "Affiner le flux de travail ou le graphique de chatflow actuel",
"gotoAnything.actions.refineDesc": "Décrire un changement à appliquer au brouillon actuel",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Commandes",
"gotoAnything.groups.knowledgeBases": "Bases de connaissances",
"gotoAnything.groups.plugins": "Plug-ins",
- "gotoAnything.groups.recent": "Récent",
"gotoAnything.groups.workflowNodes": "Nœuds de flux de travail",
"gotoAnything.inScope": "dans {{scope}}s",
"gotoAnything.noMatchingCommands": "Aucune commande correspondante n’a été trouvée",
diff --git a/web/i18n/hi-IN/agent-v-2.json b/web/i18n/hi-IN/agent-v-2.json
index 03781743a32..19f94d86dc3 100644
--- a/web/i18n/hi-IN/agent-v-2.json
+++ b/web/i18n/hi-IN/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Prompt में चिपकाने के लिए बहुत लंबी संदर्भ सामग्री के लिए: स्पेक्स, टेम्पलेट, दिशानिर्देश। ज़्यादा जानें\n\nBuild mode में, एजेंट इन्हें आपके लिए सेट कर सकता है।",
+ "agentDetail.configure.prompt.richTip": "एजेंट की भूमिका और उसके काम करने के तरीके को तय करें। ज़्यादा जानें"
}
diff --git a/web/i18n/hi-IN/app.json b/web/i18n/hi-IN/app.json
index 90147fcac5c..cc8f8444f6f 100644
--- a/web/i18n/hi-IN/app.json
+++ b/web/i18n/hi-IN/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "पहले से बने workflow से शुरू करें। Dify और सामान्य patterns सीखने के लिए बढ़िया।",
"firstEmpty.title": "अभी कोई ऐप नहीं है",
"gotoAnything.actions.accountDesc": "खाता पृष्ठ पर जाएं",
- "gotoAnything.actions.communityDesc": "ओपन डिस्कॉर्ड समुदाय",
"gotoAnything.actions.createAuto": "स्वचालित",
"gotoAnything.actions.createAutoDesc": "AI को आपके विवरण से Workflow या Chatflow चुनने दें",
"gotoAnything.actions.createCategoryDesc": "एआई-जनरेटेड वर्कफ़्लो या चैटफ़्लो बनाएं",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "विवरण से एक चैटफ़्लो (उन्नत चैट) ऐप बनाएं",
"gotoAnything.actions.createWorkflow": "कार्यप्रवाह",
"gotoAnything.actions.createWorkflowDesc": "विवरण से वर्कफ़्लो ऐप बनाएं",
+ "gotoAnything.actions.discordDesc": "डिस्कॉर्ड समुदाय खोलें",
"gotoAnything.actions.docDesc": "सहायता दस्तावेज़ खोलें",
- "gotoAnything.actions.feedbackDesc": "खुले समुदाय की फीडबैक चर्चाएँ",
"gotoAnything.actions.languageChangeDesc": "इंटरफेस भाषा बदलें",
"gotoAnything.actions.refineCategoryDesc": "वर्तमान वर्कफ़्लो या चैटफ़्लो ग्राफ़ को परिष्कृत करें",
"gotoAnything.actions.refineDesc": "वर्मन मसौदे पर लागू हो रहा है",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "आदेश",
"gotoAnything.groups.knowledgeBases": "ज्ञान आधार",
"gotoAnything.groups.plugins": "एकीकरण",
- "gotoAnything.groups.recent": "हाल ही में",
"gotoAnything.groups.workflowNodes": "कार्यप्रवाह नोड्स",
"gotoAnything.inScope": "{{scope}}s में",
"gotoAnything.noMatchingCommands": "कोई मिलती-जुलती कमांड्स नहीं मिलीं",
diff --git a/web/i18n/id-ID/agent-v-2.json b/web/i18n/id-ID/agent-v-2.json
index 640fb3aab89..270e1bfcfb3 100644
--- a/web/i18n/id-ID/agent-v-2.json
+++ b/web/i18n/id-ID/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Untuk materi referensi yang terlalu panjang untuk ditempel ke Prompt: spesifikasi, templat, panduan. Pelajari selengkapnya\n\nDalam mode Build, agen dapat menyiapkannya untuk Anda.",
+ "agentDetail.configure.prompt.richTip": "Tentukan peran agen dan cara kerjanya. Pelajari selengkapnya"
}
diff --git a/web/i18n/id-ID/app.json b/web/i18n/id-ID/app.json
index bf074839b9c..1e991a3938b 100644
--- a/web/i18n/id-ID/app.json
+++ b/web/i18n/id-ID/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Mulai dari workflow siap pakai. Cocok untuk mempelajari Dify dan pola umum.",
"firstEmpty.title": "Belum ada aplikasi",
"gotoAnything.actions.accountDesc": "Arahkan ke halaman akun",
- "gotoAnything.actions.communityDesc": "Buka komunitas Discord",
"gotoAnything.actions.createAuto": "Otomatis",
"gotoAnything.actions.createAutoDesc": "Biarkan AI memilih Workflow atau Chatflow dari deskripsi Anda",
"gotoAnything.actions.createCategoryDesc": "Buat alur kerja atau alur obrolan yang dihasilkan AI",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Hasilkan aplikasi chatflow (obrolan lanjutan) dari deskripsi",
"gotoAnything.actions.createWorkflow": "Alur kerja",
"gotoAnything.actions.createWorkflowDesc": "Hasilkan aplikasi alur kerja dari deskripsi",
+ "gotoAnything.actions.discordDesc": "Buka komunitas Discord",
"gotoAnything.actions.docDesc": "Buka dokumentasi bantuan",
- "gotoAnything.actions.feedbackDesc": "Buka diskusi umpan balik komunitas",
"gotoAnything.actions.languageChangeDesc": "Mengubah bahasa UI",
"gotoAnything.actions.refineCategoryDesc": "Sempurnakan alur kerja atau grafik alur obrolan saat ini",
"gotoAnything.actions.refineDesc": "Jelaskan perubahan yang akan diterapkan pada draf saat ini",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Perintah",
"gotoAnything.groups.knowledgeBases": "Basis Pengetahuan",
"gotoAnything.groups.plugins": "Integrasi",
- "gotoAnything.groups.recent": "Terbaru",
"gotoAnything.groups.workflowNodes": "Node Alur Kerja",
"gotoAnything.inScope": "di {{scope}}s",
"gotoAnything.noMatchingCommands": "Tidak ada perintah yang cocok ditemukan",
diff --git a/web/i18n/it-IT/agent-v-2.json b/web/i18n/it-IT/agent-v-2.json
index c1f8e796feb..cc651d1a5f5 100644
--- a/web/i18n/it-IT/agent-v-2.json
+++ b/web/i18n/it-IT/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Per materiale di riferimento troppo lungo da incollare nel Prompt: specifiche, modelli, linee guida. Scopri di più\n\nIn modalità Build, l'agente può configurarli per te.",
+ "agentDetail.configure.prompt.richTip": "Definisci il ruolo dell’agente e il modo in cui deve lavorare. Scopri di più"
}
diff --git a/web/i18n/it-IT/app.json b/web/i18n/it-IT/app.json
index 5b86b42b580..0fe769193b4 100644
--- a/web/i18n/it-IT/app.json
+++ b/web/i18n/it-IT/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Inizia da un workflow preconfigurato. Ideale per imparare Dify e i pattern comuni.",
"firstEmpty.title": "Ancora nessuna app",
"gotoAnything.actions.accountDesc": "Vai alla pagina dell'account",
- "gotoAnything.actions.communityDesc": "Apri la community di Discord",
"gotoAnything.actions.createAuto": "Auto",
"gotoAnything.actions.createAutoDesc": "Lascia che l'IA scelga Workflow o Chatflow dalla tua descrizione",
"gotoAnything.actions.createCategoryDesc": "Crea un flusso di lavoro o un flusso di chat generato dall'intelligenza artificiale",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Genera un'app del flusso di chat (chat avanzata) da una descrizione",
"gotoAnything.actions.createWorkflow": "Flusso di lavoro",
"gotoAnything.actions.createWorkflowDesc": "Genera un'app del flusso di lavoro da una descrizione",
+ "gotoAnything.actions.discordDesc": "Apri la community di Discord",
"gotoAnything.actions.docDesc": "Apri la documentazione di aiuto",
- "gotoAnything.actions.feedbackDesc": "Discussioni di feedback della comunità aperta",
"gotoAnything.actions.languageChangeDesc": "Cambia lingua dell'interfaccia",
"gotoAnything.actions.refineCategoryDesc": "Perfeziona il flusso di lavoro corrente o il grafico del flusso di chat",
"gotoAnything.actions.refineDesc": "Descrivi una modifica da applicare alla bozza corrente",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Comandi",
"gotoAnything.groups.knowledgeBases": "Basi di conoscenza",
"gotoAnything.groups.plugins": "Integrazione",
- "gotoAnything.groups.recent": "Recente",
"gotoAnything.groups.workflowNodes": "Nodi del flusso di lavoro",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "Nessun comando corrispondente trovato",
diff --git a/web/i18n/ja-JP/agent-v-2.json b/web/i18n/ja-JP/agent-v-2.json
index 2e8347bc3da..91228eba459 100644
--- a/web/i18n/ja-JP/agent-v-2.json
+++ b/web/i18n/ja-JP/agent-v-2.json
@@ -548,5 +548,9 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Prompt に貼り付けるには長すぎる参考資料向けです: 仕様、テンプレート、ガイドライン。詳細を見る\n\nBuild モードでは、エージェントがこれらを設定できます。",
+ "agentDetail.configure.prompt.richTip": "Agent のロールと仕事の進め方を設定します。詳細を見る",
+ "agentDetail.configure.skills.workspaceSelector.empty": "スキルライブラリに一致するスキルはありません。",
+ "agentDetail.configure.skills.workspaceSelector.limitReached": "各 Agent には、スキルライブラリから最大 20 個のスキルを追加できます。スキルを 1 つ外してから、新しいスキルを追加してください。"
}
diff --git a/web/i18n/ja-JP/app.json b/web/i18n/ja-JP/app.json
index 0b590709dc7..72161d1e360 100644
--- a/web/i18n/ja-JP/app.json
+++ b/web/i18n/ja-JP/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "用意されたアプリを選んでカスタマイズ。Dify を最速で体感できる方法です。",
"firstEmpty.title": "最初のアプリを作成",
"gotoAnything.actions.accountDesc": "アカウントページに移動する",
- "gotoAnything.actions.communityDesc": "オープンDiscordコミュニティ",
"gotoAnything.actions.createAuto": "自動",
"gotoAnything.actions.createAutoDesc": "説明に基づいて AI が Workflow か Chatflow を選択します",
"gotoAnything.actions.createCategoryDesc": "AI が生成したワークフローまたはチャットフローを作成する",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "説明からチャットフロー (高度なチャット) アプリを生成する",
"gotoAnything.actions.createWorkflow": "ワークフロー",
"gotoAnything.actions.createWorkflowDesc": "説明からワークフロー アプリを生成する",
+ "gotoAnything.actions.discordDesc": "Discordコミュニティを開く",
"gotoAnything.actions.docDesc": "ヘルプドキュメントを開く",
- "gotoAnything.actions.feedbackDesc": "オープンなコミュニティフィードバックディスカッション",
"gotoAnything.actions.languageChangeDesc": "UI言語を変更する",
"gotoAnything.actions.refineCategoryDesc": "現在のワークフローまたはチャットフローグラフを改良する",
"gotoAnything.actions.refineDesc": "現在のドラフトに適用する変更について説明します",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "コマンド",
"gotoAnything.groups.knowledgeBases": "ナレッジベース",
"gotoAnything.groups.plugins": "インテグレーション",
- "gotoAnything.groups.recent": "最近",
"gotoAnything.groups.workflowNodes": "ワークフローノード",
"gotoAnything.inScope": "{{scope}}s 内",
"gotoAnything.noMatchingCommands": "一致するコマンドが見つかりません",
diff --git a/web/i18n/ko-KR/agent-v-2.json b/web/i18n/ko-KR/agent-v-2.json
index 86c1eeb4e97..7afd3dfc7d9 100644
--- a/web/i18n/ko-KR/agent-v-2.json
+++ b/web/i18n/ko-KR/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Prompt에 붙여넣기에는 너무 긴 참고 자료용입니다: 사양, 템플릿, 가이드라인. 자세히 알아보기\n\nBuild mode에서는 에이전트가 이를 대신 설정할 수 있습니다.",
+ "agentDetail.configure.prompt.richTip": "에이전트의 역할과 작업 방식을 정의합니다. 자세히 알아보기"
}
diff --git a/web/i18n/ko-KR/app.json b/web/i18n/ko-KR/app.json
index d25a798b681..382fe24c17e 100644
--- a/web/i18n/ko-KR/app.json
+++ b/web/i18n/ko-KR/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "미리 만들어진 workflow에서 시작하세요. Dify와 일반적인 패턴을 배우기에 좋습니다.",
"firstEmpty.title": "아직 앱이 없습니다",
"gotoAnything.actions.accountDesc": "계정 페이지로 이동",
- "gotoAnything.actions.communityDesc": "오픈 디스코드 커뮤니티",
"gotoAnything.actions.createAuto": "자동",
"gotoAnything.actions.createAutoDesc": "설명을 바탕으로 AI가 Workflow 또는 Chatflow를 선택하도록 합니다",
"gotoAnything.actions.createCategoryDesc": "AI 생성 워크플로 또는 채팅 흐름 만들기",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "설명에서 chatflow (№ 급 채팅) 앱 생성",
"gotoAnything.actions.createWorkflow": "작업 흐름",
"gotoAnything.actions.createWorkflowDesc": "설명에서 워크플로 앱 생성",
+ "gotoAnything.actions.discordDesc": "Discord 커뮤니티 열기",
"gotoAnything.actions.docDesc": "도움 문서 열기",
- "gotoAnything.actions.feedbackDesc": "공개 커뮤니티 피드백 토론",
"gotoAnything.actions.languageChangeDesc": "UI 언어 변경",
"gotoAnything.actions.refineCategoryDesc": "현재 워크플로우 또는 챗플로우 그래프를 구체화합니다.",
"gotoAnything.actions.refineDesc": "현재 초안에 적용할 변경 사항 설명",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "명령어",
"gotoAnything.groups.knowledgeBases": "기술 자료",
"gotoAnything.groups.plugins": "통합",
- "gotoAnything.groups.recent": "최근",
"gotoAnything.groups.workflowNodes": "워크플로 노드",
"gotoAnything.inScope": "{{scope}}s 내에서",
"gotoAnything.noMatchingCommands": "일치하는 명령을 찾을 수 없습니다.",
diff --git a/web/i18n/lo-LA/agent-v-2.json b/web/i18n/lo-LA/agent-v-2.json
index 630a49dd02d..cb1583aacf5 100644
--- a/web/i18n/lo-LA/agent-v-2.json
+++ b/web/i18n/lo-LA/agent-v-2.json
@@ -82,7 +82,7 @@
"agentDetail.configure.buildDraft.changesToApply_other": "ມີ {{count}} ການປ່ຽນແປງທີ່ຈະນຳໃຊ້",
"agentDetail.configure.buildDraft.discard": "ຍົກເລີກ",
"agentDetail.configure.buildDraft.modeBadge": "ໂໝດສ້າງ (Build mode)",
- "agentDetail.configure.buildDraft.modeDescription": "ທ່ານຢູ່ໃນໂໝດສ້າງ. ການຕັ້ງຄ່າສາມາດອັບເດດໄດ້ໂດຍຕົວແທນໃນໂໝດນີ້ເທົ່ານັ້ນ. ປັບແຕ່ງການຕັ້ງຄ່ານີ້ຜ່ານການສົນທະນາດ້ານຂວາ, ແລ້ວກົດ 'ນຳໃຊ້'.",
+ "agentDetail.configure.buildDraft.modeDescription": "ທ່ານຢູ່ໃນໂໝດສ້າງ. ປັບແຕ່ງການຕັ້ງຄ່ານີ້ໂດຍສົນທະນາກັບຕົວແທນ, ແລ້ວກົດ ນຳໃຊ້.",
"agentDetail.configure.buildDraft.rewritten": "ຂຽນໃໝ່ແລ້ວ",
"agentDetail.configure.buildDraft.title": "ຮ່າງການສ້າງ",
"agentDetail.configure.buildDraft.updated": "ອັບເດດແລ້ວ",
@@ -104,7 +104,8 @@
"agentDetail.configure.files.preview.failed": "ໂຫຼດຕົວຢ່າງບໍ່ສຳເລັດ.",
"agentDetail.configure.files.preview.unsupported": "ບໍ່ຮອງຮັບການເບິ່ງຕົວຢ່າງສຳລັບໄຟລ໌ນີ້.",
"agentDetail.configure.files.remove": "ລຶບ {{name}} ອອກ",
- "agentDetail.configure.files.tip": "ສຳລັບເອກະສານອ້າງອີງທີ່ມີເນື້ອຫາຍາວເກີນໄປທີ່ຈະວາງລົງໃນ Prompt ເຊັ່ນ: ຂໍ້ກຳນົດ, ເທມເພຼດ, ຄຳແນະນຳ. ສາມາດອ້າງອີງດ້ວຍ / ໃນ Prompt.\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
+ "agentDetail.configure.files.richTip": "ສຳລັບເອກະສານອ້າງອີງທີ່ມີເນື້ອຫາຍາວເກີນໄປທີ່ຈະວາງລົງໃນ Prompt ເຊັ່ນ: ຂໍ້ກຳນົດ, ເທມເພຼດ, ຄຳແນະນຳ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
+ "agentDetail.configure.files.tip": "ສຳລັບເອກະສານອ້າງອີງທີ່ມີເນື້ອຫາຍາວເກີນໄປທີ່ຈະວາງລົງໃນ Prompt ເຊັ່ນ: ຂໍ້ກຳນົດ, ເທມເພຼດ, ຄຳແນະນຳ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
"agentDetail.configure.files.toggle": "ເປີດ/ປິດ ໄຟລ໌",
"agentDetail.configure.files.treeLabel": "ໄຟລ໌ຂອງຕົວແທນ",
"agentDetail.configure.files.upload.action": "ອັບໂຫຼດ",
@@ -113,7 +114,7 @@
"agentDetail.configure.files.upload.dropzone": "ວາງໄຟລ໌ໃສ່ນີ້, ຫຼື",
"agentDetail.configure.files.upload.failed": "ອັບໂຫຼດໄຟລ໌ບໍ່ສຳເລັດ.",
"agentDetail.configure.files.upload.fileType": "FILE",
- "agentDetail.configure.files.upload.invalidFile": "ກະລຸນາອັບໂຫຼດໄຟລ໌ດຽວ.",
+ "agentDetail.configure.files.upload.invalidFile": "ສາມາດອັບໂຫຼດໄດ້ເທື່ອລະໜຶ່ງໄຟລ໌ເທົ່ານັ້ນ.",
"agentDetail.configure.files.upload.success": "ອັບໂຫຼດໄຟລ໌ສຳເລັດ.",
"agentDetail.configure.files.upload.title": "ອັບໂຫຼດໄຟລ໌",
"agentDetail.configure.knowledgeRetrieval.add": "ເພີ່ມການດຶງຂໍ້ມູນຄວາມຮູ້",
@@ -176,7 +177,8 @@
"agentDetail.configure.prompt.mention.priyaRamanathan": "Priya Ramanathan",
"agentDetail.configure.prompt.placeholder": "ຂຽນຄຳແນະນຳຢູ່ນີ້,",
"agentDetail.configure.prompt.referenceMissing": "{{name}} ບໍ່ມີຢູ່",
- "agentDetail.configure.prompt.tip": "ກຳນົດບົດບາດຂອງຕົວແທນ ແລະ ອະທິບາຍໜ້າວຽກປົກກະຕິຂອງມັນ. ໃຊ້ / ເພື່ອອ້າງອີງເຖິງ ທັກສະ, ໄຟລ໌, ເຄື່ອງມື ແລະ ການດຶງຂໍ້ມູນຄວາມຮູ້.",
+ "agentDetail.configure.prompt.richTip": "ກຳນົດບົດບາດຂອງຕົວແທນ ແລະ ວິທີທີ່ຄວນເຮັດວຽກ. ຮຽນຮູ້ເພີ່ມເຕີມ",
+ "agentDetail.configure.prompt.tip": "ກຳນົດບົດບາດຂອງຕົວແທນ ແລະ ວິທີທີ່ຄວນເຮັດວຽກ. ຮຽນຮູ້ເພີ່ມເຕີມ",
"agentDetail.configure.publishBar.draft": "ສະບັບຮ່າງ",
"agentDetail.configure.publishBar.publishUpdate": "ເຜີຍແຜ່ການອັບເດດ",
"agentDetail.configure.publishBar.published": "ເຜີຍແຜ່ແລ້ວ",
@@ -189,8 +191,8 @@
"agentDetail.configure.publishBar.versionHistory": "ເປີດປະຫວັດເວີຊັນ",
"agentDetail.configure.publishImpact.affectedWorkflows": "ເວີກໂຟລທີ່ໄດ້ຮັບຜົນກະທົບ",
"agentDetail.configure.publishImpact.cancel": "ຍົກເລີກ",
- "agentDetail.configure.publishImpact.descriptionPrefix": "ຕົວແທນຂອງທ່ານປາກົດຢູ່ໃນ",
- "agentDetail.configure.publishImpact.descriptionSuffix": ". ການປ່ຽນແປງຈະສົ່ງຜົນກະທົບຕໍ່ພວກມັນ.",
+ "agentDetail.configure.publishImpact.descriptionPrefix": "ຕົວແທນນີ້ຖືກໃຊ້ໃນ",
+ "agentDetail.configure.publishImpact.descriptionSuffix": ". ການເຜີຍແຜ່ຈະອັບເດດຕົວແທນນີ້ໃນທຸກເວີກໂຟລ.",
"agentDetail.configure.publishImpact.fallbackAgentName": "ຕົວແທນນີ້",
"agentDetail.configure.publishImpact.title": "{{action}} ໄປຍັງ {{name}}",
"agentDetail.configure.publishImpact.workflowCount_one": "{{count}} ເວີກໂຟລ",
@@ -213,8 +215,8 @@
"agentDetail.configure.skills.label": "ທັກສະ (Skills)",
"agentDetail.configure.skills.missing": "ບໍ່ພົບທັກສະ",
"agentDetail.configure.skills.remove": "ລຶບ {{name}} ອອກ",
- "agentDetail.configure.skills.richTip": "ລວມຄຳແນະນຳ, ໄຟລ໌ ແລະ ສະຄຣິບສຳລັບວຽກທີ່ເຮັດຊ້ຳໆໃຫ້ກາຍເປັນທັກສະ. ອ້າງອີງດ້ວຍ / ໃນ Prompt. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
- "agentDetail.configure.skills.tip": "ລວມຄຳແນະນຳ, ໄຟລ໌ ແລະ ສະຄຣິບສຳລັບວຽກທີ່ເຮັດຊ້ຳໆໃຫ້ກາຍເປັນທັກສະ. ອ້າງອີງດ້ວຍ / ໃນ Prompt. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
+ "agentDetail.configure.skills.richTip": "ລວມຄຳແນະນຳ, ໄຟລ໌ ແລະ ສະຄຣິບສຳລັບວຽກທີ່ເຮັດຊ້ຳໆໃຫ້ກາຍເປັນທັກສະ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
+ "agentDetail.configure.skills.tip": "ລວມຄຳແນະນຳ, ໄຟລ໌ ແລະ ສະຄຣິບສຳລັບວຽກທີ່ເຮັດຊ້ຳໆໃຫ້ກາຍເປັນທັກສະ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nໃນໂໝດສ້າງ, ຕົວແທນສາມາດຕັ້ງຄ່າເຫຼົ່ານີ້ໃຫ້ທ່ານໄດ້.",
"agentDetail.configure.skills.toggle": "ເປີດ/ປິດ ທັກສະ",
"agentDetail.configure.skills.upload.action": "ອັບໂຫຼດ",
"agentDetail.configure.skills.upload.browse": "ເລືອກໄຟລ໌",
@@ -260,8 +262,8 @@
"agentDetail.configure.tools.moreActions": "ການດຳເນີນການເພີ່ມເຕີມສຳລັບ {{name}}",
"agentDetail.configure.tools.removeAction": "ລຶບ {{name}} ອອກ",
"agentDetail.configure.tools.removeProvider": "ລຶບເຄື່ອງມືທັງໝົດ",
- "agentDetail.configure.tools.richTip": "ເພີ່ມເຄື່ອງມື Dify ຈາກພື້ນທີ່ເຮັດວຽກຂອງທ່ານ. ອ້າງອີງດ້ວຍ / ໃນ Prompt. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nເຄື່ອງມືທີ່ຕົວແທນຕິດຕັ້ງໃນແຊນບ໋ອກຊ໌ຈະບໍ່ປາກົດຢູ່ນີ້ ແຕ່ຍັງສາມາດໃຊ້ງານໄດ້.",
- "agentDetail.configure.tools.tip": "ເພີ່ມເຄື່ອງມື Dify ຈາກພື້ນທີ່ເຮັດວຽກຂອງທ່ານ. ອ້າງອີງດ້ວຍ / ໃນ Prompt. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nເຄື່ອງມືທີ່ຕົວແທນຕິດຕັ້ງໃນແຊນບ໋ອກຊ໌ຈະບໍ່ປາກົດຢູ່ນີ້ ແຕ່ຍັງສາມາດໃຊ້ງານໄດ້.",
+ "agentDetail.configure.tools.richTip": "ເພີ່ມເຄື່ອງມື Dify ຈາກພື້ນທີ່ເຮັດວຽກຂອງທ່ານ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nເຄື່ອງມືທີ່ຕົວແທນຕິດຕັ້ງໃນແຊນບ໋ອກຊ໌ຈະບໍ່ປາກົດຢູ່ນີ້ ແຕ່ຍັງສາມາດໃຊ້ງານໄດ້.",
+ "agentDetail.configure.tools.tip": "ເພີ່ມເຄື່ອງມື Dify ຈາກພື້ນທີ່ເຮັດວຽກຂອງທ່ານ. ຮຽນຮູ້ເພີ່ມເຕີມ\n\nເຄື່ອງມືທີ່ຕົວແທນຕິດຕັ້ງໃນແຊນບ໋ອກຊ໌ຈະບໍ່ປາກົດຢູ່ນີ້ ແຕ່ຍັງສາມາດໃຊ້ງານໄດ້.",
"agentDetail.configure.tools.toggle": "ເປີດ/ປິດ ເຄື່ອງມື",
"agentDetail.configure.tools.toolTabs.all": "ທັງໝົດ",
"agentDetail.configure.tools.toolTabs.cli": "CLI",
@@ -327,22 +329,22 @@
"agentDetail.metadata.sourceLabel": "ແຫຼ່ງທີ່ມາ",
"agentDetail.monitoring.change": "{{value}} ຈາກໄລຍະຜ່ານມາ",
"agentDetail.monitoring.dateRangeLabel": "ໄລຍະວັນທີ",
- "agentDetail.monitoring.description": "ຕິດຕາມການເຄື່ອນໄຫວຂອງຕົວແທນ, ຄ່າໃຊ້ຈ່າຍ ແລະ ຄຸນນະພາບການໂຕ້ຕອບໃນທົ່ວເວີກໂຟລ.",
+ "agentDetail.monitoring.description": "ຕິດຕາມກິດຈະກຳ, ຄ່າໃຊ້ຈ່າຍ ແລະ ຄຸນນະພາບການໂຕ້ຕອບຂອງຕົວແທນນີ້ຜ່ານທຸກຈຸດເຂົ້າເຖິງ.",
"agentDetail.monitoring.learnMore": "ຮຽນຮູ້ເພີ່ມເຕີມ",
"agentDetail.monitoring.loadFailed": "ໂຫຼດຂໍ້ມູນການຕິດຕາມບໍ່ສຳເລັດ",
- "agentDetail.monitoring.metrics.activeUsers.explanation": "ຜູ້ໃຊ້ປາຍທາງທີ່ບໍ່ຊ້ຳກັນທີ່ກະຕຸ້ນເວີກໂຟລໂດຍໃຊ້ຕົວແທນນີ້.",
+ "agentDetail.monitoring.metrics.activeUsers.explanation": "ຈຳນວນຜູ້ໃຊ້ປາຍທາງທີ່ບໍ່ຊ້ຳກັນທີ່ໄດ້ໂຕ້ຕອບກັບຕົວແທນນີ້.",
"agentDetail.monitoring.metrics.activeUsers.title": "ຜູ້ໃຊ້ທີ່ເຄື່ອນໄຫວ",
- "agentDetail.monitoring.metrics.avgSessionInteractions.explanation": "ຈຳນວນການໂຕ້ຕອບລະຫວ່າງຜູ້ໃຊ້ ແລະ ຕົວແທນໂດຍສະເລ່ຍສຳລັບຈຸດເຂົ້າເຖິງນີ້.",
+ "agentDetail.monitoring.metrics.avgSessionInteractions.explanation": "ຈຳນວນຂໍ້ຄວາມຈາກຜູ້ໃຊ້ໂດຍສະເລ່ຍຕໍ່ໜຶ່ງການສົນທະນາ.",
"agentDetail.monitoring.metrics.avgSessionInteractions.title": "ສະເລ່ຍການໂຕ້ຕອບຕໍ່ເຊດຊັນ",
- "agentDetail.monitoring.metrics.tokenOutputSpeed.explanation": "ຄວາມໄວໃນການສົ່ງອອກໂທເຄັນສະເລ່ຍ ຕັ້ງແຕ່ເລີ່ມຄຳຮ້ອງຈົນຈົບ.",
+ "agentDetail.monitoring.metrics.tokenOutputSpeed.explanation": "ຈຳນວນໂທເຄັນໂດຍສະເລ່ຍທີ່ສ້າງຂຶ້ນຕໍ່ວິນາທີໃນຂະນະທີ່ຕົວແທນຕອບ.",
"agentDetail.monitoring.metrics.tokenOutputSpeed.title": "ຄວາມໄວການສົ່ງອອກ Token",
- "agentDetail.monitoring.metrics.tokenUsage.explanation": "ການຄາດຄະເນຄ່າໃຊ້ຈ່າຍໂທເຄັນທີ່ຜະລິດໂດຍຕົວແທນນີ້ໃນທົ່ວເວີກໂຟລ.",
+ "agentDetail.monitoring.metrics.tokenUsage.explanation": "ຈຳນວນໂທເຄັນທີ່ໃຊ້ໄປ ແລະ ຄ່າໃຊ້ຈ່າຍໂດຍປະມານ.",
"agentDetail.monitoring.metrics.tokenUsage.title": "ການໃຊ້ Token",
"agentDetail.monitoring.metrics.totalConversations.explanation": "ຈຳນວນການສົນທະນາ AI ປະຈຳວັນທີ່ເຂົ້າເຖິງຕົວແທນນີ້ຜ່ານຈຸດເຂົ້າເຖິງທີ່ເລືອກ.",
"agentDetail.monitoring.metrics.totalConversations.title": "ການສົນທະນາທັງໝົດ",
- "agentDetail.monitoring.metrics.totalMessages.explanation": "ຈຳນວນການໂຕ້ຕອບຂອງຕົວແທນປະຈຳວັນ.",
+ "agentDetail.monitoring.metrics.totalMessages.explanation": "ຈຳນວນຂໍ້ຄວາມທັງໝົດທີ່ຜູ້ໃຊ້ສົ່ງຫາຕົວແທນນີ້.",
"agentDetail.monitoring.metrics.totalMessages.title": "ຂໍ້ຄວາມທັງໝົດ",
- "agentDetail.monitoring.metrics.userSatisfactionRate.explanation": "ຈຳນວນການກົດຖືກໃຈ (likes) ຕໍ່ 1,000 ຂໍ້ຄວາມສຳລັບຕົວແທນນີ້.",
+ "agentDetail.monitoring.metrics.userSatisfactionRate.explanation": "ເປີເຊັນຂອງຄຳຕອບຈາກຕົວແທນທີ່ຜູ້ໃຊ້ໃຫ້ຄະແນນດ້ວຍການກົດຖືກໃຈ.",
"agentDetail.monitoring.metrics.userSatisfactionRate.title": "ອັດຕາຄວາມພໍໃຈຂອງຜູ້ໃຊ້",
"agentDetail.monitoring.pickSource": "ເລືອກແອັບ",
"agentDetail.monitoring.sourceLabel": "ແອັບ",
diff --git a/web/i18n/lo-LA/app.json b/web/i18n/lo-LA/app.json
index 79dac86c9ad..f12046cd39c 100644
--- a/web/i18n/lo-LA/app.json
+++ b/web/i18n/lo-LA/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "ເລືອກແອັບທີ່ພ້ອມໃຊ້ງານ ແລະ ປັບແຕ່ງຕາມໃຈ. ວິທີທີ່ໄວທີ່ສຸດໃນການເບິ່ງການເຮັດວຽກຂອງ Dify.",
"firstEmpty.title": "ສ້າງແອັບທຳອິດຂອງທ່ານ",
"gotoAnything.actions.accountDesc": "ໄປທີ່ໜ້າບັນຊີ",
- "gotoAnything.actions.communityDesc": "ເປີດຊຸມຊົນ Discord",
"gotoAnything.actions.createAuto": "ອັດຕະໂນມັດ",
"gotoAnything.actions.createAutoDesc": "ໃຫ້ AI ເລືອກ Workflow ຫຼື Chatflow ຈາກຄຳອະທິບາຍຂອງທ່ານ",
"gotoAnything.actions.createCategoryDesc": "ສ້າງ Workflow ຫຼື Chatflow ທີ່ສ້າງໂດຍ AI",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "ສ້າງແອັບ Chatflow (ການສົນທະນາຂັ້ນສູງ) ຈາກຄຳອະທິບາຍ",
"gotoAnything.actions.createWorkflow": "Workflow",
"gotoAnything.actions.createWorkflowDesc": "ສ້າງແອັບ Workflow ຈາກຄຳອະທິບາຍ",
+ "gotoAnything.actions.discordDesc": "ເປີດຊຸມຊົນ Discord",
"gotoAnything.actions.docDesc": "ເປີດເອກະສານຊ່ວຍເຫຼືອ",
- "gotoAnything.actions.feedbackDesc": "ເປີດການສົນທະນາເພື່ອແລກປ່ຽນຄຳຄິດເຫັນກັບຊຸມຊົນ",
"gotoAnything.actions.languageChangeDesc": "ປ່ຽນພາສາຂອງລະບົບ",
"gotoAnything.actions.refineCategoryDesc": "ປັບປຸງກຣາຟ Workflow ຫຼື Chatflow ປະຈຸບັນ",
"gotoAnything.actions.refineDesc": "ອະທິບາຍການປ່ຽນແປງທີ່ຈະນຳໃຊ້ກັບຮ່າງປະຈຸບັນ",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "ຄຳສັ່ງ",
"gotoAnything.groups.knowledgeBases": "ຄັງຄວາມຮູ້",
"gotoAnything.groups.plugins": "ການເຊື່ອມຕໍ່",
- "gotoAnything.groups.recent": "ຫວ່າງໆນີ້",
"gotoAnything.groups.workflowNodes": "ໂນດໃນ Workflow",
"gotoAnything.inScope": "ໃນ {{scope}}",
"gotoAnything.noMatchingCommands": "ບໍ່ພົບຄຳສັ່ງທີ່ກົງກັນ",
diff --git a/web/i18n/lo-LA/skill.json b/web/i18n/lo-LA/skill.json
new file mode 100644
index 00000000000..191bee70450
--- /dev/null
+++ b/web/i18n/lo-LA/skill.json
@@ -0,0 +1,245 @@
+{
+ "skillManagement.clearTags": "ລຶບແທັກ",
+ "skillManagement.create": "ສ້າງ",
+ "skillManagement.createFailed": "ລົ້ມເຫລວໃນການສ້າງທັກສະ.",
+ "skillManagement.createSuccess": "ສ້າງຮ່າງ.",
+ "skillManagement.dateTimeFormat": "MMM D, YYYY HH:mm",
+ "skillManagement.deleteDialog.confirmInputLabel": "ເພື່ອຢືນຢັນ, ພິມ {{skillName}} ໃນປ່ອງຂ້າງລຸ່ມນີ້:",
+ "skillManagement.deleteDialog.confirmInputPlaceholder": "ໃສ່ຊື່ສະແດງທັກສະ",
+ "skillManagement.deleteDialog.description": "ການລຶບທັກສະແມ່ນບໍ່ສາມາດປີ້ນກັບກັນໄດ້. ເນື້ອຫາ ແລະປະຫວັດສະບັບເຕັມຂອງມັນຈະຖືກລຶບຢ່າງຖາວອນ. ບໍ່ມີຕົວແທນໃດກຳລັງໃຊ້ມັນຢູ່.",
+ "skillManagement.deleteDialog.referencedDescription_one": "ຕົວແທນ {{count}} ກໍາລັງໃຊ້ທັກສະນີ້, ບໍ່ວ່າຈະເປັນເອກະລາດຫຼືໃນຂະບວນການເຮັດວຽກ. ການລຶບທັກສະນີ້ຈະລຶບເນື້ອຫາ ແລະປະຫວັດເວີຊັນຂອງມັນຢ່າງຖາວອນ ແລະລຶບມັນອອກຈາກຕົວແທນທີ່ໄດ້ຮັບຜົນກະທົບ.",
+ "skillManagement.deleteDialog.referencedDescription_other": "ຕົວແທນ {{count}} ກໍາລັງໃຊ້ທັກສະນີ້, ບໍ່ວ່າຈະເປັນເອກະລາດຫຼືໃນຂະບວນການເຮັດວຽກ. ການລຶບທັກສະນີ້ຈະລຶບເນື້ອຫາ ແລະປະຫວັດເວີຊັນຂອງມັນຢ່າງຖາວອນ ແລະລຶບມັນອອກຈາກຕົວແທນທີ່ໄດ້ຮັບຜົນກະທົບທັງໝົດ.",
+ "skillManagement.deleteDialog.title": "ລຶບ {{name}} ບໍ?",
+ "skillManagement.deleteFailed": "ລຶບທັກສະບໍ່ສຳເລັດ.",
+ "skillManagement.deleteSuccess": "Skill ຖືກລຶບແລ້ວ.",
+ "skillManagement.detail.addMetadata": "ເພີ່ມ metadata",
+ "skillManagement.detail.addMetadataDescription": "ເພີ່ມຊ່ອງຂໍ້ມູນດ້ານໜ້າໃສ່ໄຟລ໌ Markdown ນີ້.",
+ "skillManagement.detail.addTag": "ເພີ່ມແທັກ",
+ "skillManagement.detail.addTagDescription": "ສ້າງ ຫຼືຜູກມັດແທັກກັບ Skill ນີ້. ແທັກໃໝ່ຖືກບັນທຶກດ້ວຍເມຕາເດຕາ Skill.",
+ "skillManagement.detail.addTagSuccess": "ເພີ່ມແທັກແລ້ວ.",
+ "skillManagement.detail.back": "ກັບໄປທີ່ Skills",
+ "skillManagement.detail.builder.applyFailed": "ນຳໃຊ້ການອັບເດດສະບັບຮ່າງບໍ່ສຳເລັດ.",
+ "skillManagement.detail.builder.attach": "ແນບໄຟລ໌",
+ "skillManagement.detail.builder.attachFailed": "ລົ້ມເຫລວໃນການແນບໄຟລ໌.",
+ "skillManagement.detail.builder.attachLimit": "ທ່ານສາມາດແນບໄດ້ເຖິງ 10 ໄຟລ໌.",
+ "skillManagement.detail.builder.attachTooLarge": "ໄຟລ໌ຕ້ອງມີຂະໜາດ 15 MB ຫຼືນ້ອຍກວ່າ. ຮູບພາບຕ້ອງມີຂະໜາດ 10 MB ຫຼືນ້ອຍກວ່າ.",
+ "skillManagement.detail.builder.attachUnsupported": "ມີພຽງແຕ່ຮູບພາບ, ຂໍ້ຄວາມ, ແລະໄຟລ໌ເອກະສານທີ່ສາມາດຕິດໄດ້.",
+ "skillManagement.detail.builder.attachmentOnlyMessage": "ໃຊ້ໄຟລ໌ທີ່ຕິດຄັດມາເພື່ອຊ່ວຍປັບປຸງທັກສະນີ້.",
+ "skillManagement.detail.builder.close": "ປິດ Skill Builder",
+ "skillManagement.detail.builder.compatibleModelsOnly": "ສະແດງສະເພາະໂມເດວທີ່ເຂົ້າກັນໄດ້ເທົ່ານັ້ນ",
+ "skillManagement.detail.builder.copyResponse": "ສຳເນົາຄຳຕອບ",
+ "skillManagement.detail.builder.copySuccess": "ສຳເນົາຄຳຕອບໄປໃສ່ຄລິບບອດແລ້ວ.",
+ "skillManagement.detail.builder.editIntro": "ຂ້ອຍໄດ້ທົບທວນທັກສະນີ້. ເຈົ້າຢາກປັບຫຍັງ?",
+ "skillManagement.detail.builder.exampleIssueTriage": "ບັນຫາລູກຄ້າ triage",
+ "skillManagement.detail.builder.exampleOnboarding": "ຄູ່ມືການຈ້າງຄົນໃຫມ່",
+ "skillManagement.detail.builder.exampleSalesFollowUp": "ຍຸດທະສາດການຕິດຕາມການນໍາພາການຂາຍ",
+ "skillManagement.detail.builder.followUpDisplayName": "ໃຊ້ການອະນຸມັດການຄືນເງິນເປັນຊື່ສະແດງ",
+ "skillManagement.detail.builder.followUpNameIcon": "ນຳໃຊ້ຊື່ ແລະໄອຄອນທີ່ແນະນຳ",
+ "skillManagement.detail.builder.fromMarketplace": "ຈາກຕະຫຼາດແອັບ",
+ "skillManagement.detail.builder.model": "GPT-4o",
+ "skillManagement.detail.builder.modelCredits.all": "ສິນເຊື່ອທັງໝົດ",
+ "skillManagement.detail.builder.modelCredits.configure": "ຕ້ອງຕັ້ງຄ່າກ່ອນ",
+ "skillManagement.detail.builder.modelCredits.exhausted": "ເຄຣດິດໝົດແລ້ວ",
+ "skillManagement.detail.builder.modelProviderSettings": "ການຕັ້ງຄ່າຜູ້ໃຫ້ບໍລິການໂມເດວ",
+ "skillManagement.detail.builder.modelSearch": "ຄົ້ນຫາໂມເດວ...",
+ "skillManagement.detail.builder.modifyPlaceholder": "ຂໍໃຫ້ AI ແກ້ໄຂທັກສະນີ້ ...",
+ "skillManagement.detail.builder.open": "ເປີດ Skill Builder",
+ "skillManagement.detail.builder.placeholder": "ອະທິບາຍສະຖານະການ...",
+ "skillManagement.detail.builder.progress.applyingChanges": "ກຳລັງນຳໃຊ້ການປ່ຽນແປງໄຟລ໌",
+ "skillManagement.detail.builder.progress.generatingPlan": "ກຳລັງສ້າງແຜນອັບເດດ",
+ "skillManagement.detail.builder.progress.readingDraft": "ການອ່ານຮ່າງປະຈຸບັນ",
+ "skillManagement.detail.builder.progress.updatingEditor": "ການປັບປຸງບັນນາທິການ",
+ "skillManagement.detail.builder.promptDescription": "ອະທິບາຍມັນແລະຮ່າງຈະປາກົດຢູ່ໃນບັນນາທິການ, ມີຂັ້ນຕອນແລະໄຟລ໌ລວມ.",
+ "skillManagement.detail.builder.promptTitle": "ທັກສະນີ້ຄວນຈັດການກັບຫຍັງ?",
+ "skillManagement.detail.builder.readAloud": "ອ່ານຄຳຕອບດັງໆ",
+ "skillManagement.detail.builder.removeAttachment": "ລຶບ {{name}} ອອກ",
+ "skillManagement.detail.builder.restart": "restart builder",
+ "skillManagement.detail.builder.retryResponse": "ລອງຕອບຄືນ",
+ "skillManagement.detail.builder.send": "ສົ່ງຂໍ້ຄວາມ",
+ "skillManagement.detail.builder.sendFailed": "Skill Builder ລົ້ມເຫລວໃນການຕອບສະໜອງ.",
+ "skillManagement.detail.builder.thinking": "ກຳລັງຄິດ",
+ "skillManagement.detail.builder.thinkingUnavailable": "ບໍ່ມີເນື້ອຫາຄິດຖືກສົ່ງຄືນໂດຍຕົວແບບ.",
+ "skillManagement.detail.builder.title": "Skill Builder",
+ "skillManagement.detail.builder.tryExample": "ລອງຕົວຢ່າງ",
+ "skillManagement.detail.builder.voice": "ການປ້ອນຂໍ້ມູນດ້ວຍສຽງ",
+ "skillManagement.detail.builder.voiceUnavailable": "ການປ້ອນຂໍ້ມູນດ້ວຍສຽງຍັງບໍ່ສາມາດໃຊ້ໄດ້ເທື່ອ.",
+ "skillManagement.detail.cancelAddMetadata": "ຍົກເລີກການເພີ່ມ metadata",
+ "skillManagement.detail.closeFileTab": "ປິດ {{name}}",
+ "skillManagement.detail.closeVersions": "ປິດສະບັບ",
+ "skillManagement.detail.collapseSidebar": "ຫຍໍ້ແຖບດ້ານຂ້າງ",
+ "skillManagement.detail.copyContentSuccess": "ສຳເນົາເນື້ອຫາໃສ່ຄລິບບອດແລ້ວ.",
+ "skillManagement.detail.copyFile": "ສຳເນົາ",
+ "skillManagement.detail.copyFileSuccess": "ໄຟລ໌ພ້ອມທີ່ຈະວາງ.",
+ "skillManagement.detail.copyVersionId": "ກັອບປີ້ໄອດີ",
+ "skillManagement.detail.copyVersionIdSuccess": "ສຳເນົາ ID ໄປໃສ່ຄລິບບອດແລ້ວ.",
+ "skillManagement.detail.createFile": "ໄຟລ໌ໃຫມ່",
+ "skillManagement.detail.createFileDescription": "ໃສ່ເສັ້ນທາງໄຟລ໌ທີ່ກ່ຽວຂ້ອງກັບຮາກທັກສະ.",
+ "skillManagement.detail.createFileMenu": "ໄຟລ໌ໃໝ່...",
+ "skillManagement.detail.createFileSuccess": "ສ້າງໄຟລ໌.",
+ "skillManagement.detail.createFolder": "ໂຟນເດີໃໝ່",
+ "skillManagement.detail.createFolderDescription": "ໃສ່ເສັ້ນທາງໂຟນເດີທີ່ກ່ຽວຂ້ອງກັບຮາກທັກສະ.",
+ "skillManagement.detail.createFolderMenu": "ໂຟນເດີໃໝ່...",
+ "skillManagement.detail.createFolderSuccess": "ສ້າງໂຟນເດີແລ້ວ.",
+ "skillManagement.detail.createdBy": "ສ້າງໂດຍ {{name}}",
+ "skillManagement.detail.currentDraft": "ຮ່າງປະຈຸບັນ",
+ "skillManagement.detail.cutFile": "ຕັດ",
+ "skillManagement.detail.cutFileSuccess": "ໄຟລ໌ພ້ອມທີ່ຈະຍ້າຍ.",
+ "skillManagement.detail.deleteFileConfirm": "ລຶບໄຟລ໌ນີ້ບໍ?",
+ "skillManagement.detail.deleteFileSuccess": "ລຶບໄຟລ໌ແລ້ວ.",
+ "skillManagement.detail.deleteVersionConfirm": "ລຶບເວີຊັນນີ້ບໍ?",
+ "skillManagement.detail.deleteVersionFailed": "ລົ້ມເຫລວໃນການລຶບເວີຊັນ.",
+ "skillManagement.detail.deleteVersionSuccess": "ເວີຊັນຖືກລຶບ.",
+ "skillManagement.detail.downloadFile": "ດາວໂຫຼດໄຟລ໌",
+ "skillManagement.detail.draft": "ສະບັບຮ່າງ",
+ "skillManagement.detail.editVersionInfo": "ແກ້ໄຂຂໍ້ມູນເວີຊັນ",
+ "skillManagement.detail.exitVersions": "ອອກຈາກໜ້າເວີຊັນ",
+ "skillManagement.detail.expandSidebar": "ຂະຫຍາຍແຖບດ້ານຂ້າງ",
+ "skillManagement.detail.fileAlreadyExists": "ໄຟລ໌ ຫຼືໂຟນເດີທີ່ມີຊື່ນີ້ມີຢູ່ແລ້ວ.",
+ "skillManagement.detail.fileCount_one": "ໄຟລ໌ {{count}}",
+ "skillManagement.detail.fileCount_other": "ໄຟລ໌ {{count}}",
+ "skillManagement.detail.fileMeta": "{{type}} · {{size}} bytes",
+ "skillManagement.detail.fileMissing": "ບໍ່ພົບໄຟລ໌.",
+ "skillManagement.detail.fileOperationFailed": "ການດໍາເນີນງານໄຟລ໌ລົ້ມເຫລວ.",
+ "skillManagement.detail.files": "ໄຟລ໌",
+ "skillManagement.detail.latest": "ຫຼ້າສຸດ",
+ "skillManagement.detail.loadFailed": "ໂຫຼດທັກສະບໍ່ສຳເລັດ.",
+ "skillManagement.detail.loadingTags": "ກຳລັງໂຫລດແທັກ...",
+ "skillManagement.detail.markdownLiveMode": "ຕົວຢ່າງສົດ",
+ "skillManagement.detail.markdownSourceMode": "ບັນນາທິການແຫຼ່ງ",
+ "skillManagement.detail.metadataKey": "ຊື່",
+ "skillManagement.detail.metadataValue": "ຄ່າ",
+ "skillManagement.detail.moveFileSuccess": "ຍ້າຍໄຟລ໌.",
+ "skillManagement.detail.moveFilesSuccess": "ຍ້າຍໄຟລ໌.",
+ "skillManagement.detail.nameThisVersion": "ຕັ້ງຊື່ເວີຊັນນີ້",
+ "skillManagement.detail.noFileSelected": "ເລືອກໄຟລ໌ເພື່ອສະແດງຕົວຢ່າງ.",
+ "skillManagement.detail.noFiles": "ບໍ່ມີໄຟລ໌.",
+ "skillManagement.detail.noSearchResults": "ບໍ່ມີໄຟລ໌ທີ່ກົງກັນ.",
+ "skillManagement.detail.noSelectableTags": "ບໍ່ມີແທັກທີ່ມີຢູ່.",
+ "skillManagement.detail.noVersions": "ບໍ່ມີສະບັບພິມເຜີຍແຜ່ເທື່ອ.",
+ "skillManagement.detail.pasteFile": "ວາງ",
+ "skillManagement.detail.pasteFileSuccess": "ວາງໄຟລ໌ແລ້ວ.",
+ "skillManagement.detail.previewUnsupported": "ບໍ່ຮອງຮັບການເບິ່ງຕົວຢ່າງສຳລັບໄຟລ໌ນີ້.",
+ "skillManagement.detail.publish": "ເຜີຍແຜ່",
+ "skillManagement.detail.publishFailed": "ເຜີຍແຜ່ທັກສະບໍ່ສຳເລັດ.",
+ "skillManagement.detail.publishReferencesDescription_one": "ການເຜີຍແຜ່ມີຜົນທັນທີສໍາລັບຕົວແທນ {{count}} ໂດຍໃຊ້ທັກສະນີ້.",
+ "skillManagement.detail.publishReferencesDescription_other": "ການເຜີຍແຜ່ມີຜົນທັນທີສໍາລັບຕົວແທນ {{count}} ທີ່ໃຊ້ທັກສະນີ້.",
+ "skillManagement.detail.publishReferencesTitle": "ເຜີຍແຜ່ທັກສະ",
+ "skillManagement.detail.publishSuccess": "Skill ຈັດພີມມາ.",
+ "skillManagement.detail.publishUpdate": "ເຜີຍແຜ່ການອັບເດດ",
+ "skillManagement.detail.published": "ເຜີຍແຜ່ແລ້ວ",
+ "skillManagement.detail.publishedAt": "ເຜີຍແຜ່ເມື່ອ {{time}}",
+ "skillManagement.detail.publishedVersion": "ເຜີຍແຜ່ #{{number}}",
+ "skillManagement.detail.publishing": "ກຳລັງເຜີຍແຜ່...",
+ "skillManagement.detail.readonly": "ອ່ານເທົ່ານັ້ນ",
+ "skillManagement.detail.referenceFiles.confirm": "ໃສ່ຢືນຢັນ",
+ "skillManagement.detail.referenceFiles.empty": "ບໍ່ມີໄຟລ໌ທີ່ມີຢູ່.",
+ "skillManagement.detail.referenceFiles.livePlaceholder": "ຂຽນຄໍາແນະນໍາສໍາລັບຕົວແທນ. ພິມ / ເພື່ອອ້າງອີງໄຟລ໌.",
+ "skillManagement.detail.referenceFiles.navigate": "↑↓ ນຳທາງ",
+ "skillManagement.detail.referenceFiles.title": "ໄຟລ໌ອ້າງອີງ",
+ "skillManagement.detail.referencedBy_one": "ໃຊ້ໂດຍ {{count}} ຕົວແທນ",
+ "skillManagement.detail.referencedBy_other": "ໃຊ້ໂດຍ {{count}} ຕົວແທນ",
+ "skillManagement.detail.removeMetadata": "ລຶບຂໍ້ມູນເມຕາເດຕາ {{name}}",
+ "skillManagement.detail.removeTag": "ເອົາ {{tag}} ອອກ",
+ "skillManagement.detail.removeTagSuccess": "ລຶບແທັກອອກ.",
+ "skillManagement.detail.renameFile": "ປ່ຽນຊື່ໄຟລ໌",
+ "skillManagement.detail.renameFileDescription": "ເຂົ້າໄປໃນເສັ້ນທາງໃຫມ່ທີ່ກ່ຽວຂ້ອງກັບຮາກທັກສະ.",
+ "skillManagement.detail.renameFileSuccess": "ປ່ຽນຊື່ໄຟລ໌ແລ້ວ.",
+ "skillManagement.detail.renameSkillSuccess": "Skill ປ່ຽນຊື່ແລ້ວ.",
+ "skillManagement.detail.renameVersion": "ປ່ຽນຊື່",
+ "skillManagement.detail.renameVersionFailed": "ປ່ຽນຊື່ເວີຊັນບໍ່ສຳເລັດ.",
+ "skillManagement.detail.renameVersionPrompt": "ຊື່ເວີຊັນ",
+ "skillManagement.detail.renameVersionSuccess": "ລຸ້ນປ່ຽນຊື່ແລ້ວ.",
+ "skillManagement.detail.resizeSidebar": "ປັບຂະໜາດແຖບດ້ານຂ້າງຂອງໄຟລ໌",
+ "skillManagement.detail.restoreVersion": "ຄືນຄ່າ (Restore)",
+ "skillManagement.detail.restoreVersionConfirmDescription": "ນີ້ຈະປ່ຽນແທນສະບັບຮ່າງປະຈຸບັນດ້ວຍໄຟລ໌ຈາກ \"{{version}}\". ມັນຈະບໍ່ເຜີຍແຜ່ Skill ຫຼືສ້າງສະບັບໃຫມ່.",
+ "skillManagement.detail.restoreVersionConfirmTitle": "ກູ້ຄືນເວີຊັນນີ້ບໍ?",
+ "skillManagement.detail.restoreVersionFailed": "ກູ້ເວີຊັນຄືນມາບໍ່ສຳເລັດ.",
+ "skillManagement.detail.restoreVersionSuccess": "ກູ້ເວີຊັນເປັນສະບັບຮ່າງແລ້ວ.",
+ "skillManagement.detail.save": "ບັນທຶກ",
+ "skillManagement.detail.saveConflictConfirmDescription": "ທັກສະນີ້ໄດ້ຖືກປັບປຸງຢູ່ບ່ອນອື່ນ. ໂຫຼດສະບັບຮ່າງຫຼ້າສຸດເພື່ອສືບຕໍ່ການແກ້ໄຂ. ການປ່ຽນແປງປັດຈຸບັນຂອງເຈົ້າຈະຖືກຍົກເລີກ.",
+ "skillManagement.detail.saveConflictConfirmTitle": "ໂຫຼດສະບັບຮ່າງຫຼ້າສຸດບໍ?",
+ "skillManagement.detail.saveConflictReload": "ໂຫຼດສະບັບຮ່າງຫຼ້າສຸດ",
+ "skillManagement.detail.saveConflictStatus": "ກວດພົບການຂັດແຍ້ງ. ໂຫຼດສະບັບຮ່າງຫຼ້າສຸດເພື່ອສືບຕໍ່ການແກ້ໄຂ.",
+ "skillManagement.detail.saveFailed": "ລົ້ມເຫລວໃນການບັນທຶກໄຟລ໌.",
+ "skillManagement.detail.saveSuccess": "ບັນທຶກໄຟລ໌ແລ້ວ.",
+ "skillManagement.detail.saved": "ບັນທຶກແລ້ວ",
+ "skillManagement.detail.savedAt": "ບັນທຶກເມື່ອ {{time}}",
+ "skillManagement.detail.saving": "ກຳລັງບັນທຶກ...",
+ "skillManagement.detail.searchFiles": "ຊອກຫາໄຟລ໌",
+ "skillManagement.detail.showMoreReferences": "ສະແດງ {{count}} ເພີ່ມເຕີມ",
+ "skillManagement.detail.skillDescriptionPlaceholder": "ອະທິບາຍສິ່ງທີ່ທັກສະນີ້ເຮັດ ແລະເວລາທີ່ຕົວແທນຄວນໃຊ້ມັນ.",
+ "skillManagement.detail.skillNamePlaceholder": "ໃຊ້ຕົວພິມນ້ອຍ, ຕົວເລກ, ແລະຍັບຍັ້ງ.",
+ "skillManagement.detail.unpublishedChanges": "ການປ່ຽນແປງທີ່ຍັງບໍ່ໄດ້ເຜີຍແຜ່",
+ "skillManagement.detail.unsavedChanges": "ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄວ້",
+ "skillManagement.detail.upToDate": "ເປັນເວີຊັນຫຼ້າສຸດແລ້ວ",
+ "skillManagement.detail.updateTagsFailed": "ອັບເດດແທັກບໍ່ສຳເລັດ.",
+ "skillManagement.detail.uploadCheckFailed": "ບໍ່ສາມາດກວດສອບໄຟລ໌ເຫຼົ່ານີ້ໄດ້. ລອງອີກຄັ້ງ.",
+ "skillManagement.detail.uploadConflict": "ໄຟລ໌ທີ່ມີຊື່ນີ້ມີຢູ່ແລ້ວ.",
+ "skillManagement.detail.uploadFailureSummary": "ໄຟລ໌ {{failed}} ຂອງ {{total}} ລົ້ມເຫລວ",
+ "skillManagement.detail.uploadFailureTitle": "ການອັບໂຫລດບາງອັນລົ້ມເຫລວ",
+ "skillManagement.detail.uploadFile": "ອັບໂຫຼດໄຟລ໌",
+ "skillManagement.detail.uploadFileFailed": "ການອັບໂຫລດໄຟລ໌ລົ້ມເຫລວ.",
+ "skillManagement.detail.uploadFileSuccess": "ອັບໂຫຼດໄຟລ໌ສຳເລັດ.",
+ "skillManagement.detail.uploadFilesButton": "ອັບໂຫຼດໄຟລ໌ {{count}}",
+ "skillManagement.detail.uploadFilesFailedStatus_one": "ການອັບໂຫລດໄຟລ໌ {{count}} ລົ້ມເຫລວ.",
+ "skillManagement.detail.uploadFilesFailedStatus_other": "ການອັບໂຫລດໄຟລ໌ {{count}} ລົ້ມເຫລວ.",
+ "skillManagement.detail.uploadFilesMenu": "ອັບໂຫຼດໄຟລ໌...",
+ "skillManagement.detail.uploadFilesProgress": "ກຳລັງອັບໂຫລດ {{completed}}/{{total}}",
+ "skillManagement.detail.uploadFilesResult": "ອັບໂຫຼດ {{uploaded}} · {{failed}} ລົ້ມເຫລວ",
+ "skillManagement.detail.uploadFilesStatus": "ສະຖານະອັບໂຫຼດ",
+ "skillManagement.detail.uploadInvalidExtension": "ບໍ່ຮອງຮັບໄຟລ໌ປະເພດນີ້.",
+ "skillManagement.detail.uploadInvalidName": "ຊື່ບໍ່ຖືກຕ້ອງ.",
+ "skillManagement.detail.uploadInvalidPath": "ເສັ້ນທາງໄຟລ໌ບໍ່ຖືກຕ້ອງ.",
+ "skillManagement.detail.uploadKeepBoth": "ຮັກສາທັງສອງ",
+ "skillManagement.detail.uploadLateConflict": "ມີຄົນເພີ່ມໄຟລ໌ນີ້ໃນຂະນະທີ່ທ່ານກໍາລັງອັບໂຫລດ.",
+ "skillManagement.detail.uploadMissingExtension": "ຕ້ອງການນາມສະກຸນໄຟລ໌.",
+ "skillManagement.detail.uploadNetworkFailure": "ອັບໂຫຼດບໍ່ສຳເລັດ. ກວດເບິ່ງການເຊື່ອມຕໍ່ຂອງທ່ານ.",
+ "skillManagement.detail.uploadReadySummary": "{{ready}} ພ້ອມແລ້ວ · {{decisions}} ຕ້ອງການການຕັດສິນໃຈ · {{skipped}} ຈະຖືກຂ້າມ.",
+ "skillManagement.detail.uploadReplace": "ແທນທີ່",
+ "skillManagement.detail.uploadResolvedSummary": "{{ready}} ພ້ອມແລ້ວ · {{skipped}} ຈະຖືກຂ້າມ",
+ "skillManagement.detail.uploadRetryCount": "ລອງ {{count}} ໃໝ່",
+ "skillManagement.detail.uploadReviewTitle": "ກວດເບິ່ງກ່ອນທີ່ຈະອັບໂຫລດ",
+ "skillManagement.detail.uploadSkip": "ຂ້າມ",
+ "skillManagement.detail.uploadSkippedGroup": "ໄຟລ໌ {{count}} ບໍ່ສາມາດອັບໂຫລດໄດ້ ແລະຈະຖືກຂ້າມໄປ",
+ "skillManagement.detail.uploadStatusDismiss": "ປິດສະຖານະການອັບໂຫລດ",
+ "skillManagement.detail.uploadSuggestion": "ໃຊ້ຄໍາແນະນໍາ",
+ "skillManagement.detail.uploadWillReplace": "ຈະປ່ຽນແທນໄຟລ໌ທີ່ມີຢູ່ແລ້ວ",
+ "skillManagement.detail.uploadWillUseName": "ຈະອັບໂຫລດເປັນ {{name}}",
+ "skillManagement.detail.versionHistory": "ເປີດປະຫວັດເວີຊັນ",
+ "skillManagement.detail.versionMeta": "{{hash}} · {{time}}",
+ "skillManagement.detail.versionPublishNote": "ບັນທຶກການປ່ອຍ",
+ "skillManagement.detail.versionPublishNotePlaceholder": "ອະທິບາຍການປ່ຽນແປງນີ້",
+ "skillManagement.detail.versionPublishedMeta": "{{time}} · {{name}}",
+ "skillManagement.detail.versionTitle": "ຫົວຂໍ້",
+ "skillManagement.detail.versions": "ເວີຊັນຕ່າງໆ",
+ "skillManagement.detail.viewOnly": "ເບິ່ງເທົ່ານັ້ນ",
+ "skillManagement.detail.viewUploadErrors": "ເບິ່ງຂໍ້ຜິດພາດ",
+ "skillManagement.draft": "ສະບັບຮ່າງ",
+ "skillManagement.duplicateFailed": "ລົ້ມເຫລວໃນການຊໍ້າກັນທັກສະ.",
+ "skillManagement.duplicateSuccess": "Skill ຊໍ້າກັນ.",
+ "skillManagement.editedAt": "ແກ້ໄຂເມື່ອ {{time}}",
+ "skillManagement.empty": "ຍັງບໍ່ມີທັກສະເທື່ອ",
+ "skillManagement.emptyAction.createDescription": "ອະທິບາຍສະຖານະການເປັນຄໍາສັບທໍາມະດາແລະໄດ້ຮັບການຮ່າງຄວາມສາມາດໃນການທົບທວນຄືນ.",
+ "skillManagement.emptyAction.createTitle": "ສ້າງດ້ວຍ Skill Builder",
+ "skillManagement.emptyAction.importDescription": "ເອົາ .zip ກັບ SKILL.md, ໃນຮູບແບບ agentskills.io.",
+ "skillManagement.emptyAction.importTitle": "ນໍາເຂົ້າຊຸດທັກສະ",
+ "skillManagement.emptySearch": "ບໍ່ພົບທັກສະ",
+ "skillManagement.errors.missingSkillMd": "ຊຸດນີ້ບໍ່ມີ SKILL.md. ເພີ່ມໄຟລ໌ແລະນໍາເຂົ້າມັນອີກເທື່ອຫນຶ່ງ.",
+ "skillManagement.errors.nameConflict": "ທັກສະທີ່ມີຊື່ວ່າ \"{{name}}\" ມີຢູ່ແລ້ວ. ປ່ຽນຊື່ມັນຢູ່ໃນ SKILL.md ແລະນໍາເຂົ້າອີກເທື່ອຫນຶ່ງ.",
+ "skillManagement.errors.workspaceLimit": "ພື້ນທີ່ເຮັດວຽກຂອງທ່ານຮອດຂີດຈຳກັດຂອງ 500 ທັກສະແລ້ວ. ລຶບທັກສະເພື່ອເພີ່ມອັນໃໝ່.",
+ "skillManagement.import": "ນຳເຂົ້າ",
+ "skillManagement.importFailed": "ລົ້ມເຫລວໃນການນໍາເຂົ້າທັກສະ.",
+ "skillManagement.importSuccess": "Skill ນໍາເຂົ້າ.",
+ "skillManagement.listLabel": "ທັກສະພື້ນທີ່ເຮັດວຽກ",
+ "skillManagement.loadingError": "ລົ້ມເຫລວໃນການໂຫຼດທັກສະ",
+ "skillManagement.moreActions": "ການດຳເນີນການເພີ່ມເຕີມສຳລັບ {{name}}",
+ "skillManagement.noDescription": "ບໍ່ມີລາຍລະອຽດເທື່ອ",
+ "skillManagement.noTags": "ບໍ່ມີແທັກ",
+ "skillManagement.publishedAt": "ເຜີຍແຜ່ເມື່ອ {{time}}",
+ "skillManagement.referenceCount_one": "{{count}} ຕົວແທນ",
+ "skillManagement.referenceCount_other": "{{count}} ຕົວແທນ",
+ "skillManagement.searchLabel": "ຄົ້ນຫາທັກສະ",
+ "skillManagement.searchPlaceholder": "ຄົ້ນຫາໂດຍຊື່ຫຼືຄໍາອະທິບາຍ",
+ "skillManagement.tags": "ແທັກ",
+ "skillManagement.title": "ທັກສະ (Skills)"
+}
diff --git a/web/i18n/nl-NL/agent-v-2.json b/web/i18n/nl-NL/agent-v-2.json
index fd7b64253bc..7f1616dbe18 100644
--- a/web/i18n/nl-NL/agent-v-2.json
+++ b/web/i18n/nl-NL/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Voor referentiemateriaal dat te lang is om in de Prompt te plakken: specificaties, sjablonen, richtlijnen. Meer informatie\n\nIn de Build-modus kan de agent dit voor u instellen.",
+ "agentDetail.configure.prompt.richTip": "Bepaal de rol van de agent en hoe die moet werken. Meer informatie"
}
diff --git a/web/i18n/nl-NL/app.json b/web/i18n/nl-NL/app.json
index 5e7f724c23b..bbe0ae5eba8 100644
--- a/web/i18n/nl-NL/app.json
+++ b/web/i18n/nl-NL/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Begin met een vooraf gebouwde workflow. Handig om Dify en veelgebruikte patronen te leren.",
"firstEmpty.title": "Nog geen app",
"gotoAnything.actions.accountDesc": "Navigate to account page",
- "gotoAnything.actions.communityDesc": "Open Discord community",
"gotoAnything.actions.createAuto": "Automatisch",
"gotoAnything.actions.createAutoDesc": "Laat AI op basis van je beschrijving Workflow of Chatflow kiezen",
"gotoAnything.actions.createCategoryDesc": "Creëer een door AI gegenereerde workflow of chatflow",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Genereer een chatflow-app (geavanceerde chat) op basis van een beschrijving",
"gotoAnything.actions.createWorkflow": "Werkstroom",
"gotoAnything.actions.createWorkflowDesc": "Genereer een workflow-app op basis van een beschrijving",
+ "gotoAnything.actions.discordDesc": "Open Discord community",
"gotoAnything.actions.docDesc": "Open help documentation",
- "gotoAnything.actions.feedbackDesc": "Open community feedback discussions",
"gotoAnything.actions.languageChangeDesc": "Change UI language",
"gotoAnything.actions.refineCategoryDesc": "Verfijn de huidige workflow of chatflowgrafiek",
"gotoAnything.actions.refineDesc": "Beschrijf een wijziging die moet worden toegepast op het huidige concept",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Commands",
"gotoAnything.groups.knowledgeBases": "Knowledge Bases",
"gotoAnything.groups.plugins": "Integraties",
- "gotoAnything.groups.recent": "Recent",
"gotoAnything.groups.workflowNodes": "Workflow Nodes",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "No matching commands found",
diff --git a/web/i18n/pl-PL/agent-v-2.json b/web/i18n/pl-PL/agent-v-2.json
index bc88bda762b..aaca3db526b 100644
--- a/web/i18n/pl-PL/agent-v-2.json
+++ b/web/i18n/pl-PL/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Dla materiałów referencyjnych zbyt długich do wklejenia w Prompt: specyfikacje, szablony, wytyczne. Dowiedz się więcej\n\nW trybie Build agent może skonfigurować je za Ciebie.",
+ "agentDetail.configure.prompt.richTip": "Określ rolę agenta i sposób jego działania. Dowiedz się więcej"
}
diff --git a/web/i18n/pl-PL/app.json b/web/i18n/pl-PL/app.json
index a16e77d8954..f35a6c361b3 100644
--- a/web/i18n/pl-PL/app.json
+++ b/web/i18n/pl-PL/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Zacznij od gotowego workflow. Dobre do nauki Dify i typowych wzorców.",
"firstEmpty.title": "Nie ma jeszcze aplikacji",
"gotoAnything.actions.accountDesc": "Przejdź do strony konta",
- "gotoAnything.actions.communityDesc": "Otwarta społeczność Discord",
"gotoAnything.actions.createAuto": "Auto",
"gotoAnything.actions.createAutoDesc": "Pozwól AI wybrać Workflow lub Chatflow na podstawie Twojego opisu",
"gotoAnything.actions.createCategoryDesc": "Utwórz przepływ pracy lub czat generowany przez sztuczną inteligencję",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Wygeneruj aplikację Chatflow (czat zaawansowany) na podstawie opisu",
"gotoAnything.actions.createWorkflow": "Przepływ pracy",
"gotoAnything.actions.createWorkflowDesc": "Wygeneruj aplikację przepływu pracy na podstawie opisu",
+ "gotoAnything.actions.discordDesc": "Otwórz społeczność Discord",
"gotoAnything.actions.docDesc": "Otwórz dokumentację pomocy",
- "gotoAnything.actions.feedbackDesc": "Otwarte dyskusje na temat opinii społeczności",
"gotoAnything.actions.languageChangeDesc": "Zmień język interfejsu",
"gotoAnything.actions.refineCategoryDesc": "Udoskonal bieżący przepływ pracy lub wykres przepływu rozmów",
"gotoAnything.actions.refineDesc": "Opisz zmianę, którą chcesz zastosować w bieżącej wersji roboczej",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Polecenia",
"gotoAnything.groups.knowledgeBases": "Bazy wiedzy",
"gotoAnything.groups.plugins": "Integracje",
- "gotoAnything.groups.recent": "Ostatnie",
"gotoAnything.groups.workflowNodes": "Węzły przepływu pracy",
"gotoAnything.inScope": "w {{scope}}s",
"gotoAnything.noMatchingCommands": "Nie znaleziono pasujących poleceń",
diff --git a/web/i18n/pt-BR/agent-v-2.json b/web/i18n/pt-BR/agent-v-2.json
index 60766daa6c4..0f96c5ba335 100644
--- a/web/i18n/pt-BR/agent-v-2.json
+++ b/web/i18n/pt-BR/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Para materiais de referência longos demais para colar no Prompt: especificações, modelos, diretrizes. Saiba mais\n\nNo modo Build, o agente pode configurar isso para você.",
+ "agentDetail.configure.prompt.richTip": "Defina o papel do agente e como ele deve trabalhar. Saiba mais"
}
diff --git a/web/i18n/pt-BR/app.json b/web/i18n/pt-BR/app.json
index e21bf87982e..0514c27b8cd 100644
--- a/web/i18n/pt-BR/app.json
+++ b/web/i18n/pt-BR/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Comece com um workflow pré-criado. Ótimo para aprender Dify e padrões comuns.",
"firstEmpty.title": "Ainda não há apps",
"gotoAnything.actions.accountDesc": "Navegue até a página da conta",
- "gotoAnything.actions.communityDesc": "Comunidade do Discord aberta",
"gotoAnything.actions.createAuto": "Automático",
"gotoAnything.actions.createAutoDesc": "Deixe a IA escolher Workflow ou Chatflow a partir da sua descrição",
"gotoAnything.actions.createCategoryDesc": "Crie um fluxo de trabalho ou fluxo de chat gerado por IA",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Gere um aplicativo chatflow (chat avançado) a partir de uma descrição",
"gotoAnything.actions.createWorkflow": "Fluxo de trabalho",
"gotoAnything.actions.createWorkflowDesc": "Gere um aplicativo de fluxo de trabalho a partir de uma descrição",
+ "gotoAnything.actions.discordDesc": "Abra a comunidade do Discord",
"gotoAnything.actions.docDesc": "Abra a documentação de ajuda",
- "gotoAnything.actions.feedbackDesc": "Discussões de feedback da comunidade aberta",
"gotoAnything.actions.languageChangeDesc": "Mudar o idioma da interface",
"gotoAnything.actions.refineCategoryDesc": "Refinar o fluxo de trabalho atual ou gráfico de fluxo de chat",
"gotoAnything.actions.refineDesc": "Descreva uma alteração a ser aplicada ao rascunho atual",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Comandos",
"gotoAnything.groups.knowledgeBases": "Bases de conhecimento",
"gotoAnything.groups.plugins": "Integrações",
- "gotoAnything.groups.recent": "Recente",
"gotoAnything.groups.workflowNodes": "Nós de fluxo de trabalho",
"gotoAnything.inScope": "em {{scope}}s",
"gotoAnything.noMatchingCommands": "Nenhum comando correspondente encontrado",
diff --git a/web/i18n/ro-RO/agent-v-2.json b/web/i18n/ro-RO/agent-v-2.json
index f274878cda7..ae841e041ab 100644
--- a/web/i18n/ro-RO/agent-v-2.json
+++ b/web/i18n/ro-RO/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Pentru materiale de referință prea lungi pentru a fi lipite în Prompt: specificații, șabloane, ghiduri. Aflați mai multe\n\nÎn modul Build, agentul le poate configura pentru dvs.",
+ "agentDetail.configure.prompt.richTip": "Definiți rolul agentului și modul în care ar trebui să lucreze. Aflați mai multe"
}
diff --git a/web/i18n/ro-RO/app.json b/web/i18n/ro-RO/app.json
index f7c88b96574..9ef1f4db902 100644
--- a/web/i18n/ro-RO/app.json
+++ b/web/i18n/ro-RO/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Începe cu un workflow preconfigurat. Bun pentru a învăța Dify și tiparele comune.",
"firstEmpty.title": "Încă nu există aplicații",
"gotoAnything.actions.accountDesc": "Navigați la pagina de cont",
- "gotoAnything.actions.communityDesc": "Deschide comunitatea Discord",
"gotoAnything.actions.createAuto": "Automat",
"gotoAnything.actions.createAutoDesc": "Lasă AI să aleagă Workflow sau Chatflow pe baza descrierii tale",
"gotoAnything.actions.createCategoryDesc": "Creați un flux de lucru sau un flux de chat generat de AI",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Generați o aplicație chatflow (chat avansat) dintr-o descriere",
"gotoAnything.actions.createWorkflow": "Fluxul de lucru",
"gotoAnything.actions.createWorkflowDesc": "Generați o aplicație de flux de lucru dintr-o descriere",
+ "gotoAnything.actions.discordDesc": "Deschide comunitatea Discord",
"gotoAnything.actions.docDesc": "Deschide documentația de ajutor",
- "gotoAnything.actions.feedbackDesc": "Discuții de feedback deschis pentru comunitate",
"gotoAnything.actions.languageChangeDesc": "Schimbați limba interfeței",
"gotoAnything.actions.refineCategoryDesc": "Rafinați fluxul de lucru curent sau graficul fluxului de chat",
"gotoAnything.actions.refineDesc": "Descrieți o modificare de aplicat schiței actuale",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Comenzi",
"gotoAnything.groups.knowledgeBases": "Baze de cunoștințe",
"gotoAnything.groups.plugins": "Integrări",
- "gotoAnything.groups.recent": "Recent",
"gotoAnything.groups.workflowNodes": "Noduri de flux de lucru",
"gotoAnything.inScope": "în {{scope}}s",
"gotoAnything.noMatchingCommands": "Nu s-au găsit comenzi potrivite",
diff --git a/web/i18n/ru-RU/agent-v-2.json b/web/i18n/ru-RU/agent-v-2.json
index ed976e45b00..b5d0b8fe827 100644
--- a/web/i18n/ru-RU/agent-v-2.json
+++ b/web/i18n/ru-RU/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Для справочных материалов, которые слишком длинные для вставки в Prompt: спецификации, шаблоны, инструкции. Подробнее\n\nВ режиме Build агент может настроить это за вас.",
+ "agentDetail.configure.prompt.richTip": "Определите роль агента и то, как он должен работать. Подробнее"
}
diff --git a/web/i18n/ru-RU/app.json b/web/i18n/ru-RU/app.json
index e6250d5324a..f178205016a 100644
--- a/web/i18n/ru-RU/app.json
+++ b/web/i18n/ru-RU/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Начните с готового workflow. Подходит для изучения Dify и распространенных шаблонов.",
"firstEmpty.title": "Приложений пока нет",
"gotoAnything.actions.accountDesc": "Перейдите на страницу учетной записи",
- "gotoAnything.actions.communityDesc": "Открытое сообщество Discord",
"gotoAnything.actions.createAuto": "Авто",
"gotoAnything.actions.createAutoDesc": "Позвольте ИИ выбрать Workflow или Chatflow на основе вашего описания",
"gotoAnything.actions.createCategoryDesc": "Создайте рабочий процесс или поток чата, созданный искусственным интеллектом.",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Создайте приложение чата (расширенный чат) из описания.",
"gotoAnything.actions.createWorkflow": "? абочий процесс",
"gotoAnything.actions.createWorkflowDesc": "Создание приложения рабочего процесса из описания",
+ "gotoAnything.actions.discordDesc": "Откройте сообщество Discord",
"gotoAnything.actions.docDesc": "Откройте справочную документацию",
- "gotoAnything.actions.feedbackDesc": "Обсуждения обратной связи с открытым сообществом",
"gotoAnything.actions.languageChangeDesc": "Измените язык интерфейса",
"gotoAnything.actions.refineCategoryDesc": "Уточните текущий рабочий процесс или график потока чата",
"gotoAnything.actions.refineDesc": "Опишите изменение, которое будет применено к текущему проекту.",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Команды",
"gotoAnything.groups.knowledgeBases": "Базы знаний",
"gotoAnything.groups.plugins": "Интеграции",
- "gotoAnything.groups.recent": "Недавние",
"gotoAnything.groups.workflowNodes": "Узлы рабочих процессов",
"gotoAnything.inScope": "в {{scope}}s",
"gotoAnything.noMatchingCommands": "Соответствующие команды не найдены",
diff --git a/web/i18n/sl-SI/agent-v-2.json b/web/i18n/sl-SI/agent-v-2.json
index 21a8cfc6ad0..12c0c38a13e 100644
--- a/web/i18n/sl-SI/agent-v-2.json
+++ b/web/i18n/sl-SI/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Za referenčno gradivo, ki je predolgo za lepljenje v Prompt: specifikacije, predloge, smernice. Več o tem\n\nV načinu Build jih lahko agent nastavi namesto vas.",
+ "agentDetail.configure.prompt.richTip": "Določite vlogo agenta in način njegovega delovanja. Več o tem"
}
diff --git a/web/i18n/sl-SI/app.json b/web/i18n/sl-SI/app.json
index feab5823004..d53e29e0743 100644
--- a/web/i18n/sl-SI/app.json
+++ b/web/i18n/sl-SI/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Začnite z vnaprej pripravljenim workflowom. Primerno za učenje Dify in pogostih vzorcev.",
"firstEmpty.title": "Aplikacij še ni",
"gotoAnything.actions.accountDesc": "Pojdite na stran računa",
- "gotoAnything.actions.communityDesc": "Odpri Discord skupnost",
"gotoAnything.actions.createAuto": "Samodejno",
"gotoAnything.actions.createAutoDesc": "Naj AI na podlagi vašega opisa izbere Workflow ali Chatflow",
"gotoAnything.actions.createCategoryDesc": "Ustvarite potek dela ali potek klepeta, ki ga ustvari AI",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Iz opisa ustvarite aplikacijo chatflow (napredni klepet).",
"gotoAnything.actions.createWorkflow": "Potek dela",
"gotoAnything.actions.createWorkflowDesc": "Iz opisa ustvarite aplikacijo za potek dela",
+ "gotoAnything.actions.discordDesc": "Odprite skupnost Discord",
"gotoAnything.actions.docDesc": "Odprite pomoč dokumentacijo",
- "gotoAnything.actions.feedbackDesc": "Razprave o povratnih informacijah odprte skupnosti",
"gotoAnything.actions.languageChangeDesc": "Spremeni jezik vmesnika",
"gotoAnything.actions.refineCategoryDesc": "Izboljšajte trenutni tok dela ali graf toka klepeta",
"gotoAnything.actions.refineDesc": "Opišite spremembo za trenutni osnutek",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Ukazi",
"gotoAnything.groups.knowledgeBases": "Baze znanja",
"gotoAnything.groups.plugins": "Integracije",
- "gotoAnything.groups.recent": "Nedavno",
"gotoAnything.groups.workflowNodes": "Vozlišča poteka dela",
"gotoAnything.inScope": "v {{scope}}s",
"gotoAnything.noMatchingCommands": "Ujemajoči se ukazi niso našli",
diff --git a/web/i18n/th-TH/agent-v-2.json b/web/i18n/th-TH/agent-v-2.json
index dbf34dcb790..51217a656f7 100644
--- a/web/i18n/th-TH/agent-v-2.json
+++ b/web/i18n/th-TH/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "สำหรับเอกสารอ้างอิงที่ยาวเกินกว่าจะวางใน Prompt: สเปก เทมเพลต แนวทาง ดูข้อมูลเพิ่มเติม\n\nในโหมด Build agent สามารถตั้งค่าสิ่งเหล่านี้ให้คุณได้",
+ "agentDetail.configure.prompt.richTip": "กำหนดบทบาทของเอเจนต์และวิธีการทำงาน ดูข้อมูลเพิ่มเติม"
}
diff --git a/web/i18n/th-TH/app.json b/web/i18n/th-TH/app.json
index b9592f5e190..e1451b2760e 100644
--- a/web/i18n/th-TH/app.json
+++ b/web/i18n/th-TH/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "เริ่มจาก workflow ที่สร้างไว้แล้ว เหมาะสำหรับเรียนรู้ Dify และรูปแบบที่พบบ่อย",
"firstEmpty.title": "ยังไม่มีแอป",
"gotoAnything.actions.accountDesc": "ไปที่หน้าบัญชี",
- "gotoAnything.actions.communityDesc": "เปิดชุมชน Discord",
"gotoAnything.actions.createAuto": "อัตโนมัติ",
"gotoAnything.actions.createAutoDesc": "ให้ AI เลือก Workflow หรือ Chatflow จากคำอธิบายของคุณ",
"gotoAnything.actions.createCategoryDesc": "สร้างเวิร์กโฟลว์หรือแชทที่สร้างโดย AI",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "สร้างแอป Chatflow (แชทขั้นสูง) จากคำอธิบาย",
"gotoAnything.actions.createWorkflow": "ขั้นตอนการทำงาน",
"gotoAnything.actions.createWorkflowDesc": "สร้างแอปเวิร์กโฟลว์จากคำอธิบาย",
+ "gotoAnything.actions.discordDesc": "เปิดชุมชน Discord",
"gotoAnything.actions.docDesc": "เปิดเอกสารช่วยเหลือ",
- "gotoAnything.actions.feedbackDesc": "การอภิปรายข้อเสนอแนะแบบเปิดในชุมชน",
"gotoAnything.actions.languageChangeDesc": "เปลี่ยนภาษา UI",
"gotoAnything.actions.refineCategoryDesc": "ปรับแต่งเวิร์กโฟลว์ปัจจุบันหรือกราฟโฟลว์แชท",
"gotoAnything.actions.refineDesc": "อธิบายการเปลี่ยนแปลงที่จะนำไปใช้กับร่างปัจจุบัน",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "คำสั่ง",
"gotoAnything.groups.knowledgeBases": "ฐานความรู้",
"gotoAnything.groups.plugins": "การผสานรวม",
- "gotoAnything.groups.recent": "ล่าสุด",
"gotoAnything.groups.workflowNodes": "โหนดเวิร์กโฟลว์",
"gotoAnything.inScope": "ใน {{scope}}s",
"gotoAnything.noMatchingCommands": "ไม่พบคำสั่งที่ตรงกัน",
diff --git a/web/i18n/tr-TR/agent-v-2.json b/web/i18n/tr-TR/agent-v-2.json
index feb61eb88e6..08044c4c8d8 100644
--- a/web/i18n/tr-TR/agent-v-2.json
+++ b/web/i18n/tr-TR/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Prompt içine yapıştırmak için fazla uzun olan referans materyalleri için: teknik özellikler, şablonlar, yönergeler. Daha fazla bilgi\n\nBuild mode'da agent bunları sizin için ayarlayabilir.",
+ "agentDetail.configure.prompt.richTip": "Agent'ın rolünü ve nasıl çalışması gerektiğini tanımlayın. Daha fazla bilgi"
}
diff --git a/web/i18n/tr-TR/app.json b/web/i18n/tr-TR/app.json
index 80e8d13536b..843dc67a233 100644
--- a/web/i18n/tr-TR/app.json
+++ b/web/i18n/tr-TR/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Önceden hazırlanmış bir workflow ile başlayın. Dify ve yaygın kalıpları öğrenmek için uygundur.",
"firstEmpty.title": "Henüz uygulama yok",
"gotoAnything.actions.accountDesc": "Hesap sayfasına gidin",
- "gotoAnything.actions.communityDesc": "Açık Discord topluluğu",
"gotoAnything.actions.createAuto": "Otomatik",
"gotoAnything.actions.createAutoDesc": "Yapay zekanın açıklamanıza göre Workflow veya Chatflow seçmesine izin verin",
"gotoAnything.actions.createCategoryDesc": "Yapay zeka tarafından oluşturulan bir iş akışı veya sohbet akışı oluşturun",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Açıklamadan bir sohbet akışı (gelişmiş sohbet) uygulaması oluşturun",
"gotoAnything.actions.createWorkflow": "İş akışı",
"gotoAnything.actions.createWorkflowDesc": "Açıklamadan iş akışı uygulaması oluşturma",
+ "gotoAnything.actions.discordDesc": "Discord topluluğunu aç",
"gotoAnything.actions.docDesc": "Yardım belgelerini aç",
- "gotoAnything.actions.feedbackDesc": "Açık topluluk geri bildirim tartışmaları",
"gotoAnything.actions.languageChangeDesc": "UI dilini değiştir",
"gotoAnything.actions.refineCategoryDesc": "Mevcut iş akışını veya sohbet akışı grafiğini hassaslaştırın",
"gotoAnything.actions.refineDesc": "Mevcut taslağa uygulanacak bir değişikliği açıklayın",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Komutlar",
"gotoAnything.groups.knowledgeBases": "Bilgi Tabanları",
"gotoAnything.groups.plugins": "Entegrasyonlar",
- "gotoAnything.groups.recent": "Son",
"gotoAnything.groups.workflowNodes": "İş Akışı Düğümleri",
"gotoAnything.inScope": "{{scope}}s içinde",
"gotoAnything.noMatchingCommands": "Eşleşen komut bulunamadı",
diff --git a/web/i18n/uk-UA/agent-v-2.json b/web/i18n/uk-UA/agent-v-2.json
index a3d4ed7ad89..1f83c434371 100644
--- a/web/i18n/uk-UA/agent-v-2.json
+++ b/web/i18n/uk-UA/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Для довідкових матеріалів, які занадто довгі для вставлення в Prompt: специфікації, шаблони, інструкції. Докладніше\n\nУ режимі Build агент може налаштувати це за вас.",
+ "agentDetail.configure.prompt.richTip": "Визначте роль агента та спосіб його роботи. Докладніше"
}
diff --git a/web/i18n/uk-UA/app.json b/web/i18n/uk-UA/app.json
index 792097ec84c..21e94a714d7 100644
--- a/web/i18n/uk-UA/app.json
+++ b/web/i18n/uk-UA/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Почніть із готового workflow. Добре підходить для вивчення Dify і поширених шаблонів.",
"firstEmpty.title": "Застосунків ще немає",
"gotoAnything.actions.accountDesc": "Перейдіть на сторінку облікового запису",
- "gotoAnything.actions.communityDesc": "Відкрита Discord-спільнота",
"gotoAnything.actions.createAuto": "Авто",
"gotoAnything.actions.createAutoDesc": "Дозвольте ШІ вибрати Workflow або Chatflow на основі вашого опису",
"gotoAnything.actions.createCategoryDesc": "Створіть створений штучним інтелектом робочий процес або процес чату",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Створіть програму chatflow (розширений чат) з опису",
"gotoAnything.actions.createWorkflow": "робочий процес",
"gotoAnything.actions.createWorkflowDesc": "Створіть програму робочого процесу з опису",
+ "gotoAnything.actions.discordDesc": "Відкрийте спільноту Discord",
"gotoAnything.actions.docDesc": "Відкрийте документацію допомоги",
- "gotoAnything.actions.feedbackDesc": "Відкриті обговорення відгуків громади",
"gotoAnything.actions.languageChangeDesc": "Змінити мову інтерфейсу",
"gotoAnything.actions.refineCategoryDesc": "Уточніть поточний робочий процес або графік чату",
"gotoAnything.actions.refineDesc": "Опишіть зміну, яку слід застосувати до поточної чернетки",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Команди",
"gotoAnything.groups.knowledgeBases": "Бази знань",
"gotoAnything.groups.plugins": "Інтеграції",
- "gotoAnything.groups.recent": "Нещодавні",
"gotoAnything.groups.workflowNodes": "Вузли документообігу",
"gotoAnything.inScope": "у {{scope}}s",
"gotoAnything.noMatchingCommands": "Відповідних команд не знайдено",
diff --git a/web/i18n/vi-VN/agent-v-2.json b/web/i18n/vi-VN/agent-v-2.json
index 17bb4b56b4b..d1733df3cb7 100644
--- a/web/i18n/vi-VN/agent-v-2.json
+++ b/web/i18n/vi-VN/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "Search skills",
"skillManagement.searchPlaceholder": "Search",
"skillManagement.tags": "Tags",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "Dành cho tài liệu tham khảo quá dài để dán vào Prompt: thông số, mẫu, hướng dẫn. Tìm hiểu thêm\n\nỞ chế độ Build, tác nhân có thể thiết lập những mục này cho bạn.",
+ "agentDetail.configure.prompt.richTip": "Xác định vai trò của tác nhân và cách tác nhân hoạt động. Tìm hiểu thêm"
}
diff --git a/web/i18n/vi-VN/app.json b/web/i18n/vi-VN/app.json
index ad4dced0e69..d48198d465b 100644
--- a/web/i18n/vi-VN/app.json
+++ b/web/i18n/vi-VN/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "Bắt đầu từ workflow dựng sẵn. Phù hợp để học Dify và các mẫu phổ biến.",
"firstEmpty.title": "Chưa có ứng dụng",
"gotoAnything.actions.accountDesc": "Đi đến trang tài khoản",
- "gotoAnything.actions.communityDesc": "Mở cộng đồng Discord",
"gotoAnything.actions.createAuto": "Tự động",
"gotoAnything.actions.createAutoDesc": "Để AI chọn Workflow hoặc Chatflow từ mô tả của bạn",
"gotoAnything.actions.createCategoryDesc": "Tạo quy trình làm việc hoặc luồng trò chuyện do AI tạo",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "Tạo ứng dụng luồng trò chuyện (trò chuyện nâng cao) từ mô tả",
"gotoAnything.actions.createWorkflow": "Quy trình làm việc",
"gotoAnything.actions.createWorkflowDesc": "Tạo ứng dụng quy trình làm việc từ mô tả",
+ "gotoAnything.actions.discordDesc": "Mở cộng đồng Discord",
"gotoAnything.actions.docDesc": "Mở tài liệu trợ giúp",
- "gotoAnything.actions.feedbackDesc": "Thảo luận phản hồi cộng đồng mở",
"gotoAnything.actions.languageChangeDesc": "Thay đổi ngôn ngữ giao diện",
"gotoAnything.actions.refineCategoryDesc": "Tinh chỉnh quy trình làm việc hiện tại hoặc biểu đồ luồng trò chuyện",
"gotoAnything.actions.refineDesc": "Mô tả một thay đổi để áp dụng cho dự thảo hiện tại",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "Lệnh",
"gotoAnything.groups.knowledgeBases": "Cơ sở kiến thức",
"gotoAnything.groups.plugins": "Tích hợp",
- "gotoAnything.groups.recent": "Gần đây",
"gotoAnything.groups.workflowNodes": "Nút quy trình làm việc",
"gotoAnything.inScope": "trong {{scope}}s",
"gotoAnything.noMatchingCommands": "Không tìm thấy lệnh phù hợp",
diff --git a/web/i18n/zh-Hans/agent-v-2.json b/web/i18n/zh-Hans/agent-v-2.json
index af6a9f2ebe8..58a8dc2ae8e 100644
--- a/web/i18n/zh-Hans/agent-v-2.json
+++ b/web/i18n/zh-Hans/agent-v-2.json
@@ -623,5 +623,8 @@
"skillManagement.searchLabel": "搜索 Skill",
"skillManagement.searchPlaceholder": "搜索",
"skillManagement.tags": "标签",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "上传过长、不适合放入提示词的参考资料:规格、模板、指南。了解更多\n\n在构建模式中,Agent 可帮你完成这些设置。",
+ "agentDetail.configure.prompt.richTip": "设定 Agent 的角色和工作方式。了解更多",
+ "agentDetail.configure.skills.workspaceSelector.limitReached": "每个 Agent 最多可从 Skill 库添加 20 个 Skill。请先移除一个 Skill,再添加新 Skill。"
}
diff --git a/web/i18n/zh-Hans/app.json b/web/i18n/zh-Hans/app.json
index b36b13a9511..b8afc22917a 100644
--- a/web/i18n/zh-Hans/app.json
+++ b/web/i18n/zh-Hans/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "选择现成的应用进行定制。最快体验 Dify 的方式。",
"firstEmpty.title": "创建你的第一个应用",
"gotoAnything.actions.accountDesc": "导航到账户页面",
- "gotoAnything.actions.communityDesc": "打开 Discord 社区",
"gotoAnything.actions.createAuto": "自动",
"gotoAnything.actions.createAutoDesc": "让 AI 根据你的描述自动选择 Workflow 或 Chatflow",
"gotoAnything.actions.createCategoryDesc": "创建由 AI 生成的工作流或 Chatflow",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "根据描述生成一个 Chatflow(高级聊天)应用",
"gotoAnything.actions.createWorkflow": "Workflow",
"gotoAnything.actions.createWorkflowDesc": "根据描述生成一个工作流应用",
+ "gotoAnything.actions.discordDesc": "打开 Discord 社区",
"gotoAnything.actions.docDesc": "打开帮助文档",
- "gotoAnything.actions.feedbackDesc": "打开社区反馈讨论",
"gotoAnything.actions.languageChangeDesc": "更改界面语言",
"gotoAnything.actions.refineCategoryDesc": "优化当前的工作流或 Chatflow 图",
"gotoAnything.actions.refineDesc": "描述要应用到当前草稿的修改",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "命令",
"gotoAnything.groups.knowledgeBases": "知识库",
"gotoAnything.groups.plugins": "集成",
- "gotoAnything.groups.recent": "最近",
"gotoAnything.groups.workflowNodes": "工作流节点",
"gotoAnything.inScope": "在 {{scope}}s 中",
"gotoAnything.noMatchingCommands": "未找到匹配的命令",
diff --git a/web/i18n/zh-Hant/agent-v-2.json b/web/i18n/zh-Hant/agent-v-2.json
index a29acefd0a0..ff00ccb3a62 100644
--- a/web/i18n/zh-Hant/agent-v-2.json
+++ b/web/i18n/zh-Hant/agent-v-2.json
@@ -548,5 +548,7 @@
"skillManagement.searchLabel": "搜尋 Skill",
"skillManagement.searchPlaceholder": "搜索",
"skillManagement.tags": "標籤",
- "skillManagement.title": "Skills"
+ "skillManagement.title": "Skills",
+ "agentDetail.configure.files.richTip": "上傳過長、不適合放入提示詞的參考資料:規格、範本、指南。了解更多\n\n在建置模式中,Agent 可幫你完成這些設定。",
+ "agentDetail.configure.prompt.richTip": "設定 Agent 的角色和工作方式。了解更多"
}
diff --git a/web/i18n/zh-Hant/app.json b/web/i18n/zh-Hant/app.json
index 37b4234b28f..ec9f35244d8 100644
--- a/web/i18n/zh-Hant/app.json
+++ b/web/i18n/zh-Hant/app.json
@@ -55,7 +55,6 @@
"firstEmpty.templateDescription": "從預先建置的 workflow 開始。適合學習 Dify 和常見模式。",
"firstEmpty.title": "尚無應用程式",
"gotoAnything.actions.accountDesc": "導航到帳戶頁面",
- "gotoAnything.actions.communityDesc": "開放的 Discord 社區",
"gotoAnything.actions.createAuto": "自動",
"gotoAnything.actions.createAutoDesc": "讓 AI 根據你的描述自動選擇 Workflow 或 Chatflow",
"gotoAnything.actions.createCategoryDesc": "建立 AI 產生的工作流程或聊天流程",
@@ -63,8 +62,8 @@
"gotoAnything.actions.createChatflowDesc": "根据描述生成聊天流(高级聊天)应用程序",
"gotoAnything.actions.createWorkflow": "工作流程",
"gotoAnything.actions.createWorkflowDesc": "根据描述生成工作流应用程序",
+ "gotoAnything.actions.discordDesc": "開啟 Discord 社群",
"gotoAnything.actions.docDesc": "開啟幫助文件",
- "gotoAnything.actions.feedbackDesc": "開放社區反饋討論",
"gotoAnything.actions.languageChangeDesc": "更改 UI 語言",
"gotoAnything.actions.refineCategoryDesc": "優化目前工作流程或聊天流程圖",
"gotoAnything.actions.refineDesc": "描述適用於當前草案的更改",
@@ -95,7 +94,6 @@
"gotoAnything.groups.commands": "指令",
"gotoAnything.groups.knowledgeBases": "知識庫",
"gotoAnything.groups.plugins": "集成",
- "gotoAnything.groups.recent": "最近",
"gotoAnything.groups.workflowNodes": "工作流節點",
"gotoAnything.inScope": "在 {{scope}}s 中",
"gotoAnything.noMatchingCommands": "未找到匹配的命令",
diff --git a/web/models/log.ts b/web/models/log.ts
index ff51d060747..fb2f202e710 100644
--- a/web/models/log.ts
+++ b/web/models/log.ts
@@ -1,5 +1,5 @@
import type { Viewport } from 'reactflow'
-import type { Metadata } from '@/app/components/base/chat/chat/type'
+import type { Metadata, ThoughtItem } from '@/app/components/base/chat/chat/type'
import type { Edge, Node } from '@/app/components/workflow/types'
import type { VisionFile } from '@/types/app'
@@ -79,7 +79,7 @@ type MessageContent = {
}>
message_files: VisionFile[]
metadata: Metadata
- agent_thoughts: any[] // TODO
+ agent_thoughts: ThoughtItem[]
workflow_run_id: string
parent_message_id: string | null
}
diff --git a/web/scripts/__tests__/migrate-i18n-selectors.spec.ts b/web/scripts/__tests__/migrate-i18n-selectors.spec.ts
index 9a12e3fa382..b7c26c077b6 100644
--- a/web/scripts/__tests__/migrate-i18n-selectors.spec.ts
+++ b/web/scripts/__tests__/migrate-i18n-selectors.spec.ts
@@ -277,7 +277,7 @@ export function translate(selector: SelectorParam<'app'>, key: string, kind: key
it('should adapt local react-i18next translation mocks', () => {
// Arrange
- const source = `import { vi } from 'vitest'
+ const source = `import { vi } from 'vite-plus/test'
vi.mock('react-i18next', () => ({
useTranslation: () => ({
@@ -295,7 +295,7 @@ const businessProps = {
const result = transformSource(source, 'example.spec.ts')
// Assert
- expect(result.output).toBe(`import { vi } from 'vitest'
+ expect(result.output).toBe(`import { vi } from 'vite-plus/test'
vi.mock('react-i18next', async () => {
const { withSelectorKey, withSelectorKeyProps } = await import('@/test/i18n-mock')
@@ -320,7 +320,7 @@ const businessProps = {
it('should adapt selector mocks from the local i18n facade', () => {
// Arrange
- const source = `import { vi } from 'vitest'
+ const source = `import { vi } from 'vite-plus/test'
vi.mock('#i18n', () => ({
useTranslation: () => ({
@@ -346,7 +346,7 @@ vi.mock('#i18n', () => ({
it('should defer mock callbacks declared outside a hoisted factory', () => {
// Arrange
- const source = `import { vi } from 'vitest'
+ const source = `import { vi } from 'vite-plus/test'
const mockTranslation = (key: string) => key
@@ -373,7 +373,7 @@ vi.mock('#i18n', () => ({
it('should preserve selector-aware i18next mock adapters', () => {
// Arrange
const source = `import type { Namespace, SelectorParam } from 'i18next'
-import { vi } from 'vitest'
+import { vi } from 'vite-plus/test'
vi.mock('i18next', async (importOriginal) => {
const actual = await importOriginal()
@@ -394,7 +394,7 @@ vi.mock('i18next', async (importOriginal) => {
it('should transform a multiline JSX Trans mock without overlapping edits', () => {
// Arrange
const source = `import type { ReactNode } from 'react'
-import { vi } from 'vitest'
+import { vi } from 'vite-plus/test'
vi.mock('react-i18next', () => ({
useTranslation: () => ({
@@ -443,7 +443,7 @@ vi.mock('react-i18next', () => ({
it('should adapt only translation values configured through a referenced hoisted mock', () => {
// Arrange
- const source = `import { vi } from 'vitest'
+ const source = `import { vi } from 'vite-plus/test'
const mockUseTranslation = vi.hoisted(() => vi.fn())
const reactI18nextMock = {
@@ -465,7 +465,7 @@ const businessProps = {
const result = transformSource(source, 'example.spec.ts')
// Assert
- expect(result.output).toBe(`import { vi } from 'vitest'
+ expect(result.output).toBe(`import { vi } from 'vite-plus/test'
import { withSelectorKey } from '@/test/i18n-mock'
const mockUseTranslation = vi.hoisted(() => vi.fn())
diff --git a/web/service/base.spec.ts b/web/service/base.spec.ts
index cc1ed92e3e9..d4ee867810c 100644
--- a/web/service/base.spec.ts
+++ b/web/service/base.spec.ts
@@ -499,7 +499,24 @@ describe('ssePost and sseGet', () => {
await waitFor(() => {
expect(toast.error).toHaveBeenCalledWith('Base model not found')
})
- expect(onError).toHaveBeenCalledWith('Server Error')
+ expect(onError).toHaveBeenCalledWith('Base model not found')
+ })
+
+ it('should preserve the response error for silent requests without notifying', async () => {
+ const onError = vi.fn()
+ vi.spyOn(globalThis, 'fetch').mockResolvedValueOnce(
+ new Response(JSON.stringify({ code: 'model_not_found', message: 'Base model not found' }), {
+ status: 400,
+ headers: { 'Content-Type': 'application/json' },
+ }),
+ )
+
+ await ssePost('/chat-messages', { body: { query: 'hello' } }, { onError, silent: true })
+
+ await waitFor(() => {
+ expect(onError).toHaveBeenCalledWith('Base model not found', 'model_not_found')
+ })
+ expect(toast.error).not.toHaveBeenCalled()
})
it('should route the stream error through a custom notifier', async () => {
diff --git a/web/service/base.ts b/web/service/base.ts
index c6219b0eaf4..d5ece4cd7d4 100644
--- a/web/service/base.ts
+++ b/web/service/base.ts
@@ -80,19 +80,29 @@ export type IOnError = (msg: string, code?: string) => void
const reportStreamResponseError = async (
response: Response,
onError: IOnError | undefined,
- onNotifyError: IOnError,
+ onNotifyError?: IOnError,
) => {
let errorMessage = 'Server Error'
+ let errorCode: string | undefined
try {
const data: unknown = await response.json()
if (typeof data === 'object' && data !== null && 'message' in data) {
const message = data.message
if (typeof message === 'string' && message) errorMessage = message
}
+ if (typeof data === 'object' && data !== null && 'code' in data) {
+ const code = data.code
+ if (typeof code === 'string' && code) errorCode = code
+ }
} catch {}
- onError?.(errorMessage)
- onNotifyError(errorMessage)
+ if (errorCode) {
+ onError?.(errorMessage, errorCode)
+ onNotifyError?.(errorMessage, errorCode)
+ } else {
+ onError?.(errorMessage)
+ onNotifyError?.(errorMessage)
+ }
}
type UnhandledEventError = {
@@ -651,16 +661,10 @@ export const ssePost = async (
})
}
} else {
- if (onNotifyError && !silent) {
- void reportStreamResponseError(res, onError, onNotifyError)
- } else if (!silent) {
- res.json().then((data) => {
- toast.error(data.message || 'Server Error')
- })
- onError?.('Server Error')
- } else {
- onError?.('Server Error')
- }
+ if (onNotifyError && !silent) void reportStreamResponseError(res, onError, onNotifyError)
+ else if (!silent)
+ void reportStreamResponseError(res, onError, (message) => toast.error(message))
+ else void reportStreamResponseError(res, onError)
}
return
}
@@ -820,16 +824,10 @@ export const sseGet = async (
})
}
} else {
- if (onNotifyError && !silent) {
- void reportStreamResponseError(res, onError, onNotifyError)
- } else if (!silent) {
- res.json().then((data) => {
- toast.error(data.message || 'Server Error')
- })
- onError?.('Server Error')
- } else {
- onError?.('Server Error')
- }
+ if (onNotifyError && !silent) void reportStreamResponseError(res, onError, onNotifyError)
+ else if (!silent)
+ void reportStreamResponseError(res, onError, (message) => toast.error(message))
+ else void reportStreamResponseError(res, onError)
}
return
}
diff --git a/web/tsconfig.json b/web/tsconfig.json
index 9b525484b11..59f59d8fd3d 100644
--- a/web/tsconfig.json
+++ b/web/tsconfig.json
@@ -7,7 +7,7 @@
"~@/*": ["./*"]
},
"resolveJsonModule": true,
- "types": ["vitest/globals", "node"],
+ "types": ["vite-plus/test/globals", "node"],
"allowImportingTsExtensions": true,
"allowJs": true
},