mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-12 18:15:33 +00:00
fix(i18n): add missing keys and plural forms, translate agent card menu
This commit is contained in:
1 parent
6282161b5a
commit
a0ffafd19f
14 files changed
+126
-38
No files matched your search
@@ -75,7 +75,7 @@ export default function AgentCard({
|
||||
template: [
|
||||
{
|
||||
icon: Duplicate,
|
||||
label: 'Duplicate',
|
||||
label: t('modals.prompts.duplicate'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
handleDuplicate();
|
||||
@@ -88,7 +88,7 @@ export default function AgentCard({
|
||||
user: [
|
||||
{
|
||||
icon: Monitoring,
|
||||
label: 'Logs',
|
||||
label: t('agents.form.buttons.logs'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
navigate(`/agents/logs/${agent.id}`);
|
||||
@@ -99,7 +99,7 @@ export default function AgentCard({
|
||||
},
|
||||
{
|
||||
icon: Edit,
|
||||
label: 'Edit',
|
||||
label: t('agents.edit'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
if (agent.agent_type === 'workflow') {
|
||||
@@ -144,7 +144,9 @@ export default function AgentCard({
|
||||
? [
|
||||
{
|
||||
icon: agent.pinned ? UnPin : Pin,
|
||||
label: agent.pinned ? 'Unpin' : 'Pin agent',
|
||||
label: agent.pinned
|
||||
? t('agents.card.unpin')
|
||||
: t('agents.card.pin'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
togglePin();
|
||||
@@ -168,7 +170,7 @@ export default function AgentCard({
|
||||
},
|
||||
{
|
||||
icon: Trash,
|
||||
label: 'Delete',
|
||||
label: t('agents.form.buttons.delete'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
setDeleteConfirmation('ACTIVE');
|
||||
@@ -185,7 +187,7 @@ export default function AgentCard({
|
||||
team: [
|
||||
{
|
||||
icon: Edit,
|
||||
label: 'Edit',
|
||||
label: t('agents.edit'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
if (agent.agent_type === 'workflow') {
|
||||
@@ -202,7 +204,9 @@ export default function AgentCard({
|
||||
? [
|
||||
{
|
||||
icon: agent.pinned ? UnPin : Pin,
|
||||
label: agent.pinned ? 'Unpin' : 'Pin agent',
|
||||
label: agent.pinned
|
||||
? t('agents.card.unpin')
|
||||
: t('agents.card.pin'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
togglePin();
|
||||
@@ -217,7 +221,7 @@ export default function AgentCard({
|
||||
shared: [
|
||||
{
|
||||
icon: Link,
|
||||
label: 'Open',
|
||||
label: t('agents.card.open'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
navigate(`/agents/shared/${agent.shared_token}`);
|
||||
@@ -228,7 +232,7 @@ export default function AgentCard({
|
||||
},
|
||||
{
|
||||
icon: agent.pinned ? UnPin : Pin,
|
||||
label: agent.pinned ? 'Unpin' : 'Pin agent',
|
||||
label: agent.pinned ? t('agents.card.unpin') : t('agents.card.pin'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
togglePin();
|
||||
@@ -239,7 +243,7 @@ export default function AgentCard({
|
||||
},
|
||||
{
|
||||
icon: Trash,
|
||||
label: 'Remove',
|
||||
label: t('agents.card.remove'),
|
||||
onClick: (e: SyntheticEvent) => {
|
||||
e.stopPropagation();
|
||||
handleHideSharedAgent();
|
||||
@@ -453,7 +457,9 @@ export default function AgentCard({
|
||||
imgClassName="h-7 w-7 rounded-full object-contain"
|
||||
/>
|
||||
{agent.status === 'draft' && (
|
||||
<p className="text-foreground text-xs opacity-50">{`(Draft)`}</p>
|
||||
<p className="text-foreground text-xs opacity-50">
|
||||
({t('agents.card.draft')})
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
<div className="mt-2">
|
||||
@@ -469,15 +475,15 @@ export default function AgentCard({
|
||||
</div>
|
||||
</div>
|
||||
<ConfirmationModal
|
||||
message="Are you sure you want to delete this agent?"
|
||||
message={t('agents.deleteConfirmation')}
|
||||
modalState={deleteConfirmation}
|
||||
setModalState={setDeleteConfirmation}
|
||||
submitLabel="Delete"
|
||||
submitLabel={t('agents.form.buttons.delete')}
|
||||
handleSubmit={() => {
|
||||
handleDelete();
|
||||
setDeleteConfirmation('INACTIVE');
|
||||
}}
|
||||
cancelLabel="Cancel"
|
||||
cancelLabel={t('cancel')}
|
||||
variant="danger"
|
||||
/>
|
||||
<Modal
|
||||
|
||||
@@ -168,7 +168,7 @@ export default function ConversationMessages({
|
||||
index,
|
||||
});
|
||||
}}
|
||||
aria-label={t('Retry') || 'Retry'}
|
||||
aria-label={t('conversation.retry')}
|
||||
>
|
||||
<Retry
|
||||
width={12}
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
"queryPlaceholder": "Frage etwas, das diese Quelle beantworten sollte...",
|
||||
"run": "Ausführen",
|
||||
"notSavedHint": "Diese Einstellungen gelten nur für diesen Test – sie werden nicht in der Quelle gespeichert. Ändere sie in den Quelleneinstellungen, um sie dauerhaft zu übernehmen.",
|
||||
"resultSummary": "{{total}} Chunks abgerufen · {{retriever}}",
|
||||
"resultSummary": "{{count}} Chunks abgerufen · {{retriever}}",
|
||||
"latency": "{{ms}} ms",
|
||||
"empty": "Keine Chunks für diese Anfrage abgerufen.",
|
||||
"emptyWithThreshold": "Keine Chunks haben den Score-Schwellenwert ({{threshold}}) erreicht. Senke ihn, um knappe Treffer zu sehen.",
|
||||
@@ -589,6 +589,8 @@
|
||||
"serverName": "Servername",
|
||||
"serverUrl": "Server-URL",
|
||||
"headerName": "Header-Name",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"timeout": "Timeout (Sekunden)",
|
||||
"testConnection": "Verbindung testen",
|
||||
"testing": "Teste...",
|
||||
@@ -1282,6 +1284,13 @@
|
||||
"agents": {
|
||||
"title": "Agenten",
|
||||
"edit": "Bearbeiten",
|
||||
"card": {
|
||||
"pin": "Agent anheften",
|
||||
"unpin": "Agent lösen",
|
||||
"open": "Öffnen",
|
||||
"remove": "Entfernen",
|
||||
"draft": "Entwurf"
|
||||
},
|
||||
"description": "Entdecke und erstelle benutzerdefinierte Versionen von DocsGPT, die Anweisungen, zusätzliches Wissen und beliebige Kombinationen von Fähigkeiten kombinieren",
|
||||
"newAgent": "Neuer Agent",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"memberAddedBody": "You were added to {{team}} as {{role}}",
|
||||
"sharedTitle": "Shared with you",
|
||||
"sharedBody": "{{type}} shared with your team: {{name}} ({{access}})",
|
||||
"sharedBodyNoName": "A {{type}} was shared with your team ({{access}})",
|
||||
"sharedBodyNoName": "{{type}} shared with your team ({{access}})",
|
||||
"dismiss": "Dismiss"
|
||||
},
|
||||
"demo": [
|
||||
@@ -201,7 +201,8 @@
|
||||
"queryPlaceholder": "Ask something this source should answer...",
|
||||
"run": "Run",
|
||||
"notSavedHint": "These settings are only used for this test — they are not saved to the source. Change them in Source settings to make them permanent.",
|
||||
"resultSummary": "{{total}} chunks retrieved · {{retriever}}",
|
||||
"resultSummary_one": "{{count}} chunk retrieved · {{retriever}}",
|
||||
"resultSummary_other": "{{count}} chunks retrieved · {{retriever}}",
|
||||
"latency": "{{ms}} ms",
|
||||
"empty": "No chunks retrieved for this query.",
|
||||
"emptyWithThreshold": "No chunks scored at or above the score threshold ({{threshold}}). Lower it to see near misses.",
|
||||
@@ -546,7 +547,7 @@
|
||||
"needsAuth": "Needs Auth",
|
||||
"configured": "Configured"
|
||||
},
|
||||
"deleteWarning": "Are you sure you want to delete the tool \"{{toolName}}\" ?",
|
||||
"deleteWarning": "Are you sure you want to delete the tool \"{{toolName}}\"?",
|
||||
"unsavedChanges": "You have unsaved changes that will be lost if you leave without saving.",
|
||||
"leaveWithoutSaving": "Leave without Saving",
|
||||
"saveAndLeave": "Save and Leave",
|
||||
@@ -594,6 +595,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -925,7 +928,7 @@
|
||||
"preparing": "Preparing upload",
|
||||
"parsing": "Parsing files…",
|
||||
"embedding": "Embedding…",
|
||||
"tokenLimit": "Over the token limit, please consider uploading smaller document",
|
||||
"tokenLimit": "Over the token limit, please consider uploading a smaller document",
|
||||
"expandDetails": "Expand upload details",
|
||||
"collapseDetails": "Collapse upload details",
|
||||
"dismiss": "Dismiss upload toast",
|
||||
@@ -1145,7 +1148,8 @@
|
||||
"parseError": "Failed to parse the specification. Please check the file format.",
|
||||
"version": "Version",
|
||||
"baseUrl": "Base URL",
|
||||
"actionsFound": "{{count}} actions found",
|
||||
"actionsFound_one": "{{count}} action found",
|
||||
"actionsFound_other": "{{count}} actions found",
|
||||
"selectAll": "Select all",
|
||||
"deselectAll": "Deselect all",
|
||||
"cancel": "Cancel",
|
||||
@@ -1219,7 +1223,8 @@
|
||||
"title": "Sources",
|
||||
"text": "Choose Your Sources",
|
||||
"link": "Source link",
|
||||
"view_more": "{{count}} more sources",
|
||||
"view_more_one": "{{count}} more source",
|
||||
"view_more_other": "{{count}} more sources",
|
||||
"noSourcesAvailable": "No sources available",
|
||||
"selectedCount": "{{count}} sources selected",
|
||||
"groupOwn": "Your sources",
|
||||
@@ -1293,6 +1298,13 @@
|
||||
"agents": {
|
||||
"title": "Agents",
|
||||
"edit": "Edit",
|
||||
"card": {
|
||||
"pin": "Pin agent",
|
||||
"unpin": "Unpin agent",
|
||||
"open": "Open",
|
||||
"remove": "Remove",
|
||||
"draft": "Draft"
|
||||
},
|
||||
"description": "Discover and create custom versions of DocsGPT that combine instructions, extra knowledge, and any combination of skills",
|
||||
"newAgent": "New Agent",
|
||||
"importAgent": "Import",
|
||||
@@ -1473,7 +1485,8 @@
|
||||
"confidence": "Confidence threshold",
|
||||
"confidenceHint": "The judge must both flag the content and be at least this confident (default: 0.7)",
|
||||
"activeCount": "{{count}} active",
|
||||
"needsSetup": "{{count}} need setup",
|
||||
"needsSetup_one": "{{count}} needs setup",
|
||||
"needsSetup_other": "{{count}} need setup",
|
||||
"setupRequired": "Fill in this check's settings before saving.",
|
||||
"pickAtLeastOne": "Pick at least one — the check cannot run with none selected.",
|
||||
"remove": "Remove",
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
"memberAddedTitle": "Añadido a un equipo",
|
||||
"memberAddedBody": "Te añadieron a {{team}} como {{role}}",
|
||||
"sharedTitle": "Compartido contigo",
|
||||
"sharedBody": "{{type}} compartido con tu equipo: {{name}} ({{access}})",
|
||||
"sharedBodyNoName": "Se compartió un {{type}} con tu equipo ({{access}})",
|
||||
"sharedBody": "Se compartió con tu equipo: {{type}} «{{name}}» ({{access}})",
|
||||
"sharedBodyNoName": "Se compartió con tu equipo: {{type}} ({{access}})",
|
||||
"dismiss": "Descartar"
|
||||
},
|
||||
"demo": [
|
||||
@@ -197,7 +197,7 @@
|
||||
"queryPlaceholder": "Pregunta algo que esta fuente debería responder...",
|
||||
"run": "Ejecutar",
|
||||
"notSavedHint": "Estos ajustes solo se usan para esta prueba — no se guardan en la fuente. Cámbialos en Configuración de la fuente para hacerlos permanentes.",
|
||||
"resultSummary": "{{total}} fragmentos recuperados · {{retriever}}",
|
||||
"resultSummary": "{{count}} fragmentos recuperados · {{retriever}}",
|
||||
"latency": "{{ms}} ms",
|
||||
"empty": "No se recuperaron fragmentos para esta consulta.",
|
||||
"emptyWithThreshold": "Ningún fragmento alcanzó el umbral de puntuación ({{threshold}}). Bájalo para ver los que estuvieron cerca.",
|
||||
@@ -589,6 +589,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -1282,6 +1284,13 @@
|
||||
"agents": {
|
||||
"title": "Agentes",
|
||||
"edit": "Editar",
|
||||
"card": {
|
||||
"pin": "Fijar agente",
|
||||
"unpin": "Dejar de fijar agente",
|
||||
"open": "Abrir",
|
||||
"remove": "Quitar",
|
||||
"draft": "Borrador"
|
||||
},
|
||||
"description": "Descubre y crea versiones personalizadas de DocsGPT que combinan instrucciones, conocimiento adicional y cualquier combinación de habilidades",
|
||||
"newAgent": "Nuevo Agente",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
"queryPlaceholder": "このソースが回答できそうな質問を入力...",
|
||||
"run": "実行",
|
||||
"notSavedHint": "これらの設定はこのテストにのみ使用され、ソースには保存されません。恒久的に変更するにはソース設定で変更してください。",
|
||||
"resultSummary": "{{total}}件のチャンクを取得 · {{retriever}}",
|
||||
"resultSummary": "{{count}}件のチャンクを取得 · {{retriever}}",
|
||||
"latency": "{{ms}} ms",
|
||||
"empty": "このクエリで取得されたチャンクはありません。",
|
||||
"emptyWithThreshold": "スコアしきい値({{threshold}})以上のチャンクがありません。しきい値を下げると、惜しい候補を確認できます。",
|
||||
@@ -589,6 +589,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "ユーザー名",
|
||||
"password": "パスワード",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -1282,6 +1284,13 @@
|
||||
"agents": {
|
||||
"title": "エージェント",
|
||||
"edit": "編集",
|
||||
"card": {
|
||||
"pin": "エージェントをピン留め",
|
||||
"unpin": "エージェントのピン留めを解除",
|
||||
"open": "開く",
|
||||
"remove": "削除",
|
||||
"draft": "下書き"
|
||||
},
|
||||
"description": "指示、追加知識、スキルの組み合わせを含むDocsGPTのカスタムバージョンを発見して作成します",
|
||||
"newAgent": "新しいエージェント",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -137,8 +137,12 @@
|
||||
"confirm": "Преобразовать в вики",
|
||||
"inProgress": "Преобразование файлов в страницы вики…",
|
||||
"summaryPages_one": "Создана {{count}} страница",
|
||||
"summaryPages_few": "Создано страниц: {{count}}",
|
||||
"summaryPages_many": "Создано страниц: {{count}}",
|
||||
"summaryPages_other": "Создано страниц: {{count}}",
|
||||
"summarySkipped_one": "Пропущен {{count}} файл",
|
||||
"summarySkipped_few": "Пропущено файлов: {{count}}",
|
||||
"summarySkipped_many": "Пропущено файлов: {{count}}",
|
||||
"summarySkipped_other": "Пропущено файлов: {{count}}",
|
||||
"skippedHeading": "Пропущенные файлы",
|
||||
"done": "Готово",
|
||||
@@ -165,10 +169,16 @@
|
||||
"inProgress": "Построение графа…",
|
||||
"inProgressPct": "Построение графа… {{pct}}%",
|
||||
"summaryNodes_one": "{{count}} сущность",
|
||||
"summaryNodes_few": "Сущностей: {{count}}",
|
||||
"summaryNodes_many": "Сущностей: {{count}}",
|
||||
"summaryNodes_other": "Сущностей: {{count}}",
|
||||
"summaryEdges_one": "{{count}} связь",
|
||||
"summaryEdges_few": "Связей: {{count}}",
|
||||
"summaryEdges_many": "Связей: {{count}}",
|
||||
"summaryEdges_other": "Связей: {{count}}",
|
||||
"summaryChunks_one": "Обработан {{count}} фрагмент",
|
||||
"summaryChunks_few": "Обработано фрагментов: {{count}}",
|
||||
"summaryChunks_many": "Обработано фрагментов: {{count}}",
|
||||
"summaryChunks_other": "Обработано фрагментов: {{count}}",
|
||||
"done": "Готово",
|
||||
"errors": {
|
||||
@@ -197,7 +207,7 @@
|
||||
"queryPlaceholder": "Спросите что-нибудь, на что этот источник должен ответить...",
|
||||
"run": "Запустить",
|
||||
"notSavedHint": "Эти настройки используются только для этого теста — они не сохраняются в источнике. Чтобы сделать их постоянными, измените их в настройках источника.",
|
||||
"resultSummary": "Извлечено фрагментов: {{total}} · {{retriever}}",
|
||||
"resultSummary": "Извлечено фрагментов: {{count}} · {{retriever}}",
|
||||
"latency": "{{ms}} мс",
|
||||
"empty": "По этому запросу фрагменты не извлечены.",
|
||||
"emptyWithThreshold": "Ни один фрагмент не набрал оценку не ниже порога ({{threshold}}). Понизьте порог, чтобы увидеть близкие результаты.",
|
||||
@@ -589,6 +599,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "Имя пользователя",
|
||||
"password": "Пароль",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -1302,6 +1314,13 @@
|
||||
"agents": {
|
||||
"title": "Агенты",
|
||||
"edit": "Редактировать",
|
||||
"card": {
|
||||
"pin": "Закрепить агента",
|
||||
"unpin": "Открепить агента",
|
||||
"open": "Открыть",
|
||||
"remove": "Удалить",
|
||||
"draft": "Черновик"
|
||||
},
|
||||
"description": "Откройте и создайте пользовательские версии DocsGPT, которые объединяют инструкции, дополнительные знания и любую комбинацию навыков",
|
||||
"newAgent": "Новый Агент",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
"queryPlaceholder": "輸入此來源應能回答的問題...",
|
||||
"run": "執行",
|
||||
"notSavedHint": "這些設定僅用於此次測試,不會儲存到來源。若要永久生效,請至來源設定中修改。",
|
||||
"resultSummary": "檢索到 {{total}} 個區塊 · {{retriever}}",
|
||||
"resultSummary": "檢索到 {{count}} 個區塊 · {{retriever}}",
|
||||
"latency": "{{ms}} ms",
|
||||
"empty": "此查詢未檢索到任何區塊。",
|
||||
"emptyWithThreshold": "沒有區塊的分數達到分數門檻({{threshold}})。調低門檻可查看接近的結果。",
|
||||
@@ -589,6 +589,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "使用者名稱",
|
||||
"password": "密碼",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -1282,6 +1284,13 @@
|
||||
"agents": {
|
||||
"title": "代理",
|
||||
"edit": "編輯",
|
||||
"card": {
|
||||
"pin": "釘選代理",
|
||||
"unpin": "取消釘選代理",
|
||||
"open": "開啟",
|
||||
"remove": "移除",
|
||||
"draft": "草稿"
|
||||
},
|
||||
"description": "探索並創建結合指令、額外知識和任意技能組合的DocsGPT自訂版本",
|
||||
"newAgent": "新建代理",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
"queryPlaceholder": "输入一个此来源应能回答的问题...",
|
||||
"run": "运行",
|
||||
"notSavedHint": "这些设置仅用于本次测试,不会保存到来源。如需永久生效,请在来源设置中修改。",
|
||||
"resultSummary": "检索到 {{total}} 个文本块 · {{retriever}}",
|
||||
"resultSummary": "检索到 {{count}} 个文本块 · {{retriever}}",
|
||||
"latency": "{{ms}} 毫秒",
|
||||
"empty": "此查询未检索到任何文本块。",
|
||||
"emptyWithThreshold": "没有文本块的得分达到分数阈值({{threshold}})。降低阈值可查看接近的结果。",
|
||||
@@ -589,6 +589,8 @@
|
||||
"serverName": "Server Name",
|
||||
"serverUrl": "Server URL",
|
||||
"headerName": "Header Name",
|
||||
"username": "用户名",
|
||||
"password": "密码",
|
||||
"timeout": "Timeout (seconds)",
|
||||
"testConnection": "Test Connection",
|
||||
"testing": "Testing",
|
||||
@@ -1282,6 +1284,13 @@
|
||||
"agents": {
|
||||
"title": "代理",
|
||||
"edit": "编辑",
|
||||
"card": {
|
||||
"pin": "固定代理",
|
||||
"unpin": "取消固定代理",
|
||||
"open": "打开",
|
||||
"remove": "移除",
|
||||
"draft": "草稿"
|
||||
},
|
||||
"description": "发现并创建结合指令、额外知识和任意技能组合的DocsGPT自定义版本",
|
||||
"newAgent": "新建代理",
|
||||
"importAgent": "Import",
|
||||
|
||||
@@ -524,7 +524,7 @@ export default function MCPServerModal({
|
||||
type="text"
|
||||
value={formData.username}
|
||||
onChange={(e) => handleInputChange('username', e.target.value)}
|
||||
placeholder={t('settings.tools.mcp.username')}
|
||||
placeholder={t('settings.tools.mcp.placeholders.username')}
|
||||
aria-invalid={!!errors.username || undefined}
|
||||
className="rounded-xl"
|
||||
/>
|
||||
@@ -542,7 +542,7 @@ export default function MCPServerModal({
|
||||
type="password"
|
||||
value={formData.password}
|
||||
onChange={(e) => handleInputChange('password', e.target.value)}
|
||||
placeholder={t('settings.tools.mcp.password')}
|
||||
placeholder={t('settings.tools.mcp.placeholders.password')}
|
||||
aria-invalid={!!errors.password || undefined}
|
||||
className="rounded-xl"
|
||||
/>
|
||||
|
||||
@@ -193,7 +193,7 @@ export default function MoveToFolderModal({
|
||||
{isLoading ? (
|
||||
<div className="flex h-[200px] items-center justify-center">
|
||||
<span className="text-muted-foreground text-sm">
|
||||
{t('loading')}...
|
||||
{t('modals.searchConversations.loading')}
|
||||
</span>
|
||||
</div>
|
||||
) : (
|
||||
|
||||
@@ -387,7 +387,7 @@ function AddPrompt({
|
||||
|
||||
<VariableMenu
|
||||
options={toolVariables}
|
||||
label="Tool Variables"
|
||||
label={t('modals.prompts.toolVariables')}
|
||||
textareaId="new-prompt-content"
|
||||
content={newPromptContent}
|
||||
setContent={setNewPromptContent}
|
||||
@@ -537,7 +537,7 @@ function EditPrompt({
|
||||
|
||||
<VariableMenu
|
||||
options={toolVariables}
|
||||
label="Tool Variables"
|
||||
label={t('modals.prompts.toolVariables')}
|
||||
textareaId="edit-prompt-content"
|
||||
content={editPromptContent}
|
||||
setContent={setEditPromptContent}
|
||||
|
||||
@@ -339,9 +339,14 @@ export default function Prompts({
|
||||
)}
|
||||
>
|
||||
<Command>
|
||||
<CommandInput placeholder="Search..." className="h-9" />
|
||||
<CommandInput
|
||||
placeholder={t('settings.sources.searchPlaceholder')}
|
||||
className="h-9"
|
||||
/>
|
||||
<CommandList>
|
||||
<CommandEmpty>No results found</CommandEmpty>
|
||||
<CommandEmpty>
|
||||
{t('settings.sources.noResults')}
|
||||
</CommandEmpty>
|
||||
{prompts.map((prompt) => {
|
||||
const isActive = selectedPrompt?.id === prompt.id;
|
||||
const canModify = prompt.type !== 'public';
|
||||
|
||||
@@ -246,7 +246,7 @@ export default function TestRetrievalModal({
|
||||
<div className="text-muted-foreground flex flex-row items-center justify-between text-xs">
|
||||
<span>
|
||||
{tr('resultSummary', {
|
||||
total: result.total,
|
||||
count: result.total,
|
||||
retriever: result.retriever,
|
||||
})}
|
||||
</span>
|
||||
|
||||
Reference in new issue
Block a user