From 2c4d03c5d7c0a7df4392803f9493ffed2b5e0c85 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:22 +0000 Subject: [PATCH 01/10] New translations messages.properties (French) [ci skip] --- .../resources/i18n/messages_fr.properties | 248 +++++++++--------- 1 file changed, 128 insertions(+), 120 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_fr.properties b/desktop-shared/src/main/resources/i18n/messages_fr.properties index 2646913b4..ea3348819 100644 --- a/desktop-shared/src/main/resources/i18n/messages_fr.properties +++ b/desktop-shared/src/main/resources/i18n/messages_fr.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Rejoindre la communauté Discord menu.help.share.x=Partager sur X / Twitter menu.help.share.linkedin=Partager sur LinkedIn menu.help.share.facebook=Partager sur Facebook -menu.help.share.text=Découvrez Askimo — un client IA gratuit et local pour bureau. Compatible avec Ollama, OpenAI, Anthropic et plus. https://askimo.chat +menu.help.share.text=Découvrez Askimo — un client IA gratuit et local pour bureau. Compatible avec Ollama, OpenAI, Anthropic et plus. https\://askimo.chat menu.help.share.hackernews=Publier sur Hacker News menu.eventlog=Journal des événements menu.help.model.capabilities=Ouvrir le fichier des capacités du modèle @@ -60,16 +60,16 @@ dialog.close=Fermer # Backup and Restore backup.export.title=Exporter la sauvegarde backup.export.success.title=Sauvegarde exportée -backup.export.success.message=Sauvegarde exportée avec succès vers :\n{0} +backup.export.success.message=Sauvegarde exportée avec succès vers \:\n{0} backup.export.error.title=Échec de l'exportation -backup.export.error.message=Impossible d'exporter la sauvegarde :\n{0} +backup.export.error.message=Impossible d''exporter la sauvegarde \:\n{0} backup.import.title=Importer la sauvegarde backup.import.confirm.title=Confirmer l'importation backup.import.confirm.message=Cette action remplacera toutes les données actuelles par la sauvegarde.\n\nUne sauvegarde de sécurité sera créée automatiquement avant l'importation.\n\nÊtes-vous sûr de vouloir continuer ? backup.import.success.title=Sauvegarde importée backup.import.success.message=Sauvegarde importée avec succès.\n\nVeuillez redémarrer Askimo pour que tous les changements prennent effet. backup.import.error.title=Échec de l'importation -backup.import.error.message=Impossible d'importer la sauvegarde :\n{0} +backup.import.error.message=Impossible d''importer la sauvegarde \:\n{0} # Event Log eventlog.title=Journal des événements ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=Journal des événements eventlog.window.attach=Réattacher à la fenêtre principale eventlog.window.events.count={0} événements eventlog.window.empty.message=Aucun événement pour le moment. Ils apparaîtront ici lorsqu’ils se produiront. -eventlog.footer.warning=Les entrées les plus anciennes ont été supprimées (limite: {0}) +eventlog.footer.warning=Les entrées les plus anciennes ont été supprimées (limite\: {0}) # Chat Interface chat.new=Nouvelle conversation @@ -165,7 +165,7 @@ session.rename.error.empty=Le titre ne peut pas être vide session.export.file.chooser.title=Enregistrer l’historique session.export.button.export=Exporter session.export.success.title=Exportation réussie -session.export.success.message=La session a été exportée avec succès vers : +session.export.success.message=La session a été exportée avec succès vers \: # Projects project.title=Projets @@ -181,11 +181,11 @@ project.new.dialog.file.browse=Sélectionner les fichiers à traiter... project.new.dialog.sources.label=Matériaux de référence (optionnel) project.new.dialog.sources.add=Ajouter une source project.new.dialog.error.empty.name=Le nom du projet ne peut pas être vide -project.new.dialog.error.create.failed=Échec de la création du projet : {0} +project.new.dialog.error.create.failed=Échec de la création du projet \: {0} project.new.dialog.name.error.empty=Le nom du projet ne peut pas être vide project.new.dialog.button.create=Créer le projet project.new.dialog.button.cancel=Annuler -project.new.dialog.success.title=Projet créé avec succès ! +project.new.dialog.success.title=Projet créé avec succès \! project.new.dialog.success.message=Le projet ''{0}'' a été créé. project.new.dialog.success.countdown=Fermeture dans {0} seconde{1}... project.new.dialog.success.close=Fermer maintenant @@ -208,7 +208,7 @@ projects.title=Projets projects.description=Organisez vos discussions autour d'un sujet et joignez des fichiers, des dossiers ou des URL comme sources de connaissances, afin que l'IA dispose toujours du contexte approprié pour ce projet. projects.error=❌ {0} projects.empty=Aucun projet trouvé. -projects.empty.hint=💡 Créez un nouveau projet pour organiser vos sessions de chat ! +projects.empty.hint=💡 Créez un nouveau projet pour organiser vos sessions de chat \! projects.search.placeholder=Rechercher par nom… projects.search.empty=Aucun projet ne correspond à "{0}". projects.col.name=Nom @@ -219,13 +219,16 @@ projects.sources.expand=Afficher les matériaux de référence projects.sources.collapse=Masquer les matériaux de référence projects.sources.empty.title=Aucun document de référence pour le moment projects.sources.empty.description=Ajoutez des documents afin qu’Askimo puisse s’y référer lorsqu’il répond à vos questions -projects.sources.info.tooltip=Les documents de référence aident Askimo à comprendre votre contexte spécifique.\n\n\ -Ajoutez des dossiers, des fichiers ou des sites web contenant les informations auxquelles Askimo doit se référer pour répondre à vos questions.\n\n\ -Par exemple :\n\ +projects.sources.info.tooltip=Les documents de référence aident Askimo à comprendre votre contexte spécifique.\n\ +\n\ +Ajoutez des dossiers, des fichiers ou des sites web contenant les informations auxquelles Askimo doit se référer pour répondre à vos questions.\n\ +\n\ +Par exemple \:\n\ • Documentation de votre projet\n\ • Base de connaissances de l’entreprise\n\ • Spécifications techniques\n\ -• Articles de recherche\n\n\ +• Articles de recherche\n\ +\n\ Askimo analysera ces documents afin de fournir des réponses plus précises et adaptées au contexte. projects.sources.type.local_folders=Dossiers Locaux projects.sources.type.local_files=Fichiers Locaux @@ -252,8 +255,8 @@ project.reindex=Réindexer le projet project.menu.tooltip=Menu du projet project.new.chat.placeholder=Nouvelle conversation dans {0} project.recent.chats=Conversations récentes -project.no.chats=Pas encore de conversations. Commencez-en une nouvelle ci-dessous ! -project.indexing.label=Indexation de la source de connaissances: {0} +project.no.chats=Pas encore de conversations. Commencez-en une nouvelle ci-dessous \! +project.indexing.label=Indexation de la source de connaissances\: {0} project.indexing.queued=Indexation mise en file d'attente - en attente de la fin d'un autre projet... project.indexing.failed=L'indexation a échoué. Essayez de réindexer à partir du menu du projet. project.indexing.ready.label=Indexé @@ -272,7 +275,7 @@ settings.appearance=Apparence settings.appearance.accent=Couleur d’accent settings.appearance.accent.description=Personnalisez en toute sécurité une seule couleur d’accent. Askimo l’applique aux accents principaux de l’interface et dérive des couleurs associées pour préserver la lisibilité. settings.appearance.accent.label=Couleur d’accent (Hex) -settings.appearance.accent.invalid=Entrez une couleur hexadécimale valide comme #0284C7 +settings.appearance.accent.invalid=Entrez une couleur hexadécimale valide comme \#0284C7 settings.appearance.accent.swatch.primary=Primaire settings.appearance.accent.swatch.primary.container=Conteneur settings.appearance.accent.swatch.on.primary.container=Sur le conteneur @@ -295,8 +298,8 @@ settings.network=Réseau settings.network.description=Configurer les paramètres réseau et proxy settings.mcp.servers=Serveurs MCP settings.skills=Compétences -settings.skills.description=Les Skills sont des agents IA réutilisables qui fonctionnent directement sur votre machine. Chaque skill est un fichier Markdown contenant un prompt système et des instructions. Lorsque vous exécutez un skill, il s'exécute via {0} — lecture et écriture de vos fichiers, exécution de commandes shell et itération jusqu'à ce que la tâche soit terminée. Aucun copier-coller requis. -settings.skills.runtimes=Environnements d'exécution pris en charge : +settings.skills.description=Les Skills sont des agents IA réutilisables qui fonctionnent directement sur votre machine. Chaque skill est un fichier Markdown contenant un prompt système et des instructions. Lorsque vous exécutez un skill, il s''exécute via {0} — lecture et écriture de vos fichiers, exécution de commandes shell et itération jusqu''à ce que la tâche soit terminée. Aucun copier-coller requis. +settings.skills.runtimes=Environnements d'exécution pris en charge \: settings.skills.directory=Répertoire des compétences settings.skills.open.folder=Ouvrir le dossier settings.skills.new.skill=Nouvelle compétence @@ -376,11 +379,11 @@ settings.log.viewer=Fichiers journaux settings.log.viewer.description=Voir les journaux et diagnostics settings.log.viewer.view=Voir les journaux settings.log.viewer.open_folder=Ouvrir le dossier des journaux -settings.log.viewer.path=Fichier journal : {0} +settings.log.viewer.path=Fichier journal \: {0} settings.log.viewer.dialog.title=Journaux de l’application settings.log.viewer.refresh=Rafraîchir settings.log.viewer.copy=Copier -settings.log.viewer.copied=Copié ! +settings.log.viewer.copied=Copié \! settings.log.viewer.loading=Chargement des journaux... settings.log.viewer.error=Erreur lors du chargement des journaux settings.log.viewer.empty=Aucun journal disponible @@ -434,7 +437,7 @@ settings.web_search.api_key=Clé API settings.web_search.api_key.placeholder=Collez votre clé API ici settings.web_search.get_api_key=Obtenir une clé API gratuite ↗ settings.web_search.endpoint=URL de l’instance SearxNG -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=Tester la recherche settings.web_search.test.running=Test en cours... settings.web_search.test.success=✅ La recherche fonctionne @@ -463,7 +466,7 @@ user.profile.interests.custom.placeholder=ex. Apprentissage automatique, Photogr user.profile.interests.custom.hint=Séparez plusieurs centres d’intérêt par des virgules # Welcome Dialog (First Run) -welcome.title=Bienvenue sur Askimo ! +welcome.title=Bienvenue sur Askimo \! welcome.subtitle=Aidez-nous à personnaliser votre expérience IA welcome.avatar.optional=Cliquez pour ajouter une photo (facultatif) welcome.name=Votre nom @@ -526,7 +529,7 @@ action.refresh=Rafraîchir # Happiness Gate (shown before Star Prompt) happiness.gate.title=Comment trouvez-vous Askimo ? happiness.gate.subtitle=Votre avis honnête nous aide à continuer à nous améliorer -happiness.gate.happy=Je l'adore ! 😍 +happiness.gate.happy=Je l'adore \! 😍 happiness.gate.neutral=Ça va 🙂 happiness.gate.unhappy=Pas vraiment 😕 @@ -538,22 +541,22 @@ feedback.comment.placeholder=Décrivez le problème ou partagez vos réflexions feedback.unhappy.dialog.title=Nous adorerions savoir ce qui ne fonctionne pas feedback.unhappy.dialog.subtitle=Parlez-nous de votre expérience avec Askimo pour que nous puissions l'améliorer. feedback.comment.label.unhappy=Qu'est-ce qui ne fonctionne pas pour vous ? -feedback.comment.placeholder.unhappy=ex. : L'historique de session est difficile à trouver, les réponses semblent lentes… +feedback.comment.placeholder.unhappy=ex. \: L'historique de session est difficile à trouver, les réponses semblent lentes… feedback.neutral.dialog.title=Qu'est-ce qui rendrait Askimo meilleur pour vous ? feedback.neutral.dialog.subtitle=Vos idées nous aident à déterminer ce que nous devons créer ensuite. feedback.comment.label.neutral=Qu'est-ce que nous pourrions améliorer ? -feedback.comment.placeholder.neutral=ex. : Je voudrais de meilleurs raccourcis clavier, une commutation de modèle plus rapide… +feedback.comment.placeholder.neutral=ex. \: Je voudrais de meilleurs raccourcis clavier, une commutation de modèle plus rapide… feedback.comment.encourage.hint=Quelques mots font une grande différence — votre feedback va directement à l'équipe. feedback.email.label=Votre e-mail (facultatif) feedback.email.placeholder=you@example.com feedback.email.hint=Utilisé uniquement pour assurer le suivi de votre retour. Nous ne vous enverrons jamais de spam. feedback.action.skip=Passer feedback.action.send=Envoyer le feedback -feedback.thanks.title=Merci pour votre retour ! +feedback.thanks.title=Merci pour votre retour \! feedback.thanks.message=Votre contribution nous aide à améliorer Askimo. Nous l'apprécions vraiment. feedback.thanks.close=Fermer -feedback.remind.title=Pas de souci ! +feedback.remind.title=Pas de souci \! feedback.remind.message=Vous pouvez envoyer un feedback à tout moment depuis le menu Aide → Partager un feedback. feedback.remind.got.it=C'est noté @@ -577,10 +580,10 @@ star.prompt.share.description=Parlez d'Askimo à votre réseau sur X, LinkedIn o star.prompt.maybe.later=Pas maintenant star.prompt.already.starred=Déjà mis en favori ✓ star.prompt.social.proof=⭐ Rejoignez {0} personnes qui ont déjà ajouté une étoile à Askimo -star.prompt.thanks.title=Merci beaucoup ! 🌟 +star.prompt.thanks.title=Merci beaucoup \! 🌟 star.prompt.thanks.message=Votre soutien compte beaucoup et nous aide à continuer à développer Askimo. star.prompt.thanks.done=Terminé ✓ -star.prompt.remind.title=Pas de souci ! +star.prompt.remind.title=Pas de souci \! star.prompt.remind.message=Vous pouvez nous soutenir à tout moment via le menu Aide → Soutenir Askimo. star.prompt.remind.got.it=Compris @@ -619,7 +622,7 @@ about.buildJdk=JDK de compilation about.license=Licence about.description=Description about.description.text=Une plateforme d’agents IA local-first pour ordinateur et CLI. Discutez avec plusieurs fournisseurs (OpenAI, Anthropic, Gemini, xAI, Ollama, LM Studio et plus encore), récupérez des connaissances depuis des fichiers locaux et des URL via le RAG, exécutez des workflows IA en plusieurs étapes avec les Plans, lancez des scripts et connectez des outils externes via MCP — le tout sur votre propre machine. -about.copyright=Droits d'auteur (c) {0} {1} +about.copyright=Droits d''auteur (c) {0} {1} about.runtime.info=Informations d'exécution about.links=Liens @@ -654,7 +657,7 @@ shortcut.send.message=Envoyer le message shortcut.new.line=Nouvelle ligne # Chat View -chat.welcome=Bienvenue sur Askimo !\nCommencez une conversation en tapant un message ci-dessous. +chat.welcome=Bienvenue sur Askimo \!\nCommencez une conversation en tapant un message ci-dessous. chat.no.active.session=Sélectionnez une session dans la barre latérale ou démarrez une nouvelle conversation chat.search.placeholder=Rechercher dans la conversation... chat.search.no.results=Aucun résultat @@ -707,7 +710,7 @@ chat.rag.web_search.chip=Web chat.rag.web_search.tooltip.off=Inclure des résultats web en direct dans le contexte RAG (cliquer pour activer) chat.rag.web_search.tooltip.on=Résultats web en direct inclus dans le contexte RAG (cliquer pour désactiver) chat.image.model.missing.title=Modèle d'image non configuré -chat.image.model.missing.message=Aucun modèle d'image n'est défini pour {0}. Ouvrez Paramètres > Fournisseur d'IA > Modèles de génération d'images et définissez d'abord un nom de modèle. +chat.image.model.missing.message=Aucun modèle d''image n''est défini pour {0}. Ouvrez Paramètres > Fournisseur d''IA > Modèles de génération d''images et définissez d''abord un nom de modèle. chat.tools.button=Outils disponibles chat.tools.button.disabled=Outils disponibles ({0} désactivés) chat.tools.button.model.no.support=Les outils ne sont pas pris en charge par ce modèle @@ -736,7 +739,7 @@ chat.attachment.remove=Supprimer la pièce jointe chat.attachment.preview.loading=Chargement de l'aperçu… chat.attachment.preview.file.not.found=(Fichier introuvable) chat.attachment.preview.too.large=(Fichier trop volumineux pour l'aperçu) -chat.attachment.preview.cannot.read=(Impossible de lire le fichier : {0}) +chat.attachment.preview.cannot.read=(Impossible de lire le fichier \: {0}) chat.attachment.preview.more.lines={0} lignes supplémentaires # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=Créé sessions.col.updated=Mis à jour sessions.error=❌ {0} sessions.empty=Aucune session trouvée. -sessions.empty.hint=💡 Démarrez une nouvelle conversation pour créer votre première session ! +sessions.empty.hint=💡 Démarrez une nouvelle conversation pour créer votre première session \! sessions.search.placeholder=Rechercher par titre… sessions.search.empty=Aucune session ne correspond à "{0}". # Generic table pagination controls -table.page.size.label=Lignes par page: +table.page.size.label=Lignes par page\: table.page=Page {0} sur {1} table.page.previous=Page précédente table.page.next=Page suivante @@ -769,7 +772,7 @@ sessions.error.rename.failed=Renommage impossible. # ChatSessionService Errors # Update Check update.dialog.title=Mise à jour du logiciel -update.dialog.new.version.available=Une nouvelle version d’Askimo est disponible ! +update.dialog.new.version.available=Une nouvelle version d’Askimo est disponible \! update.urgency.medium=Vous avez {0} versions de retard — vous pourriez manquer des correctifs importants et de nouvelles fonctionnalités. update.urgency.high=Vous avez {0} versions de retard — vous manquez des améliorations importantes. Veuillez mettre à jour bientôt. update.dialog.current.version.label=Version actuelle @@ -780,7 +783,7 @@ update.dialog.download=Télécharger maintenant update.dialog.how.to.update=Comment mettre à jour update.dialog.later=Plus tard update.dialog.skip.version=Ignorer cette version -update.check.up.to.date=Vous utilisez la dernière version ! +update.check.up.to.date=Vous utilisez la dernière version \! update.check.failed=Échec de la vérification # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Contribuer sur Crowdin settings.ai.response.language=Langue de réponse préférée settings.ai.response.language.description=Forcer l'IA à répondre dans une langue spécifique (laisser vide pour détection automatique) settings.ai.response.language.auto=Détection automatique -settings.ai.response.language.tooltip=L'IA détecte automatiquement votre langue, mais remplacez quand :\n• Apprentissage de langues (pratique immersive)\n• Cohérence professionnelle (ex : docs de code toujours en anglais)\n• Optimisation RAG (correspondre à la langue de la base de connaissances)\n• Enseignement (poser une question dans une langue, expliquer dans une autre)\n• Éviter les changements de langue indésirables -settings.model.select=Sélectionner un modèle pour {0} : +settings.ai.response.language.tooltip=L'IA détecte automatiquement votre langue, mais remplacez quand \:\n• Apprentissage de langues (pratique immersive)\n• Cohérence professionnelle (ex \: docs de code toujours en anglais)\n• Optimisation RAG (correspondre à la langue de la base de connaissances)\n• Enseignement (poser une question dans une langue, expliquer dans une autre)\n• Éviter les changements de langue indésirables +settings.model.select=Sélectionner un modèle pour {0} \: settings.model.loading=Chargement des modèles... settings.model.none=Aucun modèle disponible settings.model.select.title=Sélection du modèle @@ -826,7 +829,7 @@ settings.model.current=Modèle actuel settings.model.selected=Modèle sélectionné settings.model.new=Nouveau modèle settings.model.use.default=Utiliser par défaut -settings.model.change.description=Choisissez un modèle dans la liste ci-dessous : +settings.model.change.description=Choisissez un modèle dans la liste ci-dessous \: settings.model.search=Rechercher un modèle settings.model.search.placeholder=Filtrer les modèles... settings.model.filtered=Affichage de {0} sur {1} modèles @@ -835,22 +838,22 @@ settings.model.chat.filter.label=Modèles de chat · {0} affichés settings.model.chat.filter.show.all=Afficher tout {0} settings.configure.title=Configurer {0} settings.test.connection.testing=Test en cours... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=Impossible de se connecter au fournisseur. Veuillez vérifier que votre clé API est correcte (pour les fournisseurs cloud) ou que votre URL de base est accessible (pour les fournisseurs locaux). Vous pouvez trouver des instructions de configuration en utilisant le lien d'aide ci-dessus. # Directives Dialog directive.manage.title=Gérer les directives -directive.manage.empty=Aucune directive disponible. Créez-en une pour commencer ! +directive.manage.empty=Aucune directive disponible. Créez-en une pour commencer \! directive.edit.name.label=Nom directive.edit.name.placeholder=Entrez le nom de la directive... directive.edit.content.label=Contenu directive.edit.content.placeholder=Entrez les instructions de la directive... directive.edit.name.required=Le nom est obligatoire directive.edit.content.required=Le contenu est obligatoire -directive.created=Créée : {0} +directive.created=Créée \: {0} directive.new.title=Nouvelle directive directive.new.guidelines=Les directives guident la manière dont l'IA répond à vos messages. Soyez précis sur le ton, le niveau de détail, le format ou toute exigence particulière dont vous avez besoin. -directive.new.name.placeholder=ex.: concise-code, explain-like-im-5 +directive.new.name.placeholder=ex.\: concise-code, explain-like-im-5 directive.new.content.placeholder=Entrez les instructions... directive.new.apply.current=Appliquer à la session actuelle directive.new.create=Créer @@ -862,8 +865,8 @@ directive.export.tooltip=Exporter toutes les directives vers un fichier JSON pou directive.export.filename=askimo-directives directive.import=Importer directive.import.tooltip=Importer des directives à partir d'un fichier JSON -directive.import.result=Importation terminée : {0} importées, {1} renommées, {2} ignorées -directive.import.error=Échec de l'importation : format de fichier non valide ou non pris en charge +directive.import.result=Importation terminée \: {0} importées, {1} renommées, {2} ignorées +directive.import.error=Échec de l'importation \: format de fichier non valide ou non pris en charge # Log Levels log.level.error=Erreur @@ -919,7 +922,7 @@ message.edited.indicator=(modifié) message.date.today=Aujourd'hui message.date.yesterday=Hier message.token.usage={0} tokens · {1} en entrée / {2} en sortie -message.token.usage.tooltip=Tokens utilisés par cette réponse.\nEntrée: votre prompt + contexte envoyé à l'IA.\nSortie: la réponse générée par l'IA. +message.token.usage.tooltip=Tokens utilisés par cette réponse.\nEntrée\: votre prompt + contexte envoyé à l'IA.\nSortie\: la réponse générée par l'IA. # Bookmarks chat.bookmarks.button.tooltip=Signets @@ -970,15 +973,20 @@ provider.template.get.apikey=Obtenir une clé API → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Exécutez des modèles d'IA sur le réseau périphérique mondial de Cloudflare avec Workers AI. -provider.template.cloudflare_ai.help=💡 Pour utiliser Cloudflare AI :\n\n1. Trouvez votre ID de compte dans votre tableau de bord Cloudflare\n2. Remplacez {ACCOUNT_ID} dans l'URL de base par celui-ci\n3. Créez un jeton API avec l'autorisation « Workers AI » sur :\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Pour utiliser Cloudflare AI \:\n\n1. Trouvez votre ID de compte dans votre tableau de bord Cloudflare\n2. Remplacez {ACCOUNT_ID} dans l''URL de base par celui-ci\n3. Créez un jeton API avec l''autorisation « Workers AI » sur \:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=Inférence ultra-rapide pour les modèles open source — Llama, Mixtral, Gemma et plus encore. -provider.template.groq.help=💡 Pour utiliser Groq :\n\n1. Obtenez votre clé API gratuite sur : console.groq.com/keys\n2. Saisissez un nom de modèle, par ex. llama-3.1-8b-instant\n3. Cliquez sur Suivant pour parcourir tous les modèles disponibles +provider.template.groq.help=💡 Pour utiliser Groq \:\n\n1. Obtenez votre clé API gratuite sur \: console.groq.com/keys\n2. Saisissez un nom de modèle, par ex. llama-3.1-8b-instant\n3. Cliquez sur Suivant pour parcourir tous les modèles disponibles provider.template.nvidia_nim.tagline=Exécutez des modèles d'IA optimisés sur l'infrastructure GPU cloud de NVIDIA. -provider.template.nvidia_nim.help=💡 Pour utiliser NVIDIA NIM :\n\n1. Obtenez votre clé API sur : build.nvidia.com\n2. Saisissez un nom de modèle, par ex. meta/llama-3.1-8b-instruct\n3. Cliquez sur Suivant pour parcourir tous les modèles disponibles +provider.template.nvidia_nim.help=💡 Pour utiliser NVIDIA NIM \:\n\n1. Obtenez votre clé API sur \: build.nvidia.com\n2. Saisissez un nom de modèle, par ex. meta/llama-3.1-8b-instruct\n3. Cliquez sur Suivant pour parcourir tous les modèles disponibles provider.template.openrouter.tagline=Accédez à plus de 300 modèles — GPT, Claude, Llama, Gemini, Mistral et plus, via une seule API. -provider.template.openrouter.help=💡 Pour utiliser OpenRouter :\n\n1. Obtenez votre clé API gratuite sur : openrouter.ai/keys\n2. Cliquez sur Suivant pour parcourir plus de 300 modèles disponibles\n3. De nombreux modèles offrent un niveau gratuit — aucune carte de crédit requise +provider.template.openrouter.help=💡 Pour utiliser OpenRouter \:\n\n1. Obtenez votre clé API gratuite sur \: openrouter.ai/keys\n2. Cliquez sur Suivant pour parcourir plus de 300 modèles disponibles\n3. De nombreux modèles offrent un niveau gratuit — aucune carte de crédit requise provider.template.together_ai.tagline=Inférence rapide et abordable pour plus de 100 modèles open source. -provider.template.together_ai.help=💡 Pour utiliser Together AI :\n\n1. Obtenez votre clé API sur : api.together.ai/settings/api-keys\n2. Cliquez sur Suivant pour parcourir les modèles disponibles,\n par ex. meta-llama/Llama-3-8b-chat-hf +provider.template.together_ai.help=💡 Pour utiliser Together AI \:\n\n1. Obtenez votre clé API sur \: api.together.ai/settings/api-keys\n2. Cliquez sur Suivant pour parcourir les modèles disponibles,\n par ex. meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -995,7 +1003,7 @@ provider.setup.required.message=Avant de pouvoir commencer à discuter, vous dev provider.setup.required.button=Configurer le fournisseur provider.setup.required.skip=Configurer plus tard provider.setup.empty.state.button=Ajouter un fournisseur -provider.configure.prompt=Configurer le fournisseur : +provider.configure.prompt=Configurer le fournisseur \: provider.setup.guide=Comment configurer {0} provider.apikey.stored=Clé API stockée de manière sécurisée provider.apikey.enter=Saisir la clé API @@ -1004,14 +1012,14 @@ provider.apikey.security.link=Découvrez comment nous protégeons vos données provider.not.set=Non défini # Provider Configuration - OpenAI -provider.openai.apikey.description=Votre clé API OpenAI : https://platform.openai.com/account/api-keys +provider.openai.apikey.description=Votre clé API OpenAI \: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=Clé API déjà stockée. Laissez vide pour conserver l’actuelle. -provider.openai.setup.help=💡 Pour utiliser OpenAI, une clé API est nécessaire.\n\n1. Obtenez-la ici : https://platform.openai.com/account/api-keys\n2. Configurez-la dans les paramètres ou via :change-settings +provider.openai.setup.help=💡 Pour utiliser OpenAI, une clé API est nécessaire.\n\n1. Obtenez-la ici \: https\://platform.openai.com/account/api-keys\n2. Configurez-la dans les paramètres ou via \:change-settings # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Votre clé API Anthropic : https://console.anthropic.com/ +provider.anthropic.apikey.description=Votre clé API Anthropic \: https\://console.anthropic.com/ provider.anthropic.apikey.stored=Clé API déjà stockée. -provider.anthropic.setup.help=💡 Pour utiliser Anthropic, une clé API est nécessaire.\n\n1. Obtenez-la ici : https://console.anthropic.com/\n2. Configurez-la dans les paramètres ou via :change-settings +provider.anthropic.setup.help=💡 Pour utiliser Anthropic, une clé API est nécessaire.\n\n1. Obtenez-la ici \: https\://console.anthropic.com/\n2. Configurez-la dans les paramètres ou via \:change-settings provider.anthropic.max_tokens.label=Max Tokens provider.anthropic.max_tokens.description=Nombre maximal de jetons que le modèle peut générer par réponse (réflexion + réponse combinées). provider.anthropic.thinking_budget_tokens.label=Jetons de budget de réflexion @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=Max de jetons de réflexion provider.anthropic.thinking_max_tokens.description=Plafond total de jetons lorsque la réflexion est activée (réflexion + réponse). Définissez sur 0 pour utiliser Max Tokens à la place. # Provider Configuration - Gemini -provider.gemini.apikey.description=Votre clé API Google AI Studio : https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Votre clé API Google AI Studio \: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=Clé API déjà stockée. -provider.gemini.setup.help=💡 Pour utiliser Gemini, une clé API est nécessaire.\n\n1. Obtenez-la ici : https://aistudio.google.com/app/apikey\n2. Configurez-la dans les paramètres ou via :change-settings +provider.gemini.setup.help=💡 Pour utiliser Gemini, une clé API est nécessaire.\n\n1. Obtenez-la ici \: https\://aistudio.google.com/app/apikey\n2. Configurez-la dans les paramètres ou via \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=Votre clé API XAI : https://console.x.ai/ +provider.xai.apikey.description=Votre clé API XAI \: https\://console.x.ai/ provider.xai.apikey.stored=Clé API déjà stockée. -provider.xai.setup.help=💡 Pour utiliser XAI, une clé API est nécessaire.\n\n1. Obtenez-la ici : https://console.x.ai/\n2. Configurez-la dans les paramètres ou via :change-settings +provider.xai.setup.help=💡 Pour utiliser XAI, une clé API est nécessaire.\n\n1. Obtenez-la ici \: https\://console.x.ai/\n2. Configurez-la dans les paramètres ou via \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=Base URL Ollama (défaut : http://localhost:11434) -provider.ollama.setup.help=💡 Pour utiliser Ollama, il doit s'exécuter localement.\n\n1. Installez : https://ollama.ai/\n2. Lancez le service\n3. Ajustez l'URL de base si nécessaire +provider.ollama.baseurl.description=Base URL Ollama (défaut \: http\://localhost\:11434) +provider.ollama.setup.help=💡 Pour utiliser Ollama, il doit s'exécuter localement.\n\n1. Installez \: https\://ollama.ai/\n2. Lancez le service\n3. Ajustez l'URL de base si nécessaire # Provider Configuration - Docker AI -provider.docker.baseurl.description=Base URL Docker AI (défaut : http://localhost:12434) +provider.docker.baseurl.description=Base URL Docker AI (défaut \: http\://localhost\:12434) provider.docker.setup.help=💡 Pour utiliser Docker AI, il doit s'exécuter localement.\n\n1. Assurez-vous que Docker AI est installé et en cours d'exécution\n2. Lancez le service\n3. Ajustez l'URL de base si nécessaire # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=Base URL LocalAI provider.localai.setup.help=💡 Pour utiliser LocalAI, vous devez l’exécuter d’abord.\n\n1. Installez et lancez LocalAI\n2. Configurez l’URL de base # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=Base URL LMStudio (défaut : http://localhost:1234) -provider.lmstudio.setup.help=💡 Pour utiliser LMStudio :\n\n1. Installez : https://lmstudio.ai/\n2. Lancez le serveur local\n3. Modifier l’URL de base si nécessaire +provider.lmstudio.baseurl.description=Base URL LMStudio (défaut \: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 Pour utiliser LMStudio \:\n\n1. Installez \: https\://lmstudio.ai/\n2. Lancez le serveur local\n3. Modifier l’URL de base si nécessaire provider.lmstudio.openai.compat.info=Askimo utilise les points de terminaison compatibles OpenAI (/v1), pas l’API LMStudio native (/api/v1/). # Provider Configuration - Open AI Compatible @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=Plus rapide pour les points de term # System Resources system.share.feedback=Partager vos commentaires -system.ai.provider.tooltip=Fournisseur d’IA : {0}\nCliquez pour configurer +system.ai.provider.tooltip=Fournisseur d’IA \: {0}\nCliquez pour configurer system.diagnostics.title=Diagnostics système system.diagnostics.resources=Ressources system.diagnostics.jvm.memory=Mémoire JVM (utilisée / totale) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=Télémétrie telemetry.export.csv=Exporter CSV telemetry.export.dialog.title=Exporter la télémétrie en ZIP telemetry.export.error.title=Échec de l'exportation -telemetry.export.error.message=Échec de l'exportation des données de télémétrie : {0} +telemetry.export.error.message=Échec de l''exportation des données de télémétrie \: {0} # Telemetry telemetry.reset=Réinitialiser les données de télémétrie @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=Aspect professionnel export.format.html.benefit.4=Facile à partager # Error Messages -error.network=⚠️ Impossible de se connecter au service IA{endpoint}\n\nVeuillez vérifier :\n• Votre connexion Internet\n• L’URL du service IA (vérifiez les paramètres)\n• Les paramètres du pare-feu\n• La disponibilité du service +error.network=⚠️ Impossible de se connecter au service IA{endpoint}\n\nVeuillez vérifier \:\n• Votre connexion Internet\n• L’URL du service IA (vérifiez les paramètres)\n• Les paramètres du pare-feu\n• La disponibilité du service error.authentication=⚠️ La clé API est manquante ou invalide{provider}\n\nCorrigez cela en configurant votre clé API dans les paramètres. -error.model_not_found=⚠️ Modèle introuvable : {model}\n\nCe modèle a peut-être été déprécié ou supprimé par le fournisseur. Veuillez sélectionner un autre modèle. -error.provider_not_configured=⚠️ Aucun fournisseur IA configuré.\n\nPour commencer à discuter :\n1. Ouvrez les paramètres\n2. Sélectionnez un fournisseur IA (OpenAI, Ollama, Anthropic, etc.)\n3. Entrez votre clé API ou configurez la connexion +error.model_not_found=⚠️ Modèle introuvable \: {model}\n\nCe modèle a peut-être été déprécié ou supprimé par le fournisseur. Veuillez sélectionner un autre modèle. +error.provider_not_configured=⚠️ Aucun fournisseur IA configuré.\n\nPour commencer à discuter \:\n1. Ouvrez les paramètres\n2. Sélectionnez un fournisseur IA (OpenAI, Ollama, Anthropic, etc.)\n3. Entrez votre clé API ou configurez la connexion error.rate_limit=⚠️ Limite d’utilisation atteinte\n{retryAfter}\n\nVous avez atteint votre limite d’utilisation de l’API. Veuillez patienter avant d’envoyer d’autres messages. error.insufficient_credits=⚠️ Crédits insuffisants\n\nVotre solde est trop faible pour utiliser ce fournisseur.\n\nVisitez la page de facturation pour ajouter des crédits. -error.timeout=⚠️ La requête a expiré après {timeout} secondes\n\nCauses possibles :\n• Charge serveur élevée – réessayez plus tard\n• Requête complexe – simplifiez-la\n• Latence réseau -error.context_length=⚠️ Fenêtre de contexte dépassée\n\nL'entrée totale (historique de la conversation + votre message + pièces jointes) est trop volumineuse pour être traitée par ce modèle.\n\nPour corriger cela :\n• Démarrez une nouvelle session de chat pour effacer l'historique de la conversation\n• Raccourcissez votre message ou supprimez les pièces jointes volumineuses\n• Si vous utilisez un modèle local (Ollama / LM Studio / Docker), augmentez la taille du contexte dans ses paramètres\n• Passez à un modèle avec une fenêtre de contexte plus grande -error.invalid_request=⚠️ Requête invalide : {details}\n\nVeuillez vérifier votre saisie et réessayer. -error.local_server=⚠️ Erreur du serveur IA local !\n\nLe processus du serveur IA a planté ou n'a pas pu charger le modèle. Ce n'est pas causé par Askimo.\n\nCauses possibles :\n• Le fichier modèle est corrompu ou incomplet — essayez de le retélécharger\n• RAM/VRAM insuffisante — essayez une quantification plus petite (ex. Q4 au lieu de Q8)\n• Format de modèle non pris en charge par la version actuelle du serveur\n• Le processus serveur a été tué par le système d'exploitation (mémoire insuffisante)\n\nQue faire :\n1. Consultez les journaux de votre serveur IA local\n2. Redémarrez le serveur et réessayez\n3. Re-téléchargez le modèle\n4. Essayez un autre modèle ou niveau de quantification\n\nDétails techniques : {details} -error.empty_http_response=⚠️ Le serveur a fermé la connexion sans répondre !\n\nModèle : {0}\n\nCela se produit généralement lorsqu'un fournisseur d'IA local ignore silencieusement la requête au lieu de renvoyer une erreur. La fenêtre de contexte du modèle est trop petite pour la requête actuelle.\n\nCauses courantes :\n• L'historique de la conversation est devenu trop long au fil des tours\n• Les outils activés ajoutent des données supplémentaires à chaque requête — même une question courte avec plusieurs outils actifs peut dépasser la limite\n• Des fichiers joints volumineux ou des extraits de code ont fait dépasser la limite à la requête\n\n{1}\n\nAutres pistes à explorer :\n• Démarrez une nouvelle conversation pour réinitialiser le contexte\n• Désactivez les outils qui ne sont pas nécessaires pour cette tâche\n• Réduisez la taille de votre message ou des fichiers joints -error.empty_http_response.hint.docker=Pour augmenter la fenêtre de contexte dans Docker AI / Docker Model Runner :\n• Passez --context-size lors du démarrage du modèle (ex. --context-size 32768)\n• Ou définissez-le dans la configuration d'exécution du modèle -error.empty_http_response.hint.ollama=Pour augmenter la fenêtre de contexte dans Ollama :\n• Définissez num_ctx dans votre Modelfile (ex. PARAMETER num_ctx 32768)\n• Ou passez-le comme paramètre : ollama run --num-ctx 32768 -error.empty_http_response.hint.lmstudio=Pour augmenter la fenêtre de contexte dans LM Studio :\n• Ouvrez le panneau des paramètres du modèle\n• Recherchez "Context Length" et augmentez-le (ex. à 32768 ou plus, jusqu'au maximum du modèle)\n• Redémarrez le serveur local après avoir modifié le paramètre -error.empty_http_response.hint.localai=Pour augmenter la fenêtre de contexte dans LocalAI :\n• Modifiez le YAML de configuration du modèle et définissez context_size : 32768\n• Redémarrez le serveur LocalAI après avoir modifié le paramètre -error.empty_http_response.hint.generic=Pour augmenter la fenêtre de contexte :\n• Vérifiez les paramètres de votre fournisseur pour une option de longueur de contexte / taille de contexte et augmentez-la (ex. à 32768 jetons)\n• Redémarrez le fournisseur après avoir modifié le paramètre -error.remote_server=⚠️ Erreur du serveur du fournisseur IA\n\nLe serveur du fournisseur a retourné une erreur temporaire (ex. surchargé ou indisponible). Ce n'est pas causé par Askimo.\n\nQue faire :\n• Attendez un moment et réessayez — c'est généralement passager\n• Consultez la page de statut du fournisseur si le problème persiste\n\nDétails techniques : {details} -error.system=⚠️ Erreur système\n\nUne erreur inattendue est survenue : {errorCode}\n\nVeuillez contacter le support Askimo avec :\n• Ce que vous faisiez\n• Le code d’erreur ci-dessus\n• L’horodatage +error.timeout=⚠️ La requête a expiré après {timeout} secondes\n\nCauses possibles \:\n• Charge serveur élevée – réessayez plus tard\n• Requête complexe – simplifiez-la\n• Latence réseau +error.context_length=⚠️ Fenêtre de contexte dépassée\n\nL'entrée totale (historique de la conversation + votre message + pièces jointes) est trop volumineuse pour être traitée par ce modèle.\n\nPour corriger cela \:\n• Démarrez une nouvelle session de chat pour effacer l'historique de la conversation\n• Raccourcissez votre message ou supprimez les pièces jointes volumineuses\n• Si vous utilisez un modèle local (Ollama / LM Studio / Docker), augmentez la taille du contexte dans ses paramètres\n• Passez à un modèle avec une fenêtre de contexte plus grande +error.invalid_request=⚠️ Requête invalide \: {details}\n\nVeuillez vérifier votre saisie et réessayer. +error.local_server=⚠️ Erreur du serveur IA local \!\n\nLe processus du serveur IA a planté ou n''a pas pu charger le modèle. Ce n''est pas causé par Askimo.\n\nCauses possibles \:\n• Le fichier modèle est corrompu ou incomplet — essayez de le retélécharger\n• RAM/VRAM insuffisante — essayez une quantification plus petite (ex. Q4 au lieu de Q8)\n• Format de modèle non pris en charge par la version actuelle du serveur\n• Le processus serveur a été tué par le système d''exploitation (mémoire insuffisante)\n\nQue faire \:\n1. Consultez les journaux de votre serveur IA local\n2. Redémarrez le serveur et réessayez\n3. Re-téléchargez le modèle\n4. Essayez un autre modèle ou niveau de quantification\n\nDétails techniques \: {details} +error.empty_http_response=⚠️ Le serveur a fermé la connexion sans répondre \!\n\nModèle \: {0}\n\nCela se produit généralement lorsqu''un fournisseur d''IA local ignore silencieusement la requête au lieu de renvoyer une erreur. La fenêtre de contexte du modèle est trop petite pour la requête actuelle.\n\nCauses courantes \:\n• L''historique de la conversation est devenu trop long au fil des tours\n• Les outils activés ajoutent des données supplémentaires à chaque requête — même une question courte avec plusieurs outils actifs peut dépasser la limite\n• Des fichiers joints volumineux ou des extraits de code ont fait dépasser la limite à la requête\n\n{1}\n\nAutres pistes à explorer \:\n• Démarrez une nouvelle conversation pour réinitialiser le contexte\n• Désactivez les outils qui ne sont pas nécessaires pour cette tâche\n• Réduisez la taille de votre message ou des fichiers joints +error.empty_http_response.hint.docker=Pour augmenter la fenêtre de contexte dans Docker AI / Docker Model Runner \:\n• Passez --context-size lors du démarrage du modèle (ex. --context-size 32768)\n• Ou définissez-le dans la configuration d'exécution du modèle +error.empty_http_response.hint.ollama=Pour augmenter la fenêtre de contexte dans Ollama \:\n• Définissez num_ctx dans votre Modelfile (ex. PARAMETER num_ctx 32768)\n• Ou passez-le comme paramètre \: ollama run --num-ctx 32768 +error.empty_http_response.hint.lmstudio=Pour augmenter la fenêtre de contexte dans LM Studio \:\n• Ouvrez le panneau des paramètres du modèle\n• Recherchez "Context Length" et augmentez-le (ex. à 32768 ou plus, jusqu'au maximum du modèle)\n• Redémarrez le serveur local après avoir modifié le paramètre +error.empty_http_response.hint.localai=Pour augmenter la fenêtre de contexte dans LocalAI \:\n• Modifiez le YAML de configuration du modèle et définissez context_size \: 32768\n• Redémarrez le serveur LocalAI après avoir modifié le paramètre +error.empty_http_response.hint.generic=Pour augmenter la fenêtre de contexte \:\n• Vérifiez les paramètres de votre fournisseur pour une option de longueur de contexte / taille de contexte et augmentez-la (ex. à 32768 jetons)\n• Redémarrez le fournisseur après avoir modifié le paramètre +error.remote_server=⚠️ Erreur du serveur du fournisseur IA\n\nLe serveur du fournisseur a retourné une erreur temporaire (ex. surchargé ou indisponible). Ce n''est pas causé par Askimo.\n\nQue faire \:\n• Attendez un moment et réessayez — c''est généralement passager\n• Consultez la page de statut du fournisseur si le problème persiste\n\nDétails techniques \: {details} +error.system=⚠️ Erreur système\n\nUne erreur inattendue est survenue \: {errorCode}\n\nVeuillez contacter le support Askimo avec \:\n• Ce que vous faisiez\n• Le code d’erreur ci-dessus\n• L’horodatage # Model Availability Errors error.model.not_available.title.chat=Modèle non disponible @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=Modèle d’embedding non disponible error.model.not_available.message.chat=Le modèle ''{0}'' n’est pas disponible. error.model.not_available.message.embedding=Le modèle d’embedding ''{0}'' n’est pas disponible dans votre fournisseur local.\n\nAccédez à Paramètres → Fournisseur IA et sélectionnez un modèle d’embedding disponible dans la carte de configuration du fournisseur. error.model.not_available.config_link=Configurer le modèle d’embedding -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=Une erreur inattendue s’est produite : {0} +error.app.message=Une erreur inattendue s’est produite \: {0} # Send Message Errors error.send_message.title=Échec de l’envoi du message @@ -1161,7 +1169,7 @@ error.action.configure_provider=Configurer le fournisseur error.indexing.model_not_found.title=Modèle d’embedding introuvable error.indexing.model_not_found.message=Le modèle d’embedding ''{0}'' est introuvable. Veuillez télécharger ou activer ce modèle depuis {1} avant l’indexation. error.indexing.input_too_large.title=Entrée d'embedding trop grande -error.indexing.input_too_large.message=Le modèle d'embedding a rejeté un ou plusieurs segments de [{0}] car le nombre de jetons dépasse la taille maximale de contexte du modèle. Réduisez la taille des segments dans Paramètres → Indexation → Max. caractères par segment, puis relancez l'indexation. +error.indexing.input_too_large.message=Le modèle d''embedding a rejeté un ou plusieurs segments de [{0}] car le nombre de jetons dépasse la taille maximale de contexte du modèle. Réduisez la taille des segments dans Paramètres → Indexation → Max. caractères par segment, puis relancez l''indexation. error.indexing.io_error.title=Erreur d’E/S error.indexing.io_error.message=Une erreur d’E/S s’est produite lors de l’indexation error.indexing.unknown.title=Erreur d’indexation @@ -1171,21 +1179,21 @@ error.indexing.unknown.message=Une erreur inconnue s’est produite lors de l’ settings.rag.title=Configuration RAG settings.rag.description=Configurez les paramètres de la génération augmentée par la recherche pour la récupération de connaissances basée sur les projets settings.rag.vector.max.results=Nombre maximal de résultats de recherche vectorielle -settings.rag.vector.max.results.hint=Nombre maximal de documents issus de la recherche vectorielle (par défaut : 20) +settings.rag.vector.max.results.hint=Nombre maximal de documents issus de la recherche vectorielle (par défaut \: 20) settings.rag.vector.min.score=Score minimal de recherche vectorielle -settings.rag.vector.min.score.hint=Score de similarité minimal 0,0–1,0 (par défaut : 0,3) +settings.rag.vector.min.score.hint=Score de similarité minimal 0,0–1,0 (par défaut \: 0,3) settings.rag.hybrid.max.results=Résultats hybrides maximaux -settings.rag.hybrid.max.results.hint=Nombre final de documents après fusion (par défaut : 15) +settings.rag.hybrid.max.results.hint=Nombre final de documents après fusion (par défaut \: 15) settings.rag.rank.fusion.constant=Constante de fusion de classement -settings.rag.rank.fusion.constant.hint=Constante RRF pour le classement hybride (par défaut : 60) +settings.rag.rank.fusion.constant.hint=Constante RRF pour le classement hybride (par défaut \: 60) settings.rag.use.absolute.paths=Utiliser des chemins absolus dans les citations settings.rag.use.absolute.paths.hint=Afficher les chemins de fichiers complets dans les réponses de l’IA pour plus de clarté lorsque plusieurs fichiers portent le même nom settings.rag.embedding.title=Configuration des embeddings settings.rag.embedding.description=Configurez les paramètres de segmentation du texte et des embeddings settings.rag.embedding.max.chars.per.chunk=Nombre maximal de caractères par segment -settings.rag.embedding.max.chars.per.chunk.hint=Nombre maximal de caractères dans chaque segment de texte (par défaut : 1500) +settings.rag.embedding.max.chars.per.chunk.hint=Nombre maximal de caractères dans chaque segment de texte (par défaut \: 1500) settings.rag.embedding.chunk.overlap=Chevauchement des segments -settings.rag.embedding.chunk.overlap.hint=Nombre de caractères chevauchants entre les segments (par défaut : 100) +settings.rag.embedding.chunk.overlap.hint=Nombre de caractères chevauchants entre les segments (par défaut \: 100) settings.rag.embedding.models=Modèles d’embedding par fournisseur settings.rag.indexing.title=Configuration de l'indexation settings.rag.indexing.description=Contrôlez les fichiers indexés et la taille maximale de fichier autorisée @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=Nombre de segments de texte envo settings.models.title=Modèles settings.models.description=Configurez le comportement global du modèle IA partagé entre tous les fournisseurs. settings.models.max.tool.calling.round.trips=Nombre maximal d'allers-retours d'appel d'outils -settings.models.max.tool.calling.round.trips.hint=Nombre maximum d'appels d'outils que l'IA peut effectuer dans une seule réponse (défaut : 10). Des valeurs plus élevées permettent des tâches d'agent plus complexes mais augmentent la latence et le coût. +settings.models.max.tool.calling.round.trips.hint=Nombre maximum d'appels d'outils que l'IA peut effectuer dans une seule réponse (défaut \: 10). Des valeurs plus élevées permettent des tâches d'agent plus complexes mais augmentent la latence et le coût. # Memory Settings settings.memory.title=Paramètres de mémoire @@ -1247,11 +1255,11 @@ file.viewer.title=Visionneuse de fichiers file.viewer.title.with.name=Visionneuse de fichiers - {0} file.viewer.dialog.close=Fermer file.viewer.copy.clipboard=Copier dans le presse-papiers -file.viewer.copied=Copié ! +file.viewer.copied=Copié \! # Mermaid Chart Renderer mermaid.setup.required.title=Mermaid CLI requis -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=Ouvrir le guide de configuration mermaid.rendering.progress=Rendu du diagramme en cours... mermaid.error.rendering.title=Erreur lors du rendu du diagramme @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=Zoom avant mermaid.button.zoom.out=Zoom arrière mermaid.button.reset.zoom=Réinitialiser le zoom mermaid.button.retry=Réessayer -mermaid.feedback.copied=Copié ! +mermaid.feedback.copied=Copié \! mermaid.setup.button.install=Installer Mermaid CLI mermaid.setup.button.check.again=Vérifier à nouveau mermaid.setup.button.download.node=Télécharger Node.js mermaid.setup.installing=Installation de Mermaid CLI... mermaid.setup.install.failed=L'installation a échoué. Consultez la sortie ci-dessous pour plus de détails. mermaid.setup.node.required=Node.js et npm sont introuvables. Installez d'abord Node.js pour activer l'installation en un clic. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=Afficher le code du diagramme mermaid.error.code.hide=Masquer le code du diagramme @@ -1290,9 +1298,9 @@ mcp.instances.title=Instances MCP mcp.instances.description=Ces instances MCP sont disponibles mcp.instances.empty=Aucune instance MCP configurée mcp.instances.count={0} instance(s) -mcp.instance.server.label=Serveur: {0} +mcp.instance.server.label=Serveur\: {0} mcp.instance.delete.confirm.title=Supprimer l'instance MCP ? -mcp.instance.delete.confirm.message=Êtes-vous sûr de vouloir supprimer l'instance mcp "{0}"? Cette action est irréversible. +mcp.instance.delete.confirm.message=Êtes-vous sûr de vouloir supprimer l''instance mcp "{0}"? Cette action est irréversible. mcp.instance.enable.tooltip=Activer cette instance MCP mcp.instance.disable.tooltip=Désactiver cette instance MCP mcp.instance.add.dialog.title=Ajouter une instance MCP @@ -1316,7 +1324,7 @@ mcp.instance.field.description=Description mcp.instance.field.description.placeholder=Brève description de ce que fait ce serveur mcp.instance.field.transport=Type de transport mcp.instance.field.command=Modèle de commande -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=Commande séparée par des espaces avec des espaces réservés {{parameter}} mcp.instance.validation.error.empty.id=L'ID du serveur ne peut pas être vide mcp.instance.validation.error.invalid.id.pattern=L'ID du serveur doit contenir uniquement des minuscules, des chiffres et des tirets @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=Le modèle de commande ne peut pas mcp.instance.validation.error.empty.parameter.key=La clé du paramètre ne peut pas être vide mcp.instance.validation.error.empty.parameter.label=L'étiquette du paramètre ne peut pas être vide mcp.instance.env.label=Variables d'environnement (Optionnel) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=Format : CLÉ=valeur ou CLÉ={{parameter}} (une par ligne) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=Format \: CLÉ\=valeur ou CLÉ\={{parameter}} (une par ligne) mcp.instance.transport.stdio=Stdio (Processus local) mcp.instance.transport.http=HTTP (Serveur distant) mcp.instance.http.url.label=Modèle d'URL -mcp.instance.http.url.placeholder=https://{{host}}/mcp ou https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp ou https\://api.example.com/mcp mcp.instance.http.url.hint=URL du point de terminaison du serveur. Utilisez des espaces réservés {{parameter}} pour les valeurs dynamiques mcp.instance.http.headers.label=En-têtes HTTP (Optionnel) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=Format : Nom-en-tête=valeur ou Nom-en-tête={{parameter}} (une par ligne) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=Format \: Nom-en-tête\=valeur ou Nom-en-tête\={{parameter}} (une par ligne) mcp.instance.http.timeout.label=Délai (ms) mcp.instance.http.timeout.hint=Délai de la requête en millisecondes mcp.instance.validation.error.empty.url=Le modèle d'URL ne peut pas être vide -mcp.instance.validation.error.invalid.url=Le modèle d'URL doit commencer par http:// ou https:// +mcp.instance.validation.error.invalid.url=Le modèle d'URL doit commencer par http\:// ou https\:// # MCP Integrations (Project View) mcp.instance.delete.tooltip=Supprimer l'instance MCP @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} de {1} outil(s) mcp.tools.dialog.search.empty=Aucun outil ne correspond à votre recherche mcp.tools.dialog.export=Exporter les outils mcp.tools.dialog.export.success=Outils exportés vers {0} -mcp.tools.dialog.export.failed=Échec de l'exportation des outils : {0} +mcp.tools.dialog.export.failed=Échec de l''exportation des outils \: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=Ajouter un serveur MCP @@ -1444,7 +1452,7 @@ file.viewer.close=Fermer la visionneuse file.viewer.open.external=Ouvrir en externe file.viewer.binary=Fichier binaire — impossible de prévisualiser sous forme de texte. file.viewer.too.large=Le fichier est trop volumineux pour être prévisualisé ({0} KB). Le maximum est de 512 KB. -file.viewer.error=Impossible de lire le fichier : {0} +file.viewer.error=Impossible de lire le fichier \: {0} file.viewer.select.prompt=Sélectionnez un fichier dans l'arborescence ci-dessus pour prévisualiser son contenu # Project Side Panel @@ -1453,14 +1461,14 @@ panel.context.menu=Menu contextuel panel.context.add.material=Ajouter du matériel de référence panel.context.reindex=Réindexer le projet panel.reindex.confirm.title=Arrêter et réindexer ? -panel.reindex.confirm.message="{0}" est en cours d'indexation. Arrêter l'indexation en cours et réindexer depuis le début ? +panel.reindex.confirm.message="{0}" est en cours d''indexation. Arrêter l''indexation en cours et réindexer depuis le début ? panel.reindex.confirm.button=Arrêter et réindexer panel.reindex.confirm.cancel=Annuler panel.collapse=Réduire le panneau # RAG Status rag.status.started=Indexation démarrée -rag.status.inprogress=Indexation : {0}% +rag.status.inprogress=Indexation \: {0}% rag.status.inprogress.unknown=Indexation... rag.status.queued=En file d'attente — en attente de la fin de l'indexation d'un autre projet rag.status.ready=Prêt @@ -1510,7 +1518,7 @@ plans.editor.label=Contenu YAML plans.editor.placeholder=Collez ou saisissez ici le YAML de votre plan... plans.editor.valid=YAML valide plans.editor.hint.title=Référence -plans.editor.hint.fields=Requis : id, name, steps\nOptionnel : description, icon, inputs, workflow\nTypes d’étape : text, multiline, toggle, number\nTypes de workflow : sequence, parallel, conditional +plans.editor.hint.fields=Requis \: id, name, steps\nOptionnel \: description, icon, inputs, workflow\nTypes d’étape \: text, multiline, toggle, number\nTypes de workflow \: sequence, parallel, conditional plans.editor.menu.edit=Modifier le YAML plans.editor.ai.label=Générer avec l'IA plans.editor.ai.placeholder=Décrivez ce que vous souhaitez que ce plan fasse en mots simples... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=Réduire le panneau skills.view.panel.expand=Développer le panneau skills.view.tab.skills=Compétences skills.view.tab.workspace=Espace de travail -skills.view.last.run=Dernière exécution : {0} +skills.view.last.run=Dernière exécution \: {0} skills.view.category.uncategorized=Autres skills.view.search.placeholder=Rechercher des compétences ... skills.view.search.clear=Effacer la recherche skills.view.context.placeholder=Que souhaitez-vous faire ? (facultatif) -skills.view.command.mode.hint=Mode commande : une saisie commençant par / est exécutée comme commande d'agent. +skills.view.command.mode.hint=Mode commande \: une saisie commençant par / est exécutée comme commande d'agent. skills.view.system.prompt.preview=Prompt système skills.view.response.title=Réponse skills.view.followup.label=Suivi @@ -1584,7 +1592,7 @@ skills.view.history.empty=Aucun résultat pour le moment skills.view.copy=Copier skills.view.system.prompt.file=fichier skills.view.system.prompt.files=fichiers -skills.view.system.prompt.also.included=Également inclus dans le contexte de l’agent : +skills.view.system.prompt.also.included=Également inclus dans le contexte de l’agent \: skills.view.docs.tooltip=Voir le guide des compétences skills.view.mode.agentic=Agentique skills.view.mode.manual=Manuel @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=Ce que nous ne collectons jamais onboarding.step.analytics.toggle.subtitle=Nous aide à nous concentrer sur l'essentiel · modifiable à tout moment dans Paramètres → Avancé # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 Bienvenue sur Askimo ! +onboarding.step.welcome.title=👋 Bienvenue sur Askimo \! onboarding.step.welcome.description=Votre assistant IA personnel. Discutez avec plusieurs modèles IA, organisez vos connaissances en projets, et automatisez des workflows avec des skills et des plans. onboarding.step.welcome.feature1.title=💬 Discutez avec l’IA onboarding.step.welcome.feature1.description=Posez des questions, obtenez de l’aide pour des tâches ou discutez avec n’importe quel modèle IA. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=Besoin d’un tuteur patient pou onboarding.step.directives.link=Voir exemples et astuces # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 Tout est prêt ! +onboarding.step.ready.title=🚀 Tout est prêt \! onboarding.step.ready.description=Tout est configuré et prêt à l’emploi. Démarrez votre première discussion ou explorez les ressources ci-dessous. onboarding.step.ready.link.docs=📚 Parcourir la documentation onboarding.step.ready.link.providers=🔧 Configurer les fournisseurs IA @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ Ajoutez-nous à vos favoris sur GitHub onboarding.step.persona.title=🎯 Que voulez-vous faire principalement ? onboarding.step.persona.description=Choisissez l'option qui ressemble le plus à votre travail. Askimo affichera les fonctionnalités les plus pertinentes. Vous pourrez toujours modifier cela depuis le menu Affichage. onboarding.step.persona.developer.description=Lire et écrire du code, remanier des fichiers, générer des structures ou exécuter des tâches agentiques sur votre projet local. -onboarding.step.persona.developer.features=Active : Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=Active \: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=Rechercher des sujets, analyser des données, rédiger des rapports structurés et obtenir des réponses basées sur les connaissances. -onboarding.step.persona.researcher.features=Active : Plans, Projects (RAG) +onboarding.step.persona.researcher.features=Active \: Plans, Projects (RAG) onboarding.step.persona.manager.description=Rédiger des e-mails, traiter des notes de réunion, écrire des rapports d'état ou exécuter des flux de travail de contenu en plusieurs étapes. -onboarding.step.persona.manager.features=Active : Plans +onboarding.step.persona.manager.features=Active \: Plans onboarding.step.persona.everything.description=Je fais un mélange de choses — montrez-moi toutes les fonctionnalités et je déciderai quoi utiliser. -onboarding.step.persona.everything.features=Active : Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=Active \: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 Écrire et réviser du code From ef947b737fcba51fb8d24b40fd45dc04f1b144af Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:23 +0000 Subject: [PATCH 02/10] New translations messages.properties (Spanish) [ci skip] --- .../resources/i18n/messages_es.properties | 236 +++++++++--------- 1 file changed, 122 insertions(+), 114 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_es.properties b/desktop-shared/src/main/resources/i18n/messages_es.properties index 72d4ee679..2e553707e 100644 --- a/desktop-shared/src/main/resources/i18n/messages_es.properties +++ b/desktop-shared/src/main/resources/i18n/messages_es.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Unirse a la comunidad de Discord menu.help.share.x=Compartir en X / Twitter menu.help.share.linkedin=Compartir en LinkedIn menu.help.share.facebook=Compartir en Facebook -menu.help.share.text=Descubre Askimo: un cliente de escritorio de IA gratuito y local. Funciona con Ollama, OpenAI, Anthropic y más. https://askimo.chat +menu.help.share.text=Descubre Askimo\: un cliente de escritorio de IA gratuito y local. Funciona con Ollama, OpenAI, Anthropic y más. https\://askimo.chat menu.help.share.hackernews=Publicar en Hacker News menu.eventlog=Registro de eventos menu.help.model.capabilities=Abrir archivo de capacidades del modelo @@ -60,16 +60,16 @@ dialog.close=Cerrar # Backup and Restore backup.export.title=Exportar copia de seguridad backup.export.success.title=Copia de seguridad exportada -backup.export.success.message=Copia de seguridad exportada correctamente a:\n{0} +backup.export.success.message=Copia de seguridad exportada correctamente a\:\n{0} backup.export.error.title=Error al exportar -backup.export.error.message=No se pudo exportar la copia de seguridad:\n{0} +backup.export.error.message=No se pudo exportar la copia de seguridad\:\n{0} backup.import.title=Importar copia de seguridad backup.import.confirm.title=Confirmar importación backup.import.confirm.message=Esta acción reemplazará todos los datos actuales con la copia de seguridad.\n\nSe creará automáticamente una copia de seguridad de seguridad antes de importar.\n\n¿Está seguro de que desea continuar? backup.import.success.title=Copia de seguridad importada backup.import.success.message=Copia de seguridad importada correctamente.\n\nReinicie Askimo para que todos los cambios surtan efecto. backup.import.error.title=Error al importar -backup.import.error.message=No se pudo importar la copia de seguridad:\n{0} +backup.import.error.message=No se pudo importar la copia de seguridad\:\n{0} # Event Log eventlog.title=Registro de eventos ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=Registro de eventos eventlog.window.attach=Volver a unir a la ventana principal eventlog.window.events.count={0} eventos eventlog.window.empty.message=No hay eventos aún. Aparecerán aquí al ocurrir. -eventlog.footer.warning=Se han recortado las entradas más antiguas (límite: {0}) +eventlog.footer.warning=Se han recortado las entradas más antiguas (límite\: {0}) # Chat Interface chat.new=Nuevo chat @@ -165,7 +165,7 @@ session.rename.error.empty=El título no puede estar vacío session.export.file.chooser.title=Guardar historial del chat session.export.button.export=Exportar session.export.success.title=Exportación exitosa -session.export.success.message=La sesión ha sido exportada correctamente a: +session.export.success.message=La sesión ha sido exportada correctamente a\: # Projects project.title=Proyectos @@ -181,11 +181,11 @@ project.new.dialog.file.browse=Seleccionar archivos para procesar... project.new.dialog.sources.label=Materiales de referencia (opcional) project.new.dialog.sources.add=Agregar fuente project.new.dialog.error.empty.name=El nombre del proyecto no puede estar vacío -project.new.dialog.error.create.failed=No se pudo crear el proyecto: {0} +project.new.dialog.error.create.failed=No se pudo crear el proyecto\: {0} project.new.dialog.name.error.empty=El nombre del proyecto no puede estar vacío project.new.dialog.button.create=Crear proyecto project.new.dialog.button.cancel=Cancelar -project.new.dialog.success.title=¡Proyecto creado con éxito! +project.new.dialog.success.title=¡Proyecto creado con éxito\! project.new.dialog.success.message=El proyecto ''{0}'' ha sido creado. project.new.dialog.success.countdown=Cerrando en {0} segundo{1}... project.new.dialog.success.close=Cerrar ahora @@ -208,7 +208,7 @@ projects.title=Proyectos projects.description=Organiza tus chats en torno a un tema y adjunta archivos, carpetas o URL como fuentes de conocimiento, para que la IA siempre tenga el contexto adecuado para ese proyecto. projects.error=❌ {0} projects.empty=No se encontraron proyectos. -projects.empty.hint=💡 ¡Crea un nuevo proyecto para organizar tus sesiones de chat! +projects.empty.hint=💡 ¡Crea un nuevo proyecto para organizar tus sesiones de chat\! projects.search.placeholder=Buscar por nombre… projects.search.empty=Ningún proyecto coincide con "{0}". projects.col.name=Nombre @@ -219,13 +219,16 @@ projects.sources.expand=Mostrar materiales de referencia projects.sources.collapse=Ocultar materiales de referencia projects.sources.empty.title=Aún no hay materiales de referencia projects.sources.empty.description=Añada documentos para que Askimo pueda consultarlos al responder a sus preguntas -projects.sources.info.tooltip=Los materiales de referencia ayudan a Askimo a comprender su contexto específico.\n\n\ -Añada carpetas, archivos o sitios web que contengan la información que desea que Askimo utilice al responder preguntas.\n\n\ -Por ejemplo:\n\ +projects.sources.info.tooltip=Los materiales de referencia ayudan a Askimo a comprender su contexto específico.\n\ +\n\ +Añada carpetas, archivos o sitios web que contengan la información que desea que Askimo utilice al responder preguntas.\n\ +\n\ +Por ejemplo\:\n\ • Documentación de su proyecto\n\ • Base de conocimiento de la empresa\n\ • Especificaciones técnicas\n\ -• Artículos de investigación\n\n\ +• Artículos de investigación\n\ +\n\ Askimo buscará en estos materiales para proporcionar respuestas más precisas y contextualizadas. projects.sources.type.local_folders=Carpetas Locales projects.sources.type.local_files=Archivos Locales @@ -252,8 +255,8 @@ project.reindex=Reindexar proyecto project.menu.tooltip=Menú del proyecto project.new.chat.placeholder=Nuevo chat en {0} project.recent.chats=Chats recientes -project.no.chats=Aún no hay chats. ¡Comienza uno nuevo abajo! -project.indexing.label=Indexación de la fuente de conocimiento: {0} +project.no.chats=Aún no hay chats. ¡Comienza uno nuevo abajo\! +project.indexing.label=Indexación de la fuente de conocimiento\: {0} project.indexing.queued=Indexación en cola - esperando a que termine otro proyecto... project.indexing.failed=La indexación falló. Intente volver a indexar desde el menú del proyecto. project.indexing.ready.label=Indexado @@ -272,7 +275,7 @@ settings.appearance=Apariencia settings.appearance.accent=Color de acento settings.appearance.accent.description=Personaliza con seguridad un solo color de acento. Askimo lo aplica a los acentos principales de la interfaz y deriva colores relacionados para mantener la legibilidad. settings.appearance.accent.label=Color de acento (Hex) -settings.appearance.accent.invalid=Introduce un color hexadecimal válido como #0284C7 +settings.appearance.accent.invalid=Introduce un color hexadecimal válido como \#0284C7 settings.appearance.accent.swatch.primary=Primario settings.appearance.accent.swatch.primary.container=Contenedor settings.appearance.accent.swatch.on.primary.container=Sobre el contenedor @@ -296,7 +299,7 @@ settings.network.description=Configurar ajustes de red y proxy settings.mcp.servers=Servidores MCP settings.skills=Habilidades settings.skills.description=Skills son agentes de IA reutilizables que se ejecutan directamente en su máquina. Cada skill es un archivo Markdown con un prompt de sistema e instrucciones. Cuando ejecutas un skill, se ejecuta a través de {0} — leyendo y escribiendo sus archivos, ejecutando comandos de shell e iterando hasta que la tarea esté completa. No es necesario copiar y pegar. -settings.skills.runtimes=Entornos de ejecución compatibles: +settings.skills.runtimes=Entornos de ejecución compatibles\: settings.skills.directory=Directorio de habilidades settings.skills.open.folder=Abrir carpeta settings.skills.new.skill=Nueva habilidad @@ -363,7 +366,7 @@ layout.density.relaxed.description=Espaciado ligeramente mayor para mejorar la l layout.density.spacious=Espacioso layout.density.spacious.description=Espaciado máximo para pantallas de ultra alta DPI settings.background.image=Imagen de fondo -settings.background.image.description=Elige una imagen de fondo: selecciona una predefinida o usa tu propia imagen. Una superposición translúcida mantiene el texto legible. Las imágenes de fondo son independientes del tema seleccionado. +settings.background.image.description=Elige una imagen de fondo\: selecciona una predefinida o usa tu propia imagen. Una superposición translúcida mantiene el texto legible. Las imágenes de fondo son independientes del tema seleccionado. settings.background.image.browse=Examinar settings.background.image.custom=Imagen personalizada settings.appearance.avatar.ai=Avatar del asistente de IA @@ -376,11 +379,11 @@ settings.log.viewer=Archivos de registro settings.log.viewer.description=Ver registros y diagnósticos settings.log.viewer.view=Ver registros settings.log.viewer.open_folder=Abrir carpeta de registros -settings.log.viewer.path=Archivo de registro: {0} +settings.log.viewer.path=Archivo de registro\: {0} settings.log.viewer.dialog.title=Registros de la aplicación settings.log.viewer.refresh=Actualizar settings.log.viewer.copy=Copiar -settings.log.viewer.copied=¡Copiado! +settings.log.viewer.copied=¡Copiado\! settings.log.viewer.loading=Cargando registros... settings.log.viewer.error=Error al cargar registros settings.log.viewer.empty=No hay registros disponibles @@ -434,7 +437,7 @@ settings.web_search.api_key=Clave API settings.web_search.api_key.placeholder=Pega tu clave API aquí settings.web_search.get_api_key=Obtener una clave API gratuita ↗ settings.web_search.endpoint=URL de instancia SearxNG -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=Probar búsqueda settings.web_search.test.running=Probando... settings.web_search.test.success=✅ La búsqueda funciona @@ -463,7 +466,7 @@ user.profile.interests.custom.placeholder=p. ej., Aprendizaje automático, Fotog user.profile.interests.custom.hint=Separe varios intereses con comas # Welcome Dialog (First Run) -welcome.title=¡Bienvenido a Askimo! +welcome.title=¡Bienvenido a Askimo\! welcome.subtitle=Ayúdenos a personalizar su experiencia con la IA welcome.avatar.optional=Haga clic para añadir una foto (opcional) welcome.name=Su nombre @@ -526,7 +529,7 @@ action.refresh=Actualizar # Happiness Gate (shown before Star Prompt) happiness.gate.title=¿Cómo te está yendo con Askimo? happiness.gate.subtitle=Tu opinión sincera nos ayuda a seguir mejorando -happiness.gate.happy=¡Me encanta! 😍 +happiness.gate.happy=¡Me encanta\! 😍 happiness.gate.neutral=Está bien 🙂 happiness.gate.unhappy=No mucho 😕 @@ -549,11 +552,11 @@ feedback.email.placeholder=you@example.com feedback.email.hint=Solo se usará para hacer seguimiento de tu feedback. Nunca te enviaremos spam. feedback.action.skip=Omitir feedback.action.send=Enviar feedback -feedback.thanks.title=¡Gracias por tu feedback! +feedback.thanks.title=¡Gracias por tu feedback\! feedback.thanks.message=Tu aporte nos ayuda a mejorar Askimo. Lo apreciamos mucho. feedback.thanks.close=Cerrar -feedback.remind.title=¡No te preocupes! +feedback.remind.title=¡No te preocupes\! feedback.remind.message=Puedes compartir tus comentarios en cualquier momento desde el menú de Ayuda → Compartir Feedback. feedback.remind.got.it=Entendido @@ -577,7 +580,7 @@ star.prompt.share.description=Cuéntale a tu red sobre Askimo en X, LinkedIn o F star.prompt.maybe.later=Ahora no star.prompt.already.starred=Ya destacado ✓ star.prompt.social.proof=⭐ Únete a {0} personas que ya han destacado Askimo -star.prompt.thanks.title=¡Muchas gracias! 🌟 +star.prompt.thanks.title=¡Muchas gracias\! 🌟 star.prompt.thanks.message=Tu apoyo significa mucho y nos ayuda a seguir construyendo Askimo. star.prompt.thanks.done=Hecho ✓ star.prompt.remind.title=No te preocupes. @@ -654,7 +657,7 @@ shortcut.send.message=Enviar mensaje shortcut.new.line=Nueva línea # Chat View -chat.welcome=¡Bienvenido a Askimo!\nComienza una conversación escribiendo un mensaje abajo. +chat.welcome=¡Bienvenido a Askimo\!\nComienza una conversación escribiendo un mensaje abajo. chat.no.active.session=Seleccione una sesión en la barra lateral o inicie un nuevo chat chat.search.placeholder=Buscar en la conversación... chat.search.no.results=Sin resultados @@ -692,7 +695,7 @@ global.search.results.count={0} resultado encontrado global.search.results.count.plural={0} resultados encontrados # Rest of chat view strings -chat.directive=Directiva: +chat.directive=Directiva\: chat.directive.new=Nueva directiva chat.directive.manage=Gestionar directivas chat.directive.learn.more=Aprenda a usar directivas @@ -736,7 +739,7 @@ chat.attachment.remove=Eliminar archivo adjunto chat.attachment.preview.loading=Cargando vista previa… chat.attachment.preview.file.not.found=(Archivo no encontrado) chat.attachment.preview.too.large=(Archivo demasiado grande para la vista previa) -chat.attachment.preview.cannot.read=(No se puede leer el archivo: {0}) +chat.attachment.preview.cannot.read=(No se puede leer el archivo\: {0}) chat.attachment.preview.more.lines={0} líneas más # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=Creado sessions.col.updated=Actualizado sessions.error=❌ {0} sessions.empty=No se encontraron sesiones. -sessions.empty.hint=💡 ¡Inicia un chat nuevo para crear tu primera sesión! +sessions.empty.hint=💡 ¡Inicia un chat nuevo para crear tu primera sesión\! sessions.search.placeholder=Buscar por título… sessions.search.empty=Ninguna sesión coincide con "{0}". # Generic table pagination controls -table.page.size.label=Filas por página: +table.page.size.label=Filas por página\: table.page=Página {0} de {1} table.page.previous=Página anterior table.page.next=Página siguiente @@ -769,7 +772,7 @@ sessions.error.rename.failed=Fallo al renombrar sesión. # ChatSessionService Errors # Update Check update.dialog.title=Actualización de software -update.dialog.new.version.available=¡Hay una nueva versión de Askimo disponible! +update.dialog.new.version.available=¡Hay una nueva versión de Askimo disponible\! update.urgency.medium=Llevas {0} versiones de retraso — puede que te estés perdiendo correcciones importantes y nuevas funciones. update.urgency.high=Llevas {0} versiones de retraso — te estás perdiendo mejoras significativas. Por favor, actualiza pronto. update.dialog.current.version.label=Versión actual @@ -780,7 +783,7 @@ update.dialog.download=Descargar ahora update.dialog.how.to.update=Cómo actualizar update.dialog.later=Más tarde update.dialog.skip.version=Omitir esta versión -update.check.up.to.date=¡Ya estás usando la última versión! +update.check.up.to.date=¡Ya estás usando la última versión\! update.check.failed=Fallo al buscar actualizaciones # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Contribuir en Crowdin settings.ai.response.language=Idioma de respuesta preferido settings.ai.response.language.description=Forzar a la IA a responder en un idioma específico (dejar vacío para detección automática) settings.ai.response.language.auto=Detección automática -settings.ai.response.language.tooltip=La IA detecta automáticamente tu idioma, pero anúlalo cuando:\n• Aprendizaje de idiomas (práctica inmersiva)\n• Consistencia profesional (ej: docs de código siempre en inglés)\n• Optimización RAG (coincidir con el idioma de la base de conocimientos)\n• Enseñanza (preguntar en un idioma, explicar en otro)\n• Evitar cambios de idioma no deseados -settings.model.select=Seleccionar modelo para {0}: +settings.ai.response.language.tooltip=La IA detecta automáticamente tu idioma, pero anúlalo cuando\:\n• Aprendizaje de idiomas (práctica inmersiva)\n• Consistencia profesional (ej\: docs de código siempre en inglés)\n• Optimización RAG (coincidir con el idioma de la base de conocimientos)\n• Enseñanza (preguntar en un idioma, explicar en otro)\n• Evitar cambios de idioma no deseados +settings.model.select=Seleccionar modelo para {0}\: settings.model.loading=Cargando modelos... settings.model.none=No hay modelos disponibles settings.model.select.title=Seleccionar modelo @@ -826,7 +829,7 @@ settings.model.current=Modelo actual settings.model.selected=Modelo seleccionado settings.model.new=Nuevo modelo settings.model.use.default=Usar predeterminado -settings.model.change.description=Elige un modelo de la lista a continuación: +settings.model.change.description=Elige un modelo de la lista a continuación\: settings.model.search=Buscar modelos settings.model.search.placeholder=Escribe para filtrar modelos... settings.model.filtered=Mostrando {0} de {1} modelos @@ -835,22 +838,22 @@ settings.model.chat.filter.label=Modelos de chat · {0} mostrados settings.model.chat.filter.show.all=Mostrar todos {0} settings.configure.title=Configurar {0} settings.test.connection.testing=Probando... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=No se pudo conectar al proveedor. Verifique que su clave API sea correcta (para proveedores en la nube) o que su URL base sea accesible (para proveedores locales). Puede encontrar instrucciones de configuración usando el enlace de ayuda de arriba. # Directives Dialog directive.manage.title=Gestionar directivas -directive.manage.empty=No hay directivas. ¡Crea una para comenzar! +directive.manage.empty=No hay directivas. ¡Crea una para comenzar\! directive.edit.name.label=Nombre directive.edit.name.placeholder=Escribe el nombre de la directiva... directive.edit.content.label=Contenido directive.edit.content.placeholder=Escribe las instrucciones de la directiva... directive.edit.name.required=El nombre es obligatorio directive.edit.content.required=El contenido es obligatorio -directive.created=Creado: {0} +directive.created=Creado\: {0} directive.new.title=Nueva directiva directive.new.guidelines=Las directivas guían cómo responde la IA a tus mensajes. Sé específico sobre el tono, nivel de detalle, formato o cualquier requisito especial que necesites. -directive.new.name.placeholder=ej.: concise-code, explain-like-im-5 +directive.new.name.placeholder=ej.\: concise-code, explain-like-im-5 directive.new.content.placeholder=Escribe las instrucciones... directive.new.apply.current=Aplicar a la sesión actual directive.new.create=Crear @@ -862,8 +865,8 @@ directive.export.tooltip=Exportar todas las directivas a un archivo JSON para co directive.export.filename=askimo-directives directive.import=Importar directive.import.tooltip=Importar directivas desde un archivo JSON -directive.import.result=Importación completa: {0} importadas, {1} renombradas, {2} omitidas -directive.import.error=Error al importar: formato de archivo no válido o no compatible +directive.import.result=Importación completa\: {0} importadas, {1} renombradas, {2} omitidas +directive.import.error=Error al importar\: formato de archivo no válido o no compatible # Log Levels log.level.error=Error @@ -919,7 +922,7 @@ message.edited.indicator=(editado) message.date.today=Hoy message.date.yesterday=Ayer message.token.usage={0} tokens · {1} de entrada / {2} de salida -message.token.usage.tooltip=Tokens utilizados por esta respuesta.\nEntrada: su prompt + contexto enviado a la IA.\nSalida: la respuesta generada por la IA. +message.token.usage.tooltip=Tokens utilizados por esta respuesta.\nEntrada\: su prompt + contexto enviado a la IA.\nSalida\: la respuesta generada por la IA. # Bookmarks chat.bookmarks.button.tooltip=Marcadores @@ -970,15 +973,20 @@ provider.template.get.apikey=Obtener clave de API → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Ejecuta modelos de IA en la red perimetral global de Cloudflare con Workers AI. -provider.template.cloudflare_ai.help=💡 Para usar Cloudflare AI:\n\n1. Busca tu ID de cuenta en tu panel de Cloudflare\n2. Reemplaza {ACCOUNT_ID} en la URL base con él\n3. Crea un token de API con permiso 'Workers AI' en:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Para usar Cloudflare AI\:\n\n1. Busca tu ID de cuenta en tu panel de Cloudflare\n2. Reemplaza {ACCOUNT_ID} en la URL base con él\n3. Crea un token de API con permiso ''Workers AI'' en\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=Inferencia ultrarrápida para modelos de código abierto — Llama, Mixtral, Gemma y más. -provider.template.groq.help=💡 Para usar Groq:\n\n1. Consigue tu clave API gratuita en: console.groq.com/keys\n2. Ingresa un nombre de modelo, p. ej. llama-3.1-8b-instant\n3. Haz clic en Siguiente para explorar todos los modelos disponibles +provider.template.groq.help=💡 Para usar Groq\:\n\n1. Consigue tu clave API gratuita en\: console.groq.com/keys\n2. Ingresa un nombre de modelo, p. ej. llama-3.1-8b-instant\n3. Haz clic en Siguiente para explorar todos los modelos disponibles provider.template.nvidia_nim.tagline=Ejecuta modelos de IA optimizados en la infraestructura de GPU en la nube de NVIDIA. -provider.template.nvidia_nim.help=💡 Para usar NVIDIA NIM:\n\n1. Consigue tu clave API en: build.nvidia.com\n2. Ingresa un nombre de modelo, p. ej. meta/llama-3.1-8b-instruct\n3. Haz clic en Siguiente para explorar todos los modelos disponibles +provider.template.nvidia_nim.help=💡 Para usar NVIDIA NIM\:\n\n1. Consigue tu clave API en\: build.nvidia.com\n2. Ingresa un nombre de modelo, p. ej. meta/llama-3.1-8b-instruct\n3. Haz clic en Siguiente para explorar todos los modelos disponibles provider.template.openrouter.tagline=Accede a más de 300 modelos — GPT, Claude, Llama, Gemini, Mistral y más a través de una sola API. -provider.template.openrouter.help=💡 Para usar OpenRouter:\n\n1. Consigue tu clave API gratuita en: openrouter.ai/keys\n2. Haz clic en Siguiente para explorar más de 300 modelos disponibles\n3. Muchos modelos tienen un nivel gratuito — no se requiere tarjeta de crédito +provider.template.openrouter.help=💡 Para usar OpenRouter\:\n\n1. Consigue tu clave API gratuita en\: openrouter.ai/keys\n2. Haz clic en Siguiente para explorar más de 300 modelos disponibles\n3. Muchos modelos tienen un nivel gratuito — no se requiere tarjeta de crédito provider.template.together_ai.tagline=Inferencia rápida y económica para más de 100 modelos de código abierto. -provider.template.together_ai.help=💡 Para usar Together AI:\n\n1. Consigue tu clave API en: api.together.ai/settings/api-keys\n2. Haz clic en Siguiente para explorar los modelos disponibles,\n p. ej. meta-llama/Llama-3-8b-chat-hf +provider.template.together_ai.help=💡 Para usar Together AI\:\n\n1. Consigue tu clave API en\: api.together.ai/settings/api-keys\n2. Haz clic en Siguiente para explorar los modelos disponibles,\n p. ej. meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -995,7 +1003,7 @@ provider.setup.required.message=Antes de comenzar a chatear, debe configurar un provider.setup.required.button=Configurar proveedor provider.setup.required.skip=Configurar más tarde provider.setup.empty.state.button=Agregar proveedor -provider.configure.prompt=Configurar proveedor: +provider.configure.prompt=Configurar proveedor\: provider.setup.guide=Cómo configurar {0} provider.apikey.stored=Clave API guardada de forma segura provider.apikey.enter=Introducir clave API @@ -1004,14 +1012,14 @@ provider.apikey.security.link=Descubra cómo protegemos sus datos provider.not.set=No establecido # Provider Configuration - OpenAI -provider.openai.apikey.description=Tu clave API de OpenAI: https://platform.openai.com/account/api-keys +provider.openai.apikey.description=Tu clave API de OpenAI\: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=Clave API ya almacenada. Deja en blanco para mantener la actual. -provider.openai.setup.help=💡 Para usar OpenAI necesitas una clave API.\n\n1. Consíguela aquí: https://platform.openai.com/account/api-keys\n2. Configúrala en los ajustes o con :change-settings +provider.openai.setup.help=💡 Para usar OpenAI necesitas una clave API.\n\n1. Consíguela aquí\: https\://platform.openai.com/account/api-keys\n2. Configúrala en los ajustes o con \:change-settings # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Tu clave API de Anthropic: https://console.anthropic.com/ +provider.anthropic.apikey.description=Tu clave API de Anthropic\: https\://console.anthropic.com/ provider.anthropic.apikey.stored=Clave API ya almacenada. -provider.anthropic.setup.help=💡 Para usar Anthropic, necesitas una clave API.\n\n1. Consíguela en: https://console.anthropic.com/\n2. Configúrala en los ajustes o con :change-settings +provider.anthropic.setup.help=💡 Para usar Anthropic, necesitas una clave API.\n\n1. Consíguela en\: https\://console.anthropic.com/\n2. Configúrala en los ajustes o con \:change-settings provider.anthropic.max_tokens.label=Max Tokens provider.anthropic.max_tokens.description=Máximo de tokens que el modelo puede generar por respuesta (pensamiento + respuesta combinados). provider.anthropic.thinking_budget_tokens.label=Tokens de presupuesto de pensamiento @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=Máximo de tokens de pensamiento provider.anthropic.thinking_max_tokens.description=Límite total de tokens cuando el pensamiento está activo (pensamiento + respuesta). Configura en 0 para usar Max Tokens en su lugar. # Provider Configuration - Gemini -provider.gemini.apikey.description=Tu clave API de Google AI Studio: https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Tu clave API de Google AI Studio\: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=Clave API ya almacenada. -provider.gemini.setup.help=💡 Para usar Gemini, necesitas una clave API.\n\n1. Consíguela en: https://aistudio.google.com/app/apikey\n2. Configúrala en los ajustes o con :change-settings +provider.gemini.setup.help=💡 Para usar Gemini, necesitas una clave API.\n\n1. Consíguela en\: https\://aistudio.google.com/app/apikey\n2. Configúrala en los ajustes o con \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=Tu clave API de XAI: https://console.x.ai/ +provider.xai.apikey.description=Tu clave API de XAI\: https\://console.x.ai/ provider.xai.apikey.stored=Clave API ya almacenada. -provider.xai.setup.help=💡 Para usar XAI, necesitas una clave API.\n\n1. Consíguela en: https://console.x.ai/\n2. Configúrala en los ajustes o con :change-settings +provider.xai.setup.help=💡 Para usar XAI, necesitas una clave API.\n\n1. Consíguela en\: https\://console.x.ai/\n2. Configúrala en los ajustes o con \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=Base URL de Ollama (por defecto: http://localhost:11434) -provider.ollama.setup.help=💡 Para usar Ollama, debe estar ejecutándose localmente.\n\n1. Instálalo desde: https://ollama.ai/\n2. Ejecuta el servicio\n3. Ajusta la URL base si es necesario +provider.ollama.baseurl.description=Base URL de Ollama (por defecto\: http\://localhost\:11434) +provider.ollama.setup.help=💡 Para usar Ollama, debe estar ejecutándose localmente.\n\n1. Instálalo desde\: https\://ollama.ai/\n2. Ejecuta el servicio\n3. Ajusta la URL base si es necesario # Provider Configuration - Docker AI -provider.docker.baseurl.description=Base URL de Docker AI (por defecto: http://localhost:12434) +provider.docker.baseurl.description=Base URL de Docker AI (por defecto\: http\://localhost\:12434) provider.docker.setup.help=💡 Para usar Docker AI, debe estar ejecutándose localmente.\n\n1. Asegúrate de que Docker AI esté instalado y ejecutándose\n2. Ejecuta el servicio\n3. Ajusta la URL base si es necesario # Provider Configuration - LocalAI @@ -1042,13 +1050,13 @@ provider.localai.baseurl.description=Base URL de LocalAI provider.localai.setup.help=💡 Para usar LocalAI, debes ejecutarlo primero.\n\n1. Instala y ejecuta LocalAI\n2. Configura la URL base # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=Base URL de LMStudio (por defecto: http://localhost:1234) -provider.lmstudio.setup.help=💡 Para usar LMStudio:\n\n1. Instálalo desde: https://lmstudio.ai/\n2. Ejecuta el servidor local\n3. Ajusta la URL base si es necesario +provider.lmstudio.baseurl.description=Base URL de LMStudio (por defecto\: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 Para usar LMStudio\:\n\n1. Instálalo desde\: https\://lmstudio.ai/\n2. Ejecuta el servidor local\n3. Ajusta la URL base si es necesario provider.lmstudio.openai.compat.info=Askimo utiliza los endpoints compatibles con OpenAI (/v1), no la API nativa de LMStudio (/api/v1/). # Provider Configuration - Open AI Compatible provider.openai_compatible.baseurl.description=La URL base para su instancia compatible con OpenAI -provider.openai_compatible.apikey.description=Clave API del proveedor (opcional: déjela en blanco si el punto de conexión no requiere autenticación) +provider.openai_compatible.apikey.description=Clave API del proveedor (opcional\: déjela en blanco si el punto de conexión no requiere autenticación) provider.openai_compatible.apikey.stored=La clave API ya está almacenada de forma segura. Déjelo en blanco para mantener la clave existente o introduzca una nueva para actualizarla. provider.openai_compatible.apimode.label=Formato de API provider.openai_compatible.apimode.description=Qué endpoint de la API de OpenAI utiliza este proveedor @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=Más rápido para endpoints que sop # System Resources system.share.feedback=Compartir comentarios -system.ai.provider.tooltip=Proveedor de IA: {0}\nHaz clic para configurar +system.ai.provider.tooltip=Proveedor de IA\: {0}\nHaz clic para configurar system.diagnostics.title=Diagnóstico del sistema system.diagnostics.resources=Recursos system.diagnostics.jvm.memory=Memoria JVM (usada / total) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=Telemetría telemetry.export.csv=Exportar CSV telemetry.export.dialog.title=Exportar Telemetría como ZIP telemetry.export.error.title=Error de Exportación -telemetry.export.error.message=Error al exportar datos de telemetría: {0} +telemetry.export.error.message=Error al exportar datos de telemetría\: {0} # Telemetry telemetry.reset=Restablecer datos de telemetría @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=Apariencia profesional export.format.html.benefit.4=Fácil de compartir # Error Messages -error.network=⚠️ No se puede conectar al servicio de IA{endpoint}\n\nPor favor, compruebe:\n• Su conexión a Internet\n• La URL del servicio de IA (revise la configuración)\n• La configuración del firewall\n• La disponibilidad del servicio +error.network=⚠️ No se puede conectar al servicio de IA{endpoint}\n\nPor favor, compruebe\:\n• Su conexión a Internet\n• La URL del servicio de IA (revise la configuración)\n• La configuración del firewall\n• La disponibilidad del servicio error.authentication=⚠️ La clave API no es válida o falta{provider}\n\nSolucione esto configurando su clave API en Ajustes. -error.model_not_found=⚠️ Modelo no encontrado: {model}\n\nEste modelo puede haber sido desactivado o eliminado por el proveedor. Por favor, seleccione un modelo diferente. -error.provider_not_configured=⚠️ No hay ningún proveedor de IA configurado.\n\nPara comenzar a chatear:\n1. Abre los Ajustes\n2. Selecciona un proveedor de IA (OpenAI, Ollama, Anthropic, etc.)\n3. Introduce tu API key o configura la conexión +error.model_not_found=⚠️ Modelo no encontrado\: {model}\n\nEste modelo puede haber sido desactivado o eliminado por el proveedor. Por favor, seleccione un modelo diferente. +error.provider_not_configured=⚠️ No hay ningún proveedor de IA configurado.\n\nPara comenzar a chatear\:\n1. Abre los Ajustes\n2. Selecciona un proveedor de IA (OpenAI, Ollama, Anthropic, etc.)\n3. Introduce tu API key o configura la conexión error.rate_limit=⚠️ Límite de uso excedido\n{retryAfter}\n\nHa alcanzado su límite de uso de la API. Espere antes de enviar más mensajes. error.insufficient_credits=⚠️ Créditos insuficientes\n\nSu saldo de créditos es demasiado bajo.\n\nVaya a la página de facturación para añadir créditos. -error.timeout=⚠️ La solicitud expiró después de {timeout} segundos\n\nPosibles causas:\n• Alta carga del servidor – intente nuevamente más tarde\n• Consulta compleja – intente simplificarla\n• Latencia de red -error.context_length=⚠️ Ventana de contexto excedida\n\nLa entrada total (historial de la conversación + su mensaje + archivos adjuntos) es demasiado grande para que este modelo la procese.\n\nPara solucionar esto:\n• Inicie una nueva sesión de chat para borrar el historial de la conversación\n• Acorte su mensaje o elimine archivos adjuntos grandes\n• Si utiliza un modelo local (Ollama / LM Studio / Docker), aumente el tamaño del contexto en su configuración\n• Cambie a un modelo con una ventana de contexto más grande -error.invalid_request=⚠️ Solicitud no válida: {details}\n\nRevise su entrada e inténtelo de nuevo. -error.local_server=⚠️ ¡Error del servidor de IA local!\n\nEl proceso del servidor de IA se bloqueó o no pudo cargar el modelo. Esto no es causado por Askimo.\n\nPosibles causas:\n• El archivo del modelo está corrupto o incompleto — intente descargarlo nuevamente\n• RAM/VRAM insuficiente — pruebe una cuantización menor (p. ej. Q4 en lugar de Q8)\n• Formato de modelo no compatible con la versión actual del servidor\n• El proceso del servidor fue terminado por el sistema operativo (sin memoria)\n\nQué hacer:\n1. Revise los registros de su servidor de IA local\n2. Reinicie el servidor e inténtelo de nuevo\n3. Vuelva a descargar el modelo\n4. Pruebe un modelo diferente o un nivel de cuantización distinto\n\nDetalles técnicos: {details} -error.empty_http_response=⚠️ ¡El servidor cerró la conexión sin responder!\n\nModelo: {0}\n\nEsto suele ocurrir cuando un proveedor de IA local descarta la solicitud silenciosamente en lugar de devolver un error. La ventana de contexto del modelo es demasiado pequeña para la solicitud actual.\n\nCausas comunes:\n• El historial de la conversación se ha vuelto demasiado largo tras varios turnos\n• Las herramientas habilitadas añaden datos extra a cada solicitud; incluso una pregunta corta con varias herramientas activas puede superar el límite\n• Archivos adjuntos grandes o fragmentos de código han hecho que la solicitud supere el límite\n\n{1}\n\nOtras cosas que intentar:\n• Inicie una nueva conversación para restablecer el contexto\n• Deshabilite las herramientas que no sean necesarias para esta tarea\n• Reduzca el tamaño de su mensaje o de los archivos adjuntos -error.empty_http_response.hint.docker=Para aumentar la ventana de contexto en Docker AI / Docker Model Runner:\n• Pase --context-size al iniciar el modelo (ej. --context-size 32768)\n• O configúrelo en la configuración de ejecución del modelo -error.empty_http_response.hint.ollama=Para aumentar la ventana de contexto en Ollama:\n• Establezca num_ctx en su Modelfile (ej. PARAMETER num_ctx 32768)\n• O páselo como parámetro: ollama run --num-ctx 32768 -error.empty_http_response.hint.lmstudio=Para aumentar la ventana de contexto en LM Studio:\n• Abra el panel de configuración del modelo\n• Busque "Context Length" y auméntelo (ej. a 32768 o superior, hasta el máximo del modelo)\n• Reinicie el servidor local después de cambiar la configuración -error.empty_http_response.hint.localai=Para aumentar la ventana de contexto en LocalAI:\n• Edite el YAML de configuración del modelo y establezca context_size: 32768\n• Reinicie el servidor de LocalAI después de cambiar la configuración -error.empty_http_response.hint.generic=Para aumentar la ventana de contexto:\n• Compruebe los ajustes de su proveedor para ver si hay una opción de longitud de contexto / tamaño de contexto y auméntela (ej. a 32768 tokens)\n• Reinicie el proveedor después de cambiar la configuración -error.remote_server=⚠️ Error del servidor del proveedor de IA\n\nEl servidor del proveedor devolvió un error temporal (p. ej. sobrecargado o no disponible). Esto no es causado por Askimo.\n\nQué hacer:\n• Espere un momento y vuelva a intentarlo — suele ser temporal\n• Consulte la página de estado del proveedor si el problema persiste\n\nDetalles técnicos: {details} -error.system=⚠️ Error del sistema\n\nOcurrió un error inesperado: {errorCode}\n\nContacte al soporte de Askimo con:\n• Lo que estaba haciendo\n• El código de error anterior\n• La marca de tiempo +error.timeout=⚠️ La solicitud expiró después de {timeout} segundos\n\nPosibles causas\:\n• Alta carga del servidor – intente nuevamente más tarde\n• Consulta compleja – intente simplificarla\n• Latencia de red +error.context_length=⚠️ Ventana de contexto excedida\n\nLa entrada total (historial de la conversación + su mensaje + archivos adjuntos) es demasiado grande para que este modelo la procese.\n\nPara solucionar esto\:\n• Inicie una nueva sesión de chat para borrar el historial de la conversación\n• Acorte su mensaje o elimine archivos adjuntos grandes\n• Si utiliza un modelo local (Ollama / LM Studio / Docker), aumente el tamaño del contexto en su configuración\n• Cambie a un modelo con una ventana de contexto más grande +error.invalid_request=⚠️ Solicitud no válida\: {details}\n\nRevise su entrada e inténtelo de nuevo. +error.local_server=⚠️ ¡Error del servidor de IA local\!\n\nEl proceso del servidor de IA se bloqueó o no pudo cargar el modelo. Esto no es causado por Askimo.\n\nPosibles causas\:\n• El archivo del modelo está corrupto o incompleto — intente descargarlo nuevamente\n• RAM/VRAM insuficiente — pruebe una cuantización menor (p. ej. Q4 en lugar de Q8)\n• Formato de modelo no compatible con la versión actual del servidor\n• El proceso del servidor fue terminado por el sistema operativo (sin memoria)\n\nQué hacer\:\n1. Revise los registros de su servidor de IA local\n2. Reinicie el servidor e inténtelo de nuevo\n3. Vuelva a descargar el modelo\n4. Pruebe un modelo diferente o un nivel de cuantización distinto\n\nDetalles técnicos\: {details} +error.empty_http_response=⚠️ ¡El servidor cerró la conexión sin responder\!\n\nModelo\: {0}\n\nEsto suele ocurrir cuando un proveedor de IA local descarta la solicitud silenciosamente en lugar de devolver un error. La ventana de contexto del modelo es demasiado pequeña para la solicitud actual.\n\nCausas comunes\:\n• El historial de la conversación se ha vuelto demasiado largo tras varios turnos\n• Las herramientas habilitadas añaden datos extra a cada solicitud; incluso una pregunta corta con varias herramientas activas puede superar el límite\n• Archivos adjuntos grandes o fragmentos de código han hecho que la solicitud supere el límite\n\n{1}\n\nOtras cosas que intentar\:\n• Inicie una nueva conversación para restablecer el contexto\n• Deshabilite las herramientas que no sean necesarias para esta tarea\n• Reduzca el tamaño de su mensaje o de los archivos adjuntos +error.empty_http_response.hint.docker=Para aumentar la ventana de contexto en Docker AI / Docker Model Runner\:\n• Pase --context-size al iniciar el modelo (ej. --context-size 32768)\n• O configúrelo en la configuración de ejecución del modelo +error.empty_http_response.hint.ollama=Para aumentar la ventana de contexto en Ollama\:\n• Establezca num_ctx en su Modelfile (ej. PARAMETER num_ctx 32768)\n• O páselo como parámetro\: ollama run --num-ctx 32768 +error.empty_http_response.hint.lmstudio=Para aumentar la ventana de contexto en LM Studio\:\n• Abra el panel de configuración del modelo\n• Busque "Context Length" y auméntelo (ej. a 32768 o superior, hasta el máximo del modelo)\n• Reinicie el servidor local después de cambiar la configuración +error.empty_http_response.hint.localai=Para aumentar la ventana de contexto en LocalAI\:\n• Edite el YAML de configuración del modelo y establezca context_size\: 32768\n• Reinicie el servidor de LocalAI después de cambiar la configuración +error.empty_http_response.hint.generic=Para aumentar la ventana de contexto\:\n• Compruebe los ajustes de su proveedor para ver si hay una opción de longitud de contexto / tamaño de contexto y auméntela (ej. a 32768 tokens)\n• Reinicie el proveedor después de cambiar la configuración +error.remote_server=⚠️ Error del servidor del proveedor de IA\n\nEl servidor del proveedor devolvió un error temporal (p. ej. sobrecargado o no disponible). Esto no es causado por Askimo.\n\nQué hacer\:\n• Espere un momento y vuelva a intentarlo — suele ser temporal\n• Consulte la página de estado del proveedor si el problema persiste\n\nDetalles técnicos\: {details} +error.system=⚠️ Error del sistema\n\nOcurrió un error inesperado\: {errorCode}\n\nContacte al soporte de Askimo con\:\n• Lo que estaba haciendo\n• El código de error anterior\n• La marca de tiempo # Model Availability Errors error.model.not_available.title.chat=Modelo no disponible @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=Modelo de incrustación no disponible error.model.not_available.message.chat=El modelo ''{0}'' no está disponible. error.model.not_available.message.embedding=El modelo de incrustación ''{0}'' no está disponible en tu proveedor local.\n\nVe a Configuración → Proveedor IA y selecciona un modelo de incrustación disponible en la tarjeta de configuración del proveedor. error.model.not_available.config_link=Configurar modelo de incrustación -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=Ocurrió un error inesperado: {0} +error.app.message=Ocurrió un error inesperado\: {0} # Send Message Errors error.send_message.title=No se pudo enviar el mensaje @@ -1171,21 +1179,21 @@ error.indexing.unknown.message=Se produjo un error desconocido durante la indexa settings.rag.title=Configuración de RAG settings.rag.description=Configura los parámetros de Retrieval-Augmented Generation para la recuperación de conocimiento basada en proyectos settings.rag.vector.max.results=Máximo de resultados de búsqueda vectorial -settings.rag.vector.max.results.hint=Número máximo de documentos de la búsqueda vectorial (predeterminado: 20) +settings.rag.vector.max.results.hint=Número máximo de documentos de la búsqueda vectorial (predeterminado\: 20) settings.rag.vector.min.score=Puntuación mínima de búsqueda vectorial -settings.rag.vector.min.score.hint=Puntuación mínima de similitud 0.0–1.0 (predeterminado: 0.3) +settings.rag.vector.min.score.hint=Puntuación mínima de similitud 0.0–1.0 (predeterminado\: 0.3) settings.rag.hybrid.max.results=Máximo de resultados híbridos -settings.rag.hybrid.max.results.hint=Recuento final de documentos tras la fusión (predeterminado: 15) +settings.rag.hybrid.max.results.hint=Recuento final de documentos tras la fusión (predeterminado\: 15) settings.rag.rank.fusion.constant=Constante de fusión de ranking -settings.rag.rank.fusion.constant.hint=Constante RRF para el ranking híbrido (predeterminado: 60) +settings.rag.rank.fusion.constant.hint=Constante RRF para el ranking híbrido (predeterminado\: 60) settings.rag.use.absolute.paths=Absolute Pfade in Zitaten verwenden settings.rag.use.absolute.paths.hint=Vollständige Dateipfade in KI-Antworten anzeigen, um bei mehreren Dateien mit demselben Namen mehr Klarheit zu schaffen settings.rag.embedding.title=Configuración de embeddings settings.rag.embedding.description=Configura los parámetros de segmentación de texto y embeddings settings.rag.embedding.max.chars.per.chunk=Máximo de caracteres por segmento -settings.rag.embedding.max.chars.per.chunk.hint=Número máximo de caracteres en cada segmento de texto (predeterminado: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=Número máximo de caracteres en cada segmento de texto (predeterminado\: 1500) settings.rag.embedding.chunk.overlap=Superposición de segmentos -settings.rag.embedding.chunk.overlap.hint=Número de caracteres superpuestos entre segmentos (predeterminado: 100) +settings.rag.embedding.chunk.overlap.hint=Número de caracteres superpuestos entre segmentos (predeterminado\: 100) settings.rag.embedding.models=Modelos de embedding por proveedor settings.rag.indexing.title=Configuración de indexación settings.rag.indexing.description=Controla qué archivos se indexan y el tamaño máximo de archivo permitido @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=Número de segmentos de texto en settings.models.title=Modelos settings.models.description=Configura el comportamiento global de los modelos de IA compartido entre todos los proveedores. settings.models.max.tool.calling.round.trips=Máximo de rondas de llamadas a herramientas -settings.models.max.tool.calling.round.trips.hint=Número máximo de llamadas a herramientas que la IA puede realizar en una sola respuesta (predeterminado: 10). Valores más altos permiten tareas de agente más complejas pero aumentan la latencia y el costo. +settings.models.max.tool.calling.round.trips.hint=Número máximo de llamadas a herramientas que la IA puede realizar en una sola respuesta (predeterminado\: 10). Valores más altos permiten tareas de agente más complejas pero aumentan la latencia y el costo. # Memory Settings settings.memory.title=Configuración de memoria @@ -1247,11 +1255,11 @@ file.viewer.title=Visor de archivos file.viewer.title.with.name=Visor de archivos - {0} file.viewer.dialog.close=Cerrar file.viewer.copy.clipboard=Copiar al portapapeles -file.viewer.copied=¡Copiado! +file.viewer.copied=¡Copiado\! # Mermaid Chart Renderer mermaid.setup.required.title=Se requiere Mermaid CLI -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=Abrir guía de configuración mermaid.rendering.progress=Renderizando diagrama... mermaid.error.rendering.title=Error al renderizar el diagrama @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=Acercar mermaid.button.zoom.out=Alejar mermaid.button.reset.zoom=Restablecer zoom mermaid.button.retry=Reintentar -mermaid.feedback.copied=¡Copiado! +mermaid.feedback.copied=¡Copiado\! mermaid.setup.button.install=Instalar Mermaid CLI mermaid.setup.button.check.again=Comprobar de nuevo mermaid.setup.button.download.node=Descargar Node.js mermaid.setup.installing=Instalando Mermaid CLI... mermaid.setup.install.failed=La instalación falló. Consulte la salida a continuación para más detalles. mermaid.setup.node.required=No se encontraron Node.js ni npm. Instale Node.js primero para habilitar la instalación con un clic. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=Ver código del diagrama mermaid.error.code.hide=Ocultar código del diagrama @@ -1290,7 +1298,7 @@ mcp.instances.title=Instancias MCP mcp.instances.description=Estas instancias MCP están disponibles mcp.instances.empty=No hay instancias MCP configuradas mcp.instances.count={0} instancia(s) -mcp.instance.server.label=Servidor: {0} +mcp.instance.server.label=Servidor\: {0} mcp.instance.delete.confirm.title=¿Eliminar instancia MCP? mcp.instance.delete.confirm.message=¿Está seguro de que desea eliminar la instancia mcp "{0}"? Esto no se puede deshacer. mcp.instance.enable.tooltip=Activar esta instancia MCP @@ -1316,7 +1324,7 @@ mcp.instance.field.description=Descripción mcp.instance.field.description.placeholder=Breve descripción de lo que hace este servidor mcp.instance.field.transport=Tipo de transporte mcp.instance.field.command=Plantilla de comando -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=Comando separado por espacios con marcadores de posición {{parameter}} mcp.instance.validation.error.empty.id=La ID del servidor no puede estar vacía mcp.instance.validation.error.invalid.id.pattern=La ID del servidor solo debe contener letras minúsculas, números y guiones @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=La plantilla de comando no puede est mcp.instance.validation.error.empty.parameter.key=La clave del parámetro no puede estar vacía mcp.instance.validation.error.empty.parameter.label=La etiqueta del parámetro no puede estar vacía mcp.instance.env.label=Variables de entorno (Opcional) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=Formato: CLAVE=valor o CLAVE={{parameter}} (uno por línea) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=Formato\: CLAVE\=valor o CLAVE\={{parameter}} (uno por línea) mcp.instance.transport.stdio=Stdio (Proceso local) mcp.instance.transport.http=HTTP (Servidor remoto) mcp.instance.http.url.label=Plantilla de URL -mcp.instance.http.url.placeholder=https://{{host}}/mcp o https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp o https\://api.example.com/mcp mcp.instance.http.url.hint=URL del endpoint del servidor. Use marcadores de posición {{parameter}} para valores dinámicos mcp.instance.http.headers.label=Encabezados HTTP (Opcional) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=Formato: Nombre-Encabezado=valor o Nombre-Encabezado={{parameter}} (uno por línea) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=Formato\: Nombre-Encabezado\=valor o Nombre-Encabezado\={{parameter}} (uno por línea) mcp.instance.http.timeout.label=Tiempo de espera (ms) mcp.instance.http.timeout.hint=Tiempo de espera de la solicitud en milisegundos mcp.instance.validation.error.empty.url=La plantilla de URL no puede estar vacía -mcp.instance.validation.error.invalid.url=La plantilla de URL debe comenzar con http:// o https:// +mcp.instance.validation.error.invalid.url=La plantilla de URL debe comenzar con http\:// o https\:// # MCP Integrations (Project View) mcp.instance.delete.tooltip=Eliminar instancia MCP @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} de {1} herramienta(s) mcp.tools.dialog.search.empty=Ninguna herramienta coincide con su búsqueda mcp.tools.dialog.export=Exportar herramientas mcp.tools.dialog.export.success=Herramientas exportadas a {0} -mcp.tools.dialog.export.failed=Error al exportar herramientas: {0} +mcp.tools.dialog.export.failed=Error al exportar herramientas\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=Añadir servidor MCP @@ -1444,7 +1452,7 @@ file.viewer.close=Cerrar visor file.viewer.open.external=Abrir externamente file.viewer.binary=Archivo binario — no se puede previsualizar como texto. file.viewer.too.large=El archivo es demasiado grande para previsualizarlo ({0} KB). El máximo es 512 KB. -file.viewer.error=No se pudo leer el archivo: {0} +file.viewer.error=No se pudo leer el archivo\: {0} file.viewer.select.prompt=Selecciona un archivo del árbol superior para previsualizar su contenido # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=Colapsar panel # RAG Status rag.status.started=Indexación iniciada -rag.status.inprogress=Indexando: {0}% +rag.status.inprogress=Indexando\: {0}% rag.status.inprogress.unknown=Indexando... rag.status.queued=En cola — esperando a que otro proyecto termine de indexar rag.status.ready=Listo @@ -1510,7 +1518,7 @@ plans.editor.label=Contenido YAML plans.editor.placeholder=Pega o escribe aquí el YAML de tu plan... plans.editor.valid=YAML válido plans.editor.hint.title=Referencia -plans.editor.hint.fields=Obligatorio: id, name, steps\nOpcional: description, icon, inputs, workflow\nTipos de paso: text, multiline, toggle, number\nTipos de flujo de trabajo: sequence, parallel, conditional +plans.editor.hint.fields=Obligatorio\: id, name, steps\nOpcional\: description, icon, inputs, workflow\nTipos de paso\: text, multiline, toggle, number\nTipos de flujo de trabajo\: sequence, parallel, conditional plans.editor.menu.edit=Editar YAML plans.editor.ai.label=Generar con IA plans.editor.ai.placeholder=Describe lo que quieres que haga este plan con palabras sencillas... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=Contraer panel skills.view.panel.expand=Expandir panel skills.view.tab.skills=Habilidades skills.view.tab.workspace=Espacio de trabajo -skills.view.last.run=Última ejecución: {0} +skills.view.last.run=Última ejecución\: {0} skills.view.category.uncategorized=Otros skills.view.search.placeholder=Buscar habilidades ... skills.view.search.clear=Borrar búsqueda skills.view.context.placeholder=¿Qué te gustaría hacer? (opcional) -skills.view.command.mode.hint=Modo comando: una entrada que comienza con / se ejecuta como comando de agente. +skills.view.command.mode.hint=Modo comando\: una entrada que comienza con / se ejecuta como comando de agente. skills.view.system.prompt.preview=Prompt del sistema skills.view.response.title=Respuesta skills.view.followup.label=Seguimiento @@ -1584,7 +1592,7 @@ skills.view.history.empty=Aún no hay ejecuciones skills.view.copy=Copiar skills.view.system.prompt.file=archivo skills.view.system.prompt.files=archivos -skills.view.system.prompt.also.included=También incluido en el contexto del agente: +skills.view.system.prompt.also.included=También incluido en el contexto del agente\: skills.view.docs.tooltip=Ver Guía de Habilidades skills.view.mode.agentic=Agente skills.view.mode.manual=Manual @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=Lo que nunca recopilamos onboarding.step.analytics.toggle.subtitle=Nos ayuda a centrarnos en lo que más importa · se puede cambiar en cualquier momento en Ajustes → Avanzado # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 ¡Bienvenido a Askimo! +onboarding.step.welcome.title=👋 ¡Bienvenido a Askimo\! onboarding.step.welcome.description=Tu asistente personal de IA. Chatea con varios modelos de IA, organiza el conocimiento en proyectos y automatiza flujos de trabajo con skills y planes. onboarding.step.welcome.feature1.title=💬 Chatea con IA onboarding.step.welcome.feature1.description=Haz preguntas, recibe ayuda con tareas o conversa con cualquier modelo de IA. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=¿Necesitas un tutor paciente pa onboarding.step.directives.link=Ver ejemplos y consejos # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 ¡Todo listo! +onboarding.step.ready.title=🚀 ¡Todo listo\! onboarding.step.ready.description=Todo está configurado y listo para empezar. Inicia tu primer chat o explora los recursos a continuación. onboarding.step.ready.link.docs=📚 Explorar la documentación onboarding.step.ready.link.providers=🔧 Configurar proveedores de IA @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ Danos una estrella en GitHub onboarding.step.persona.title=🎯 ¿Qué es lo que principalmente quieres hacer? onboarding.step.persona.description=Elige la opción que más se parezca a tu trabajo. Askimo mostrará las funciones más relevantes. Siempre puedes cambiar esto desde el menú Ver. onboarding.step.persona.developer.description=Leer y escribir código, refactorizar archivos, generar andamiajes o ejecutar tareas agénticas en tu proyecto local. -onboarding.step.persona.developer.features=Habilita: Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=Habilita\: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=Investigar temas, analizar datos, escribir informes estructurados y obtener respuestas fundamentadas en el conocimiento. -onboarding.step.persona.researcher.features=Habilita: Plans, Projects (RAG) +onboarding.step.persona.researcher.features=Habilita\: Plans, Projects (RAG) onboarding.step.persona.manager.description=Redactar correos electrónicos, procesar notas de reuniones, escribir informes de estado o ejecutar flujos de trabajo de contenido de varios pasos. -onboarding.step.persona.manager.features=Habilita: Plans +onboarding.step.persona.manager.features=Habilita\: Plans onboarding.step.persona.everything.description=Hago una mezcla de cosas — muéstrame todas las funciones y yo decidiré qué usar. -onboarding.step.persona.everything.features=Habilita: Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=Habilita\: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 Escribir y revisar código From 7e942b0d8171a9d4d9b1176c0c8e32e2f6616661 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:25 +0000 Subject: [PATCH 03/10] New translations messages.properties (German) [ci skip] --- .../resources/i18n/messages_de.properties | 236 +++++++++--------- 1 file changed, 122 insertions(+), 114 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_de.properties b/desktop-shared/src/main/resources/i18n/messages_de.properties index 2f6dea619..80ecc2572 100644 --- a/desktop-shared/src/main/resources/i18n/messages_de.properties +++ b/desktop-shared/src/main/resources/i18n/messages_de.properties @@ -43,11 +43,11 @@ menu.help.discord=💬 Discord-Community beitreten menu.help.share.x=Auf X / Twitter teilen menu.help.share.linkedin=Auf LinkedIn teilen menu.help.share.facebook=Auf Facebook teilen -menu.help.share.text=Entdecke Askimo — ein kostenloser, lokaler KI-Desktop-Client. Unterstützt Ollama, OpenAI, Anthropic und mehr. https://askimo.chat +menu.help.share.text=Entdecke Askimo — ein kostenloser, lokaler KI-Desktop-Client. Unterstützt Ollama, OpenAI, Anthropic und mehr. https\://askimo.chat menu.help.share.hackernews=Auf Hacker News posten menu.eventlog=Ereignisprotokoll menu.help.model.capabilities=Modellfähigkeitsdatei öffnen -menu.dev.clear.account.preferences= [Dev] Kontoeinstellungen löschen +menu.dev.clear.account.preferences=[Dev] Kontoeinstellungen löschen menu.about=Über Askimo menu.help.check.updates=Nach Updates suchen... menu.help.diagnostics=Systemdiagnose... @@ -60,16 +60,16 @@ dialog.close=Schließen # Backup and Restore backup.export.title=Sicherung exportieren backup.export.success.title=Sicherung exportiert -backup.export.success.message=Sicherung erfolgreich exportiert nach:\n{0} +backup.export.success.message=Sicherung erfolgreich exportiert nach\:\n{0} backup.export.error.title=Export fehlgeschlagen -backup.export.error.message=Sicherung konnte nicht exportiert werden:\n{0} +backup.export.error.message=Sicherung konnte nicht exportiert werden\:\n{0} backup.import.title=Sicherung importieren backup.import.confirm.title=Import bestätigen backup.import.confirm.message=Dieser Vorgang ersetzt alle aktuellen Daten durch die Sicherung.\n\nVor dem Import wird automatisch eine Sicherheitssicherung erstellt.\n\nMöchten Sie wirklich fortfahren? backup.import.success.title=Sicherung importiert backup.import.success.message=Sicherung erfolgreich importiert.\n\nBitte starten Sie Askimo neu, damit alle Änderungen wirksam werden. backup.import.error.title=Import fehlgeschlagen -backup.import.error.message=Sicherung konnte nicht importiert werden:\n{0} +backup.import.error.message=Sicherung konnte nicht importiert werden\:\n{0} # Event Log eventlog.title=Ereignisprotokoll ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=Ereignisprotokoll eventlog.window.attach=An Hauptfenster anfügen eventlog.window.events.count={0} Ereignisse eventlog.window.empty.message=Noch keine Ereignisse. Sie erscheinen hier, sobald sie auftreten. -eventlog.footer.warning=Die ältesten Einträge wurden gekürzt (Limit: {0}) +eventlog.footer.warning=Die ältesten Einträge wurden gekürzt (Limit\: {0}) # Chat Interface chat.new=Neuer Chat @@ -165,7 +165,7 @@ session.rename.error.empty=Der Titel darf nicht leer sein session.export.file.chooser.title=Chatverlauf speichern session.export.button.export=Exportieren session.export.success.title=Erfolgreich exportiert -session.export.success.message=Die Chatsitzung wurde erfolgreich exportiert nach: +session.export.success.message=Die Chatsitzung wurde erfolgreich exportiert nach\: # Projects project.title=Projekte @@ -181,11 +181,11 @@ project.new.dialog.file.browse=Dateien zum Verarbeiten auswählen... project.new.dialog.sources.label=Referenzmaterialien (optional) project.new.dialog.sources.add=Quelle hinzufügen project.new.dialog.error.empty.name=Projektname darf nicht leer sein -project.new.dialog.error.create.failed=Projekt konnte nicht erstellt werden: {0} +project.new.dialog.error.create.failed=Projekt konnte nicht erstellt werden\: {0} project.new.dialog.name.error.empty=Projektname darf nicht leer sein project.new.dialog.button.create=Projekt erstellen project.new.dialog.button.cancel=Abbrechen -project.new.dialog.success.title=Projekt erfolgreich erstellt! +project.new.dialog.success.title=Projekt erfolgreich erstellt\! project.new.dialog.success.message=Projekt ''{0}'' wurde erstellt. project.new.dialog.success.countdown=Schließt in {0} Sekunde{1}... project.new.dialog.success.close=Jetzt schließen @@ -208,7 +208,7 @@ projects.title=Projekte projects.description=Organisieren Sie Ihre Chats rund um ein Thema und hängen Sie Dateien, Ordner oder URLs als Wissensquellen an, damit die KI immer den richtigen Kontext für das jeweilige Projekt hat. projects.error=❌ {0} projects.empty=Keine Projekte gefunden. -projects.empty.hint=💡 Erstellen Sie ein neues Projekt, um Ihre Chat-Sitzungen zu organisieren! +projects.empty.hint=💡 Erstellen Sie ein neues Projekt, um Ihre Chat-Sitzungen zu organisieren\! projects.search.placeholder=Nach Name suchen… projects.search.empty=Keine Projekte entsprechen "{0}". projects.col.name=Name @@ -219,13 +219,16 @@ projects.sources.expand=Referenzmaterialien anzeigen projects.sources.collapse=Referenzmaterialien ausblenden projects.sources.empty.title=Noch keine Referenzmaterialien projects.sources.empty.description=Fügen Sie Dokumente hinzu, damit Askimo sie bei der Beantwortung Ihrer Fragen berücksichtigen kann -projects.sources.info.tooltip=Referenzmaterialien helfen Askimo, Ihren spezifischen Kontext zu verstehen.\n\n\ -Fügen Sie Ordner, Dateien oder Websites hinzu, die Informationen enthalten, auf die Askimo bei der Beantwortung Ihrer Fragen zurückgreifen soll.\n\n\ -Zum Beispiel:\n\ +projects.sources.info.tooltip=Referenzmaterialien helfen Askimo, Ihren spezifischen Kontext zu verstehen.\n\ +\n\ +Fügen Sie Ordner, Dateien oder Websites hinzu, die Informationen enthalten, auf die Askimo bei der Beantwortung Ihrer Fragen zurückgreifen soll.\n\ +\n\ +Zum Beispiel\:\n\ • Ihre Projektdokumentation\n\ • Unternehmens-Wissensdatenbank\n\ • Technische Spezifikationen\n\ -• Forschungsarbeiten\n\n\ +• Forschungsarbeiten\n\ +\n\ Askimo durchsucht diese Materialien, um genauere und kontextbezogene Antworten zu liefern. projects.sources.type.local_folders=Lokale Ordner projects.sources.type.local_files=Lokale Dateien @@ -252,8 +255,8 @@ project.reindex=Projekt neu indexieren project.menu.tooltip=Projektmenü project.new.chat.placeholder=Neuer Chat in {0} project.recent.chats=Letzte Chats -project.no.chats=Noch keine Chats. Starten Sie unten einen neuen Chat! -project.indexing.label=Indexierung der Wissensquelle: {0} +project.no.chats=Noch keine Chats. Starten Sie unten einen neuen Chat\! +project.indexing.label=Indexierung der Wissensquelle\: {0} project.indexing.queued=Indizierung in der Warteschlange - warten auf den Abschluss eines anderen Projekts... project.indexing.failed=Indizierung fehlgeschlagen. Versuchen Sie, über das Projektmenü neu zu indizieren. project.indexing.ready.label=Indiziert @@ -272,7 +275,7 @@ settings.appearance=Erscheinungsbild settings.appearance.accent=Akzentfarbe settings.appearance.accent.description=Passen Sie eine einzelne Akzentfarbe sicher an. Askimo wendet sie auf primäre UI-Akzente an und leitet weitere Farben für gute Lesbarkeit ab. settings.appearance.accent.label=Akzentfarbe (Hex) -settings.appearance.accent.invalid=Geben Sie eine gültige Hex-Farbe wie #0284C7 ein +settings.appearance.accent.invalid=Geben Sie eine gültige Hex-Farbe wie \#0284C7 ein settings.appearance.accent.swatch.primary=Primär settings.appearance.accent.swatch.primary.container=Container settings.appearance.accent.swatch.on.primary.container=Auf dem Container @@ -296,7 +299,7 @@ settings.network.description=Netzwerk- und Proxy-Einstellungen konfigurieren settings.mcp.servers=MCP-Server settings.skills=Fähigkeiten settings.skills.description=Skills sind wiederverwendbare KI-Agenten, die direkt auf Ihrer Maschine laufen. Jeder Skill ist eine Markdown-Datei mit einem System-Prompt und Anweisungen. Wenn Sie einen Skill ausführen, wird er über {0} ausgeführt — liest und schreibt Ihre Dateien, führt Shell-Befehle aus und iteriert, bis die Aufgabe erledigt ist. Kein Kopieren und Einfügen erforderlich. -settings.skills.runtimes=Unterstützte Laufzeitumgebungen: +settings.skills.runtimes=Unterstützte Laufzeitumgebungen\: settings.skills.directory=Fähigkeitenverzeichnis settings.skills.open.folder=Ordner öffnen settings.skills.new.skill=Neue Fähigkeit @@ -376,11 +379,11 @@ settings.log.viewer=Log-Dateien settings.log.viewer.description=Anwendungslogs und Diagnosen anzeigen settings.log.viewer.view=Logs anzeigen settings.log.viewer.open_folder=Log-Ordner öffnen -settings.log.viewer.path=Log-Datei: {0} +settings.log.viewer.path=Log-Datei\: {0} settings.log.viewer.dialog.title=Anwendungslogs settings.log.viewer.refresh=Aktualisieren settings.log.viewer.copy=Kopieren -settings.log.viewer.copied=Kopiert! +settings.log.viewer.copied=Kopiert\! settings.log.viewer.loading=Logs werden geladen... settings.log.viewer.error=Fehler beim Laden der Logs settings.log.viewer.empty=Keine Logs verfügbar @@ -434,7 +437,7 @@ settings.web_search.api_key=API-Schlüssel settings.web_search.api_key.placeholder=API-Schlüssel hier einfügen settings.web_search.get_api_key=Kostenlosen API-Schlüssel erhalten ↗ settings.web_search.endpoint=SearxNG-Instanz-URL -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=Suche testen settings.web_search.test.running=Wird getestet... settings.web_search.test.success=✅ Suche funktioniert @@ -463,7 +466,7 @@ user.profile.interests.custom.placeholder=z. B. Maschinelles Lernen, Fotografie user.profile.interests.custom.hint=Mehrere Interessen durch Kommas trennen # Welcome Dialog (First Run) -welcome.title=Willkommen bei Askimo! +welcome.title=Willkommen bei Askimo\! welcome.subtitle=Helfen Sie uns, Ihr KI-Erlebnis zu personalisieren welcome.avatar.optional=Klicken, um ein Foto hinzuzufügen (optional) welcome.name=Ihr Name @@ -526,7 +529,7 @@ action.refresh=Aktualisieren # Happiness Gate (shown before Star Prompt) happiness.gate.title=Wie gefällt Ihnen Askimo? happiness.gate.subtitle=Ihr ehrliches Feedback hilft uns, uns stetig zu verbessern -happiness.gate.happy=Ich liebe es! 😍 +happiness.gate.happy=Ich liebe es\! 😍 happiness.gate.neutral=Es geht 🙂 happiness.gate.unhappy=Nicht wirklich 😕 @@ -549,11 +552,11 @@ feedback.email.placeholder=you@example.com feedback.email.hint=Wird nur verwendet, um bei deinem Feedback nachzufassen. Wir werden dich niemals zuspammen. feedback.action.skip=Überspringen feedback.action.send=Feedback senden -feedback.thanks.title=Vielen Dank für dein Feedback! +feedback.thanks.title=Vielen Dank für dein Feedback\! feedback.thanks.message=Dein Input hilft uns, Askimo zu verbessern. Wir wissen das wirklich zu schätzen. feedback.thanks.close=Schließen -feedback.remind.title=Kein Problem! +feedback.remind.title=Kein Problem\! feedback.remind.message=Du kannst jederzeit über das Hilfe-Menü → Feedback senden Rückmeldung geben. feedback.remind.got.it=Verstanden @@ -577,10 +580,10 @@ star.prompt.share.description=Erzählen Sie Ihrem Netzwerk von Askimo auf X, Lin star.prompt.maybe.later=Jetzt nicht star.prompt.already.starred=Bereits mit Stern markiert ✓ star.prompt.social.proof=⭐ Schließen Sie sich {0} Personen an, die Askimo bereits mit einem Stern markiert haben -star.prompt.thanks.title=Vielen Dank! 🌟 +star.prompt.thanks.title=Vielen Dank\! 🌟 star.prompt.thanks.message=Deine Unterstützung bedeutet uns viel und hilft uns, Askimo weiterzuentwickeln. star.prompt.thanks.done=Fertig ✓ -star.prompt.remind.title=Kein Problem! +star.prompt.remind.title=Kein Problem\! star.prompt.remind.message=Du kannst uns jederzeit über das Hilfe-Menü → Askimo unterstützen. star.prompt.remind.got.it=Verstanden @@ -654,7 +657,7 @@ shortcut.send.message=Nachricht senden shortcut.new.line=Neue Zeile # Chat View -chat.welcome=Willkommen bei Askimo!\nBeginnen Sie eine Unterhaltung, indem Sie unten eine Nachricht eingeben. +chat.welcome=Willkommen bei Askimo\!\nBeginnen Sie eine Unterhaltung, indem Sie unten eine Nachricht eingeben. chat.no.active.session=Wählen Sie eine Sitzung in der Seitenleiste aus oder starten Sie einen neuen Chat chat.search.placeholder=Im Gespräch suchen... chat.search.no.results=Keine Ergebnisse @@ -736,7 +739,7 @@ chat.attachment.remove=Anhang entfernen chat.attachment.preview.loading=Vorschau wird geladen… chat.attachment.preview.file.not.found=(Datei nicht gefunden) chat.attachment.preview.too.large=(Datei zu groß für eine Vorschau) -chat.attachment.preview.cannot.read=(Datei kann nicht gelesen werden: {0}) +chat.attachment.preview.cannot.read=(Datei kann nicht gelesen werden\: {0}) chat.attachment.preview.more.lines={0} weitere Zeilen # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=Erstellt sessions.col.updated=Aktualisiert sessions.error=❌ {0} sessions.empty=Keine Chatsitzungen gefunden. -sessions.empty.hint=💡 Starten Sie eine neue Unterhaltung, um Ihre erste Sitzung zu erstellen! +sessions.empty.hint=💡 Starten Sie eine neue Unterhaltung, um Ihre erste Sitzung zu erstellen\! sessions.search.placeholder=Nach Titel suchen… sessions.search.empty=Keine Sitzungen entsprechen "{0}". # Generic table pagination controls -table.page.size.label=Zeilen pro Seite: +table.page.size.label=Zeilen pro Seite\: table.page=Seite {0} von {1} table.page.previous=Vorherige Seite table.page.next=Nächste Seite @@ -769,7 +772,7 @@ sessions.error.rename.failed=Umbenennen fehlgeschlagen. # ChatSessionService Errors # Update Check update.dialog.title=Software-Update -update.dialog.new.version.available=Eine neue Version von Askimo ist verfügbar! +update.dialog.new.version.available=Eine neue Version von Askimo ist verfügbar\! update.urgency.medium=Sie liegen {0} Versionen zurück — Sie könnten wichtige Fehlerbehebungen und neue Funktionen verpassen. update.urgency.high=Sie liegen {0} Versionen zurück — Sie verpassen erhebliche Verbesserungen. Bitte bald aktualisieren. update.dialog.current.version.label=Aktuelle Version @@ -780,7 +783,7 @@ update.dialog.download=Jetzt herunterladen update.dialog.how.to.update=So aktualisieren Sie update.dialog.later=Später update.dialog.skip.version=Diese Version überspringen -update.check.up.to.date=Sie verwenden die neueste Version! +update.check.up.to.date=Sie verwenden die neueste Version\! update.check.failed=Update-Prüfung fehlgeschlagen # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Auf Crowdin beitragen settings.ai.response.language=Bevorzugte Antwortsprache settings.ai.response.language.description=KI auf eine bestimmte Sprache für Antworten festlegen (leer lassen für automatische Erkennung) settings.ai.response.language.auto=Automatische Erkennung -settings.ai.response.language.tooltip=KI erkennt Ihre Sprache automatisch, aber überschreiben wenn:\n• Sprachenlernen (immersive Praxis)\n• Professionelle Konsistenz (z.B. Code-Dokumentation immer auf Englisch)\n• RAG-Optimierung (Wissensdatenbank-Sprache abgleichen)\n• Lehre (in einer Sprache fragen, in einer anderen erklären)\n• Unerwünschte Sprachwechsel verhindern -settings.model.select=Modell für {0} auswählen: +settings.ai.response.language.tooltip=KI erkennt Ihre Sprache automatisch, aber überschreiben wenn\:\n• Sprachenlernen (immersive Praxis)\n• Professionelle Konsistenz (z.B. Code-Dokumentation immer auf Englisch)\n• RAG-Optimierung (Wissensdatenbank-Sprache abgleichen)\n• Lehre (in einer Sprache fragen, in einer anderen erklären)\n• Unerwünschte Sprachwechsel verhindern +settings.model.select=Modell für {0} auswählen\: settings.model.loading=Modelle werden geladen... settings.model.none=Keine Modelle verfügbar settings.model.select.title=Modell auswählen @@ -826,7 +829,7 @@ settings.model.current=Aktuelles Modell settings.model.selected=Ausgewähltes Modell settings.model.new=Neues Modell settings.model.use.default=Standard verwenden -settings.model.change.description=Wählen Sie ein Modell aus der folgenden Liste aus: +settings.model.change.description=Wählen Sie ein Modell aus der folgenden Liste aus\: settings.model.search=Modelle durchsuchen settings.model.search.placeholder=Eingeben, um Modelle zu filtern... settings.model.filtered={0} von {1} Modellen angezeigt @@ -835,22 +838,22 @@ settings.model.chat.filter.label=Chat-Modelle · {0} angezeigt settings.model.chat.filter.show.all=Alle {0} anzeigen settings.configure.title={0} konfigurieren settings.test.connection.testing=Teste... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=Verbindung zum Anbieter konnte nicht hergestellt werden. Bitte überprüfen Sie, ob Ihr API-Schlüssel korrekt ist (für Cloud-Anbieter) oder Ihre Basis-URL erreichbar ist (für lokale Anbieter). Installationsanweisungen finden Sie über den obigen Hilfe-Link. # Directives Dialog directive.manage.title=Direktiven verwalten -directive.manage.empty=Keine Direktiven verfügbar. Erstellen Sie eine, um zu beginnen! +directive.manage.empty=Keine Direktiven verfügbar. Erstellen Sie eine, um zu beginnen\! directive.edit.name.label=Name directive.edit.name.placeholder=Direktivenname eingeben... directive.edit.content.label=Inhalt directive.edit.content.placeholder=Direktivenanweisungen eingeben... directive.edit.name.required=Name ist erforderlich directive.edit.content.required=Inhalt ist erforderlich -directive.created=Erstellt: {0} +directive.created=Erstellt\: {0} directive.new.title=Neue Direktive directive.new.guidelines=Direktiven leiten, wie die KI auf Ihre Nachrichten antwortet. Seien Sie spezifisch über Ton, Detailgrad, Format oder besondere Anforderungen, die Sie benötigen. -directive.new.name.placeholder=z. B.: concise-code, explain-like-im-5 +directive.new.name.placeholder=z. B.\: concise-code, explain-like-im-5 directive.new.content.placeholder=Anweisungen eingeben... directive.new.apply.current=Auf aktuelle Sitzung anwenden directive.new.create=Erstellen @@ -862,8 +865,8 @@ directive.export.tooltip=Alle Anweisungen in eine JSON-Datei exportieren, um sie directive.export.filename=askimo-directives directive.import=Importieren directive.import.tooltip=Anweisungen aus einer JSON-Datei importieren -directive.import.result=Import abgeschlossen: {0} importiert, {1} umbenannt, {2} übersprungen -directive.import.error=Import fehlgeschlagen: ungültiges oder nicht unterstütztes Dateiformat +directive.import.result=Import abgeschlossen\: {0} importiert, {1} umbenannt, {2} übersprungen +directive.import.error=Import fehlgeschlagen\: ungültiges oder nicht unterstütztes Dateiformat # Log Levels log.level.error=Fehler @@ -919,7 +922,7 @@ message.edited.indicator=(bearbeitet) message.date.today=Heute message.date.yesterday=Gestern message.token.usage={0} Tokens · {1} in / {2} out -message.token.usage.tooltip=Von dieser Antwort verwendete Tokens.\nEingabe: Ihr Prompt + Kontext, der an die KI gesendet wurde.\nAusgabe: die KI-generierte Antwort. +message.token.usage.tooltip=Von dieser Antwort verwendete Tokens.\nEingabe\: Ihr Prompt + Kontext, der an die KI gesendet wurde.\nAusgabe\: die KI-generierte Antwort. # Bookmarks chat.bookmarks.button.tooltip=Lesezeichen @@ -970,15 +973,20 @@ provider.template.get.apikey=API-Schlüssel abrufen → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Führen Sie KI-Modelle in Cloudflares globalem Edge-Netzwerk mit Workers AI aus. -provider.template.cloudflare_ai.help=💡 So verwenden Sie Cloudflare AI:\n\n1. Suchen Sie Ihre Account-ID in Ihrem Cloudflare-Dashboard\n2. Ersetzen Sie {ACCOUNT_ID} in der Basis-URL damit\n3. Erstellen Sie ein API-Token mit der Berechtigung „Workers AI“ unter:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 So verwenden Sie Cloudflare AI\:\n\n1. Suchen Sie Ihre Account-ID in Ihrem Cloudflare-Dashboard\n2. Ersetzen Sie {ACCOUNT_ID} in der Basis-URL damit\n3. Erstellen Sie ein API-Token mit der Berechtigung „Workers AI“ unter\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=Ultraschnelle Inferenz für Open-Source-Modelle — Llama, Mixtral, Gemma und mehr. -provider.template.groq.help=💡 So verwenden Sie Groq:\n\n1. Holen Sie sich Ihren kostenlosen API-Schlüssel unter: console.groq.com/keys\n2. Geben Sie einen Modellnamen ein, z. B. llama-3.1-8b-instant\n3. Klicken Sie auf Weiter, um alle verfügbaren Modelle zu durchsuchen +provider.template.groq.help=💡 So verwenden Sie Groq\:\n\n1. Holen Sie sich Ihren kostenlosen API-Schlüssel unter\: console.groq.com/keys\n2. Geben Sie einen Modellnamen ein, z. B. llama-3.1-8b-instant\n3. Klicken Sie auf Weiter, um alle verfügbaren Modelle zu durchsuchen provider.template.nvidia_nim.tagline=Führen Sie optimierte KI-Modelle auf NVIDIAs Cloud-GPU-Infrastruktur aus. -provider.template.nvidia_nim.help=💡 So verwenden Sie NVIDIA NIM:\n\n1. Holen Sie sich Ihren API-Schlüssel unter: build.nvidia.com\n2. Geben Sie einen Modellnamen ein, z. B. meta/llama-3.1-8b-instruct\n3. Klicken Sie auf Weiter, um alle verfügbaren Modelle zu durchsuchen +provider.template.nvidia_nim.help=💡 So verwenden Sie NVIDIA NIM\:\n\n1. Holen Sie sich Ihren API-Schlüssel unter\: build.nvidia.com\n2. Geben Sie einen Modellnamen ein, z. B. meta/llama-3.1-8b-instruct\n3. Klicken Sie auf Weiter, um alle verfügbaren Modelle zu durchsuchen provider.template.openrouter.tagline=Zugriff auf über 300 Modelle — GPT, Claude, Llama, Gemini, Mistral und mehr über eine API. -provider.template.openrouter.help=💡 So verwenden Sie OpenRouter:\n\n1. Holen Sie sich Ihren kostenlosen API-Schlüssel unter: openrouter.ai/keys\n2. Klicken Sie auf Weiter, um über 300 verfügbare Modelle zu durchsuchen\n3. Viele Modelle bieten eine kostenlose Stufe — keine Kreditkarte erforderlich +provider.template.openrouter.help=💡 So verwenden Sie OpenRouter\:\n\n1. Holen Sie sich Ihren kostenlosen API-Schlüssel unter\: openrouter.ai/keys\n2. Klicken Sie auf Weiter, um über 300 verfügbare Modelle zu durchsuchen\n3. Viele Modelle bieten eine kostenlose Stufe — keine Kreditkarte erforderlich provider.template.together_ai.tagline=Schnelle, erschwingliche Inferenz für über 100 Open-Source-Modelle. -provider.template.together_ai.help=💡 So verwenden Sie Together AI:\n\n1. Holen Sie sich Ihren API-Schlüssel unter: api.together.ai/settings/api-keys\n2. Klicken Sie auf Weiter, um verfügbare Modelle zu durchsuchen,\n z. B. meta-llama/Llama-3-8b-chat-hf +provider.template.together_ai.help=💡 So verwenden Sie Together AI\:\n\n1. Holen Sie sich Ihren API-Schlüssel unter\: api.together.ai/settings/api-keys\n2. Klicken Sie auf Weiter, um verfügbare Modelle zu durchsuchen,\n z. B. meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -995,7 +1003,7 @@ provider.setup.required.message=Bevor Sie mit dem Chatten beginnen können, müs provider.setup.required.button=Anbieter einrichten provider.setup.required.skip=Später einrichten provider.setup.empty.state.button=Anbieter hinzufügen -provider.configure.prompt=Anbieter konfigurieren: +provider.configure.prompt=Anbieter konfigurieren\: provider.setup.guide=So richten Sie {0} ein provider.apikey.stored=API-Schlüssel sicher gespeichert provider.apikey.enter=API-Schlüssel eingeben @@ -1004,14 +1012,14 @@ provider.apikey.security.link=Erfahren Sie, wie wir Ihre Daten schützen provider.not.set=Nicht festgelegt # Provider Configuration - OpenAI -provider.openai.apikey.description=Ihr OpenAI API-Schlüssel: https://platform.openai.com/account/api-keys +provider.openai.apikey.description=Ihr OpenAI API-Schlüssel\: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=API-Schlüssel ist bereits gespeichert. Leer lassen, um den aktuellen beizubehalten. -provider.openai.setup.help=💡 Für die Nutzung von OpenAI benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten: https://platform.openai.com/account/api-keys\n2. In den Einstellungen eintragen oder :change-settings verwenden +provider.openai.setup.help=💡 Für die Nutzung von OpenAI benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten\: https\://platform.openai.com/account/api-keys\n2. In den Einstellungen eintragen oder \:change-settings verwenden # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Ihr Anthropic API-Schlüssel: https://console.anthropic.com/ +provider.anthropic.apikey.description=Ihr Anthropic API-Schlüssel\: https\://console.anthropic.com/ provider.anthropic.apikey.stored=API-Schlüssel ist bereits gespeichert. -provider.anthropic.setup.help=💡 Für die Nutzung von Anthropic benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten: https://console.anthropic.com/\n2. In den Einstellungen eintragen oder :change-settings verwenden +provider.anthropic.setup.help=💡 Für die Nutzung von Anthropic benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten\: https\://console.anthropic.com/\n2. In den Einstellungen eintragen oder \:change-settings verwenden provider.anthropic.max_tokens.label=Max Tokens provider.anthropic.max_tokens.description=Maximale Anzahl an Tokens, die das Modell pro Antwort generieren kann (Denken + Antwort kombiniert). provider.anthropic.thinking_budget_tokens.label=Thinking Budget Tokens @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=Thinking Max Tokens provider.anthropic.thinking_max_tokens.description=Gesamtes Token-Limit bei aktivem Denkprozess (Denken + Antwort). Auf 0 setzen, um stattdessen "Max Tokens" zu verwenden. # Provider Configuration - Gemini -provider.gemini.apikey.description=Ihr Google AI Studio API-Schlüssel: https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Ihr Google AI Studio API-Schlüssel\: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API-Schlüssel ist bereits gespeichert. -provider.gemini.setup.help=💡 Für die Nutzung von Gemini benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten: https://aistudio.google.com/app/apikey\n2. In den Einstellungen eintragen oder :change-settings verwenden +provider.gemini.setup.help=💡 Für die Nutzung von Gemini benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten\: https\://aistudio.google.com/app/apikey\n2. In den Einstellungen eintragen oder \:change-settings verwenden # Provider Configuration - XAI -provider.xai.apikey.description=Ihr XAI API-Schlüssel: https://console.x.ai/ +provider.xai.apikey.description=Ihr XAI API-Schlüssel\: https\://console.x.ai/ provider.xai.apikey.stored=API-Schlüssel ist bereits gespeichert. -provider.xai.setup.help=💡 Für die Nutzung von XAI benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten: https://console.x.ai/\n2. In den Einstellungen eintragen oder :change-settings verwenden +provider.xai.setup.help=💡 Für die Nutzung von XAI benötigen Sie einen API-Schlüssel.\n\n1. Hier erhalten\: https\://console.x.ai/\n2. In den Einstellungen eintragen oder \:change-settings verwenden # Provider Configuration - Ollama -provider.ollama.baseurl.description=Ollama Basis-URL (Standard: http://localhost:11434) -provider.ollama.setup.help=💡 Für die Nutzung von Ollama muss es lokal ausgeführt werden.\n\n1. Installieren: https://ollama.ai/\n2. Dienst starten\n3. Basis-URL bei Bedarf ändern +provider.ollama.baseurl.description=Ollama Basis-URL (Standard\: http\://localhost\:11434) +provider.ollama.setup.help=💡 Für die Nutzung von Ollama muss es lokal ausgeführt werden.\n\n1. Installieren\: https\://ollama.ai/\n2. Dienst starten\n3. Basis-URL bei Bedarf ändern # Provider Configuration - Docker AI -provider.docker.baseurl.description=Docker AI Basis-URL (Standard: http://localhost:12434) +provider.docker.baseurl.description=Docker AI Basis-URL (Standard\: http\://localhost\:12434) provider.docker.setup.help=💡 Für die Nutzung von Docker AI muss es lokal ausgeführt werden.\n\n1. Stellen Sie sicher, dass Docker AI installiert ist und läuft\n2. Dienst starten\n3. Basis-URL bei Bedarf ändern # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=LocalAI Basis-URL provider.localai.setup.help=💡 Für die Nutzung von LocalAI müssen Sie es zuerst ausführen.\n\n1. LocalAI installieren und starten\n2. Basis-URL konfigurieren # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=LMStudio Basis-URL (Standard: http://localhost:1234) -provider.lmstudio.setup.help=💡 So verwenden Sie LMStudio:\n\n1. Installieren: https://lmstudio.ai/\n2. Lokalen Server starten\n3. Basis-URL bei Bedarf ändern +provider.lmstudio.baseurl.description=LMStudio Basis-URL (Standard\: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 So verwenden Sie LMStudio\:\n\n1. Installieren\: https\://lmstudio.ai/\n2. Lokalen Server starten\n3. Basis-URL bei Bedarf ändern provider.lmstudio.openai.compat.info=Askimo verwendet OpenAI-kompatible Endpunkte (/v1), nicht die native LMStudio-API (/api/v1/). # Provider Configuration - Open AI Compatible @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=Schneller für Endpunkte, die HTTP/ # System Resources system.share.feedback=Feedback teilen -system.ai.provider.tooltip=KI-Anbieter: {0}\nKlicken, um zu konfigurieren +system.ai.provider.tooltip=KI-Anbieter\: {0}\nKlicken, um zu konfigurieren system.diagnostics.title=Systemdiagnose system.diagnostics.resources=Ressourcen system.diagnostics.jvm.memory=JVM-Speicher (verwendet / gesamt) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=Telemetrie telemetry.export.csv=CSV exportieren telemetry.export.dialog.title=Telemetrie als ZIP exportieren telemetry.export.error.title=Export fehlgeschlagen -telemetry.export.error.message=Telemetriedaten konnten nicht exportiert werden: {0} +telemetry.export.error.message=Telemetriedaten konnten nicht exportiert werden\: {0} # Telemetry telemetry.reset=Telemetriedaten zurücksetzen @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=Professionelles Erscheinungsbild export.format.html.benefit.4=Einfach zu teilen # Error Messages -error.network=⚠️ Verbindung zum KI-Dienst{endpoint} konnte nicht hergestellt werden\n\nBitte überprüfen Sie:\n• Ihre Internetverbindung\n• Die URL des KI-Dienstes (Einstellungen prüfen)\n• Firewall-Einstellungen\n• Die Verfügbarkeit des Dienstes +error.network=⚠️ Verbindung zum KI-Dienst{endpoint} konnte nicht hergestellt werden\n\nBitte überprüfen Sie\:\n• Ihre Internetverbindung\n• Die URL des KI-Dienstes (Einstellungen prüfen)\n• Firewall-Einstellungen\n• Die Verfügbarkeit des Dienstes error.authentication=⚠️ API-Schlüssel ist ungültig oder fehlt{provider}\n\nBeheben Sie dies, indem Sie Ihren API-Schlüssel in den Einstellungen festlegen. -error.model_not_found=⚠️ Modell nicht gefunden: {model}\n\nDieses Modell wurde möglicherweise vom Anbieter veraltet oder entfernt. Bitte wählen Sie ein anderes Modell aus. -error.provider_not_configured=⚠️ Kein KI-Anbieter konfiguriert.\n\nUm zu chatten:\n1. Öffnen Sie die Einstellungen\n2. Wählen Sie einen KI-Anbieter (OpenAI, Ollama, Anthropic usw.)\n3. Geben Sie Ihren API-Schlüssel ein oder konfigurieren Sie die Verbindung +error.model_not_found=⚠️ Modell nicht gefunden\: {model}\n\nDieses Modell wurde möglicherweise vom Anbieter veraltet oder entfernt. Bitte wählen Sie ein anderes Modell aus. +error.provider_not_configured=⚠️ Kein KI-Anbieter konfiguriert.\n\nUm zu chatten\:\n1. Öffnen Sie die Einstellungen\n2. Wählen Sie einen KI-Anbieter (OpenAI, Ollama, Anthropic usw.)\n3. Geben Sie Ihren API-Schlüssel ein oder konfigurieren Sie die Verbindung error.rate_limit=⚠️ Ratenlimit überschritten\n{retryAfter}\n\nSie haben Ihr API-Nutzungslimit erreicht. Bitte warten Sie, bevor Sie weitere Nachrichten senden. error.insufficient_credits=⚠️ Unzureichendes Guthaben\n\nIhr Guthaben ist zu niedrig, um diesen KI-Anbieter zu nutzen.\n\nBitte gehen Sie zur Abrechnungsseite Ihres Anbieters. -error.timeout=⚠️ Anfrage nach {timeout} Sekunden abgelaufen\n\nMögliche Ursachen:\n• Hohe Serverlast – versuchen Sie es später erneut\n• Komplexe Anfrage – vereinfachen Sie Ihre Eingabe\n• Netzwerkverzögerungen -error.context_length=⚠️ Kontextfenster überschritten\n\nDie gesamte Eingabe (Konversationsverlauf + Ihre Nachricht + Anhänge) ist zu groß, als dass dieses Modell sie verarbeiten könnte.\n\nSo beheben Sie das Problem:\n• Starten Sie eine neue Chat-Sitzung, um den Konversationsverlauf zu löschen\n• Kürzen Sie Ihre Nachricht oder entfernen Sie große Anhänge\n• Wenn Sie ein lokales Modell verwenden (Ollama / LM Studio / Docker), erhöhen Sie die Kontextgröße in den Einstellungen\n• Wechseln Sie zu einem Modell mit einem größeren Kontextfenster -error.invalid_request=⚠️ Ungültige Anfrage: {details}\n\nBitte überprüfen Sie Ihre Eingabe und versuchen Sie es erneut. -error.local_server=⚠️ Fehler beim lokalen KI-Server!\n\nDer KI-Serverprozess ist abgestürzt oder konnte das Modell nicht laden. Dies wird nicht durch Askimo verursacht.\n\nMögliche Ursachen:\n• Die Modelldatei ist beschädigt oder unvollständig — versuchen Sie, sie erneut herunterzuladen\n• Nicht genug RAM/VRAM — versuchen Sie eine kleinere Quantisierung (z. B. Q4 statt Q8)\n• Nicht unterstütztes Modellformat für die aktuelle Serverversion\n• Der Serverprozess wurde vom Betriebssystem beendet (Out-of-Memory)\n\nWas zu tun ist:\n1. Überprüfen Sie die Logs Ihres lokalen KI-Servers\n2. Starten Sie den Server neu und versuchen Sie es erneut\n3. Laden Sie das Modell erneut herunter\n4. Versuchen Sie ein anderes Modell oder eine andere Quantisierungsstufe\n\nTechnische Details: {details} -error.empty_http_response=⚠️ Der Server hat die Verbindung ohne Antwort geschlossen!\n\nModell: {0}\n\nDies geschieht normalerweise, wenn ein lokaler KI-Anbieter die Anfrage stillschweigend verwirft, anstatt einen Fehler zurückzugeben. Das Kontextfenster des Modells ist zu klein für die aktuelle Anfrage.\n\nHäufige Ursachen:\n• Der Konversationsverlauf ist über mehrere Runden zu lang geworden\n• Aktivierte Tools fügen jeder Anfrage zusätzliche Daten hinzu — selbst eine kurze Frage bei mehreren aktiven Tools kann das Limit überschreiten\n• Große angehängte Dateien oder Code-Snippets haben die Anfrage über das Limit hinausgehen lassen\n\n{1}\n\nWeitere Lösungsvorschläge:\n• Starten Sie eine neue Konversation, um den Kontext zurückzusetzen\n• Deaktivieren Sie Tools, die für diese Aufgabe nicht benötigt werden\n• Reduzieren Sie die Größe Ihrer Nachricht oder der angehängten Dateien -error.empty_http_response.hint.docker=So erhöhen Sie das Kontextfenster in Docker AI / Docker Model Runner:\n• Übergeben Sie --context-size beim Starten des Modells (z. B. --context-size 32768)\n• Oder legen Sie es in der Modell-Konfiguration fest -error.empty_http_response.hint.ollama=So erhöhen Sie das Kontextfenster in Ollama:\n• Setzen Sie num_ctx in Ihrer Modelfile (z. B. PARAMETER num_ctx 32768)\n• Oder übergeben Sie es als Parameter: ollama run --num-ctx 32768 -error.empty_http_response.hint.lmstudio=So erhöhen Sie das Kontextfenster in LM Studio:\n• Öffnen Sie das Panel für Modelleinstellungen\n• Suchen Sie "Context Length" und erhöhen Sie den Wert (z. B. auf 32768 oder höher, bis zum Maximum des Modells)\n• Starten Sie den lokalen Server nach dem Ändern der Einstellung neu -error.empty_http_response.hint.localai=So erhöhen Sie das Kontextfenster in LocalAI:\n• Bearbeiten Sie die Modellkonfigurations-YAML und setzen Sie context_size: 32768\n• Starten Sie den LocalAI-Server nach dem Ändern der Einstellung neu -error.empty_http_response.hint.generic=So erhöhen Sie das Kontextfenster:\n• Überprüfen Sie die Einstellungen Ihres Anbieters auf eine Option für Kontextlänge / Kontextgröße und erhöhen Sie diese (z. B. auf 32768 Tokens)\n• Starten Sie den Anbieter nach dem Ändern der Einstellung neu -error.remote_server=⚠️ Fehler beim KI-Anbieter-Server\n\nDer Server des Anbieters hat einen vorübergehenden Fehler zurückgegeben (z. B. überlastet oder nicht verfügbar). Dies wird nicht durch Askimo verursacht.\n\nWas zu tun ist:\n• Warten Sie einen Moment und versuchen Sie es erneut — dies ist in der Regel kurzzeitig\n• Überprüfen Sie die Statusseite des Anbieters, wenn das Problem weiterhin besteht\n\nTechnische Details: {details} -error.system=⚠️ Systemfehler\n\nEin unerwarteter Fehler ist aufgetreten: {errorCode}\n\nBitte wenden Sie sich an den Askimo-Support mit:\n• Ihrer letzten Aktion\n• Dem obigen Fehlercode\n• Dem Zeitstempel +error.timeout=⚠️ Anfrage nach {timeout} Sekunden abgelaufen\n\nMögliche Ursachen\:\n• Hohe Serverlast – versuchen Sie es später erneut\n• Komplexe Anfrage – vereinfachen Sie Ihre Eingabe\n• Netzwerkverzögerungen +error.context_length=⚠️ Kontextfenster überschritten\n\nDie gesamte Eingabe (Konversationsverlauf + Ihre Nachricht + Anhänge) ist zu groß, als dass dieses Modell sie verarbeiten könnte.\n\nSo beheben Sie das Problem\:\n• Starten Sie eine neue Chat-Sitzung, um den Konversationsverlauf zu löschen\n• Kürzen Sie Ihre Nachricht oder entfernen Sie große Anhänge\n• Wenn Sie ein lokales Modell verwenden (Ollama / LM Studio / Docker), erhöhen Sie die Kontextgröße in den Einstellungen\n• Wechseln Sie zu einem Modell mit einem größeren Kontextfenster +error.invalid_request=⚠️ Ungültige Anfrage\: {details}\n\nBitte überprüfen Sie Ihre Eingabe und versuchen Sie es erneut. +error.local_server=⚠️ Fehler beim lokalen KI-Server\!\n\nDer KI-Serverprozess ist abgestürzt oder konnte das Modell nicht laden. Dies wird nicht durch Askimo verursacht.\n\nMögliche Ursachen\:\n• Die Modelldatei ist beschädigt oder unvollständig — versuchen Sie, sie erneut herunterzuladen\n• Nicht genug RAM/VRAM — versuchen Sie eine kleinere Quantisierung (z. B. Q4 statt Q8)\n• Nicht unterstütztes Modellformat für die aktuelle Serverversion\n• Der Serverprozess wurde vom Betriebssystem beendet (Out-of-Memory)\n\nWas zu tun ist\:\n1. Überprüfen Sie die Logs Ihres lokalen KI-Servers\n2. Starten Sie den Server neu und versuchen Sie es erneut\n3. Laden Sie das Modell erneut herunter\n4. Versuchen Sie ein anderes Modell oder eine andere Quantisierungsstufe\n\nTechnische Details\: {details} +error.empty_http_response=⚠️ Der Server hat die Verbindung ohne Antwort geschlossen\!\n\nModell\: {0}\n\nDies geschieht normalerweise, wenn ein lokaler KI-Anbieter die Anfrage stillschweigend verwirft, anstatt einen Fehler zurückzugeben. Das Kontextfenster des Modells ist zu klein für die aktuelle Anfrage.\n\nHäufige Ursachen\:\n• Der Konversationsverlauf ist über mehrere Runden zu lang geworden\n• Aktivierte Tools fügen jeder Anfrage zusätzliche Daten hinzu — selbst eine kurze Frage bei mehreren aktiven Tools kann das Limit überschreiten\n• Große angehängte Dateien oder Code-Snippets haben die Anfrage über das Limit hinausgehen lassen\n\n{1}\n\nWeitere Lösungsvorschläge\:\n• Starten Sie eine neue Konversation, um den Kontext zurückzusetzen\n• Deaktivieren Sie Tools, die für diese Aufgabe nicht benötigt werden\n• Reduzieren Sie die Größe Ihrer Nachricht oder der angehängten Dateien +error.empty_http_response.hint.docker=So erhöhen Sie das Kontextfenster in Docker AI / Docker Model Runner\:\n• Übergeben Sie --context-size beim Starten des Modells (z. B. --context-size 32768)\n• Oder legen Sie es in der Modell-Konfiguration fest +error.empty_http_response.hint.ollama=So erhöhen Sie das Kontextfenster in Ollama\:\n• Setzen Sie num_ctx in Ihrer Modelfile (z. B. PARAMETER num_ctx 32768)\n• Oder übergeben Sie es als Parameter\: ollama run --num-ctx 32768 +error.empty_http_response.hint.lmstudio=So erhöhen Sie das Kontextfenster in LM Studio\:\n• Öffnen Sie das Panel für Modelleinstellungen\n• Suchen Sie "Context Length" und erhöhen Sie den Wert (z. B. auf 32768 oder höher, bis zum Maximum des Modells)\n• Starten Sie den lokalen Server nach dem Ändern der Einstellung neu +error.empty_http_response.hint.localai=So erhöhen Sie das Kontextfenster in LocalAI\:\n• Bearbeiten Sie die Modellkonfigurations-YAML und setzen Sie context_size\: 32768\n• Starten Sie den LocalAI-Server nach dem Ändern der Einstellung neu +error.empty_http_response.hint.generic=So erhöhen Sie das Kontextfenster\:\n• Überprüfen Sie die Einstellungen Ihres Anbieters auf eine Option für Kontextlänge / Kontextgröße und erhöhen Sie diese (z. B. auf 32768 Tokens)\n• Starten Sie den Anbieter nach dem Ändern der Einstellung neu +error.remote_server=⚠️ Fehler beim KI-Anbieter-Server\n\nDer Server des Anbieters hat einen vorübergehenden Fehler zurückgegeben (z. B. überlastet oder nicht verfügbar). Dies wird nicht durch Askimo verursacht.\n\nWas zu tun ist\:\n• Warten Sie einen Moment und versuchen Sie es erneut — dies ist in der Regel kurzzeitig\n• Überprüfen Sie die Statusseite des Anbieters, wenn das Problem weiterhin besteht\n\nTechnische Details\: {details} +error.system=⚠️ Systemfehler\n\nEin unerwarteter Fehler ist aufgetreten\: {errorCode}\n\nBitte wenden Sie sich an den Askimo-Support mit\:\n• Ihrer letzten Aktion\n• Dem obigen Fehlercode\n• Dem Zeitstempel # Model Availability Errors error.model.not_available.title.chat=Modell nicht verfügbar @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=Einbettungsmodell nicht verfügbar error.model.not_available.message.chat=Das Modell ''{0}'' ist nicht verfügbar. error.model.not_available.message.embedding=Das Einbettungsmodell ''{0}'' ist in Ihrem lokalen Anbieter nicht verfügbar.\n\nGehen Sie zu Einstellungen → KI-Anbieter und wählen Sie ein verfügbares Einbettungsmodell in der Anbieterkonfigurationskarte aus. error.model.not_available.config_link=Einbettungsmodell konfigurieren -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=Ein unerwarteter Fehler ist aufgetreten: {0} +error.app.message=Ein unerwarteter Fehler ist aufgetreten\: {0} # Send Message Errors error.send_message.title=Nachricht konnte nicht gesendet werden @@ -1171,21 +1179,21 @@ error.indexing.unknown.message=Während der Indexierung ist ein unbekannter Fehl settings.rag.title=RAG-Konfiguration settings.rag.description=Konfiguration der Parameter für Retrieval-Augmented Generation zur projektbasierten Wissensabfrage settings.rag.vector.max.results=Maximale Ergebnisse der Vektorsuche -settings.rag.vector.max.results.hint=Maximale Anzahl von Dokumenten aus der Vektorsuche (Standard: 20) +settings.rag.vector.max.results.hint=Maximale Anzahl von Dokumenten aus der Vektorsuche (Standard\: 20) settings.rag.vector.min.score=Minimaler Score der Vektorsuche -settings.rag.vector.min.score.hint=Minimaler Ähnlichkeitswert 0,0–1,0 (Standard: 0,3) +settings.rag.vector.min.score.hint=Minimaler Ähnlichkeitswert 0,0–1,0 (Standard\: 0,3) settings.rag.hybrid.max.results=Maximale Hybrid-Ergebnisse -settings.rag.hybrid.max.results.hint=Endgültige Dokumentanzahl nach Fusion (Standard: 15) +settings.rag.hybrid.max.results.hint=Endgültige Dokumentanzahl nach Fusion (Standard\: 15) settings.rag.rank.fusion.constant=Rank-Fusion-Konstante -settings.rag.rank.fusion.constant.hint=RRF-Konstante für hybrides Ranking (Standard: 60) +settings.rag.rank.fusion.constant.hint=RRF-Konstante für hybrides Ranking (Standard\: 60) settings.rag.use.absolute.paths=Absolute Pfade in Zitaten verwenden settings.rag.use.absolute.paths.hint=Vollständige Dateipfade in KI-Antworten anzeigen, um bei mehreren Dateien mit demselben Namen mehr Klarheit zu schaffen settings.rag.embedding.title=Embedding-Konfiguration settings.rag.embedding.description=Konfigurieren Sie Parameter für Textsegmentierung und Embeddings settings.rag.embedding.max.chars.per.chunk=Maximale Zeichen pro Segment -settings.rag.embedding.max.chars.per.chunk.hint=Maximale Anzahl an Zeichen pro Textsegment (Standard: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=Maximale Anzahl an Zeichen pro Textsegment (Standard\: 1500) settings.rag.embedding.chunk.overlap=Segmentüberlappung -settings.rag.embedding.chunk.overlap.hint=Anzahl überlappender Zeichen zwischen Segmenten (Standard: 100) +settings.rag.embedding.chunk.overlap.hint=Anzahl überlappender Zeichen zwischen Segmenten (Standard\: 100) settings.rag.embedding.models=Embedding-Modelle nach Anbieter settings.rag.indexing.title=Indizierungskonfiguration settings.rag.indexing.description=Steuern Sie, welche Dateien indiziert werden und die maximal zulässige Dateigröße @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=Anzahl der Textsegmente, die pro settings.models.title=Modelle settings.models.description=Konfigurieren Sie das globale KI-Modellverhalten, das über alle Anbieter hinweg geteilt wird. settings.models.max.tool.calling.round.trips=Maximale Tool-Aufruf-Runden -settings.models.max.tool.calling.round.trips.hint=Maximale Anzahl an Tool-Aufrufen, die die KI in einer einzelnen Antwort durchführen kann (Standard: 10). Höhere Werte ermöglichen komplexere Agenten-Aufgaben, erhöhen jedoch Latenz und Kosten. +settings.models.max.tool.calling.round.trips.hint=Maximale Anzahl an Tool-Aufrufen, die die KI in einer einzelnen Antwort durchführen kann (Standard\: 10). Höhere Werte ermöglichen komplexere Agenten-Aufgaben, erhöhen jedoch Latenz und Kosten. # Memory Settings settings.memory.title=Speichereinstellungen @@ -1247,11 +1255,11 @@ file.viewer.title=Dateibetrachter file.viewer.title.with.name=Dateibetrachter – {0} file.viewer.dialog.close=Schließen file.viewer.copy.clipboard=In die Zwischenablage kopieren -file.viewer.copied=Kopiert! +file.viewer.copied=Kopiert\! # Mermaid Chart Renderer mermaid.setup.required.title=Mermaid-CLI erforderlich -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=Einrichtungsanleitung öffnen mermaid.rendering.progress=Diagramm wird gerendert... mermaid.error.rendering.title=Fehler beim Rendern des Diagramms @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=Vergrößern mermaid.button.zoom.out=Verkleinern mermaid.button.reset.zoom=Zoom zurücksetzen mermaid.button.retry=Erneut versuchen -mermaid.feedback.copied=Kopiert! +mermaid.feedback.copied=Kopiert\! mermaid.setup.button.install=Mermaid CLI installieren mermaid.setup.button.check.again=Erneut prüfen mermaid.setup.button.download.node=Node.js herunterladen mermaid.setup.installing=Mermaid CLI wird installiert... mermaid.setup.install.failed=Installation fehlgeschlagen. Details finden Sie in der Ausgabe unten. mermaid.setup.node.required=Node.js und npm wurden nicht gefunden. Installieren Sie zuerst Node.js, um die Ein-Klick-Installation zu aktivieren. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=Diagramm-Code anzeigen mermaid.error.code.hide=Diagramm-Code ausblenden @@ -1290,7 +1298,7 @@ mcp.instances.title=MCP-Instanzen mcp.instances.description=Diese MCP-Instanzen stehen zur Verfügung mcp.instances.empty=Keine MCP-Instanzen konfiguriert mcp.instances.count={0} Instanz(en) -mcp.instance.server.label=Server: {0} +mcp.instance.server.label=Server\: {0} mcp.instance.delete.confirm.title=MCP-Instanz löschen? mcp.instance.delete.confirm.message=Sind Sie sicher, dass Sie die mcp-Instanz "{0}" löschen möchten? Dies kann nicht rückgängig gemacht werden. mcp.instance.enable.tooltip=Diese MCP-Instanz aktivieren @@ -1316,7 +1324,7 @@ mcp.instance.field.description=Beschreibung mcp.instance.field.description.placeholder=Kurze Beschreibung, was dieser Server tut mcp.instance.field.transport=Transport-Typ mcp.instance.field.command=Befehlsvorlage -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=Leerzeichengetrennter Befehl mit {{parameter}}-Platzhaltern mcp.instance.validation.error.empty.id=Die Server-ID darf nicht leer sein mcp.instance.validation.error.invalid.id.pattern=Die Server-ID darf nur Kleinbuchstaben, Zahlen und Bindestriche enthalten @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=Die Befehlsvorlage darf nicht leer s mcp.instance.validation.error.empty.parameter.key=Der Parameter-Schlüssel darf nicht leer sein mcp.instance.validation.error.empty.parameter.label=Die Parameter-Bezeichnung darf nicht leer sein mcp.instance.env.label=Umgebungsvariablen (Optional) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=Format: SCHLÜSSEL=wert oder SCHLÜSSEL={{parameter}} (einer pro Zeile) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=Format\: SCHLÜSSEL\=wert oder SCHLÜSSEL\={{parameter}} (einer pro Zeile) mcp.instance.transport.stdio=Stdio (Lokaler Prozess) mcp.instance.transport.http=HTTP (Remotes Server) mcp.instance.http.url.label=URL-Vorlage -mcp.instance.http.url.placeholder=https://{{host}}/mcp oder https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp oder https\://api.example.com/mcp mcp.instance.http.url.hint=Der Endpunkt-URL des Servers. Verwenden Sie {{parameter}}-Platzhalter für dynamische Werte mcp.instance.http.headers.label=HTTP-Header (Optional) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=Format: Header-Name=wert oder Header-Name={{parameter}} (einer pro Zeile) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=Format\: Header-Name\=wert oder Header-Name\={{parameter}} (einer pro Zeile) mcp.instance.http.timeout.label=Timeout (ms) mcp.instance.http.timeout.hint=Anfrage-Timeout in Millisekunden mcp.instance.validation.error.empty.url=Die URL-Vorlage darf nicht leer sein -mcp.instance.validation.error.invalid.url=Die URL-Vorlage muss mit http:// oder https:// beginnen +mcp.instance.validation.error.invalid.url=Die URL-Vorlage muss mit http\:// oder https\:// beginnen # MCP Integrations (Project View) mcp.instance.delete.tooltip=MCP-Instanz löschen @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} von {1} Tool(s) mcp.tools.dialog.search.empty=Keine Tools stimmen mit Ihrer Suche überein mcp.tools.dialog.export=Tools exportieren mcp.tools.dialog.export.success=Tools nach {0} exportiert -mcp.tools.dialog.export.failed=Fehler beim Exportieren der Tools: {0} +mcp.tools.dialog.export.failed=Fehler beim Exportieren der Tools\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=MCP-Server hinzufügen @@ -1444,7 +1452,7 @@ file.viewer.close=Viewer schließen file.viewer.open.external=Extern öffnen file.viewer.binary=Binärdatei — Vorschau als Text nicht möglich. file.viewer.too.large=Datei ist zu groß für eine Vorschau ({0} KB). Das Maximum liegt bei 512 KB. -file.viewer.error=Datei konnte nicht gelesen werden: {0} +file.viewer.error=Datei konnte nicht gelesen werden\: {0} file.viewer.select.prompt=Wählen Sie eine Datei aus dem Baum oben aus, um ihren Inhalt als Vorschau anzuzeigen # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=Panel ausblenden # RAG Status rag.status.started=Indizierung gestartet -rag.status.inprogress=Indizierung: {0}% +rag.status.inprogress=Indizierung\: {0}% rag.status.inprogress.unknown=Indizierung... rag.status.queued=In Warteschlange — wartet darauf, dass ein anderes Projekt die Indizierung abschließt rag.status.ready=Bereit @@ -1469,7 +1477,7 @@ rag.status.not.indexed=Nicht indiziert # RAG Empty State rag.empty.title=Keine Wissensquellen -rag.empty.description=Fügen Sie Dateien oder Ordner hinzu,\um RAG für dieses Projekt zu aktivieren +rag.empty.description=Fügen Sie Dateien oder Ordner hinzu,\num RAG für dieses Projekt zu aktivieren rag.empty.button.add=Quellen hinzufügen # Plans @@ -1510,7 +1518,7 @@ plans.editor.label=YAML-Inhalt plans.editor.placeholder=Fügen Sie hier Ihr Plan-YAML ein oder geben Sie es ein... plans.editor.valid=Gültiges YAML plans.editor.hint.title=Referenz -plans.editor.hint.fields=Erforderlich: id, name, steps\nOptional: description, icon, inputs, workflow\nSchritttypen: text, multiline, toggle, number\nWorkflow-Typen: sequence, parallel, conditional +plans.editor.hint.fields=Erforderlich\: id, name, steps\nOptional\: description, icon, inputs, workflow\nSchritttypen\: text, multiline, toggle, number\nWorkflow-Typen\: sequence, parallel, conditional plans.editor.menu.edit=YAML bearbeiten plans.editor.ai.label=Mit KI generieren plans.editor.ai.placeholder=Beschreibe in einfachen Worten, was dieser Plan tun soll... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=Panel einklappen skills.view.panel.expand=Panel ausklappen skills.view.tab.skills=Fähigkeiten skills.view.tab.workspace=Arbeitsbereich -skills.view.last.run=Letzte Ausführung: {0} +skills.view.last.run=Letzte Ausführung\: {0} skills.view.category.uncategorized=Sonstige skills.view.search.placeholder=Fähigkeiten suchen ... skills.view.search.clear=Suche leeren skills.view.context.placeholder=Was möchtest du tun? (optional) -skills.view.command.mode.hint=Befehlsmodus: Eine Eingabe, die mit / beginnt, wird als Agenten-Befehl ausgeführt. +skills.view.command.mode.hint=Befehlsmodus\: Eine Eingabe, die mit / beginnt, wird als Agenten-Befehl ausgeführt. skills.view.system.prompt.preview=System-Prompt skills.view.response.title=Antwort skills.view.followup.label=Nachfrage @@ -1584,7 +1592,7 @@ skills.view.history.empty=Noch keine Ausführungen skills.view.copy=Kopieren skills.view.system.prompt.file=Datei skills.view.system.prompt.files=Dateien -skills.view.system.prompt.also.included=Ebenfalls im Agent-Kontext enthalten: +skills.view.system.prompt.also.included=Ebenfalls im Agent-Kontext enthalten\: skills.view.docs.tooltip=Fertigkeitsanleitung anzeigen skills.view.mode.agentic=Agentisch skills.view.mode.manual=Manuell @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=Was wir niemals sammeln onboarding.step.analytics.toggle.subtitle=Hilft uns, uns auf das Wichtigste zu konzentrieren · jederzeit änderbar unter Einstellungen → Erweitert # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 Willkommen bei Askimo! +onboarding.step.welcome.title=👋 Willkommen bei Askimo\! onboarding.step.welcome.description=Ihr persönlicher KI-Assistent. Chatten Sie mit mehreren KI-Modellen, organisieren Sie Wissen in Projekten und automatisieren Sie Abläufe mit Skills und Plänen. onboarding.step.welcome.feature1.title=💬 Mit KI chatten onboarding.step.welcome.feature1.description=Stellen Sie Fragen, lassen Sie sich bei Aufgaben helfen oder führen Sie ein Gespräch mit einem beliebigen KI-Modell. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=Benötigen Sie einen geduldigen onboarding.step.directives.link=Beispiele und Tipps ansehen # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 Sie sind fertig! +onboarding.step.ready.title=🚀 Sie sind fertig\! onboarding.step.ready.description=Alles ist eingerichtet und bereit. Starten Sie Ihren ersten Chat oder stöbern Sie in den untenstehenden Ressourcen. onboarding.step.ready.link.docs=📚 Dokumentation durchsuchen onboarding.step.ready.link.providers=🔧 KI-Anbieter konfigurieren @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ Uns auf GitHub favorisieren onboarding.step.persona.title=🎯 Was möchten Sie hauptsächlich tun? onboarding.step.persona.description=Wählen Sie die Option, die am ehesten Ihrer Arbeit entspricht. Askimo wird die relevantesten Funktionen anzeigen. Sie können dies jederzeit über das Menü „Ansicht“ ändern. onboarding.step.persona.developer.description=Code lesen und schreiben, Dateien refaktorieren, Gerüste generieren oder agentische Aufgaben in Ihrem lokalen Projekt ausführen. -onboarding.step.persona.developer.features=Aktiviert: Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=Aktiviert\: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=Themen recherchieren, Daten analysieren, strukturierte Berichte schreiben und wissensbasierte Antworten erhalten. -onboarding.step.persona.researcher.features=Aktiviert: Plans, Projects (RAG) +onboarding.step.persona.researcher.features=Aktiviert\: Plans, Projects (RAG) onboarding.step.persona.manager.description=E-Mails entwerfen, Besprechungsnotizen verarbeiten, Statusberichte schreiben oder mehrstufige Content-Workflows ausführen. -onboarding.step.persona.manager.features=Aktiviert: Plans +onboarding.step.persona.manager.features=Aktiviert\: Plans onboarding.step.persona.everything.description=Ich mache eine Mischung aus verschiedenen Dingen — zeigen Sie mir alle Funktionen und ich werde entscheiden, was ich verwende. -onboarding.step.persona.everything.features=Aktiviert: Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=Aktiviert\: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 Code schreiben und überprüfen From 1ffd18464ad46c998dd114e948221571b9625cd7 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:27 +0000 Subject: [PATCH 04/10] New translations messages.properties (Japanese) [ci skip] --- .../resources/i18n/messages_ja_JP.properties | 164 +++++++++--------- 1 file changed, 86 insertions(+), 78 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_ja_JP.properties b/desktop-shared/src/main/resources/i18n/messages_ja_JP.properties index 4b5d13894..9bf28badd 100644 --- a/desktop-shared/src/main/resources/i18n/messages_ja_JP.properties +++ b/desktop-shared/src/main/resources/i18n/messages_ja_JP.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Discord コミュニティに参加 menu.help.share.x=X / Twitter でシェア menu.help.share.linkedin=LinkedIn でシェア menu.help.share.facebook=Facebook でシェア -menu.help.share.text=Askimo をチェックアウト — Ollama、OpenAI、Anthropic などに対応した無料のローカル AI デスクトップクライアント。 https://askimo.chat +menu.help.share.text=Askimo をチェックアウト — Ollama、OpenAI、Anthropic などに対応した無料のローカル AI デスクトップクライアント。 https\://askimo.chat menu.help.share.hackernews=Hacker Newsに投稿 menu.eventlog=イベントログ menu.help.model.capabilities=モデル機能ファイルを開く @@ -87,7 +87,7 @@ eventlog.window.header=イベントログ eventlog.window.attach=メインウィンドウに再接続 eventlog.window.events.count={0} 件のイベント eventlog.window.empty.message=まだイベントはありません。発生するとここに表示されます。 -eventlog.footer.warning=最も古いエントリが削除されました (制限: {0}) +eventlog.footer.warning=最も古いエントリが削除されました (制限\: {0}) # Chat Interface chat.new=新しいチャット @@ -165,7 +165,7 @@ session.rename.error.empty=タイトルは必須です session.export.file.chooser.title=チャット履歴を保存 session.export.button.export=エクスポート session.export.success.title=エクスポート成功 -session.export.success.message=チャットセッションは次の場所に正常にエクスポートされました: +session.export.success.message=チャットセッションは次の場所に正常にエクスポートされました\: # Projects project.title=プロジェクト @@ -181,7 +181,7 @@ project.new.dialog.file.browse=処理するファイルを選択... project.new.dialog.sources.label=参考資料(任意) project.new.dialog.sources.add=ソースを追加 project.new.dialog.error.empty.name=プロジェクト名は空にできません -project.new.dialog.error.create.failed=プロジェクトの作成に失敗しました: {0} +project.new.dialog.error.create.failed=プロジェクトの作成に失敗しました\: {0} project.new.dialog.name.error.empty=プロジェクト名は空にできません project.new.dialog.button.create=プロジェクトを作成 project.new.dialog.button.cancel=キャンセル @@ -219,13 +219,16 @@ projects.sources.expand=参考資料を表示 projects.sources.collapse=参考資料を非表示 projects.sources.empty.title=参照資料がまだありません projects.sources.empty.description=ドキュメントを追加すると、Askimo が質問に回答する際に参照できるようになります -projects.sources.info.tooltip=参照資料は、Askimo があなた固有のコンテキストを理解するのに役立ちます。\n\n\ -質問に回答する際に Askimo が参照すべき情報を含むフォルダー、ファイル、または Web サイトを追加してください。\n\n\ -例:\n\ +projects.sources.info.tooltip=参照資料は、Askimo があなた固有のコンテキストを理解するのに役立ちます。\n\ +\n\ +質問に回答する際に Askimo が参照すべき情報を含むフォルダー、ファイル、または Web サイトを追加してください。\n\ +\n\ +例\:\n\ • プロジェクトのドキュメント\n\ • 会社のナレッジベース\n\ • 技術仕様書\n\ -• 研究論文\n\n\ +• 研究論文\n\ +\n\ Askimo はこれらの資料を検索し、より正確で文脈に沿った回答を提供します。 projects.sources.type.local_folders=ローカルフォルダー projects.sources.type.local_files=ローカルファイル @@ -253,7 +256,7 @@ project.menu.tooltip=プロジェクトメニュー project.new.chat.placeholder={0} で新しいチャット project.recent.chats=最近のチャット project.no.chats=まだチャットがありません。下から新しいチャットを開始してください! -project.indexing.label=知識ソースのインデックス化: {0} +project.indexing.label=知識ソースのインデックス化\: {0} project.indexing.queued=インデックス作成をキューに入れました - 他のプロジェクトの完了を待機中です... project.indexing.failed=インデックス作成に失敗しました。プロジェクトメニューから再インデックスをお試しください。 project.indexing.ready.label=インデックス済み @@ -272,7 +275,7 @@ settings.appearance=外観 settings.appearance.accent=アクセントカラー settings.appearance.accent.description=単一のアクセントカラーを安全にカスタマイズします。Askimo は主要な UI アクセントに適用し、読みやすさのために関連色を自動生成します。 settings.appearance.accent.label=アクセントカラー (Hex) -settings.appearance.accent.invalid=#0284C7 のような有効な16進カラーを入力してください +settings.appearance.accent.invalid=\#0284C7 のような有効な16進カラーを入力してください settings.appearance.accent.swatch.primary=プライマリ settings.appearance.accent.swatch.primary.container=コンテナ settings.appearance.accent.swatch.on.primary.container=コンテナ上 @@ -376,11 +379,11 @@ settings.log.viewer=ログファイル settings.log.viewer.description=アプリのログと診断を表示 settings.log.viewer.view=ログを見る settings.log.viewer.open_folder=ログフォルダを開く -settings.log.viewer.path=ログファイル: {0} +settings.log.viewer.path=ログファイル\: {0} settings.log.viewer.dialog.title=アプリケーションログ settings.log.viewer.refresh=再読み込み settings.log.viewer.copy=コピー -settings.log.viewer.copied=コピーしました! +settings.log.viewer.copied=コピーしました\! settings.log.viewer.loading=ログを読み込み中... settings.log.viewer.error=ログの読み込みに失敗 settings.log.viewer.empty=ログがありません @@ -434,7 +437,7 @@ settings.web_search.api_key=APIキー settings.web_search.api_key.placeholder=APIキーをここに貼り付けてください settings.web_search.get_api_key=無料のAPIキーを取得 ↗ settings.web_search.endpoint=SearxNGインスタンスURL -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=検索テスト settings.web_search.test.running=テスト中... settings.web_search.test.success=✅ 検索は正常に動作しています @@ -736,7 +739,7 @@ chat.attachment.remove=添付ファイルを削除 chat.attachment.preview.loading=プレビューを読み込み中… chat.attachment.preview.file.not.found=(ファイルが見つかりません) chat.attachment.preview.too.large=(ファイルが大きすぎてプレビューできません) -chat.attachment.preview.cannot.read=(ファイルを読み込めません: {0}) +chat.attachment.preview.cannot.read=(ファイルを読み込めません\: {0}) chat.attachment.preview.more.lines=さらに {0} 行 # Sessions View @@ -753,7 +756,7 @@ sessions.search.placeholder=タイトルで検索… sessions.search.empty="{0}" に一致するセッションはありません。 # Generic table pagination controls -table.page.size.label=1ページあたりの行数: +table.page.size.label=1ページあたりの行数\: table.page=ページ {0} / {1} table.page.previous=前のページ table.page.next=次のページ @@ -818,7 +821,7 @@ settings.ai.response.language=優先応答言語 settings.ai.response.language.description=AIに特定の言語で応答させる(空欄で自動検出) settings.ai.response.language.auto=自動検出 settings.ai.response.language.tooltip=AIは自動的に言語を検出しますが、以下の場合は上書きしてください:\n• 言語学習(実践的な練習)\n• 専門的な一貫性(例:コード文書は常に英語)\n• RAG最適化(ナレッジベースの言語に合わせる)\n• 教育(ある言語で質問し、別の言語で説明)\n• 不要な言語切り替えを防止 -settings.model.select={0} のモデル選択: +settings.model.select={0} のモデル選択\: settings.model.loading=モデル読み込み中... settings.model.none=使用可能なモデルなし settings.model.select.title=モデルを選択 @@ -835,7 +838,7 @@ settings.model.chat.filter.label=チャットモデル · {0}件表示 settings.model.chat.filter.show.all=すべての{0}を表示 settings.configure.title={0} 設定構成 settings.test.connection.testing=テスト中... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=プロバイダーに接続できませんでした。APIキーが正しいこと(クラウドプロバイダーの場合)、またはベースURLに到達可能であること(ローカルプロバイダーの場合)を確認してください。セットアップ手順については、上のヘルプリンクを使用してください。 # Directives Dialog @@ -847,10 +850,10 @@ directive.edit.content.label=内容 directive.edit.content.placeholder=ディレクティブ内容を入力... directive.edit.name.required=名前は必須です directive.edit.content.required=内容は必須です -directive.created=作成日: {0} +directive.created=作成日\: {0} directive.new.title=新しいディレクティブ directive.new.guidelines=ディレクティブは、AIがメッセージに応答する方法を指示します。トーン、詳細レベル、形式、または必要な特別な要件について具体的に指定してください。 -directive.new.name.placeholder=例: concise-code, explain-like-im-5 +directive.new.name.placeholder=例\: concise-code, explain-like-im-5 directive.new.content.placeholder=ディレクティブ内容を入力... directive.new.apply.current=現在のセッションに適用 directive.new.create=作成 @@ -862,8 +865,8 @@ directive.export.tooltip=すべてのディレクティブをJSONファイルに directive.export.filename=askimo-directives directive.import=インポート directive.import.tooltip=JSONファイルからディレクティブをインポートします -directive.import.result=インポート完了: {0}件をインポート、{1}件を名前変更、{2}件をスキップしました -directive.import.error=インポート失敗: 無効またはサポートされていないファイル形式です +directive.import.result=インポート完了\: {0}件をインポート、{1}件を名前変更、{2}件をスキップしました +directive.import.error=インポート失敗\: 無効またはサポートされていないファイル形式です # Log Levels log.level.error=エラー @@ -919,7 +922,7 @@ message.edited.indicator=(編集済み) message.date.today=今日 message.date.yesterday=昨日 message.token.usage={0} トークン · {1} 入力 / {2} 出力 -message.token.usage.tooltip=この応答で使用されたトークン。\n入力: AIに送信されたプロンプトとコンテキスト。\n出力: AIが生成した返信。 +message.token.usage.tooltip=この応答で使用されたトークン。\n入力\: AIに送信されたプロンプトとコンテキスト。\n出力\: AIが生成した返信。 # Bookmarks chat.bookmarks.button.tooltip=ブックマーク @@ -970,15 +973,20 @@ provider.template.get.apikey=APIキーを取得 → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Workers AI を使って、Cloudflare のグローバルエッジネットワークで AI モデルを実行。 -provider.template.cloudflare_ai.help=💡 Cloudflare AI の使い方:\n\n1. Cloudflare ダッシュボードでアカウント ID を確認\n2. ベース URL 内の {ACCOUNT_ID} をそれに置き換え\n3. 「Workers AI」権限を持つ API トークンを以下で作成:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Cloudflare AI の使い方\:\n\n1. Cloudflare ダッシュボードでアカウント ID を確認\n2. ベース URL 内の {ACCOUNT_ID} をそれに置き換え\n3. 「Workers AI」権限を持つ API トークンを以下で作成\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=オープンソースモデル向けの超高速推論 — Llama、Mixtral、Gemma など。 -provider.template.groq.help=💡 Groq の使い方:\n\n1. console.groq.com/keys で無料の API キーを取得\n2. モデル名を入力(例: llama-3.1-8b-instant)\n3. 「次へ」をクリックして利用可能なモデルを閲覧 +provider.template.groq.help=💡 Groq の使い方\:\n\n1. console.groq.com/keys で無料の API キーを取得\n2. モデル名を入力(例\: llama-3.1-8b-instant)\n3. 「次へ」をクリックして利用可能なモデルを閲覧 provider.template.nvidia_nim.tagline=NVIDIA のクラウド GPU インフラで最適化された AI モデルを実行。 -provider.template.nvidia_nim.help=💡 NVIDIA NIM の使い方:\n\n1. build.nvidia.com で API キーを取得\n2. モデル名を入力(例: meta/llama-3.1-8b-instruct)\n3. 「次へ」をクリックして利用可能なモデルを閲覧 +provider.template.nvidia_nim.help=💡 NVIDIA NIM の使い方\:\n\n1. build.nvidia.com で API キーを取得\n2. モデル名を入力(例\: meta/llama-3.1-8b-instruct)\n3. 「次へ」をクリックして利用可能なモデルを閲覧 provider.template.openrouter.tagline=300 以上のモデルにアクセス — GPT、Claude、Llama、Gemini、Mistral などを 1 つの API で。 -provider.template.openrouter.help=💡 OpenRouter の使い方:\n\n1. openrouter.ai/keys で無料の API キーを取得\n2. 「次へ」をクリックして 300 以上の利用可能なモデルを閲覧\n3. 多くのモデルに無料プランあり — クレジットカード不要 +provider.template.openrouter.help=💡 OpenRouter の使い方\:\n\n1. openrouter.ai/keys で無料の API キーを取得\n2. 「次へ」をクリックして 300 以上の利用可能なモデルを閲覧\n3. 多くのモデルに無料プランあり — クレジットカード不要 provider.template.together_ai.tagline=100 以上のオープンソースモデル向けの高速で手頃な推論。 -provider.template.together_ai.help=💡 Together AI の使い方:\n\n1. api.together.ai/settings/api-keys で API キーを取得\n2. 「次へ」をクリックして利用可能なモデルを閲覧\n (例: meta-llama/Llama-3-8b-chat-hf) +provider.template.together_ai.help=💡 Together AI の使い方\:\n\n1. api.together.ai/settings/api-keys で API キーを取得\n2. 「次へ」をクリックして利用可能なモデルを閲覧\n (例\: meta-llama/Llama-3-8b-chat-hf) +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -988,14 +996,14 @@ provider.model.panel.select.hint=左側のプロバイダーを選択してモ provider.model.panel.model.count={0} モデル provider.model.default.badge=デフォルト provider.instance.name.label=インスタンス名 -provider.instance.name.placeholder=例: "Work OpenAI", "ollama-macbook" +provider.instance.name.placeholder=例\: "Work OpenAI", "ollama-macbook" provider.instance.name.duplicate="{0}" という名前のプロバイダーはすでに存在します provider.setup.required.title=AIプロバイダーのセットアップ provider.setup.required.message=チャットを開始する前に、AIプロバイダーをセットアップする必要があります。リストからプロバイダーを選択し、設定を行ってください。 provider.setup.required.button=プロバイダーをセットアップ provider.setup.required.skip=後で設定する provider.setup.empty.state.button=プロバイダーを追加 -provider.configure.prompt=プロバイダーの設定: +provider.configure.prompt=プロバイダーの設定\: provider.setup.guide={0} のセットアップ方法 provider.apikey.stored=APIキーは安全に保存されています provider.apikey.enter=APIキーを入力 @@ -1004,14 +1012,14 @@ provider.apikey.security.link=データの保護方法について詳しくは provider.not.set=未設定 # Provider Configuration - OpenAI -provider.openai.apikey.description=OpenAI API キー: https://platform.openai.com/account/api-keys +provider.openai.apikey.description=OpenAI API キー\: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=API キーは既に保存されています。空欄のままにすると現在のキーが維持されます。 -provider.openai.setup.help=💡 OpenAI を使うには API キーが必要です。\n\n1. https://platform.openai.com/account/api-keys で取得\n2. 設定で追加するか :change-settings を使用 +provider.openai.setup.help=💡 OpenAI を使うには API キーが必要です。\n\n1. https\://platform.openai.com/account/api-keys で取得\n2. 設定で追加するか \:change-settings を使用 # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Anthropic API キー: https://console.anthropic.com/ +provider.anthropic.apikey.description=Anthropic API キー\: https\://console.anthropic.com/ provider.anthropic.apikey.stored=API キーは既に保存されています。 -provider.anthropic.setup.help=💡 Anthropic を使うには API キーが必要です。\n\n1. https://console.anthropic.com/ で取得\n2. 設定で構成するか :change-settings を使用 +provider.anthropic.setup.help=💡 Anthropic を使うには API キーが必要です。\n\n1. https\://console.anthropic.com/ で取得\n2. 設定で構成するか \:change-settings を使用 provider.anthropic.max_tokens.label=最大トークン数 provider.anthropic.max_tokens.description=モデルが応答ごとに生成できる最大トークン数(思考 + 回答の合計)。 provider.anthropic.thinking_budget_tokens.label=思考予算トークン数 @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=思考時最大トークン数 provider.anthropic.thinking_max_tokens.description=思考がアクティブな時の合計トークン上限(思考 + 回答)。0に設定すると、代わりに「Max Tokens」が使用されます。 # Provider Configuration - Gemini -provider.gemini.apikey.description=Google AI Studio API キー: https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Google AI Studio API キー\: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API キーは既に保存されています。 -provider.gemini.setup.help=💡 Gemini を使用するには API キーが必要です。\n\n1. https://aistudio.google.com/app/apikey で取得\n2. 設定または :change-settings で構成 +provider.gemini.setup.help=💡 Gemini を使用するには API キーが必要です。\n\n1. https\://aistudio.google.com/app/apikey で取得\n2. 設定または \:change-settings で構成 # Provider Configuration - XAI -provider.xai.apikey.description=XAI API キー: https://console.x.ai/ +provider.xai.apikey.description=XAI API キー\: https\://console.x.ai/ provider.xai.apikey.stored=API キーは既に保存されています。 -provider.xai.setup.help=💡 XAI を使用するには API キーが必要です。\n\n1. https://console.x.ai/ で取得\n2. 設定または :change-settings で構成 +provider.xai.setup.help=💡 XAI を使用するには API キーが必要です。\n\n1. https\://console.x.ai/ で取得\n2. 設定または \:change-settings で構成 # Provider Configuration - Ollama -provider.ollama.baseurl.description=Ollama ベース URL (デフォルト: http://localhost:11434) -provider.ollama.setup.help=💡 Ollama を使用するにはローカルで実行する必要があります。\n\n1. https://ollama.ai/ からインストール\n2. サービスを開始\n3. 必要に応じてベース URL を変更 +provider.ollama.baseurl.description=Ollama ベース URL (デフォルト\: http\://localhost\:11434) +provider.ollama.setup.help=💡 Ollama を使用するにはローカルで実行する必要があります。\n\n1. https\://ollama.ai/ からインストール\n2. サービスを開始\n3. 必要に応じてベース URL を変更 # Provider Configuration - Docker AI -provider.docker.baseurl.description=Docker AI ベース URL (デフォルト: http://localhost:12434) +provider.docker.baseurl.description=Docker AI ベース URL (デフォルト\: http\://localhost\:12434) provider.docker.setup.help=💡 Docker AI を使用するにはローカルで実行する必要があります。\n\n1. Docker AI がインストールされ実行されていることを確認\n2. サービスを開始\n3. 必要に応じてベース URL を変更 # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=LocalAI ベース URL provider.localai.setup.help=💡 LocalAI を使用するには先に実行してください。\n\n1. LocalAI をインストールして起動\n2. 利用可能なベース URL を構成 # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=LMStudio ベース URL (デフォルト: http://localhost:1234) -provider.lmstudio.setup.help=💡 LMStudio の利用方法:\n\n1. https://lmstudio.ai/ でインストール\n2. ローカルサーバーを起動\n3. 必要に応じてベース URL を変更 +provider.lmstudio.baseurl.description=LMStudio ベース URL (デフォルト\: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 LMStudio の利用方法\:\n\n1. https\://lmstudio.ai/ でインストール\n2. ローカルサーバーを起動\n3. 必要に応じてベース URL を変更 provider.lmstudio.openai.compat.info=Askimo はネイティブ LMStudio API(/api/v1/)ではなく、OpenAI 互換エンドポイント(/v1)を使用します。 # Provider Configuration - Open AI Compatible @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=テレメトリ telemetry.export.csv=CSV エクスポート telemetry.export.dialog.title=テレメトリを ZIP としてエクスポート telemetry.export.error.title=エクスポート失敗 -telemetry.export.error.message=テレメトリデータのエクスポートに失敗しました: {0} +telemetry.export.error.message=テレメトリデータのエクスポートに失敗しました\: {0} # Telemetry telemetry.reset=テレメトリデータをリセット @@ -1133,12 +1141,12 @@ error.timeout=⚠️ {timeout} 秒後にリクエストがタイムアウトし error.context_length=⚠️ コンテキストウィンドウの制限を超えました\n\n入力の合計(会話履歴 + あなたのメッセージ + 添付ファイル)が大きすぎて、このモデルでは処理できません。\n\n解決するには:\n• 新しいチャットセッションを開始して会話履歴をクリアしてください\n• メッセージを短くするか、大きな添付ファイルを削除してください\n• ローカルモデル(Ollama / LM Studio / Docker)を使用している場合は、設定でコンテキストサイズを増やしてください\n• より大きなコンテキストウィンドウを持つモデルに切り替えてください error.invalid_request=⚠️ 無効なリクエスト:{details}\n\n入力内容を確認して、もう一度お試しください。 error.local_server=⚠️ ローカルAIサーバーエラー!\n\nAIサーバープロセスがクラッシュするか、モデルの読み込みに失敗しました。これはAskimoが原因ではありません。\n\n考えられる原因:\n• モデルファイルが破損または不完全 — 再ダウンロードをお試しください\n• RAM/VRAMが不足 — より小さい量子化(例:Q8ではなくQ4)をお試しください\n• 現在のサーバーバージョンでサポートされていないモデル形式\n• サーバープロセスがOSによって強制終了された(メモリ不足)\n\n対処方法:\n1. ローカルAIサーバーのログを確認してください\n2. サーバーを再起動して再試行してください\n3. モデルを再ダウンロードしてください\n4. 別のモデルまたは量子化レベルをお試しください\n\n技術的詳細:{details} -error.empty_http_response=⚠️ サーバーが応答なしに接続を閉じました!\n\nモデル: {0}\n\nこれは通常、ローカルAIプロバイダーがエラーを返す代わりにリクエストを黙って破棄した場合に発生します。モデルのコンテキストウィンドウが現在のリクエストに対して小さすぎます。\n\n一般的な原因:\n• 会話履歴が何度もやり取りするうちに長くなりすぎた\n• 有効なツールがリクエストごとにデータを追加している(ツールを複数有効にすると、短い質問でも制限を超える可能性がある)\n• 添付ファイルやコードスニペットが大きく、リクエストが制限を超えた\n\n{1}\n\nその他の対処法:\n• 新しい会話を開始してコンテキストをリセットする\n• このタスクに不要なツールを無効にする\n• メッセージや添付ファイルのサイズを小さくする -error.empty_http_response.hint.docker=Docker AI / Docker Model Runnerでコンテキストウィンドウを増やす方法:\n• モデル起動時に --context-size <値> を渡す (例: --context-size 32768)\n• または、モデルの実行設定で指定する -error.empty_http_response.hint.ollama=Ollamaでコンテキストウィンドウを増やす方法:\n• Modelfile内で num_ctx を設定する (例: PARAMETER num_ctx 32768)\n• または、パラメーターとして渡す: ollama run <モデル> --num-ctx 32768 -error.empty_http_response.hint.lmstudio=LM Studioでコンテキストウィンドウを増やす方法:\n• モデル設定パネルを開く\n• "Context Length" を見つけて値を増やす (例: 32768以上、モデルの最大値まで)\n• 設定変更後、ローカルサーバーを再起動する -error.empty_http_response.hint.localai=LocalAIでコンテキストウィンドウを増やす方法:\n• モデル設定のYAMLを編集し、 context_size: 32768 を設定する\n• 設定変更後、LocalAIサーバーを再起動する -error.empty_http_response.hint.generic=コンテキストウィンドウを増やす方法:\n• プロバイダーの設定でコンテキストの長さ/コンテキストサイズを確認し、値を増やす (例: 32768トークン)\n• 設定変更後、プロバイダーを再起動する +error.empty_http_response=⚠️ サーバーが応答なしに接続を閉じました!\n\nモデル\: {0}\n\nこれは通常、ローカルAIプロバイダーがエラーを返す代わりにリクエストを黙って破棄した場合に発生します。モデルのコンテキストウィンドウが現在のリクエストに対して小さすぎます。\n\n一般的な原因\:\n• 会話履歴が何度もやり取りするうちに長くなりすぎた\n• 有効なツールがリクエストごとにデータを追加している(ツールを複数有効にすると、短い質問でも制限を超える可能性がある)\n• 添付ファイルやコードスニペットが大きく、リクエストが制限を超えた\n\n{1}\n\nその他の対処法\:\n• 新しい会話を開始してコンテキストをリセットする\n• このタスクに不要なツールを無効にする\n• メッセージや添付ファイルのサイズを小さくする +error.empty_http_response.hint.docker=Docker AI / Docker Model Runnerでコンテキストウィンドウを増やす方法\:\n• モデル起動時に --context-size <値> を渡す (例\: --context-size 32768)\n• または、モデルの実行設定で指定する +error.empty_http_response.hint.ollama=Ollamaでコンテキストウィンドウを増やす方法\:\n• Modelfile内で num_ctx を設定する (例\: PARAMETER num_ctx 32768)\n• または、パラメーターとして渡す\: ollama run <モデル> --num-ctx 32768 +error.empty_http_response.hint.lmstudio=LM Studioでコンテキストウィンドウを増やす方法\:\n• モデル設定パネルを開く\n• "Context Length" を見つけて値を増やす (例\: 32768以上、モデルの最大値まで)\n• 設定変更後、ローカルサーバーを再起動する +error.empty_http_response.hint.localai=LocalAIでコンテキストウィンドウを増やす方法\:\n• モデル設定のYAMLを編集し、 context_size\: 32768 を設定する\n• 設定変更後、LocalAIサーバーを再起動する +error.empty_http_response.hint.generic=コンテキストウィンドウを増やす方法\:\n• プロバイダーの設定でコンテキストの長さ/コンテキストサイズを確認し、値を増やす (例\: 32768トークン)\n• 設定変更後、プロバイダーを再起動する error.remote_server=⚠️ AIプロバイダーサーバーエラー\n\nプロバイダーのサーバーが一時的なエラーを返しました(例:過負荷または利用不可)。これはAskimoが原因ではありません。\n\n対処方法:\n• しばらく待ってから再試行してください — 通常は短時間で解消されます\n• 問題が続く場合はプロバイダーのステータスページをご確認ください\n\n技術的詳細:{details} error.system=⚠️ システムエラー\n\n予期しないエラーが発生しました:{errorCode}\n\nAskimo サポートへ次を添えてご連絡ください:\n• 実行していた操作\n• 上記のエラーコード\n• タイムスタンプ @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=埋め込みモデルを利用でき error.model.not_available.message.chat=モデル ''{0}'' は利用できません。 error.model.not_available.message.embedding=埋め込みモデル ''{0}'' はローカルプロバイダーで利用できません。\n\n設定 → AIプロバイダー に移動し、プロバイダー設定カードから利用可能な埋め込みモデルを選択してください。 error.model.not_available.config_link=埋め込みモデルを設定 -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=予期しないエラーが発生しました: {0} +error.app.message=予期しないエラーが発生しました\: {0} # Send Message Errors error.send_message.title=メッセージの送信に失敗しました @@ -1171,32 +1179,32 @@ error.indexing.unknown.message=インデックス作成中に不明なエラー settings.rag.title=RAG 設定 settings.rag.description=プロジェクトベースの知識検索のための Retrieval-Augmented Generation パラメータを設定します settings.rag.vector.max.results=ベクトル検索の最大結果数 -settings.rag.vector.max.results.hint=ベクトル検索から取得する最大ドキュメント数(デフォルト: 20) +settings.rag.vector.max.results.hint=ベクトル検索から取得する最大ドキュメント数(デフォルト\: 20) settings.rag.vector.min.score=ベクトル検索の最小スコア -settings.rag.vector.min.score.hint=最小類似度スコア 0.0~1.0(デフォルト: 0.3) +settings.rag.vector.min.score.hint=最小類似度スコア 0.0~1.0(デフォルト\: 0.3) settings.rag.hybrid.max.results=ハイブリッド最大結果数 -settings.rag.hybrid.max.results.hint=融合後の最終ドキュメント数(デフォルト: 15) +settings.rag.hybrid.max.results.hint=融合後の最終ドキュメント数(デフォルト\: 15) settings.rag.rank.fusion.constant=ランキング融合定数 -settings.rag.rank.fusion.constant.hint=ハイブリッドランキング用の RRF 定数(デフォルト: 60) +settings.rag.rank.fusion.constant.hint=ハイブリッドランキング用の RRF 定数(デフォルト\: 60) settings.rag.use.absolute.paths=引用で絶対パスを使用 settings.rag.use.absolute.paths.hint=同じ名前のファイルが複数ある場合に分かりやすくするため、AIの回答に完全なファイルパスを表示します settings.rag.embedding.title=埋め込み設定 settings.rag.embedding.description=テキスト分割および埋め込みのパラメータを設定します settings.rag.embedding.max.chars.per.chunk=チャンクあたりの最大文字数 -settings.rag.embedding.max.chars.per.chunk.hint=各テキストチャンクの最大文字数(デフォルト: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=各テキストチャンクの最大文字数(デフォルト\: 1500) settings.rag.embedding.chunk.overlap=チャンクの重なり -settings.rag.embedding.chunk.overlap.hint=チャンク間で重複する文字数(デフォルト: 100) +settings.rag.embedding.chunk.overlap.hint=チャンク間で重複する文字数(デフォルト\: 100) settings.rag.embedding.models=プロバイダー別の埋め込みモデル settings.rag.indexing.title=インデックス設定 settings.rag.indexing.description=インデックス対象のファイルと許可される最大ファイルサイズを設定します settings.rag.indexing.max.file.bytes=最大ファイルサイズ(バイト) settings.rag.indexing.max.file.bytes.hint=この値より大きいファイルはインデックス作成時にスキップされます。値を高く設定しすぎると、インデックス作成が大幅に遅くなる場合があります。 settings.rag.indexing.supported.extensions=対応する拡張子 -settings.rag.indexing.supported.extensions.hint=インデックスするファイル拡張子をカンマ区切りで指定します(例: kt, java, py, md)。空欄にするとビルトインのデフォルトを使用します。 +settings.rag.indexing.supported.extensions.hint=インデックスするファイル拡張子をカンマ区切りで指定します(例\: kt, java, py, md)。空欄にするとビルトインのデフォルトを使用します。 settings.rag.indexing.exclude.file.names=除外するファイル名 -settings.rag.indexing.exclude.file.names.hint=常にスキップするファイル名をカンマ区切りで指定します(例: package-lock.json, yarn.lock)。 +settings.rag.indexing.exclude.file.names.hint=常にスキップするファイル名をカンマ区切りで指定します(例\: package-lock.json, yarn.lock)。 settings.rag.indexing.binary.extensions=バイナリ拡張子 -settings.rag.indexing.binary.extensions.hint=インデックス中にバイナリとして扱いスキップするファイル拡張子をカンマ区切りで指定します(例: png, jpg, zip, exe)。空欄にするとビルトインのデフォルトを使用します。 +settings.rag.indexing.binary.extensions.hint=インデックス中にバイナリとして扱いスキップするファイル拡張子をカンマ区切りで指定します(例\: png, jpg, zip, exe)。空欄にするとビルトインのデフォルトを使用します。 settings.rag.indexing.embedding.batch.size=埋め込みバッチサイズ settings.rag.indexing.embedding.batch.size.hint=1回のリクエストで埋め込みモデルに送信するテキストセグメント数です。リモートプロバイダー(OpenAI、Gemini)を使用していてインデックスが遅い場合は、100〜500に増やすことを検討してください。ローカルモデル(Ollama、LM Studio)の場合はタイムアウトを避けるために低く保ってください。 @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=1回のリクエストで埋め settings.models.title=モデル settings.models.description=すべてのプロバイダーで共有されるグローバル AI モデルの動作を設定します。 settings.models.max.tool.calling.round.trips=最大ツール呼び出しラウンドトリップ数 -settings.models.max.tool.calling.round.trips.hint=AI が 1 回の応答で実行できるツール呼び出しの最大回数です(デフォルト: 10)。値を大きくするほど複雑なエージェントタスクが可能になりますが、レイテンシとコストが増加します。 +settings.models.max.tool.calling.round.trips.hint=AI が 1 回の応答で実行できるツール呼び出しの最大回数です(デフォルト\: 10)。値を大きくするほど複雑なエージェントタスクが可能になりますが、レイテンシとコストが増加します。 # Memory Settings settings.memory.title=メモリ設定 @@ -1251,7 +1259,7 @@ file.viewer.copied=コピーしました! # Mermaid Chart Renderer mermaid.setup.required.title=Mermaid CLI が必要です -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=セットアップガイドを開く mermaid.rendering.progress=図をレンダリング中... mermaid.error.rendering.title=図のレンダリングエラー @@ -1271,7 +1279,7 @@ mermaid.setup.button.download.node=Node.js をダウンロード mermaid.setup.installing=Mermaid CLI をインストールしています... mermaid.setup.install.failed=インストールに失敗しました。詳細は以下の出力を確認してください。 mermaid.setup.node.required=Node.js と npm が見つかりませんでした。ワンクリックインストールを有効にするには、先に Node.js をインストールしてください。 -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=ダイアグラムコードを表示 mermaid.error.code.hide=ダイアグラムコードを非表示 @@ -1290,7 +1298,7 @@ mcp.instances.title=MCP インスタンス mcp.instances.description=これらの MCP インスタンスが利用可能です mcp.instances.empty=設定された MCP インスタンスはありません mcp.instances.count={0} インスタンス -mcp.instance.server.label=サーバー: {0} +mcp.instance.server.label=サーバー\: {0} mcp.instance.delete.confirm.title=MCP インスタンスを削除しますか? mcp.instance.delete.confirm.message=MCP インスタンス「{0}」を削除してもよろしいですか?この操作は元に戻せません。 mcp.instance.enable.tooltip=この MCP インスタンスを有効にする @@ -1316,7 +1324,7 @@ mcp.instance.field.description=説明 mcp.instance.field.description.placeholder=このサーバーが何をするかの簡単な説明 mcp.instance.field.transport=トランスポートタイプ mcp.instance.field.command=コマンドテンプレート -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint={{parameter}} プレースホルダーを含むスペース区切りコマンド mcp.instance.validation.error.empty.id=サーバーIDは空にできません mcp.instance.validation.error.invalid.id.pattern=サーバーIDは小文字のアルファベット、数字、ハイフンのみを含む必要があります @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=コマンドテンプレートは空 mcp.instance.validation.error.empty.parameter.key=パラメータキーは空にできません mcp.instance.validation.error.empty.parameter.label=パラメータラベルは空にできません mcp.instance.env.label=環境変数 (オプション) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=書式: キー=値 または キー={{parameter}} (1行に1組) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=書式\: キー\=値 または キー\={{parameter}} (1行に1組) mcp.instance.transport.stdio=Stdio (ローカルプロセス) mcp.instance.transport.http=HTTP (リモートサーバー) mcp.instance.http.url.label=URLテンプレート -mcp.instance.http.url.placeholder=https://{{host}}/mcp または https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp または https\://api.example.com/mcp mcp.instance.http.url.hint=サーバーエンドポイントURL。動的な値には {{parameter}} プレースホルダーを使用します mcp.instance.http.headers.label=HTTPヘッダー (オプション) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=書式: ヘッダー名=値 または ヘッダー名={{parameter}} (1行に1組) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=書式\: ヘッダー名\=値 または ヘッダー名\={{parameter}} (1行に1組) mcp.instance.http.timeout.label=タイムアウト (ms) mcp.instance.http.timeout.hint=ミリ秒単位のリクエストタイムアウト mcp.instance.validation.error.empty.url=URLテンプレートは空にできません -mcp.instance.validation.error.invalid.url=URLテンプレートはhttp://またはhttps://で始める必要があります +mcp.instance.validation.error.invalid.url=URLテンプレートはhttp\://またはhttps\://で始める必要があります # MCP Integrations (Project View) mcp.instance.delete.tooltip=MCP インスタンスを削除 @@ -1349,7 +1357,7 @@ mcp.instance.field.serverId=サーバータイプ # Add MCP Integration Dialog mcp.instance.name=MCP 名 -mcp.instance.name.placeholder=例: 本番データベース、プロジェクトファイル +mcp.instance.name.placeholder=例\: 本番データベース、プロジェクトファイル mcp.instance.tools.title=利用可能なツール mcp.instance.tools.count={0} ツールが利用可能です mcp.instance.tool.strategy.intent=意図ベース @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} / {1} ツール mcp.tools.dialog.search.empty=検索に一致するツールはありません mcp.tools.dialog.export=ツールのエクスポート mcp.tools.dialog.export.success={0} にツールをエクスポートしました -mcp.tools.dialog.export.failed=ツールのエクスポートに失敗しました: {0} +mcp.tools.dialog.export.failed=ツールのエクスポートに失敗しました\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=MCPサーバーを追加 @@ -1444,7 +1452,7 @@ file.viewer.close=ビューアーを閉じる file.viewer.open.external=外部で開く file.viewer.binary=バイナリファイル — テキストとしてプレビューできません。 file.viewer.too.large=ファイルが大きすぎてプレビューできません({0} KB)。最大サイズは 512 KB です。 -file.viewer.error=ファイルを読み込めませんでした: {0} +file.viewer.error=ファイルを読み込めませんでした\: {0} file.viewer.select.prompt=上のツリーからファイルを選択して内容をプレビューします # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=パネルを折りたたむ # RAG Status rag.status.started=インデックス作成を開始しました -rag.status.inprogress=インデックス作成中: {0}% +rag.status.inprogress=インデックス作成中\: {0}% rag.status.inprogress.unknown=インデックス作成中... rag.status.queued=キュー済み — 他のプロジェクトのインデックス作成が完了するのを待機中 rag.status.ready=準備完了 @@ -1510,7 +1518,7 @@ plans.editor.label=YAML コンテンツ plans.editor.placeholder=ここにプランの YAML を貼り付けるか入力してください... plans.editor.valid=有効な YAML plans.editor.hint.title=リファレンス -plans.editor.hint.fields=必須: id, name, steps\n任意: description, icon, inputs, workflow\nステップタイプ: text, multiline, toggle, number\nワークフロータイプ: sequence, parallel, conditional +plans.editor.hint.fields=必須\: id, name, steps\n任意\: description, icon, inputs, workflow\nステップタイプ\: text, multiline, toggle, number\nワークフロータイプ\: sequence, parallel, conditional plans.editor.menu.edit=YAML を編集 plans.editor.ai.label=AIで生成 plans.editor.ai.placeholder=このプランにさせたいことをわかりやすい言葉で説明してください... @@ -1569,7 +1577,7 @@ skills.view.panel.collapse=パネルを閉じる skills.view.panel.expand=パネルを開く skills.view.tab.skills=スキル skills.view.tab.workspace=ワークスペース -skills.view.last.run=最後の実行: {0} +skills.view.last.run=最後の実行\: {0} skills.view.category.uncategorized=その他 skills.view.search.placeholder=スキルを検索 ... skills.view.search.clear=検索をクリア @@ -1584,7 +1592,7 @@ skills.view.history.empty=まだ実行履歴がありません skills.view.copy=コピー skills.view.system.prompt.file=ファイル skills.view.system.prompt.files=ファイル -skills.view.system.prompt.also.included=エージェントコンテキストにも含まれています: +skills.view.system.prompt.also.included=エージェントコンテキストにも含まれています\: skills.view.docs.tooltip=スキルガイドを表示 skills.view.mode.agentic=エージェント型 skills.view.mode.manual=手動 From 105f7f567d9cef0339476de55f3662720cc12607 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:28 +0000 Subject: [PATCH 05/10] New translations messages.properties (Korean) [ci skip] --- .../resources/i18n/messages_ko_KR.properties | 260 +++++++++--------- 1 file changed, 134 insertions(+), 126 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_ko_KR.properties b/desktop-shared/src/main/resources/i18n/messages_ko_KR.properties index fb00e44a7..060aed777 100644 --- a/desktop-shared/src/main/resources/i18n/messages_ko_KR.properties +++ b/desktop-shared/src/main/resources/i18n/messages_ko_KR.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Discord 커뮤니티 참여 menu.help.share.x=X / 트위터에서 공유 menu.help.share.linkedin=링크드인에서 공유 menu.help.share.facebook=페이스북에서 공유 -menu.help.share.text=Askimo을 확인해보세요 — 무료로 사용 가능한 로컬 우선 AI 데스크톱 클라이언트입니다. Ollama, OpenAI, Anthropic 및 기타 등과 연동됩니다. https://askimo.chat +menu.help.share.text=Askimo을 확인해보세요 — 무료로 사용 가능한 로컬 우선 AI 데스크톱 클라이언트입니다. Ollama, OpenAI, Anthropic 및 기타 등과 연동됩니다. https\://askimo.chat menu.help.share.hackernews=Hacker News에 게시 menu.eventlog=이벤트 로그 menu.help.model.capabilities=모델 기능 파일 열기 @@ -60,16 +60,16 @@ dialog.close=닫기 # Backup and Restore backup.export.title=백업 내보내기 backup.export.success.title=백업을 내보냈습니다 -backup.export.success.message=백업을 성공적으로 내보냈습니다:\n{0} +backup.export.success.message=백업을 성공적으로 내보냈습니다\:\n{0} backup.export.error.title=내보내기 실패 -backup.export.error.message=백업을 내보내지 못했습니다:\n{0} +backup.export.error.message=백업을 내보내지 못했습니다\:\n{0} backup.import.title=백업 가져오기 backup.import.confirm.title=가져오기 확인 backup.import.confirm.message=이 작업은 현재 모든 데이터를 백업으로 교체합니다.\n\n가져오기 전에 안전 백업이 자동으로 생성됩니다.\n\n계속하시겠습니까? backup.import.success.title=백업을 가져왔습니다 backup.import.success.message=백업을 성공적으로 가져왔습니다.\n\n모든 변경 사항을 적용하려면 Askimo를 다시 시작하십시오. backup.import.error.title=가져오기 실패 -backup.import.error.message=백업을 가져오지 못했습니다:\n{0} +backup.import.error.message=백업을 가져오지 못했습니다\:\n{0} # Event Log eventlog.title=이벤트 로그 ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=이벤트 로그 eventlog.window.attach=메인 창에 다시 연결 eventlog.window.events.count={0}개 이벤트 eventlog.window.empty.message=아직 이벤트가 없습니다. 발생 시 여기에 표시됩니다. -eventlog.footer.warning=가장 오래된 항목이 잘렸습니다(한도: {0}). +eventlog.footer.warning=가장 오래된 항목이 잘렸습니다(한도\: {0}). # Chat Interface chat.new=새 채팅 @@ -165,7 +165,7 @@ session.rename.error.empty=제목은 비울 수 없습니다 session.export.file.chooser.title=채팅 기록 저장 session.export.button.export=내보내기 session.export.success.title=내보내기 완료 -session.export.success.message=채팅 세션이 성공적으로 내보내졌습니다: +session.export.success.message=채팅 세션이 성공적으로 내보내졌습니다\: # Projects project.title=프로젝트 @@ -181,11 +181,11 @@ project.new.dialog.file.browse=처리할 파일 선택... project.new.dialog.sources.label=참고 자료 (선택 사항) project.new.dialog.sources.add=소스 추가 project.new.dialog.error.empty.name=프로젝트 이름은 비울 수 없습니다 -project.new.dialog.error.create.failed=프로젝트 생성에 실패했습니다: {0} +project.new.dialog.error.create.failed=프로젝트 생성에 실패했습니다\: {0} project.new.dialog.name.error.empty=프로젝트 이름은 비워둘 수 없습니다 project.new.dialog.button.create=프로젝트 생성 project.new.dialog.button.cancel=취소 -project.new.dialog.success.title=프로젝트가 성공적으로 생성되었습니다! +project.new.dialog.success.title=프로젝트가 성공적으로 생성되었습니다\! project.new.dialog.success.message=프로젝트 ''{0}''가 생성되었습니다. project.new.dialog.success.countdown={0}초 후에 닫힙니다... project.new.dialog.success.close=지금 닫기 @@ -208,7 +208,7 @@ projects.title=프로젝트 projects.description=주제별로 채팅을 구성하고 파일, 폴더 또는 URL을 지식 소스로 첨부하여, AI가 항상 해당 프로젝트에 대한 올바른 컨텍스트를 갖도록 합니다. projects.error=❌ {0} projects.empty=프로젝트를 찾을 수 없습니다. -projects.empty.hint=💡 새 프로젝트를 생성하여 채팅 세션을 정리하세요! +projects.empty.hint=💡 새 프로젝트를 생성하여 채팅 세션을 정리하세요\! projects.search.placeholder=이름으로 검색… projects.search.empty="{0}"과(와) 일치하는 프로젝트가 없습니다. projects.col.name=이름 @@ -219,13 +219,16 @@ projects.sources.expand=참고 자료 표시 projects.sources.collapse=참고 자료 숨기기 projects.sources.empty.title=아직 참조 자료가 없습니다 projects.sources.empty.description=문서를 추가하면 Askimo가 질문에 답변할 때 이를 참조할 수 있습니다 -projects.sources.info.tooltip=참조 자료는 Askimo가 사용자의 구체적인 맥락을 이해하는 데 도움이 됩니다.\n\n\ -질문에 답변할 때 Askimo가 참조해야 할 정보가 포함된 폴더, 파일 또는 웹사이트를 추가하세요.\n\n\ -예:\n\ +projects.sources.info.tooltip=참조 자료는 Askimo가 사용자의 구체적인 맥락을 이해하는 데 도움이 됩니다.\n\ +\n\ +질문에 답변할 때 Askimo가 참조해야 할 정보가 포함된 폴더, 파일 또는 웹사이트를 추가하세요.\n\ +\n\ +예\:\n\ • 프로젝트 문서\n\ • 회사 지식 베이스\n\ • 기술 사양서\n\ -• 연구 논문\n\n\ +• 연구 논문\n\ +\n\ Askimo는 이러한 자료를 검색하여 더 정확하고 맥락에 맞는 답변을 제공합니다. projects.sources.type.local_folders=로컬 폴더 projects.sources.type.local_files=로컬 파일 @@ -252,8 +255,8 @@ project.reindex=프로젝트 재인덱싱 project.menu.tooltip=프로젝트 메뉴 project.new.chat.placeholder={0}에서 새 채팅 project.recent.chats=최근 채팅 -project.no.chats=아직 채팅이 없습니다. 아래에서 새 채팅을 시작하세요! -project.indexing.label=지식 소스 인덱싱: {0} +project.no.chats=아직 채팅이 없습니다. 아래에서 새 채팅을 시작하세요\! +project.indexing.label=지식 소스 인덱싱\: {0} project.indexing.queued=인덱싱 대기 중 - 다른 프로젝트가 완료되기를 기다리는 중... project.indexing.failed=인덱싱에 실패했습니다. 프로젝트 메뉴에서 다시 인덱싱을 시도하세요. project.indexing.ready.label=인덱싱됨 @@ -272,7 +275,7 @@ settings.appearance=모양 settings.appearance.accent=강조 색상 settings.appearance.accent.description=단일 강조 색상을 안전하게 사용자 지정합니다. Askimo는 이를 주요 UI 강조에 적용하고, 읽기 쉬움을 위해 관련 색상을 파생합니다. settings.appearance.accent.label=강조 색상 (Hex) -settings.appearance.accent.invalid=유효한 16진수 색상을 입력하세요. 예: #0284C7 +settings.appearance.accent.invalid=유효한 16진수 색상을 입력하세요. 예\: \#0284C7 settings.appearance.accent.swatch.primary=기본 settings.appearance.accent.swatch.primary.container=컨테이너 settings.appearance.accent.swatch.on.primary.container=컨테이너 위 @@ -296,7 +299,7 @@ settings.network.description=네트워크 및 프록시 설정 구성 settings.mcp.servers=MCP 서버 settings.skills=스킬 settings.skills.description=스킬은 사용자의 기기에서 직접 실행되는 재사용 가능한 AI 에이전트입니다. 각 스킬은 시스템 프롬프트와 지침을 담고 있는 Markdown 파일입니다. 스킬을 실행하면 {0}를 통해 실행되며 장치 파일을 읽고 쓰고, 셸 명령을 실행하며, 작업을 완료할 때까지 반복합니다. 복사 및 붙여넣기가 필요하지 않습니다. -settings.skills.runtimes=지원되는 런타임: +settings.skills.runtimes=지원되는 런타임\: settings.skills.directory=스킬 디렉터리 settings.skills.open.folder=폴더 열기 settings.skills.new.skill=새 스킬 @@ -376,11 +379,11 @@ settings.log.viewer=로그 파일 settings.log.viewer.description=애플리케이션 로그 및 진단 보기 settings.log.viewer.view=로그 보기 settings.log.viewer.open_folder=로그 폴더 열기 -settings.log.viewer.path=로그 파일: {0} +settings.log.viewer.path=로그 파일\: {0} settings.log.viewer.dialog.title=애플리케이션 로그 settings.log.viewer.refresh=새로 고침 settings.log.viewer.copy=복사 -settings.log.viewer.copied=복사됨! +settings.log.viewer.copied=복사됨\! settings.log.viewer.loading=로그 불러오는 중... settings.log.viewer.error=로그 불러오기 실패 settings.log.viewer.empty=로그 없음 @@ -434,7 +437,7 @@ settings.web_search.api_key=API 키 settings.web_search.api_key.placeholder=여기에 API 키를 붙여넣으세요 settings.web_search.get_api_key=무료 API 키 받기 ↗ settings.web_search.endpoint=SearxNG 인스턴스 URL -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=검색 테스트 settings.web_search.test.running=테스트 중... settings.web_search.test.success=✅ 검색이 정상 작동 중 @@ -451,25 +454,25 @@ user.profile.name=이름 user.profile.email=이메일 user.profile.email.placeholder=your.email@example.com user.profile.occupation=직업 -user.profile.occupation.placeholder=예: 소프트웨어 개발자, 디자이너, 학생 +user.profile.occupation.placeholder=예\: 소프트웨어 개발자, 디자이너, 학생 user.profile.location=위치 -user.profile.location.placeholder=예: 샌프란시스코, CA +user.profile.location.placeholder=예\: 샌프란시스코, CA user.profile.bio=소개 user.profile.bio.placeholder=자신에 대해 간단히 알려주세요… user.profile.interests=관심사 user.profile.interests.description=관심 있는 주제를 선택하여 AI 경험을 개인화하세요 user.profile.interests.custom=사용자 지정 관심사 -user.profile.interests.custom.placeholder=예: 머신 러닝, 사진 +user.profile.interests.custom.placeholder=예\: 머신 러닝, 사진 user.profile.interests.custom.hint=여러 관심사는 쉼표로 구분하세요 # Welcome Dialog (First Run) -welcome.title=Askimo에 오신 것을 환영합니다! +welcome.title=Askimo에 오신 것을 환영합니다\! welcome.subtitle=AI 경험을 개인화할 수 있도록 도와주세요 welcome.avatar.optional=클릭하여 사진 추가 (선택 사항) welcome.name=이름 -welcome.name.placeholder=예: 홍길동 +welcome.name.placeholder=예\: 홍길동 welcome.occupation=직업 -welcome.occupation.placeholder=예: 소프트웨어 개발자 +welcome.occupation.placeholder=예\: 소프트웨어 개발자 welcome.interests=관심 있는 분야는 무엇인가요? welcome.interests.description=경험을 맞춤화할 수 있도록 몇 가지 주제를 선택하세요 welcome.skip=나중에 설정 @@ -526,7 +529,7 @@ action.refresh=새로고침 # Happiness Gate (shown before Star Prompt) happiness.gate.title=Askimo는 어떠신가요? happiness.gate.subtitle=솔직한 의견이 저희의 지속적인 개선에 도움이 됩니다 -happiness.gate.happy=정말 마음에 들어요! 😍 +happiness.gate.happy=정말 마음에 들어요\! 😍 happiness.gate.neutral=괜찮아요 🙂 happiness.gate.unhappy=별로예요 😕 @@ -538,22 +541,22 @@ feedback.comment.placeholder=문제에 대한 설명이나 의견을 공유해 feedback.unhappy.dialog.title=무엇이 문제인지 알고 싶습니다 feedback.unhappy.dialog.subtitle=Askimo에 대한 경험을 알려주시면 개선하겠습니다. feedback.comment.label.unhappy=어떤 점이 불편하셨나요? -feedback.comment.placeholder.unhappy=예: 세션 기록을 찾기 어렵거나, 응답이 느린 것 같습니다… +feedback.comment.placeholder.unhappy=예\: 세션 기록을 찾기 어렵거나, 응답이 느린 것 같습니다… feedback.neutral.dialog.title=Askimo가 어떻게 개선되면 더 좋을까요? feedback.neutral.dialog.subtitle=여러분의 아이디어가 다음 개발 방향을 결정하는 데 도움이 됩니다. feedback.comment.label.neutral=어떤 점을 개선할 수 있을까요? -feedback.comment.placeholder.neutral=예: 더 나은 단축키나 더 빠른 모델 전환이 있으면 좋겠습니다… +feedback.comment.placeholder.neutral=예\: 더 나은 단축키나 더 빠른 모델 전환이 있으면 좋겠습니다… feedback.comment.encourage.hint=몇 마디만으로도 큰 차이를 만들 수 있습니다 — 여러분의 피드백은 팀에게 직접 전달됩니다. feedback.email.label=이메일 (선택 사항) feedback.email.placeholder=you@example.com feedback.email.hint=피드백에 대한 후속 조치를 위해서만 사용됩니다. 스팸 메일은 절대 보내지 않습니다. feedback.action.skip=건너뛰기 feedback.action.send=피드백 보내기 -feedback.thanks.title=소중한 의견 감사합니다! +feedback.thanks.title=소중한 의견 감사합니다\! feedback.thanks.message=보내주신 의견은 Askimo를 개선하는 데 큰 도움이 됩니다. 정말 감사합니다. feedback.thanks.close=닫기 -feedback.remind.title=괜찮습니다! +feedback.remind.title=괜찮습니다\! feedback.remind.message=도움말 메뉴 → 피드백 보내기를 통해 언제든지 의견을 보내주실 수 있습니다. feedback.remind.got.it=알겠습니다 @@ -577,10 +580,10 @@ star.prompt.share.description=X, LinkedIn 또는 Facebook에서 네트워크에 star.prompt.maybe.later=지금은 아니요 star.prompt.already.starred=이미 별표 표시됨 ✓ star.prompt.social.proof=⭐ 이미 Askimo에 별표를 표시한 {0}명과 함께하세요 -star.prompt.thanks.title=정말 감사합니다! 🌟 +star.prompt.thanks.title=정말 감사합니다\! 🌟 star.prompt.thanks.message=여러분의 성원은 저희가 Askimo를 계속 발전시키는 데 큰 힘이 됩니다. star.prompt.thanks.done=완료 ✓ -star.prompt.remind.title=괜찮습니다! +star.prompt.remind.title=괜찮습니다\! star.prompt.remind.message=언제든지 도움말 메뉴 → Askimo 지원하기를 통해 저희를 후원하실 수 있습니다. star.prompt.remind.got.it=확인 @@ -654,7 +657,7 @@ shortcut.send.message=메시지 전송 shortcut.new.line=새 줄 # Chat View -chat.welcome=Askimo에 오신 것을 환영합니다!\n아래에 메시지를 입력하여 대화를 시작하세요. +chat.welcome=Askimo에 오신 것을 환영합니다\!\n아래에 메시지를 입력하여 대화를 시작하세요. chat.no.active.session=사이드바에서 세션을 선택하거나 새 채팅을 시작하세요 chat.search.placeholder=대화 내 검색... chat.search.no.results=결과 없음 @@ -736,7 +739,7 @@ chat.attachment.remove=첨부 파일 삭제 chat.attachment.preview.loading=미리보기 불러오는 중… chat.attachment.preview.file.not.found=(파일을 찾을 수 없음) chat.attachment.preview.too.large=(파일이 너무 커서 미리볼 수 없음) -chat.attachment.preview.cannot.read=(파일을 읽을 수 없음: {0}) +chat.attachment.preview.cannot.read=(파일을 읽을 수 없음\: {0}) chat.attachment.preview.more.lines={0}줄 더 # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=생성됨 sessions.col.updated=업데이트됨 sessions.error=❌ {0} sessions.empty=세션을 찾을 수 없습니다. -sessions.empty.hint=💡 새 대화를 시작해 첫 세션을 만들어 보세요! +sessions.empty.hint=💡 새 대화를 시작해 첫 세션을 만들어 보세요\! sessions.search.placeholder=제목으로 검색… sessions.search.empty="{0}"과(와) 일치하는 세션이 없습니다. # Generic table pagination controls -table.page.size.label=페이지당 행 수: +table.page.size.label=페이지당 행 수\: table.page=페이지 {0} / {1} table.page.previous=이전 페이지 table.page.next=다음 페이지 @@ -769,7 +772,7 @@ sessions.error.rename.failed=이름 변경 실패. # ChatSessionService Errors # Update Check update.dialog.title=소프트웨어 업데이트 -update.dialog.new.version.available=새로운 Askimo 버전 이용 가능! +update.dialog.new.version.available=새로운 Askimo 버전 이용 가능\! update.urgency.medium={0}개 버전 뒤처져 있습니다 — 중요한 버그 수정 및 신기능을 놓쳤을 수 있습니다. update.urgency.high={0}개 버전 뒤처져 있습니다 — 상당한 개선 사항을 놓치고 있습니다. 빨리 업데이트하세요. update.dialog.current.version.label=현재 버전 @@ -780,7 +783,7 @@ update.dialog.download=지금 다운로드 update.dialog.how.to.update=업데이트 방법 update.dialog.later=나중에 update.dialog.skip.version=이 버전 건너뛰기 -update.check.up.to.date=최신 버전을 사용 중입니다! +update.check.up.to.date=최신 버전을 사용 중입니다\! update.check.failed=업데이트 확인 실패 # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Crowdin에서 기여하기 settings.ai.response.language=선호 응답 언어 settings.ai.response.language.description=AI가 특정 언어로 응답하도록 강제 (비워두면 자동 감지) settings.ai.response.language.auto=자동 감지 -settings.ai.response.language.tooltip=AI가 자동으로 언어를 감지하지만 다음 경우 재정의하세요:\n• 언어 학습 (몰입형 연습)\n• 전문적 일관성 (예: 코드 문서는 항상 영어로)\n• RAG 최적화 (지식 베이스 언어와 일치)\n• 교육 (한 언어로 질문하고 다른 언어로 설명)\n• 원치 않는 언어 전환 방지 -settings.model.select={0}의 모델 선택: +settings.ai.response.language.tooltip=AI가 자동으로 언어를 감지하지만 다음 경우 재정의하세요\:\n• 언어 학습 (몰입형 연습)\n• 전문적 일관성 (예\: 코드 문서는 항상 영어로)\n• RAG 최적화 (지식 베이스 언어와 일치)\n• 교육 (한 언어로 질문하고 다른 언어로 설명)\n• 원치 않는 언어 전환 방지 +settings.model.select={0}의 모델 선택\: settings.model.loading=모델 불러오는 중... settings.model.none=사용 가능한 모델 없음 settings.model.select.title=모델 선택 @@ -826,7 +829,7 @@ settings.model.current=현재 모델 settings.model.selected=선택된 모델 settings.model.new=새 모델 settings.model.use.default=기본값 사용 -settings.model.change.description=아래 목록에서 모델을 선택하세요: +settings.model.change.description=아래 목록에서 모델을 선택하세요\: settings.model.search=모델 검색 settings.model.search.placeholder=모델 필터링 입력... settings.model.filtered={0}/{1} 모델 표시 중 @@ -835,22 +838,22 @@ settings.model.chat.filter.label=챗 모델 · {0}개 표시됨 settings.model.chat.filter.show.all=모든 {0} 표시 settings.configure.title={0} 설정 구성 settings.test.connection.testing=테스트 중... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=제공자에 연결할 수 없습니다. API 키가 올바른지(클라우드 제공자의 경우) 또는 기본 URL에 도달할 수 있는지(로컬 제공자의 경우) 확인하십시오. 위의 도움말 링크를 사용하여 설정 지침을 찾을 수 있습니다. # Directives Dialog directive.manage.title=지시문 관리 -directive.manage.empty=지시문이 없습니다. 새로 만들어보세요! +directive.manage.empty=지시문이 없습니다. 새로 만들어보세요\! directive.edit.name.label=이름 directive.edit.name.placeholder=지시문 이름 입력... directive.edit.content.label=내용 directive.edit.content.placeholder=지시문 내용을 입력하세요... directive.edit.name.required=이름은 필수입니다 directive.edit.content.required=내용은 필수입니다 -directive.created=생성됨: {0} +directive.created=생성됨\: {0} directive.new.title=새 지시문 directive.new.guidelines=지시문은 AI가 메시지에 응답하는 방식을 안내합니다. 어조, 세부 수준, 형식 또는 필요한 특별 요구 사항에 대해 구체적으로 작성하세요. -directive.new.name.placeholder=예: concise-code, explain-like-im-5 +directive.new.name.placeholder=예\: concise-code, explain-like-im-5 directive.new.content.placeholder=지시문 내용을 입력... directive.new.apply.current=현재 세션에 적용 directive.new.create=생성 @@ -862,8 +865,8 @@ directive.export.tooltip=모든 지시문을 JSON 파일로 내보내 공유합 directive.export.filename=askimo-directives directive.import=가져오기 directive.import.tooltip=JSON 파일에서 지시문을 가져옵니다 -directive.import.result=가져오기 완료: {0}개 가져옴, {1}개 이름 변경됨, {2}개 건너뜀 -directive.import.error=가져오기 실패: 잘못되었거나 지원되지 않는 파일 형식입니다 +directive.import.result=가져오기 완료\: {0}개 가져옴, {1}개 이름 변경됨, {2}개 건너뜀 +directive.import.error=가져오기 실패\: 잘못되었거나 지원되지 않는 파일 형식입니다 # Log Levels log.level.error=오류 @@ -919,7 +922,7 @@ message.edited.indicator=(편집됨) message.date.today=오늘 message.date.yesterday=어제 message.token.usage={0} 토큰 · {1} 입력 / {2} 출력 -message.token.usage.tooltip=이 응답에 사용된 토큰입니다.\n입력: AI로 전송된 프롬프트 및 컨텍스트.\n출력: AI가 생성한 응답. +message.token.usage.tooltip=이 응답에 사용된 토큰입니다.\n입력\: AI로 전송된 프롬프트 및 컨텍스트.\n출력\: AI가 생성한 응답. # Bookmarks chat.bookmarks.button.tooltip=북마크 @@ -956,7 +959,7 @@ provider.picker.description.openai=OpenAI의 클라우드 AI 모델입니다. AP provider.picker.description.anthropic=Anthropic의 클라우드 AI 모델입니다. API 키가 필요합니다. console.anthropic.com에서 가입하고, API 키를 생성한 후 연결 전에 계정에 크레딧을 추가하세요. provider.picker.description.gemini=Google의 클라우드 AI 모델입니다. aistudio.google.com에서 가입하여 무료 API 키를 생성하세요. 무료 티어는 신용카드가 필요하지 않습니다. provider.picker.description.xai=xAI의 클라우드 AI 모델입니다. API 키가 필요합니다. console.x.ai에서 가입하고, API 키를 생성한 후 연결 전에 계정에 크레딧을 추가하세요. -provider.picker.description.ollama=오픈 소스 모델을 로컬에서 실행합니다. API 키가 필요하지 않습니다. ollama.com에서 Ollama를 다운로드하고, 연결 전에 모델을 가져오세요 (예: ollama pull llama3). +provider.picker.description.ollama=오픈 소스 모델을 로컬에서 실행합니다. API 키가 필요하지 않습니다. ollama.com에서 Ollama를 다운로드하고, 연결 전에 모델을 가져오세요 (예\: ollama pull llama3). provider.picker.description.docker=Docker Desktop의 내장 AI 모델 러너를 통해 모델을 실행합니다. API 키가 필요하지 않습니다. Model Runner 기능이 활성화된 Docker Desktop 4.40 이상이 필요합니다. provider.picker.description.localai=자체 호스팅되는 OpenAI 호환 로컬 AI 서버입니다. API 키가 필요하지 않습니다. LocalAI를 설치하고, 모델을 다운로드한 후 연결 전에 서버를 시작하세요. provider.picker.description.lmstudio=사용하기 쉬운 데스크톱 인터페이스로 로컬 LLM을 실행합니다. API 키가 필요하지 않습니다. lmstudio.ai에서 LM Studio를 다운로드하고, 모델을 가져와 불러온 다음 연결 전에 로컬 서버를 활성화하세요. @@ -970,15 +973,20 @@ provider.template.get.apikey=API 키 가져오기 → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Workers AI로 Cloudflare의 글로벌 엣지 네트워크에서 AI 모델을 실행하세요. -provider.template.cloudflare_ai.help=💡 Cloudflare AI 사용 방법:\n\n1. Cloudflare 대시보드에서 계정 ID를 확인하세요\n2. 기본 URL의 {ACCOUNT_ID}를 해당 값으로 바꾸세요\n3. 'Workers AI' 권한이 있는 API 토큰을 아래에서 생성하세요:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Cloudflare AI 사용 방법\:\n\n1. Cloudflare 대시보드에서 계정 ID를 확인하세요\n2. 기본 URL의 {ACCOUNT_ID}를 해당 값으로 바꾸세요\n3. ''Workers AI'' 권한이 있는 API 토큰을 아래에서 생성하세요\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=오픈소스 모델을 위한 초고속 추론 — Llama, Mixtral, Gemma 등. -provider.template.groq.help=💡 Groq 사용 방법:\n\n1. console.groq.com/keys 에서 무료 API 키를 받으세요\n2. 모델 이름을 입력하세요 (예: llama-3.1-8b-instant)\n3. '다음'을 클릭하여 사용 가능한 모든 모델을 둘러보세요 +provider.template.groq.help=💡 Groq 사용 방법\:\n\n1. console.groq.com/keys 에서 무료 API 키를 받으세요\n2. 모델 이름을 입력하세요 (예\: llama-3.1-8b-instant)\n3. '다음'을 클릭하여 사용 가능한 모든 모델을 둘러보세요 provider.template.nvidia_nim.tagline=NVIDIA의 클라우드 GPU 인프라에서 최적화된 AI 모델을 실행하세요. -provider.template.nvidia_nim.help=💡 NVIDIA NIM 사용 방법:\n\n1. build.nvidia.com 에서 API 키를 받으세요\n2. 모델 이름을 입력하세요 (예: meta/llama-3.1-8b-instruct)\n3. '다음'을 클릭하여 사용 가능한 모든 모델을 둘러보세요 +provider.template.nvidia_nim.help=💡 NVIDIA NIM 사용 방법\:\n\n1. build.nvidia.com 에서 API 키를 받으세요\n2. 모델 이름을 입력하세요 (예\: meta/llama-3.1-8b-instruct)\n3. '다음'을 클릭하여 사용 가능한 모든 모델을 둘러보세요 provider.template.openrouter.tagline=300개 이상의 모델에 액세스 — GPT, Claude, Llama, Gemini, Mistral 등을 하나의 API로. -provider.template.openrouter.help=💡 OpenRouter 사용 방법:\n\n1. openrouter.ai/keys 에서 무료 API 키를 받으세요\n2. '다음'을 클릭하여 300개 이상의 사용 가능한 모델을 둘러보세요\n3. 많은 모델이 무료 티어를 제공합니다 — 신용카드 불필요 +provider.template.openrouter.help=💡 OpenRouter 사용 방법\:\n\n1. openrouter.ai/keys 에서 무료 API 키를 받으세요\n2. '다음'을 클릭하여 300개 이상의 사용 가능한 모델을 둘러보세요\n3. 많은 모델이 무료 티어를 제공합니다 — 신용카드 불필요 provider.template.together_ai.tagline=100개 이상의 오픈소스 모델을 위한 빠르고 저렴한 추론. -provider.template.together_ai.help=💡 Together AI 사용 방법:\n\n1. api.together.ai/settings/api-keys 에서 API 키를 받으세요\n2. '다음'을 클릭하여 사용 가능한 모델을 둘러보세요\n (예: meta-llama/Llama-3-8b-chat-hf) +provider.template.together_ai.help=💡 Together AI 사용 방법\:\n\n1. api.together.ai/settings/api-keys 에서 API 키를 받으세요\n2. '다음'을 클릭하여 사용 가능한 모델을 둘러보세요\n (예\: meta-llama/Llama-3-8b-chat-hf) +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -988,14 +996,14 @@ provider.model.panel.select.hint=왼쪽에서 공급자를 선택하여 모델 provider.model.panel.model.count={0}개 모델 provider.model.default.badge=기본 provider.instance.name.label=인스턴스 이름 -provider.instance.name.placeholder=예: "Work OpenAI", "ollama-macbook" +provider.instance.name.placeholder=예\: "Work OpenAI", "ollama-macbook" provider.instance.name.duplicate="{0}" 이름의 프로바이더가 이미 존재합니다 provider.setup.required.title=AI 제공업체 설정 provider.setup.required.message=채팅을 시작하려면 먼저 AI 제공업체를 설정해야 합니다. 목록에서 제공업체를 선택하고 구성해 주세요. provider.setup.required.button=제공업체 설정 provider.setup.required.skip=나중에 설정 provider.setup.empty.state.button=공급자 추가 -provider.configure.prompt=제공업체 구성: +provider.configure.prompt=제공업체 구성\: provider.setup.guide={0} 설정 방법 provider.apikey.stored=API 키가 안전하게 저장됨 provider.apikey.enter=API 키 입력 @@ -1004,14 +1012,14 @@ provider.apikey.security.link=데이터 보호 방법 알아보기 provider.not.set=설정 안 됨 # Provider Configuration - OpenAI -provider.openai.apikey.description=OpenAI API 키: https://platform.openai.com/account/api-keys +provider.openai.apikey.description=OpenAI API 키\: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=API 키가 이미 저장됨. 비워두면 기존 키를 유지합니다. -provider.openai.setup.help=💡 OpenAI 사용을 위해 API 키가 필요합니다.\n\n1. https://platform.openai.com/account/api-keys 에서 키를 받으세요\n2. 설정 메뉴 또는 :change-settings 명령으로 추가하세요 +provider.openai.setup.help=💡 OpenAI 사용을 위해 API 키가 필요합니다.\n\n1. https\://platform.openai.com/account/api-keys 에서 키를 받으세요\n2. 설정 메뉴 또는 \:change-settings 명령으로 추가하세요 # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Anthropic API 키: https://console.anthropic.com/ +provider.anthropic.apikey.description=Anthropic API 키\: https\://console.anthropic.com/ provider.anthropic.apikey.stored=API 키가 이미 저장됨. -provider.anthropic.setup.help=💡 Anthropic 사용을 위해 API 키가 필요합니다.\n\n1. https://console.anthropic.com/ 에서 키를 받으세요\n2. 설정 또는 :change-settings 명령으로 구성하세요 +provider.anthropic.setup.help=💡 Anthropic 사용을 위해 API 키가 필요합니다.\n\n1. https\://console.anthropic.com/ 에서 키를 받으세요\n2. 설정 또는 \:change-settings 명령으로 구성하세요 provider.anthropic.max_tokens.label=최대 토큰 수 provider.anthropic.max_tokens.description=모델이 응답당 생성할 수 있는 최대 토큰 수 (생각 + 답변 합계). provider.anthropic.thinking_budget_tokens.label=생각 예산 토큰 수 @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=생각 최대 토큰 수 provider.anthropic.thinking_max_tokens.description=생각 기능이 활성화되었을 때의 총 토큰 제한 (생각 + 답변). 0으로 설정하면 대신 최대 토큰 수(Max Tokens)를 사용합니다. # Provider Configuration - Gemini -provider.gemini.apikey.description=Google AI Studio API 키: https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Google AI Studio API 키\: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API 키가 이미 저장됨. -provider.gemini.setup.help=💡 Gemini 사용을 위해 API 키가 필요합니다.\n\n1. https://aistudio.google.com/app/apikey 에서 키를 받으세요\n2. 설정에서 구성하거나 :change-settings 명령을 사용하세요 +provider.gemini.setup.help=💡 Gemini 사용을 위해 API 키가 필요합니다.\n\n1. https\://aistudio.google.com/app/apikey 에서 키를 받으세요\n2. 설정에서 구성하거나 \:change-settings 명령을 사용하세요 # Provider Configuration - XAI -provider.xai.apikey.description=XAI API 키: https://console.x.ai/ +provider.xai.apikey.description=XAI API 키\: https\://console.x.ai/ provider.xai.apikey.stored=API 키가 이미 저장됨. -provider.xai.setup.help=💡 XAI 사용을 위해 API 키가 필요합니다.\n\n1. https://console.x.ai/ 에서 키를 받으세요\n2. 설정 또는 :change-settings 명령으로 구성하세요 +provider.xai.setup.help=💡 XAI 사용을 위해 API 키가 필요합니다.\n\n1. https\://console.x.ai/ 에서 키를 받으세요\n2. 설정 또는 \:change-settings 명령으로 구성하세요 # Provider Configuration - Ollama -provider.ollama.baseurl.description=Ollama 기본 URL (기본값: http://localhost:11434) -provider.ollama.setup.help=💡 Ollama를 사용하려면 로컬에서 실행해야 합니다.\n\n1. https://ollama.ai/ 에서 설치\n2. 서비스 실행\n3. 필요 시 기본 URL 변경 +provider.ollama.baseurl.description=Ollama 기본 URL (기본값\: http\://localhost\:11434) +provider.ollama.setup.help=💡 Ollama를 사용하려면 로컬에서 실행해야 합니다.\n\n1. https\://ollama.ai/ 에서 설치\n2. 서비스 실행\n3. 필요 시 기본 URL 변경 # Provider Configuration - Docker AI -provider.docker.baseurl.description=Docker AI 기본 URL (기본값: http://localhost:12434) +provider.docker.baseurl.description=Docker AI 기본 URL (기본값\: http\://localhost\:12434) provider.docker.setup.help=💡 Docker AI를 사용하려면 로컬에서 실행해야 합니다.\n\n1. Docker AI가 설치되고 실행되는지 확인\n2. 서비스 실행\n3. 필요 시 기본 URL 변경 # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=LocalAI 기본 URL provider.localai.setup.help=💡 LocalAI를 사용하려면 먼저 실행해야 합니다.\n\n1. LocalAI 설치 및 실행\n2. 접근 가능한 기본 URL 구성 # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=LMStudio 기본 URL (기본값: http://localhost:1234) -provider.lmstudio.setup.help=💡 LMStudio 사용 방법:\n\n1. https://lmstudio.ai/ 에서 설치\n2. 로컬 서버 실행\n3. 필요 시 기본 URL 변경 +provider.lmstudio.baseurl.description=LMStudio 기본 URL (기본값\: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 LMStudio 사용 방법\:\n\n1. https\://lmstudio.ai/ 에서 설치\n2. 로컬 서버 실행\n3. 필요 시 기본 URL 변경 provider.lmstudio.openai.compat.info=Askimo는 기본 LMStudio API(/api/v1/)가 아닌 OpenAI 호환 엔드포인트(/v1)를 사용합니다. # Provider Configuration - Open AI Compatible @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=HTTP/2를 완전히 지원하는 # System Resources system.share.feedback=피드백 공유 -system.ai.provider.tooltip=AI 제공자: {0}\n클릭하여 설정 +system.ai.provider.tooltip=AI 제공자\: {0}\n클릭하여 설정 system.diagnostics.title=시스템 진단 system.diagnostics.resources=리소스 system.diagnostics.jvm.memory=JVM 메모리 (사용됨 / 전체) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=텔레메트리 telemetry.export.csv=CSV 내보내기 telemetry.export.dialog.title=텔레메트리를 ZIP으로 내보내기 telemetry.export.error.title=내보내기 실패 -telemetry.export.error.message=텔레메트리 데이터 내보내기 실패: {0} +telemetry.export.error.message=텔레메트리 데이터 내보내기 실패\: {0} # Telemetry telemetry.reset=텔레메트리 데이터 재설정 @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=전문적인 외관 export.format.html.benefit.4=공유하기 쉬움 # Error Messages -error.network=⚠️ AI 서비스{endpoint}에 연결할 수 없습니다\n\n다음을 확인하세요:\n• 인터넷 연결 상태\n• AI 서비스 URL (설정 확인)\n• 방화벽 설정\n• 서비스 사용 가능 여부 +error.network=⚠️ AI 서비스{endpoint}에 연결할 수 없습니다\n\n다음을 확인하세요\:\n• 인터넷 연결 상태\n• AI 서비스 URL (설정 확인)\n• 방화벽 설정\n• 서비스 사용 가능 여부 error.authentication=⚠️ API 키가 없거나 유효하지 않습니다{provider}\n\n설정에서 API 키를 입력하면 해결할 수 있습니다. -error.model_not_found=⚠️ 모델을 찾을 수 없습니다: {model}\n\n이 모델은 제공업체에 의해 더 이상 사용되지 않거나 제거되었을 수 있습니다. 다른 모델을 선택해 주세요. -error.provider_not_configured=⚠️ AI 제공자가 설정되지 않았습니다.\n\n채팅을 시작하려면:\n1. 설정 열기\n2. AI 제공자 선택 (OpenAI, Ollama, Anthropic 등)\n3. API 키 입력 또는 연결 설정 +error.model_not_found=⚠️ 모델을 찾을 수 없습니다\: {model}\n\n이 모델은 제공업체에 의해 더 이상 사용되지 않거나 제거되었을 수 있습니다. 다른 모델을 선택해 주세요. +error.provider_not_configured=⚠️ AI 제공자가 설정되지 않았습니다.\n\n채팅을 시작하려면\:\n1. 설정 열기\n2. AI 제공자 선택 (OpenAI, Ollama, Anthropic 등)\n3. API 키 입력 또는 연결 설정 error.rate_limit=⚠️ 사용량 제한을 초과했습니다\n{retryAfter}\n\nAPI 사용 한도에 도달했습니다. 잠시 기다린 후 다시 메시지를 보내세요. error.insufficient_credits=⚠️ 크레딧 부족\n\n크레딧 잔액이 너무 낮습니다.\n\n결제 페이지를 방문하여 크레딧을 추가하세요. -error.timeout=⚠️ {timeout}초 후 요청 시간이 초과되었습니다\n\n가능한 원인:\n• 서버 부하가 높음 - 잠시 후 다시 시도\n• 쿼리가 복잡함 - 더 간단하게 작성\n• 네트워크 지연 -error.context_length=⚠️ 컨텍스트 창 초과\n\n전체 입력(대화 기록 + 메시지 + 첨부 파일)이 너무 커서 이 모델이 처리할 수 없습니다.\n\n해결 방법:\n• 새로운 채팅 세션을 시작하여 대화 기록을 지우세요\n• 메시지를 줄이거나 큰 첨부 파일을 제거하세요\n• 로컬 모델(Ollama / LM Studio / Docker)을 사용하는 경우, 설정에서 컨텍스트 크기를 늘리세요\n• 더 큰 컨텍스트 창을 지원하는 모델로 전환하세요 -error.invalid_request=⚠️ 잘못된 요청: {details}\n\n입력 내용을 확인한 뒤 다시 시도하세요. -error.local_server=⚠️ 로컬 AI 서버 오류!\n\nAI 서버 프로세스가 충돌하거나 모델을 로드하지 못했습니다. 이는 Askimo로 인한 문제가 아닙니다.\n\n가능한 원인:\n• 모델 파일이 손상되었거나 불완전합니다 — 다시 다운로드해 보세요\n• RAM/VRAM 부족 — 더 작은 양자화(예: Q8 대신 Q4)를 시도해 보세요\n• 현재 서버 버전에서 지원하지 않는 모델 형식\n• 서버 프로세스가 OS에 의해 종료됨(메모리 부족)\n\n해결 방법:\n1. 로컬 AI 서버 로그를 확인하세요\n2. 서버를 재시작하고 다시 시도하세요\n3. 모델을 다시 다운로드하세요\n4. 다른 모델 또는 양자화 수준을 시도해 보세요\n\n기술적 세부 정보: {details} -error.empty_http_response=⚠️ 서버가 응답 없이 연결을 종료했습니다!\n\n모델: {0}\n\n이 문제는 일반적으로 로컬 AI 공급자가 오류를 반환하는 대신 조용히 요청을 드롭할 때 발생합니다. 현재 요청에 비해 모델의 컨텍스트 창이 너무 작습니다.\n\n일반적인 원인:\n• 대화 기록이 여러 턴에 걸쳐 너무 길어짐\n• 활성화된 도구가 모든 요청에 추가 데이터를 포함함(도구가 여러 개 활성화된 경우 짧은 질문도 제한을 초과할 수 있음)\n• 첨부된 대용량 파일이나 코드 조각으로 인해 요청이 제한을 초과함\n\n{1}\n\n시도해 볼 다른 방법:\n• 새 대화를 시작하여 컨텍스트 재설정\n• 작업에 필요하지 않은 도구 비활성화\n• 메시지나 첨부 파일 크기 줄이기 -error.empty_http_response.hint.docker=Docker AI / Docker Model Runner에서 컨텍스트 창을 늘리는 방법:\n• 모델 시작 시 --context-size <값> 전달 (예: --context-size 32768)\n• 또는 모델 실행 구성에서 설정 -error.empty_http_response.hint.ollama=Ollama에서 컨텍스트 창을 늘리는 방법:\n• Modelfile에서 num_ctx 설정 (예: PARAMETER num_ctx 32768)\n• 또는 매개변수로 전달: ollama run <모델> --num-ctx 32768 -error.empty_http_response.hint.lmstudio=LM Studio에서 컨텍스트 창을 늘리는 방법:\n• 모델 설정 패널 열기\n• "Context Length"를 찾아 값을 높임 (예: 32768 이상, 모델 최대치까지)\n• 설정 변경 후 로컬 서버 재시작 -error.empty_http_response.hint.localai=LocalAI에서 컨텍스트 창을 늘리는 방법:\n• 모델 구성 YAML을 편집하여 context_size: 32768 설정\n• 설정 변경 후 LocalAI 서버 재시작 -error.empty_http_response.hint.generic=컨텍스트 창을 늘리는 방법:\n• 공급자의 설정에서 컨텍스트 길이 / 컨텍스트 크기 옵션을 찾아 값을 높임 (예: 32768 토큰)\n• 설정 변경 후 공급자 재시작 -error.remote_server=⚠️ AI 제공업체 서버 오류\n\n제공업체 서버가 일시적인 오류를 반환했습니다(예: 과부하 또는 사용 불가). 이는 Askimo로 인한 문제가 아닙니다.\n\n해결 방법:\n• 잠시 기다린 후 다시 시도하세요 — 보통 일시적인 문제입니다\n• 문제가 지속되면 제공업체의 상태 페이지를 확인하세요\n\n기술적 세부 정보: {details} -error.system=⚠️ 시스템 오류\n\n예기치 않은 오류가 발생했습니다: {errorCode}\n\nAskimo 지원팀에 다음 정보를 함께 전달해 주세요:\n• 수행 중이던 작업\n• 위의 오류 코드\n• 타임스탬프 +error.timeout=⚠️ {timeout}초 후 요청 시간이 초과되었습니다\n\n가능한 원인\:\n• 서버 부하가 높음 - 잠시 후 다시 시도\n• 쿼리가 복잡함 - 더 간단하게 작성\n• 네트워크 지연 +error.context_length=⚠️ 컨텍스트 창 초과\n\n전체 입력(대화 기록 + 메시지 + 첨부 파일)이 너무 커서 이 모델이 처리할 수 없습니다.\n\n해결 방법\:\n• 새로운 채팅 세션을 시작하여 대화 기록을 지우세요\n• 메시지를 줄이거나 큰 첨부 파일을 제거하세요\n• 로컬 모델(Ollama / LM Studio / Docker)을 사용하는 경우, 설정에서 컨텍스트 크기를 늘리세요\n• 더 큰 컨텍스트 창을 지원하는 모델로 전환하세요 +error.invalid_request=⚠️ 잘못된 요청\: {details}\n\n입력 내용을 확인한 뒤 다시 시도하세요. +error.local_server=⚠️ 로컬 AI 서버 오류\!\n\nAI 서버 프로세스가 충돌하거나 모델을 로드하지 못했습니다. 이는 Askimo로 인한 문제가 아닙니다.\n\n가능한 원인\:\n• 모델 파일이 손상되었거나 불완전합니다 — 다시 다운로드해 보세요\n• RAM/VRAM 부족 — 더 작은 양자화(예\: Q8 대신 Q4)를 시도해 보세요\n• 현재 서버 버전에서 지원하지 않는 모델 형식\n• 서버 프로세스가 OS에 의해 종료됨(메모리 부족)\n\n해결 방법\:\n1. 로컬 AI 서버 로그를 확인하세요\n2. 서버를 재시작하고 다시 시도하세요\n3. 모델을 다시 다운로드하세요\n4. 다른 모델 또는 양자화 수준을 시도해 보세요\n\n기술적 세부 정보\: {details} +error.empty_http_response=⚠️ 서버가 응답 없이 연결을 종료했습니다\!\n\n모델\: {0}\n\n이 문제는 일반적으로 로컬 AI 공급자가 오류를 반환하는 대신 조용히 요청을 드롭할 때 발생합니다. 현재 요청에 비해 모델의 컨텍스트 창이 너무 작습니다.\n\n일반적인 원인\:\n• 대화 기록이 여러 턴에 걸쳐 너무 길어짐\n• 활성화된 도구가 모든 요청에 추가 데이터를 포함함(도구가 여러 개 활성화된 경우 짧은 질문도 제한을 초과할 수 있음)\n• 첨부된 대용량 파일이나 코드 조각으로 인해 요청이 제한을 초과함\n\n{1}\n\n시도해 볼 다른 방법\:\n• 새 대화를 시작하여 컨텍스트 재설정\n• 작업에 필요하지 않은 도구 비활성화\n• 메시지나 첨부 파일 크기 줄이기 +error.empty_http_response.hint.docker=Docker AI / Docker Model Runner에서 컨텍스트 창을 늘리는 방법\:\n• 모델 시작 시 --context-size <값> 전달 (예\: --context-size 32768)\n• 또는 모델 실행 구성에서 설정 +error.empty_http_response.hint.ollama=Ollama에서 컨텍스트 창을 늘리는 방법\:\n• Modelfile에서 num_ctx 설정 (예\: PARAMETER num_ctx 32768)\n• 또는 매개변수로 전달\: ollama run <모델> --num-ctx 32768 +error.empty_http_response.hint.lmstudio=LM Studio에서 컨텍스트 창을 늘리는 방법\:\n• 모델 설정 패널 열기\n• "Context Length"를 찾아 값을 높임 (예\: 32768 이상, 모델 최대치까지)\n• 설정 변경 후 로컬 서버 재시작 +error.empty_http_response.hint.localai=LocalAI에서 컨텍스트 창을 늘리는 방법\:\n• 모델 구성 YAML을 편집하여 context_size\: 32768 설정\n• 설정 변경 후 LocalAI 서버 재시작 +error.empty_http_response.hint.generic=컨텍스트 창을 늘리는 방법\:\n• 공급자의 설정에서 컨텍스트 길이 / 컨텍스트 크기 옵션을 찾아 값을 높임 (예\: 32768 토큰)\n• 설정 변경 후 공급자 재시작 +error.remote_server=⚠️ AI 제공업체 서버 오류\n\n제공업체 서버가 일시적인 오류를 반환했습니다(예\: 과부하 또는 사용 불가). 이는 Askimo로 인한 문제가 아닙니다.\n\n해결 방법\:\n• 잠시 기다린 후 다시 시도하세요 — 보통 일시적인 문제입니다\n• 문제가 지속되면 제공업체의 상태 페이지를 확인하세요\n\n기술적 세부 정보\: {details} +error.system=⚠️ 시스템 오류\n\n예기치 않은 오류가 발생했습니다\: {errorCode}\n\nAskimo 지원팀에 다음 정보를 함께 전달해 주세요\:\n• 수행 중이던 작업\n• 위의 오류 코드\n• 타임스탬프 # Model Availability Errors error.model.not_available.title.chat=모델을 사용할 수 없음 @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=임베딩 모델을 사용할 수 없 error.model.not_available.message.chat=모델 ''{0}''을(를) 사용할 수 없습니다. error.model.not_available.message.embedding=임베딩 모델 ''{0}''을(를) 로컬 프로바이더에서 사용할 수 없습니다.\n\n설정 → AI 프로바이더 로 이동하여 프로바이더 구성 카드에서 사용 가능한 임베딩 모델을 선택하세요. error.model.not_available.config_link=임베딩 모델 설정 -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=예기치 않은 오류가 발생했습니다: {0} +error.app.message=예기치 않은 오류가 발생했습니다\: {0} # Send Message Errors error.send_message.title=메시지 전송 실패 @@ -1171,32 +1179,32 @@ error.indexing.unknown.message=인덱싱 중 알 수 없는 오류가 발생했 settings.rag.title=RAG 구성 settings.rag.description=프로젝트 기반 지식 검색을 위한 Retrieval-Augmented Generation 매개변수를 구성합니다 settings.rag.vector.max.results=벡터 검색 최대 결과 수 -settings.rag.vector.max.results.hint=벡터 검색에서 가져올 최대 문서 수 (기본값: 20) +settings.rag.vector.max.results.hint=벡터 검색에서 가져올 최대 문서 수 (기본값\: 20) settings.rag.vector.min.score=벡터 검색 최소 점수 -settings.rag.vector.min.score.hint=최소 유사도 점수 0.0–1.0 (기본값: 0.3) +settings.rag.vector.min.score.hint=최소 유사도 점수 0.0–1.0 (기본값\: 0.3) settings.rag.hybrid.max.results=하이브리드 최대 결과 수 -settings.rag.hybrid.max.results.hint=융합 후 최종 문서 수 (기본값: 15) +settings.rag.hybrid.max.results.hint=융합 후 최종 문서 수 (기본값\: 15) settings.rag.rank.fusion.constant=랭크 퓨전 상수 -settings.rag.rank.fusion.constant.hint=하이브리드 랭킹을 위한 RRF 상수 (기본값: 60) +settings.rag.rank.fusion.constant.hint=하이브리드 랭킹을 위한 RRF 상수 (기본값\: 60) settings.rag.use.absolute.paths=인용에서 절대 경로 사용 settings.rag.use.absolute.paths.hint=동일한 이름의 파일이 여러 개 있을 때 더 명확하게 하기 위해 AI 응답에 전체 파일 경로를 표시합니다 settings.rag.embedding.title=임베딩 구성 settings.rag.embedding.description=텍스트 분할 및 임베딩 매개변수를 구성합니다 settings.rag.embedding.max.chars.per.chunk=청크당 최대 문자 수 -settings.rag.embedding.max.chars.per.chunk.hint=각 텍스트 청크의 최대 문자 수 (기본값: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=각 텍스트 청크의 최대 문자 수 (기본값\: 1500) settings.rag.embedding.chunk.overlap=청크 중첩 -settings.rag.embedding.chunk.overlap.hint=청크 간 중첩되는 문자 수 (기본값: 100) +settings.rag.embedding.chunk.overlap.hint=청크 간 중첩되는 문자 수 (기본값\: 100) settings.rag.embedding.models=제공자별 임베딩 모델 settings.rag.indexing.title=인덱싱 구성 settings.rag.indexing.description=인덱싱할 파일과 허용되는 최대 파일 크기를 제어합니다 settings.rag.indexing.max.file.bytes=최대 파일 크기 (바이트) settings.rag.indexing.max.file.bytes.hint=이 값보다 큰 파일은 인덱싱 중에 건너뜁니다. 너무 높게 설정하면 인덱싱 속도가 크게 느려질 수 있습니다. settings.rag.indexing.supported.extensions=지원되는 확장자 -settings.rag.indexing.supported.extensions.hint=인덱싱할 파일 확장자를 쉼표로 구분하여 입력합니다 (예: kt, java, py, md). 빈칸으로 두면 기본값을 사용합니다. +settings.rag.indexing.supported.extensions.hint=인덱싱할 파일 확장자를 쉼표로 구분하여 입력합니다 (예\: kt, java, py, md). 빈칸으로 두면 기본값을 사용합니다. settings.rag.indexing.exclude.file.names=제외할 파일 이름 -settings.rag.indexing.exclude.file.names.hint=항상 건너뛸 정확한 파일 이름을 쉼표로 구분하여 입력합니다 (예: package-lock.json, yarn.lock). +settings.rag.indexing.exclude.file.names.hint=항상 건너뛸 정확한 파일 이름을 쉼표로 구분하여 입력합니다 (예\: package-lock.json, yarn.lock). settings.rag.indexing.binary.extensions=바이너리 확장자 -settings.rag.indexing.binary.extensions.hint=인덱싱 중 바이너리로 처리되어 건너뛸 파일 확장자를 쉼표로 구분하여 입력합니다 (예: png, jpg, zip, exe). 빈칸으로 두면 기본값을 사용합니다. +settings.rag.indexing.binary.extensions.hint=인덱싱 중 바이너리로 처리되어 건너뛸 파일 확장자를 쉼표로 구분하여 입력합니다 (예\: png, jpg, zip, exe). 빈칸으로 두면 기본값을 사용합니다. settings.rag.indexing.embedding.batch.size=임베딩 배치 크기 settings.rag.indexing.embedding.batch.size.hint=요청당 임베딩 모델에 전송되는 텍스트 세그먼트 수입니다. 인덱싱이 느리고 원격 공급자(OpenAI, Gemini)를 사용하는 경우 100–500으로 늘려 보세요. 로컬 모델(Ollama, LM Studio)을 사용하는 경우 타임아웃을 방지하려면 낮게 유지하세요. @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=요청당 임베딩 모델에 settings.models.title=모델 settings.models.description=모든 공급자에서 공유되는 전역 AI 모델 동작을 구성합니다. settings.models.max.tool.calling.round.trips=최대 도구 호출 라운드 트립 -settings.models.max.tool.calling.round.trips.hint=AI가 단일 응답에서 수행할 수 있는 최대 도구 호출 횟수입니다 (기본값: 10). 값이 높을수록 복잡한 에이전트 작업이 가능하지만 지연 시간과 비용이 증가합니다. +settings.models.max.tool.calling.round.trips.hint=AI가 단일 응답에서 수행할 수 있는 최대 도구 호출 횟수입니다 (기본값\: 10). 값이 높을수록 복잡한 에이전트 작업이 가능하지만 지연 시간과 비용이 증가합니다. # Memory Settings settings.memory.title=메모리 설정 @@ -1247,11 +1255,11 @@ file.viewer.title=파일 뷰어 file.viewer.title.with.name=파일 뷰어 - {0} file.viewer.dialog.close=닫기 file.viewer.copy.clipboard=클립보드에 복사 -file.viewer.copied=복사됨! +file.viewer.copied=복사됨\! # Mermaid Chart Renderer mermaid.setup.required.title=Mermaid CLI 필요 -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=설정 가이드 열기 mermaid.rendering.progress=다이어그램 렌더링 중... mermaid.error.rendering.title=다이어그램 렌더링 오류 @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=확대 mermaid.button.zoom.out=축소 mermaid.button.reset.zoom=확대/축소 초기화 mermaid.button.retry=다시 시도 -mermaid.feedback.copied=복사됨! +mermaid.feedback.copied=복사됨\! mermaid.setup.button.install=Mermaid CLI 설치 mermaid.setup.button.check.again=다시 확인 mermaid.setup.button.download.node=Node.js 다운로드 mermaid.setup.installing=Mermaid CLI 설치 중... mermaid.setup.install.failed=설치에 실패했습니다. 자세한 내용은 아래 출력을 확인하세요. mermaid.setup.node.required=Node.js와 npm을 찾을 수 없습니다. 원클릭 설치를 사용하려면 먼저 Node.js를 설치하세요. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=다이어그램 코드 보기 mermaid.error.code.hide=다이어그램 코드 숨기기 @@ -1290,7 +1298,7 @@ mcp.instances.title=MCP 인스턴스 mcp.instances.description=사용 가능한 MCP 인스턴스입니다 mcp.instances.empty=구성된 MCP 인스턴스가 없습니다 mcp.instances.count={0} 인스턴스 -mcp.instance.server.label=서버: {0} +mcp.instance.server.label=서버\: {0} mcp.instance.delete.confirm.title=MCP 인스턴스를 삭제하시겠습니까? mcp.instance.delete.confirm.message=MCP 인스턴스 "{0}"를 정말로 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다. mcp.instance.enable.tooltip=이 MCP 인스턴스 활성화 @@ -1316,7 +1324,7 @@ mcp.instance.field.description=설명 mcp.instance.field.description.placeholder=이 서버가 수행하는 작업에 대한 간단한 설명 mcp.instance.field.transport=전송 유형 mcp.instance.field.command=명령어 템플릿 -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint={{parameter}} 플레이스홀더가 포함된 공백 구분 명령어 mcp.instance.validation.error.empty.id=서버 ID는 비워둘 수 없습니다 mcp.instance.validation.error.invalid.id.pattern=서버 ID는 소문자 문자, 숫자 및 하이픈만 포함해야 합니다 @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=명령어 템플릿은 비워둘 수 mcp.instance.validation.error.empty.parameter.key=매개변수 키는 비워둘 수 없습니다 mcp.instance.validation.error.empty.parameter.label=매개변수 라벨은 비워둘 수 없습니다 mcp.instance.env.label=환경 변수 (선택 사항) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=형식: KEY=값 또는 KEY={{parameter}} (1줄에 1쌍) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=형식\: KEY\=값 또는 KEY\={{parameter}} (1줄에 1쌍) mcp.instance.transport.stdio=Stdio (로컬 프로세스) mcp.instance.transport.http=HTTP (원격 서버) mcp.instance.http.url.label=URL 템플릿 -mcp.instance.http.url.placeholder=https://{{host}}/mcp 또는 https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp 또는 https\://api.example.com/mcp mcp.instance.http.url.hint=서버 엔드포인트 URL입니다. 동적 값에는 {{parameter}} 플레이스홀더를 사용합니다 mcp.instance.http.headers.label=HTTP 헤더 (선택 사항) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=형식: 헤더 이름=값 또는 헤더 이름={{parameter}} (1줄에 1쌍) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=형식\: 헤더 이름\=값 또는 헤더 이름\={{parameter}} (1줄에 1쌍) mcp.instance.http.timeout.label=시간 초과 (ms) mcp.instance.http.timeout.hint=요청 시간 초과를 밀리초 단위로 지정하세요 mcp.instance.validation.error.empty.url=URL 템플릿은 비워둘 수 없습니다 -mcp.instance.validation.error.invalid.url=URL 템플릿은 http:// 또는 https://로 시작해야 합니다 +mcp.instance.validation.error.invalid.url=URL 템플릿은 http\:// 또는 https\://로 시작해야 합니다 # MCP Integrations (Project View) mcp.instance.delete.tooltip=MCP 인스턴스 삭제 @@ -1349,7 +1357,7 @@ mcp.instance.field.serverId=서버 유형 # Add MCP Integration Dialog mcp.instance.name=MCP 이름 -mcp.instance.name.placeholder=예: 프로덕션 데이터베이스, 프로젝트 파일 +mcp.instance.name.placeholder=예\: 프로덕션 데이터베이스, 프로젝트 파일 mcp.instance.tools.title=사용 가능한 도구 mcp.instance.tools.count={0} 개의 도구가 사용 가능합니다 mcp.instance.tool.strategy.intent=의도 기반 @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} / {1} 도구 mcp.tools.dialog.search.empty=검색에 일치하는 도구가 없습니다 mcp.tools.dialog.export=도구 내보내기 mcp.tools.dialog.export.success={0}로 도구를 내보냈습니다 -mcp.tools.dialog.export.failed=도구 내보내기 실패: {0} +mcp.tools.dialog.export.failed=도구 내보내기 실패\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=MCP 서버 추가 @@ -1444,7 +1452,7 @@ file.viewer.close=뷰어 닫기 file.viewer.open.external=외부에서 열기 file.viewer.binary=바이너리 파일 — 텍스트로 미리 볼 수 없습니다. file.viewer.too.large=파일이 너무 커서 미리 볼 수 없습니다({0} KB). 최대 크기는 512 KB입니다. -file.viewer.error=파일을 읽을 수 없습니다: {0} +file.viewer.error=파일을 읽을 수 없습니다\: {0} file.viewer.select.prompt=위 트리에서 파일을 선택하여 내용을 미리 보세요 # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=패널 접기 # RAG Status rag.status.started=인덱싱 시작됨 -rag.status.inprogress=인덱싱 중: {0}% +rag.status.inprogress=인덱싱 중\: {0}% rag.status.inprogress.unknown=인덱싱 중... rag.status.queued=대기열 추가됨 — 다른 프로젝트의 인덱싱이 완료되기를 기다리는 중 rag.status.ready=준비 완료 @@ -1510,7 +1518,7 @@ plans.editor.label=YAML 내용 plans.editor.placeholder=여기에 플랜 YAML을 붙여넣거나 입력하세요... plans.editor.valid=유효한 YAML plans.editor.hint.title=참고 -plans.editor.hint.fields=필수: id, name, steps\n선택: description, icon, inputs, workflow\n단계 유형: text, multiline, toggle, number\n워크플로 유형: sequence, parallel, conditional +plans.editor.hint.fields=필수\: id, name, steps\n선택\: description, icon, inputs, workflow\n단계 유형\: text, multiline, toggle, number\n워크플로 유형\: sequence, parallel, conditional plans.editor.menu.edit=YAML 편집 plans.editor.ai.label=AI로 생성 plans.editor.ai.placeholder=이 계획이 수행할 작업을 알기 쉬운 말로 설명해주세요... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=패널 접기 skills.view.panel.expand=패널 펼치기 skills.view.tab.skills=스킬 skills.view.tab.workspace=작업 공간 -skills.view.last.run=마지막 실행: {0} +skills.view.last.run=마지막 실행\: {0} skills.view.category.uncategorized=기타 skills.view.search.placeholder=기술 검색 ... skills.view.search.clear=검색 지우기 skills.view.context.placeholder=무엇을 하고 싶으신가요? (선택 사항) -skills.view.command.mode.hint=명령 모드: /로 시작하는 입력은 에이전트 명령으로 실행됩니다. +skills.view.command.mode.hint=명령 모드\: /로 시작하는 입력은 에이전트 명령으로 실행됩니다. skills.view.system.prompt.preview=시스템 프롬프트 skills.view.response.title=응답 skills.view.followup.label=후속 질문 @@ -1584,7 +1592,7 @@ skills.view.history.empty=아직 실행 기록이 없습니다 skills.view.copy=복사 skills.view.system.prompt.file=파일 skills.view.system.prompt.files=파일 -skills.view.system.prompt.also.included=에이전트 컨텍스트에도 포함됨: +skills.view.system.prompt.also.included=에이전트 컨텍스트에도 포함됨\: skills.view.docs.tooltip=스킬 가이드 보기 skills.view.mode.agentic=에이전트형 skills.view.mode.manual=수동 @@ -1611,7 +1619,7 @@ onboarding.step.language.label=언어 # Onboarding Step 1: Analytics onboarding.step.analytics.title=Askimo를 모두에게 더 좋게 만드는 데 도움 주세요 onboarding.step.analytics.description=Askimo는 무료 오픈 소스입니다. 익명 사용 데이터 공유는 작은 기여이지만, 어떤 기능을 우선 개발할지 이해하는 데 큰 도움이 됩니다. -onboarding.step.analytics.collected.yes.features=✅ 사용된 기능들 (예: RAG, MCP 도구, 플랜, 스킬) +onboarding.step.analytics.collected.yes.features=✅ 사용된 기능들 (예\: RAG, MCP 도구, 플랜, 스킬) onboarding.step.analytics.collected.yes.version=✅ 앱 버전 및 운영체제 유형 onboarding.step.analytics.collected.no.conversations=❌ 대화 내용이나 프롬프트는 절대 제공하지 않음 onboarding.step.analytics.collected.no.personal=❌ 개인정보, 파일, API 키는 절대 수집하지 않습니다 @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=수집하지 않는 정보 onboarding.step.analytics.toggle.subtitle=가장 중요한 것에 집중할 수 있도록 도와줍니다 · 설정 → 고급에서 언제든지 변경 가능 # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 Askimo에 오신 것을 환영합니다! +onboarding.step.welcome.title=👋 Askimo에 오신 것을 환영합니다\! onboarding.step.welcome.description=여러 AI 모델과 대화하고, 프로젝트로 지식을 정리하며, 스킬 및 플랜을 활용해 워크플로를 자동화할 수 있는 당신만의 AI 비서입니다. onboarding.step.welcome.feature1.title=💬 AI와 대화하기 onboarding.step.welcome.feature1.description=질문하거나, 과제 도움을 받거나, 어떤 AI 모델과도 자연스럽게 대화할 수 있습니다. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=학습엔 친절한 튜터, 디 onboarding.step.directives.link=예시와 팁 보기 # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 준비 완료! +onboarding.step.ready.title=🚀 준비 완료\! onboarding.step.ready.description=모든 설정이 완료됐습니다. 첫 채팅을 시작하거나 아래 리소스를 확인해보세요. onboarding.step.ready.link.docs=📚 문서 보기 onboarding.step.ready.link.providers=🔧 AI 제공업체 설정 @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ GitHub에서 별 주기 onboarding.step.persona.title=🎯 주로 어떤 작업을 하고 싶으신가요? onboarding.step.persona.description=귀하의 업무와 가장 비슷한 옵션을 선택하세요. Askimo가 가장 관련성 높은 기능을 보여드립니다. 보기 메뉴에서 언제든지 이를 변경할 수 있습니다. onboarding.step.persona.developer.description=코드 읽기 및 쓰기, 파일 리팩토링, 스캐폴딩 생성 또는 로컬 프로젝트에서 에이전트 작업 실행. -onboarding.step.persona.developer.features=활성화: Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=활성화\: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=주제 조사, 데이터 분석, 구조화된 보고서 작성 및 지식 기반 답변 얻기. -onboarding.step.persona.researcher.features=활성화: Plans, Projects (RAG) +onboarding.step.persona.researcher.features=활성화\: Plans, Projects (RAG) onboarding.step.persona.manager.description=이메일 초안 작성, 회의록 처리, 상태 보고서 작성 또는 다단계 콘텐츠 워크플로 실행. -onboarding.step.persona.manager.features=활성화: Plans +onboarding.step.persona.manager.features=활성화\: Plans onboarding.step.persona.everything.description=저는 여러 가지 작업을 혼합하여 합니다 — 모든 기능을 보여주시면 제가 무엇을 사용할지 결정하겠습니다. -onboarding.step.persona.everything.features=활성화: Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=활성화\: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 코드 작성 및 검토 From 5c41364e6c2b2d59f5eac22f8cb2707f22424fb9 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:30 +0000 Subject: [PATCH 06/10] New translations messages.properties (Chinese Simplified) [ci skip] --- .../resources/i18n/messages_zh_CN.properties | 84 ++++++++++--------- 1 file changed, 46 insertions(+), 38 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_zh_CN.properties b/desktop-shared/src/main/resources/i18n/messages_zh_CN.properties index 0550276a1..a8b5bcd14 100644 --- a/desktop-shared/src/main/resources/i18n/messages_zh_CN.properties +++ b/desktop-shared/src/main/resources/i18n/messages_zh_CN.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 加入 Discord 社区 menu.help.share.x=分享到 X / Twitter menu.help.share.linkedin=分享到 LinkedIn menu.help.share.facebook=分享到 Facebook -menu.help.share.text=推荐 Askimo — 免费、本地优先的 AI 桌面客户端,支持 Ollama、OpenAI、Anthropic 等。 https://askimo.chat +menu.help.share.text=推荐 Askimo — 免费、本地优先的 AI 桌面客户端,支持 Ollama、OpenAI、Anthropic 等。 https\://askimo.chat menu.help.share.hackernews=发布到 Hacker News menu.eventlog=事件日志 menu.help.model.capabilities=打开模型功能文件 @@ -219,13 +219,16 @@ projects.sources.expand=显示参考资料 projects.sources.collapse=隐藏参考资料 projects.sources.empty.title=尚未添加参考资料 projects.sources.empty.description=添加文档后,Askimo 才能在回答问题时进行参考 -projects.sources.info.tooltip=参考资料可帮助 Askimo 理解您的具体上下文。\n\n\ -请添加包含您希望 Askimo 在回答问题时参考的信息的文件夹、文件或网站。\n\n\ +projects.sources.info.tooltip=参考资料可帮助 Askimo 理解您的具体上下文。\n\ +\n\ +请添加包含您希望 Askimo 在回答问题时参考的信息的文件夹、文件或网站。\n\ +\n\ 例如:\n\ • 项目文档\n\ • 公司知识库\n\ • 技术规格说明\n\ -• 研究论文\n\n\ +• 研究论文\n\ +\n\ Askimo 将搜索这些资料,以提供更准确、更具上下文感知的回答。 projects.sources.type.local_folders=本地文件夹 projects.sources.type.local_files=本地文件 @@ -253,7 +256,7 @@ project.menu.tooltip=项目菜单 project.new.chat.placeholder=在 {0} 中开始新聊天 project.recent.chats=最近的聊天 project.no.chats=还没有聊天记录。请在下方开始新的聊天! -project.indexing.label=正在索引知识源: {0} +project.indexing.label=正在索引知识源\: {0} project.indexing.queued=索引已排队 - 等待另一个项目完成... project.indexing.failed=索引失败。请尝试从项目菜单重新索引。 project.indexing.ready.label=已索引 @@ -272,7 +275,7 @@ settings.appearance=外观 settings.appearance.accent=强调色 settings.appearance.accent.description=安全地自定义单一强调色。Askimo 会将其应用于主要界面强调,并派生相关颜色以保证可读性。 settings.appearance.accent.label=强调色(Hex) -settings.appearance.accent.invalid=请输入有效的十六进制颜色,例如 #0284C7 +settings.appearance.accent.invalid=请输入有效的十六进制颜色,例如 \#0284C7 settings.appearance.accent.swatch.primary=主色 settings.appearance.accent.swatch.primary.container=容器 settings.appearance.accent.swatch.on.primary.container=容器前景 @@ -434,7 +437,7 @@ settings.web_search.api_key=API 密鉅 settings.web_search.api_key.placeholder=在此处粘贴您的 API 密鉅 settings.web_search.get_api_key=获取免费 API 密鉅 ↗ settings.web_search.endpoint=SearxNG 实例 URL -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=测试搜索 settings.web_search.test.running=测试中... settings.web_search.test.success=✅ 搜索正常运行 @@ -753,7 +756,7 @@ sessions.search.placeholder=按标题搜索… sessions.search.empty=没有与 "{0}" 匹配的会话。 # Generic table pagination controls -table.page.size.label=每页行数: +table.page.size.label=每页行数\: table.page=第 {0} 页 共 {1} 页 table.page.previous=上一页 table.page.next=下一页 @@ -835,7 +838,7 @@ settings.model.chat.filter.label=聊天模型 · 已显示 {0} settings.model.chat.filter.show.all=显示所有 {0} settings.configure.title=配置 {0} settings.test.connection.testing=正在测试... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=无法连接到提供商。请验证您的 API 密钥是否正确(对于云提供商)或您的基础 URL 是否可达(对于本地提供商)。您可以使用上面的帮助链接找到设置说明。 # Directives Dialog @@ -919,7 +922,7 @@ message.edited.indicator=(已编辑) message.date.today=今天 message.date.yesterday=昨天 message.token.usage={0} 个 token · {1} 进 / {2} 出 -message.token.usage.tooltip=此回复使用的 token。\n输入: 您的 prompt + 发送给 AI 的上下文。\n输出: AI 生成的回复。 +message.token.usage.tooltip=此回复使用的 token。\n输入\: 您的 prompt + 发送给 AI 的上下文。\n输出\: AI 生成的回复。 # Bookmarks chat.bookmarks.button.tooltip=书签 @@ -970,7 +973,7 @@ provider.template.get.apikey=获取 API 密钥 → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=使用 Workers AI 在 Cloudflare 的全球边缘网络上运行 AI 模型。 -provider.template.cloudflare_ai.help=💡 使用 Cloudflare AI:\n\n1. 在 Cloudflare 控制台中找到您的 Account ID\n2. 用它替换基础 URL 中的 {ACCOUNT_ID}\n3. 在以下位置创建具有 'Workers AI' 权限的 API 令牌:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 使用 Cloudflare AI:\n\n1. 在 Cloudflare 控制台中找到您的 Account ID\n2. 用它替换基础 URL 中的 {ACCOUNT_ID}\n3. 在以下位置创建具有 ''Workers AI'' 权限的 API 令牌:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=为开源模型提供超快推理 — Llama、Mixtral、Gemma 等。 provider.template.groq.help=💡 使用 Groq:\n\n1. 在 console.groq.com/keys 获取免费 API 密钥\n2. 输入模型名称,例如 llama-3.1-8b-instant\n3. 点击"下一步"浏览所有可用模型 provider.template.nvidia_nim.tagline=在 NVIDIA 的云 GPU 基础设施上运行优化的 AI 模型。 @@ -979,6 +982,11 @@ provider.template.openrouter.tagline=通过一个 API 访问 300 多个模型 provider.template.openrouter.help=💡 使用 OpenRouter:\n\n1. 在 openrouter.ai/keys 获取免费 API 密钥\n2. 点击"下一步"浏览 300 多个可用模型\n3. 许多模型提供免费额度 — 无需信用卡 provider.template.together_ai.tagline=为 100 多个开源模型提供快速、经济的推理。 provider.template.together_ai.help=💡 使用 Together AI:\n\n1. 在 api.together.ai/settings/api-keys 获取 API 密钥\n2. 点击"下一步"浏览可用模型,\n 例如 meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -1004,14 +1012,14 @@ provider.apikey.security.link=了解我们如何保护您的数据 provider.not.set=未设置 # Provider Configuration - OpenAI -provider.openai.apikey.description=OpenAI API Key(https://platform.openai.com/account/api-keys) +provider.openai.apikey.description=OpenAI API Key(https\://platform.openai.com/account/api-keys) provider.openai.apikey.stored=API Key 已保存。留空表示保留现有 Key。 -provider.openai.setup.help=使用 OpenAI 需要 API Key。\n\n1. 获取:https://platform.openai.com/account/api-keys\n2. 在设置中配置或使用 :change-settings +provider.openai.setup.help=使用 OpenAI 需要 API Key。\n\n1. 获取:https\://platform.openai.com/account/api-keys\n2. 在设置中配置或使用 \:change-settings # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Anthropic API Key:https://console.anthropic.com/ +provider.anthropic.apikey.description=Anthropic API Key:https\://console.anthropic.com/ provider.anthropic.apikey.stored=API Key 已保存。 -provider.anthropic.setup.help=使用 Anthropic 需要 API Key。\n\n1. 获取:https://console.anthropic.com/\n2. 在设置中配置或使用 :change-settings +provider.anthropic.setup.help=使用 Anthropic 需要 API Key。\n\n1. 获取:https\://console.anthropic.com/\n2. 在设置中配置或使用 \:change-settings provider.anthropic.max_tokens.label=最大 Token 数 provider.anthropic.max_tokens.description=模型每次响应可生成的最大 Token 数(思考 + 回答的总和)。 provider.anthropic.thinking_budget_tokens.label=思考预算 Token 数 @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=思考时最大 Token 数 provider.anthropic.thinking_max_tokens.description=启用思考功能时的总 Token 上限(思考 + 回答)。设置为 0 以使用“最大 Token 数”代替。 # Provider Configuration - Gemini -provider.gemini.apikey.description=Google AI Studio API Key:https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Google AI Studio API Key:https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API Key 已保存。 -provider.gemini.setup.help=使用 Gemini 需要 API Key。\n\n1. 获取:https://aistudio.google.com/app/apikey\n2. 在设置中配置或使用 :change-settings +provider.gemini.setup.help=使用 Gemini 需要 API Key。\n\n1. 获取:https\://aistudio.google.com/app/apikey\n2. 在设置中配置或使用 \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=XAI API Key:https://console.x.ai/ +provider.xai.apikey.description=XAI API Key:https\://console.x.ai/ provider.xai.apikey.stored=API Key 已保存。 -provider.xai.setup.help=使用 XAI 需要 API Key。\n\n1. 获取:https://console.x.ai/\n2. 在设置中配置或使用 :change-settings +provider.xai.setup.help=使用 XAI 需要 API Key。\n\n1. 获取:https\://console.x.ai/\n2. 在设置中配置或使用 \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=Ollama 基础 URL(默认 http://localhost:11434) -provider.ollama.setup.help=使用 Ollama 需要本地运行。\n\n1. 安装:https://ollama.ai/\n2. 启动服务\n3. 如需可更改基础 URL +provider.ollama.baseurl.description=Ollama 基础 URL(默认 http\://localhost\:11434) +provider.ollama.setup.help=使用 Ollama 需要本地运行。\n\n1. 安装:https\://ollama.ai/\n2. 启动服务\n3. 如需可更改基础 URL # Provider Configuration - Docker AI -provider.docker.baseurl.description=Docker AI 基础 URL(默认 http://localhost:12434) +provider.docker.baseurl.description=Docker AI 基础 URL(默认 http\://localhost\:12434) provider.docker.setup.help=使用 Docker AI 需要本地运行。\n\n1. 确保 Docker AI 已安装并运行\n2. 启动服务\n3. 如需可更改基础 URL # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=LocalAI 基础 URL provider.localai.setup.help=使用 LocalAI 需先运行。\n\n1. 安装并启动 LocalAI\n2. 配置基础 URL # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=LMStudio 基础 URL(默认 http://localhost:1234) -provider.lmstudio.setup.help=使用 LMStudio:\n\n1. 安装:https://lmstudio.ai/\n2. 启动本地服务\n3. 可选更改基础 URL +provider.lmstudio.baseurl.description=LMStudio 基础 URL(默认 http\://localhost\:1234) +provider.lmstudio.setup.help=使用 LMStudio:\n\n1. 安装:https\://lmstudio.ai/\n2. 启动本地服务\n3. 可选更改基础 URL provider.lmstudio.openai.compat.info=Askimo 使用 OpenAI 兼容端点(/v1),而非 LMStudio 原生 API(/api/v1/)。 # Provider Configuration - Open AI Compatible @@ -1137,7 +1145,7 @@ error.empty_http_response=⚠️ 服务器在未响应的情况下关闭了连 error.empty_http_response.hint.docker=要在 Docker AI / Docker Model Runner 中增加上下文窗口:\n• 启动模型时传入 --context-size <值> (例如 --context-size 32768)\n• 或者在模型运行配置中进行设置 error.empty_http_response.hint.ollama=要在 Ollama 中增加上下文窗口:\n• 在 Modelfile 中设置 num_ctx (例如 PARAMETER num_ctx 32768)\n• 或者作为参数传入:ollama run <模型> --num-ctx 32768 error.empty_http_response.hint.lmstudio=要在 LM Studio 中增加上下文窗口:\n• 打开模型设置面板\n• 找到 "Context Length" 并将其调高 (例如设置为 32768 或更高,最高可达模型上限)\n• 更改设置后重启本地服务器 -error.empty_http_response.hint.localai=要在 LocalAI 中增加上下文窗口:\n• 编辑模型配置 YAML 并设置 context_size: 32768\n• 更改设置后重启 LocalAI 服务器 +error.empty_http_response.hint.localai=要在 LocalAI 中增加上下文窗口:\n• 编辑模型配置 YAML 并设置 context_size\: 32768\n• 更改设置后重启 LocalAI 服务器 error.empty_http_response.hint.generic=要增加上下文窗口:\n• 检查提供程序的设置,查找上下文长度/大小选项并将其调高 (例如设置为 32768 token)\n• 更改设置后重启提供程序 error.remote_server=⚠️ AI 提供商服务器错误\n\n提供商服务器返回了临时错误(例如过载或不可用)。这不是由 Askimo 引起的。\n\n处理方法:\n• 稍等片刻后重试 — 通常只是短暂问题\n• 若问题持续,请查看提供商的状态页面\n\n技术详情:{details} error.system=⚠️ 系统错误\n\n发生了意外错误:{errorCode}\n\n请联系 Askimo 支持,并提供:\n• 您的操作步骤\n• 上述错误代码\n• 发生时间 @@ -1148,7 +1156,7 @@ error.model.not_available.title.embedding=嵌入模型不可用 error.model.not_available.message.chat=模型 ''{0}'' 不可用。 error.model.not_available.message.embedding=嵌入模型 ''{0}'' 在本地提供商中不可用。\n\n请前往 设置 → AI 提供商,在提供商配置卡片中选择一个可用的嵌入模型。 error.model.not_available.config_link=配置嵌入模型 -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors error.app.message=发生了一个意外错误:{0} @@ -1251,7 +1259,7 @@ file.viewer.copied=已复制! # Mermaid Chart Renderer mermaid.setup.required.title=需要 Mermaid CLI -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=打开安装指南 mermaid.rendering.progress=正在渲染图表... mermaid.error.rendering.title=渲染图表时出错 @@ -1271,7 +1279,7 @@ mermaid.setup.button.download.node=下载 Node.js mermaid.setup.installing=正在安装 Mermaid CLI... mermaid.setup.install.failed=安装失败。请查看下方输出了解详情。 mermaid.setup.node.required=未找到 Node.js 和 npm。请先安装 Node.js 以启用一键安装。 -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=查看图表代码 mermaid.error.code.hide=隐藏图表代码 @@ -1290,7 +1298,7 @@ mcp.instances.title=MCP 实例 mcp.instances.description=这些 MCP 实例可用 mcp.instances.empty=未配置 MCP 实例 mcp.instances.count={0} 个实例 -mcp.instance.server.label=服务器: {0} +mcp.instance.server.label=服务器\: {0} mcp.instance.delete.confirm.title=删除 MCP 实例? mcp.instance.delete.confirm.message=您确定要删除 mcp 实例 "{0}" 吗?此操作不可撤销。 mcp.instance.enable.tooltip=启用此 MCP 实例 @@ -1316,7 +1324,7 @@ mcp.instance.field.description=描述 mcp.instance.field.description.placeholder=关于此服务器做什么的简要描述 mcp.instance.field.transport=传输类型 mcp.instance.field.command=命令模板 -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=包含 {{parameter}} 占位符的空格分隔命令 mcp.instance.validation.error.empty.id=服务器 ID 不能为空 mcp.instance.validation.error.invalid.id.pattern=服务器 ID 只能包含小写字母、数字和连字符 @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=命令模板不能为空 mcp.instance.validation.error.empty.parameter.key=参数键不能为空 mcp.instance.validation.error.empty.parameter.label=参数标签不能为空 mcp.instance.env.label=环境变量 (可选) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=格式: KEY=值 或 KEY={{parameter}} (每行一个) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=格式\: KEY\=值 或 KEY\={{parameter}} (每行一个) mcp.instance.transport.stdio=Stdio (本地进程) mcp.instance.transport.http=HTTP (远程服务器) mcp.instance.http.url.label=URL 模板 -mcp.instance.http.url.placeholder=https://{{host}}/mcp 或 https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp 或 https\://api.example.com/mcp mcp.instance.http.url.hint=服务器端点 URL。使用 {{parameter}} 占位符用于动态值 mcp.instance.http.headers.label=HTTP 头部 (可选) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=格式: 头部名称=值 或 头部名称={{parameter}} (每行一个) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=格式\: 头部名称\=值 或 头部名称\={{parameter}} (每行一个) mcp.instance.http.timeout.label=超时时间 (ms) mcp.instance.http.timeout.hint=请求超时时间(毫秒) mcp.instance.validation.error.empty.url=URL 模板不能为空 -mcp.instance.validation.error.invalid.url=URL 模板必须以 http:// 或 https:// 开头 +mcp.instance.validation.error.invalid.url=URL 模板必须以 http\:// 或 https\:// 开头 # MCP Integrations (Project View) mcp.instance.delete.tooltip=删除 MCP 实例 @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} / {1} 个工具 mcp.tools.dialog.search.empty=没有工具匹配您的搜索 mcp.tools.dialog.export=导出工具 mcp.tools.dialog.export.success=已将工具导出到 {0} -mcp.tools.dialog.export.failed=导出工具失败: {0} +mcp.tools.dialog.export.failed=导出工具失败\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=添加 MCP 服务器 @@ -1584,7 +1592,7 @@ skills.view.history.empty=还没有运行记录 skills.view.copy=复制 skills.view.system.prompt.file=文件 skills.view.system.prompt.files=文件 -skills.view.system.prompt.also.included=也包含在代理上下文中: +skills.view.system.prompt.also.included=也包含在代理上下文中\: skills.view.docs.tooltip=查看技能指南 skills.view.mode.agentic=代理式 skills.view.mode.manual=手动 From 04ba301b7a337245af0dcc32b63063a5311f2a13 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:32 +0000 Subject: [PATCH 07/10] New translations messages.properties (Chinese Traditional) [ci skip] --- .../resources/i18n/messages_zh_TW.properties | 82 ++++++++++--------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_zh_TW.properties b/desktop-shared/src/main/resources/i18n/messages_zh_TW.properties index 4eea7942b..7ce4a19f3 100644 --- a/desktop-shared/src/main/resources/i18n/messages_zh_TW.properties +++ b/desktop-shared/src/main/resources/i18n/messages_zh_TW.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 加入 Discord 社群 menu.help.share.x=分享到 X / Twitter menu.help.share.linkedin=分享到 LinkedIn menu.help.share.facebook=分享到 Facebook -menu.help.share.text=推薦 Askimo — 免費、本地優先的 AI 桜面客戶端,支持 Ollama、OpenAI、Anthropic 等。 https://askimo.chat +menu.help.share.text=推薦 Askimo — 免費、本地優先的 AI 桜面客戶端,支持 Ollama、OpenAI、Anthropic 等。 https\://askimo.chat menu.help.share.hackernews=發佈到 Hacker News menu.eventlog=事件記錄 menu.help.model.capabilities=開啟模型功能檔案 @@ -219,13 +219,16 @@ projects.sources.expand=顯示參考資料 projects.sources.collapse=隱藏參考資料 projects.sources.empty.title=尚未新增參考資料 projects.sources.empty.description=新增文件後,Askimo 才能在回答問題時進行參考 -projects.sources.info.tooltip=參考資料可協助 Askimo 理解您的具體情境。\n\n\ -請新增包含您希望 Askimo 在回答問題時參考之資訊的資料夾、檔案或網站。\n\n\ +projects.sources.info.tooltip=參考資料可協助 Askimo 理解您的具體情境。\n\ +\n\ +請新增包含您希望 Askimo 在回答問題時參考之資訊的資料夾、檔案或網站。\n\ +\n\ 例如:\n\ • 專案文件\n\ • 公司知識庫\n\ • 技術規格文件\n\ -• 研究論文\n\n\ +• 研究論文\n\ +\n\ Askimo 會搜尋這些資料,以提供更準確且具情境理解的回答。 projects.sources.type.local_folders=本機資料夾 projects.sources.type.local_files=本機檔案 @@ -253,7 +256,7 @@ project.menu.tooltip=專案選單 project.new.chat.placeholder=在 {0} 中建立新聊天 project.recent.chats=最近的聊天 project.no.chats=尚未有聊天記錄。請在下方開始新的聊天! -project.indexing.label=正在索引知識源: {0} +project.indexing.label=正在索引知識源\: {0} project.indexing.queued=索引已排入佇列 - 等待另一個專案完成... project.indexing.failed=索引失敗。請嘗試從專案選單重新索引。 project.indexing.ready.label=已索引 @@ -272,7 +275,7 @@ settings.appearance=外觀 settings.appearance.accent=強調色 settings.appearance.accent.description=安全地自訂單一強調色。Askimo 會將其套用到主要介面強調,並衍生相關顏色以確保可讀性。 settings.appearance.accent.label=強調色 (Hex) -settings.appearance.accent.invalid=請輸入有效的十六進位顏色,例如 #0284C7 +settings.appearance.accent.invalid=請輸入有效的十六進位顏色,例如 \#0284C7 settings.appearance.accent.swatch.primary=主色 settings.appearance.accent.swatch.primary.container=容器 settings.appearance.accent.swatch.on.primary.container=容器前景 @@ -434,7 +437,7 @@ settings.web_search.api_key=API 金鑰 settings.web_search.api_key.placeholder=在此處貼上您的 API 金鑰 settings.web_search.get_api_key=取得免費 API 金鑰 ↗ settings.web_search.endpoint=SearxNG 執行個體 URL -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=測試搜尋 settings.web_search.test.running=測試中... settings.web_search.test.success=✅ 搜尋正常運作 @@ -753,7 +756,7 @@ sessions.search.placeholder=按標題搜尋… sessions.search.empty=沒有與 "{0}" 相符的會話。 # Generic table pagination controls -table.page.size.label=每頁列數: +table.page.size.label=每頁列數\: table.page=第 {0} 頁 共 {1} 頁 table.page.previous=上一頁 table.page.next=下一頁 @@ -835,7 +838,7 @@ settings.model.chat.filter.label=聊天模型 · 已顯示 {0} settings.model.chat.filter.show.all=顯示所有 {0} settings.configure.title=設定 {0} settings.test.connection.testing=測試中... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=無法連接到提供商。請驗證您的 API 金鑰是否正確(對於雲端提供商)或您的基礎 URL 是否可達(對於本地提供商)。您可以使用上面的幫助連結找到設定說明。 # Directives Dialog @@ -919,7 +922,7 @@ message.edited.indicator=(已編輯) message.date.today=今天 message.date.yesterday=昨天 message.token.usage={0} 個 token · {1} 進 / {2} 出 -message.token.usage.tooltip=此回覆使用的 token。\n輸入: 您的 prompt + 傳送給 AI 的上下文。\n輸出: AI 產生的回覆。 +message.token.usage.tooltip=此回覆使用的 token。\n輸入\: 您的 prompt + 傳送給 AI 的上下文。\n輸出\: AI 產生的回覆。 # Bookmarks chat.bookmarks.button.tooltip=書籤 @@ -979,6 +982,11 @@ provider.template.openrouter.tagline=透過單一 API 存取 300 多個模型 provider.template.openrouter.help=💡 若要使用 OpenRouter:\n\n1. 在 openrouter.ai/keys 取得免費 API 金鑰\n2. 按一下「下一步」以瀏覽 300 多個可用模型\n3. 許多模型提供免費方案 — 無需信用卡 provider.template.together_ai.tagline=為 100 多個開源模型提供快速、實惠的推論。 provider.template.together_ai.help=💡 若要使用 Together AI:\n\n1. 在 api.together.ai/settings/api-keys 取得 API 金鑰\n2. 按一下「下一步」以瀏覽可用模型,\n 例如 meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -1004,14 +1012,14 @@ provider.apikey.security.link=了解我們如何保護您的資料 provider.not.set=未設定 # Provider Configuration - OpenAI -provider.openai.apikey.description=您的 OpenAI API 金鑰(https://platform.openai.com/account/api-keys) +provider.openai.apikey.description=您的 OpenAI API 金鑰(https\://platform.openai.com/account/api-keys) provider.openai.apikey.stored=API 金鑰已儲存。留白表示保持原金鑰,或輸入新金鑰以更新。 -provider.openai.setup.help=💡 若要使用 OpenAI,您必須提供 API 金鑰。\n\n1. 前往:https://platform.openai.com/account/api-keys\n2. 於設定中輸入或使用 :change-settings +provider.openai.setup.help=💡 若要使用 OpenAI,您必須提供 API 金鑰。\n\n1. 前往:https\://platform.openai.com/account/api-keys\n2. 於設定中輸入或使用 \:change-settings # Provider Configuration - Anthropic -provider.anthropic.apikey.description=您的 Anthropic API 金鑰(https://console.anthropic.com/) +provider.anthropic.apikey.description=您的 Anthropic API 金鑰(https\://console.anthropic.com/) provider.anthropic.apikey.stored=API 金鑰已儲存。留白代表保持現有設定。 -provider.anthropic.setup.help=💡 若要使用 Anthropic,請提供 API 金鑰。\n\n1. 取得位置:https://console.anthropic.com/\n2. 在設定中輸入或使用 :change-settings +provider.anthropic.setup.help=💡 若要使用 Anthropic,請提供 API 金鑰。\n\n1. 取得位置:https\://console.anthropic.com/\n2. 在設定中輸入或使用 \:change-settings provider.anthropic.max_tokens.label=最大 Token 數 provider.anthropic.max_tokens.description=模型每次回應可生成的最大 Token 數(思考 + 回答的總和)。 provider.anthropic.thinking_budget_tokens.label=思考預算 Token 數 @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=思考時最大 Token 數 provider.anthropic.thinking_max_tokens.description=啟用思考功能時的總 Token 上限(思考 + 回答)。設定為 0 以使用「最大 Token 數」代替。 # Provider Configuration - Gemini -provider.gemini.apikey.description=您的 Google AI Studio API 金鑰(https://aistudio.google.com/app/apikey) +provider.gemini.apikey.description=您的 Google AI Studio API 金鑰(https\://aistudio.google.com/app/apikey) provider.gemini.apikey.stored=API 金鑰已儲存。 -provider.gemini.setup.help=💡 若要使用 Gemini,請提供 API 金鑰。\n\n1. 取得位置:https://aistudio.google.com/app/apikey\n2. 在設定中輸入或使用 :change-settings +provider.gemini.setup.help=💡 若要使用 Gemini,請提供 API 金鑰。\n\n1. 取得位置:https\://aistudio.google.com/app/apikey\n2. 在設定中輸入或使用 \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=您的 XAI API 金鑰(https://console.x.ai/) +provider.xai.apikey.description=您的 XAI API 金鑰(https\://console.x.ai/) provider.xai.apikey.stored=API 金鑰已儲存。 -provider.xai.setup.help=💡 若要使用 XAI,請提供 API 金鑰。\n\n1. 前往:https://console.x.ai/\n2. 在設定中輸入或使用 :change-settings +provider.xai.setup.help=💡 若要使用 XAI,請提供 API 金鑰。\n\n1. 前往:https\://console.x.ai/\n2. 在設定中輸入或使用 \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=您的 Ollama 基本 URL(預設:http://localhost:11434) -provider.ollama.setup.help=💡 若要使用 Ollama,需在本機執行。\n\n1. 安裝:https://ollama.ai/\n2. 啟動服務\n3. 若非使用預設設定,可調整基本 URL +provider.ollama.baseurl.description=您的 Ollama 基本 URL(預設:http\://localhost\:11434) +provider.ollama.setup.help=💡 若要使用 Ollama,需在本機執行。\n\n1. 安裝:https\://ollama.ai/\n2. 啟動服務\n3. 若非使用預設設定,可調整基本 URL # Provider Configuration - Docker AI -provider.docker.baseurl.description=您的 Docker AI 基本 URL(預設:http://localhost:12434) +provider.docker.baseurl.description=您的 Docker AI 基本 URL(預設:http\://localhost\:12434) provider.docker.setup.help=💡 若要使用 Docker AI,需在本機執行。\n\n1. 確認已安裝並執行 Docker AI\n2. 啟動服務\n3. 若非使用預設設定,可調整基本 URL # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=您的 LocalAI 基本 URL provider.localai.setup.help=💡 若要使用 LocalAI,請先啟動服務。\n\n1. 安裝並啟動 LocalAI\n2. 設定可存取的 URL # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=您的 LMStudio 基本 URL(預設:http://localhost:1234) -provider.lmstudio.setup.help=💡 若要使用 LMStudio:\n\n1. 安裝:https://lmstudio.ai/\n2. 啟動本機伺服器\n3. 若需要,調整基本 URL +provider.lmstudio.baseurl.description=您的 LMStudio 基本 URL(預設:http\://localhost\:1234) +provider.lmstudio.setup.help=💡 若要使用 LMStudio:\n\n1. 安裝:https\://lmstudio.ai/\n2. 啟動本機伺服器\n3. 若需要,調整基本 URL provider.lmstudio.openai.compat.info=Askimo 使用 OpenAI 相容端點(/v1),而非 LMStudio 原生 API(/api/v1/)。 # Provider Configuration - Open AI Compatible @@ -1137,7 +1145,7 @@ error.empty_http_response=⚠️ 伺服器在未回應的情況下關閉了連 error.empty_http_response.hint.docker=要在 Docker AI / Docker Model Runner 中增加上下文視窗:\n• 啟動模型時傳入 --context-size <值> (例如 --context-size 32768)\n• 或者在模型執行配置中進行設定 error.empty_http_response.hint.ollama=要在 Ollama 中增加上下文視窗:\n• 在 Modelfile 中設定 num_ctx (例如 PARAMETER num_ctx 32768)\n• 或者作為參數傳入:ollama run <模型> --num-ctx 32768 error.empty_http_response.hint.lmstudio=要在 LM Studio 中增加上下文視窗:\n• 開啟模型設定面板\n• 找到 "Context Length" 並將其調高 (例如設定為 32768 或更高,最高可達模型上限)\n• 變更設定後重啟本地伺服器 -error.empty_http_response.hint.localai=要在 LocalAI 中增加上下文視窗:\n• 編輯模型配置 YAML 並設定 context_size: 32768\n• 變更設定後重啟 LocalAI 伺服器 +error.empty_http_response.hint.localai=要在 LocalAI 中增加上下文視窗:\n• 編輯模型配置 YAML 並設定 context_size\: 32768\n• 變更設定後重啟 LocalAI 伺服器 error.empty_http_response.hint.generic=要增加上下文視窗:\n• 檢查提供程式的設定,尋找上下文長度/大小選項並將其調高 (例如設定為 32768 token)\n• 變更設定後重啟提供程式 error.remote_server=⚠️ AI 提供商伺服器錯誤\n\n提供商伺服器返回了暫時性錯誤(例如過載或無法使用)。這不是由 Askimo 引起的。\n\n處理方式:\n• 稍等片刻後重試 — 通常只是短暫問題\n• 若問題持續,請查看提供商的狀態頁面\n\n技術詳情:{details} error.system=⚠️ 系統錯誤\n\n發生未預期的錯誤:{errorCode}\n\n請聯絡 Askimo 支援,並提供:\n• 您當時的操作\n• 上方的錯誤代碼\n• 發生的時間 @@ -1148,7 +1156,7 @@ error.model.not_available.title.embedding=嵌入模型無法使用 error.model.not_available.message.chat=模型 ''{0}'' 無法使用。 error.model.not_available.message.embedding=嵌入模型 ''{0}'' 在本地提供商中無法使用。\n\n請前往 設定 → AI 提供商,在提供商設定卡片中選擇可用的嵌入模型。 error.model.not_available.config_link=設定嵌入模型 -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors error.app.message=發生未預期的錯誤:{0} @@ -1251,7 +1259,7 @@ file.viewer.copied=已複製! # Mermaid Chart Renderer mermaid.setup.required.title=需要 Mermaid CLI -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=開啟安裝指南 mermaid.rendering.progress=正在渲染圖表... mermaid.error.rendering.title=渲染圖表時發生錯誤 @@ -1271,7 +1279,7 @@ mermaid.setup.button.download.node=下載 Node.js mermaid.setup.installing=正在安裝 Mermaid CLI... mermaid.setup.install.failed=安裝失敗。請查看下方輸出以瞭解詳情。 mermaid.setup.node.required=找不到 Node.js 和 npm。請先安裝 Node.js 以啟用一鍵安裝。 -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=檢視圖表代碼 mermaid.error.code.hide=隱藏圖表代碼 @@ -1290,7 +1298,7 @@ mcp.instances.title=MCP 實例 mcp.instances.description=這些 MCP 實例可用 mcp.instances.empty=未配置 MCP 實例 mcp.instances.count={0} 個實例 -mcp.instance.server.label=伺服器: {0} +mcp.instance.server.label=伺服器\: {0} mcp.instance.delete.confirm.title=是否要刪除 MCP 實例? mcp.instance.delete.confirm.message=您確定要刪除 MCP 實例 "{0}" 嗎?此操作無法復原。 mcp.instance.enable.tooltip=啟用此 MCP 實例 @@ -1316,7 +1324,7 @@ mcp.instance.field.description=描述 mcp.instance.field.description.placeholder=此伺服器功能的簡短描述 mcp.instance.field.transport=傳輸類型 mcp.instance.field.command=命令範本 -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=包含 {{parameter}} 佔位符的空格分隔命令 mcp.instance.validation.error.empty.id=伺服器 ID 不能為空 mcp.instance.validation.error.invalid.id.pattern=伺服器 ID 只能包含小寫字母、數字和連字符 @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=命令範本不能為空 mcp.instance.validation.error.empty.parameter.key=參數鍵不能為空 mcp.instance.validation.error.empty.parameter.label=參數標籤不能為空 mcp.instance.env.label=環境變數 (可選) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=格式: KEY=值 或 KEY={{parameter}} (每行一個) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=格式\: KEY\=值 或 KEY\={{parameter}} (每行一個) mcp.instance.transport.stdio=Stdio (本地程序) mcp.instance.transport.http=HTTP (遠端伺服器) mcp.instance.http.url.label=URL 範本 -mcp.instance.http.url.placeholder=https://{{host}}/mcp 或 https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp 或 https\://api.example.com/mcp mcp.instance.http.url.hint=伺服器端點 URL。可使用 {{parameter}} 佔位符用於動態值 mcp.instance.http.headers.label=HTTP 標頭 (可選) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=格式: 標頭名稱=值 或 標頭名稱={{parameter}} (每行一個) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=格式\: 標頭名稱\=值 或 標頭名稱\={{parameter}} (每行一個) mcp.instance.http.timeout.label=逾時時間 (ms) mcp.instance.http.timeout.hint=請求逾時時間(毫秒) mcp.instance.validation.error.empty.url=URL 範本不能為空 -mcp.instance.validation.error.invalid.url=URL 範本必須以 http:// 或 https:// 開頭 +mcp.instance.validation.error.invalid.url=URL 範本必須以 http\:// 或 https\:// 開頭 # MCP Integrations (Project View) mcp.instance.delete.tooltip=刪除 MCP 實例 @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} / {1} 個工具 mcp.tools.dialog.search.empty=沒有工具符合您的搜尋 mcp.tools.dialog.export=匯出工具 mcp.tools.dialog.export.success=已將工具匯出到 {0} -mcp.tools.dialog.export.failed=匯出工具失敗: {0} +mcp.tools.dialog.export.failed=匯出工具失敗\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=新增 MCP 伺服器 @@ -1584,7 +1592,7 @@ skills.view.history.empty=尚無執行記錄 skills.view.copy=複製 skills.view.system.prompt.file=檔案 skills.view.system.prompt.files=檔案 -skills.view.system.prompt.also.included=也包含在代理程式上下文中: +skills.view.system.prompt.also.included=也包含在代理程式上下文中\: skills.view.docs.tooltip=檢視技能指南 skills.view.mode.agentic=代理式 skills.view.mode.manual=手動 From 8037a31d335f94d18a3fc3f257618c8760590790 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:34 +0000 Subject: [PATCH 08/10] New translations messages.properties (Vietnamese) [ci skip] --- .../resources/i18n/messages_vi_VN.properties | 258 +++++++++--------- 1 file changed, 133 insertions(+), 125 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_vi_VN.properties b/desktop-shared/src/main/resources/i18n/messages_vi_VN.properties index e72f15b4f..97322e7e1 100644 --- a/desktop-shared/src/main/resources/i18n/messages_vi_VN.properties +++ b/desktop-shared/src/main/resources/i18n/messages_vi_VN.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Tham gia cộng đồng Discord menu.help.share.x=Chia sẻ trên X / Twitter menu.help.share.linkedin=Chia sẻ trên LinkedIn menu.help.share.facebook=Chia sẻ trên Facebook -menu.help.share.text=Khám phá Askimo — ứng dụng AI miễn phí chạy cục bộ trên máy tính. Hỗ trợ Ollama, OpenAI, Anthropic và nhiều hơn. https://askimo.chat +menu.help.share.text=Khám phá Askimo — ứng dụng AI miễn phí chạy cục bộ trên máy tính. Hỗ trợ Ollama, OpenAI, Anthropic và nhiều hơn. https\://askimo.chat menu.help.share.hackernews=Bài đăng trên Hacker News menu.eventlog=Nhật ký sự kiện menu.help.model.capabilities=Mở tệp khả năng mô hình @@ -60,16 +60,16 @@ dialog.close=Đóng # Backup and Restore backup.export.title=Xuất bản sao lưu backup.export.success.title=Đã xuất bản sao lưu -backup.export.success.message=Đã xuất bản sao lưu thành công vào:\n{0} +backup.export.success.message=Đã xuất bản sao lưu thành công vào\:\n{0} backup.export.error.title=Xuất thất bại -backup.export.error.message=Không thể xuất bản sao lưu:\n{0} +backup.export.error.message=Không thể xuất bản sao lưu\:\n{0} backup.import.title=Nhập bản sao lưu backup.import.confirm.title=Xác nhận nhập backup.import.confirm.message=Thao tác này sẽ thay thế toàn bộ dữ liệu hiện tại bằng bản sao lưu.\n\nMột bản sao lưu an toàn sẽ được tạo tự động trước khi nhập.\n\nBạn có chắc chắn muốn tiếp tục không? backup.import.success.title=Đã nhập bản sao lưu backup.import.success.message=Đã nhập bản sao lưu thành công.\n\nVui lòng khởi động lại Askimo để áp dụng tất cả thay đổi. backup.import.error.title=Nhập thất bại -backup.import.error.message=Không thể nhập bản sao lưu:\n{0} +backup.import.error.message=Không thể nhập bản sao lưu\:\n{0} # Event Log eventlog.title=Nhật ký sự kiện ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=Nhật ký sự kiện eventlog.window.attach=Gắn vào cửa sổ chính eventlog.window.events.count={0} sự kiện eventlog.window.empty.message=Chưa có sự kiện. Chúng sẽ xuất hiện tại đây khi phát sinh. -eventlog.footer.warning=Các mục nhập cũ nhất đã bị cắt bớt (giới hạn: {0}) +eventlog.footer.warning=Các mục nhập cũ nhất đã bị cắt bớt (giới hạn\: {0}) # Chat Interface chat.new=Trò chuyện mới @@ -165,7 +165,7 @@ session.rename.error.empty=Tiêu đề không được để trống session.export.file.chooser.title=Lưu lịch sử trò chuyện session.export.button.export=Xuất session.export.success.title=Xuất thành công -session.export.success.message=Phiên trò chuyện đã được xuất đến: +session.export.success.message=Phiên trò chuyện đã được xuất đến\: # Projects project.title=Dự án @@ -181,11 +181,11 @@ project.new.dialog.file.browse=Chọn tệp để xử lý... project.new.dialog.sources.label=Tài liệu tham khảo (tùy chọn) project.new.dialog.sources.add=Thêm nguồn project.new.dialog.error.empty.name=Tên dự án không được để trống -project.new.dialog.error.create.failed=Không thể tạo dự án: {0} +project.new.dialog.error.create.failed=Không thể tạo dự án\: {0} project.new.dialog.name.error.empty=Tên dự án không được để trống project.new.dialog.button.create=Tạo dự án project.new.dialog.button.cancel=Hủy -project.new.dialog.success.title=Dự án đã được tạo thành công! +project.new.dialog.success.title=Dự án đã được tạo thành công\! project.new.dialog.success.message=Dự án ''{0}'' đã được tạo. project.new.dialog.success.countdown=Đóng sau {0} giây{1}... project.new.dialog.success.close=Đóng ngay @@ -208,7 +208,7 @@ projects.title=Dự án projects.description=Tổ chức các cuộc trò chuyện của bạn xoay quanh một chủ đề và đính kèm các tệp, thư mục hoặc URL làm nguồn kiến thức, để AI luôn có đúng ngữ cảnh cho dự án đó. projects.error=❌ {0} projects.empty=Không tìm thấy dự án nào. -projects.empty.hint=💡 Tạo dự án mới để tổ chức các phiên trò chuyện! +projects.empty.hint=💡 Tạo dự án mới để tổ chức các phiên trò chuyện\! projects.search.placeholder=Tìm kiếm theo tên… projects.search.empty=Không có dự án nào khớp với "{0}". projects.col.name=Tên @@ -219,13 +219,16 @@ projects.sources.expand=Hiển thị tài liệu tham khảo projects.sources.collapse=Ẩn tài liệu tham khảo projects.sources.empty.title=Chưa có tài liệu tham chiếu projects.sources.empty.description=Thêm tài liệu để Askimo có thể tham chiếu khi trả lời câu hỏi của bạn -projects.sources.info.tooltip=Tài liệu tham chiếu giúp Askimo hiểu rõ bối cảnh cụ thể của bạn.\n\n\ -Thêm thư mục, tệp hoặc trang web chứa thông tin mà bạn muốn Askimo tham chiếu khi trả lời câu hỏi.\n\n\ -Ví dụ:\n\ +projects.sources.info.tooltip=Tài liệu tham chiếu giúp Askimo hiểu rõ bối cảnh cụ thể của bạn.\n\ +\n\ +Thêm thư mục, tệp hoặc trang web chứa thông tin mà bạn muốn Askimo tham chiếu khi trả lời câu hỏi.\n\ +\n\ +Ví dụ\:\n\ • Tài liệu dự án\n\ • Cơ sở tri thức của công ty\n\ • Thông số kỹ thuật\n\ -• Bài nghiên cứu\n\n\ +• Bài nghiên cứu\n\ +\n\ Askimo sẽ tìm kiếm trong các tài liệu này để cung cấp câu trả lời chính xác và phù hợp với ngữ cảnh hơn. projects.sources.type.local_folders=Thư Mục Cục Bộ projects.sources.type.local_files=Tệp Cục Bộ @@ -252,8 +255,8 @@ project.reindex=Lập chỉ mục lại dự án project.menu.tooltip=Menu dự án project.new.chat.placeholder=Cuộc trò chuyện mới trong {0} project.recent.chats=Cuộc trò chuyện gần đây -project.no.chats=Chưa có cuộc trò chuyện nào. Hãy bắt đầu một cuộc trò chuyện mới bên dưới! -project.indexing.label=Đang lập chỉ mục nguồn kiến thức: {0} +project.no.chats=Chưa có cuộc trò chuyện nào. Hãy bắt đầu một cuộc trò chuyện mới bên dưới\! +project.indexing.label=Đang lập chỉ mục nguồn kiến thức\: {0} project.indexing.queued=Đang xếp hàng lập chỉ mục - chờ dự án khác hoàn thành... project.indexing.failed=Lập chỉ mục thất bại. Hãy thử lập chỉ mục lại từ menu dự án. project.indexing.ready.label=Đã lập chỉ mục @@ -272,7 +275,7 @@ settings.appearance=Giao diện settings.appearance.accent=Màu nhấn settings.appearance.accent.description=Tùy chỉnh an toàn một màu nhấn duy nhất. Askimo sẽ áp dụng nó cho các điểm nhấn giao diện chính và tạo các màu liên quan để đảm bảo dễ đọc. settings.appearance.accent.label=Màu nhấn (Hex) -settings.appearance.accent.invalid=Hãy nhập một màu hex hợp lệ như #0284C7 +settings.appearance.accent.invalid=Hãy nhập một màu hex hợp lệ như \#0284C7 settings.appearance.accent.swatch.primary=Chính settings.appearance.accent.swatch.primary.container=Vùng chứa settings.appearance.accent.swatch.on.primary.container=Trên vùng chứa @@ -296,7 +299,7 @@ settings.network.description=Cấu hình cài đặt mạng và proxy settings.mcp.servers=Máy chủ MCP settings.skills=Kỹ năng settings.skills.description=Skills là các tác nhân AI tái sử dụng được chạy trực tiếp trên máy của bạn. Mỗi skill là một tệp Markdown với lời nhắc hệ thống và hướng dẫn. Khi bạn chạy một skill, nó sẽ được thực thi qua {0} — đọc và ghi các tệp của bạn, chạy các lệnh shell và lặp cho đến khi công việc hoàn tất. Không yêu cầu sao chép và dán. -settings.skills.runtimes=Các môi trường chạy được hỗ trợ: +settings.skills.runtimes=Các môi trường chạy được hỗ trợ\: settings.skills.directory=Thư mục kỹ năng settings.skills.open.folder=Mở thư mục settings.skills.new.skill=Kỹ năng mới @@ -376,11 +379,11 @@ settings.log.viewer=Tệp log settings.log.viewer.description=Xem log và thông tin chẩn đoán settings.log.viewer.view=Xem log settings.log.viewer.open_folder=Mở thư mục log -settings.log.viewer.path=Tệp log: {0} +settings.log.viewer.path=Tệp log\: {0} settings.log.viewer.dialog.title=Log ứng dụng settings.log.viewer.refresh=Tải lại settings.log.viewer.copy=Sao chép -settings.log.viewer.copied=Đã sao chép! +settings.log.viewer.copied=Đã sao chép\! settings.log.viewer.loading=Đang tải log... settings.log.viewer.error=Lỗi khi tải log settings.log.viewer.empty=Không có log @@ -434,7 +437,7 @@ settings.web_search.api_key=Khóa API settings.web_search.api_key.placeholder=Dán khóa API của bạn vào đây settings.web_search.get_api_key=Nhận khóa API miễn phí ↗ settings.web_search.endpoint=URL phiên bản SearxNG -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=Kiểm tra tìm kiếm settings.web_search.test.running=Đang kiểm tra... settings.web_search.test.success=✅ Tìm kiếm đang hoạt động @@ -451,25 +454,25 @@ user.profile.name=Tên user.profile.email=Email user.profile.email.placeholder=your.email@example.com user.profile.occupation=Nghề nghiệp -user.profile.occupation.placeholder=vd: Lập trình viên, Nhà thiết kế, Sinh viên +user.profile.occupation.placeholder=vd\: Lập trình viên, Nhà thiết kế, Sinh viên user.profile.location=Vị trí -user.profile.location.placeholder=vd: San Francisco, CA +user.profile.location.placeholder=vd\: San Francisco, CA user.profile.bio=Giới thiệu user.profile.bio.placeholder=Hãy chia sẻ một chút về bạn… user.profile.interests=Sở thích user.profile.interests.description=Chọn các chủ đề bạn quan tâm để cá nhân hóa trải nghiệm AI user.profile.interests.custom=Sở thích tùy chỉnh -user.profile.interests.custom.placeholder=vd: Học máy, Nhiếp ảnh +user.profile.interests.custom.placeholder=vd\: Học máy, Nhiếp ảnh user.profile.interests.custom.hint=Phân tách nhiều sở thích bằng dấu phẩy # Welcome Dialog (First Run) -welcome.title=Chào mừng đến với Askimo! +welcome.title=Chào mừng đến với Askimo\! welcome.subtitle=Hãy giúp chúng tôi cá nhân hóa trải nghiệm AI của bạn welcome.avatar.optional=Nhấp để thêm ảnh (tùy chọn) welcome.name=Tên của bạn -welcome.name.placeholder=vd: Nguyễn Văn A +welcome.name.placeholder=vd\: Nguyễn Văn A welcome.occupation=Nghề nghiệp -welcome.occupation.placeholder=vd: Lập trình viên phần mềm +welcome.occupation.placeholder=vd\: Lập trình viên phần mềm welcome.interests=Bạn quan tâm đến điều gì? welcome.interests.description=Chọn một vài chủ đề để chúng tôi điều chỉnh trải nghiệm cho bạn welcome.skip=Thiết lập sau @@ -526,7 +529,7 @@ action.refresh=Tải lại # Happiness Gate (shown before Star Prompt) happiness.gate.title=Bạn thấy Askimo thế nào? happiness.gate.subtitle=Ý kiến thành thật của bạn giúp chúng tôi tiếp tục cải thiện -happiness.gate.happy=Tôi rất thích! 😍 +happiness.gate.happy=Tôi rất thích\! 😍 happiness.gate.neutral=Ổn 🙂 happiness.gate.unhappy=Chưa thực sự ưng 😕 @@ -538,22 +541,22 @@ feedback.comment.placeholder=Mô tả vấn đề hoặc chia sẻ suy nghĩ c feedback.unhappy.dialog.title=Chúng tôi muốn biết điều gì đang không hoạt động feedback.unhappy.dialog.subtitle=Hãy cho chúng tôi biết trải nghiệm của bạn với Askimo để chúng tôi cải thiện. feedback.comment.label.unhappy=Điều gì không hoạt động với bạn? -feedback.comment.placeholder.unhappy=ví dụ: Lịch sử phiên khó tìm, phản hồi cảm thấy chậm… +feedback.comment.placeholder.unhappy=ví dụ\: Lịch sử phiên khó tìm, phản hồi cảm thấy chậm… feedback.neutral.dialog.title=Điều gì sẽ làm Askimo tốt hơn cho bạn? feedback.neutral.dialog.subtitle=Ý tưởng của bạn giúp chúng tôi quyết định xây dựng gì tiếp theo. feedback.comment.label.neutral=Chúng tôi có thể cải thiện điều gì? -feedback.comment.placeholder.neutral=ví dụ: Tôi ước có phím tắt tốt hơn, chuyển đổi mô hình nhanh hơn… +feedback.comment.placeholder.neutral=ví dụ\: Tôi ước có phím tắt tốt hơn, chuyển đổi mô hình nhanh hơn… feedback.comment.encourage.hint=Vài từ là đủ để tạo ra sự khác biệt — phản hồi của bạn sẽ đến thẳng đội ngũ. feedback.email.label=Email của bạn (tùy chọn) feedback.email.placeholder=you@example.com feedback.email.hint=Chỉ được sử dụng để theo dõi phản hồi của bạn. Chúng tôi sẽ không bao giờ gửi thư rác. feedback.action.skip=Bỏ qua feedback.action.send=Gửi phản hồi -feedback.thanks.title=Cảm ơn bạn đã phản hồi! +feedback.thanks.title=Cảm ơn bạn đã phản hồi\! feedback.thanks.message=Đóng góp của bạn giúp chúng tôi cải thiện Askimo tốt hơn. Chúng tôi rất trân trọng điều đó. feedback.thanks.close=Đóng -feedback.remind.title=Không sao đâu! +feedback.remind.title=Không sao đâu\! feedback.remind.message=Bạn có thể chia sẻ phản hồi bất cứ lúc nào từ menu Trợ giúp → Gửi phản hồi. feedback.remind.got.it=Đã hiểu @@ -577,10 +580,10 @@ star.prompt.share.description=Kể cho mạng lưới của bạn về Askimo tr star.prompt.maybe.later=Để sau star.prompt.already.starred=Đã gắn sao ✓ star.prompt.social.proof=⭐ Tham gia cùng {0} người đã gắn sao cho Askimo -star.prompt.thanks.title=Cảm ơn bạn rất nhiều! 🌟 +star.prompt.thanks.title=Cảm ơn bạn rất nhiều\! 🌟 star.prompt.thanks.message=Sự ủng hộ của bạn có ý nghĩa rất lớn và giúp chúng tôi tiếp tục phát triển Askimo. star.prompt.thanks.done=Xong ✓ -star.prompt.remind.title=Không vấn đề gì! +star.prompt.remind.title=Không vấn đề gì\! star.prompt.remind.message=Bạn có thể ủng hộ chúng tôi bất cứ lúc nào từ menu Trợ giúp → Ủng hộ Askimo. star.prompt.remind.got.it=Đã hiểu @@ -654,7 +657,7 @@ shortcut.send.message=Gửi tin nhắn shortcut.new.line=Dòng mới # Chat View -chat.welcome=Chào mừng đến Askimo!\nBắt đầu trò chuyện bằng cách nhập tin nhắn bên dưới. +chat.welcome=Chào mừng đến Askimo\!\nBắt đầu trò chuyện bằng cách nhập tin nhắn bên dưới. chat.no.active.session=Chọn một phiên trong thanh bên hoặc bắt đầu cuộc trò chuyện mới chat.search.placeholder=Tìm trong cuộc trò chuyện... chat.search.no.results=Không có kết quả @@ -736,7 +739,7 @@ chat.attachment.remove=Xóa tệp đính kèm chat.attachment.preview.loading=Đang tải bản xem trước… chat.attachment.preview.file.not.found=(Không tìm thấy tệp) chat.attachment.preview.too.large=(Tệp quá lớn để xem trước) -chat.attachment.preview.cannot.read=(Không thể đọc tệp: {0}) +chat.attachment.preview.cannot.read=(Không thể đọc tệp\: {0}) chat.attachment.preview.more.lines=thêm {0} dòng # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=Đã tạo sessions.col.updated=Đã cập nhật sessions.error=❌ {0} sessions.empty=Không có phiên trò chuyện. -sessions.empty.hint=💡 Bắt đầu một cuộc trò chuyện mới để tạo phiên đầu tiên! +sessions.empty.hint=💡 Bắt đầu một cuộc trò chuyện mới để tạo phiên đầu tiên\! sessions.search.placeholder=Tìm kiếm theo tiêu đề… sessions.search.empty=Không có phiên nào khớp với "{0}". # Generic table pagination controls -table.page.size.label=Số hàng mỗi trang: +table.page.size.label=Số hàng mỗi trang\: table.page=Trang {0} trên {1} table.page.previous=Trang trước table.page.next=Trang tiếp theo @@ -769,7 +772,7 @@ sessions.error.rename.failed=Đổi tên thất bại. # ChatSessionService Errors # Update Check update.dialog.title=Cập nhật phần mềm -update.dialog.new.version.available=Có phiên bản Askimo mới! +update.dialog.new.version.available=Có phiên bản Askimo mới\! update.urgency.medium=Bạn đang dùng phiên bản cũ hơn {0} bản — bạn có thể đã bỏ lỡ các bản sửa lỗi quan trọng và tính năng mới. update.urgency.high=Bạn đang dùng phiên bản cũ hơn {0} bản — bạn đang bỏ lỡ nhiều cải tiến đáng kể. Vui lòng cập nhật sớm. update.dialog.current.version.label=Phiên bản hiện tại @@ -780,7 +783,7 @@ update.dialog.download=Tải ngay update.dialog.how.to.update=Cách cập nhật update.dialog.later=Để sau update.dialog.skip.version=Bỏ qua phiên bản này -update.check.up.to.date=Bạn đang sử dụng phiên bản mới nhất! +update.check.up.to.date=Bạn đang sử dụng phiên bản mới nhất\! update.check.failed=Kiểm tra cập nhật thất bại # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Đóng góp trên Crowdin settings.ai.response.language=Ngôn ngữ phản hồi ưu tiên settings.ai.response.language.description=Bắt AI phản hồi bằng một ngôn ngữ cụ thể (để trống để tự động phát hiện) settings.ai.response.language.auto=Tự động phát hiện -settings.ai.response.language.tooltip=AI tự động phát hiện ngôn ngữ, nhưng nên ghi đè khi:\n• Học ngôn ngữ mới (luyện tập nhập vai)\n• Tính nhất quán chuyên nghiệp (ví dụ: tài liệu code luôn bằng tiếng Anh)\n• Tối ưu hóa RAG (khớp ngôn ngữ cơ sở tri thức)\n• Dạy học (hỏi bằng ngôn ngữ này, giải thích bằng ngôn ngữ khác)\n• Ngăn chặn chuyển đổi ngôn ngữ không mong muốn -settings.model.select=Chọn mô hình cho {0}: +settings.ai.response.language.tooltip=AI tự động phát hiện ngôn ngữ, nhưng nên ghi đè khi\:\n• Học ngôn ngữ mới (luyện tập nhập vai)\n• Tính nhất quán chuyên nghiệp (ví dụ\: tài liệu code luôn bằng tiếng Anh)\n• Tối ưu hóa RAG (khớp ngôn ngữ cơ sở tri thức)\n• Dạy học (hỏi bằng ngôn ngữ này, giải thích bằng ngôn ngữ khác)\n• Ngăn chặn chuyển đổi ngôn ngữ không mong muốn +settings.model.select=Chọn mô hình cho {0}\: settings.model.loading=Đang tải mô hình... settings.model.none=Không có mô hình settings.model.select.title=Chọn mô hình @@ -826,7 +829,7 @@ settings.model.current=Mô hình hiện tại settings.model.selected=Mô hình đã chọn settings.model.new=Mô hình mới settings.model.use.default=Sử dụng mặc định -settings.model.change.description=Chọn một mô hình từ danh sách dưới đây: +settings.model.change.description=Chọn một mô hình từ danh sách dưới đây\: settings.model.search=Tìm mô hình settings.model.search.placeholder=Nhập để lọc mô hình... settings.model.filtered=Hiển thị {0}/{1} mô hình @@ -835,19 +838,19 @@ settings.model.chat.filter.label=Mô hình chat · đã hiển thị {0} settings.model.chat.filter.show.all=Hiển thị tất cả {0} settings.configure.title=Cấu hình {0} settings.test.connection.testing=Đang kiểm tra... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=Não foi possível conectar ao provedor. Verifique se a sua chave API está correta (para provedores em nuvem) ou se a sua URL base está acessível (para provedores locais). Você pode encontrar instruções de configuração usando o link de ajuda acima. # Directives Dialog directive.manage.title=Quản lý chỉ thị -directive.manage.empty=Chưa có chỉ thị. Hãy tạo mới! +directive.manage.empty=Chưa có chỉ thị. Hãy tạo mới\! directive.edit.name.label=Tên directive.edit.name.placeholder=Nhập tên chỉ thị... directive.edit.content.label=Nội dung directive.edit.content.placeholder=Nhập hướng dẫn... directive.edit.name.required=Yêu cầu tên directive.edit.content.required=Yêu cầu nội dung -directive.created=Tạo lúc: {0} +directive.created=Tạo lúc\: {0} directive.new.title=Chỉ thị mới directive.new.guidelines=Chỉ thị hướng dẫn cách AI phản hồi tin nhắn của bạn. Hãy cụ thể về giọng điệu, mức độ chi tiết, định dạng hoặc bất kỳ yêu cầu đặc biệt nào bạn cần. directive.new.name.placeholder=v.d., concise-code, explain-like-im-5 @@ -862,8 +865,8 @@ directive.export.tooltip=Xuất tất cả các chỉ thị ra tệp JSON để directive.export.filename=askimo-directives directive.import=Nhập directive.import.tooltip=Nhập chỉ thị từ tệp JSON -directive.import.result=Nhập hoàn tất: {0} đã nhập, {1} đã đổi tên, {2} đã bỏ qua -directive.import.error=Nhập thất bại: định dạng tệp không hợp lệ hoặc không được hỗ trợ +directive.import.result=Nhập hoàn tất\: {0} đã nhập, {1} đã đổi tên, {2} đã bỏ qua +directive.import.error=Nhập thất bại\: định dạng tệp không hợp lệ hoặc không được hỗ trợ # Log Levels log.level.error=Lỗi @@ -919,7 +922,7 @@ message.edited.indicator=(đã chỉnh sửa) message.date.today=Hôm nay message.date.yesterday=Hôm qua message.token.usage={0} token · {1} vào / {2} ra -message.token.usage.tooltip=Số token được sử dụng bởi phản hồi này.\nĐầu vào: prompt của bạn + ngữ cảnh được gửi đến AI.\nĐầu ra: phản hồi do AI tạo ra. +message.token.usage.tooltip=Số token được sử dụng bởi phản hồi này.\nĐầu vào\: prompt của bạn + ngữ cảnh được gửi đến AI.\nĐầu ra\: phản hồi do AI tạo ra. # Bookmarks chat.bookmarks.button.tooltip=Dấu trang @@ -956,7 +959,7 @@ provider.picker.description.openai=Các mô hình AI đám mây từ OpenAI. Yê provider.picker.description.anthropic=Các mô hình AI đám mây từ Anthropic. Yêu cầu khóa API. Đăng ký tại console.anthropic.com, tạo khóa API và thêm tín dụng vào tài khoản trước khi kết nối. provider.picker.description.gemini=Các mô hình AI đám mây từ Google. Đăng ký tại aistudio.google.com và tạo khóa API miễn phí. Không yêu cầu thẻ tín dụng cho gói miễn phí. provider.picker.description.xai=Các mô hình AI đám mây từ xAI. Yêu cầu khóa API. Đăng ký tại console.x.ai, tạo khóa API và thêm tín dụng vào tài khoản trước khi kết nối. -provider.picker.description.ollama=Chạy các mô hình mã nguồn mở cục bộ. Không cần khóa API. Tải Ollama từ ollama.com, sau đó tải một mô hình (ví dụ: ollama pull llama3) trước khi kết nối. +provider.picker.description.ollama=Chạy các mô hình mã nguồn mở cục bộ. Không cần khóa API. Tải Ollama từ ollama.com, sau đó tải một mô hình (ví dụ\: ollama pull llama3) trước khi kết nối. provider.picker.description.docker=Chạy các mô hình qua trình chạy mô hình AI tích hợp sẵn của Docker Desktop. Không cần khóa API. Yêu cầu Docker Desktop 4.40+ với tính năng Model Runner được bật. provider.picker.description.localai=Máy chủ AI cục bộ tự lưu trữ, tương thích với OpenAI. Không cần khóa API. Cài đặt LocalAI, tải xuống một mô hình và khởi động máy chủ trước khi kết nối. provider.picker.description.lmstudio=Chạy các LLM cục bộ với giao diện máy tính để bàn dễ sử dụng. Không cần khóa API. Tải LM Studio từ lmstudio.ai, tải một mô hình, nạp nó và bật máy chủ cục bộ trước khi kết nối. @@ -970,15 +973,20 @@ provider.template.get.apikey=Lấy khóa API → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Chạy các mô hình AI trên mạng biên toàn cầu của Cloudflare với Workers AI. -provider.template.cloudflare_ai.help=💡 Để dùng Cloudflare AI:\n\n1. Tìm Account ID trong bảng điều khiển Cloudflare của bạn\n2. Thay {ACCOUNT_ID} trong URL cơ sở bằng ID đó\n3. Tạo API token với quyền 'Workers AI' tại:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Để dùng Cloudflare AI\:\n\n1. Tìm Account ID trong bảng điều khiển Cloudflare của bạn\n2. Thay {ACCOUNT_ID} trong URL cơ sở bằng ID đó\n3. Tạo API token với quyền ''Workers AI'' tại\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=Suy luận siêu nhanh cho các mô hình mã nguồn mở — Llama, Mixtral, Gemma và nhiều hơn nữa. -provider.template.groq.help=💡 Để dùng Groq:\n\n1. Lấy API key miễn phí tại: console.groq.com/keys\n2. Nhập tên mô hình, ví dụ: llama-3.1-8b-instant\n3. Nhấp Tiếp theo để duyệt tất cả mô hình có sẵn +provider.template.groq.help=💡 Để dùng Groq\:\n\n1. Lấy API key miễn phí tại\: console.groq.com/keys\n2. Nhập tên mô hình, ví dụ\: llama-3.1-8b-instant\n3. Nhấp Tiếp theo để duyệt tất cả mô hình có sẵn provider.template.nvidia_nim.tagline=Chạy các mô hình AI được tối ưu hóa trên hạ tầng GPU đám mây của NVIDIA. -provider.template.nvidia_nim.help=💡 Để dùng NVIDIA NIM:\n\n1. Lấy API key tại: build.nvidia.com\n2. Nhập tên mô hình, ví dụ: meta/llama-3.1-8b-instruct\n3. Nhấp Tiếp theo để duyệt tất cả mô hình có sẵn +provider.template.nvidia_nim.help=💡 Để dùng NVIDIA NIM\:\n\n1. Lấy API key tại\: build.nvidia.com\n2. Nhập tên mô hình, ví dụ\: meta/llama-3.1-8b-instruct\n3. Nhấp Tiếp theo để duyệt tất cả mô hình có sẵn provider.template.openrouter.tagline=Truy cập hơn 300 mô hình — GPT, Claude, Llama, Gemini, Mistral và nhiều hơn nữa qua một API. -provider.template.openrouter.help=💡 Để dùng OpenRouter:\n\n1. Lấy API key miễn phí tại: openrouter.ai/keys\n2. Nhấp Tiếp theo để duyệt hơn 300 mô hình có sẵn\n3. Nhiều mô hình có gói miễn phí — không cần thẻ tín dụng +provider.template.openrouter.help=💡 Để dùng OpenRouter\:\n\n1. Lấy API key miễn phí tại\: openrouter.ai/keys\n2. Nhấp Tiếp theo để duyệt hơn 300 mô hình có sẵn\n3. Nhiều mô hình có gói miễn phí — không cần thẻ tín dụng provider.template.together_ai.tagline=Suy luận nhanh, giá cả phải chăng cho hơn 100 mô hình mã nguồn mở. -provider.template.together_ai.help=💡 Để dùng Together AI:\n\n1. Lấy API key tại: api.together.ai/settings/api-keys\n2. Nhấp Tiếp theo để duyệt các mô hình có sẵn,\n ví dụ: meta-llama/Llama-3-8b-chat-hf +provider.template.together_ai.help=💡 Để dùng Together AI\:\n\n1. Lấy API key tại\: api.together.ai/settings/api-keys\n2. Nhấp Tiếp theo để duyệt các mô hình có sẵn,\n ví dụ\: meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -988,14 +996,14 @@ provider.model.panel.select.hint=Chọn nhà cung cấp ở bên trái để duy provider.model.panel.model.count={0} mô hình provider.model.default.badge=Mặc định provider.instance.name.label=Tên phiên bản -provider.instance.name.placeholder=Ví dụ: "Work OpenAI", "ollama-macbook" +provider.instance.name.placeholder=Ví dụ\: "Work OpenAI", "ollama-macbook" provider.instance.name.duplicate=Nhà cung cấp có tên "{0}" đã tồn tại provider.setup.required.title=Thiết lập nhà cung cấp AI provider.setup.required.message=Trước khi có thể bắt đầu trò chuyện, bạn cần thiết lập một nhà cung cấp AI. Vui lòng chọn một nhà cung cấp từ danh sách và cấu hình nó. provider.setup.required.button=Thiết lập nhà cung cấp provider.setup.required.skip=Thiết lập sau provider.setup.empty.state.button=Thêm nhà cung cấp -provider.configure.prompt=Cấu hình nhà cung cấp: +provider.configure.prompt=Cấu hình nhà cung cấp\: provider.setup.guide=Cách thiết lập {0} provider.apikey.stored=Khóa API được lưu trữ an toàn provider.apikey.enter=Nhập khóa API @@ -1004,14 +1012,14 @@ provider.apikey.security.link=Tìm hiểu cách chúng tôi bảo vệ dữ li provider.not.set=Chưa thiết lập # Provider Configuration - OpenAI -provider.openai.apikey.description=API key OpenAI từ https://platform.openai.com/account/api-keys +provider.openai.apikey.description=API key OpenAI từ https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=API key đã lưu. Để trống để giữ nguyên hoặc nhập key mới để cập nhật. -provider.openai.setup.help=💡 Để sử dụng OpenAI, bạn cần API key.\n\n1. Lấy key từ: https://platform.openai.com/account/api-keys\n2. Thiết lập trong Cài đặt hoặc dùng :change-settings\n\nLấy key tại: https://platform.openai.com/api-keys +provider.openai.setup.help=💡 Để sử dụng OpenAI, bạn cần API key.\n\n1. Lấy key từ\: https\://platform.openai.com/account/api-keys\n2. Thiết lập trong Cài đặt hoặc dùng \:change-settings\n\nLấy key tại\: https\://platform.openai.com/api-keys # Provider Configuration - Anthropic -provider.anthropic.apikey.description=API key Anthropic từ https://console.anthropic.com/ +provider.anthropic.apikey.description=API key Anthropic từ https\://console.anthropic.com/ provider.anthropic.apikey.stored=API key đã lưu. Để trống để giữ nguyên hoặc nhập mới để cập nhật. -provider.anthropic.setup.help=💡 Để sử dụng Anthropic, bạn cần API key.\n\n1. Lấy từ https://console.anthropic.com/\n2. Thiết lập trong Cài đặt hoặc dùng :change-settings +provider.anthropic.setup.help=💡 Để sử dụng Anthropic, bạn cần API key.\n\n1. Lấy từ https\://console.anthropic.com/\n2. Thiết lập trong Cài đặt hoặc dùng \:change-settings provider.anthropic.max_tokens.label=Số Token Tối đa provider.anthropic.max_tokens.description=Số lượng token tối đa mà mô hình có thể tạo cho mỗi phản hồi (suy nghĩ + câu trả lời được kết hợp). provider.anthropic.thinking_budget_tokens.label=Token Ngân sách Suy nghĩ @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=Token Tối đa cho Suy nghĩ provider.anthropic.thinking_max_tokens.description=Giới hạn token tổng khi tính năng suy nghĩ đang hoạt động (suy nghĩ + câu trả lời). Đặt là 0 để sử dụng Số Token Tối đa thay thế. # Provider Configuration - Gemini -provider.gemini.apikey.description=API key Google AI Studio từ https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=API key Google AI Studio từ https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API key đã lưu.Để trống để giữ nguyên hoặc nhập mới. -provider.gemini.setup.help=💡 Để sử dụng Gemini, bạn cần API key.\n\n1. Lấy key tại https://aistudio.google.com/app/apikey\n2. Thiết lập trong Cài đặt hoặc dùng :change-settings +provider.gemini.setup.help=💡 Để sử dụng Gemini, bạn cần API key.\n\n1. Lấy key tại https\://aistudio.google.com/app/apikey\n2. Thiết lập trong Cài đặt hoặc dùng \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=API key XAI từ https://console.x.ai/ +provider.xai.apikey.description=API key XAI từ https\://console.x.ai/ provider.xai.apikey.stored=API key đã lưu. -provider.xai.setup.help=💡 Để dùng XAI, bạn cần API key.\n\n1. Lấy tại https://console.x.ai/\n2. Thiết lập trong Cài đặt hoặc dùng :change-settings +provider.xai.setup.help=💡 Để dùng XAI, bạn cần API key.\n\n1. Lấy tại https\://console.x.ai/\n2. Thiết lập trong Cài đặt hoặc dùng \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=Base URL cho Ollama (mặc định http://localhost:11434) -provider.ollama.setup.help=💡 Để dùng Ollama, bạn cần chạy nó cục bộ.\n\n1. Cài từ https://ollama.ai/\n2. Chạy dịch vụ Ollama\n3. Tùy chọn thay đổi base URL +provider.ollama.baseurl.description=Base URL cho Ollama (mặc định http\://localhost\:11434) +provider.ollama.setup.help=💡 Để dùng Ollama, bạn cần chạy nó cục bộ.\n\n1. Cài từ https\://ollama.ai/\n2. Chạy dịch vụ Ollama\n3. Tùy chọn thay đổi base URL # Provider Configuration - Docker AI -provider.docker.baseurl.description=Base URL cho Docker AI (mặc định http://localhost:12434) +provider.docker.baseurl.description=Base URL cho Docker AI (mặc định http\://localhost\:12434) provider.docker.setup.help=💡 Để dùng Docker AI, bạn cần chạy nó cục bộ.\n\n1. Đảm bảo Docker AI đã cài và chạy\n2. Chạy dịch vụ Docker AI\n3. Tùy chọn thay đổi base URL # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=Base URL cho LocalAI provider.localai.setup.help=💡 Để dùng LocalAI, cần chạy LocalAI.\n\n1. Cài và chạy LocalAI\n2. Thiết lập base URL tương ứng # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=Base URL LMStudio (mặc định http://localhost:1234) -provider.lmstudio.setup.help=💡 Để dùng LMStudio:\n\n1. Cài từ https://lmstudio.ai/\n2. Chạy server cục bộ\n3. Tùy chọn thay đổi base URL +provider.lmstudio.baseurl.description=Base URL LMStudio (mặc định http\://localhost\:1234) +provider.lmstudio.setup.help=💡 Để dùng LMStudio\:\n\n1. Cài từ https\://lmstudio.ai/\n2. Chạy server cục bộ\n3. Tùy chọn thay đổi base URL provider.lmstudio.openai.compat.info=Askimo sử dụng các endpoint tương thích OpenAI (/v1), không phải API LMStudio gốc (/api/v1/). # Provider Configuration - Open AI Compatible @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=Nhanh hơn cho các điểm cuối # System Resources system.share.feedback=Chia sẻ phản hồi -system.ai.provider.tooltip=Nhà cung cấp AI: {0}\nNhấn để cấu hình +system.ai.provider.tooltip=Nhà cung cấp AI\: {0}\nNhấn để cấu hình system.diagnostics.title=Chẩn đoán hệ thống system.diagnostics.resources=Tài nguyên system.diagnostics.jvm.memory=Bộ nhớ JVM (đã dùng / tổng) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=Đo từ xa telemetry.export.csv=Xuất CSV telemetry.export.dialog.title=Xuất Dữ Liệu Đo Lường thành ZIP telemetry.export.error.title=Xuất Thất Bại -telemetry.export.error.message=Không thể xuất dữ liệu đo lường: {0} +telemetry.export.error.message=Không thể xuất dữ liệu đo lường\: {0} # Telemetry telemetry.reset=Đặt lại dữ liệu telemetry @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=Giao diện chuyên nghiệp export.format.html.benefit.4=Dễ chia sẻ # Error Messages -error.network=⚠️ Không thể kết nối tới dịch vụ AI{endpoint}\n\nVui lòng kiểm tra:\n• Kết nối internet của bạn\n• URL dịch vụ AI (kiểm tra cài đặt)\n• Cấu hình tường lửa\n• Trạng thái hoạt động của dịch vụ +error.network=⚠️ Không thể kết nối tới dịch vụ AI{endpoint}\n\nVui lòng kiểm tra\:\n• Kết nối internet của bạn\n• URL dịch vụ AI (kiểm tra cài đặt)\n• Cấu hình tường lửa\n• Trạng thái hoạt động của dịch vụ error.authentication=⚠️ API key bị thiếu hoặc không hợp lệ{provider}\n\nHãy vào Cài đặt để thiết lập API key của bạn. -error.model_not_found=⚠️ Không tìm thấy mô hình: {model}\n\nMô hình này có thể đã bị ngừng sử dụng hoặc xóa bởi nhà cung cấp. Vui lòng chọn mô hình khác. -error.provider_not_configured=⚠️ Chưa cấu hình nhà cung cấp AI.\n\nĐể bắt đầu trò chuyện:\n1. Mở Cài đặt\n2. Chọn nhà cung cấp AI (OpenAI, Ollama, Anthropic, v.v.)\n3. Nhập API key hoặc cấu hình kết nối +error.model_not_found=⚠️ Không tìm thấy mô hình\: {model}\n\nMô hình này có thể đã bị ngừng sử dụng hoặc xóa bởi nhà cung cấp. Vui lòng chọn mô hình khác. +error.provider_not_configured=⚠️ Chưa cấu hình nhà cung cấp AI.\n\nĐể bắt đầu trò chuyện\:\n1. Mở Cài đặt\n2. Chọn nhà cung cấp AI (OpenAI, Ollama, Anthropic, v.v.)\n3. Nhập API key hoặc cấu hình kết nối error.rate_limit=⚠️ Đã vượt giới hạn tốc độ\n{retryAfter}\n\nBạn đã đạt giới hạn sử dụng API. Vui lòng chờ một chút trước khi gửi thêm tin nhắn. error.insufficient_credits=⚠️ Không đủ tín dụng\n\nSố dư tín dụng quá thấp.\n\nVui lòng truy cập trang thanh toán để thêm tín dụng. -error.timeout=⚠️ Yêu cầu đã hết thời gian chờ sau {timeout} giây\n\nNguyên nhân có thể do:\n• Máy chủ đang quá tải - hãy thử lại sau ít phút\n• Truy vấn quá phức tạp - hãy thử đơn giản hóa\n• Độ trễ mạng -error.context_length=⚠️ Đã vượt quá cửa sổ ngữ cảnh (context window)\n\nTổng dữ liệu đầu vào (lịch sử trò chuyện + tin nhắn của bạn + tệp đính kèm) quá lớn để mô hình này có thể xử lý.\n\nĐể khắc phục:\n• Bắt đầu một phiên trò chuyện mới để xóa lịch sử trò chuyện\n• Rút ngắn tin nhắn hoặc xóa các tệp đính kèm lớn\n• Nếu bạn đang sử dụng mô hình cục bộ (Ollama / LM Studio / Docker), hãy tăng kích thước ngữ cảnh trong phần cài đặt của mô hình đó\n• Chuyển sang mô hình có cửa sổ ngữ cảnh lớn hơn -error.invalid_request=⚠️ Yêu cầu không hợp lệ: {details}\n\nVui lòng kiểm tra nội dung nhập và thử lại. -error.local_server=⚠️ Lỗi máy chủ AI cục bộ!\n\nTiến trình máy chủ AI đã bị sập hoặc không thể tải mô hình. Đây không phải lỗi do Askimo gây ra.\n\nNguyên nhân có thể:\n• Tệp mô hình bị hỏng hoặc không đầy đủ — thử tải lại\n• Không đủ RAM/VRAM — thử lượng tử hóa nhỏ hơn (ví dụ: Q4 thay vì Q8)\n• Định dạng mô hình không được hỗ trợ bởi phiên bản máy chủ hiện tại\n• Tiến trình máy chủ bị hệ điều hành kết thúc (hết bộ nhớ)\n\nCách xử lý:\n1. Kiểm tra nhật ký máy chủ AI cục bộ của bạn\n2. Khởi động lại máy chủ và thử lại\n3. Tải lại mô hình\n4. Thử mô hình khác hoặc mức lượng tử hóa khác\n\nChi tiết kỹ thuật: {details} -error.empty_http_response=⚠️ Máy chủ đã đóng kết nối mà không phản hồi!\n\nMô hình: {0}\n\nĐiều này thường xảy ra khi nhà cung cấp AI cục bộ âm thầm loại bỏ yêu cầu thay vì trả về lỗi. Cửa sổ ngữ cảnh (context window) của mô hình quá nhỏ so với yêu cầu hiện tại.\n\nNguyên nhân phổ biến:\n• Lịch sử hội thoại đã trở nên quá dài qua nhiều lượt\n• Các công cụ được kích hoạt thêm dữ liệu vào mỗi yêu cầu — ngay cả một câu hỏi ngắn với nhiều công cụ đang hoạt động cũng có thể vượt quá giới hạn\n• Các tệp đính kèm lớn hoặc đoạn mã đã đẩy yêu cầu vượt quá giới hạn\n\n{1}\n\nCác cách khác để thử:\n• Bắt đầu một cuộc trò chuyện mới để đặt lại ngữ cảnh\n• Tắt các công cụ không cần thiết cho tác vụ này\n• Giảm kích thước tin nhắn hoặc tệp đính kèm của bạn -error.empty_http_response.hint.docker=Để tăng cửa sổ ngữ cảnh trong Docker AI / Docker Model Runner:\n• Truyền --context-size khi khởi chạy mô hình (ví dụ: --context-size 32768)\n• Hoặc đặt nó trong cấu hình chạy của mô hình -error.empty_http_response.hint.ollama=Để tăng cửa sổ ngữ cảnh trong Ollama:\n• Đặt num_ctx trong Modelfile của bạn (ví dụ: PARAMETER num_ctx 32768)\n• Hoặc truyền nó dưới dạng tham số: ollama run --num-ctx 32768 -error.empty_http_response.hint.lmstudio=Để tăng cửa sổ ngữ cảnh trong LM Studio:\n• Mở bảng cài đặt mô hình\n• Tìm "Context Length" và tăng giá trị (ví dụ: lên 32768 hoặc cao hơn, tối đa theo giới hạn của mô hình)\n• Khởi động lại máy chủ cục bộ sau khi thay đổi cài đặt -error.empty_http_response.hint.localai=Để tăng cửa sổ ngữ cảnh trong LocalAI:\n• Chỉnh sửa tệp YAML cấu hình mô hình và đặt context_size: 32768\n• Khởi động lại máy chủ LocalAI sau khi thay đổi cài đặt -error.empty_http_response.hint.generic=Để tăng cửa sổ ngữ cảnh:\n• Kiểm tra cài đặt của nhà cung cấp để tìm tùy chọn độ dài/kích thước ngữ cảnh và tăng nó lên (ví dụ: 32768 token)\n• Khởi động lại nhà cung cấp sau khi thay đổi cài đặt -error.remote_server=⚠️ Lỗi máy chủ nhà cung cấp AI\n\nMáy chủ của nhà cung cấp trả về lỗi tạm thời (ví dụ: quá tải hoặc không khả dụng). Đây không phải lỗi do Askimo gây ra.\n\nCách xử lý:\n• Chờ một lúc rồi thử lại — thường chỉ là vấn đề tạm thời\n• Kiểm tra trang trạng thái của nhà cung cấp nếu vấn đề tiếp diễn\n\nChi tiết kỹ thuật: {details} -error.system=⚠️ Lỗi hệ thống\n\nĐã xảy ra lỗi không mong muốn: {errorCode}\n\nVui lòng liên hệ hỗ trợ Askimo và cung cấp:\n• Bạn đang làm gì\n• Mã lỗi ở trên\n• Thời điểm xảy ra lỗi +error.timeout=⚠️ Yêu cầu đã hết thời gian chờ sau {timeout} giây\n\nNguyên nhân có thể do\:\n• Máy chủ đang quá tải - hãy thử lại sau ít phút\n• Truy vấn quá phức tạp - hãy thử đơn giản hóa\n• Độ trễ mạng +error.context_length=⚠️ Đã vượt quá cửa sổ ngữ cảnh (context window)\n\nTổng dữ liệu đầu vào (lịch sử trò chuyện + tin nhắn của bạn + tệp đính kèm) quá lớn để mô hình này có thể xử lý.\n\nĐể khắc phục\:\n• Bắt đầu một phiên trò chuyện mới để xóa lịch sử trò chuyện\n• Rút ngắn tin nhắn hoặc xóa các tệp đính kèm lớn\n• Nếu bạn đang sử dụng mô hình cục bộ (Ollama / LM Studio / Docker), hãy tăng kích thước ngữ cảnh trong phần cài đặt của mô hình đó\n• Chuyển sang mô hình có cửa sổ ngữ cảnh lớn hơn +error.invalid_request=⚠️ Yêu cầu không hợp lệ\: {details}\n\nVui lòng kiểm tra nội dung nhập và thử lại. +error.local_server=⚠️ Lỗi máy chủ AI cục bộ\!\n\nTiến trình máy chủ AI đã bị sập hoặc không thể tải mô hình. Đây không phải lỗi do Askimo gây ra.\n\nNguyên nhân có thể\:\n• Tệp mô hình bị hỏng hoặc không đầy đủ — thử tải lại\n• Không đủ RAM/VRAM — thử lượng tử hóa nhỏ hơn (ví dụ\: Q4 thay vì Q8)\n• Định dạng mô hình không được hỗ trợ bởi phiên bản máy chủ hiện tại\n• Tiến trình máy chủ bị hệ điều hành kết thúc (hết bộ nhớ)\n\nCách xử lý\:\n1. Kiểm tra nhật ký máy chủ AI cục bộ của bạn\n2. Khởi động lại máy chủ và thử lại\n3. Tải lại mô hình\n4. Thử mô hình khác hoặc mức lượng tử hóa khác\n\nChi tiết kỹ thuật\: {details} +error.empty_http_response=⚠️ Máy chủ đã đóng kết nối mà không phản hồi\!\n\nMô hình\: {0}\n\nĐiều này thường xảy ra khi nhà cung cấp AI cục bộ âm thầm loại bỏ yêu cầu thay vì trả về lỗi. Cửa sổ ngữ cảnh (context window) của mô hình quá nhỏ so với yêu cầu hiện tại.\n\nNguyên nhân phổ biến\:\n• Lịch sử hội thoại đã trở nên quá dài qua nhiều lượt\n• Các công cụ được kích hoạt thêm dữ liệu vào mỗi yêu cầu — ngay cả một câu hỏi ngắn với nhiều công cụ đang hoạt động cũng có thể vượt quá giới hạn\n• Các tệp đính kèm lớn hoặc đoạn mã đã đẩy yêu cầu vượt quá giới hạn\n\n{1}\n\nCác cách khác để thử\:\n• Bắt đầu một cuộc trò chuyện mới để đặt lại ngữ cảnh\n• Tắt các công cụ không cần thiết cho tác vụ này\n• Giảm kích thước tin nhắn hoặc tệp đính kèm của bạn +error.empty_http_response.hint.docker=Để tăng cửa sổ ngữ cảnh trong Docker AI / Docker Model Runner\:\n• Truyền --context-size khi khởi chạy mô hình (ví dụ\: --context-size 32768)\n• Hoặc đặt nó trong cấu hình chạy của mô hình +error.empty_http_response.hint.ollama=Để tăng cửa sổ ngữ cảnh trong Ollama\:\n• Đặt num_ctx trong Modelfile của bạn (ví dụ\: PARAMETER num_ctx 32768)\n• Hoặc truyền nó dưới dạng tham số\: ollama run --num-ctx 32768 +error.empty_http_response.hint.lmstudio=Để tăng cửa sổ ngữ cảnh trong LM Studio\:\n• Mở bảng cài đặt mô hình\n• Tìm "Context Length" và tăng giá trị (ví dụ\: lên 32768 hoặc cao hơn, tối đa theo giới hạn của mô hình)\n• Khởi động lại máy chủ cục bộ sau khi thay đổi cài đặt +error.empty_http_response.hint.localai=Để tăng cửa sổ ngữ cảnh trong LocalAI\:\n• Chỉnh sửa tệp YAML cấu hình mô hình và đặt context_size\: 32768\n• Khởi động lại máy chủ LocalAI sau khi thay đổi cài đặt +error.empty_http_response.hint.generic=Để tăng cửa sổ ngữ cảnh\:\n• Kiểm tra cài đặt của nhà cung cấp để tìm tùy chọn độ dài/kích thước ngữ cảnh và tăng nó lên (ví dụ\: 32768 token)\n• Khởi động lại nhà cung cấp sau khi thay đổi cài đặt +error.remote_server=⚠️ Lỗi máy chủ nhà cung cấp AI\n\nMáy chủ của nhà cung cấp trả về lỗi tạm thời (ví dụ\: quá tải hoặc không khả dụng). Đây không phải lỗi do Askimo gây ra.\n\nCách xử lý\:\n• Chờ một lúc rồi thử lại — thường chỉ là vấn đề tạm thời\n• Kiểm tra trang trạng thái của nhà cung cấp nếu vấn đề tiếp diễn\n\nChi tiết kỹ thuật\: {details} +error.system=⚠️ Lỗi hệ thống\n\nĐã xảy ra lỗi không mong muốn\: {errorCode}\n\nVui lòng liên hệ hỗ trợ Askimo và cung cấp\:\n• Bạn đang làm gì\n• Mã lỗi ở trên\n• Thời điểm xảy ra lỗi # Model Availability Errors error.model.not_available.title.chat=Không khả dụng mô hình @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=Không khả dụng mô hình embeddin error.model.not_available.message.chat=Mô hình ''{0}'' không khả dụng. error.model.not_available.message.embedding=Mô hình embedding ''{0}'' không khả dụng trong nhà cung cấp cục bộ của bạn.\n\nHãy vào Cài đặt → Nhà cung cấp AI và chọn một mô hình embedding khả dụng trong thẻ cấu hình nhà cung cấp. error.model.not_available.config_link=Cấu hình mô hình embedding -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=Đã xảy ra lỗi không mong muốn: {0} +error.app.message=Đã xảy ra lỗi không mong muốn\: {0} # Send Message Errors error.send_message.title=Gửi tin nhắn thất bại @@ -1171,32 +1179,32 @@ error.indexing.unknown.message=Đã xảy ra lỗi không xác định trong qu settings.rag.title=Cấu hình RAG settings.rag.description=Cấu hình các tham số Retrieval-Augmented Generation cho truy xuất tri thức theo dự án settings.rag.vector.max.results=Số kết quả tìm kiếm vector tối đa -settings.rag.vector.max.results.hint=Số lượng tài liệu tối đa từ tìm kiếm vector (mặc định: 20) +settings.rag.vector.max.results.hint=Số lượng tài liệu tối đa từ tìm kiếm vector (mặc định\: 20) settings.rag.vector.min.score=Điểm tối thiểu của tìm kiếm vector -settings.rag.vector.min.score.hint=Điểm tương đồng tối thiểu 0.0–1.0 (mặc định: 0.3) +settings.rag.vector.min.score.hint=Điểm tương đồng tối thiểu 0.0–1.0 (mặc định\: 0.3) settings.rag.hybrid.max.results=Số kết quả hybrid tối đa -settings.rag.hybrid.max.results.hint=Số lượng tài liệu cuối cùng sau khi hợp nhất (mặc định: 15) +settings.rag.hybrid.max.results.hint=Số lượng tài liệu cuối cùng sau khi hợp nhất (mặc định\: 15) settings.rag.rank.fusion.constant=Hằng số hợp nhất xếp hạng -settings.rag.rank.fusion.constant.hint=Hằng số RRF cho xếp hạng hybrid (mặc định: 60) +settings.rag.rank.fusion.constant.hint=Hằng số RRF cho xếp hạng hybrid (mặc định\: 60) settings.rag.use.absolute.paths=Sử dụng đường dẫn tuyệt đối trong trích dẫn settings.rag.use.absolute.paths.hint=Hiển thị đường dẫn đầy đủ của tệp trong câu trả lời của AI để rõ ràng hơn khi có nhiều tệp trùng tên settings.rag.embedding.title=Cấu hình embedding settings.rag.embedding.description=Cấu hình các tham số chia đoạn văn bản và embedding settings.rag.embedding.max.chars.per.chunk=Số ký tự tối đa mỗi đoạn -settings.rag.embedding.max.chars.per.chunk.hint=Số ký tự tối đa trong mỗi đoạn văn bản (mặc định: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=Số ký tự tối đa trong mỗi đoạn văn bản (mặc định\: 1500) settings.rag.embedding.chunk.overlap=Chồng lấp đoạn -settings.rag.embedding.chunk.overlap.hint=Số ký tự chồng lấp giữa các đoạn (mặc định: 100) +settings.rag.embedding.chunk.overlap.hint=Số ký tự chồng lấp giữa các đoạn (mặc định\: 100) settings.rag.embedding.models=Mô hình embedding theo nhà cung cấp settings.rag.indexing.title=Cấu hình lập chỉ mục settings.rag.indexing.description=Kiểm soát những tệp nào được lập chỉ mục và kích thước tệp tối đa được phép settings.rag.indexing.max.file.bytes=Kích thước tệp tối đa (byte) settings.rag.indexing.max.file.bytes.hint=Các tệp lớn hơn giá trị này sẽ bị bỏ qua trong quá trình lập chỉ mục. Đặt giá trị quá cao có thể làm chậm quá trình lập chỉ mục đáng kể. settings.rag.indexing.supported.extensions=Phần mở rộng được hỗ trợ -settings.rag.indexing.supported.extensions.hint=Phần mở rộng tệp cách nhau bằng dấu phẩy để lập chỉ mục (vd: kt, java, py, md). Để trống để dùng mặc định tích hợp sẵn. +settings.rag.indexing.supported.extensions.hint=Phần mở rộng tệp cách nhau bằng dấu phẩy để lập chỉ mục (vd\: kt, java, py, md). Để trống để dùng mặc định tích hợp sẵn. settings.rag.indexing.exclude.file.names=Tên tệp bị loại trừ -settings.rag.indexing.exclude.file.names.hint=Tên tệp chính xác cách nhau bằng dấu phẩy luôn bị bỏ qua (vd: package-lock.json, yarn.lock). +settings.rag.indexing.exclude.file.names.hint=Tên tệp chính xác cách nhau bằng dấu phẩy luôn bị bỏ qua (vd\: package-lock.json, yarn.lock). settings.rag.indexing.binary.extensions=Phần mở rộng nhị phân -settings.rag.indexing.binary.extensions.hint=Phần mở rộng tệp cách nhau bằng dấu phẩy được coi là nhị phân và bỏ qua khi lập chỉ mục (vd: png, jpg, zip, exe). Để trống để dùng mặc định tích hợp sẵn. +settings.rag.indexing.binary.extensions.hint=Phần mở rộng tệp cách nhau bằng dấu phẩy được coi là nhị phân và bỏ qua khi lập chỉ mục (vd\: png, jpg, zip, exe). Để trống để dùng mặc định tích hợp sẵn. settings.rag.indexing.embedding.batch.size=Kích thước lô nhúng settings.rag.indexing.embedding.batch.size.hint=Số đoạn văn bản gửi đến mô hình nhúng mỗi yêu cầu. Nếu lập chỉ mục chậm và bạn dùng nhà cung cấp từ xa (OpenAI, Gemini), hãy thử tăng lên 100–500. Nếu dùng mô hình cục bộ (Ollama, LM Studio), hãy giữ thấp để tránh hết thời gian chờ. @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=Số đoạn văn bản gửi đ settings.models.title=Mô hình settings.models.description=Cấu hình hành vi mô hình AI toàn cục được chia sẻ trên tất cả các nhà cung cấp. settings.models.max.tool.calling.round.trips=Số lượt gọi công cụ tối đa -settings.models.max.tool.calling.round.trips.hint=Số lần gọi công cụ tối đa mà AI có thể thực hiện trong một phản hồi (mặc định: 10). Giá trị cao hơn cho phép các tác vụ agent phức tạp hơn nhưng tăng độ trễ và chi phí. +settings.models.max.tool.calling.round.trips.hint=Số lần gọi công cụ tối đa mà AI có thể thực hiện trong một phản hồi (mặc định\: 10). Giá trị cao hơn cho phép các tác vụ agent phức tạp hơn nhưng tăng độ trễ và chi phí. # Memory Settings settings.memory.title=Cài đặt bộ nhớ @@ -1247,11 +1255,11 @@ file.viewer.title=Trình xem tệp file.viewer.title.with.name=Trình xem tệp - {0} file.viewer.dialog.close=Đóng file.viewer.copy.clipboard=Sao chép vào clipboard -file.viewer.copied=Đã sao chép! +file.viewer.copied=Đã sao chép\! # Mermaid Chart Renderer mermaid.setup.required.title=Cần Mermaid CLI -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=Mở hướng dẫn cài đặt mermaid.rendering.progress=Đang hiển thị sơ đồ... mermaid.error.rendering.title=Lỗi hiển thị sơ đồ @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=Phóng to mermaid.button.zoom.out=Thu nhỏ mermaid.button.reset.zoom=Đặt lại thu phóng mermaid.button.retry=Thử lại -mermaid.feedback.copied=Đã sao chép! +mermaid.feedback.copied=Đã sao chép\! mermaid.setup.button.install=Cài đặt Mermaid CLI mermaid.setup.button.check.again=Kiểm tra lại mermaid.setup.button.download.node=Tải xuống Node.js mermaid.setup.installing=Đang cài đặt Mermaid CLI... mermaid.setup.install.failed=Cài đặt thất bại. Xem chi tiết trong phần kết quả bên dưới. mermaid.setup.node.required=Không tìm thấy Node.js và npm. Vui lòng cài đặt Node.js trước để bật tính năng cài đặt một cú nhấp. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=Xem mã biểu đồ mermaid.error.code.hide=Ẩn mã biểu đồ @@ -1290,7 +1298,7 @@ mcp.instances.title=Các Instance MCP mcp.instances.description=Các instance MCP này có sẵn mcp.instances.empty=Không có instance MCP nào được cấu hình mcp.instances.count={0} instance(s) -mcp.instance.server.label=Máy chủ: {0} +mcp.instance.server.label=Máy chủ\: {0} mcp.instance.delete.confirm.title=Bạn có muốn xóa Instance MCP không? mcp.instance.delete.confirm.message=Bạn có chắc chắn muốn xóa instance mcp "{0}"? Thao tác này không thể hoàn tác. mcp.instance.enable.tooltip=Kích hoạt instance MCP này @@ -1316,7 +1324,7 @@ mcp.instance.field.description=Mô tả mcp.instance.field.description.placeholder=Mô tả ngắn gọn về chức năng của máy chủ này mcp.instance.field.transport=Loại truyền tải mcp.instance.field.command=Mẫu lệnh -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=Lệnh phân tách bằng dấu cách với các placeholder {{parameter}} mcp.instance.validation.error.empty.id=ID máy chủ không được để trống mcp.instance.validation.error.invalid.id.pattern=ID máy chủ chỉ được chứa các chữ cái thường, số và dấu gạch nối @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=Mẫu lệnh không được để t mcp.instance.validation.error.empty.parameter.key=Khóa tham số không được để trống mcp.instance.validation.error.empty.parameter.label=Nhãn tham số không được để trống mcp.instance.env.label=Biến môi trường (Tùy chọn) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=Định dạng: KHÓA=giá trị hoặc KHÓA={{parameter}} (mỗi dòng một cặp) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=Định dạng\: KHÓA\=giá trị hoặc KHÓA\={{parameter}} (mỗi dòng một cặp) mcp.instance.transport.stdio=Stdio (Quy trình cục bộ) mcp.instance.transport.http=HTTP (Máy chủ từ xa) mcp.instance.http.url.label=Mẫu URL -mcp.instance.http.url.placeholder=https://{{host}}/mcp hoặc https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp hoặc https\://api.example.com/mcp mcp.instance.http.url.hint=URL endpoint máy chủ. Sử dụng placeholder {{parameter}} cho các giá trị động mcp.instance.http.headers.label=Tiêu đề HTTP (Tùy chọn) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=Định dạng: Tên-Tiêu đề=giá trị hoặc Tên-Tiêu đề={{parameter}} (mỗi dòng một cặp) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=Định dạng\: Tên-Tiêu đề\=giá trị hoặc Tên-Tiêu đề\={{parameter}} (mỗi dòng một cặp) mcp.instance.http.timeout.label=Thời gian chờ (ms) mcp.instance.http.timeout.hint=Thời gian chờ yêu cầu bằng mili giây mcp.instance.validation.error.empty.url=Mẫu URL không được để trống -mcp.instance.validation.error.invalid.url=Mẫu URL phải bắt đầu bằng http:// hoặc https:// +mcp.instance.validation.error.invalid.url=Mẫu URL phải bắt đầu bằng http\:// hoặc https\:// # MCP Integrations (Project View) mcp.instance.delete.tooltip=Xóa instance MCP @@ -1349,7 +1357,7 @@ mcp.instance.field.serverId=Loại máy chủ # Add MCP Integration Dialog mcp.instance.name=Tên MCP -mcp.instance.name.placeholder=Ví dụ: Cơ sở dữ liệu sản xuất, Tệp dự án +mcp.instance.name.placeholder=Ví dụ\: Cơ sở dữ liệu sản xuất, Tệp dự án mcp.instance.tools.title=Các công cụ có sẵn mcp.instance.tools.count={0} công cụ có sẵn mcp.instance.tool.strategy.intent=Dựa trên Ý định @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} trên {1} công cụ mcp.tools.dialog.search.empty=Không có công cụ nào khớp với tìm kiếm của bạn mcp.tools.dialog.export=Xuất công cụ mcp.tools.dialog.export.success=Các công cụ đã được xuất tới {0} -mcp.tools.dialog.export.failed=Lỗi khi xuất công cụ: {0} +mcp.tools.dialog.export.failed=Lỗi khi xuất công cụ\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=Thêm Máy chủ MCP @@ -1444,7 +1452,7 @@ file.viewer.close=Đóng trình xem file.viewer.open.external=Mở bên ngoài file.viewer.binary=Tệp nhị phân — không thể xem trước dưới dạng văn bản. file.viewer.too.large=Tệp quá lớn để xem trước ({0} KB). Tối đa là 512 KB. -file.viewer.error=Không thể đọc tệp: {0} +file.viewer.error=Không thể đọc tệp\: {0} file.viewer.select.prompt=Chọn một tệp từ cây bên trên để xem trước nội dung # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=Thu gọn bảng điều khiển # RAG Status rag.status.started=Bắt đầu lập chỉ mục -rag.status.inprogress=Đang lập chỉ mục: {0}% +rag.status.inprogress=Đang lập chỉ mục\: {0}% rag.status.inprogress.unknown=Đang lập chỉ mục... rag.status.queued=Đang xếp hàng — đang chờ dự án khác hoàn tất việc lập chỉ mục rag.status.ready=Sẵn sàng @@ -1510,7 +1518,7 @@ plans.editor.label=Nội dung YAML plans.editor.placeholder=Dán hoặc nhập YAML kế hoạch của bạn tại đây... plans.editor.valid=YAML hợp lệ plans.editor.hint.title=Tham khảo -plans.editor.hint.fields=Bắt buộc: id, name, steps\nTùy chọn: description, icon, inputs, workflow\nLoại bước: text, multiline, toggle, number\nLoại quy trình: sequence, parallel, conditional +plans.editor.hint.fields=Bắt buộc\: id, name, steps\nTùy chọn\: description, icon, inputs, workflow\nLoại bước\: text, multiline, toggle, number\nLoại quy trình\: sequence, parallel, conditional plans.editor.menu.edit=Chỉnh sửa YAML plans.editor.ai.label=Tạo bằng AI plans.editor.ai.placeholder=Mô tả những gì bạn muốn kế hoạch này thực hiện bằng ngôn ngữ đơn giản... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=Thu gọn bảng skills.view.panel.expand=Mở rộng bảng skills.view.tab.skills=Kỹ năng skills.view.tab.workspace=Không gian làm việc -skills.view.last.run=Lần chạy cuối: {0} +skills.view.last.run=Lần chạy cuối\: {0} skills.view.category.uncategorized=Khác skills.view.search.placeholder=Tìm kiếm kỹ năng ... skills.view.search.clear=Xóa tìm kiếm skills.view.context.placeholder=Bạn muốn làm gì? (tùy chọn) -skills.view.command.mode.hint=Chế độ lệnh: đầu vào bắt đầu bằng / sẽ được chạy như lệnh tác nhân. +skills.view.command.mode.hint=Chế độ lệnh\: đầu vào bắt đầu bằng / sẽ được chạy như lệnh tác nhân. skills.view.system.prompt.preview=System Prompt skills.view.response.title=Phản hồi skills.view.followup.label=Theo dõi @@ -1584,7 +1592,7 @@ skills.view.history.empty=Chưa có lượt chạy nào skills.view.copy=Sao chép skills.view.system.prompt.file=tệp skills.view.system.prompt.files=tệp -skills.view.system.prompt.also.included=Cũng được bao gồm trong ngữ cảnh agent: +skills.view.system.prompt.also.included=Cũng được bao gồm trong ngữ cảnh agent\: skills.view.docs.tooltip=Xem Hướng dẫn Kỹ năng skills.view.mode.agentic=Tác nhân skills.view.mode.manual=Thủ công @@ -1611,7 +1619,7 @@ onboarding.step.language.label=Ngôn ngữ # Onboarding Step 1: Analytics onboarding.step.analytics.title=Giúp Askimo tốt hơn cho mọi người onboarding.step.analytics.description=Askimo là miễn phí và mã nguồn mở. Chia sẻ dữ liệu sử dụng ẩn danh là cách đóng góp nhỏ bé. Nó giúp chúng tôi biết tính năng nào nên phát triển tiếp theo. -onboarding.step.analytics.collected.yes.features=✅ Tính năng nào được dùng (ví dụ: RAG, công cụ MCP, Kế hoạch, Kỹ năng) +onboarding.step.analytics.collected.yes.features=✅ Tính năng nào được dùng (ví dụ\: RAG, công cụ MCP, Kế hoạch, Kỹ năng) onboarding.step.analytics.collected.yes.version=✅ Phiên bản ứng dụng và loại hệ điều hành onboarding.step.analytics.collected.no.conversations=❌ Không lấy nội dung hội thoại hay prompt onboarding.step.analytics.collected.no.personal=❌ Không bao giờ có dữ liệu cá nhân, tệp hay API key @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=Những gì chúng tôi không bao giờ onboarding.step.analytics.toggle.subtitle=Giúp chúng tôi tập trung vào những gì quan trọng nhất · có thể thay đổi bất cứ lúc nào trong Cài đặt → Nâng cao # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 Chào mừng đến với Askimo! +onboarding.step.welcome.title=👋 Chào mừng đến với Askimo\! onboarding.step.welcome.description=Trợ lý AI cá nhân cho bạn. Trò chuyện với nhiều mô hình AI, tổ chức tri thức trong dự án, và tự động hóa công việc với kỹ năng và kế hoạch. onboarding.step.welcome.feature1.title=💬 Chat với AI onboarding.step.welcome.feature1.description=Đặt câu hỏi, nhận trợ giúp cho công việc hoặc trò chuyện với bất kỳ mô hình AI nào. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=Cần gia sư kiên nhẫn để onboarding.step.directives.link=Xem ví dụ và mẹo # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 Mọi thứ đã sẵn sàng! +onboarding.step.ready.title=🚀 Mọi thứ đã sẵn sàng\! onboarding.step.ready.description=Bạn đã cấu hình xong. Hãy bắt đầu chat đầu tiên hoặc khám phá các tài nguyên bên dưới. onboarding.step.ready.link.docs=📚 Xem tài liệu onboarding.step.ready.link.providers=🔧 Cấu hình nhà cung cấp AI @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ Star cho chúng tôi trên GitHub onboarding.step.persona.title=🎯 Bạn chủ yếu muốn làm gì? onboarding.step.persona.description=Chọn tùy chọn nghe giống công việc của bạn nhất. Askimo sẽ hiển thị các tính năng phù hợp nhất. Bạn luôn có thể thay đổi điều này từ menu Xem. onboarding.step.persona.developer.description=Đọc và viết mã, tái cấu trúc tệp, tạo giàn giáo (scaffolding) hoặc chạy các tác vụ đại lý trên dự án cục bộ của bạn. -onboarding.step.persona.developer.features=Kích hoạt: Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=Kích hoạt\: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=Nghiên cứu các chủ đề, phân tích dữ liệu, viết báo cáo có cấu trúc và nhận câu trả lời dựa trên kiến thức. -onboarding.step.persona.researcher.features=Kích hoạt: Plans, Projects (RAG) +onboarding.step.persona.researcher.features=Kích hoạt\: Plans, Projects (RAG) onboarding.step.persona.manager.description=Soạn thảo email, xử lý ghi chú cuộc họp, viết báo cáo trạng thái hoặc chạy quy trình làm việc nội dung nhiều bước. -onboarding.step.persona.manager.features=Kích hoạt: Plans +onboarding.step.persona.manager.features=Kích hoạt\: Plans onboarding.step.persona.everything.description=Tôi làm nhiều việc kết hợp — hãy cho tôi xem tất cả các tính năng và tôi sẽ quyết định sử dụng gì. -onboarding.step.persona.everything.features=Kích hoạt: Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=Kích hoạt\: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 Viết và đánh giá mã From 7b9ad781a9312d03a836e73b661ada107fdb1903 Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:17:36 +0000 Subject: [PATCH 09/10] New translations messages.properties (Portuguese, Brazilian) [ci skip] --- .../resources/i18n/messages_pt_BR.properties | 256 +++++++++--------- 1 file changed, 132 insertions(+), 124 deletions(-) diff --git a/desktop-shared/src/main/resources/i18n/messages_pt_BR.properties b/desktop-shared/src/main/resources/i18n/messages_pt_BR.properties index 4b2a72f05..378c8d084 100644 --- a/desktop-shared/src/main/resources/i18n/messages_pt_BR.properties +++ b/desktop-shared/src/main/resources/i18n/messages_pt_BR.properties @@ -43,7 +43,7 @@ menu.help.discord=💬 Entrar na comunidade do Discord menu.help.share.x=Compartilhar no X / Twitter menu.help.share.linkedin=Compartilhar no LinkedIn menu.help.share.facebook=Compartilhar no Facebook -menu.help.share.text=Conheça o Askimo — um cliente de IA gratuito e local para desktop. Suporta Ollama, OpenAI, Anthropic e mais. https://askimo.chat +menu.help.share.text=Conheça o Askimo — um cliente de IA gratuito e local para desktop. Suporta Ollama, OpenAI, Anthropic e mais. https\://askimo.chat menu.help.share.hackernews=Publicar no Hacker News menu.eventlog=Registro de eventos menu.help.model.capabilities=Abrir arquivo de capacidades do modelo @@ -60,16 +60,16 @@ dialog.close=Fechar # Backup and Restore backup.export.title=Exportar backup backup.export.success.title=Backup exportado -backup.export.success.message=Backup exportado com sucesso para:\n{0} +backup.export.success.message=Backup exportado com sucesso para\:\n{0} backup.export.error.title=Falha na exportação -backup.export.error.message=Falha ao exportar backup:\n{0} +backup.export.error.message=Falha ao exportar backup\:\n{0} backup.import.title=Importar backup backup.import.confirm.title=Confirmar importação backup.import.confirm.message=Esta ação substituirá todos os dados atuais pelo backup.\n\nUm backup de segurança será criado automaticamente antes da importação.\n\nTem certeza de que deseja continuar? backup.import.success.title=Backup importado backup.import.success.message=Backup importado com sucesso.\n\nReinicie o Askimo para que todas as alterações entrem em vigor. backup.import.error.title=Falha na importação -backup.import.error.message=Falha ao importar backup:\n{0} +backup.import.error.message=Falha ao importar backup\:\n{0} # Event Log eventlog.title=Log de Eventos ({0}) @@ -87,7 +87,7 @@ eventlog.window.header=Log de Eventos eventlog.window.attach=Anexar à janela principal eventlog.window.events.count={0} eventos eventlog.window.empty.message=Ainda não há eventos. Eles aparecerão aqui conforme ocorrerem. -eventlog.footer.warning=As entradas mais antigas foram cortadas (limite: {0}) +eventlog.footer.warning=As entradas mais antigas foram cortadas (limite\: {0}) # Chat Interface chat.new=Nova Conversa @@ -165,7 +165,7 @@ session.rename.error.empty=O título não pode estar vazio session.export.file.chooser.title=Salvar Histórico da Conversa session.export.button.export=Exportar session.export.success.title=Exportação Bem-Sucedida -session.export.success.message=A sessão de conversa foi exportada com sucesso para: +session.export.success.message=A sessão de conversa foi exportada com sucesso para\: # Projects project.title=Projetos @@ -181,11 +181,11 @@ project.new.dialog.file.browse=Selecionar arquivos para processar... project.new.dialog.sources.label=Materiais de referência (opcional) project.new.dialog.sources.add=Adicionar fonte project.new.dialog.error.empty.name=O nome do projeto não pode estar vazio -project.new.dialog.error.create.failed=Falha ao criar o projeto: {0} +project.new.dialog.error.create.failed=Falha ao criar o projeto\: {0} project.new.dialog.name.error.empty=O nome do projeto não pode estar vazio project.new.dialog.button.create=Criar projeto project.new.dialog.button.cancel=Cancelar -project.new.dialog.success.title=Projeto criado com sucesso! +project.new.dialog.success.title=Projeto criado com sucesso\! project.new.dialog.success.message=O projeto ''{0}'' foi criado. project.new.dialog.success.countdown=Fechando em {0} segundo{1}... project.new.dialog.success.close=Fechar agora @@ -208,7 +208,7 @@ projects.title=Projetos projects.description=Organize seus chats em torno de um tópico e anexe arquivos, pastas ou URLs como fontes de conhecimento, para que a IA sempre tenha o contexto certo para esse projeto. projects.error=❌ {0} projects.empty=Nenhum projeto encontrado. -projects.empty.hint=💡 Crie um novo projeto para organizar suas sessões de chat! +projects.empty.hint=💡 Crie um novo projeto para organizar suas sessões de chat\! projects.search.placeholder=Pesquisar por nome… projects.search.empty=Nenhum projeto corresponde a "{0}". projects.col.name=Nome @@ -219,13 +219,16 @@ projects.sources.expand=Mostrar materiais de referência projects.sources.collapse=Ocultar materiais de referência projects.sources.empty.title=Ainda não há materiais de referência projects.sources.empty.description=Adicione documentos para que o Askimo possa consultá-los ao responder às suas perguntas -projects.sources.info.tooltip=Os materiais de referência ajudam o Askimo a compreender o seu contexto específico.\n\n\ -Adicione pastas, arquivos ou sites que contenham as informações que você deseja que o Askimo utilize ao responder perguntas.\n\n\ -Por exemplo:\n\ +projects.sources.info.tooltip=Os materiais de referência ajudam o Askimo a compreender o seu contexto específico.\n\ +\n\ +Adicione pastas, arquivos ou sites que contenham as informações que você deseja que o Askimo utilize ao responder perguntas.\n\ +\n\ +Por exemplo\:\n\ • Documentação do seu projeto\n\ • Base de conhecimento da empresa\n\ • Especificações técnicas\n\ -• Artigos de pesquisa\n\n\ +• Artigos de pesquisa\n\ +\n\ O Askimo pesquisará esses materiais para fornecer respostas mais precisas e contextualizadas. projects.sources.type.local_folders=Pastas Locais projects.sources.type.local_files=Arquivos Locais @@ -252,8 +255,8 @@ project.reindex=Reindexar projeto project.menu.tooltip=Menu do projeto project.new.chat.placeholder=Novo chat em {0} project.recent.chats=Chats recentes -project.no.chats=Ainda não há chats. Inicie um novo chat abaixo! -project.indexing.label=Indexação da fonte de conhecimento: {0} +project.no.chats=Ainda não há chats. Inicie um novo chat abaixo\! +project.indexing.label=Indexação da fonte de conhecimento\: {0} project.indexing.queued=Indexação na fila - aguardando a conclusão de outro projeto... project.indexing.failed=A indexação falhou. Tente reindexar a partir do menu do projeto. project.indexing.ready.label=Indexado @@ -272,7 +275,7 @@ settings.appearance=Aparência settings.appearance.accent=Cor de destaque settings.appearance.accent.description=Personalize com segurança uma única cor de destaque. O Askimo a aplica aos destaques principais da interface e deriva cores relacionadas para manter a legibilidade. settings.appearance.accent.label=Cor de destaque (Hex) -settings.appearance.accent.invalid=Digite uma cor hex válida como #0284C7 +settings.appearance.accent.invalid=Digite uma cor hex válida como \#0284C7 settings.appearance.accent.swatch.primary=Primária settings.appearance.accent.swatch.primary.container=Contêiner settings.appearance.accent.swatch.on.primary.container=Sobre o contêiner @@ -296,7 +299,7 @@ settings.network.description=Configurar definições de rede e proxy settings.mcp.servers=Servidores MCP settings.skills=Habilidades settings.skills.description=Skills são agentes de IA reutilizáveis que rodam diretamente na sua máquina. Cada skill é um arquivo Markdown com um prompt de sistema e instruções. Ao executar um skill, ele é executado via {0} — lendo e escrevendo seus arquivos, executando comandos de shell e iterando até que o trabalho esteja concluído. Não é necessário copiar e colar. -settings.skills.runtimes=Ambientes de execução suportados: +settings.skills.runtimes=Ambientes de execução suportados\: settings.skills.directory=Diretório de habilidades settings.skills.open.folder=Abrir pasta settings.skills.new.skill=Nova habilidade @@ -376,11 +379,11 @@ settings.log.viewer=Arquivos de Log settings.log.viewer.description=Visualizar logs e diagnósticos da aplicação settings.log.viewer.view=Ver Logs settings.log.viewer.open_folder=Abrir Pasta de Logs -settings.log.viewer.path=Arquivo de log: {0} +settings.log.viewer.path=Arquivo de log\: {0} settings.log.viewer.dialog.title=Logs da Aplicação settings.log.viewer.refresh=Atualizar settings.log.viewer.copy=Copiar -settings.log.viewer.copied=Copiado! +settings.log.viewer.copied=Copiado\! settings.log.viewer.loading=Carregando logs... settings.log.viewer.error=Erro ao carregar logs settings.log.viewer.empty=Sem logs disponíveis @@ -434,7 +437,7 @@ settings.web_search.api_key=Chave de API settings.web_search.api_key.placeholder=Cole sua chave de API aqui settings.web_search.get_api_key=Obter uma chave de API gratuita ↗ settings.web_search.endpoint=URL da instância SearxNG -settings.web_search.endpoint.placeholder=https://search.example.com +settings.web_search.endpoint.placeholder=https\://search.example.com settings.web_search.test=Testar pesquisa settings.web_search.test.running=Testando... settings.web_search.test.success=✅ A pesquisa está funcionando @@ -451,25 +454,25 @@ user.profile.name=Nome user.profile.email=E-mail user.profile.email.placeholder=seu.email@exemplo.com user.profile.occupation=Ocupação -user.profile.occupation.placeholder=ex.: Desenvolvedor de software, Designer, Estudante +user.profile.occupation.placeholder=ex.\: Desenvolvedor de software, Designer, Estudante user.profile.location=Localização -user.profile.location.placeholder=ex.: San Francisco, CA +user.profile.location.placeholder=ex.\: San Francisco, CA user.profile.bio=Biografia user.profile.bio.placeholder=Conte-nos um pouco sobre você… user.profile.interests=Interesses user.profile.interests.description=Selecione tópicos de interesse para ajudar a personalizar sua experiência com IA user.profile.interests.custom=Interesses personalizados -user.profile.interests.custom.placeholder=ex.: Aprendizado de máquina, Fotografia +user.profile.interests.custom.placeholder=ex.\: Aprendizado de máquina, Fotografia user.profile.interests.custom.hint=Separe vários interesses com vírgulas # Welcome Dialog (First Run) -welcome.title=Bem-vindo ao Askimo! +welcome.title=Bem-vindo ao Askimo\! welcome.subtitle=Ajude-nos a personalizar sua experiência com IA welcome.avatar.optional=Clique para adicionar uma foto (opcional) welcome.name=Seu nome -welcome.name.placeholder=ex.: João Silva +welcome.name.placeholder=ex.\: João Silva welcome.occupation=Ocupação -welcome.occupation.placeholder=ex.: Desenvolvedor de software +welcome.occupation.placeholder=ex.\: Desenvolvedor de software welcome.interests=No que você está interessado? welcome.interests.description=Selecione alguns tópicos para nos ajudar a adaptar sua experiência welcome.skip=Configurar depois @@ -526,7 +529,7 @@ action.refresh=Atualizar # Happiness Gate (shown before Star Prompt) happiness.gate.title=Como você está achando o Askimo? happiness.gate.subtitle=Sua opinião honesta nos ajuda a continuar melhorando -happiness.gate.happy=Estou adorando! 😍 +happiness.gate.happy=Estou adorando\! 😍 happiness.gate.neutral=Está ok 🙂 happiness.gate.unhappy=Não muito 😕 @@ -549,11 +552,11 @@ feedback.email.placeholder=you@example.com feedback.email.hint=Usado apenas para acompanhar o seu feedback. Nunca enviaremos spam. feedback.action.skip=Ignorar feedback.action.send=Enviar feedback -feedback.thanks.title=Obrigado pelo seu feedback! +feedback.thanks.title=Obrigado pelo seu feedback\! feedback.thanks.message=O seu contributo ajuda-nos a tornar o Askimo melhor. Agradecemos muito. feedback.thanks.close=Fechar -feedback.remind.title=Não se preocupe! +feedback.remind.title=Não se preocupe\! feedback.remind.message=Pode partilhar feedback a qualquer momento no menu Ajuda → Partilhar Feedback. feedback.remind.got.it=Entendido @@ -577,10 +580,10 @@ star.prompt.share.description=Conte à sua rede sobre o Askimo no X, LinkedIn ou star.prompt.maybe.later=Agora não star.prompt.already.starred=Já com estrela ✓ star.prompt.social.proof=⭐ Junte-se a {0} pessoas que já deram estrela no Askimo -star.prompt.thanks.title=Muito obrigado! 🌟 +star.prompt.thanks.title=Muito obrigado\! 🌟 star.prompt.thanks.message=O seu apoio significa muito e ajuda-nos a continuar a desenvolver o Askimo. star.prompt.thanks.done=Concluído ✓ -star.prompt.remind.title=Sem problemas! +star.prompt.remind.title=Sem problemas\! star.prompt.remind.message=Pode apoiar-nos a qualquer momento através do menu Ajuda → Apoiar o Askimo. star.prompt.remind.got.it=Entendido @@ -654,7 +657,7 @@ shortcut.send.message=Enviar mensagem shortcut.new.line=Nova linha # Chat View -chat.welcome=Bem-vindo ao Askimo!\nComece uma conversa digitando uma mensagem abaixo. +chat.welcome=Bem-vindo ao Askimo\!\nComece uma conversa digitando uma mensagem abaixo. chat.no.active.session=Selecione uma sessão na barra lateral ou inicie um novo chat chat.search.placeholder=Buscar na conversa... chat.search.no.results=Sem resultados @@ -736,7 +739,7 @@ chat.attachment.remove=Remover anexo chat.attachment.preview.loading=Carregando visualização… chat.attachment.preview.file.not.found=(Arquivo não encontrado) chat.attachment.preview.too.large=(Arquivo muito grande para visualização) -chat.attachment.preview.cannot.read=(Não é possível ler o arquivo: {0}) +chat.attachment.preview.cannot.read=(Não é possível ler o arquivo\: {0}) chat.attachment.preview.more.lines=mais {0} linhas # Sessions View @@ -748,12 +751,12 @@ sessions.col.created=Criado sessions.col.updated=Atualizado sessions.error=❌ {0} sessions.empty=Nenhuma sessão encontrada. -sessions.empty.hint=💡 Inicie uma nova conversa para criar sua primeira sessão! +sessions.empty.hint=💡 Inicie uma nova conversa para criar sua primeira sessão\! sessions.search.placeholder=Pesquisar por título… sessions.search.empty=Nenhuma sessão corresponde a "{0}". # Generic table pagination controls -table.page.size.label=Linhas por página: +table.page.size.label=Linhas por página\: table.page=Página {0} de {1} table.page.previous=Página anterior table.page.next=Próxima página @@ -769,7 +772,7 @@ sessions.error.rename.failed=Falha ao renomear sessão. # ChatSessionService Errors # Update Check update.dialog.title=Atualização de Software -update.dialog.new.version.available=Uma nova versão do Askimo está disponível! +update.dialog.new.version.available=Uma nova versão do Askimo está disponível\! update.urgency.medium=Você está {0} versões atrás — pode estar perdendo correções importantes e novos recursos. update.urgency.high=Você está {0} versões atrás — está perdendo melhorias significativas. Atualize em breve. update.dialog.current.version.label=Versão Atual @@ -780,7 +783,7 @@ update.dialog.download=Baixar Agora update.dialog.how.to.update=Como atualizar update.dialog.later=Depois update.dialog.skip.version=Pular esta versão -update.check.up.to.date=Você está usando a versão mais recente! +update.check.up.to.date=Você está usando a versão mais recente\! update.check.failed=Falha ao verificar atualizações # Event Names @@ -817,8 +820,8 @@ settings.app.language.translation.contribute=Contribuir no Crowdin settings.ai.response.language=Idioma de resposta preferido settings.ai.response.language.description=Forçar a IA a responder em um idioma específico (deixe vazio para detecção automática) settings.ai.response.language.auto=Detecção automática -settings.ai.response.language.tooltip=A IA detecta automaticamente seu idioma, mas sobrescreva quando:\n• Aprendizado de idiomas (prática imersiva)\n• Consistência profissional (ex: docs de código sempre em inglês)\n• Otimização RAG (corresponder ao idioma da base de conhecimento)\n• Ensino (perguntar em um idioma, explicar em outro)\n• Evitar mudanças de idioma indesejadas -settings.model.select=Selecionar modelo para {0}: +settings.ai.response.language.tooltip=A IA detecta automaticamente seu idioma, mas sobrescreva quando\:\n• Aprendizado de idiomas (prática imersiva)\n• Consistência profissional (ex\: docs de código sempre em inglês)\n• Otimização RAG (corresponder ao idioma da base de conhecimento)\n• Ensino (perguntar em um idioma, explicar em outro)\n• Evitar mudanças de idioma indesejadas +settings.model.select=Selecionar modelo para {0}\: settings.model.loading=Carregando modelos... settings.model.none=Nenhum modelo disponível settings.model.select.title=Selecionar Modelo @@ -826,7 +829,7 @@ settings.model.current=Modelo Atual settings.model.selected=Modelo Selecionado settings.model.new=Novo modelo settings.model.use.default=Usar padrão -settings.model.change.description=Escolha um modelo na lista abaixo: +settings.model.change.description=Escolha um modelo na lista abaixo\: settings.model.search=Buscar Modelos settings.model.search.placeholder=Digite para filtrar modelos... settings.model.filtered=Mostrando {0} de {1} modelos @@ -835,22 +838,22 @@ settings.model.chat.filter.label=Modelos de chat · {0} exibidos settings.model.chat.filter.show.all=Mostrar todos {0} settings.configure.title=Configurar {0} settings.test.connection.testing=Testando... -settings.placeholder.baseurl=http://localhost:11434 +settings.placeholder.baseurl=http\://localhost\:11434 provider.connection.failed=Não foi possível conectar ao provedor. Verifique se a sua chave API está correta (para provedores em nuvem) ou se a sua URL base está acessível (para provedores locais). Você pode encontrar instruções de configuração usando o link de ajuda acima. # Directives Dialog directive.manage.title=Gerenciar Diretivas -directive.manage.empty=Nenhuma diretiva disponível. Crie uma para começar! +directive.manage.empty=Nenhuma diretiva disponível. Crie uma para começar\! directive.edit.name.label=Nome directive.edit.name.placeholder=Digite o nome da diretiva... directive.edit.content.label=Conteúdo directive.edit.content.placeholder=Digite as instruções da diretiva... directive.edit.name.required=Nome é obrigatório directive.edit.content.required=Conteúdo é obrigatório -directive.created=Criado: {0} +directive.created=Criado\: {0} directive.new.title=Nova Diretiva directive.new.guidelines=As diretivas orientam como a IA responde às suas mensagens. Seja específico sobre tom, nível de detalhe, formato ou quaisquer requisitos especiais que você precisa. -directive.new.name.placeholder=ex.: concise-code, explain-like-im-5 +directive.new.name.placeholder=ex.\: concise-code, explain-like-im-5 directive.new.content.placeholder=Digite as instruções... directive.new.apply.current=Aplicar à sessão atual directive.new.create=Criar @@ -862,8 +865,8 @@ directive.export.tooltip=Exportar todas as diretivas para um arquivo JSON para c directive.export.filename=askimo-directives directive.import=Importar directive.import.tooltip=Importar diretivas de um arquivo JSON -directive.import.result=Importação concluída: {0} importadas, {1} renomeadas, {2} ignoradas -directive.import.error=Falha na importação: formato de arquivo inválido ou não suportado +directive.import.result=Importação concluída\: {0} importadas, {1} renomeadas, {2} ignoradas +directive.import.error=Falha na importação\: formato de arquivo inválido ou não suportado # Log Levels log.level.error=Erro @@ -919,7 +922,7 @@ message.edited.indicator=(editado) message.date.today=Hoje message.date.yesterday=Ontem message.token.usage={0} tokens · {1} de entrada / {2} de saída -message.token.usage.tooltip=Tokens usados por esta resposta.\nEntrada: seu prompt + contexto enviado à IA.\nSaída: a resposta gerada pela IA. +message.token.usage.tooltip=Tokens usados por esta resposta.\nEntrada\: seu prompt + contexto enviado à IA.\nSaída\: a resposta gerada pela IA. # Bookmarks chat.bookmarks.button.tooltip=Favoritos @@ -956,7 +959,7 @@ provider.picker.description.openai=Modelos de IA na nuvem da OpenAI. Requer uma provider.picker.description.anthropic=Modelos de IA na nuvem da Anthropic. Requer uma chave de API. Cadastre-se em console.anthropic.com, crie uma chave de API e adicione créditos à sua conta antes de conectar. provider.picker.description.gemini=Modelos de IA na nuvem do Google. Cadastre-se em aistudio.google.com e gere uma chave de API gratuita. Não é necessário cartão de crédito para o nível gratuito. provider.picker.description.xai=Modelos de IA na nuvem da xAI. Requer uma chave de API. Cadastre-se em console.x.ai, crie uma chave de API e adicione créditos à sua conta antes de conectar. -provider.picker.description.ollama=Execute modelos de código aberto localmente. Nenhuma chave de API necessária. Baixe o Ollama em ollama.com, em seguida baixe um modelo (ex: ollama pull llama3) antes de conectar. +provider.picker.description.ollama=Execute modelos de código aberto localmente. Nenhuma chave de API necessária. Baixe o Ollama em ollama.com, em seguida baixe um modelo (ex\: ollama pull llama3) antes de conectar. provider.picker.description.docker=Execute modelos através do executor de modelos de IA integrado do Docker Desktop. Nenhuma chave de API necessária. Requer Docker Desktop 4.40+ com o recurso Model Runner habilitado. provider.picker.description.localai=Servidor de IA local auto-hospedado e compatível com OpenAI. Nenhuma chave de API necessária. Instale o LocalAI, baixe um modelo e inicie o servidor antes de conectar. provider.picker.description.lmstudio=Execute LLMs locais com uma interface de desktop fácil de usar. Nenhuma chave de API necessária. Baixe o LM Studio em lmstudio.ai, baixe um modelo, carregue-o e ative o servidor local antes de conectar. @@ -970,15 +973,20 @@ provider.template.get.apikey=Obter chave de API → # OpenAI-Compatible template taglines and setup help (see OpenAiCompatibleTemplate.kt) provider.template.cloudflare_ai.tagline=Execute modelos de IA na rede de borda global da Cloudflare com o Workers AI. -provider.template.cloudflare_ai.help=💡 Para usar o Cloudflare AI:\n\n1. Encontre seu Account ID no painel da Cloudflare\n2. Substitua {ACCOUNT_ID} na URL base por ele\n3. Crie um token de API com permissão 'Workers AI' em:\n dash.cloudflare.com/profile/api-tokens +provider.template.cloudflare_ai.help=💡 Para usar o Cloudflare AI\:\n\n1. Encontre seu Account ID no painel da Cloudflare\n2. Substitua {ACCOUNT_ID} na URL base por ele\n3. Crie um token de API com permissão ''Workers AI'' em\:\n dash.cloudflare.com/profile/api-tokens provider.template.groq.tagline=Inferência ultrarrápida para modelos de código aberto — Llama, Mixtral, Gemma e mais. -provider.template.groq.help=💡 Para usar o Groq:\n\n1. Obtenha sua chave API gratuita em: console.groq.com/keys\n2. Digite um nome de modelo, ex.: llama-3.1-8b-instant\n3. Clique em Avançar para explorar todos os modelos disponíveis +provider.template.groq.help=💡 Para usar o Groq\:\n\n1. Obtenha sua chave API gratuita em\: console.groq.com/keys\n2. Digite um nome de modelo, ex.\: llama-3.1-8b-instant\n3. Clique em Avançar para explorar todos os modelos disponíveis provider.template.nvidia_nim.tagline=Execute modelos de IA otimizados na infraestrutura de GPU em nuvem da NVIDIA. -provider.template.nvidia_nim.help=💡 Para usar o NVIDIA NIM:\n\n1. Obtenha sua chave API em: build.nvidia.com\n2. Digite um nome de modelo, ex.: meta/llama-3.1-8b-instruct\n3. Clique em Avançar para explorar todos os modelos disponíveis +provider.template.nvidia_nim.help=💡 Para usar o NVIDIA NIM\:\n\n1. Obtenha sua chave API em\: build.nvidia.com\n2. Digite um nome de modelo, ex.\: meta/llama-3.1-8b-instruct\n3. Clique em Avançar para explorar todos os modelos disponíveis provider.template.openrouter.tagline=Acesse mais de 300 modelos — GPT, Claude, Llama, Gemini, Mistral e mais, em uma única API. -provider.template.openrouter.help=💡 Para usar o OpenRouter:\n\n1. Obtenha sua chave API gratuita em: openrouter.ai/keys\n2. Clique em Avançar para explorar mais de 300 modelos disponíveis\n3. Muitos modelos têm um nível gratuito — sem necessidade de cartão de crédito +provider.template.openrouter.help=💡 Para usar o OpenRouter\:\n\n1. Obtenha sua chave API gratuita em\: openrouter.ai/keys\n2. Clique em Avançar para explorar mais de 300 modelos disponíveis\n3. Muitos modelos têm um nível gratuito — sem necessidade de cartão de crédito provider.template.together_ai.tagline=Inferência rápida e acessível para mais de 100 modelos de código aberto. -provider.template.together_ai.help=💡 Para usar o Together AI:\n\n1. Obtenha sua chave API em: api.together.ai/settings/api-keys\n2. Clique em Avançar para explorar os modelos disponíveis,\n ex.: meta-llama/Llama-3-8b-chat-hf +provider.template.together_ai.help=💡 Para usar o Together AI\:\n\n1. Obtenha sua chave API em\: api.together.ai/settings/api-keys\n2. Clique em Avançar para explorar os modelos disponíveis,\n ex.\: meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM\:\n\n1. Start the LiteLLM proxy\: litellm --model ollama/llama3\n2. The default URL is http\://localhost\:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}" @@ -988,14 +996,14 @@ provider.model.panel.select.hint=Selecione um provedor à esquerda para explorar provider.model.panel.model.count={0} modelos provider.model.default.badge=Padrão provider.instance.name.label=Nome da instância -provider.instance.name.placeholder=ex: "Work OpenAI", "ollama-macbook" +provider.instance.name.placeholder=ex\: "Work OpenAI", "ollama-macbook" provider.instance.name.duplicate=Já existe um provedor chamado "{0}" provider.setup.required.title=Configurar provedor de AI provider.setup.required.message=Antes de começar a conversar, você precisa configurar um provedor de AI. Selecione um provedor da lista e configure-o. provider.setup.required.button=Configurar provedor provider.setup.required.skip=Configurar mais tarde provider.setup.empty.state.button=Adicionar provedor -provider.configure.prompt=Configurar provedor: +provider.configure.prompt=Configurar provedor\: provider.setup.guide=Como configurar o {0} provider.apikey.stored=Chave API armazenada de forma segura provider.apikey.enter=Inserir chave API @@ -1004,14 +1012,14 @@ provider.apikey.security.link=Saiba como protegemos seus dados provider.not.set=Não definido # Provider Configuration - OpenAI -provider.openai.apikey.description=Sua API Key do OpenAI: https://platform.openai.com/account/api-keys +provider.openai.apikey.description=Sua API Key do OpenAI\: https\://platform.openai.com/account/api-keys provider.openai.apikey.stored=API Key já armazenada. Deixe vazio para manter a atual. -provider.openai.setup.help=💡 Para usar o OpenAI, forneça sua API Key.\n\n1. Obtenha em: https://platform.openai.com/account/api-keys\n2. Configure nas Configurações ou usando :change-settings +provider.openai.setup.help=💡 Para usar o OpenAI, forneça sua API Key.\n\n1. Obtenha em\: https\://platform.openai.com/account/api-keys\n2. Configure nas Configurações ou usando \:change-settings # Provider Configuration - Anthropic -provider.anthropic.apikey.description=Sua API Key do Anthropic: https://console.anthropic.com/ +provider.anthropic.apikey.description=Sua API Key do Anthropic\: https\://console.anthropic.com/ provider.anthropic.apikey.stored=API Key já armazenada. -provider.anthropic.setup.help=💡 Para usar o Anthropic, forneça a API Key.\n\n1. Obtenha em: https://console.anthropic.com/\n2. Configure nas Configurações ou usando :change-settings +provider.anthropic.setup.help=💡 Para usar o Anthropic, forneça a API Key.\n\n1. Obtenha em\: https\://console.anthropic.com/\n2. Configure nas Configurações ou usando \:change-settings provider.anthropic.max_tokens.label=Max Tokens provider.anthropic.max_tokens.description=Máximo de tokens que o modelo pode gerar por resposta (pensamento + resposta combinados). provider.anthropic.thinking_budget_tokens.label=Tokens de orçamento de pensamento @@ -1020,21 +1028,21 @@ provider.anthropic.thinking_max_tokens.label=Máximo de tokens de pensamento provider.anthropic.thinking_max_tokens.description=Limite total de tokens quando o pensamento está ativo (pensamento + resposta). Defina como 0 para usar Max Tokens em vez disso. # Provider Configuration - Gemini -provider.gemini.apikey.description=Sua API Key do Google AI Studio: https://aistudio.google.com/app/apikey +provider.gemini.apikey.description=Sua API Key do Google AI Studio\: https\://aistudio.google.com/app/apikey provider.gemini.apikey.stored=API Key já armazenada. -provider.gemini.setup.help=💡 Para usar o Gemini, forneça a API Key.\n\n1. Obtenha em: https://aistudio.google.com/app/apikey\n2. Configure nas Configurações ou usando :change-settings +provider.gemini.setup.help=💡 Para usar o Gemini, forneça a API Key.\n\n1. Obtenha em\: https\://aistudio.google.com/app/apikey\n2. Configure nas Configurações ou usando \:change-settings # Provider Configuration - XAI -provider.xai.apikey.description=Sua API Key do XAI: https://console.x.ai/ +provider.xai.apikey.description=Sua API Key do XAI\: https\://console.x.ai/ provider.xai.apikey.stored=API Key já armazenada. -provider.xai.setup.help=💡 Para usar o XAI, forneça a API Key.\n\n1. Obtenha em: https://console.x.ai/\n2. Configure nas Configurações ou usando :change-settings +provider.xai.setup.help=💡 Para usar o XAI, forneça a API Key.\n\n1. Obtenha em\: https\://console.x.ai/\n2. Configure nas Configurações ou usando \:change-settings # Provider Configuration - Ollama -provider.ollama.baseurl.description=Base URL do Ollama (padrão: http://localhost:11434) -provider.ollama.setup.help=💡 Para usar o Ollama, você precisa executá-lo localmente.\n\n1. Instale: https://ollama.ai/\n2. Inicie o serviço\n3. Configure o Base URL se necessário +provider.ollama.baseurl.description=Base URL do Ollama (padrão\: http\://localhost\:11434) +provider.ollama.setup.help=💡 Para usar o Ollama, você precisa executá-lo localmente.\n\n1. Instale\: https\://ollama.ai/\n2. Inicie o serviço\n3. Configure o Base URL se necessário # Provider Configuration - Docker AI -provider.docker.baseurl.description=Base URL do Docker AI (padrão: http://localhost:12434) +provider.docker.baseurl.description=Base URL do Docker AI (padrão\: http\://localhost\:12434) provider.docker.setup.help=💡 Para usar o Docker AI, você precisa executá-lo localmente.\n\n1. Certifique-se de que o Docker AI está instalado e em execução\n2. Inicie o serviço\n3. Configure o Base URL se necessário # Provider Configuration - LocalAI @@ -1042,8 +1050,8 @@ provider.localai.baseurl.description=Base URL do LocalAI provider.localai.setup.help=💡 Para usar o LocalAI, execute-o primeiro.\n\n1. Instale e inicie o LocalAI\n2. Configure o Base URL acessível # Provider Configuration - LMStudio -provider.lmstudio.baseurl.description=Base URL do LMStudio (padrão: http://localhost:1234) -provider.lmstudio.setup.help=💡 Para usar o LMStudio:\n\n1. Instale: https://lmstudio.ai/\n2. Inicie o servidor local\n3. Configure o Base URL se necessário +provider.lmstudio.baseurl.description=Base URL do LMStudio (padrão\: http\://localhost\:1234) +provider.lmstudio.setup.help=💡 Para usar o LMStudio\:\n\n1. Instale\: https\://lmstudio.ai/\n2. Inicie o servidor local\n3. Configure o Base URL se necessário provider.lmstudio.openai.compat.info=O Askimo usa os endpoints compatíveis com OpenAI (/v1), não a API nativa do LMStudio (/api/v1/). # Provider Configuration - Open AI Compatible @@ -1062,7 +1070,7 @@ provider.openai_compatible.httpversion.http2=Mais rápido para endpoints que sup # System Resources system.share.feedback=Compartilhar feedback -system.ai.provider.tooltip=Provedor de IA: {0}\nClique para configurar +system.ai.provider.tooltip=Provedor de IA\: {0}\nClique para configurar system.diagnostics.title=Diagnóstico do sistema system.diagnostics.resources=Recursos system.diagnostics.jvm.memory=Memória JVM (usada / total) @@ -1073,7 +1081,7 @@ system.diagnostics.telemetry=Telemetria telemetry.export.csv=Exportar CSV telemetry.export.dialog.title=Exportar Telemetria como ZIP telemetry.export.error.title=Falha na Exportação -telemetry.export.error.message=Falha ao exportar dados de telemetria: {0} +telemetry.export.error.message=Falha ao exportar dados de telemetria\: {0} # Telemetry telemetry.reset=Redefinir dados de telemetria @@ -1123,24 +1131,24 @@ export.format.html.benefit.3=Aparência profissional export.format.html.benefit.4=Fácil de compartilhar # Error Messages -error.network=⚠️ Não foi possível conectar ao serviço de IA{endpoint}\n\nVerifique:\n• Sua conexão com a internet\n• A URL do serviço de IA (verifique as configurações)\n• As configurações do firewall\n• A disponibilidade do serviço +error.network=⚠️ Não foi possível conectar ao serviço de IA{endpoint}\n\nVerifique\:\n• Sua conexão com a internet\n• A URL do serviço de IA (verifique as configurações)\n• As configurações do firewall\n• A disponibilidade do serviço error.authentication=⚠️ A chave de API está ausente ou é inválida{provider}\n\nCorrija isso configurando sua chave de API em Configurações. -error.model_not_found=⚠️ Modelo não encontrado: {model}\n\nEste modelo pode ter sido descontinuado ou removido pelo provedor. Por favor, selecione um modelo diferente. -error.provider_not_configured=⚠️ Nenhum provedor de IA configurado.\n\nPara começar a conversar:\n1. Abra Configurações\n2. Selecione um provedor de IA (OpenAI, Ollama, Anthropic, etc.)\n3. Insira sua chave de API ou configure a conexão +error.model_not_found=⚠️ Modelo não encontrado\: {model}\n\nEste modelo pode ter sido descontinuado ou removido pelo provedor. Por favor, selecione um modelo diferente. +error.provider_not_configured=⚠️ Nenhum provedor de IA configurado.\n\nPara começar a conversar\:\n1. Abra Configurações\n2. Selecione um provedor de IA (OpenAI, Ollama, Anthropic, etc.)\n3. Insira sua chave de API ou configure a conexão error.rate_limit=⚠️ Limite de uso excedido\n{retryAfter}\n\nVocê atingiu o limite de uso da API. Aguarde um pouco antes de enviar mais mensagens. error.insufficient_credits=⚠️ Créditos insuficientes\n\nSeu saldo está muito baixo.\n\nAcesse a página de cobrança para adicionar créditos. -error.timeout=⚠️ A solicitação expirou após {timeout} segundos\n\nIsso pode acontecer por:\n• Alta carga no servidor - tente novamente em instantes\n• Consulta complexa - tente simplificar\n• Latência de rede -error.context_length=⚠️ Janela de contexto excedida\n\nA entrada total (histórico da conversa + sua mensagem + anexos) é muito grande para este modelo processar.\n\nPara corrigir isso:\n• Inicie uma nova sessão de chat para limpar o histórico da conversa\n• Encurte sua mensagem ou remova anexos grandes\n• Se estiver usando um modelo local (Ollama / LM Studio / Docker), aumente o tamanho do contexto nas configurações dele\n• Mude para um modelo com uma janela de contexto maior -error.invalid_request=⚠️ Solicitação inválida: {details}\n\nVerifique sua entrada e tente novamente. -error.local_server=⚠️ Erro no servidor de IA local!\n\nO processo do servidor de IA travou ou falhou ao carregar o modelo. Isso não é causado pelo Askimo.\n\nPossíveis causas:\n• O arquivo do modelo está corrompido ou incompleto — tente baixá-lo novamente\n• RAM/VRAM insuficiente — tente uma quantização menor (ex.: Q4 em vez de Q8)\n• Formato de modelo não suportado pela versão atual do servidor\n• O processo do servidor foi encerrado pelo sistema operacional (sem memória)\n\nO que fazer:\n1. Verifique os logs do seu servidor de IA local\n2. Reinicie o servidor e tente novamente\n3. Baixe o modelo novamente\n4. Tente um modelo diferente ou nível de quantização diferente\n\nDetalhes técnicos: {details} -error.empty_http_response=⚠️ O servidor encerrou a conexão sem responder!\n\nModelo: {0}\n\nIsso geralmente acontece quando um provedor de IA local descarta silenciosamente a solicitação em vez de retornar um erro. A janela de contexto do modelo é muito pequena para a solicitação atual.\n\nCausas comuns:\n• O histórico da conversa tornou-se muito longo após vários turnos\n• Ferramentas habilitadas adicionam dados extras a cada solicitação — mesmo uma pergunta curta com várias ferramentas ativas pode exceder o limite\n• Arquivos anexados grandes ou trechos de código fizeram a solicitação exceder o limite\n\n{1}\n\nOutras coisas para tentar:\n• Inicie uma nova conversa para redefinir o contexto\n• Desative ferramentas que não são necessárias para esta tarefa\n• Reduza o tamanho da sua mensagem ou dos arquivos anexados -error.empty_http_response.hint.docker=Para aumentar a janela de contexto no Docker AI / Docker Model Runner:\n• Passe --context-size ao iniciar o modelo (ex: --context-size 32768)\n• Ou defina na configuração de execução do modelo -error.empty_http_response.hint.ollama=Para aumentar a janela de contexto no Ollama:\n• Defina num_ctx no seu Modelfile (ex: PARAMETER num_ctx 32768)\n• Ou passe como parâmetro: ollama run --num-ctx 32768 -error.empty_http_response.hint.lmstudio=Para aumentar a janela de contexto no LM Studio:\n• Abra o painel de configurações do modelo\n• Encontre "Context Length" e aumente (ex: para 32768 ou mais, até o máximo do modelo)\n• Reinicie o servidor local após alterar a configuração -error.empty_http_response.hint.localai=Para aumentar a janela de contexto no LocalAI:\n• Edite o YAML de configuração do modelo e defina context_size: 32768\n• Reinicie o servidor LocalAI após alterar a configuração -error.empty_http_response.hint.generic=Para aumentar a janela de contexto:\n• Verifique as configurações do seu provedor para uma opção de tamanho de contexto e aumente-a (ex: para 32768 tokens)\n• Reinicie o provedor após alterar a configuração -error.remote_server=⚠️ Erro no servidor do provedor de IA\n\nO servidor do provedor retornou um erro temporário (por ex., sobrecarregado ou indisponível). Isso não é causado pelo Askimo.\n\nO que fazer:\n• Aguarde um momento e tente novamente — geralmente é passageiro\n• Verifique a página de status do provedor se o problema persistir\n\nDetalhes técnicos: {details} -error.system=⚠️ Erro do sistema\n\nOcorreu um erro inesperado: {errorCode}\n\nEntre em contato com o suporte do Askimo e informe:\n• O que você estava fazendo\n• O código de erro acima\n• O horário (timestamp) +error.timeout=⚠️ A solicitação expirou após {timeout} segundos\n\nIsso pode acontecer por\:\n• Alta carga no servidor - tente novamente em instantes\n• Consulta complexa - tente simplificar\n• Latência de rede +error.context_length=⚠️ Janela de contexto excedida\n\nA entrada total (histórico da conversa + sua mensagem + anexos) é muito grande para este modelo processar.\n\nPara corrigir isso\:\n• Inicie uma nova sessão de chat para limpar o histórico da conversa\n• Encurte sua mensagem ou remova anexos grandes\n• Se estiver usando um modelo local (Ollama / LM Studio / Docker), aumente o tamanho do contexto nas configurações dele\n• Mude para um modelo com uma janela de contexto maior +error.invalid_request=⚠️ Solicitação inválida\: {details}\n\nVerifique sua entrada e tente novamente. +error.local_server=⚠️ Erro no servidor de IA local\!\n\nO processo do servidor de IA travou ou falhou ao carregar o modelo. Isso não é causado pelo Askimo.\n\nPossíveis causas\:\n• O arquivo do modelo está corrompido ou incompleto — tente baixá-lo novamente\n• RAM/VRAM insuficiente — tente uma quantização menor (ex.\: Q4 em vez de Q8)\n• Formato de modelo não suportado pela versão atual do servidor\n• O processo do servidor foi encerrado pelo sistema operacional (sem memória)\n\nO que fazer\:\n1. Verifique os logs do seu servidor de IA local\n2. Reinicie o servidor e tente novamente\n3. Baixe o modelo novamente\n4. Tente um modelo diferente ou nível de quantização diferente\n\nDetalhes técnicos\: {details} +error.empty_http_response=⚠️ O servidor encerrou a conexão sem responder\!\n\nModelo\: {0}\n\nIsso geralmente acontece quando um provedor de IA local descarta silenciosamente a solicitação em vez de retornar um erro. A janela de contexto do modelo é muito pequena para a solicitação atual.\n\nCausas comuns\:\n• O histórico da conversa tornou-se muito longo após vários turnos\n• Ferramentas habilitadas adicionam dados extras a cada solicitação — mesmo uma pergunta curta com várias ferramentas ativas pode exceder o limite\n• Arquivos anexados grandes ou trechos de código fizeram a solicitação exceder o limite\n\n{1}\n\nOutras coisas para tentar\:\n• Inicie uma nova conversa para redefinir o contexto\n• Desative ferramentas que não são necessárias para esta tarefa\n• Reduza o tamanho da sua mensagem ou dos arquivos anexados +error.empty_http_response.hint.docker=Para aumentar a janela de contexto no Docker AI / Docker Model Runner\:\n• Passe --context-size ao iniciar o modelo (ex\: --context-size 32768)\n• Ou defina na configuração de execução do modelo +error.empty_http_response.hint.ollama=Para aumentar a janela de contexto no Ollama\:\n• Defina num_ctx no seu Modelfile (ex\: PARAMETER num_ctx 32768)\n• Ou passe como parâmetro\: ollama run --num-ctx 32768 +error.empty_http_response.hint.lmstudio=Para aumentar a janela de contexto no LM Studio\:\n• Abra o painel de configurações do modelo\n• Encontre "Context Length" e aumente (ex\: para 32768 ou mais, até o máximo do modelo)\n• Reinicie o servidor local após alterar a configuração +error.empty_http_response.hint.localai=Para aumentar a janela de contexto no LocalAI\:\n• Edite o YAML de configuração do modelo e defina context_size\: 32768\n• Reinicie o servidor LocalAI após alterar a configuração +error.empty_http_response.hint.generic=Para aumentar a janela de contexto\:\n• Verifique as configurações do seu provedor para uma opção de tamanho de contexto e aumente-a (ex\: para 32768 tokens)\n• Reinicie o provedor após alterar a configuração +error.remote_server=⚠️ Erro no servidor do provedor de IA\n\nO servidor do provedor retornou um erro temporário (por ex., sobrecarregado ou indisponível). Isso não é causado pelo Askimo.\n\nO que fazer\:\n• Aguarde um momento e tente novamente — geralmente é passageiro\n• Verifique a página de status do provedor se o problema persistir\n\nDetalhes técnicos\: {details} +error.system=⚠️ Erro do sistema\n\nOcorreu um erro inesperado\: {errorCode}\n\nEntre em contato com o suporte do Askimo e informe\:\n• O que você estava fazendo\n• O código de erro acima\n• O horário (timestamp) # Model Availability Errors error.model.not_available.title.chat=Modelo indisponível @@ -1148,10 +1156,10 @@ error.model.not_available.title.embedding=Modelo de embedding indisponível error.model.not_available.message.chat=O modelo ''{0}'' não está disponível. error.model.not_available.message.embedding=O modelo de embedding ''{0}'' não está disponível no seu provedor local.\n\nAcesse Configurações → Provedor de IA e selecione um modelo de embedding disponível no cartão de configuração do provedor. error.model.not_available.config_link=Configurar modelo de embedding -error.model.not_available.config_url=https://askimo.chat/docs/desktop/rag/#embedding-model-configuration +error.model.not_available.config_url=https\://askimo.chat/docs/desktop/rag/\#embedding-model-configuration # Generic Application Errors -error.app.message=Ocorreu um erro inesperado: {0} +error.app.message=Ocorreu um erro inesperado\: {0} # Send Message Errors error.send_message.title=Falha ao enviar mensagem @@ -1171,32 +1179,32 @@ error.indexing.unknown.message=Ocorreu um erro desconhecido durante a indexaçã settings.rag.title=Configuração de RAG settings.rag.description=Configure os parâmetros de Retrieval-Augmented Generation para recuperação de conhecimento baseada em projetos settings.rag.vector.max.results=Máximo de resultados da busca vetorial -settings.rag.vector.max.results.hint=Número máximo de documentos da busca vetorial (padrão: 20) +settings.rag.vector.max.results.hint=Número máximo de documentos da busca vetorial (padrão\: 20) settings.rag.vector.min.score=Pontuação mínima da busca vetorial -settings.rag.vector.min.score.hint=Pontuação mínima de similaridade 0.0–1.0 (padrão: 0.3) +settings.rag.vector.min.score.hint=Pontuação mínima de similaridade 0.0–1.0 (padrão\: 0.3) settings.rag.hybrid.max.results=Máximo de resultados híbridos -settings.rag.hybrid.max.results.hint=Contagem final de documentos após a fusão (padrão: 15) +settings.rag.hybrid.max.results.hint=Contagem final de documentos após a fusão (padrão\: 15) settings.rag.rank.fusion.constant=Constante de fusão de ranking -settings.rag.rank.fusion.constant.hint=Constante RRF para ranking híbrido (padrão: 60) +settings.rag.rank.fusion.constant.hint=Constante RRF para ranking híbrido (padrão\: 60) settings.rag.use.absolute.paths=Usar caminhos absolutos nas citações settings.rag.use.absolute.paths.hint=Exibir caminhos completos de arquivos nas respostas da IA para maior clareza quando vários arquivos têm o mesmo nome settings.rag.embedding.title=Configuração de embeddings settings.rag.embedding.description=Configure os parâmetros de segmentação de texto e embeddings settings.rag.embedding.max.chars.per.chunk=Máximo de caracteres por segmento -settings.rag.embedding.max.chars.per.chunk.hint=Número máximo de caracteres em cada segmento de texto (padrão: 1500) +settings.rag.embedding.max.chars.per.chunk.hint=Número máximo de caracteres em cada segmento de texto (padrão\: 1500) settings.rag.embedding.chunk.overlap=Sobreposição de segmentos -settings.rag.embedding.chunk.overlap.hint=Número de caracteres sobrepostos entre segmentos (padrão: 100) +settings.rag.embedding.chunk.overlap.hint=Número de caracteres sobrepostos entre segmentos (padrão\: 100) settings.rag.embedding.models=Modelos de embedding por provedor settings.rag.indexing.title=Configuração de indexação settings.rag.indexing.description=Controle quais arquivos são indexados e o tamanho máximo de arquivo permitido settings.rag.indexing.max.file.bytes=Tamanho máximo do arquivo (bytes) settings.rag.indexing.max.file.bytes.hint=Arquivos maiores que este valor são ignorados durante a indexação. Definir um valor muito alto pode tornar a indexação significativamente mais lenta. settings.rag.indexing.supported.extensions=Extensões suportadas -settings.rag.indexing.supported.extensions.hint=Extensões de arquivo separadas por vírgula para indexar (ex.: kt, java, py, md). Deixe vazio para usar os padrões integrados. +settings.rag.indexing.supported.extensions.hint=Extensões de arquivo separadas por vírgula para indexar (ex.\: kt, java, py, md). Deixe vazio para usar os padrões integrados. settings.rag.indexing.exclude.file.names=Nomes de arquivo excluídos -settings.rag.indexing.exclude.file.names.hint=Nomes de arquivo exatos separados por vírgula a serem sempre ignorados (ex.: package-lock.json, yarn.lock). +settings.rag.indexing.exclude.file.names.hint=Nomes de arquivo exatos separados por vírgula a serem sempre ignorados (ex.\: package-lock.json, yarn.lock). settings.rag.indexing.binary.extensions=Extensões binárias -settings.rag.indexing.binary.extensions.hint=Extensões de arquivo separadas por vírgula tratadas como binárias e ignoradas durante a indexação (ex.: png, jpg, zip, exe). Deixe vazio para usar os padrões integrados. +settings.rag.indexing.binary.extensions.hint=Extensões de arquivo separadas por vírgula tratadas como binárias e ignoradas durante a indexação (ex.\: png, jpg, zip, exe). Deixe vazio para usar os padrões integrados. settings.rag.indexing.embedding.batch.size=Tamanho do lote de embeddings settings.rag.indexing.embedding.batch.size.hint=Número de segmentos de texto enviados ao modelo de embeddings por requisição. Se a indexação estiver lenta e você usar um provedor remoto (OpenAI, Gemini), tente aumentar para 100–500. Se usar um modelo local (Ollama, LM Studio), mantenha baixo para evitar timeouts. @@ -1204,7 +1212,7 @@ settings.rag.indexing.embedding.batch.size.hint=Número de segmentos de texto en settings.models.title=Modelos settings.models.description=Configure o comportamento global do modelo de IA compartilhado entre todos os provedores. settings.models.max.tool.calling.round.trips=Máximo de rodadas de chamadas de ferramentas -settings.models.max.tool.calling.round.trips.hint=Número máximo de chamadas de ferramentas que a IA pode fazer em uma única resposta (padrão: 10). Valores mais altos permitem tarefas de agente mais complexas, mas aumentam a latência e o custo. +settings.models.max.tool.calling.round.trips.hint=Número máximo de chamadas de ferramentas que a IA pode fazer em uma única resposta (padrão\: 10). Valores mais altos permitem tarefas de agente mais complexas, mas aumentam a latência e o custo. # Memory Settings settings.memory.title=Configurações de memória @@ -1247,11 +1255,11 @@ file.viewer.title=Visualizador de arquivos file.viewer.title.with.name=Visualizador de arquivos - {0} file.viewer.dialog.close=Fechar file.viewer.copy.clipboard=Copiar para a área de transferência -file.viewer.copied=Copiado! +file.viewer.copied=Copiado\! # Mermaid Chart Renderer mermaid.setup.required.title=Mermaid CLI necessário -mermaid.setup.instructions.link=https://askimo.chat/docs/desktop/mermaid-diagrams/ +mermaid.setup.instructions.link=https\://askimo.chat/docs/desktop/mermaid-diagrams/ mermaid.setup.button.open.guide=Abrir guia de configuração mermaid.rendering.progress=Renderizando diagrama... mermaid.error.rendering.title=Erro ao renderizar o diagrama @@ -1264,14 +1272,14 @@ mermaid.button.zoom.in=Aumentar zoom mermaid.button.zoom.out=Diminuir zoom mermaid.button.reset.zoom=Redefinir zoom mermaid.button.retry=Tentar novamente -mermaid.feedback.copied=Copiado! +mermaid.feedback.copied=Copiado\! mermaid.setup.button.install=Instalar Mermaid CLI mermaid.setup.button.check.again=Verificar novamente mermaid.setup.button.download.node=Baixar Node.js mermaid.setup.installing=Instalando Mermaid CLI... mermaid.setup.install.failed=A instalação falhou. Verifique a saída abaixo para mais detalhes. mermaid.setup.node.required=Node.js e npm não foram encontrados. Instale o Node.js primeiro para habilitar a instalação com um clique. -mermaid.setup.node.link=https://nodejs.org/en/download +mermaid.setup.node.link=https\://nodejs.org/en/download mermaid.error.code.show=Ver código do diagrama mermaid.error.code.hide=Ocultar código do diagrama @@ -1290,7 +1298,7 @@ mcp.instances.title=Instâncias MCP mcp.instances.description=Estas instâncias MCP estão disponíveis mcp.instances.empty=Nenhuma instância MCP configurada mcp.instances.count={0} instância(s) -mcp.instance.server.label=Servidor: {0} +mcp.instance.server.label=Servidor\: {0} mcp.instance.delete.confirm.title=Excluir Instância MCP? mcp.instance.delete.confirm.message=Tem certeza de que deseja excluir a instância mcp "{0}"? Isso não pode ser desfeito. mcp.instance.enable.tooltip=Ativar esta instância MCP @@ -1316,7 +1324,7 @@ mcp.instance.field.description=Descrição mcp.instance.field.description.placeholder=Breve descrição do que este servidor faz mcp.instance.field.transport=Tipo de Transporte mcp.instance.field.command=Template de Comando -mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2:--flag}} +mcp.instance.field.command.placeholder=npx -y mcp-server@latest {{param1}} {{?param2\:--flag}} mcp.instance.field.command.hint=Comando separado por espaços com placeholders {{parameter}} mcp.instance.validation.error.empty.id=O ID do servidor não pode estar vazio mcp.instance.validation.error.invalid.id.pattern=O ID do servidor deve conter apenas letras minúsculas, números e hífens @@ -1325,20 +1333,20 @@ mcp.instance.validation.error.empty.command=O template de comando não pode esta mcp.instance.validation.error.empty.parameter.key=A chave do parâmetro não pode estar vazia mcp.instance.validation.error.empty.parameter.label=O rótulo do parâmetro não pode estar vazio mcp.instance.env.label=Variáveis de Ambiente (Opcional) -mcp.instance.env.placeholder=API_KEY={{apiKey}}\nDEBUG={{debug}} -mcp.instance.env.hint=Formato: CHAVE=valor ou CHAVE={{parameter}} (um por linha) +mcp.instance.env.placeholder=API_KEY\={{apiKey}}\nDEBUG\={{debug}} +mcp.instance.env.hint=Formato\: CHAVE\=valor ou CHAVE\={{parameter}} (um por linha) mcp.instance.transport.stdio=Stdio (Processo Local) mcp.instance.transport.http=HTTP (Servidor Remoto) mcp.instance.http.url.label=Template de URL -mcp.instance.http.url.placeholder=https://{{host}}/mcp ou https://api.example.com/mcp +mcp.instance.http.url.placeholder=https\://{{host}}/mcp ou https\://api.example.com/mcp mcp.instance.http.url.hint=URL do endpoint do servidor. Use placeholders {{parameter}} para valores dinâmicos mcp.instance.http.headers.label=Cabeçalhos HTTP (Opcional) -mcp.instance.http.headers.placeholder=Authorization=Bearer {{apiKey}}\nX-Tenant-Id={{tenantId}} -mcp.instance.http.headers.hint=Formato: Nome-Cabeçalho=valor ou Nome-Cabeçalho={{parameter}} (um por linha) +mcp.instance.http.headers.placeholder=Authorization\=Bearer {{apiKey}}\nX-Tenant-Id\={{tenantId}} +mcp.instance.http.headers.hint=Formato\: Nome-Cabeçalho\=valor ou Nome-Cabeçalho\={{parameter}} (um por linha) mcp.instance.http.timeout.label=Tempo Limite (ms) mcp.instance.http.timeout.hint=Tempo limite da solicitação em milissegundos mcp.instance.validation.error.empty.url=O template de URL não pode estar vazio -mcp.instance.validation.error.invalid.url=O template de URL deve começar com http:// ou https:// +mcp.instance.validation.error.invalid.url=O template de URL deve começar com http\:// ou https\:// # MCP Integrations (Project View) mcp.instance.delete.tooltip=Excluir instância MCP @@ -1349,7 +1357,7 @@ mcp.instance.field.serverId=Tipo de Servidor # Add MCP Integration Dialog mcp.instance.name=Nome MCP -mcp.instance.name.placeholder=ex: Banco de Dados de Produção, Arquivos de Projeto +mcp.instance.name.placeholder=ex\: Banco de Dados de Produção, Arquivos de Projeto mcp.instance.tools.title=Ferramentas Disponíveis mcp.instance.tools.count={0} ferramenta(s) disponível(is) mcp.instance.tool.strategy.intent=Baseado em Intenção @@ -1388,7 +1396,7 @@ mcp.tools.dialog.search.count={0} de {1} ferramenta(s) mcp.tools.dialog.search.empty=Nenhuma ferramenta corresponde à sua pesquisa mcp.tools.dialog.export=Exportar Ferramentas mcp.tools.dialog.export.success=Ferramentas exportadas para {0} -mcp.tools.dialog.export.failed=Falha ao exportar ferramentas: {0} +mcp.tools.dialog.export.failed=Falha ao exportar ferramentas\: {0} # MCP Server Catalog Dialog mcp.catalog.dialog.title=Adicionar Servidor MCP @@ -1444,7 +1452,7 @@ file.viewer.close=Fechar visualizador file.viewer.open.external=Abrir externamente file.viewer.binary=Arquivo binário — não é possível visualizar como texto. file.viewer.too.large=O arquivo é muito grande para visualização ({0} KB). O máximo é 512 KB. -file.viewer.error=Não foi possível ler o arquivo: {0} +file.viewer.error=Não foi possível ler o arquivo\: {0} file.viewer.select.prompt=Selecione um arquivo na árvore acima para visualizar seu conteúdo # Project Side Panel @@ -1460,7 +1468,7 @@ panel.collapse=Recolher painel # RAG Status rag.status.started=Indexação iniciada -rag.status.inprogress=Indexando: {0}% +rag.status.inprogress=Indexando\: {0}% rag.status.inprogress.unknown=Indexando... rag.status.queued=Na fila — aguardando a conclusão da indexação de outro projeto rag.status.ready=Pronto @@ -1510,7 +1518,7 @@ plans.editor.label=Conteúdo YAML plans.editor.placeholder=Cole ou digite o YAML do seu plano aqui... plans.editor.valid=YAML válido plans.editor.hint.title=Referência -plans.editor.hint.fields=Obrigatório: id, name, steps\nOpcional: description, icon, inputs, workflow\nTipos de etapa: text, multiline, toggle, number\nTipos de fluxo de trabalho: sequence, parallel, conditional +plans.editor.hint.fields=Obrigatório\: id, name, steps\nOpcional\: description, icon, inputs, workflow\nTipos de etapa\: text, multiline, toggle, number\nTipos de fluxo de trabalho\: sequence, parallel, conditional plans.editor.menu.edit=Editar YAML plans.editor.ai.label=Gerar com IA plans.editor.ai.placeholder=Descreva o que você quer que este plano faça em palavras simples... @@ -1569,12 +1577,12 @@ skills.view.panel.collapse=Recolher painel skills.view.panel.expand=Expandir painel skills.view.tab.skills=Habilidades skills.view.tab.workspace=Área de trabalho -skills.view.last.run=Última execução: {0} +skills.view.last.run=Última execução\: {0} skills.view.category.uncategorized=Outros skills.view.search.placeholder=Procurar competências ... skills.view.search.clear=Limpar pesquisa skills.view.context.placeholder=O que você gostaria de fazer? (opcional) -skills.view.command.mode.hint=Modo de comando: uma entrada iniciada com / é executada como um comando de agente. +skills.view.command.mode.hint=Modo de comando\: uma entrada iniciada com / é executada como um comando de agente. skills.view.system.prompt.preview=Prompt do sistema skills.view.response.title=Resposta skills.view.followup.label=Acompanhamento @@ -1584,7 +1592,7 @@ skills.view.history.empty=Ainda não há execuções skills.view.copy=Copiar skills.view.system.prompt.file=arquivo skills.view.system.prompt.files=arquivos -skills.view.system.prompt.also.included=Também incluído no contexto do agente: +skills.view.system.prompt.also.included=Também incluído no contexto do agente\: skills.view.docs.tooltip=Ver Guia de Habilidades skills.view.mode.agentic=Agêntico skills.view.mode.manual=Manual @@ -1611,7 +1619,7 @@ onboarding.step.language.label=Idioma # Onboarding Step 1: Analytics onboarding.step.analytics.title=Ajude a tornar o Askimo melhor para todos onboarding.step.analytics.description=Askimo é gratuito e open-source. Compartilhar dados de uso anônimos é uma pequena maneira de contribuir. Isso nos ajuda a entender o que desenvolver a seguir. -onboarding.step.analytics.collected.yes.features=✅ Quais recursos são usados (ex: RAG, ferramentas MCP, Planos, Skills) +onboarding.step.analytics.collected.yes.features=✅ Quais recursos são usados (ex\: RAG, ferramentas MCP, Planos, Skills) onboarding.step.analytics.collected.yes.version=✅ Versão do app e tipo de SO onboarding.step.analytics.collected.no.conversations=❌ Nenhum conteúdo de conversas ou prompts onboarding.step.analytics.collected.no.personal=❌ Nenhum dado pessoal, arquivos ou chaves de API. Nunca. @@ -1624,7 +1632,7 @@ onboarding.step.analytics.section.never=O que nunca coletamos onboarding.step.analytics.toggle.subtitle=Ajuda-nos a focar no que mais importa · alterável a qualquer momento em Configurações → Avançado # Onboarding Step 1: Welcome -onboarding.step.welcome.title=👋 Bem-vindo ao Askimo! +onboarding.step.welcome.title=👋 Bem-vindo ao Askimo\! onboarding.step.welcome.description=Seu assistente pessoal de IA. Converse com vários modelos de IA, organize conhecimento em projetos e automatize fluxos de trabalho com skills e planos. onboarding.step.welcome.feature1.title=💬 Converse com a IA onboarding.step.welcome.feature1.description=Faça perguntas, obtenha ajuda com tarefas ou converse com qualquer modelo de IA. @@ -1653,7 +1661,7 @@ onboarding.step.directives.feature3.description=Precisa de um tutor paciente par onboarding.step.directives.link=Veja exemplos e dicas # Onboarding Step 6: Ready -onboarding.step.ready.title=🚀 Tudo pronto! +onboarding.step.ready.title=🚀 Tudo pronto\! onboarding.step.ready.description=Está tudo configurado e pronto para usar. Comece seu primeiro chat ou explore os recursos abaixo. onboarding.step.ready.link.docs=📚 Navegar na documentação onboarding.step.ready.link.providers=🔧 Configurar provedores de IA @@ -1663,13 +1671,13 @@ onboarding.step.ready.link.github=⭐ Dê uma estrela no GitHub onboarding.step.persona.title=🎯 O que você quer fazer principalmente? onboarding.step.persona.description=Escolha a opção que mais se parece com o seu trabalho. O Askimo mostrará os recursos mais relevantes. Você pode alterar isso a qualquer momento no menu Exibir. onboarding.step.persona.developer.description=Ler e escrever código, refatorar arquivos, gerar scaffolding ou executar tarefas agênticas em seu projeto local. -onboarding.step.persona.developer.features=Ativa: Skills (Gemini CLI, Claude Code), Projects +onboarding.step.persona.developer.features=Ativa\: Skills (Gemini CLI, Claude Code), Projects onboarding.step.persona.researcher.description=Pesquisar tópicos, analisar dados, escrever relatórios estruturados e obter respostas baseadas em conhecimento. -onboarding.step.persona.researcher.features=Ativa: Plans, Projects (RAG) +onboarding.step.persona.researcher.features=Ativa\: Plans, Projects (RAG) onboarding.step.persona.manager.description=Rascunhar e-mails, processar notas de reuniões, escrever relatórios de status ou executar fluxos de trabalho de conteúdo em várias etapas. -onboarding.step.persona.manager.features=Ativa: Plans +onboarding.step.persona.manager.features=Ativa\: Plans onboarding.step.persona.everything.description=Eu faço uma mistura de coisas — mostre-me todos os recursos e decidirei o que usar. -onboarding.step.persona.everything.features=Ativa: Skills, Plans, Projects, MCP, RAG +onboarding.step.persona.everything.features=Ativa\: Skills, Plans, Projects, MCP, RAG # Persona labels persona.developer=💻 Escrever e revisar código From 9c30a3e415df1dfa17c441a0680d01e92f433eef Mon Sep 17 00:00:00 2001 From: Hai Nguyen <3423575+haiphucnguyen@users.noreply.github.com> Date: Thu, 20 Aug 2026 01:12:53 +0000 Subject: [PATCH 10/10] Update source file messages.properties [ci skip] --- desktop-shared/src/main/resources/i18n/messages.properties | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/desktop-shared/src/main/resources/i18n/messages.properties b/desktop-shared/src/main/resources/i18n/messages.properties index 81c238af5..0f262cfe0 100644 --- a/desktop-shared/src/main/resources/i18n/messages.properties +++ b/desktop-shared/src/main/resources/i18n/messages.properties @@ -979,6 +979,11 @@ provider.template.openrouter.tagline=Access 300+ models — GPT, Claude, Llama, provider.template.openrouter.help=💡 To use OpenRouter:\n\n1. Get your free API key at: openrouter.ai/keys\n2. Click Next to browse 300+ available models\n3. Many models have a free tier — no credit card needed provider.template.together_ai.tagline=Fast, affordable inference for 100+ open-source models. provider.template.together_ai.help=💡 To use Together AI:\n\n1. Get your API key at: api.together.ai/settings/api-keys\n2. Click Next to browse available models,\n e.g. meta-llama/Llama-3-8b-chat-hf +provider.template.lite_llm.tagline=A unified proxy that lets you call 100+ LLMs using the OpenAI format. +provider.search.placeholder=Search providers... +provider.search.no_results=No providers found +provider.template.lite_llm.help=💡 To use LiteLLM:\n\n1. Start the LiteLLM proxy: litellm --model ollama/llama3\n2. The default URL is http://localhost:4000/v1\n3. No API key is needed for local setups (set any value if prompted) + provider.configure.new.title=Configure {0} provider.edit.title=Edit "{0}"