mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-25 11:10:18 +00:00
fix: localize external notes drawer copy
This commit is contained in:
+4
-1
@@ -3,6 +3,10 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Third-party notes drawer copy now uses localized strings in the supported non-English locale bundles instead of reusing the English defaults.
|
||||
|
||||
## [v0.51.132] — 2026-05-24 — Release DD (stage-batch14 — 4-PR replayed-context + interrupted-response + shutdown affordance + passkey opt-in)
|
||||
|
||||
### Added
|
||||
@@ -27,7 +31,6 @@
|
||||
- CHANGELOG entries added for PR #2685 and PR #2824 (both originally missing despite functional code changes)
|
||||
- Deferred to follow-up: per-turn cumulative live-tool-prompt token cap (#2685 only added per-call cap; aggregate across many tool calls is a separate refactor).
|
||||
- **i18n parity**: 7 new shutdown-affordance keys added across all 11 non-en locales (it, ja, ru, es, de, zh, zh-Hant, pt, ko, fr, tr) so locale parity tests pass on first run.
|
||||
|
||||
## [v0.51.131] — 2026-05-24 — Release DC (stage-batch13 — 6-PR notes-drawer + context-parity + PWA-swipe + locale polish)
|
||||
|
||||
### Added
|
||||
|
||||
+111
-100
@@ -2379,17 +2379,17 @@ const LOCALES = {
|
||||
memory_saved: 'Memoria salvata',
|
||||
my_notes: 'Le Mie Note',
|
||||
user_profile: 'Profilo Utente',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Note di terze parti',
|
||||
external_notes_empty: 'Nessuna fonte MCP di note o conoscenza è ancora visibile. Configura Joplin, Obsidian, Notion, llm-wiki o un altro server di note per mostrarlo qui.',
|
||||
external_notes_auto_recall_hint: 'Il richiamo automatico della sessione non cambia; questo pannello mostra solo fonti configurate e strumenti di lettura/ricerca disponibili.',
|
||||
external_notes_no_tools: 'Nessuno strumento di lettura/ricerca è attualmente visibile per questa fonte.',
|
||||
external_notes_tool_count: (count) => `${count} strument${Number(count)===1?'o':'i'} per note disponibile${Number(count)===1?'':'i'}`,
|
||||
external_notes_configured_hint: 'I nomi degli strumenti sono attesi da questa fonte configurata; gli schemi live appariranno quando il runtime WebUI li esporrà.',
|
||||
external_notes_recent_ai: 'Usate di recente dall’AI',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Richiamo automatico',
|
||||
external_notes_search_placeholder: 'Cerca note…',
|
||||
external_notes_search_empty: 'Cerca in una fonte di note configurata per visualizzare anteprime qui.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Ancora nessuna nota.',
|
||||
@@ -3655,17 +3655,17 @@ const LOCALES = {
|
||||
memory_saved: 'メモリを保存しました',
|
||||
my_notes: 'マイノート',
|
||||
user_profile: 'ユーザープロファイル',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'サードパーティのノート',
|
||||
external_notes_empty: 'ノートまたはナレッジ用の MCP ソースはまだ表示されていません。Joplin、Obsidian、Notion、llm-wiki、または別のノートサーバーを設定するとここに表示されます。',
|
||||
external_notes_auto_recall_hint: '自動セッションリコールは変更されません。このドロワーには、設定済みソースと利用可能な読み取り/検索ツールだけが表示されます。',
|
||||
external_notes_no_tools: 'このソースで利用できる読み取り/検索ツールは現在表示されていません。',
|
||||
external_notes_tool_count: (count) => `${count} 個のノートツールが利用可能`,
|
||||
external_notes_configured_hint: 'この設定済みソースからツール名が想定されています。WebUI ランタイムが公開するとライブスキーマが表示されます。',
|
||||
external_notes_recent_ai: 'AI が最近使用',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: '自動リコール',
|
||||
external_notes_search_placeholder: 'ノートを検索…',
|
||||
external_notes_search_empty: '設定済みのノートソースを検索すると、ここにプレビューが表示されます。',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'まだノートはありません。',
|
||||
@@ -4664,17 +4664,17 @@ const LOCALES = {
|
||||
memory_saved: 'Память сохранена',
|
||||
my_notes: 'Мои заметки',
|
||||
user_profile: 'Пользовательский профиль',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Сторонние заметки',
|
||||
external_notes_empty: 'Источники заметок или знаний MCP пока не видны. Настройте Joplin, Obsidian, Notion, llm-wiki или другой сервер заметок, чтобы он появился здесь.',
|
||||
external_notes_auto_recall_hint: 'Автоматический вызов контекста сеанса не меняется; эта панель показывает только настроенные источники и доступные инструменты чтения/поиска.',
|
||||
external_notes_no_tools: 'Для этого источника сейчас не видно инструментов чтения/поиска.',
|
||||
external_notes_tool_count: (count) => `Доступно инструментов заметок: ${count}`,
|
||||
external_notes_configured_hint: 'От этого настроенного источника ожидаются имена инструментов; живые схемы появятся, когда WebUI runtime их предоставит.',
|
||||
external_notes_recent_ai: 'Недавно использовано AI',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Автоматический вызов',
|
||||
external_notes_search_placeholder: 'Искать заметки…',
|
||||
external_notes_search_empty: 'Выполните поиск по настроенному источнику заметок, чтобы увидеть предпросмотр здесь.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Пока нет заметок.',
|
||||
@@ -5892,17 +5892,17 @@ const LOCALES = {
|
||||
memory_saved: 'Memory saved',
|
||||
my_notes: 'My Notes',
|
||||
user_profile: 'User Profile',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Notas de terceros',
|
||||
external_notes_empty: 'Aún no hay fuentes MCP de notas o conocimiento visibles. Configura Joplin, Obsidian, Notion, llm-wiki u otro servidor de notas para mostrarlo aquí.',
|
||||
external_notes_auto_recall_hint: 'El recuerdo automático de la sesión no cambia; este panel solo muestra fuentes configuradas y herramientas de lectura/búsqueda disponibles.',
|
||||
external_notes_no_tools: 'No hay herramientas de lectura/búsqueda visibles actualmente para esta fuente.',
|
||||
external_notes_tool_count: (count) => `${count} herramienta${Number(count)===1?'':'s'} de notas disponible${Number(count)===1?'':'s'}`,
|
||||
external_notes_configured_hint: 'Se esperan nombres de herramientas de esta fuente configurada; los esquemas en vivo aparecerán cuando el runtime de WebUI los exponga.',
|
||||
external_notes_recent_ai: 'Usado recientemente por la IA',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Recuerdo automático',
|
||||
external_notes_search_placeholder: 'Buscar notas…',
|
||||
external_notes_search_empty: 'Busca en una fuente de notas configurada para previsualizar notas aquí.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'No notes yet.',
|
||||
@@ -7292,17 +7292,17 @@ const LOCALES = {
|
||||
memory_saved: 'Notiz gespeichert.',
|
||||
my_notes: 'Meine Notizen',
|
||||
user_profile: 'Benutzerprofil',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Notizen von Drittanbietern',
|
||||
external_notes_empty: 'Noch sind keine MCP-Quellen für Notizen oder Wissen sichtbar. Konfiguriere Joplin, Obsidian, Notion, llm-wiki oder einen anderen Notizen-Server, um ihn hier anzuzeigen.',
|
||||
external_notes_auto_recall_hint: 'Der automatische Sitzungsabruf bleibt unverändert; diese Leiste zeigt nur konfigurierte Quellen und verfügbare Lese-/Suchwerkzeuge.',
|
||||
external_notes_no_tools: 'Für diese Quelle sind derzeit keine Lese-/Suchwerkzeuge sichtbar.',
|
||||
external_notes_tool_count: (count) => `${count} Notizwerkzeug${Number(count)===1?'':'e'} verfügbar`,
|
||||
external_notes_configured_hint: 'Werkzeugnamen werden von dieser konfigurierten Quelle erwartet; Live-Schemas erscheinen, wenn die WebUI-Laufzeit sie bereitstellt.',
|
||||
external_notes_recent_ai: 'Zuletzt von der KI verwendet',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Automatischer Abruf',
|
||||
external_notes_search_placeholder: 'Notizen suchen…',
|
||||
external_notes_search_empty: 'Durchsuche eine konfigurierte Notizenquelle, um hier eine Vorschau zu sehen.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Noch keine Notizen.',
|
||||
@@ -8306,17 +8306,17 @@ const LOCALES = {
|
||||
memory_saved: '记忆已保存',
|
||||
my_notes: '我的备注',
|
||||
user_profile: '用户画像',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: '第三方笔记',
|
||||
external_notes_empty: '还没有可见的笔记或知识 MCP 来源。配置 Joplin、Obsidian、Notion、llm-wiki 或其他笔记服务器后会显示在这里。',
|
||||
external_notes_auto_recall_hint: '自动会话召回保持不变;这个抽屉只显示已配置的来源和可用的读取/搜索工具。',
|
||||
external_notes_no_tools: '此来源当前没有可见的读取/搜索工具。',
|
||||
external_notes_tool_count: (count) => `${count} 个笔记工具可用`,
|
||||
external_notes_configured_hint: '此已配置来源应提供工具名称;当 WebUI 运行时暴露实时 schema 后会显示在这里。',
|
||||
external_notes_recent_ai: 'AI 最近使用',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: '自动召回',
|
||||
external_notes_search_placeholder: '搜索笔记…',
|
||||
external_notes_search_empty: '搜索已配置的笔记来源后,可在这里预览笔记。',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: '暂无备注。',
|
||||
@@ -9525,6 +9525,17 @@ const LOCALES = {
|
||||
no_profile_yet: '\u5c1a\u7121\u8a2d\u5b9a\u6a94\u3002',
|
||||
agent_soul: '智能體靈魂',
|
||||
no_soul_yet: '尚無靈魂定義。',
|
||||
external_notes_sources: '第三方筆記',
|
||||
external_notes_empty: '尚未看到任何筆記或知識 MCP 來源。設定 Joplin、Obsidian、Notion、llm-wiki 或其他筆記伺服器後,會顯示在這裡。',
|
||||
external_notes_auto_recall_hint: '自動會話召回維持不變;這個抽屜只顯示已設定的來源,以及可用的讀取/搜尋工具。',
|
||||
external_notes_no_tools: '此來源目前沒有可見的讀取/搜尋工具。',
|
||||
external_notes_tool_count: (count) => `${count} 個筆記工具可用`,
|
||||
external_notes_configured_hint: '此已設定來源應提供工具名稱;當 WebUI 執行階段提供即時 schema 時會顯示在這裡。',
|
||||
external_notes_recent_ai: 'AI 最近使用',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: '自動召回',
|
||||
external_notes_search_placeholder: '搜尋筆記…',
|
||||
external_notes_search_empty: '搜尋已設定的筆記來源後,可在這裡預覽筆記。',
|
||||
not_available: '\u7121',
|
||||
profile_active: '\u555f\u7528\u4e2d',
|
||||
profile_api_key_placeholder: 'API \u91d1\u9470\uff08\u9078\u586b\uff09',
|
||||
@@ -10874,17 +10885,17 @@ const LOCALES = {
|
||||
memory_saved: 'Memória salva',
|
||||
my_notes: 'Minhas Notas',
|
||||
user_profile: 'Perfil do Usuário',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Notas de terceiros',
|
||||
external_notes_empty: 'Nenhuma fonte MCP de notas ou conhecimento está visível ainda. Configure Joplin, Obsidian, Notion, llm-wiki ou outro servidor de notas para listá-lo aqui.',
|
||||
external_notes_auto_recall_hint: 'A recuperação automática da sessão não muda; esta gaveta mostra apenas fontes configuradas e ferramentas de leitura/pesquisa disponíveis.',
|
||||
external_notes_no_tools: 'Nenhuma ferramenta de leitura/pesquisa está visível para esta fonte no momento.',
|
||||
external_notes_tool_count: (count) => `${count} ferramenta${Number(count)===1?'':'s'} de notas ${Number(count)===1?'disponível':'disponíveis'}`,
|
||||
external_notes_configured_hint: 'Nomes de ferramentas são esperados desta fonte configurada; esquemas ao vivo aparecerão quando o runtime do WebUI os expuser.',
|
||||
external_notes_recent_ai: 'Usado recentemente pela IA',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Recuperação automática',
|
||||
external_notes_search_placeholder: 'Pesquisar notas…',
|
||||
external_notes_search_empty: 'Pesquise em uma fonte de notas configurada para pré-visualizar notas aqui.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Nenhuma nota ainda.',
|
||||
@@ -12054,17 +12065,17 @@ const LOCALES = {
|
||||
memory_saved: 'Memory saved',
|
||||
my_notes: 'My Notes',
|
||||
user_profile: 'User Profile',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: '타사 노트',
|
||||
external_notes_empty: '아직 표시되는 노트 또는 지식 MCP 소스가 없습니다. Joplin, Obsidian, Notion, llm-wiki 또는 다른 노트 서버를 설정하면 여기에 표시됩니다.',
|
||||
external_notes_auto_recall_hint: '자동 세션 리콜은 변경되지 않습니다. 이 드로어는 설정된 소스와 사용 가능한 읽기/검색 도구만 보여줍니다.',
|
||||
external_notes_no_tools: '이 소스에 대해 현재 표시되는 읽기/검색 도구가 없습니다.',
|
||||
external_notes_tool_count: (count) => `${count}개의 노트 도구 사용 가능`,
|
||||
external_notes_configured_hint: '이 설정된 소스에서 도구 이름이 제공될 것으로 예상됩니다. WebUI 런타임이 노출하면 실시간 스키마가 표시됩니다.',
|
||||
external_notes_recent_ai: 'AI가 최근 사용',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: '자동 리콜',
|
||||
external_notes_search_placeholder: '노트 검색…',
|
||||
external_notes_search_empty: '설정된 노트 소스를 검색하면 여기에 노트 미리보기가 표시됩니다.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'No notes yet.',
|
||||
@@ -13245,17 +13256,17 @@ const LOCALES = {
|
||||
memory_saved: 'Mémoire sauvegardée',
|
||||
my_notes: 'Mes notes',
|
||||
user_profile: 'Profil utilisateur',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Notes tierces',
|
||||
external_notes_empty: 'Aucune source MCP de notes ou de connaissances n’est encore visible. Configurez Joplin, Obsidian, Notion, llm-wiki ou un autre serveur de notes pour l’afficher ici.',
|
||||
external_notes_auto_recall_hint: 'Le rappel automatique de session reste inchangé ; ce tiroir affiche seulement les sources configurées et les outils de lecture/recherche disponibles.',
|
||||
external_notes_no_tools: 'Aucun outil de lecture/recherche n’est actuellement visible pour cette source.',
|
||||
external_notes_tool_count: (count) => `${count} outil${Number(count)===1?'':'s'} de notes disponible${Number(count)===1?'':'s'}`,
|
||||
external_notes_configured_hint: 'Des noms d’outils sont attendus depuis cette source configurée ; les schémas live apparaîtront quand le runtime WebUI les exposera.',
|
||||
external_notes_recent_ai: 'Utilisé récemment par l’IA',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Rappel automatique',
|
||||
external_notes_search_placeholder: 'Rechercher des notes…',
|
||||
external_notes_search_empty: 'Recherchez dans une source de notes configurée pour prévisualiser les notes ici.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Aucune note pour l\'instant.',
|
||||
@@ -14529,17 +14540,17 @@ const LOCALES = {
|
||||
memory_saved: 'Bellek kaydedildi',
|
||||
my_notes: 'Notlarım',
|
||||
user_profile: 'Kullanıcı Profili',
|
||||
external_notes_sources: 'Third-party notes',
|
||||
external_notes_empty: 'No note or knowledge MCP sources are visible yet. Configure Joplin, Obsidian, Notion, llm-wiki, or another notes server to list it here.',
|
||||
external_notes_auto_recall_hint: 'Automatic session recall is unchanged; this drawer only shows configured sources and available read/search tools.',
|
||||
external_notes_no_tools: 'No read/search tools are currently visible for this source.',
|
||||
external_notes_tool_count: (count) => `${count} note tool${Number(count)===1?'':'s'} available`,
|
||||
external_notes_configured_hint: 'Tool names are expected from this configured source; live schemas will appear when the WebUI runtime exposes them.',
|
||||
external_notes_recent_ai: 'Recently used by AI',
|
||||
external_notes_sources: 'Üçüncü taraf notlar',
|
||||
external_notes_empty: 'Henüz görünür not veya bilgi MCP kaynağı yok. Burada listelemek için Joplin, Obsidian, Notion, llm-wiki veya başka bir not sunucusu yapılandırın.',
|
||||
external_notes_auto_recall_hint: 'Otomatik oturum hatırlama değişmedi; bu çekmece yalnızca yapılandırılmış kaynakları ve kullanılabilir okuma/arama araçlarını gösterir.',
|
||||
external_notes_no_tools: 'Bu kaynak için şu anda görünür okuma/arama aracı yok.',
|
||||
external_notes_tool_count: (count) => `${count} not aracı kullanılabilir`,
|
||||
external_notes_configured_hint: 'Bu yapılandırılmış kaynaktan araç adları beklenir; WebUI runtime bunları sunduğunda canlı şemalar görünecek.',
|
||||
external_notes_recent_ai: 'AI tarafından yakın zamanda kullanıldı',
|
||||
external_notes_auto: 'auto',
|
||||
external_notes_recent_ai_reason: 'Automatic recall',
|
||||
external_notes_search_placeholder: 'Search notes…',
|
||||
external_notes_search_empty: 'Search a configured notes source to preview notes here.',
|
||||
external_notes_recent_ai_reason: 'Otomatik hatırlama',
|
||||
external_notes_search_placeholder: 'Notlarda ara…',
|
||||
external_notes_search_empty: 'Notları burada önizlemek için yapılandırılmış bir not kaynağında arama yapın.',
|
||||
source_active: 'active',
|
||||
source_configured: 'configured',
|
||||
no_notes_yet: 'Henüz not yok.',
|
||||
|
||||
@@ -190,6 +190,40 @@ def test_external_notes_menu_item_is_default_off_from_memory_payload():
|
||||
assert "if (s.key === 'external_notes' && !_memoryData.external_notes_enabled) continue;" in panels
|
||||
|
||||
|
||||
def test_external_notes_drawer_copy_is_localized_outside_english():
|
||||
from pathlib import Path
|
||||
|
||||
i18n = Path("static/i18n.js").read_text(encoding="utf-8")
|
||||
|
||||
assert i18n.count("external_notes_sources: 'Third-party notes'") == 1
|
||||
assert i18n.count("external_notes_recent_ai: 'Recently used by AI'") == 1
|
||||
assert i18n.count("external_notes_recent_ai_reason: 'Automatic recall'") == 1
|
||||
assert i18n.count("external_notes_search_placeholder: 'Search notes…'") == 1
|
||||
|
||||
locale_sources = [
|
||||
(" en: {", " it: {", "external_notes_sources: 'Third-party notes'"),
|
||||
(" it: {", " ja: {", "external_notes_sources: 'Note di terze parti'"),
|
||||
(" ja: {", " ru: {", "external_notes_sources: 'サードパーティのノート'"),
|
||||
(" ru: {", " es: {", "external_notes_sources: 'Сторонние заметки'"),
|
||||
(" es: {", " de: {", "external_notes_sources: 'Notas de terceros'"),
|
||||
(" de: {", " zh: {", "external_notes_sources: 'Notizen von Drittanbietern'"),
|
||||
(" zh: {", " 'zh-Hant': {", "external_notes_sources: '第三方笔记'"),
|
||||
(" 'zh-Hant': {", " pt: {", "external_notes_sources: '第三方筆記'"),
|
||||
(" pt: {", " ko: {", "external_notes_sources: 'Notas de terceiros'"),
|
||||
(" ko: {", " fr: {", "external_notes_sources: '타사 노트'"),
|
||||
(" fr: {", " tr: {", "external_notes_sources: 'Notes tierces'"),
|
||||
]
|
||||
for start_marker, end_marker, expected in locale_sources:
|
||||
start = i18n.index(start_marker)
|
||||
end = i18n.index(end_marker, start)
|
||||
assert expected in i18n[start:end]
|
||||
|
||||
tr_start = i18n.index(" tr: {")
|
||||
tr_block = i18n[tr_start:]
|
||||
assert "external_notes_sources: 'Üçüncü taraf notlar'" in tr_block
|
||||
assert "external_notes_sources: 'Third-party notes'" not in tr_block
|
||||
|
||||
|
||||
def test_external_notes_search_button_matches_minimal_dark_controls():
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
Reference in New Issue
Block a user