mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	fix translations, again
fix translations fix translations add more missing translations
This commit is contained in:
		| @@ -25,13 +25,13 @@ const TPL = ` | |||||||
|             <div class="spinner-border spinner-border-sm text-primary" role="status"> |             <div class="spinner-border spinner-border-sm text-primary" role="status"> | ||||||
|                 <span class="visually-hidden">Loading...</span> |                 <span class="visually-hidden">Loading...</span> | ||||||
|             </div> |             </div> | ||||||
|             <span class="ms-2">${t('ai.processing.common')}...</span> |             <span class="ms-2">${t('ai_llm.agent.processing')}...</span> | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
|     <div class="sources-container p-2 border-top" style="display: none;"> |     <div class="sources-container p-2 border-top" style="display: none;"> | ||||||
|         <h6 class="m-0 p-1 d-flex align-items-center"> |         <h6 class="m-0 p-1 d-flex align-items-center"> | ||||||
|             <i class="bx bx-link-alt me-1"></i> ${t('ai.sources')} |             <i class="bx bx-link-alt me-1"></i> ${t('ai_llm.sources')} | ||||||
|             <span class="badge bg-primary rounded-pill ms-2 sources-count"></span> |             <span class="badge bg-primary rounded-pill ms-2 sources-count"></span> | ||||||
|         </h6> |         </h6> | ||||||
|         <div class="sources-list mt-2"></div> |         <div class="sources-list mt-2"></div> | ||||||
| @@ -41,7 +41,7 @@ const TPL = ` | |||||||
|         <div class="d-flex chat-input-container mb-2"> |         <div class="d-flex chat-input-container mb-2"> | ||||||
|             <textarea |             <textarea | ||||||
|                 class="form-control note-context-chat-input" |                 class="form-control note-context-chat-input" | ||||||
|                 placeholder="${t('ai.enter_message')}" |                 placeholder="${t('ai_llm.enter_message')}" | ||||||
|                 rows="2" |                 rows="2" | ||||||
|             ></textarea> |             ></textarea> | ||||||
|             <button type="submit" class="btn btn-primary note-context-chat-send-button ms-2 d-flex align-items-center justify-content-center"> |             <button type="submit" class="btn btn-primary note-context-chat-send-button ms-2 d-flex align-items-center justify-content-center"> | ||||||
| @@ -53,14 +53,14 @@ const TPL = ` | |||||||
|             <div class="form-check form-switch me-3 small"> |             <div class="form-check form-switch me-3 small"> | ||||||
|                 <input class="form-check-input use-advanced-context-checkbox" type="checkbox" id="useEnhancedContext" checked> |                 <input class="form-check-input use-advanced-context-checkbox" type="checkbox" id="useEnhancedContext" checked> | ||||||
|                 <label class="form-check-label small" for="useEnhancedContext" title="${t('ai.enhanced_context_description')}"> |                 <label class="form-check-label small" for="useEnhancedContext" title="${t('ai.enhanced_context_description')}"> | ||||||
|                     ${t('ai.use_enhanced_context')} |                     ${t('ai_llm.use_enhanced_context')} | ||||||
|                     <i class="bx bx-info-circle small text-muted"></i> |                     <i class="bx bx-info-circle small text-muted"></i> | ||||||
|                 </label> |                 </label> | ||||||
|             </div> |             </div> | ||||||
|             <div class="form-check form-switch small"> |             <div class="form-check form-switch small"> | ||||||
|                 <input class="form-check-input show-thinking-checkbox" type="checkbox" id="showThinking"> |                 <input class="form-check-input show-thinking-checkbox" type="checkbox" id="showThinking"> | ||||||
|                 <label class="form-check-label small" for="showThinking" title="${t('ai.show_thinking_description')}"> |                 <label class="form-check-label small" for="showThinking" title="${t('ai.show_thinking_description')}"> | ||||||
|                     ${t('ai.show_thinking')} |                     ${t('ai_llm.show_thinking')} | ||||||
|                     <i class="bx bx-info-circle small text-muted"></i> |                     <i class="bx bx-info-circle small text-muted"></i> | ||||||
|                 </label> |                 </label> | ||||||
|             </div> |             </div> | ||||||
|   | |||||||
| @@ -229,7 +229,7 @@ export default class AiSettingsWidget extends OptionsWidget { | |||||||
|         if (providerPrecedence.includes('ollama')) { |         if (providerPrecedence.includes('ollama')) { | ||||||
|             const ollamaBaseUrl = this.$widget.find('.ollama-base-url').val(); |             const ollamaBaseUrl = this.$widget.find('.ollama-base-url').val(); | ||||||
|             if (!ollamaBaseUrl) { |             if (!ollamaBaseUrl) { | ||||||
|                 ollamaWarnings.push(t("ai_llm.warning_ollama_missing_url")); |                 ollamaWarnings.push(t("ai_llm.ollama_no_url")); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -241,15 +241,15 @@ export default class AiSettingsWidget extends OptionsWidget { | |||||||
|             const embeddingProviderPrecedence = (this.$widget.find('.embedding-provider-precedence').val() as string || '').split(','); |             const embeddingProviderPrecedence = (this.$widget.find('.embedding-provider-precedence').val() as string || '').split(','); | ||||||
|  |  | ||||||
|             if (embeddingProviderPrecedence.includes('openai') && !this.$widget.find('.openai-api-key').val()) { |             if (embeddingProviderPrecedence.includes('openai') && !this.$widget.find('.openai-api-key').val()) { | ||||||
|                 embeddingWarnings.push(t("ai_llm.warning_openai_embedding_missing_api_key")); |                 embeddingWarnings.push(t("ai_llm.empty_key_warning.openai")); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (embeddingProviderPrecedence.includes('voyage') && !this.$widget.find('.voyage-api-key').val()) { |             if (embeddingProviderPrecedence.includes('voyage') && !this.$widget.find('.voyage-api-key').val()) { | ||||||
|                 embeddingWarnings.push(t("ai_llm.warning_voyage_embedding_missing_api_key")); |                 embeddingWarnings.push(t("ai_llm.empty_key_warning.voyage")); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (embeddingProviderPrecedence.includes('ollama') && !this.$widget.find('.ollama-base-url').val()) { |             if (embeddingProviderPrecedence.includes('ollama') && !this.$widget.find('.ollama-base-url').val()) { | ||||||
|                 embeddingWarnings.push(t("ai_llm.warning_ollama_embedding_missing_url")); |                 embeddingWarnings.push(t("ai_llm.empty_key_warning.ollama")); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -329,7 +329,7 @@ export default class AiSettingsWidget extends OptionsWidget { | |||||||
|                 // Update status text |                 // Update status text | ||||||
|                 let statusText; |                 let statusText; | ||||||
|                 if (stats.queuedNotesCount > 0) { |                 if (stats.queuedNotesCount > 0) { | ||||||
|                     statusText = t("ai_llm.processing", { percentage: progressPercent }); |                     statusText = t("ai_llm.agent.processing", { percentage: progressPercent }); | ||||||
|                 } else if (stats.embeddedNotesCount === 0) { |                 } else if (stats.embeddedNotesCount === 0) { | ||||||
|                     statusText = t("ai_llm.not_started"); |                     statusText = t("ai_llm.not_started"); | ||||||
|                 } else if (stats.embeddedNotesCount === stats.totalNotesCount) { |                 } else if (stats.embeddedNotesCount === stats.totalNotesCount) { | ||||||
| @@ -463,7 +463,7 @@ export default class AiSettingsWidget extends OptionsWidget { | |||||||
|  |  | ||||||
|         // OpenAI Section |         // OpenAI Section | ||||||
|         this.$widget.find('.openai-api-key').val(options.openaiApiKey || ''); |         this.$widget.find('.openai-api-key').val(options.openaiApiKey || ''); | ||||||
|         this.$widget.find('.openai-base-url').val(options.openaiBaseUrl || 'https://api.openai.com/v1'); |         this.$widget.find('.openai-base-url').val(options.openaiBaseUrl || 'https://api.openai_llm.com/v1'); | ||||||
|         this.$widget.find('.openai-default-model').val(options.openaiDefaultModel || 'gpt-4o'); |         this.$widget.find('.openai-default-model').val(options.openaiDefaultModel || 'gpt-4o'); | ||||||
|         this.$widget.find('.openai-embedding-model').val(options.openaiEmbeddingModel || 'text-embedding-3-small'); |         this.$widget.find('.openai-embedding-model').val(options.openaiEmbeddingModel || 'text-embedding-3-small'); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1266,7 +1266,55 @@ | |||||||
|     "note_queued_for_retry": "Note queued for retry", |     "note_queued_for_retry": "Note queued for retry", | ||||||
|     "failed_to_retry_note": "Failed to retry note", |     "failed_to_retry_note": "Failed to retry note", | ||||||
|     "all_notes_queued_for_retry": "All failed notes queued for retry", |     "all_notes_queued_for_retry": "All failed notes queued for retry", | ||||||
|     "failed_to_retry_all": "Failed to retry notes" |     "failed_to_retry_all": "Failed to retry notes", | ||||||
|  |     "ai_settings": "AI Settings", | ||||||
|  |     "api_key_tooltip": "API key for accessing the service", | ||||||
|  |     "confirm_delete_embeddings": "Are you sure you want to delete all AI embeddings? This will remove all semantic search capabilities until notes are reindexed, which can take a significant amount of time.", | ||||||
|  |     "empty_key_warning": { | ||||||
|  |       "anthropic": "Anthropic API key is empty. Please enter a valid API key.", | ||||||
|  |       "openai": "OpenAI API key is empty. Please enter a valid API key.", | ||||||
|  |       "voyage": "Voyage API key is empty. Please enter a valid API key.", | ||||||
|  |       "ollama": "Ollama API key is empty. Please enter a valid API key." | ||||||
|  |     }, | ||||||
|  |     "agent": { | ||||||
|  |       "processing": "Processing...", | ||||||
|  |       "thinking": "Thinking...", | ||||||
|  |       "loading": "Loading...", | ||||||
|  |       "generating": "Generating..." | ||||||
|  |     }, | ||||||
|  |     "name": "AI", | ||||||
|  |     "openai": "OpenAI", | ||||||
|  |     "use_enhanced_context": "Use enhanced context", | ||||||
|  |     "enhanced_context_description": "Provides the AI with more context from the note and its related notes for better responses", | ||||||
|  |     "show_thinking": "Show thinking", | ||||||
|  |     "show_thinking_description": "Show the AI's chain of thought process", | ||||||
|  |     "enter_message": "Enter your message...", | ||||||
|  |     "error_contacting_provider": "Error contacting AI provider. Please check your settings and internet connection.", | ||||||
|  |     "error_generating_response": "Error generating AI response", | ||||||
|  |     "index_all_notes": "Index All Notes", | ||||||
|  |     "index_status": "Index Status", | ||||||
|  |     "indexed_notes": "Indexed Notes", | ||||||
|  |     "indexing_stopped": "Indexing stopped", | ||||||
|  |     "indexing_in_progress": "Indexing in progress...", | ||||||
|  |     "last_indexed": "Last Indexed", | ||||||
|  |     "n_notes_queued": "{{ count }} note queued for indexing", | ||||||
|  |     "n_notes_queued_plural": "{{ count }} notes queued for indexing", | ||||||
|  |     "note_chat": "Note Chat", | ||||||
|  |     "notes_indexed": "{{ count }} note indexed", | ||||||
|  |     "notes_indexed_plural": "{{ count }} notes indexed", | ||||||
|  |     "reset_embeddings": "Reset Embeddings", | ||||||
|  |     "sources": "Sources", | ||||||
|  |     "start_indexing": "Start Indexing", | ||||||
|  |     "use_advanced_context": "Use Advanced Context", | ||||||
|  |     "ollama_no_url": "Ollama is not configured. Please enter a valid URL.", | ||||||
|  |     "chat": { | ||||||
|  |       "root_note_title": "AI Chats", | ||||||
|  |       "root_note_content": "This note contains your saved AI chat conversations.", | ||||||
|  |       "new_chat_title": "New Chat", | ||||||
|  |       "create_new_ai_chat": "Create new AI Chat" | ||||||
|  |     }, | ||||||
|  |     "create_new_ai_chat": "Create new AI Chat", | ||||||
|  |     "configuration_warnings": "There are some issues with your AI configuration. Please check your settings." | ||||||
|   }, |   }, | ||||||
|   "zoom_factor": { |   "zoom_factor": { | ||||||
|     "title": "Zoom Factor (desktop build only)", |     "title": "Zoom Factor (desktop build only)", | ||||||
| @@ -1883,57 +1931,6 @@ | |||||||
|     "title": "Content languages", |     "title": "Content languages", | ||||||
|     "description": "Select one or more languages that should appear in the language selection in the Basic Properties section of a read-only or editable text note. This will allow features such as spell-checking or right-to-left support." |     "description": "Select one or more languages that should appear in the language selection in the Basic Properties section of a read-only or editable text note. This will allow features such as spell-checking or right-to-left support." | ||||||
|   }, |   }, | ||||||
|   "ai": { |  | ||||||
|     "ai_settings": "AI Settings", |  | ||||||
|     "api_key": "API Key", |  | ||||||
|     "api_key_tooltip": "API key for accessing the service", |  | ||||||
|     "confirm_delete_embeddings": "Are you sure you want to delete all AI embeddings? This will remove all semantic search capabilities until notes are reindexed, which can take a significant amount of time.", |  | ||||||
|     "empty_key_warning": { |  | ||||||
|       "anthropic": "Anthropic API key is empty. Please enter a valid API key.", |  | ||||||
|       "openai": "OpenAI API key is empty. Please enter a valid API key.", |  | ||||||
|       "voyage": "Voyage API key is empty. Please enter a valid API key.", |  | ||||||
|       "ollama": "Ollama API key is empty. Please enter a valid API key." |  | ||||||
|     }, |  | ||||||
|     "enable_ai": "Enable AI Features", |  | ||||||
|     "name": "AI", |  | ||||||
|     "openai": "OpenAI", |  | ||||||
|     "use_enhanced_context": "Use enhanced context", |  | ||||||
|     "enhanced_context_description": "Provides the AI with more context from the note and its related notes for better responses", |  | ||||||
|     "show_thinking": "Show thinking", |  | ||||||
|     "show_thinking_description": "Show the AI's chain of thought process", |  | ||||||
|     "enter_message": "Enter your message...", |  | ||||||
|     "error_contacting_provider": "Error contacting AI provider. Please check your settings and internet connection.", |  | ||||||
|     "error_generating_response": "Error generating AI response", |  | ||||||
|     "index_all_notes": "Index All Notes", |  | ||||||
|     "index_status": "Index Status", |  | ||||||
|     "indexed_notes": "Indexed Notes", |  | ||||||
|     "indexing_stopped": "Indexing stopped", |  | ||||||
|     "indexing_in_progress": "Indexing in progress...", |  | ||||||
|     "last_indexed": "Last Indexed", |  | ||||||
|     "n_notes_queued": "{{ count }} note queued for indexing", |  | ||||||
|     "n_notes_queued_plural": "{{ count }} notes queued for indexing", |  | ||||||
|     "note_chat": "Note Chat", |  | ||||||
|     "notes_indexed": "{{ count }} note indexed", |  | ||||||
|     "notes_indexed_plural": "{{ count }} notes indexed", |  | ||||||
|     "reset_embeddings": "Reset Embeddings", |  | ||||||
|     "sources": "Sources", |  | ||||||
|     "start_indexing": "Start Indexing", |  | ||||||
|     "use_advanced_context": "Use Advanced Context", |  | ||||||
|     "chat": { |  | ||||||
|       "root_note_title": "AI Chats", |  | ||||||
|       "root_note_content": "This note contains your saved AI chat conversations.", |  | ||||||
|       "new_chat_title": "New Chat", |  | ||||||
|       "create_new_ai_chat": "Create new AI Chat" |  | ||||||
|     }, |  | ||||||
|     "processing": { |  | ||||||
|       "common": "Processing...", |  | ||||||
|       "thinking": "Thinking...", |  | ||||||
|       "loading": "Loading...", |  | ||||||
|       "generating": "Generating..." |  | ||||||
|     }, |  | ||||||
|     "create_new_ai_chat": "Create new AI Chat", |  | ||||||
|     "configuration_warnings": "There are some issues with your AI configuration. Please check your settings." |  | ||||||
|   }, |  | ||||||
|   "switch_layout_button": { |   "switch_layout_button": { | ||||||
|     "title_vertical": "Move editing pane to the bottom", |     "title_vertical": "Move editing pane to the bottom", | ||||||
|     "title_horizontal": "Move editing pane to the left" |     "title_horizontal": "Move editing pane to the left" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user