From ce71d87867240446b46272e941e60556732a9331 Mon Sep 17 00:00:00 2001
From: Trifon
Date: Sat, 14 Feb 2026 10:51:29 +0200
Subject: [PATCH] Add Bulgarian language support (#13147)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
### What problem does this PR solve?
RAGFlow supports 12 UI languages but does not include Bulgarian. This PR
adds Bulgarian (`bg` / `Български`) as the 13th supported language,
covering the full UI translation (2001 keys across all 26 sections) and
OCR/PDF parser language mapping.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### Changes
- **`web/src/constants/common.ts`** — Registered Bulgarian in all 5
language data structures (`LanguageList`, `LanguageMap`,
`LanguageAbbreviation` enum, `LanguageAbbreviationMap`,
`LanguageTranslationMap`)
- **`web/src/locales/config.ts`** — Added lazy-loading dynamic import
for the `bg` locale
- **`web/src/locales/bg.ts`** *(new)* — Full Bulgarian translation file
with all 26 sections, matching the English source (`en.ts`). All
interpolation placeholders, HTML tags, and technical terms are preserved
as-is
- **`deepdoc/parser/mineru_parser.py`** — Mapped `'Bulgarian'` to
`'cyrillic'` in `LANGUAGE_TO_MINERU_MAP` for OCR/PDF parser support
### How it works
The language selector automatically picks up the new entry. When a user
selects "Български", the translation bundle is lazy-loaded on demand.
The preference is persisted to the database and localStorage across
sessions.
---
deepdoc/parser/mineru_parser.py | 1 +
web/src/constants/common.ts | 5 +
web/src/locales/BULGARIAN_LANGUAGE_CHANGES.md | 54 +
web/src/locales/bg.ts | 2596 +++++++++++++++++
web/src/locales/config.ts | 1 +
web/src/locales/de.ts | 2 +
web/src/locales/en.ts | 2 +
web/src/locales/es.ts | 1 +
web/src/locales/fr.ts | 1 +
web/src/locales/id.ts | 1 +
web/src/locales/it.ts | 2 +
web/src/locales/ja.ts | 1 +
web/src/locales/pt-br.ts | 1 +
web/src/locales/ru.ts | 2 +
web/src/locales/vi.ts | 1 +
web/src/locales/zh-traditional.ts | 1 +
web/src/locales/zh.ts | 2 +
17 files changed, 2674 insertions(+)
create mode 100644 web/src/locales/BULGARIAN_LANGUAGE_CHANGES.md
create mode 100644 web/src/locales/bg.ts
diff --git a/deepdoc/parser/mineru_parser.py b/deepdoc/parser/mineru_parser.py
index cc4c99c76b..d63a04c843 100644
--- a/deepdoc/parser/mineru_parser.py
+++ b/deepdoc/parser/mineru_parser.py
@@ -73,6 +73,7 @@ LANGUAGE_TO_MINERU_MAP = {
'Thai': 'th',
'Greek': 'el',
'Hindi': 'devanagari',
+ 'Bulgarian': 'cyrillic',
}
diff --git a/web/src/constants/common.ts b/web/src/constants/common.ts
index 2d68ac0afd..4ef093b996 100644
--- a/web/src/constants/common.ts
+++ b/web/src/constants/common.ts
@@ -54,6 +54,7 @@ export const LanguageList = [
'German',
'French',
'Italian',
+ 'Bulgarian',
];
export const LanguageMap = {
English: 'English',
@@ -68,6 +69,7 @@ export const LanguageMap = {
German: 'German',
French: 'Français',
Italian: 'Italiano',
+ Bulgarian: 'Български',
};
export enum LanguageAbbreviation {
@@ -83,6 +85,7 @@ export enum LanguageAbbreviation {
De = 'de',
Fr = 'fr',
It = 'it',
+ Bg = 'bg',
}
export const LanguageAbbreviationMap = {
@@ -98,6 +101,7 @@ export const LanguageAbbreviationMap = {
[LanguageAbbreviation.De]: 'Deutsch',
[LanguageAbbreviation.Fr]: 'Français',
[LanguageAbbreviation.It]: 'Italiano',
+ [LanguageAbbreviation.Bg]: 'Български',
};
export const LanguageTranslationMap = {
@@ -121,6 +125,7 @@ export const LanguageTranslationMap = {
Greek: 'el',
Hindi: 'hi',
Ukrainian: 'uk',
+ Bulgarian: 'bg',
};
export enum FileMimeType {
diff --git a/web/src/locales/BULGARIAN_LANGUAGE_CHANGES.md b/web/src/locales/BULGARIAN_LANGUAGE_CHANGES.md
new file mode 100644
index 0000000000..3852bae9eb
--- /dev/null
+++ b/web/src/locales/BULGARIAN_LANGUAGE_CHANGES.md
@@ -0,0 +1,54 @@
+# Add Bulgarian Language Support
+
+**Repository:** https://github.com/trifonnt/ragflow
+
+## Overview
+
+Added Bulgarian (`bg` / `Български`) as the 13th supported UI language in RAGFlow.
+
+## Changed Files
+
+### `web/src/constants/common.ts`
+
+Registered Bulgarian in all 5 language data structures:
+
+- **`LanguageList`** — Added `'Bulgarian'` to the array of available languages
+- **`LanguageMap`** — Added `Bulgarian: 'Български'` mapping English name to native name
+- **`LanguageAbbreviation`** enum — Added `Bg = 'bg'` using ISO 639-1 code
+- **`LanguageAbbreviationMap`** — Added `[LanguageAbbreviation.Bg]: 'Български'` for the language selector display
+- **`LanguageTranslationMap`** — Added `Bulgarian: 'bg'` for language code resolution
+
+### `web/src/locales/config.ts`
+
+Added a lazy-loading dynamic import entry for the Bulgarian locale file:
+
+```typescript
+[LanguageAbbreviation.Bg]: () => import('./bg'),
+```
+
+This ensures the Bulgarian translation bundle is only loaded on demand when a user selects it.
+
+### `web/src/locales/bg.ts` (new file)
+
+Created the full Bulgarian translation file containing all 26 sections and 2001 translation keys, matching the English source (`en.ts`) exactly:
+
+`common`, `login`, `header`, `memories`, `memory`, `knowledgeList`, `knowledgeDetails`, `knowledgeConfiguration`, `chunk`, `chat`, `setting`, `message`, `fileManager`, `flow`, `llmTools`, `modal`, `mcp`, `search`, `language`, `pagination`, `dataflowParser`, `datasetOverview`, `deleteModal`, `empty`, `admin`, `explore`
+
+All interpolation placeholders (`{{variable}}`), HTML tags, and technical terms (model names, URLs, API references) are preserved as-is.
+
+### `deepdoc/parser/mineru_parser.py`
+
+Added Bulgarian to the `LANGUAGE_TO_MINERU_MAP` dictionary for OCR/PDF parser language support:
+
+```python
+'Bulgarian': 'cyrillic',
+```
+
+Bulgarian uses the Cyrillic script, so the `'cyrillic'` MinerU language code is used.
+
+## How It Works
+
+- The language selector in the header automatically picks up the new entry from `LanguageList` and `LanguageMap`
+- When a user selects "Български", `changeLanguageAsync('bg')` lazy-loads `bg.ts` and switches the UI
+- The user's preference is saved to the database and localStorage for persistence across sessions
+- `supportedLngs` in i18next is derived from `Object.values(LanguageAbbreviation)`, so adding `Bg` to the enum automatically registers it
diff --git a/web/src/locales/bg.ts b/web/src/locales/bg.ts
new file mode 100644
index 0000000000..d65b7ecb2e
--- /dev/null
+++ b/web/src/locales/bg.ts
@@ -0,0 +1,2596 @@
+export default {
+ translation: {
+ common: {
+ confirm: 'Потвърди',
+ back: 'Назад',
+ noResults: 'Няма намерени резултати',
+ selectPlaceholder: 'изберете стойност',
+ selectAll: 'Избери всички',
+ delete: 'Изтрий',
+ deleteModalTitle: 'Сигурни ли сте, че искате да изтриете?',
+ deleteThem: 'Сигурни ли сте, че искате да ги изтриете?',
+ ok: 'Ок',
+ cancel: 'Отказ',
+ yes: 'Да',
+ no: 'Не',
+ total: 'Общо',
+ rename: 'Преименувай',
+ name: 'Име',
+ save: 'Запази',
+ namePlaceholder: 'Моля, въведете име',
+ next: 'Напред',
+ create: 'Създай',
+ edit: 'Редактирай',
+ upload: 'Качване',
+ english: 'Английски',
+ portugueseBr: 'Португалски (Бразилия)',
+ chinese: 'Опростен китайски',
+ traditionalChinese: 'Традиционен китайски',
+ russian: 'Руски',
+ bulgarian: 'Български',
+ language: 'Език',
+ languageMessage: 'Моля, въведете вашия език!',
+ languagePlaceholder: 'изберете вашия език',
+ copy: 'Копирай',
+ copied: 'Копирано',
+ comingSoon: 'Очаквайте скоро',
+ download: 'Изтегляне',
+ close: 'Затвори',
+ preview: 'Преглед',
+ move: 'Премести',
+ warn: 'Предупреждение',
+ action: 'Действие',
+ s: 'С',
+ pleaseSelect: 'Моля, изберете',
+ pleaseInput: 'Моля, въведете',
+ submit: 'Изпрати',
+ clear: 'Изчисти',
+ embedIntoSite: 'Вграждане в уеб страница',
+ previousPage: 'Предишна',
+ nextPage: 'Следваща',
+ add: 'Добави',
+ remove: 'Премахни',
+ search: 'Търсене',
+ noDataFound: 'Няма намерени данни.',
+ noData: 'Няма налични данни',
+ promptPlaceholder: `Моля, въведете или използвайте / за бързо вмъкване на променливи.`,
+ mcp: {
+ namePlaceholder: 'Моят MCP сървър',
+ nameRequired:
+ 'Трябва да е с дължина 1–64 символа и може да съдържа само букви, цифри, тирета и долни черти.',
+ urlPlaceholder: 'https://api.example.com/v1/mcp',
+ tokenPlaceholder: 'напр. eyJhbGciOiJIUzI1Ni...',
+ },
+ selected: 'Избрани',
+ seeAll: 'Виж всички',
+ },
+ login: {
+ loginTitle: 'Влезте в акаунта си',
+ signUpTitle: 'Създайте акаунт',
+ login: 'Вход',
+ signUp: 'Регистрация',
+ loginDescription: 'Радваме се да ви видим отново!',
+ registerDescription: 'Радваме се, че сте с нас!',
+ emailLabel: 'Имейл',
+ emailPlaceholder: 'Моля, въведете имейл',
+ passwordLabel: 'Парола',
+ passwordPlaceholder: 'Моля, въведете парола',
+ rememberMe: 'Запомни ме',
+ signInTip: 'Нямате акаунт?',
+ signUpTip: 'Вече имате акаунт?',
+ nicknameLabel: 'Псевдоним',
+ nicknamePlaceholder: 'Моля, въведете псевдоним',
+ register: 'Създайте акаунт',
+ continue: 'Продължи',
+ title: 'Водещ RAG двигател за LLM контекст',
+ start: 'Нека започнем',
+ description:
+ 'Регистрирайте се безплатно, за да изследвате водещата RAG технология. Създавайте бази от знания и AI, за да подсилите вашия бизнес.',
+ review: 'от 500+ отзива',
+ seeAll: 'Виж всички',
+ },
+ header: {
+ knowledgeBase: 'Данни',
+ chat: 'Чат',
+ register: 'Регистрация',
+ signin: 'Вход',
+ home: 'Начало',
+ setting: 'Потребителски настройки',
+ logout: 'Изход',
+ fileManager: 'Файлове',
+ flow: 'Агент',
+ search: 'Търсене',
+ welcome: 'Добре дошли в',
+ dataset: 'Данни',
+ memories: 'Памет',
+ },
+ memories: {
+ llmTooltip:
+ 'Анализира съдържанието на разговора, извлича ключова информация и генерира структурирани резюмета на паметта.',
+ embeddingModelTooltip:
+ 'Преобразува текст в числови вектори за търсене по семантично сходство и извличане от паметта.',
+ embeddingModelError:
+ 'Типът памет е задължителен и "raw" не може да бъде изтрит.',
+ memoryTypeTooltip: `Raw: Суровото съдържание на диалога между потребителя и агента (задължително по подразбиране).
+Семантична памет: Общи знания и факти за потребителя и света.
+Епизодична памет: Записи с времеви отпечатък на конкретни събития и преживявания.
+Процедурна памет: Научени умения, навици и автоматизирани процедури.`,
+ raw: 'raw',
+ semantic: 'семантична',
+ episodic: 'епизодична',
+ procedural: 'процедурна',
+ editName: 'Редактирай име',
+ memory: 'Памет',
+ createMemory: 'Създай памет',
+ name: 'Име',
+ memoryNamePlaceholder: 'име на паметта',
+ memoryType: 'Тип памет',
+ embeddingModel: 'Embedding модел',
+ selectModel: 'Изберете модел',
+ llm: 'LLM',
+ delMemoryWarn: `След изтриването всички съобщения в тази памет ще бъдат изтрити и няма да могат да бъдат извлечени от агенти.`,
+ },
+ memory: {
+ taskLogDialog: {
+ title: 'Памет',
+ startTime: 'Начално време',
+ status: 'Статус',
+ details: 'Детайли',
+ success: 'Успех',
+ running: 'Изпълнява се',
+ failed: 'Неуспешно',
+ },
+ messages: {
+ forget: 'Забрави',
+ forgetMessageTip: 'Сигурни ли сте, че искате да забравите?',
+ messageDescription:
+ 'Извличането на памет е конфигурирано с подсказки и температура от разширените настройки.',
+ copied: 'Копирано!',
+ contentEmbed: 'Вграждане на съдържание',
+ content: 'Съдържание',
+ delMessageWarn: `След забравянето това съобщение няма да бъде извличано от агенти.`,
+ forgetMessage: 'Забрави съобщение',
+ sessionId: 'ID на сесия',
+ agent: 'Агент',
+ type: 'Тип',
+ validDate: 'Валидна дата',
+ forgetAt: 'Забравено на',
+ source: 'Източник',
+ enable: 'Активирай',
+ action: 'Действие',
+ },
+ config: {
+ memorySizeTooltip: `Отчита съдържанието на всяко съобщение + неговия embedding вектор (≈ Съдържание + Размерности × 8 байта).
+Пример: Съобщение от 1 KB с 1024-мерен embedding използва ~9 KB. Лимитът по подразбиране от 5 MB побира ~500 такива съобщения.`,
+ avatar: 'Аватар',
+ description: 'Описание',
+ memorySize: 'Размер на паметта',
+ advancedSettings: 'Разширени настройки',
+ permission: 'Разрешение',
+ onlyMe: 'Само аз',
+ team: 'Екип',
+ storageType: 'Тип съхранение',
+ storageTypePlaceholder: 'Моля, изберете тип съхранение',
+ forgetPolicy: 'Политика за забравяне',
+ temperature: 'Температура',
+ systemPrompt: 'Системна подсказка',
+ systemPromptPlaceholder: 'Моля, въведете системна подсказка',
+ userPrompt: 'Потребителска подсказка',
+ userPromptPlaceholder: 'Моля, въведете потребителска подсказка',
+ },
+ sideBar: {
+ messages: 'Съобщения',
+ configuration: 'Конфигурация',
+ },
+ },
+ knowledgeList: {
+ welcome: 'Добре дошли отново',
+ description: 'Кои бази от знания ще използвате днес?',
+ createKnowledgeBase: 'Създай набор от данни',
+ name: 'Име',
+ namePlaceholder: 'Моля, въведете име.',
+ doc: 'Документи',
+ searchKnowledgePlaceholder: 'Търсене',
+ noMoreData: `Това е всичко. Няма повече.`,
+ parserRequired: 'Методът за разделяне е задължителен',
+ },
+ knowledgeDetails: {
+ metadata: {
+ selectFiles: 'Избрани {{count}} файла',
+ type: 'Тип',
+ fieldNameInvalid:
+ 'Името на полето може да съдържа само букви или долни черти.',
+ builtIn: 'Вградени',
+ generation: 'Генериране',
+ toMetadataSetting: 'Настройки за генериране',
+ toMetadataSettingTip: 'Задайте авто-метаданни в Конфигурация.',
+ descriptionTip:
+ 'Предоставете описания или примери, за да насочите LLM да извлича стойности за това поле. Ако е оставено празно, ще се разчита на името на полето.',
+ restrictDefinedValuesTip:
+ 'Режим на изброими стойности: Ограничава извличането от LLM да съвпада само с предварително зададени стойности. Дефинирайте стойностите по-долу.',
+ valueExists:
+ 'Стойността вече съществува. Потвърдете, за да обедините дубликатите и да комбинирате всички свързани файлове.',
+ fieldNameExists:
+ 'Името на полето вече съществува. Потвърдете, за да обедините дубликатите и да комбинирате всички свързани файлове.',
+ valueSingleExists:
+ 'Стойността вече съществува. Потвърдете, за да обедините дубликатите.',
+ fieldSingleNameExists:
+ 'Името на полето вече съществува. Потвърдете, за да обедините дубликатите.',
+ fieldExists: 'Полето вече съществува.',
+ fieldSetting: 'Настройки на полето',
+ changesAffectNewParses: 'Промените засягат само нови обработки.',
+ restrictDefinedValues: 'Ограничи до дефинирани стойности',
+ metadataGenerationSettings: 'Настройки за генериране на метаданни',
+ manageMetadata: 'Управление на метаданни',
+ metadata: 'Метаданни',
+ values: 'Стойности',
+ value: 'Стойност',
+ action: 'Действие',
+ field: 'Поле',
+ description: 'Описание',
+ fieldName: 'Име на поле',
+ editMetadata: 'Редактирай метаданни',
+ addMetadata: 'Добави метаданни',
+ deleteWarn:
+ 'Този {{field}} ще бъде премахнат от всички свързани файлове',
+ deleteManageFieldAllWarn:
+ 'Това поле и всички негови съответстващи стойности ще бъдат изтрити от всички свързани файлове.',
+ deleteManageValueAllWarn:
+ 'Тази стойност ще бъде изтрита от всички свързани файлове.',
+ deleteManageFieldSingleWarn:
+ 'Това поле и всички негови съответстващи стойности ще бъдат изтрити от този файл.',
+ deleteManageValueSingleWarn:
+ 'Тази стойност ще бъде изтрита от този файл.',
+ deleteSettingFieldWarn: `Това поле ще бъде изтрито; съществуващите метаданни няма да бъдат засегнати.`,
+ deleteSettingValueWarn: `Тази стойност ще бъде изтрита; съществуващите метаданни няма да бъдат засегнати.`,
+ },
+ redoAll: 'Изчисти съществуващите фрагменти',
+ applyAutoMetadataSettings: 'Приложи глобални настройки за авто-метаданни',
+ parseFileTip: 'Сигурни ли сте, че искате да обработите?',
+ parseFile: 'Обработи файл',
+ emptyMetadata: 'Няма метаданни',
+ metadataField: 'Поле за метаданни',
+ systemAttribute: 'Системен атрибут',
+ localUpload: 'Локално качване',
+ fileSize: 'Размер на файла',
+ fileType: 'Тип файл',
+ uploadedBy: 'Качен от',
+ notGenerated: 'Не е генерирано',
+ generatedOn: 'Генерирано на ',
+ subbarFiles: 'Файлове',
+ generateKnowledgeGraph:
+ 'Това ще извлече обекти и връзки от всички ваши документи в този набор от данни. Процесът може да отнеме известно време.',
+ generateRaptor:
+ 'Извършва рекурсивно клъстериране и обобщаване на фрагменти от документи за изграждане на йерархична дървовидна структура, позволявайки по-контекстно извличане при обемни документи.',
+ generate: 'Генерирай',
+ raptor: 'RAPTOR',
+ processingType: 'Тип обработка',
+ dataPipeline: 'Входящ конвейер',
+ operations: 'Операции',
+ taskId: 'ID на задача',
+ duration: 'Продължителност',
+ details: 'Детайли',
+ status: 'Статус',
+ task: 'Задача',
+ startDate: 'Начална дата',
+ source: 'Източник',
+ fileName: 'Име на файл',
+ datasetLogs: 'Данни',
+ fileLogs: 'Файл',
+ overview: 'Логове',
+ success: 'Успех',
+ failed: 'Неуспешно',
+ completed: 'Завършено',
+ datasetLog: 'Лог на набора от данни',
+ created: 'Създадено',
+ learnMore: 'Въведение във вградения конвейер',
+ general: 'Общи',
+ chunkMethodTab: 'Метод за разделяне',
+ testResults: 'Резултати',
+ testSetting: 'Настройки',
+ retrievalTesting: 'Тестване на извличане',
+ retrievalTestingDescription:
+ 'Проведете тест за извличане, за да проверите дали RAGFlow може да възстанови предвиденото съдържание за LLM.',
+ Parse: 'Обработка',
+ dataset: 'Данни',
+ testing: 'Тестване на извличане',
+ files: 'файлове',
+ configuration: 'Конфигурация',
+ knowledgeGraph: 'Граф на знанията',
+ name: 'Име',
+ namePlaceholder: 'Моля, въведете име!',
+ doc: 'Документи',
+ datasetDescription:
+ 'Моля, изчакайте файловете ви да бъдат обработени, преди да започнете чат с AI.',
+ addFile: 'Добави файл',
+ searchFiles: 'Търсене във файловете',
+ localFiles: 'Локални файлове',
+ emptyFiles: 'Създай празен файл',
+ webCrawl: 'Уеб обхождане',
+ chunkNumber: 'Фрагменти',
+ uploadDate: 'Дата на качване',
+ chunkMethod: 'Метод за разделяне',
+ enabled: 'Активирай',
+ disabled: 'Деактивирай',
+ action: 'Действие',
+ parsingStatus: 'Статус на обработка',
+ parsingStatusTip:
+ 'Времето за обработка на документа зависи от няколко фактора. Активирането на функции като граф на знанията, RAPTOR, автоматично извличане на въпроси или автоматично извличане на ключови думи значително увеличава времето за обработка. Ако лентата за напредък спре, моля, консултирайте тези ЧЗВ: https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent.',
+ processBeginAt: 'Начало',
+ processDuration: 'Продължителност',
+ progressMsg: 'Прогрес',
+ noTestResultsForRuned:
+ 'Няма намерени релевантни резултати. Опитайте да коригирате заявката или параметрите.',
+ noTestResultsForNotRuned:
+ 'Все още не е изпълнен тест. Резултатите ще се появят тук.',
+ testingDescription:
+ 'Проведете тест за извличане, за да проверите дали RAGFlow може да възстанови предвиденото съдържание за LLM. Ако сте коригирали настройките по подразбиране, като тегло на сходство по ключови думи или праг на сходство, за да постигнете оптимални резултати, имайте предвид, че тези промени няма да бъдат автоматично запазени. Трябва да ги приложите в настройките на чат асистента или в настройките на компонента за извличане.',
+ similarityThreshold: 'Праг на сходство',
+ similarityThresholdTip:
+ 'RAGFlow използва или комбинация от претеглено сходство по ключови думи и претеглено векторно косинусно сходство, или комбинация от претеглено сходство по ключови думи и претеглена оценка за преподреждане при извличане. Този параметър задава прага за сходство между потребителската заявка и фрагментите. Всеки фрагмент с оценка за сходство под този праг ще бъде изключен от резултатите. По подразбиране прагът е зададен на 0.2.',
+ vectorSimilarityWeight: 'Тегло на векторно сходство',
+ vectorSimilarityWeightTip:
+ 'Задава теглото на сходство по ключови думи в комбинираната оценка за сходство, използвано с векторно косинусно сходство или с оценка за преподреждане. Общата сума на двете тегла трябва да е равна на 1.0.',
+ keywordSimilarityWeight: 'Тегло на сходство по ключови думи',
+ keywordSimilarityWeightTip:
+ 'Задава теглото на сходство по ключови думи в комбинираната оценка за сходство, използвано с векторно косинусно сходство или с оценка за преподреждане. Общата сума на двете тегла трябва да е равна на 1.0.',
+ testText: 'Тестов текст',
+ testTextPlaceholder: 'Въведете вашия въпрос тук!',
+ testingLabel: 'Изпълни',
+ similarity: 'Хибридно сходство',
+ termSimilarity: 'Сходство по термини',
+ vectorSimilarity: 'Векторно сходство',
+ hits: 'Попадения',
+ view: 'Преглед',
+ filesSelected: 'Избрани файлове',
+ upload: 'Качване',
+ run: 'Обработка',
+ runningStatus0: 'ИЗЧАКВАНЕ',
+ runningStatus1: 'ОБРАБОТКА',
+ runningStatus2: 'ОТМЕНЕНО',
+ runningStatus3: 'УСПЕХ',
+ runningStatus4: 'НЕУСПЕХ',
+ pageRanges: 'Диапазон на страници',
+ pageRangesTip:
+ 'Диапазон от страници за обработка; страниците извън този диапазон няма да бъдат обработени.',
+ fromPlaceholder: 'от',
+ fromMessage: 'Липсва начален номер на страница',
+ toPlaceholder: 'до',
+ toMessage: 'Липсва краен номер на страница (изключен)',
+ layoutRecognize: 'PDF парсер',
+ layoutRecognizeTip:
+ 'Използвайте визуален модел за анализ на оформлението на PDF, за ефективно разпознаване на заглавия, текстови блокове, изображения и таблици. Ако е избрана опцията naive, ще бъде извлечен само обикновеният текст от PDF. Моля, имайте предвид, че тази опция в момента работи САМО за PDF документи.',
+ taskPageSize: 'Размер на страница за задача',
+ taskPageSizeMessage: 'Моля, въведете размер на страница за задача!',
+ taskPageSizeTip: `По време на разпознаването на оформлението PDF файлът се разделя на части и се обработва паралелно за увеличаване на скоростта. Този параметър задава размера на всяка част. По-голям размер намалява вероятността от разделяне на непрекъснат текст между страниците.`,
+ addPage: 'Добави страница',
+ greaterThan: 'Текущата стойност трябва да е по-голяма от до!',
+ greaterThanPrevious:
+ 'Текущата стойност трябва да е по-голяма от предишната до!',
+ selectFiles: 'Избери файлове',
+ changeSpecificCategory: 'Промени конкретна категория',
+ uploadTitle: 'Плъзнете и пуснете файла тук за качване',
+ uploadDescription:
+ 'Поддържа единично или групово качване на файлове. За локално инсталиран RAGFlow: общият лимит за размер на файловете при качване е 1GB, с лимит от 32 файла на група. Няма ограничение за общия брой файлове на акаунт. За demo.ragflow.io, общият лимит за размер на файловете при качване е 10MB, като всеки файл не трябва да надвишава 10MB и максимум 128 файла на акаунт.',
+ chunk: 'Фрагмент',
+ bulk: 'Групово',
+ cancel: 'Отказ',
+ close: 'Затвори',
+ rerankModel: 'Модел за преподреждане',
+ rerankPlaceholder: 'Моля, изберете',
+ rerankTip: `Незадължително. Ако е оставено празно, RAGFlow ще използва комбинация от претеглено сходство по ключови думи и претеглено векторно косинусно сходство; ако е избран модел за преподреждане, претеглена оценка за преподреждане ще замени претегленото векторно косинусно сходство. Имайте предвид, че използването на модел за преподреждане значително увеличава времето за отговор на системата.`,
+ topK: 'Top-K',
+ topKTip: `Използва се заедно с модела за преподреждане. Тази настройка определя броя текстови фрагменти, които ще бъдат изпратени към указания модел за преподреждане.`,
+ delimiter: `Разделител за текст`,
+ delimiterTip:
+ 'Разделителят може да се състои от един или повече специални символа. Ако са повече символи, уверете се, че са оградени с обратни кавички (``). Например, ако конфигурирате разделителите си така: \\n`##`;, текстовете ви ще бъдат разделени при нов ред, двоен хеш (##) и точка и запетая.',
+ enableChildrenDelimiter: 'Дъщерни фрагменти се използват за извличане',
+ childrenDelimiter: 'Разделител за текст',
+ childrenDelimiterTip:
+ 'Разделителят може да се състои от един или повече специални символа. Ако са повече символи, уверете се, че са оградени с обратни кавички (``). Например, ако конфигурирате разделителите си така: \\n`##`;, текстовете ви ще бъдат разделени при нов ред, двоен хеш (##) и точка и запетая.',
+ html4excel: 'Excel към HTML',
+ html4excelTip: `Използвайте с метода за разделяне General. Когато е деактивирано, електронните таблици (XLSX или XLS(Excel 97-2003)) в базата от знания ще бъдат обработени като двойки ключ-стойност. Когато е активирано, те ще бъдат обработени като HTML таблици, разделяйки всеки 12 реда, ако оригиналната таблица има повече от 12 реда. Вижте https://ragflow.io/docs/dev/enable_excel2html за подробности.`,
+ autoKeywords: 'Авто-ключови думи',
+ autoKeywordsTip: `Автоматично извлича N ключови думи за всеки фрагмент, за да увеличи класирането им за заявки, съдържащи тези ключови думи. Имайте предвид, че допълнителни токени ще бъдат консумирани от индексиращия модел, указан в 'Конфигурация'. Можете да проверите или актуализирате добавените ключови думи за фрагмент от списъка с фрагменти. За подробности вижте https://ragflow.io/docs/dev/autokeyword_autoquestion.`,
+ autoQuestions: 'Авто-въпроси',
+ autoQuestionsTip: `Автоматично извлича N въпроса за всеки фрагмент, за да увеличи класирането им за заявки, съдържащи тези въпроси. Можете да проверите или актуализирате добавените въпроси за фрагмент от списъка с фрагменти. Тази функция няма да наруши процеса на разделяне при грешка, но може да добави празен резултат към оригиналния фрагмент. Имайте предвид, че допълнителни токени ще бъдат консумирани от индексиращия модел, указан в 'Конфигурация'. За подробности вижте https://ragflow.io/docs/dev/autokeyword_autoquestion.`,
+ redo: 'Искате ли да изчистите съществуващите {{chunkNum}} фрагменти?',
+ setMetaData: 'Задай метаданни',
+ pleaseInputJson: 'Моля, въведете JSON',
+ documentMetaTips: `Метаданните са във формат Json (не са търсими). Те ще бъдат добавени към подсказката за LLM, ако фрагменти от този документ са включени в подсказката.
+Примери:
+Метаданните са:
+
+ {
+ "Author": "Alex Dowson",
+ "Date": "2024-11-12"
+ }
+
+Подсказката ще бъде:
+Document: the_name_of_document
+Author: Alex Dowson
+Date: 2024-11-12
+Релевантни фрагменти, както следва:
+
+- Тук е съдържанието на фрагмента....
+- Тук е съдържанието на фрагмента....
+
+`,
+ metaData: 'Метаданни',
+ deleteDocumentConfirmContent:
+ 'Документът е свързан с графа на знанията. След изтриването свързаната информация за възли и връзки ще бъде изтрита, но графът няма да бъде актуализиран незабавно. Действието за актуализиране на графа се извършва по време на обработката на нов документ, който носи задача за извличане на граф на знанията.',
+ plainText: 'Naive',
+ reRankModelWaring: 'Моделът за преподреждане е много времеемък.',
+ },
+ knowledgeConfiguration: {
+ globalIndexModelTip:
+ 'Използва се за генериране на графове на знанията, RAPTOR, авто-метаданни, авто-ключови думи и авто-въпроси. Производителността на модела влияе на качеството на генерирането.',
+ globalIndexModel: 'Индексиращ модел',
+ settings: 'Настройки',
+ autoMetadataTip: `Автоматично генериране на метаданни. Прилага се за нови файлове по време на обработка. Съществуващите файлове изискват повторна обработка за актуализация (фрагментите се запазват). Имайте предвид, че допълнителни токени ще бъдат консумирани от индексиращия модел, указан в 'Конфигурация'.`,
+ imageTableContextWindow: 'Контекстен прозорец за изображения и таблици',
+ imageTableContextWindowTip:
+ 'Заснема N токена текст над и под изображението и таблицата, за да предостави по-богат фонов контекст.',
+ autoMetadata: 'Авто метаданни',
+ mineruOptions: 'MinerU опции',
+ mineruParseMethod: 'Метод на обработка',
+ mineruParseMethodTip:
+ 'Метод за обработка на PDF: auto (автоматично разпознаване), txt (извличане на текст), ocr (оптично разпознаване на символи)',
+ mineruFormulaEnable: 'Разпознаване на формули',
+ mineruFormulaEnableTip:
+ 'Активирай разпознаване на формули. Забележка: Това може да не работи правилно за документи на кирилица.',
+ mineruTableEnable: 'Разпознаване на таблици',
+ mineruTableEnableTip: 'Активирай разпознаване и извличане на таблици.',
+ paddleocrOptions: 'PaddleOCR опции',
+ paddleocrApiUrl: 'PaddleOCR API URL',
+ paddleocrApiUrlTip:
+ 'URL адресът на API крайната точка за PaddleOCR услугата',
+ paddleocrApiUrlPlaceholder:
+ 'напр. https://paddleocr-server.com/layout-parsing',
+ paddleocrAccessToken: 'AI Studio токен за достъп',
+ paddleocrAccessTokenTip:
+ 'Токен за достъп до PaddleOCR API (незадължителен)',
+ paddleocrAccessTokenPlaceholder:
+ 'Вашият AI Studio токен (незадължителен)',
+ paddleocrAlgorithm: 'PaddleOCR алгоритъм',
+ paddleocrAlgorithmTip: 'Алгоритъм за използване при PaddleOCR обработка',
+ paddleocrSelectAlgorithm: 'Изберете алгоритъм',
+ paddleocrModelNamePlaceholder: 'напр. paddleocr-from-env-1',
+ overlappedPercent: 'Процент на припокриване (%)',
+ generationScopeTip:
+ 'Определя дали RAPTOR се генерира за целия набор от данни или за единичен файл.',
+ scopeDataset: 'Данни',
+ generationScope: 'Обхват на генериране',
+ scopeSingleFile: 'Единичен файл',
+ autoParse: 'Автоматична обработка',
+ rebuildTip:
+ 'Повторно изтегля файловете от свързания източник на данни и ги обработва отново.',
+ baseInfo: 'Основни',
+ globalIndex: 'Глобален индекс',
+ dataSource: 'Източник на данни',
+ linkSourceSetTip:
+ 'Управлявайте свързването на източник на данни с този набор',
+ linkDataSource: 'Свържи източник на данни',
+ tocExtraction: 'PageIndex',
+ tocExtractionTip:
+ 'За съществуващи фрагменти генерира йерархично съдържание (една директория на файл). По време на заявки, когато е активирано подобряване на директория, системата ще използва голям модел, за да определи кои елементи от директорията са релевантни на въпроса на потребителя, като по този начин идентифицира съответните фрагменти.',
+ deleteGenerateModalContent: `
+ Изтриването на генерираните резултати от {{type}}
+ ще премахне всички извлечени обекти и връзки от този набор от данни.
+ Оригиналните ви файлове ще останат непокътнати.
+
+ Искате ли да продължите?
+ `,
+ extractRaptor: 'Извлечи Raptor',
+ extractKnowledgeGraph: 'Извлечи граф на знанията',
+ filterPlaceholder: 'моля, въведете филтър',
+ fileFilterTip: '',
+ fileFilter: 'Филтър за файлове',
+ setDefaultTip: '',
+ setDefault: 'Задай по подразбиране',
+ editLinkDataPipeline: 'Редактирай входящ конвейер',
+ linkPipelineSetTip:
+ 'Управлявайте свързването на входящ конвейер с този набор',
+ default: 'По подразбиране',
+ dataPipeline: 'Входящ конвейер',
+ linkDataPipeline: 'Свържи входящ конвейер',
+ enableAutoGenerate: 'Активирай автоматично генериране',
+ teamPlaceholder: 'Моля, изберете екип.',
+ dataFlowPlaceholder: 'Моля, изберете конвейер.',
+ buildItFromScratch: 'Изградете от нулата',
+ dataFlow: 'Конвейер',
+ parseType: 'Тип обработка',
+ manualSetup: 'Избери конвейер',
+ builtIn: 'Вграден',
+ titleDescription:
+ 'Актуализирайте конфигурацията на паметта тук, особено LLM и подсказките.',
+ name: 'Име на база от знания',
+ photo: 'Снимка на база от знания',
+ photoTip: 'Можете да качите изображение до 4 MB.',
+ description: 'Описание',
+ language: 'Език на документа',
+ languageMessage: 'Моля, въведете вашия език!',
+ languagePlaceholder: 'Моля, въведете вашия език!',
+ permissions: 'Разрешения',
+ embeddingModel: 'Embedding модел',
+ chunkTokenNumber: 'Препоръчителен размер на фрагмент',
+ chunkTokenNumberMessage:
+ 'Броят токени за текстов фрагмент е задължителен',
+ embeddingModelTip:
+ 'Embedding моделът по подразбиране, използван от базата от знания. След като базата от знания има фрагменти, при превключване на embedding модела системата произволно взема няколко фрагмента за проверка на съвместимостта, повторно ги вгражда с новия модел и изчислява косинусно сходство между новите и старите вектори. Превключването е разрешено само когато средното сходство на извадката е ≥ 0.9.',
+ permissionsTip:
+ "Ако е зададено на 'Екип', всички членове на вашия екип ще могат да управляват базата от знания.",
+ chunkTokenNumberTip:
+ 'Задава прага на токените за създаване на фрагмент. Сегмент с по-малко токени от този праг ще бъде комбиниран със следващите сегменти, докато броят на токените не надвиши прага, след което се създава фрагмент.',
+ chunkMethod: 'Метод за разделяне',
+ chunkMethodTip: 'Вижте съветите вдясно.',
+ upload: 'Качване',
+ english: 'Английски',
+ chinese: 'Китайски',
+ portugueseBr: 'Португалски (Бразилия)',
+ embeddingModelPlaceholder: 'Моля, изберете embedding модел.',
+ chunkMethodPlaceholder: 'Моля, изберете метод за разделяне.',
+ save: 'Запази',
+ me: 'Само аз',
+ team: 'Екип',
+ cancel: 'Отказ',
+ methodTitle: 'Описание на метода за разделяне',
+ methodExamples: 'Примери',
+ methodExamplesDescription:
+ 'Следните екранни снимки са предоставени за пояснение.',
+ dialogueExamplesTitle: 'преглед',
+ methodEmpty:
+ 'Тук ще се покаже визуално обяснение на категориите на базата от знания',
+ book: `
Поддържани файлови формати: DOCX, PDF, TXT.
+ За всяка книга в PDF, моля задайте диапазон на страници, за да премахнете нежелана информация и да намалите времето за анализ.
`,
+ laws: `Поддържани файлови формати: DOCX, PDF, TXT.
+ Правните документи обикновено следват строг формат на писане. Използваме текстови характеристики за идентифициране на точки за разделяне.
+
+ Фрагментът има детайлност, съответстваща на 'ЧЛЕН', осигурявайки включването на целия текст от по-горно ниво.
+
`,
+ manual: `Поддържа се само PDF.
+ Предполагаме, че ръководството има йерархична секционна структура, използвайки най-ниските заглавия на секции като основна единица за разделяне на документи. Затова фигурите и таблиците в една и съща секция няма да бъдат разделени, което може да доведе до по-големи размери на фрагменти.
+
`,
+ naive: `Поддържани файлови формати: MD, MDX, DOCX, XLSX, XLS (Excel 97-2003), PPTX, PDF, TXT, JPEG, JPG, PNG, TIF, GIF, CSV, JSON, EML, HTML.
+ Този метод разделя файлове по 'naive' метод:
+
+
Използва модел за визуално разпознаване, за да раздели текстовете на по-малки сегменти.
+ След това комбинира съседни сегменти, докато броят на токените не надвиши прага, указан от 'Брой токени за текстов фрагмент', при което се създава фрагмент.
`,
+ paper: `Поддържа се само PDF файл.
+ Статиите ще бъдат разделени по секции, като abstract, 1.1, 1.2.
+ Този подход позволява на LLM да обобщи статията по-ефективно и да предостави по-изчерпателни и разбираеми отговори.
+ Въпреки това увеличава контекста за AI разговори и добавя изчислителни разходи за LLM. Затова по време на разговор обмислете намаляване на стойността на 'topN'.
`,
+ presentation: `Поддържани файлови формати: PDF, PPTX.
+ Всяка страница от слайдовете се третира като фрагмент, с запазено миниатюрно изображение.
+ Този метод за разделяне се прилага автоматично към всички качени PPT файлове, така че не е необходимо да го указвате ръчно.
`,
+ qa: `
+
+ Този метод за разделяне поддържа файлови формати XLSX и CSV/TXT.
+
+
+ Ако файлът е във формат XLSX или XLS (Excel 97-2003), той трябва да съдържа две колони без заглавки: една за въпроси и друга за отговори, като колоната с въпроси предхожда колоната с отговори. Множество листове са допустими, при условие че колоните са правилно структурирани.
+
+
+ Ако файлът е във формат CSV/TXT, той трябва да е кодиран в UTF-8 с TAB като разделител за разделяне на въпроси и отговори.
+
+
+
+ Редове текст, които не следват горните правила, ще бъдат игнорирани и
+ всяка двойка въпрос-отговор ще се счита за отделен фрагмент.
+
+
+ `,
+ resume: `Поддържани файлови формати: DOCX, PDF, TXT.
+
+ Автобиографии от различни форми се анализират и организират в структурирани данни, за да улеснят търсенето на кандидати от специалисти по подбор.
+
+ `,
+ table: `Поддържани файлови формати: XLSX и CSV/TXT.
+ Ето някои предпоставки и съвети:
+
`,
+ picture: `
+ Поддържат се файлове с изображения, като поддръжката на видео предстои.
+ Този метод използва OCR модел за извличане на текст от изображения.
+
+ Ако текстът, извлечен от OCR модела, е недостатъчен, ще бъде използван указан визуален LLM за предоставяне на описание на изображението.
+
`,
+ one: `
+ Поддържани файлови формати: DOCX, XLSX, XLS (Excel 97-2003), PDF, TXT.
+
+ Този метод третира всеки документ в неговата цялост като фрагмент.
+
+ Приложимо, когато изисквате LLM да обобщи целия документ, при условие че може да обработи такава дължина на контекста.
+
`,
+ knowledgeGraph: `Поддържани файлови формати: DOCX, EXCEL, PPT, IMAGE, PDF, TXT, MD, JSON, EML
+
+
Този подход разделя файловете, използвайки метода 'naive'/'General'. Разделя документа на сегменти и след това комбинира съседни сегменти, докато броят на токените не надвиши прага, указан от 'Брой токени за текстов фрагмент', при което се създава фрагмент.
+Фрагментите след това се подават на LLM за извличане на обекти и връзки за граф на знанията и мисловна карта.
+Уверете се, че сте задали Типове обекти.
`,
+ tag: `База от знания, използваща метод за разделяне 'Tag', функционира като набор от тагове. Други бази от знания я използват за маркиране на своите фрагменти, а заявките към тези бази също се маркират с този набор от тагове.
+Набор от тагове НЯМА да бъде пряко включен в процес на генериране с допълнено извличане (RAG).
+Всеки фрагмент в тази база от знания е независима двойка описание-таг.
+Поддържани файлови формати: XLSX и CSV/TXT:
+Ако файлът е във формат XLSX, той трябва да съдържа две колони без заглавки: една за описания на тагове и друга за имена на тагове, като колоната с описания предхожда колоната с тагове. Множество листове са допустими, при условие че колоните са правилно структурирани.
+Ако файлът е във формат CSV/TXT, той трябва да е кодиран в UTF-8 с TAB като разделител за разделяне на описания и тагове.
+В колоната за тагове запетая се използва за разделяне на тагове.
+Редове текст, които не следват горните правила, ще бъдат игнорирани.
+`,
+ useRaptor: 'RAPTOR',
+ useRaptorTip:
+ 'RAPTOR може да се използва за задачи с многостъпково отговаряне на въпроси. Навигирайте до страницата с файлове, натиснете Генерирай > RAPTOR, за да го активирате. Вижте https://ragflow.io/docs/dev/enable_raptor за подробности.',
+ prompt: 'Подсказка',
+ promptTip:
+ 'Използвайте системната подсказка, за да опишете задачата за LLM, укажете как да отговаря и очертайте други изисквания. Системната подсказка често се използва заедно с ключове (променливи), които служат като различни входни данни за LLM. Използвайте наклонена черта `/` или бутона (x), за да покажете ключовете за използване.',
+ promptMessage: 'Подсказката е задължителна',
+ promptText: `Please summarize the following paragraphs. Be careful with the numbers, do not make things up. Paragraphs as following:
+ {cluster_content}
+The above is the content you need to summarize.`,
+ maxToken: 'Макс. токени',
+ maxTokenTip:
+ 'Максималният брой токени за генериран обобщителен фрагмент.',
+ maxTokenMessage: 'Макс. токени е задължително поле',
+ threshold: 'Праг',
+ thresholdTip:
+ 'В RAPTOR фрагментите се клъстерират по тяхното семантично сходство. Параметърът Праг задава минималното сходство, необходимо за групиране на фрагменти. По-висок праг означава по-малко фрагменти във всеки клъстер, а по-нисък — повече.',
+ thresholdMessage: 'Прагът е задължителен',
+ maxCluster: 'Макс. клъстери',
+ maxClusterTip: 'Максималният брой клъстери за създаване.',
+ maxClusterMessage: 'Макс. клъстери е задължително поле',
+ randomSeed: 'Случайно семе',
+ randomSeedMessage: 'Случайното семе е задължително',
+ entityTypes: 'Типове обекти',
+ vietnamese: 'Виетнамски',
+ pageRank: 'Page rank',
+ pageRankTip: `Можете да зададете по-висока PageRank оценка на конкретни бази от знания при извличане. Съответната оценка се добавя към хибридните оценки за сходство на извлечените фрагменти от тези бази, увеличавайки класирането им. Вижте https://ragflow.io/docs/dev/set_page_rank за подробности.`,
+ tagName: 'Таг',
+ frequency: 'Честота',
+ searchTags: 'Търсене на тагове',
+ tagCloud: 'Облак',
+ tagTable: 'Таблица',
+ tagSet: 'Набори от тагове',
+ tagSetTip: `
+ Изберете един или повече набори от тагове за автоматично маркиране на фрагменти в базата от знания. Вижте https://ragflow.io/docs/dev/use_tag_sets за подробности.
+Потребителската заявка също ще бъде автоматично маркирана.
+Тази функция за автоматично маркиране подобрява извличането чрез добавяне на още един слой от специфични за домейна знания към съществуващия набор от данни.
+Разлика между авто-таг и авто-ключова дума:
+
+ - Базата от тагове е дефиниран от потребителя затворен набор, докато ключовите думи, извлечени от LLM, могат да се разглеждат като отворен набор.
+ - Трябва да качите набори от тагове в указани формати, преди да стартирате функцията за авто-маркиране.
+ - Функцията за авто-ключови думи зависи от LLM и консумира значителен брой токени.
+
+ `,
+ topnTags: 'Top-N тагове',
+ tags: 'Тагове',
+ addTag: 'Добави таг',
+ useGraphRag: 'Граф на знанията',
+ useGraphRagTip:
+ 'Изграждане на граф на знанията върху фрагменти от файлове на текущата база от знания за подобряване на многостъпковото отговаряне на въпроси с вложена логика. Вижте https://ragflow.io/docs/dev/construct_knowledge_graph за подробности.',
+ graphRagMethod: 'Метод',
+ graphRagMethodTip: `
+ Light: (По подразбиране) Използва подсказки от github.com/HKUDS/LightRAG за извличане на обекти и връзки. Тази опция консумира по-малко токени, памет и изчислителни ресурси.
+ General: Използва подсказки от github.com/microsoft/graphrag за извличане на обекти и връзки`,
+ resolution: 'Разрешаване на обекти',
+ resolutionTip: `Превключвател за дедупликация на обекти. Когато е активиран, LLM ще комбинира подобни обекти — напр. '2025' и 'годината 2025', или 'ИТ' и 'Информационни технологии' — за изграждане на по-точен граф`,
+ community: 'Отчети на общности',
+ communityTip:
+ 'В граф на знанията общността е клъстер от обекти, свързани чрез връзки. Можете да накарате LLM да генерира резюме за всяка общност, известно като отчет на общността. Вижте тук за повече информация: https://www.microsoft.com/en-us/research/blog/graphrag-improving-global-search-via-dynamic-community-selection/',
+ theDocumentBeingParsedCannotBeDeleted:
+ 'Документът, който се обработва, не може да бъде изтрит',
+ lastWeek: 'от миналата седмица',
+ },
+ chunk: {
+ type: 'Тип',
+ docType: {
+ image: 'Изображение',
+ table: 'Таблица',
+ text: 'Текст',
+ },
+ chunk: 'Фрагмент',
+ bulk: 'Групово',
+ selectAll: 'Избери всички',
+ enabledSelected: 'Активирай избраните',
+ disabledSelected: 'Деактивирай избраните',
+ deleteSelected: 'Изтрий избраните',
+ search: 'Търсене',
+ all: 'Всички',
+ enabled: 'Активирани',
+ disabled: 'Деактивирани',
+ keyword: 'Ключова дума',
+ image: 'Изображение',
+ imageUploaderTitle:
+ 'Качете ново изображение, за да актуализирате този фрагмент с изображение',
+ function: 'Функция',
+ chunkMessage: 'Моля, въведете стойност!',
+ full: 'Пълен текст',
+ ellipse: 'Елипса',
+ graph: 'Граф на знанията',
+ mind: 'Мисловна карта',
+ question: 'Въпрос',
+ questionTip: `Ако има зададени въпроси, вграждането на фрагмента ще се базира на тях.`,
+ chunkResult: 'Резултат от фрагмент',
+ chunkResultTip: `Преглед на разделените сегменти, използвани за вграждане и извличане.`,
+ enable: 'Активирай',
+ disable: 'Деактивирай',
+ delete: 'Изтрий',
+ },
+ chat: {
+ messagePlaceholder: 'Въведете вашето съобщение тук...',
+ exit: 'Изход',
+ multipleModels: 'Множество модели',
+ applyModelConfigs: 'Приложи конфигурации на модели',
+ conversations: 'Разговори',
+ chatApps: 'Чат приложения',
+ newConversation: 'Нов разговор',
+ createAssistant: 'Създай асистент',
+ assistantSetting: 'Настройки на асистент',
+ promptEngine: 'Двигател за подсказки',
+ modelSetting: 'Настройки на модел',
+ chat: 'Чат',
+ newChat: 'Нов чат',
+ send: 'Изпрати',
+ sendPlaceholder: 'Съобщение до асистента...',
+ chatConfiguration: 'Конфигурация на чат',
+ chatConfigurationDescription:
+ 'Настройте чат асистент за избраните от вас набори от данни (бази от знания) тук!',
+ assistantName: 'Име на асистент',
+ assistantNameMessage: 'Името на асистента е задължително',
+ namePlaceholder: 'напр. Resume Jarvis',
+ assistantAvatar: 'Аватар на асистент',
+ language: 'Език',
+ emptyResponse: 'Празен отговор',
+ emptyResponseTip: `Задайте това като отговор, ако не се извлекат резултати от базите от знания за вашата заявка, или оставете полето празно, за да позволите на LLM да импровизира, когато нищо не е намерено.`,
+ emptyResponseMessage: `Празният отговор ще бъде задействан, когато нищо релевантно не е извлечено от базите от знания. Трябва да изчистите полето 'Празен отговор', ако не е избрана база от знания.`,
+ setAnOpener: 'Приветствие при отваряне',
+ setAnOpenerInitial: `Здравейте! Аз съм вашият асистент. С какво мога да ви помогна?`,
+ setAnOpenerTip: 'Задайте приветствие при отваряне за потребителите.',
+ knowledgeBases: 'Набори от данни',
+ knowledgeBasesMessage: 'Моля, изберете',
+ knowledgeBasesTip:
+ 'Изберете наборите от данни, които да свържете с този чат асистент. Празна база от знания няма да се появи в падащия списък.',
+ system: 'Системна подсказка',
+ systemInitialValue: `Вие сте интелигентен асистент. Основната ви функция е да отговаряте на въпроси стриктно въз основа на предоставената база от знания.
+
+ **Основни правила:**
+ - Отговорът ви трябва да произлиза **единствено** от тази база от знания: \`{knowledge}\`.
+ - **Когато информацията е налична**: Обобщете съдържанието, за да дадете подробен отговор.
+ - **Когато информацията не е налична**: Отговорът ви трябва да съдържа точно това изречение: "Отговорът, който търсите, не е намерен в базата от знания!"
+ - **Винаги вземайте предвид** цялата история на разговора.`,
+ systemMessage: 'Моля, въведете!',
+ systemTip:
+ 'Вашите подсказки или инструкции за LLM, включващи, но не само, неговата роля, желаната дължина, тон и език на отговорите. Ако моделът ви има вградена поддръжка за разсъждение, можете да добавите //no_thinking към подсказката, за да спрете разсъждението.',
+ topN: 'Top N',
+ topNTip: `Не всички фрагменти с оценка за сходство над 'прага на сходство' ще бъдат изпратени до LLM. Тази настройка избира 'Top N' фрагменти от извлечените.`,
+ variable: 'Променлива',
+ variableTip: `Използва се заедно с API-тата за управление на чат асистенти на RAGFlow. Променливите могат да помогнат за разработване на по-гъвкави стратегии за системни подсказки. Дефинираните променливи ще бъдат използвани от 'Системна подсказка' като част от подсказките за LLM. {knowledge} е запазена специална променлива, представляваща фрагменти от указаните бази от знания, и всички променливи трябва да бъдат оградени във фигурни скоби {} в 'Системна подсказка'. Вижте https://ragflow.io/docs/dev/set_chat_variables за подробности.`,
+ add: 'Добави',
+ key: 'Ключ',
+ optional: 'Незадължително',
+ operation: 'Операция',
+ model: 'Модел',
+ modelTip: 'Голям езиков чат модел',
+ modelMessage: 'Моля, изберете!',
+ modelEnabledTools: 'Активирани инструменти',
+ modelEnabledToolsTip:
+ 'Моля, изберете един или повече инструменти за използване от чат модела. Няма ефект за модели, които не поддържат извикване на инструменти.',
+ freedom: 'Креативност',
+ improvise: 'Импровизация',
+ precise: 'Прецизност',
+ balance: 'Баланс',
+ custom: 'Персонализиран',
+ freedomTip: `Бърз начин за настройка на 'Температура', 'Top P', 'Наказание за присъствие' и 'Наказание за честота', указващ нивото на свобода на модела. Този параметър има три опции: Изберете 'Импровизация' за по-креативни отговори; изберете 'Прецизност' (по подразбиране) за по-консервативни отговори; 'Баланс' е средно положение.`,
+ temperature: 'Температура',
+ temperatureMessage: 'Температурата е задължителна',
+ temperatureTip: `Този параметър контролира случайността на прогнозите на модела. По-ниска температура води до по-консервативни отговори, а по-висока — до по-креативни и разнообразни.`,
+ topP: 'Top P',
+ topPMessage: 'Top P е задължително',
+ topPTip:
+ 'Известен също като "nucleus sampling", този параметър задава праг за избор на по-малък набор от най-вероятните думи за семплиране, отрязвайки по-малко вероятните.',
+ presencePenalty: 'Наказание за присъствие',
+ presencePenaltyMessage: 'Наказание за присъствие е задължително',
+ presencePenaltyTip:
+ 'Обезкуражава модела да повтаря една и съща информация, като наказва думи, които вече са се появили в разговора.',
+ frequencyPenalty: 'Наказание за честота',
+ frequencyPenaltyMessage: 'Наказание за честота е задължително',
+ frequencyPenaltyTip:
+ 'Подобно на наказанието за присъствие, намалява склонността на модела да повтаря едни и същи думи често.',
+ maxTokens: 'Макс. токени',
+ maxTokensMessage: 'Макс. токени е задължително',
+ maxTokensTip: `Максималният размер на контекста на модела; невалидна или неправилна стойност ще предизвика грешка. По подразбиране е 512.`,
+ maxTokensInvalidMessage: 'Моля, въведете валидно число за макс. токени.',
+ maxTokensMinMessage: 'Макс. токени не може да бъде по-малко от 0.',
+ quote: 'Покажи цитат',
+ quoteTip: 'Дали да се показва оригиналният текст като справка.',
+ selfRag: 'Self-RAG',
+ selfRagTip: 'Моля, вижте: https://huggingface.co/papers/2310.11511',
+ overview: 'Chat ID',
+ pv: 'Брой съобщения',
+ uv: 'Брой активни потребители',
+ speed: 'Скорост на генериране на токени',
+ tokens: 'Консумирани токени',
+ round: 'Брой взаимодействия в сесия',
+ thumbUp: 'Удовлетвореност на клиентите',
+ preview: 'Преглед',
+ embedded: 'Вградено',
+ serviceApiEndpoint: 'Крайна точка на API услугата',
+ apiKey: 'API КЛЮЧ',
+ apiReference: 'API документация',
+ dateRange: 'Период:',
+ backendServiceApi: 'API сървър',
+ createNewKey: 'Създай нов ключ',
+ created: 'Създадено',
+ action: 'Действие',
+ embedModalTitle: 'Вграждане в уеб страница',
+ comingSoon: 'Очаквайте скоро',
+ fullScreenTitle: 'Пълно вграждане',
+ fullScreenDescription:
+ 'Вградете следния iframe във вашия уебсайт на желаното място',
+ partialTitle: 'Частично вграждане',
+ extensionTitle: 'Разширение за Chrome',
+ tokenError: 'Моля, първо създайте API ключ.',
+ betaError:
+ 'Моля, първо получете RAGFlow API ключ от страницата с системни настройки.',
+ searching: 'Търсене...',
+ parsing: 'Обработка',
+ uploading: 'Качване',
+ uploadFailed: 'Качването неуспешно',
+ regenerate: 'Генерирай отново',
+ read: 'Прочети съдържание',
+ tts: 'Текст към реч',
+ ttsTip:
+ 'Уверете се, че сте избрали TTS модел в страницата с настройки, преди да активирате този превключвател за възпроизвеждане на текст като аудио.',
+ relatedQuestion: 'Свързан въпрос',
+ answerTitle: 'О',
+ multiTurn: 'Многоходова оптимизация',
+ multiTurnTip:
+ 'Оптимизира потребителските заявки, използвайки контекста в многоходов разговор. Когато е активирано, ще консумира допълнителни LLM токени.',
+ howUseId: 'Как да използвате Chat ID?',
+ description: 'Описание на асистента',
+ descriptionPlaceholder: 'напр. Чат асистент за автобиографии.',
+ useKnowledgeGraph: 'Използвай граф на знанията',
+ useKnowledgeGraphTip:
+ 'Дали да се използва граф на знанията от указаните бази от знания по време на извличане за многостъпково отговаряне на въпроси. Когато е активирано, ще включва итеративни търсения в обекти, връзки и отчети на общности, значително увеличавайки времето за извличане.',
+ keyword: 'Анализ на ключови думи',
+ keywordTip: `Използвайте LLM за анализ на въпросите на потребителя, извличане на ключови думи, които ще бъдат подчертани при изчисляването на релевантността. Работи добре с дълги заявки, но увеличава времето за отговор.`,
+ languageTip:
+ 'Позволява пренаписване на изречения на указания език или по подразбиране използва последния въпрос, ако не е избран.',
+ avatarHidden: 'Скрий аватар',
+ locale: 'Локал',
+ selectLanguage: 'Изберете език',
+ reasoning: 'Разсъждение',
+ reasoningTip: `Дали да се активира работен процес на разсъждение по време на отговаряне на въпроси, както се вижда в модели като Deepseek-R1 или OpenAI o1. Когато е активирано, позволява на модела да достъпва външни знания и да решава сложни въпроси стъпка по стъпка, използвайки техники като верижно разсъждение.`,
+ tavilyApiKeyTip:
+ 'Ако API ключът е зададен правилно тук, ще бъдат използвани уеб търсения базирани на Tavily за допълване на извличането от базата от знания.',
+ tavilyApiKeyMessage: 'Моля, въведете вашия Tavily API ключ',
+ tavilyApiKeyHelp: 'Как да го получите?',
+ crossLanguage: 'Крос-езиково търсене',
+ crossLanguageTip: `Изберете един или повече езици за крос-езиково търсене. Ако не е избран език, системата търси с оригиналната заявка.`,
+ createChat: 'Създай чат',
+ metadata: 'Метаданни',
+ metadataTip:
+ 'Филтрирането по метаданни е процесът на използване на атрибути на метаданни (като тагове, категории или права за достъп) за прецизиране и контрол на извличането на релевантна информация в системата.',
+ conditions: 'Условия',
+ metadataKeys: 'Филтрируеми елементи',
+ addCondition: 'Добави условие',
+ meta: {
+ disabled: 'Деактивирано',
+ auto: 'Автоматично',
+ manual: 'Ръчно',
+ semi_auto: 'Полуавтоматично',
+ },
+ cancel: 'Отказ',
+ chatSetting: 'Настройки на чат',
+ tocEnhance: 'PageIndex',
+ tocEnhanceTip: `По време на обработката на документа е генерирана информация за съдържание (вижте опцията 'Активиране на извличане на съдържание' в метода General). Това позволява на големия модел да върне елементи от съдържанието, релевантни на заявката на потребителя, като използва тези елементи за извличане на свързани фрагменти и прилагане на тегло върху тях при сортирането.`,
+ batchDeleteSessions: 'Групово изтриване',
+ deleteSelectedConfirm: 'Изтриване на избраните {count} сесия(и)?',
+ },
+ setting: {
+ Verify: 'Провери',
+ keyValid: 'Вашият API ключ е валиден.',
+ keyInvalid: 'Вашият API ключ е невалиден.',
+ deleteModel: 'Изтрий модел',
+ bedrockCredentialsHint:
+ 'Съвет: Оставете Access Key / Secret Key празни, за да използвате AWS IAM автентикация.',
+ awsAuthModeAccessKeySecret: 'Access Key',
+ awsAuthModeIamRole: 'IAM Role',
+ awsAuthModeAssumeRole: 'Assume Role',
+ awsAccessKeyId: 'AWS Access Key ID',
+ awsSecretAccessKey: 'AWS Secret Access Key',
+ awsRoleArn: 'AWS Role ARN',
+ awsRoleArnMessage: 'Моля, въведете AWS Role ARN',
+ awsAssumeRoleTip:
+ 'Ако изберете този режим, Amazon EC2 инстанцията ще поеме съществуващата си роля за достъп до AWS услуги. Не са необходими допълнителни удостоверения.',
+ modelEmptyTip:
+ 'Няма налични модели.
Моля, добавете модели от панела вдясно.',
+ sourceEmptyTip:
+ 'Все още няма добавени източници на данни. Изберете един по-долу за свързване.',
+ seconds: 'секунди',
+ minutes: 'минути',
+ edit: 'Редактирай',
+ cropTip:
+ 'Плъзнете областта за избор, за да изберете позицията за изрязване на изображението, и превъртете за увеличаване/намаляване',
+ cropImage: 'Изрязване на изображение',
+ selectModelPlaceholder: 'Изберете модел',
+ configureModelTitle: 'Конфигуриране на модел',
+ connectorNameTip: 'Описателно име за конектора',
+ confluenceIsCloudTip:
+ 'Отметнете, ако това е Confluence Cloud инстанция, махнете за Confluence Server/Data Center',
+ confluenceWikiBaseUrlTip:
+ 'Базовият URL на вашата Confluence инстанция (напр. https://your-domain.atlassian.net/wiki)',
+ confluenceSpaceKeyTip:
+ 'Незадължително: Укажете ключ на пространство, за да ограничите синхронизацията до конкретно пространство. Оставете празно за синхронизация на всички достъпни пространства. За множество пространства разделете със запетаи (напр. DEV,DOCS,HR)',
+ s3PrefixTip: `Укажете пътя на папката във вашия S3 bucket за извличане на файлове.
+Пример: general/v2/`,
+ S3CompatibleEndpointUrlTip: `Задължително за S3 съвместимо хранилище. Укажете URL на S3-съвместимата крайна точка.
+Пример: https://fsn1.your-objectstorage.com`,
+ S3CompatibleAddressingStyleTip: `Задължително за S3 съвместимо хранилище. Укажете стила на адресиране.
+Пример: Virtual Hosted Style`,
+ addDataSourceModalTitle: 'Създайте вашия {{name}} конектор',
+ deleteSourceModalTitle: 'Изтрий източник на данни',
+ deleteSourceModalContent: `
+ Сигурни ли сте, че искате да изтриете тази връзка към източник на данни?
`,
+ deleteSourceModalConfirmText: 'Потвърди',
+ errorMsg: 'Съобщение за грешка',
+ newDocs: 'Нови документи',
+ timeStarted: 'Начално време',
+ log: 'Лог',
+ confluenceDescription:
+ 'Интегрирайте вашето Confluence работно пространство за търсене на документация.',
+ s3Description:
+ 'Свържете се с вашия AWS S3 bucket за импортиране и синхронизиране на съхранени файлове.',
+ google_cloud_storageDescription:
+ 'Свържете вашия Google Cloud Storage bucket за импортиране и синхронизиране на файлове.',
+ r2Description:
+ 'Свържете вашия Cloudflare R2 bucket за импортиране и синхронизиране на файлове.',
+ oci_storageDescription:
+ 'Свържете вашия Oracle Cloud Object Storage bucket за импортиране и синхронизиране на файлове.',
+ discordDescription:
+ 'Свържете вашия Discord сървър за достъп и анализ на чат данни.',
+ notionDescription:
+ 'Синхронизирайте страници и бази данни от Notion за извличане на знания.',
+ google_driveDescription:
+ 'Свържете вашия Google Drive чрез OAuth и синхронизирайте конкретни папки или дискове.',
+ gmailDescription:
+ 'Свържете вашия Gmail чрез OAuth за синхронизиране на имейли.',
+ webdavDescription:
+ 'Свържете се с WebDAV сървъри за синхронизиране на файлове.',
+ webdavRemotePathTip:
+ 'Незадължително: Укажете път на папка на WebDAV сървъра (напр. /Documents). Оставете празно за синхронизация от корена.',
+ google_driveTokenTip:
+ 'Качете OAuth токен JSON, генериран от OAuth помощника или Google Cloud Console.',
+ google_drivePrimaryAdminTip:
+ 'Имейл адрес с достъп до съдържанието на Drive, което се синхронизира',
+ zendeskDescription:
+ 'Свържете вашия Zendesk за синхронизиране на тикети, статии и друго съдържание.',
+ google_driveMyDriveEmailsTip:
+ 'Имейли, разделени със запетаи, чието съдържание от "My Drive" трябва да бъде индексирано.',
+ google_driveSharedFoldersTip:
+ 'Линкове към споделени папки в Google Drive, разделени със запетаи.',
+ gmailPrimaryAdminTip:
+ 'Имейл на основния администратор с достъп до Gmail / Workspace.',
+ gmailTokenTip: 'Качете OAuth JSON, генериран от Google Console.',
+ dropboxDescription:
+ 'Свържете вашия Dropbox за синхронизиране на файлове и папки от избран акаунт.',
+ bitbucketDescription:
+ 'Свържете Bitbucket за синхронизиране на PR съдържание.',
+ bitbucketTopWorkspaceTip:
+ 'Bitbucket работното пространство за индексиране (напр. "atlassian" от https://bitbucket.org/atlassian/workspace).',
+ bitbucketRepositorySlugsTip:
+ 'Имена на хранилища, разделени със запетаи. Напр. repo-one,repo-two',
+ bitbucketProjectsTip:
+ 'Ключове на проекти, разделени със запетаи. Напр. PROJ1,PROJ2',
+ bitbucketWorkspaceTip:
+ 'Този конектор ще индексира всички хранилища в работното пространство.',
+ boxDescription:
+ 'Свържете вашия Box диск за синхронизиране на файлове и папки.',
+ githubDescription:
+ 'Свържете GitHub за синхронизиране на pull requests и issues за извличане.',
+ airtableDescription:
+ 'Свържете се с Airtable и синхронизирайте файлове от определена таблица в определено работно пространство.',
+ gitlabDescription:
+ 'Свържете GitLab за синхронизиране на хранилища, issues, merge requests и свързана документация.',
+ asanaDescription:
+ 'Свържете се с Asana и синхронизирайте файлове от определено работно пространство.',
+ imapDescription:
+ 'Свържете се с вашата IMAP пощенска кутия за синхронизиране на имейли за извличане на знания.',
+ dropboxAccessTokenTip:
+ 'Генерирайте дълготраен токен за достъп в Dropbox App Console с обхвати files.metadata.read, files.content.read и sharing.read.',
+ moodleDescription:
+ 'Свържете се с вашата Moodle LMS за синхронизиране на съдържание на курсове, форуми и ресурси.',
+ moodleUrlTip:
+ 'Базовият URL на вашата Moodle инстанция (напр. https://moodle.university.edu).',
+ moodleTokenTip:
+ 'Генерирайте токен за уеб услуга в Moodle: Отидете на Site administration → Server → Web services → Manage tokens.',
+ seafileDescription:
+ 'Свържете се с вашия SeaFile сървър за синхронизиране на файлове и документи от вашите библиотеки.',
+ seafileUrlTip:
+ 'Базовият URL на вашия SeaFile сървър (напр. https://seafile.example.com).',
+ seafileTokenTip:
+ 'Генерирайте API токен в SeaFile: Отидете на Settings → API Token → Generate Token.',
+ seafileIncludeSharedTip:
+ 'Когато е активирано, библиотеките, споделени с вас от други потребители, също ще бъдат синхронизирани.',
+ seafileBatchSizeTip:
+ 'Брой документи за обработка на партида. По-високи стойности могат да подобрят производителността, но използват повече памет. По подразбиране: 100.',
+ jiraDescription:
+ 'Свържете вашето Jira работно пространство за синхронизиране на issues, коментари и прикачени файлове.',
+ jiraBaseUrlTip:
+ 'Базов URL на вашия Jira сайт (напр. https://your-domain.atlassian.net).',
+ jiraProjectKeyTip:
+ 'Незадължително: ограничете синхронизацията до единичен ключ на проект (напр. ENG).',
+ jiraJqlTip:
+ 'Незадължителен JQL филтър. Оставете празно за разчитане на филтри по проект/време.',
+ jiraBatchSizeTip: 'Максимален брой issues, заявени от Jira на партида.',
+ jiraCommentsTip:
+ 'Включете Jira коментари в генерирания markdown документ.',
+ jiraAttachmentsTip:
+ 'Изтеглете прикачени файлове като отделни документи по време на синхронизация.',
+ jiraAttachmentSizeTip:
+ 'Прикачени файлове, по-големи от този брой байтове, ще бъдат пропуснати.',
+ jiraLabelsTip:
+ 'Етикети, които трябва да бъдат пропуснати при индексиране (разделени със запетаи).',
+ jiraBlacklistTip:
+ 'Коментари, чийто имейл на автора съвпада с тези записи, ще бъдат игнорирани.',
+ jiraScopedTokenTip:
+ 'Активирайте, когато използвате обхванати Atlassian токени (api.atlassian.com).',
+ jiraEmailTip: 'Имейл, свързан с Jira акаунта/API токена.',
+ jiraTokenTip:
+ 'API токен, генериран от https://id.atlassian.com/manage-profile/security/api-tokens.',
+ jiraPasswordTip:
+ 'Незадължителна парола за Jira Server/Data Center среди.',
+ mysqlDescription:
+ 'Свържете се с MySQL база данни за синхронизиране на данни от таблици чрез SQL заявки.',
+ mysqlQueryTip:
+ 'SQL заявка за извличане на данни от вашата база данни (напр. SELECT * FROM products WHERE status = "active").',
+ mysqlContentColumnsTip:
+ 'Имена на колони, разделени със запетаи, чиито стойности ще бъдат комбинирани като съдържание на документ за векторизация.',
+ mysqlMetadataColumnsTip:
+ 'Имена на колони, разделени със запетаи, за съхранение като метаданни на документ (не се векторизират, но са търсими).',
+ mysqlIdColumnTip:
+ 'Колона за използване като уникален ID на документ. Ако не е указана, ще се използва хеш на съдържанието.',
+ mysqlTimestampColumnTip:
+ 'Колона с дата/време за инкрементална синхронизация. Ще бъдат извлечени само редове, модифицирани след последната синхронизация.',
+ postgresqlDescription:
+ 'Свържете се с PostgreSQL база данни за синхронизиране на данни от таблици чрез SQL заявки.',
+ postgresqlQueryTip:
+ "SQL заявка за извличане на данни от вашата база данни (напр. SELECT * FROM products WHERE status = 'active').",
+ postgresqlContentColumnsTip:
+ 'Имена на колони, разделени със запетаи, чиито стойности ще бъдат комбинирани като съдържание на документ за векторизация.',
+ postgresqlMetadataColumnsTip:
+ 'Имена на колони, разделени със запетаи, за съхранение като метаданни на документ (не се векторизират, но са търсими).',
+ postgresqlIdColumnTip:
+ 'Колона за използване като уникален ID на документ. Ако не е указана, ще се използва хеш на съдържанието.',
+ postgresqlTimestampColumnTip:
+ 'Колона с дата/време за инкрементална синхронизация. Ще бъдат извлечени само редове, модифицирани след последната синхронизация.',
+ availableSourcesDescription: 'Изберете източник на данни за добавяне',
+ availableSources: 'Налични източници',
+ datasourceDescription: 'Управлявайте вашите източници на данни и връзки',
+ save: 'Запази',
+ search: 'Търсене',
+ availableModels: 'Налични модели',
+ profile: 'Профил',
+ avatar: 'Аватар',
+ avatarTip: 'Това ще се показва във вашия профил.',
+ profileDescription: 'Актуализирайте вашата снимка и лични данни тук.',
+ maxTokens: 'Макс. токени',
+ maxTokensMessage: 'Макс. токени е задължително',
+ maxTokensTip: `Максималният размер на контекста на модела; невалидна или неправилна стойност ще предизвика грешка. По подразбиране е 512.`,
+ maxTokensInvalidMessage: 'Моля, въведете валидно число за макс. токени.',
+ maxTokensMinMessage: 'Макс. токени не може да бъде по-малко от 0.',
+ password: 'Парола',
+ passwordDescription:
+ 'Моля, въведете текущата си парола, за да я промените.',
+ model: 'Доставчици на модели',
+ systemModelDescription:
+ 'Моля, завършете тези настройки, преди да започнете',
+ dataSources: 'Източници на данни',
+ team: 'Екип',
+ system: 'Система',
+ logout: 'Изход',
+ api: 'API',
+ username: 'Име',
+ usernameMessage: 'Моля, въведете вашето потребителско име!',
+ photo: 'Вашата снимка',
+ photoDescription: 'Това ще се показва във вашия профил.',
+ colorSchema: 'Цветова схема',
+ colorSchemaMessage: 'Моля, изберете вашата цветова схема!',
+ colorSchemaPlaceholder: 'изберете вашата цветова схема',
+ bright: 'Светла',
+ dark: 'Тъмна',
+ timezone: 'Часова зона',
+ timezoneMessage: 'Моля, въведете вашата часова зона!',
+ timezonePlaceholder: 'изберете вашата часова зона',
+ email: 'Имейл',
+ emailDescription: 'След регистрация имейлът не може да бъде променен.',
+ currentPassword: 'Текуща парола',
+ currentPasswordMessage: 'Моля, въведете вашата парола!',
+ newPassword: 'Нова парола',
+ changePassword: 'Промяна на парола',
+ newPasswordMessage: 'Моля, въведете вашата парола!',
+ newPasswordDescription:
+ 'Новата ви парола трябва да е повече от 8 символа.',
+ confirmPassword: 'Потвърдете нова парола',
+ confirmPasswordMessage: 'Моля, потвърдете вашата парола!',
+ confirmPasswordNonMatchMessage: 'Въведените нови пароли не съвпадат!',
+ cancel: 'Отказ',
+ addedModels: 'Добавени модели',
+ modelsToBeAdded: 'Модели за добавяне',
+ addTheModel: 'Добави',
+ apiKey: 'API-Key',
+ apiKeyMessage: 'Моля, въведете API ключа',
+ apiKeyTip:
+ 'API ключът може да бъде получен чрез регистрация при съответния LLM доставчик.',
+ showMoreModels: 'Преглед на модели',
+ hideModels: 'Скрий модели',
+ baseUrl: 'Base-Url',
+ baseUrlTip:
+ 'Ако вашият API ключ е от OpenAI, просто го игнорирайте. Всеки друг междинен доставчик ще предостави този base url с API ключа.',
+ tongyiBaseUrlTip:
+ 'За китайски потребители не е необходимо да попълвате или използвайте https://dashscope.aliyuncs.com/compatible-mode/v1. За международни потребители използвайте https://dashscope-intl.aliyuncs.com/compatible-mode/v1',
+ tongyiBaseUrlPlaceholder:
+ '(Само за международни потребители, вижте съвета)',
+ minimaxBaseUrlTip:
+ 'Само за международни потребители: използвайте https://api.minimax.io/v1',
+ minimaxBaseUrlPlaceholder:
+ '(Само за международни потребители, попълнете https://api.minimax.io/v1)',
+ modify: 'Промени',
+ systemModelSettings: 'Задайте модели по подразбиране',
+ chatModel: 'LLM',
+ chatModelTip:
+ 'LLM по подразбиране за всяка новосъздадена база от знания.',
+ embeddingModel: 'Embedding',
+ embeddingModelTip:
+ 'Embedding модел по подразбиране за всяка новосъздадена база от знания. Ако не можете да намерите embedding модел от падащия списък, проверете дали използвате RAGFlow slim edition (която не включва embedding модели) или проверете https://ragflow.io/docs/dev/supported_models.',
+ img2txtModel: 'VLM',
+ img2txtModelTip:
+ 'VLM по подразбиране за всяка новосъздадена база от знания. Описва изображение или видео.',
+ sequence2txtModel: 'ASR',
+ sequence2txtModelTip:
+ 'ASR модел по подразбиране за всеки новосъздаден набор от данни. Използвайте този модел за превод на глас в съответен текст.',
+ rerankModel: 'Rerank',
+ rerankModelTip: `Модел за преподреждане по подразбиране.`,
+ ttsModel: 'TTS',
+ ttsModelTip: 'Модел за текст-към-реч по подразбиране.',
+ workspace: 'работно пространство',
+ upgrade: 'Надстройка',
+ addLlmTitle: 'Добави LLM',
+ editLlmTitle: 'Редактирай модел {{name}}',
+ editModel: 'Редактирай модел',
+ modelName: 'Име на модел',
+ modelID: 'ID на модел',
+ modelUid: 'UID на модел',
+ modelNameMessage: 'Моля, въведете името на модела!',
+ modelType: 'Тип модел',
+ modelTypeMessage: 'Моля, въведете типа на модела!',
+ addLlmBaseUrl: 'Base url',
+ baseUrlNameMessage: 'Моля, въведете вашия base url!',
+ paddleocr: {
+ apiUrl: 'PaddleOCR API URL',
+ apiUrlPlaceholder:
+ 'Например: https://paddleocr-server.com/layout-parsing',
+ accessToken: 'AI Studio токен за достъп',
+ accessTokenPlaceholder: 'Вашият AI Studio токен (незадължителен)',
+ algorithm: 'PaddleOCR алгоритъм',
+ selectAlgorithm: 'Изберете алгоритъм',
+ modelNamePlaceholder: 'Например: paddleocr-from-env-1',
+ modelNameRequired: 'Името на модела е задължително',
+ apiUrlRequired: 'PaddleOCR API URL е задължителен',
+ },
+ vision: 'Поддържа ли Vision?',
+ ollamaLink: 'Как да интегрирате {{name}}',
+ FishAudioLink: 'Как да използвате FishAudio',
+ TencentCloudLink: 'Как да използвате TencentCloud ASR',
+ volcModelNameMessage: 'Моля, въведете името на модела!',
+ addEndpointID: 'EndpointID на модела',
+ endpointIDMessage: 'Моля, въведете EndpointID на модела',
+ addArkApiKey: 'VOLC ARK_API_KEY',
+ ArkApiKeyMessage: 'Моля, въведете вашия ARK_API_KEY',
+ bedrockModelNameMessage: 'Моля, въведете името на модела!',
+ addBedrockEngineAK: 'ACCESS KEY',
+ bedrockAKMessage: 'Моля, въведете вашия ACCESS KEY',
+ addBedrockSK: 'SECRET KEY',
+ bedrockSKMessage: 'Моля, въведете вашия SECRET KEY',
+ bedrockRegion: 'AWS регион',
+ bedrockRegionMessage: 'Моля, изберете!',
+ 'us-east-2': 'US East (Ohio)',
+ 'us-east-1': 'US East (N. Virginia)',
+ 'us-west-1': 'US West (N. California)',
+ 'us-west-2': 'US West (Oregon)',
+ 'af-south-1': 'Africa (Cape Town)',
+ 'ap-east-1': 'Asia Pacific (Hong Kong)',
+ 'ap-south-2': 'Asia Pacific (Hyderabad)',
+ 'ap-southeast-3': 'Asia Pacific (Jakarta)',
+ 'ap-southeast-5': 'Asia Pacific (Malaysia)',
+ 'ap-southeast-4': 'Asia Pacific (Melbourne)',
+ 'ap-south-1': 'Asia Pacific (Mumbai)',
+ 'ap-northeast-3': 'Asia Pacific (Osaka)',
+ 'ap-northeast-2': 'Asia Pacific (Seoul)',
+ 'ap-southeast-1': 'Asia Pacific (Singapore)',
+ 'ap-southeast-2': 'Asia Pacific (Sydney)',
+ 'ap-east-2': 'Asia Pacific (Taipei)',
+ 'ap-southeast-7': 'Asia Pacific (Thailand)',
+ 'ap-northeast-1': 'Asia Pacific (Tokyo)',
+ 'ca-central-1': 'Canada (Central)',
+ 'ca-west-1': 'Canada West (Calgary)',
+ 'eu-central-1': 'Europe (Frankfurt)',
+ 'eu-west-1': 'Europe (Ireland)',
+ 'eu-west-2': 'Europe (London)',
+ 'eu-south-1': 'Europe (Milan)',
+ 'eu-west-3': 'Europe (Paris)',
+ 'eu-south-2': 'Europe (Spain)',
+ 'eu-north-1': 'Europe (Stockholm)',
+ 'eu-central-2': 'Europe (Zurich)',
+ 'il-central-1': 'Israel (Tel Aviv)',
+ 'mx-central-1': 'Mexico (Central)',
+ 'me-south-1': 'Middle East (Bahrain)',
+ 'me-central-1': 'Middle East (UAE)',
+ 'sa-east-1': 'South America (São Paulo)',
+ 'us-gov-east-1': 'AWS GovCloud (US-East)',
+ 'us-gov-west-1': 'AWS GovCloud (US-West)',
+ addTencentCloudSID: 'TencentCloud Secret ID',
+ TencentCloudSIDMessage: 'Моля, въведете вашия Secret ID',
+ addTencentCloudSK: 'TencentCloud Secret Key',
+ TencentCloudSKMessage: 'Моля, въведете вашия Secret Key',
+ SparkModelNameMessage: 'Моля, изберете Spark модел',
+ addSparkAPIPassword: 'Spark APIPassword',
+ SparkAPIPasswordMessage: 'Моля, въведете вашия APIPassword',
+ addSparkAPPID: 'Spark APP ID',
+ SparkAPPIDMessage: 'Моля, въведете вашия APP ID',
+ addSparkAPISecret: 'Spark APISecret',
+ SparkAPISecretMessage: 'Моля, въведете вашия APISecret',
+ addSparkAPIKey: 'Spark APIKey',
+ SparkAPIKeyMessage: 'Моля, въведете вашия APIKey',
+ yiyanModelNameMessage: 'Моля, въведете име на модел',
+ addyiyanAK: 'yiyan API KEY',
+ yiyanAKMessage: 'Моля, въведете вашия API KEY',
+ addyiyanSK: 'yiyan Secret KEY',
+ yiyanSKMessage: 'Моля, въведете вашия Secret KEY',
+ FishAudioModelNameMessage:
+ 'Моля, дайте име на вашия модел за синтез на реч',
+ addFishAudioAK: 'Fish Audio API KEY',
+ addFishAudioAKMessage: 'Моля, въведете вашия API KEY',
+ addFishAudioRefID: 'FishAudio Reference ID',
+ addFishAudioRefIDMessage:
+ 'Моля, въведете Reference ID (оставете празно за използване на модела по подразбиране).',
+ GoogleModelIDMessage: 'Моля, въведете вашия model ID!',
+ addGoogleProjectID: 'Project ID',
+ GoogleProjectIDMessage: 'Моля, въведете вашия Project ID',
+ addGoogleServiceAccountKey:
+ 'Service Account Key (Оставете празно, ако използвате Application Default Credentials)',
+ GoogleServiceAccountKeyMessage:
+ 'Моля, въведете Google Cloud Service Account Key в base64 формат',
+ addGoogleRegion: 'Google Cloud регион',
+ GoogleRegionMessage: 'Моля, въведете Google Cloud регион',
+ modelProvidersWarn: `Моля, първо добавете embedding модел и LLM в Настройки > Доставчици на модели. След това ги задайте в 'Задайте модели по подразбиране'.`,
+ apiVersion: 'API-Version',
+ apiVersionMessage: 'Моля, въведете API версия',
+ add: 'Добави',
+ updateDate: 'Дата',
+ role: 'Статус',
+ invite: 'Покани член',
+ agree: 'Приеми',
+ refuse: 'Откажи',
+ teamMembers: 'Членове на екипа',
+ joinedTeams: 'Присъединени екипи',
+ sureDelete: 'Сигурни ли сте, че искате да премахнете този член?',
+ quit: 'Напусни',
+ sureQuit:
+ 'Сигурни ли сте, че искате да напуснете екипа, към който сте се присъединили?',
+ secretKey: 'Таен ключ',
+ publicKey: 'Публичен ключ',
+ secretKeyMessage: 'Моля, въведете тайния ключ',
+ publicKeyMessage: 'Моля, въведете публичния ключ',
+ hostMessage: 'Моля, въведете хоста',
+ configuration: 'Конфигурация',
+ langfuseDescription:
+ 'Следи, оценки, управление на подсказки и метрики за отстраняване на грешки и подобряване на вашето LLM приложение.',
+ viewLangfuseSDocumentation: 'Вижте документацията на Langfuse',
+ view: 'Преглед',
+ modelsToBeAddedTooltip:
+ 'Ако вашият доставчик на модели не е в списъка, но твърди, че е "OpenAI-съвместим", изберете картата OpenAI-API-compatible, за да добавите съответния(те) модел(и).',
+ mcp: 'MCP',
+ mineru: {
+ modelNameRequired: 'Името на модела е задължително',
+ apiServerRequired: 'MinerU API Server конфигурацията е задължителна',
+ serverUrlBackendLimit:
+ 'MinerU Server URL адресът е наличен само за HTTP client backend',
+ apiserver: 'MinerU API Server конфигурация',
+ outputDir: 'MinerU път на изходна директория',
+ backend: 'MinerU тип на обработващ backend',
+ serverUrl: 'MinerU Server URL адрес',
+ deleteOutput: 'Изтрий изходните файлове след обработка',
+ selectBackend: 'Изберете обработващ backend',
+ backendOptions: {
+ pipeline: 'Стандартна конвейерна обработка',
+ vlmTransformers: 'Vision Language Model с Transformers',
+ vlmVllmEngine: 'Vision Language Model с vLLM Engine',
+ vlmHttpClient: 'Vision Language Model чрез HTTP Client',
+ vlmMlxEngine: 'Vision Language Model с MLX Engine',
+ vlmVllmAsyncEngine:
+ 'Vision Language Model с vLLM Async Engine (Експериментален)',
+ vlmLmdeployEngine:
+ 'Vision Language Model с LMDeploy Engine (Експериментален)',
+ },
+ },
+ modelTypes: {
+ chat: 'Чат',
+ embedding: 'Embedding',
+ rerank: 'Rerank',
+ sequence2text: 'sequence2text',
+ tts: 'TTS',
+ image2text: 'OCR',
+ speech2text: 'ASR',
+ },
+ showToc: 'Покажи съдържание',
+ hideToc: 'Скрий съдържание',
+ },
+ message: {
+ registered: 'Регистриран!',
+ logout: 'изход',
+ logged: 'влязъл!',
+ pleaseSelectChunk: 'Моля, изберете фрагмент!',
+ registerDisabled: 'Регистрацията на потребители е деактивирана',
+ modified: 'Променено',
+ created: 'Създадено',
+ deleted: 'Изтрито',
+ renamed: 'Преименувано',
+ operated: 'Извършено',
+ updated: 'Актуализирано',
+ uploaded: 'Качено',
+ 200: 'Сървърът успешно връща заявените данни.',
+ 201: 'Данните са създадени или променени успешно.',
+ 202: 'Заявка е поставена на опашката във фонов режим (асинхронна задача).',
+ 204: 'Данните са изтрити успешно.',
+ 400: 'Имаше грешка в изпратената заявка и сървърът не създаде или промени данни.',
+ 401: 'Моля, влезте отново.',
+ 403: 'Потребителят е оторизиран, но достъпът е забранен.',
+ 404: 'Заявката е направена за запис, който не съществува, и сървърът не извърши операцията.',
+ 406: 'Заявеният формат не е наличен.',
+ 410: 'Заявеният ресурс е бил окончателно изтрит и няма да бъде наличен отново.',
+ 413: 'Общият размер на файловете, качени наведнъж, е твърде голям.',
+ 422: 'При създаване на обект възникна грешка при валидация.',
+ 500: 'Възникна грешка на сървъра, моля, проверете сървъра.',
+ 502: 'Грешка на шлюза.',
+ 503: 'Услугата не е налична и сървърът е временно претоварен или в поддръжка.',
+ 504: 'Изтичане на времето на шлюза.',
+ requestError: 'Грешка в заявката',
+ networkAnomalyDescription:
+ 'Има аномалия във вашата мрежа и не можете да се свържете със сървъра.',
+ networkAnomaly: 'мрежова аномалия',
+ hint: 'подсказка',
+ },
+ fileManager: {
+ files: 'Файлове',
+ name: 'Име',
+ uploadDate: 'Дата на качване',
+ knowledgeBase: 'Данни',
+ size: 'Размер',
+ action: 'Действие',
+ addToKnowledge: 'Свържи с набор от данни',
+ pleaseSelect: 'Моля, изберете',
+ newFolder: 'Нова папка',
+ file: 'Файл',
+ uploadFile: 'Качи файл',
+ parseOnCreation: 'Обработи при създаване',
+ directory: 'Директория',
+ uploadTitle: 'Плъзнете и пуснете файла тук за качване',
+ uploadDescription:
+ 'Поддържа единично или групово качване на файлове. За локално инсталиран RAGFlow: общият лимит за размер на файловете при качване е 1GB, с лимит от 32 файла на група. Няма ограничение за общия брой файлове на акаунт. За demo.ragflow.io, общият лимит за размер на файловете при качване е 10MB, като всеки файл не трябва да надвишава 10MB и максимум 128 файла на акаунт.',
+ local: 'Локални качвания',
+ s3: 'S3 качвания',
+ preview: 'Преглед',
+ fileError: 'Грешка с файл',
+ uploadLimit:
+ 'Всеки файл не трябва да надвишава 10MB, а общият брой файлове не трябва да надвишава 128.',
+ destinationFolder: 'Целева папка',
+ pleaseUploadAtLeastOneFile: 'Моля, качете поне един файл',
+ },
+ flow: {
+ autoPlay: 'Автоматично възпроизвеждане на аудио',
+ downloadFileTypeTip: 'Тип файл за изтегляне',
+ downloadFileType: 'Тип файл за изтегляне',
+ formatTypeError: 'Грешка във формат или тип',
+ variableNameMessage:
+ 'Името на променливата може да съдържа само букви, долни черти и цифри',
+ variableDescription: 'Описание на променлива',
+ defaultValue: 'Стойност по подразбиране',
+ conversationVariable: 'Променлива на разговора',
+ recommended: 'Препоръчано',
+ customerSupport: 'Обслужване на клиенти',
+ marketing: 'Маркетинг',
+ consumerApp: 'Потребителско приложение',
+ other: 'Друго',
+ ingestionPipeline: 'Входящ конвейер',
+ agents: 'Агенти',
+ days: 'Дни',
+ beginInput: 'Начален вход',
+ ref: 'Променлива',
+ stockCode: 'Борсов код',
+ apiKeyPlaceholder:
+ 'YOUR_API_KEY (получен от https://serpapi.com/manage-api-key)',
+ flowStart: 'Старт',
+ flowNum: 'N',
+ test: 'Тест',
+ extractDepth: 'Дълбочина на извличане',
+ format: 'Формат',
+ basic: 'основен',
+ advanced: 'разширен',
+ general: 'общ',
+ searchDepth: 'Дълбочина на търсене',
+ tavilyTopic: 'Tavily тема',
+ maxResults: 'Макс. резултати',
+ includeAnswer: 'Включи отговор',
+ includeRawContent: 'Включи суров вход',
+ includeImages: 'Включи изображения',
+ includeImageDescriptions: 'Включи описания на изображения',
+ includeDomains: 'Включи домейни',
+ ExcludeDomains: 'Изключи домейни',
+ Days: 'Дни',
+ comma: 'Запетая',
+ semicolon: 'Точка и запетая',
+ period: 'Точка',
+ lineBreak: 'Нов ред',
+ tab: 'Табулация',
+ space: 'Интервал',
+ delimiters: 'Разделители',
+ enableChildrenDelimiters: 'Дъщерни фрагменти се използват за извличане',
+ merge: 'Обедини',
+ split: 'Раздели',
+ script: 'Скрипт',
+ iterationItemDescription:
+ 'Представлява текущия елемент в итерацията, който може да бъде референ и манипулиран в следващите стъпки.',
+ guidingQuestion: 'Насочващ въпрос',
+ onFailure: 'При неуспех',
+ userPromptDefaultValue:
+ 'Това е поръчката, която трябва да изпратите до агента.',
+ search: 'Търсене',
+ communication: 'Комуникация',
+ developer: 'Разработчик',
+ typeCommandORsearch: 'Въведете команда или търсете...',
+ builtIn: 'Вграден',
+ ExceptionDefaultValue: 'Стойност по подразбиране при изключение',
+ exceptionMethod: 'Метод за изключение',
+ maxRounds: 'Макс. кръгове за рефлексия',
+ delayAfterError: 'Забавяне след грешка',
+ maxRetries: 'Макс. опити за повторение',
+ advancedSettings: 'Разширени настройки',
+ addTools: 'Добави инструменти',
+ sysPromptDefaultValue: `
+
+ You are a helpful assistant, an AI assistant specialized in problem-solving for the user.
+ If a specific domain is provided, adapt your expertise to that domain; otherwise, operate as a generalist.
+
+
+ 1. Understand the user's request.
+ 2. Decompose it into logical subtasks.
+ 3. Execute each subtask step by step, reasoning transparently.
+ 4. Validate accuracy and consistency.
+ 5. Summarize the final result clearly.
+ `,
+ singleLineText: 'Еднореден текст',
+ multimodalModels: 'Мултимодални модели',
+ textOnlyModels: 'Само текстови модели',
+ allModels: 'Всички модели',
+ codeExecDescription:
+ 'Напишете вашата персонализирана Python или Javascript логика.',
+ stringTransformDescription:
+ 'Променя текстово съдържание. В момента поддържа: Разделяне или конкатениране на текст.',
+ foundation: 'Основи',
+ tools: 'Инструменти',
+ dataManipulation: 'Манипулация на данни',
+ flow: 'Поток',
+ dialog: 'Диалог',
+ cite: 'Цитирай',
+ citeTip: 'citeTip',
+ name: 'Име',
+ nameMessage: 'Моля, въведете име',
+ description: 'Описание',
+ descriptionMessage: 'Това е агент за конкретна задача.',
+ examples: 'Примери',
+ to: 'Към',
+ msg: 'Съобщения',
+ msgTip:
+ 'Извежда съдържанието на променливата от горния компонент или текста, въведен от вас.',
+ messagePlaceholder: `Моля, въведете съдържанието на съобщението, използвайте '/' за бързо вмъкване на променливи.`,
+ messageMsg: 'Моля, въведете съобщение или изтрийте това поле.',
+ addField: 'Добави опция',
+ addMessage: 'Добави съобщение',
+ loop: 'Цикъл',
+ loopDescription:
+ 'Цикълът е горната граница на броя цикли на текущия компонент. Когато броят на циклите надвиши стойността, компонентът не може да завърши текущата задача. Моля, оптимизирайте отново агента.',
+ exitLoop: 'Излез от цикъл',
+ exitLoopDescription: `Еквивалентно на "break". Този възел няма конфигурационни елементи. Когато тялото на цикъла достигне този възел, цикълът приключва.`,
+ loopVariables: 'Променливи на цикъл',
+ maximumLoopCount: 'Максимален брой цикли',
+ loopTerminationCondition: 'Условие за прекратяване на цикъл',
+ yes: 'Да',
+ no: 'Не',
+ key: 'Ключ',
+ componentId: 'ID на компонент',
+ add: 'Добави',
+ operation: 'операция',
+ run: 'Изпълни',
+ save: 'Запази',
+ title: 'ID:',
+ beginDescription: 'Тук потокът започва.',
+ answerDescription: `Компонент, който служи като интерфейс между човек и бот, получавайки потребителски входове и показвайки отговорите на агента.`,
+ retrievalDescription: `Компонент, който извлича информация от указани бази от знания (набори от данни). Уверете се, че избраните бази от знания използват един и същ embedding модел.`,
+ generateDescription: `Компонент, който подканва LLM да генерира отговори. Уверете се, че подсказката е зададена правилно.`,
+ categorizeDescription: `Компонент, който използва LLM за класифициране на потребителски входове в предварително дефинирани категории. Уверете се, че сте указали името, описанието и примерите за всяка категория, заедно със съответния следващ компонент.`,
+ relevantDescription: `Компонент, който използва LLM за оценка дали изходът от горния компонент е релевантен на последната заявка на потребителя. Уверете се, че сте указали следващия компонент за всеки резултат от оценката.`,
+ rewriteQuestionDescription: `Компонент, който пренаписва потребителска заявка от компонента Interact, въз основа на контекста от предишни диалози.`,
+ messageDescription:
+ 'Този компонент връща крайния изход от работния процес заедно с предварително дефинирано съдържание на съобщение.',
+ keywordDescription: `Компонент, който извлича Top N резултати от търсенето от входа на потребителя. Уверете се, че стойността TopN е зададена правилно преди употреба.`,
+ switchDescription: `Компонент, който оценява условия въз основа на изхода от предишни компоненти и насочва потока на изпълнение съответно.`,
+ wikipediaDescription: `Компонент, който търси от wikipedia.org, използвайки TopN за определяне на броя резултати от търсенето. Допълва съществуващите бази от знания.`,
+ promptText: `Please summarize the following paragraphs. Be careful with the numbers, do not make things up. Paragraphs as following:
+ {input}
+ The above is the content you need to summarize.`,
+ createGraph: 'Създай агент',
+ createFromTemplates: 'Създай от шаблон',
+ retrieval: 'Извличане',
+ generate: 'Генериране',
+ answer: 'Взаимодействие',
+ categorize: 'Категоризиране',
+ rewriteQuestion: 'Пренаписване',
+ rewrite: 'Пренаписване',
+ begin: 'Начало',
+ message: 'Съобщение',
+ blank: 'Празен',
+ createFromNothing: 'Създайте вашия агент от нулата',
+ addItem: 'Добави елемент',
+ addSubItem: 'Добави поделемент',
+ nameRequiredMsg: 'Името е задължително',
+ nameRepeatedMsg: 'Името не може да се повтаря',
+ keywordExtract: 'Ключова дума',
+ keywordExtractDescription: `Компонент, който извлича ключови думи от потребителска заявка, като Top N указва броя на ключовите думи за извличане.`,
+ baidu: 'Baidu',
+ baiduDescription: `Компонент, който търси от baidu.com, използвайки TopN за определяне на броя резултати. Допълва съществуващите бази от знания.`,
+ duckDuckGo: 'DuckDuckGo',
+ duckDuckGoDescription:
+ 'Компонент, който търси от duckduckgo.com, позволявайки ви да укажете броя резултати с TopN. Допълва съществуващите бази от знания.',
+ searXNG: 'SearXNG',
+ searXNGDescription:
+ 'Компонент, който търси чрез вашия SearXNG инстанция URL. Укажете TopN и URL на инстанцията.',
+ pdfGenerator: 'Генератор на документи',
+ pDFGenerator: 'Генератор на документи',
+ pdfGeneratorDescription: `Компонент, който генерира документи (PDF, DOCX, TXT) от markdown-форматирано съдържание с персонализирано стилизиране, изображения и таблици.`,
+ pDFGeneratorDescription: `Компонент, който генерира документи (PDF, DOCX, TXT) от markdown-форматирано съдържание с персонализирано стилизиране, изображения и таблици.`,
+ subtitle: 'Подзаглавие',
+ logoImage: 'Лого изображение',
+ logoPosition: 'Позиция на логото',
+ logoWidth: 'Ширина на логото',
+ logoHeight: 'Височина на логото',
+ fontFamily: 'Шрифт',
+ fontSize: 'Размер на шрифта',
+ titleFontSize: 'Размер на шрифта на заглавието',
+ pageSize: 'Размер на страница',
+ orientation: 'Ориентация',
+ marginTop: 'Горен марж',
+ marginBottom: 'Долен марж',
+ filename: 'Име на файл',
+ outputDirectory: 'Изходна директория',
+ addPageNumbers: 'Добави номера на страници',
+ addTimestamp: 'Добави времеви печат',
+ watermarkText: 'Текст на воден знак',
+ channel: 'Канал',
+ channelTip: `Извършва текстово търсене или търсене на новини по входа на компонента`,
+ text: 'Текст',
+ news: 'Новини',
+ messageHistoryWindowSize: 'Размер на прозореца за съобщения',
+ messageHistoryWindowSizeTip:
+ 'Размерът на прозореца на историята на разговора, видим за LLM. По-голям е по-добре, но внимавайте за максималния лимит на токени на LLM.',
+ wikipedia: 'Wikipedia',
+ pubMed: 'PubMed',
+ pubMedDescription:
+ 'Компонент, който търси от https://pubmed.ncbi.nlm.nih.gov/, позволявайки ви да укажете броя резултати с TopN.',
+ email: 'Имейл',
+ emailTip:
+ 'Имейлът е задължително поле. Трябва да въведете имейл адрес тук.',
+ arXiv: 'ArXiv',
+ arXivDescription:
+ 'Компонент, който търси от https://arxiv.org/, позволявайки ви да укажете броя резултати с TopN.',
+ sortBy: 'Сортирай по',
+ submittedDate: 'Дата на подаване',
+ lastUpdatedDate: 'Дата на последна актуализация',
+ relevance: 'Релевантност',
+ google: 'Google',
+ googleDescription:
+ 'Компонент, който търси от https://www.google.com/, позволявайки ви да укажете броя резултати с TopN. Изисква API ключ от serpapi.com.',
+ bing: 'Bing',
+ bingDescription:
+ 'Компонент, който търси от https://www.bing.com/, позволявайки ви да укажете броя резултати с TopN. Изисква API ключ от microsoft.com.',
+ apiKey: 'API KEY',
+ country: 'Държава и регион',
+ language: 'Език',
+ googleScholar: 'Google Scholar',
+ googleScholarDescription:
+ 'Компонент, който търси в https://scholar.google.com/. Можете да използвате Top N за определяне на броя резултати.',
+ yearLow: 'Година от',
+ yearHigh: 'Година до',
+ patents: 'Патенти',
+ data: 'Данни',
+ deepL: 'DeepL',
+ deepLDescription:
+ 'Компонент, който получава специализирани преводи от https://www.deepl.com/.',
+ authKey: 'Ключ за оторизация',
+ sourceLang: 'Изходен език',
+ targetLang: 'Целеви език',
+ gitHub: 'GitHub',
+ gitHubDescription:
+ 'Компонент, който търси хранилища от https://github.com/. Можете да използвате Top N за определяне на броя резултати.',
+ baiduFanyi: 'BaiduFanyi',
+ baiduFanyiDescription:
+ 'Компонент, който получава специализирани преводи от https://fanyi.baidu.com/.',
+ appid: 'App ID',
+ secretKey: 'Таен ключ',
+ domain: 'Домейн',
+ transType: 'Тип превод',
+ baiduSecretKeyOptions: {
+ translate: 'Общ превод',
+ fieldtranslate: 'Специализиран превод',
+ },
+ baiduDomainOptions: {
+ it: 'Информационни технологии',
+ finance: 'Финанси и икономика',
+ machinery: 'Машиностроене',
+ senimed: 'Биомедицина',
+ novel: 'Онлайн литература',
+ academic: 'Академична статия',
+ aerospace: 'Аерокосмическа индустрия',
+ wiki: 'Хуманитарни и социални науки',
+ news: 'Новини и информация',
+ law: 'Закони и разпоредби',
+ contract: 'Договор',
+ },
+ baiduSourceLangOptions: {
+ auto: 'Автоматично разпознаване',
+ zh: 'Китайски',
+ en: 'Английски',
+ yue: 'Кантонски',
+ wyw: 'Класически китайски',
+ jp: 'Японски',
+ kor: 'Корейски',
+ fra: 'Френски',
+ spa: 'Испански',
+ th: 'Тайски',
+ ara: 'Арабски',
+ ru: 'Руски',
+ pt: 'Португалски',
+ de: 'Немски',
+ it: 'Италиански',
+ el: 'Гръцки',
+ nl: 'Нидерландски',
+ pl: 'Полски',
+ bul: 'Български',
+ est: 'Естонски',
+ dan: 'Датски',
+ fin: 'Фински',
+ cs: 'Чешки',
+ rom: 'Румънски',
+ slo: 'Словенски',
+ swe: 'Шведски',
+ hu: 'Унгарски',
+ cht: 'Традиционен китайски',
+ vie: 'Виетнамски',
+ },
+ qWeather: 'QWeather',
+ qWeatherDescription:
+ 'Компонент, който извлича метеорологична информация от https://www.qweather.com/.',
+ lang: 'Език',
+ type: 'Тип',
+ webApiKey: 'Web API ключ',
+ userType: 'Тип потребител',
+ timePeriod: 'Времеви период',
+ qWeatherLangOptions: {
+ zh: 'Опростен китайски',
+ 'zh-hant': 'Традиционен китайски',
+ en: 'Английски',
+ de: 'Немски',
+ es: 'Испански',
+ fr: 'Френски',
+ it: 'Италиански',
+ ja: 'Японски',
+ ko: 'Корейски',
+ ru: 'Руски',
+ hi: 'Хинди',
+ th: 'Тайски',
+ ar: 'Арабски',
+ pt: 'Португалски',
+ bn: 'Бенгалски',
+ ms: 'Малайски',
+ nl: 'Нидерландски',
+ el: 'Гръцки',
+ la: 'Латински',
+ sv: 'Шведски',
+ id: 'Индонезийски',
+ pl: 'Полски',
+ tr: 'Турски',
+ cs: 'Чешки',
+ et: 'Естонски',
+ vi: 'Виетнамски',
+ fil: 'Филипински',
+ fi: 'Фински',
+ he: 'Иврит',
+ is: 'Исландски',
+ nb: 'Норвежки',
+ },
+ qWeatherTypeOptions: {
+ weather: 'Прогноза за времето',
+ indices: 'Индекс за живот',
+ airquality: 'Качество на въздуха',
+ },
+ qWeatherUserTypeOptions: {
+ free: 'Безплатен абонат',
+ paid: 'Платен абонат',
+ },
+ qWeatherTimePeriodOptions: {
+ now: 'Сега',
+ '3d': '3 дни',
+ '7d': '7 дни',
+ '10d': '10 дни',
+ '15d': '12 дни',
+ '30d': '30 дни',
+ },
+ publish: 'API',
+ exeSQL: 'Изпълни SQL',
+ exeSQLDescription:
+ 'Компонент, който изпълнява SQL заявки към релационна база данни, поддържайки MySQL, PostgreSQL или MariaDB.',
+ dbType: 'Тип база данни',
+ database: 'База данни',
+ username: 'Потребителско име',
+ host: 'Хост',
+ port: 'Порт',
+ password: 'Парола',
+ switch: 'Превключвател',
+ logicalOperator: 'Логически оператор',
+ switchOperatorOptions: {
+ equal: 'Равно',
+ notEqual: 'Не е равно',
+ gt: 'По-голямо от',
+ ge: 'По-голямо или равно',
+ lt: 'По-малко от',
+ le: 'По-малко или равно',
+ contains: 'Съдържа',
+ notContains: 'Не съдържа',
+ startWith: 'Започва с',
+ endWith: 'Завършва с',
+ empty: 'Е празно',
+ notEmpty: 'Не е празно',
+ in: 'В',
+ notIn: 'Не е в',
+ is: 'Е',
+ isNot: 'Не е',
+ },
+ switchLogicOperatorOptions: {
+ and: 'И',
+ or: 'ИЛИ',
+ },
+ operator: 'Оператор',
+ value: 'Стойност',
+ useTemplate: 'Използвай',
+ wenCai: 'WenCai',
+ queryType: 'Тип заявка',
+ wenCaiDescription:
+ 'Компонент, който получава финансова информация от широк спектър от финансови уебсайтове.',
+ wenCaiQueryTypeOptions: {
+ stock: 'акции',
+ zhishu: 'индекс',
+ fund: 'фонд',
+ hkstock: 'Хонконгски акции',
+ usstock: 'Американски фондов пазар',
+ threeboard: 'Нов OTC пазар',
+ conbond: 'Конвертируема облигация',
+ insurance: 'застраховка',
+ futures: 'фючърси',
+ lccp: 'Финансиране',
+ foreign_exchange: 'Чуждестранна валута',
+ },
+ akShare: 'AkShare',
+ akShareDescription:
+ 'Компонент, който получава новини за акции от https://www.eastmoney.com/.',
+ yahooFinance: 'YahooFinance',
+ yahooFinanceDescription:
+ 'Компонент, който заявява информация за публично търгувана компания по нейния тикер символ.',
+ crawler: 'Уеб обхождане',
+ crawlerDescription:
+ 'Компонент, който обхожда HTML изходен код от указан URL.',
+ proxy: 'Прокси',
+ crawlerResultOptions: {
+ html: 'Html',
+ markdown: 'Markdown',
+ content: 'Съдържание',
+ },
+ extractType: 'Тип извличане',
+ info: 'Информация',
+ history: 'История',
+ financials: 'Финанси',
+ balanceSheet: 'Баланс',
+ cashFlowStatement: 'Отчет за паричните потоци',
+ jin10: 'Jin10',
+ jin10Description:
+ 'Компонент, който извлича финансова информация от Jin10 Open Platform.',
+ flashType: 'Тип бързи новини',
+ filter: 'Филтър',
+ contain: 'Съдържа',
+ calendarType: 'Тип календар',
+ calendarDatashape: 'Форма на данни в календара',
+ symbolsDatatype: 'Тип данни за символи',
+ symbolsType: 'Тип символи',
+ jin10TypeOptions: {
+ flash: 'Бързи новини',
+ calendar: 'Календар',
+ symbols: 'котировки',
+ news: 'справка',
+ },
+ jin10FlashTypeOptions: {
+ '1': 'Пазарни новини',
+ '2': 'Новини за фючърси',
+ '3': 'Новини US-Хонконг',
+ '4': 'Новини за A-акции',
+ '5': 'Новини за стоки и валути',
+ },
+ jin10CalendarTypeOptions: {
+ cj: 'Макроикономически данни',
+ qh: 'Фючърсен календар',
+ hk: 'Хонконгски борсов календар',
+ us: 'Американски борсов календар',
+ },
+ jin10CalendarDatashapeOptions: {
+ data: 'Данни',
+ event: 'Събитие',
+ holiday: 'Празник',
+ },
+ jin10SymbolsTypeOptions: {
+ GOODS: 'Стокови котировки',
+ FOREX: 'Валутни котировки',
+ FUTURE: 'Международни пазарни котировки',
+ CRYPTO: 'Крипто котировки',
+ },
+ jin10SymbolsDatatypeOptions: {
+ symbols: 'Списък на стоки',
+ quotes: 'Последни пазарни котировки',
+ },
+ concentrator: 'Концентратор',
+ concentratorDescription:
+ 'Компонент, който получава изхода от горния компонент и го предава като вход към долните компоненти.',
+ tuShare: 'TuShare',
+ tuShareDescription:
+ 'Компонент, който получава финансови новини от основни финансови уебсайтове.',
+ tuShareSrcOptions: {
+ sina: 'Sina',
+ wallstreetcn: 'wallstreetcn',
+ '10jqka': 'Straight flush',
+ eastmoney: 'Eastmoney',
+ yuncaijing: 'YUNCAIJING',
+ fenghuang: 'FENGHUANG',
+ jinrongjie: 'JRJ',
+ },
+ token: 'Токен',
+ src: 'Източник',
+ startDate: 'Начална дата',
+ endDate: 'Крайна дата',
+ keyword: 'Ключова дума',
+ note: 'Бележка',
+ noteDescription: 'Бележка',
+ notePlaceholder: 'Моля, въведете бележка',
+ invoke: 'HTTP заявка',
+ invokeDescription: `Компонент, който може да извиква отдалечени услуги, използвайки изходите от други компоненти или константи като входове.`,
+ url: 'Url',
+ method: 'Метод',
+ timeout: 'Изтичане на времето',
+ headers: 'Заглавия',
+ cleanHtml: 'Изчисти HTML',
+ cleanHtmlTip:
+ 'Ако отговорът е в HTML формат и е необходимо само основното съдържание, моля включете.',
+ invalidUrl:
+ 'Трябва да е валиден URL или URL с променливи заместители във формат {variable_name} или {component@variable}',
+ reference: 'Справка',
+ input: 'Вход',
+ output: 'Изход',
+ parameter: 'Параметър',
+ howUseId: 'Как да използвате ID на агент?',
+ content: 'Съдържание',
+ operationResults: 'Резултати от операцията',
+ autosaved: 'Автоматично запазено',
+ optional: 'Незадължително',
+ pasteFileLink: 'Поставете линк към файл',
+ testRun: 'Тестово изпълнение',
+ template: 'Шаблон',
+ templateDescription:
+ 'Компонент, който форматира изхода на други компоненти. 1. Поддържа Jinja2 шаблони, 2. Едновременно запазва оригиналния метод за заместване на низове с {parameter}',
+ emailComponent: 'Имейл',
+ emailDescription: 'Изпращане на имейл до определен адрес.',
+ smtpServer: 'SMTP сървър',
+ smtpPort: 'SMTP порт',
+ senderEmail: 'Имейл на подателя',
+ authCode: 'Код за оторизация',
+ senderName: 'Име на подателя',
+ toEmail: 'Имейл на получателя',
+ ccEmail: 'Копие до',
+ emailSubject: 'Тема',
+ emailContent: 'Съдържание',
+ smtpServerRequired: 'Моля, въведете адрес на SMTP сървър',
+ senderEmailRequired: 'Моля, въведете имейл на подателя',
+ authCodeRequired: 'Моля, въведете код за оторизация',
+ toEmailRequired: 'Моля, въведете имейл на получателя',
+ emailContentRequired: 'Моля, въведете съдържание на имейла',
+ emailSentSuccess: 'Имейлът е изпратен успешно',
+ emailSentFailed: 'Неуспешно изпращане на имейл',
+ dynamicParameters: 'Динамични параметри',
+ jsonFormatTip:
+ 'Горният компонент трябва да предостави JSON низ в следния формат:',
+ toEmailTip: 'to_email: Имейл на получателя (Задължително)',
+ ccEmailTip: 'cc_email: Копие до (Незадължително)',
+ subjectTip: 'subject: Тема на имейла (Незадължително)',
+ contentTip: 'content: Съдържание на имейла (Незадължително)',
+ jsonUploadTypeErrorMessage: 'Моля, качете json файл',
+ jsonUploadContentErrorMessage: 'Грешка в json файла',
+ iteration: 'Итерация',
+ iterationDescription: `Циклов компонент, който итерира върху входен масив и изпълнява дефинирана логика за всеки елемент.`,
+ delimiterTip: `
+Този разделител се използва за разделяне на входния текст на няколко текстови парчета, всяко от които ще служи като входен елемент за всяка итерация.`,
+ delimiterOptions: {
+ comma: 'Запетая',
+ lineBreak: 'Нов ред',
+ tab: 'Табулация',
+ underline: 'Долна черта',
+ diagonal: 'Наклонена черта',
+ minus: 'Тире',
+ semicolon: 'Точка и запетая',
+ },
+ addVariable: 'Добави променлива',
+ variableSettings: 'Настройки на променливи',
+ systemPrompt: 'Системна подсказка',
+ userPrompt: 'Потребителска подсказка',
+ tocDataSource: 'Източник на данни',
+ addCategory: 'Добави категория',
+ categoryName: 'Име на категория',
+ nextStep: 'Следваща стъпка',
+ variableExtractDescription:
+ 'Извличане на потребителска информация в глобална променлива по време на разговора',
+ variableExtract: 'Променливи',
+ variables: 'Променливи',
+ variablesTip: `Задайте чист json ключ с празна стойност. напр.
+ {
+ "UserCode":"",
+ "NumberPhone":""
+ }`,
+ datatype: 'MINE тип на HTTP заявката',
+ insertVariableTip: `Въведете / Вмъкнете променливи`,
+ historyVersion: 'История на версиите',
+ version: {
+ created: 'Създадено',
+ details: 'Детайли на версията',
+ dsl: 'DSL',
+ download: 'Изтегляне',
+ version: 'Версия',
+ select: 'Няма избрана версия',
+ },
+ setting: 'Настройки',
+ settings: {
+ agentSetting: 'Настройки на агент',
+ title: 'заглавие',
+ description: 'описание',
+ upload: 'Качване',
+ photo: 'Снимка',
+ permissions: 'Разрешения',
+ permissionsTip:
+ 'Можете да зададете разрешенията на членовете на екипа тук.',
+ me: 'аз',
+ team: 'Екип',
+ },
+ noMoreData: 'Няма повече данни',
+ searchAgentPlaceholder: 'Търси агент',
+ footer: {
+ profile: 'All rights reserved @ React',
+ },
+ layout: {
+ file: 'файл',
+ knowledge: 'знание',
+ chat: 'чат',
+ },
+ prompt: 'Подсказка',
+ promptTip:
+ 'Използвайте системната подсказка, за да опишете задачата за LLM, укажете как да отговаря и очертайте други изисквания.',
+ promptMessage: 'Подсказката е задължителна',
+ infor: 'Информационно изпълнение',
+ knowledgeBasesTip:
+ 'Изберете базите от знания, които да свържете с този чат асистент, или изберете променливи, съдържащи ID на бази от знания по-долу.',
+ knowledgeBaseVars: 'Променливи за база от знания',
+ code: 'Код',
+ codeDescription:
+ 'Позволява на разработчиците да пишат персонализирана Python логика.',
+ dataOperations: 'Операции с данни',
+ dataOperationsDescription:
+ 'Извършване на различни операции върху Data обект.',
+ listOperations: 'Операции със списък',
+ listOperationsDescription: 'Извършване на операции върху списък.',
+ variableAssigner: 'Присвояване на променливи',
+ variableAssignerDescription:
+ 'Този компонент извършва операции върху Data обекти, включително извличане, филтриране и редактиране на ключове и стойности.',
+ variableAggregator: 'Агрегатор на променливи',
+ variableAggregatorDescription: `
+Този процес агрегира променливи от множество разклонения в една променлива за постигане на унифицирана конфигурация за долните възли.`,
+ inputVariables: 'Входни променливи',
+ runningHintText: 'изпълнява се...🕞',
+ openingSwitch: 'Превключвател за отваряне',
+ openingCopy: 'Приветствие при отваряне',
+ openingSwitchTip:
+ 'Вашите потребители ще видят това приветствие в началото.',
+ modeTip: 'Режимът определя как се стартира работният процес.',
+ mode: 'Режим',
+ conversational: 'Разговорен',
+ task: 'Задача',
+ beginInputTip:
+ 'Входните параметри, дефинирани тук, могат да бъдат достъпни от компоненти в долния работен процес.',
+ query: 'Променливи за заявка',
+ switchPromptMessage:
+ 'Подсказките ще се променят. Моля, потвърдете дали искате да отхвърлите съществуващите подсказки?',
+ queryRequired: 'Заявката е задължителна',
+ queryTip: 'Изберете променливата, която искате да използвате',
+ agent: 'Агент',
+ addAgent: 'Добави агент',
+ agentDescription:
+ 'Изгражда агентни компоненти, оборудвани с разсъждение, използване на инструменти и многоагентно сътрудничество.',
+ maxRecords: 'Макс. записи',
+ createAgent: 'Поток на агент',
+ stringTransform: 'Обработка на текст',
+ userFillUp: 'Изчакай отговор',
+ userFillUpDescription: `Паузира работния процес и чака съобщение от потребителя, преди да продължи.`,
+ codeExec: 'Код',
+ tavilySearch: 'Tavily търсене',
+ tavilySearchDescription: 'Резултати от търсене чрез Tavily услуга.',
+ tavilyExtract: 'Tavily извличане',
+ tavilyExtractDescription: 'Tavily Extract',
+ log: 'Лог',
+ management: 'Управление',
+ import: 'Импорт',
+ export: 'Експорт',
+ seconds: 'Секунди',
+ subject: 'Тема',
+ tag: 'Таг',
+ tagPlaceholder: 'Моля, въведете таг',
+ descriptionPlaceholder: 'Моля, въведете описание',
+ line: 'Еднореден текст',
+ paragraph: 'Параграф текст',
+ options: 'Падащи опции',
+ file: 'Качване на файл',
+ integer: 'Число',
+ boolean: 'Булева стойност',
+ logTimeline: {
+ begin: 'Готов за начало',
+ agent: 'Агентът мисли',
+ userFillUp: 'Чака ви',
+ retrieval: 'Търсене в знанията',
+ message: 'Агентът казва',
+ awaitResponse: 'Чака ви',
+ switch: 'Избор на най-добрия път',
+ iteration: 'Групова обработка',
+ categorize: 'Категоризиране на информация',
+ code: 'Изпълнение на скрипт',
+ textProcessing: 'Подреждане на текст',
+ tavilySearch: 'Търсене в уеб',
+ tavilyExtract: 'Четене на страницата',
+ exeSQL: 'Заявка към база данни',
+ google: 'Търсене в уеб',
+ wikipedia: 'Търсене в Wikipedia',
+ googleScholar: 'Академично търсене',
+ gitHub: 'Търсене в GitHub',
+ email: 'Изпращане на имейл',
+ httpRequest: 'Извикване на API',
+ wenCai: 'Заявка за финансови данни',
+ },
+ goto: 'Клон при неуспех',
+ comment: 'Стойност по подразбиране',
+ sqlStatement: 'SQL заявка',
+ sqlStatementTip:
+ 'Напишете вашата SQL заявка тук. Можете да използвате променливи, суров SQL или комбинация от двете.',
+ frameworkPrompts: 'Рамка',
+ release: 'Публикувай',
+ createFromBlank: 'Създай от нулата',
+ createFromTemplate: 'Създай от шаблон',
+ importJsonFile: 'Импорт на JSON файл',
+ ceateAgent: 'Поток на агент',
+ createPipeline: 'Входящ конвейер',
+ chooseAgentType: 'Изберете тип агент',
+ parser: 'Парсер',
+ parserDescription:
+ 'Извлича суров текст и структура от файлове за последваща обработка.',
+ tokenizer: 'Индексатор',
+ tokenizerRequired: 'Моля, първо добавете възел Индексатор',
+ tokenizerDescription:
+ 'Трансформира текст в необходимата структура от данни (напр. векторни вграждания за Embedding Search) в зависимост от избрания метод за търсене.',
+ splitter: 'Токен',
+ splitterDescription:
+ 'Разделя текст на фрагменти по дължина на токени с незадължителни разделители и припокриване.',
+ hierarchicalMergerDescription:
+ 'Разделя документи на секции по йерархия на заглавия с regex правила за по-фин контрол.',
+ hierarchicalMerger: 'Заглавие',
+ extractor: 'Трансформатор',
+ extractorDescription:
+ 'Използва LLM за извличане на структурирани прозрения от фрагменти на документи — като обобщения, класификации и др.',
+ outputFormat: 'Изходен формат',
+ fileFormats: 'Тип файл',
+ fileFormatOptions: {
+ pdf: 'PDF',
+ spreadsheet: 'Електронна таблица',
+ image: 'Изображение',
+ email: 'Имейл',
+ 'text&markdown': 'Текст и маркиране',
+ word: 'Word',
+ slides: 'PPTX',
+ audio: 'Аудио',
+ video: 'Видео',
+ },
+ fields: 'Поле',
+ addParser: 'Добави парсер',
+ hierarchy: 'Йерархия',
+ regularExpressions: 'Регулярни изрази',
+ overlappedPercent: 'Процент на припокриване (%)',
+ searchMethod: 'Метод на търсене',
+ searchMethodTip: `Определя как може да се търси съдържанието — по пълен текст, вграждане или и двете.
+Индексаторът ще съхрани съдържанието в съответните структури от данни за избраните методи.`,
+ parserMethod: 'PDF парсер',
+ tableResultType: 'Тип резултат за таблица',
+ markdownImageResponseType: 'Тип отговор за Markdown изображение',
+ systemPromptPlaceholder:
+ 'Въведете системна подсказка за анализ на изображения, ако е празно, ще се използва системната стойност по подразбиране',
+ exportJson: 'Експорт на JSON',
+ viewResult: 'Преглед на резултат',
+ running: 'Изпълнява се',
+ summary: 'Обобщение',
+ keywords: 'Ключови думи',
+ questions: 'Въпроси',
+ metadata: 'Метаданни',
+ toc: 'PageIndex',
+ fieldName: 'Дестинация на резултата',
+ prompts: {
+ system: {
+ keywords: `Role
+You are a text analyzer.
+
+Task
+Extract the most important keywords/phrases of a given piece of text content.
+
+Requirements
+- Summarize the text content, and give the top 5 important keywords/phrases.
+- The keywords MUST be in the same language as the given piece of text content.
+- The keywords are delimited by ENGLISH COMMA.
+- Output keywords ONLY.`,
+ questions: `Role
+You are a text analyzer.
+
+Task
+Propose 3 questions about a given piece of text content.
+
+Requirements
+- Understand and summarize the text content, and propose the top 3 important questions.
+- The questions SHOULD NOT have overlapping meanings.
+- The questions SHOULD cover the main content of the text as much as possible.
+- The questions MUST be in the same language as the given piece of text content.
+- One question per line.
+- Output questions ONLY.`,
+ summary: `Act as a precise summarizer. Your task is to create a summary of the provided content that is both concise and faithful to the original.
+
+Key Instructions:
+1. Accuracy: Strictly base the summary on the information given. Do not introduce any new facts, conclusions, or interpretations that are not explicitly stated.
+2. Language: Write the summary in the same language as the source text.
+3. Objectivity: Present the key points without bias, preserving the original intent and tone of the content. Do not editorialize.
+4. Conciseness: Focus on the most important ideas, omitting minor details and fluff.`,
+ metadata: `Extract important structured information from the given content. Output ONLY a valid JSON string with no additional text. If no important structured information is found, output an empty JSON object: {}.
+
+Important structured information may include: names, dates, locations, events, key facts, numerical data, or other extractable entities.`,
+ toc: '',
+ },
+ user: {
+ keywords: `Text Content
+[Insert text here]`,
+ questions: `Text Content
+[Insert text here]`,
+ summary: `Text to Summarize:
+[Insert text here]`,
+ metadata: `Content: [INSERT CONTENT HERE]`,
+ toc: '[Insert text here]',
+ },
+ },
+ cancel: 'Отказ',
+ swicthPromptMessage:
+ 'Подсказките ще се променят. Моля, потвърдете дали да отхвърлите съществуващите подсказки?',
+ tokenizerSearchMethodOptions: {
+ full_text: 'Пълен текст',
+ embedding: 'Embedding',
+ },
+ filenameEmbeddingWeight: 'Тегло на вграждане на име на файл',
+ tokenizerFieldsOptions: {
+ text: 'Обработен текст',
+ keywords: 'Ключови думи',
+ questions: 'Въпроси',
+ summary: 'Допълнен контекст',
+ },
+ imageParseMethodOptions: {
+ ocr: 'OCR',
+ },
+ structuredOutput: {
+ configuration: 'Конфигурация',
+ structuredOutput: 'Структуриран изход',
+ },
+ operations: 'Операции',
+ operationsOptions: {
+ selectKeys: 'Избери ключове',
+ literalEval: 'Литерална оценка',
+ combine: 'Комбинирай',
+ filterValues: 'Филтрирай стойности',
+ appendOrUpdate: 'Добави или актуализирай',
+ removeKeys: 'Премахни ключове',
+ renameKeys: 'Преименувай ключове',
+ },
+ ListOperationsOptions: {
+ topN: 'Top N',
+ head: 'Начало',
+ tail: 'Край',
+ sort: 'Сортирай',
+ filter: 'Филтрирай',
+ dropDuplicates: 'Премахни дубликати',
+ },
+ sortMethod: 'Метод на сортиране',
+ SortMethodOptions: {
+ asc: 'Възходящо',
+ desc: 'Низходящо',
+ },
+ variableAssignerLogicalOperatorOptions: {
+ overwrite: 'Презаписано от',
+ clear: 'Изчисти',
+ set: 'Задай',
+ add: 'Добави',
+ subtract: 'Извади',
+ multiply: 'Умножи',
+ divide: 'Раздели',
+ append: 'Добави в края',
+ extend: 'Разшири',
+ removeFirst: 'Премахни първия',
+ removeLast: 'Премахни последния',
+ },
+ webhook: {
+ name: 'Webhook',
+ methods: 'Методи',
+ contentTypes: 'Типове съдържание',
+ security: 'Сигурност',
+ schema: 'Схема',
+ response: 'Отговор',
+ executionMode: 'Режим на изпълнение',
+ executionModeTip:
+ 'Приет отговор: Системата връща потвърждение веднага след валидиране на заявката, докато работният процес продължава асинхронно. / Краен отговор: Системата връща отговор едва след завършване на работния процес.',
+ authMethods: 'Методи за автентикация',
+ authType: 'Тип автентикация',
+ limit: 'Ограничение на честотата на заявки',
+ per: 'Времеви период',
+ maxBodySize: 'Максимален размер на тялото',
+ ipWhitelist: 'IP бял списък',
+ tokenHeader: 'Заглавие на токен',
+ tokenValue: 'Стойност на токен',
+ username: 'Потребителско име',
+ password: 'Парола',
+ algorithm: 'Алгоритъм',
+ secret: 'Тайна',
+ issuer: 'Издател',
+ audience: 'Аудитория',
+ requiredClaims: 'Задължителни искания',
+ header: 'Заглавие',
+ status: 'Статус',
+ headersTemplate: 'Шаблон за заглавия',
+ bodyTemplate: 'Шаблон за тяло',
+ basic: 'Basic',
+ bearer: 'Bearer',
+ apiKey: 'Api key',
+ queryParameters: 'Параметри на заявка',
+ headerParameters: 'Параметри на заглавие',
+ requestBodyParameters: 'Параметри на тялото на заявка',
+ immediately: 'Приет отговор',
+ streaming: 'Краен отговор',
+ overview: 'Преглед',
+ logs: 'Логове',
+ agentStatus: 'Статус на агент:',
+ },
+ saveToMemory: 'Запази в паметта',
+ retrievalFrom: 'Извличане от',
+ },
+ llmTools: {
+ bad_calculator: {
+ name: 'Калкулатор',
+ description:
+ 'Инструмент за изчисляване на сумата от две числа (ще даде грешен отговор)',
+ params: {
+ a: 'Първото число',
+ b: 'Второто число',
+ },
+ },
+ },
+ modal: {
+ okText: 'Потвърди',
+ cancelText: 'Отказ',
+ },
+ mcp: {
+ export: 'Експорт',
+ import: 'Импорт',
+ url: 'URL',
+ serverType: 'Тип сървър',
+ addMCP: 'Добави MCP',
+ editMCP: 'Редактирай MCP',
+ toolsAvailable: 'налични инструменти',
+ mcpServers: 'MCP сървъри',
+ mcpServer: 'MCP сървър',
+ customizeTheListOfMcpServers: 'Персонализирайте списъка с MCP сървъри',
+ cachedTools: 'кеширани инструменти',
+ bulkManage: 'Групово управление',
+ exitBulkManage: 'Изход от групово управление',
+ selected: 'Избрани',
+ },
+ search: {
+ searchApps: 'Приложения за търсене',
+ createSearch: 'Създай търсене',
+ searchGreeting: 'Как мога да ви помогна днес?',
+ profile: 'Скрий профил',
+ locale: 'Локал',
+ embedCode: 'Код за вграждане',
+ id: 'ID',
+ copySuccess: 'Успешно копиране',
+ welcomeBack: 'Добре дошли отново',
+ searchSettings: 'Настройки за търсене',
+ name: 'Име',
+ avatar: 'Аватар',
+ description: 'Описание',
+ datasets: 'Набори от данни',
+ rerankModel: 'Модел за преподреждане',
+ AISummary: 'AI обобщение',
+ enableWebSearch: 'Активирай уеб търсене',
+ enableRelatedSearch: 'Активирай свързано търсене',
+ showQueryMindmap: 'Покажи мисловна карта на заявката',
+ embedApp: 'Вградено приложение',
+ relatedSearch: 'Свързано търсене',
+ descriptionValue: 'Вие сте интелигентен асистент.',
+ okText: 'Запази',
+ cancelText: 'Отказ',
+ chooseDataset: 'Моля, първо изберете набор от данни',
+ },
+ language: {
+ english: 'Английски',
+ chinese: 'Китайски',
+ spanish: 'Испански',
+ french: 'Френски',
+ german: 'Немски',
+ japanese: 'Японски',
+ korean: 'Корейски',
+ vietnamese: 'Виетнамски',
+ russian: 'Руски',
+ bulgarian: 'Български',
+ },
+ pagination: {
+ total: 'Общо {{total}}',
+ page: '{{page}} /Страница',
+ },
+ dataflowParser: {
+ result: 'Резултат',
+ parseSummary: 'Обобщение на обработка',
+ parseSummaryTip: 'Парсер:DeepDoc',
+ parserMethod: 'Метод на парсер',
+ outputFormat: 'Изходен формат',
+ rerunFromCurrentStep: 'Повторно изпълнение от текущата стъпка',
+ rerunFromCurrentStepTip:
+ 'Открити промени. Натиснете за повторно изпълнение.',
+ confirmRerun: 'Потвърдете повторно изпълнение',
+ confirmRerunModalContent: `
+
+ Предстои да изпълните отново процеса от стъпка {{step}}.
+
+ Това ще:
+
+ - • Презапише съществуващите резултати от текущата стъпка нататък
+ - • Създаде нов запис в лога за проследяване
+ - • Предишните стъпки ще останат непроменени
+
`,
+ changeStepModalTitle: 'Предупреждение при смяна на стъпка',
+ changeStepModalContent: `
+ В момента редактирате резултатите от този етап.
+ Ако преминете към следващ етап, промените ви ще бъдат загубени.
+ За да ги запазите, моля натиснете Повторно изпълнение.
`,
+ changeStepModalConfirmText: 'Смени въпреки това',
+ changeStepModalCancelText: 'Отказ',
+ unlinkPipelineModalTitle: 'Прекратяване на връзка с входящ конвейер',
+ unlinkPipelineModalConfirmText: 'Прекрати връзка',
+ unlinkPipelineModalContent: `
+ След прекратяването на връзката този набор от данни вече няма да бъде свързан с текущия входящ конвейер.
+ Файловете, които вече се обработват, ще продължат до завършване
+ Файловете, които все още не са обработени, вече няма да бъдат обработвани
+ Сигурни ли сте, че искате да продължите?
`,
+ unlinkSourceModalTitle: 'Прекратяване на връзка с източник на данни',
+ unlinkSourceModalContent: `
+ Сигурни ли сте, че искате да прекратите връзката с този източник на данни?
`,
+ unlinkSourceModalConfirmText: 'Прекрати връзка',
+ },
+ datasetOverview: {
+ downloadTip: 'Файлове се изтеглят от източници на данни.',
+ processingTip: 'Файлове се обработват от входящия конвейер.',
+ totalFiles: 'Общо файлове',
+ downloading: 'Изтегляне',
+ downloadSuccessTip: 'Общо успешни изтегляния',
+ downloadFailedTip: 'Общо неуспешни изтегляния',
+ processingSuccessTip: 'Общо успешно обработени файлове',
+ processingFailedTip: 'Общо неуспешни обработки',
+ processing: 'Обработка',
+ noData: 'Все още няма логове',
+ },
+ deleteModal: {
+ delAgent: 'Изтрий агент',
+ delDataset: 'Изтрий набор от данни',
+ delSearch: 'Изтрий търсене',
+ delFile: 'Изтрий файл',
+ delFiles: 'Изтрий файлове',
+ delFilesContent: 'Избрани {{count}} файла',
+ delChat: 'Изтрий чат',
+ delMember: 'Изтрий член',
+ delMemory: 'Изтрий памет',
+ },
+ empty: {
+ noMCP: 'Няма налични MCP сървъри',
+ agentTitle: 'Все още няма създадено агентно приложение',
+ notFoundAgent: 'Агентното приложение не е намерено',
+ datasetTitle: 'Все още няма създаден набор от данни',
+ notFoundDataset: 'Наборът от данни не е намерен',
+ chatTitle: 'Все още няма създадено чат приложение',
+ notFoundChat: 'Чат приложението не е намерено',
+ searchTitle: 'Все още няма създадено приложение за търсене',
+ notFoundSearch: 'Приложението за търсене не е намерено',
+ memoryTitle: 'Все още няма създадена памет',
+ notFoundMemory: 'Паметта не е намерена',
+ addNow: 'Добави сега',
+ },
+ admin: {
+ loginTitle: 'Админ конзола',
+ title: 'RAGFlow',
+ confirm: 'Потвърди',
+ close: 'Затвори',
+ yes: 'Да',
+ no: 'Не',
+ delete: 'Изтрий',
+ cancel: 'Отказ',
+ reset: 'Нулирай',
+ import: 'Импорт',
+ description: 'Описание',
+ noDescription: 'Няма описание',
+ resourceType: {
+ dataset: 'Данни',
+ chat: 'Чат',
+ agent: 'Агент',
+ search: 'Търсене',
+ file: 'Файл',
+ team: 'Екип',
+ memory: 'Памет',
+ },
+ permissionType: {
+ enable: 'Активирай',
+ read: 'Четене',
+ write: 'Писане',
+ share: 'Споделяне',
+ },
+ serviceStatus: 'Статус на услугата',
+ userManagement: 'Управление на потребители',
+ sandboxSettings: 'Настройки на sandbox',
+ registrationWhitelist: 'Бял списък за регистрация',
+ roles: 'Роли',
+ monitoring: 'Мониторинг',
+ back: 'Назад',
+ active: 'Активен',
+ inactive: 'Неактивен',
+ enable: 'Активирай',
+ disable: 'Деактивирай',
+ all: 'Всички',
+ actions: 'Действия',
+ newUser: 'Нов потребител',
+ email: 'Имейл',
+ name: 'Име',
+ nickname: 'Псевдоним',
+ status: 'Статус',
+ id: 'ID',
+ serviceType: 'Тип услуга',
+ host: 'Хост',
+ port: 'Порт',
+ role: 'Роля',
+ user: 'Потребител',
+ userType: 'Тип потребител',
+ superuser: 'Суперпотребител',
+ normalUser: 'Нормален',
+ createTime: 'Дата на създаване',
+ lastLoginTime: 'Последно влизане',
+ lastUpdateTime: 'Последна актуализация',
+ isAnonymous: 'Анонимен',
+ isSuperuser: 'Суперпотребител',
+ deleteUser: 'Изтрий потребител',
+ deleteUserConfirmation:
+ 'Сигурни ли сте, че искате да изтриете този потребител?',
+ createNewUser: 'Създай нов потребител',
+ changePassword: 'Промяна на парола',
+ newPassword: 'Нова парола',
+ confirmNewPassword: 'Потвърди нова парола',
+ password: 'Парола',
+ confirmPassword: 'Потвърди парола',
+ invalidEmail: 'Моля, въведете валиден имейл адрес!',
+ passwordRequired: 'Моля, въведете вашата парола!',
+ passwordMinLength: 'Паролата трябва да е повече от 8 символа.',
+ confirmPasswordRequired: 'Моля, потвърдете вашата парола!',
+ confirmPasswordDoNotMatch: 'Въведените пароли не съвпадат!',
+ read: 'Четене',
+ write: 'Писане',
+ share: 'Споделяне',
+ create: 'Създай',
+ extraInfo: 'Допълнителна информация',
+ serviceDetail: `Детайли за услуга {{name}}`,
+ taskExecutorDetail: 'Детайли за изпълнител на задачи',
+ whitelistManagement: 'Управление на бял списък',
+ exportAsExcel: 'Експорт в Excel',
+ importFromExcel: 'Импорт от Excel',
+ createEmail: 'Създай имейл',
+ deleteEmail: 'Изтрий имейл',
+ editEmail: 'Редактирай имейл',
+ deleteWhitelistEmailConfirmation:
+ 'Сигурни ли сте, че искате да изтриете този имейл от белия списък? Това действие не може да бъде отменено.',
+ importWhitelist: 'Импорт на бял списък (Excel)',
+ importSelectExcelFile: 'Excel файл (.xlsx)',
+ importOverwriteExistingEmails: 'Презапиши съществуващи имейли',
+ importInvalidExcelFile: 'Моля, изберете валиден Excel файл',
+ importFileRequired: 'Моля, изберете файл за импорт',
+ importFileTips:
+ 'Файлът трябва да съдържа една колона със заглавие email.',
+ chunkNum: 'Фрагменти',
+ docNum: 'Документи',
+ tokenNum: 'Използвани токени',
+ language: 'Език',
+ createDate: 'Дата на създаване',
+ updateDate: 'Дата на актуализация',
+ permission: 'Разрешение',
+ agentTitle: 'Заглавие на агент',
+ canvasCategory: 'Категория на платно',
+ newRole: 'Нова роля',
+ addNewRole: 'Добави нова роля',
+ roleName: 'Име на роля',
+ roleNameRequired: 'Името на ролята е задължително',
+ resources: 'Ресурси',
+ editRoleDescription: 'Редактирай описание на роля',
+ deleteRole: 'Изтрий роля',
+ deleteRoleConfirmation:
+ 'Сигурни ли сте, че искате да изтриете тази роля? Това действие не може да бъде отменено.',
+ alive: 'Активен',
+ timeout: 'Изтичане',
+ fail: 'Неуспех',
+ },
+ explore: {
+ title: 'Стартиране',
+ canvasList: 'Списък с платна',
+ sessions: 'Сесии',
+ newSession: 'Нова сесия',
+ newSessionLabel: 'Започнете нов разговор',
+ deleteSession: 'Изтрий сесия',
+ searchCanvas: 'Търсене на платно...',
+ searchSessions: 'Търсене на сесии...',
+ noCanvasSelected: 'Моля, изберете платно',
+ noSessionSelected: 'Моля, изберете сесия или създайте нова',
+ noSessionsFound: 'Няма намерени сесии',
+ createFirstSession: 'Създайте първата си сесия',
+ noCanvasFound: 'Няма намерено платно',
+ deleteSelectedConfirm:
+ 'Сигурни ли сте, че искате да изтриете {{count}} сесия(и)?',
+ batchDeleteSessions: 'Изтрий сесии',
+ },
+ },
+};
diff --git a/web/src/locales/config.ts b/web/src/locales/config.ts
index 49e354ff0f..f40baaddbb 100644
--- a/web/src/locales/config.ts
+++ b/web/src/locales/config.ts
@@ -19,6 +19,7 @@ const languageImports: Record Promise<{ default: any }>> = {
[LanguageAbbreviation.De]: () => import('./de'),
[LanguageAbbreviation.Fr]: () => import('./fr'),
[LanguageAbbreviation.It]: () => import('./it'),
+ [LanguageAbbreviation.Bg]: () => import('./bg'),
};
const enFlattened = flattenObject(translation_en);
diff --git a/web/src/locales/de.ts b/web/src/locales/de.ts
index 35f7a989c4..646b8e82d7 100644
--- a/web/src/locales/de.ts
+++ b/web/src/locales/de.ts
@@ -28,6 +28,7 @@ export default {
chinese: 'Vereinfachtes Chinesisch',
traditionalChinese: 'Traditionelles Chinesisch',
russian: 'Russisch',
+ bulgarian: 'Bulgarisch',
german: 'Deutsch',
language: 'Sprache',
languageMessage: 'Bitte geben Sie Ihre Sprache ein!',
@@ -2388,6 +2389,7 @@ Wichtige strukturierte Informationen können sein: Namen, Daten, Orte, Ereigniss
korean: 'Koreanisch',
vietnamese: 'Vietnamesisch',
russian: 'Russisch',
+ bulgarian: 'Bulgarisch',
},
pagination: {
total: 'Gesamt {{total}}',
diff --git a/web/src/locales/en.ts b/web/src/locales/en.ts
index 4e95d1454c..19a4df3818 100644
--- a/web/src/locales/en.ts
+++ b/web/src/locales/en.ts
@@ -27,6 +27,7 @@ export default {
chinese: 'Simplified Chinese',
traditionalChinese: 'Traditional Chinese',
russian: 'Russian',
+ bulgarian: 'Bulgarian',
language: 'Language',
languageMessage: 'Please input your language!',
languagePlaceholder: 'select your language',
@@ -2363,6 +2364,7 @@ Important structured information may include: names, dates, locations, events, k
korean: 'Korean',
vietnamese: 'Vietnamese',
russian: 'Russian',
+ bulgarian: 'Bulgarian',
},
pagination: {
total: 'Total {{total}}',
diff --git a/web/src/locales/es.ts b/web/src/locales/es.ts
index 9d6a9d0f58..03bbe4cf5e 100644
--- a/web/src/locales/es.ts
+++ b/web/src/locales/es.ts
@@ -19,6 +19,7 @@ export default {
portugueseBr: 'Portugués (Brasil)',
chinese: 'Chino simplificado',
traditionalChinese: 'Chino tradicional',
+ bulgarian: 'Búlgaro',
language: 'Idioma',
languageMessage: '¡Por favor ingresa tu idioma!',
languagePlaceholder: 'Selecciona tu idioma',
diff --git a/web/src/locales/fr.ts b/web/src/locales/fr.ts
index 4896156f09..93cdbf5592 100644
--- a/web/src/locales/fr.ts
+++ b/web/src/locales/fr.ts
@@ -19,6 +19,7 @@ export default {
portugueseBr: 'Portugais (Brésil)',
chinese: 'Chinois simplifié',
traditionalChinese: 'Chinois traditionnel',
+ bulgarian: 'Bulgare',
language: 'Langue',
languageMessage: 'Veuillez saisir votre langue !',
languagePlaceholder: 'Sélectionnez votre langue',
diff --git a/web/src/locales/id.ts b/web/src/locales/id.ts
index 7f7952d7bd..dc5f9a4b24 100644
--- a/web/src/locales/id.ts
+++ b/web/src/locales/id.ts
@@ -19,6 +19,7 @@ export default {
portugueseBr: 'Portugis (Brasil)',
chinese: 'Cina',
traditionalChinese: 'Cina Tradisional',
+ bulgarian: 'Bulgaria',
language: 'Bahasa',
languageMessage: 'Silakan masukkan bahasa Anda!',
languagePlaceholder: 'Pilih bahasa Anda',
diff --git a/web/src/locales/it.ts b/web/src/locales/it.ts
index 2d4b6a05d2..81cc14eacd 100644
--- a/web/src/locales/it.ts
+++ b/web/src/locales/it.ts
@@ -27,6 +27,7 @@ export default {
chinese: 'Cinese semplificato',
traditionalChinese: 'Cinese tradizionale',
russian: 'Russo',
+ bulgarian: 'Bulgaro',
italian: 'Italiano',
german: 'Tedesco',
french: 'Francese',
@@ -1190,6 +1191,7 @@ Quanto sopra è il contenuto che devi riassumere.`,
korean: 'Coreano',
vietnamese: 'Vietnamita',
russian: 'Russo',
+ bulgarian: 'Bulgaro',
},
pagination: {
total: 'Totale {{total}}',
diff --git a/web/src/locales/ja.ts b/web/src/locales/ja.ts
index b323ee8674..cab801b028 100644
--- a/web/src/locales/ja.ts
+++ b/web/src/locales/ja.ts
@@ -19,6 +19,7 @@ export default {
portugueseBr: 'ポルトガル語 (ブラジル)',
chinese: '中国語(簡体字)',
traditionalChinese: '中国語(繁体字)',
+ bulgarian: 'ブルガリア語',
language: '言語',
languageMessage: 'あなたの言語を入力してください!',
languagePlaceholder: 'あなたの言語を選択してください',
diff --git a/web/src/locales/pt-br.ts b/web/src/locales/pt-br.ts
index 1bef880965..a19dce4da1 100644
--- a/web/src/locales/pt-br.ts
+++ b/web/src/locales/pt-br.ts
@@ -18,6 +18,7 @@ export default {
portugueseBr: 'Português (Brasil)',
chinese: 'Chinês Simplificado',
traditionalChinese: 'Chinês Tradicional',
+ bulgarian: 'Búlgaro',
language: 'Idioma',
languageMessage: 'Por favor, insira seu idioma!',
languagePlaceholder: 'selecione seu idioma',
diff --git a/web/src/locales/ru.ts b/web/src/locales/ru.ts
index 2d50010af4..4709255443 100644
--- a/web/src/locales/ru.ts
+++ b/web/src/locales/ru.ts
@@ -26,6 +26,7 @@ export default {
chinese: 'Китайский упрощенный',
traditionalChinese: 'Китайский традиционный',
russian: 'Русский',
+ bulgarian: 'Болгарский',
language: 'Язык',
languageMessage: 'Пожалуйста, укажите ваш язык!',
languagePlaceholder: 'выберите ваш язык',
@@ -2036,6 +2037,7 @@ export default {
korean: 'Корейский',
vietnamese: 'Вьетнамский',
russian: 'Русский',
+ bulgarian: 'Болгарский',
},
pagination: {
total: 'Всего {{total}}',
diff --git a/web/src/locales/vi.ts b/web/src/locales/vi.ts
index 3b8edad6f1..1671c608e2 100644
--- a/web/src/locales/vi.ts
+++ b/web/src/locales/vi.ts
@@ -18,6 +18,7 @@ export default {
portugueseBr: 'Tiếng Bồ Đào Nha (Brazil)',
chinese: 'Tiếng Trung giản thể',
traditionalChinese: 'Tiếng Trung phồn thể',
+ bulgarian: 'Tiếng Bulgaria',
language: 'Ngôn ngữ',
languageMessage: 'Vui lòng chọn ngôn ngữ của bạn!',
languagePlaceholder: 'chọn ngôn ngữ của bạn',
diff --git a/web/src/locales/zh-traditional.ts b/web/src/locales/zh-traditional.ts
index f1cfcfad69..8ce2693bc4 100644
--- a/web/src/locales/zh-traditional.ts
+++ b/web/src/locales/zh-traditional.ts
@@ -18,6 +18,7 @@ export default {
portugueseBr: '葡萄牙語 (巴西)',
chinese: '簡體中文',
traditionalChinese: '繁體中文',
+ bulgarian: '保加利亞語',
language: '語言',
languageMessage: '請輸入語言',
languagePlaceholder: '請選擇語言',
diff --git a/web/src/locales/zh.ts b/web/src/locales/zh.ts
index 30dc591226..0585df2a71 100644
--- a/web/src/locales/zh.ts
+++ b/web/src/locales/zh.ts
@@ -26,6 +26,7 @@ export default {
portugueseBr: '葡萄牙语 (巴西)',
chinese: '简体中文',
traditionalChinese: '繁体中文',
+ bulgarian: '保加利亚语',
language: '语言',
languageMessage: '请输入语言',
languagePlaceholder: '请选择语言',
@@ -2107,6 +2108,7 @@ Tokenizer 会根据所选方式将内容存储为对应的数据结构。`,
japanese: '日语',
korean: '韩语',
vietnamese: '越南语',
+ bulgarian: '保加利亚语',
},
pagination: {
total: '总共 {{total}} 条',