release: ship v1.6.0 with paged suggestions and a cleaner phrase memory
Next-sentence suggestions now arrive one at a time up to twelve, shown three per page with Ctrl+Alt+Up/Down to move, Left/Right to page, Enter to accept and Esc to close; old default bindings migrate and the panel guide follows the live bindings. The overlay is redesigned, stays put while candidates stream and sits outside the input box when no caret is reported. The personal phrase memory stops learning from terminals, code editors and the coding-agent hub, ignores symbol-heavy lines and empty-field placeholders, and prunes existing entries that break those rules. Fixes suggestion keys starting dictation, installs stuck on a pre-1.5.0 speech engine without the focus endpoint, Ollama runner windows flashing while typing, the speech engine starting twice, and cold-model timeouts. Live captions can be dragged to a remembered position and show a waiting notice until the first line arrives. Bumps the product version to 1.6.0 (Android/iOS build 1060000).
This commit is contained in:
parent
856e375f3e
commit
2fe20fa7b5
71 changed files with 2469 additions and 366 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/i18n",
|
||||
"version": "1.5.0",
|
||||
"version": "1.6.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice 공유 i18n — 12개 locale, 타입 안전 키, Context, 포맷 유틸",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Übernehmen",
|
||||
"popup.suggestion.hintNext": "Weiter",
|
||||
"popup.suggestion.hintDismiss": "Schließen",
|
||||
"popup.suggestion.hintMove": "Bewegen",
|
||||
"popup.suggestion.hintPage": "Seite",
|
||||
"popup.suggestion.loading": "Wird erzeugt…",
|
||||
"keybinding.ui.sectionInput": "Eingabevorschläge",
|
||||
"keybinding.action.suggestionAccept": "Vorschlag übernehmen",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Modell wird vorbereitet…",
|
||||
"popup.suggestion.hintGenerating": "Wird erzeugt…",
|
||||
"popup.suggestion.hintGeneratingMore": "Mehr wird erzeugt… (bis zu {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Vorheriger Vorschlag",
|
||||
"keybinding.action.suggestionPrev.desc": "Zum vorherigen Kandidaten wechseln.",
|
||||
"keybinding.action.suggestionPageNext": "Nächste Seite",
|
||||
"keybinding.action.suggestionPageNext.desc": "Zeigt die nächste Seite der Vorschläge (bis zu 12 insgesamt).",
|
||||
"keybinding.action.suggestionPagePrev": "Vorherige Seite",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Zeigt die vorherige Seite der Vorschläge.",
|
||||
"input.insights.tabs.graph": "Graph",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Satz-Knoten",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "Der lokale Datenbeleg ist derzeit nicht verfügbar. Mengen und Aufbewahrung werden nicht angezeigt.",
|
||||
"input.feedback.clearFailed": "Gesammelte Daten konnten nicht gelöscht werden.",
|
||||
"input.feedback.excludedFailed": "Ausschlüsse konnten nicht gespeichert werden.",
|
||||
"input.feedback.recommendationFailed": "{{app}} konnte nicht zu Ausschlüssen hinzugefügt werden."
|
||||
"input.feedback.recommendationFailed": "{{app}} konnte nicht zu Ausschlüssen hinzugefügt werden.",
|
||||
"popup.caption.loading": "Sprachmodell wird vorbereitet…",
|
||||
"popup.caption.waiting": "Hört zu… der erste Untertitel kann einige Sekunden dauern",
|
||||
"popup.caption.dragHint": "Ziehen zum Verschieben · Doppelklick setzt zurück"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1218,7 +1218,7 @@
|
|||
"popup.time.daysAgo": "{{d}}d ago",
|
||||
"popup.copy": "Copy",
|
||||
"popup.error.default": "An error occurred",
|
||||
"popup.caption.loading": "⏳ Loading STT model...",
|
||||
"popup.caption.loading": "Preparing the speech model…",
|
||||
"mobile.paywall.title": "D3RO PRO & Rewards",
|
||||
"mobile.paywall.close": "Close billing screen",
|
||||
"mobile.paywall.currentPlan": "Current plan",
|
||||
|
|
@ -1756,6 +1756,8 @@
|
|||
"popup.suggestion.hintAccept": "Accept",
|
||||
"popup.suggestion.hintNext": "Next",
|
||||
"popup.suggestion.hintDismiss": "Dismiss",
|
||||
"popup.suggestion.hintMove": "Move",
|
||||
"popup.suggestion.hintPage": "Page",
|
||||
"popup.suggestion.loading": "Generating…",
|
||||
"keybinding.ui.sectionInput": "Input suggestions",
|
||||
"keybinding.action.suggestionAccept": "Accept suggestion",
|
||||
|
|
@ -1831,8 +1833,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Preparing model…",
|
||||
"popup.suggestion.hintGenerating": "Generating…",
|
||||
"popup.suggestion.hintGeneratingMore": "More coming… (up to {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Previous suggestion",
|
||||
"keybinding.action.suggestionPrev.desc": "Move to the previous suggestion candidate.",
|
||||
"keybinding.action.suggestionPageNext": "Next page",
|
||||
"keybinding.action.suggestionPageNext.desc": "Show the next page of suggestions (up to 12 total).",
|
||||
"keybinding.action.suggestionPagePrev": "Previous page",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Show the previous page of suggestions.",
|
||||
"input.insights.tabs.graph": "Graph",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Sentence nodes",
|
||||
|
|
@ -1894,5 +1901,7 @@
|
|||
"input.privacy.unavailable": "The local data receipt is unavailable right now. Counts and retention are not shown.",
|
||||
"input.feedback.clearFailed": "Collected data could not be deleted.",
|
||||
"input.feedback.excludedFailed": "Exclusions could not be saved.",
|
||||
"input.feedback.recommendationFailed": "Could not add {{app}} to exclusions."
|
||||
"input.feedback.recommendationFailed": "Could not add {{app}} to exclusions.",
|
||||
"popup.caption.waiting": "Listening… the first caption can take a few seconds",
|
||||
"popup.caption.dragHint": "Drag to move · double-click to reset"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Aceptar",
|
||||
"popup.suggestion.hintNext": "Siguiente",
|
||||
"popup.suggestion.hintDismiss": "Descartar",
|
||||
"popup.suggestion.hintMove": "Mover",
|
||||
"popup.suggestion.hintPage": "Página",
|
||||
"popup.suggestion.loading": "Generando…",
|
||||
"keybinding.ui.sectionInput": "Sugerencias de entrada",
|
||||
"keybinding.action.suggestionAccept": "Aceptar sugerencia",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Preparando el modelo…",
|
||||
"popup.suggestion.hintGenerating": "Generando…",
|
||||
"popup.suggestion.hintGeneratingMore": "Generando más… (hasta {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Sugerencia anterior",
|
||||
"keybinding.action.suggestionPrev.desc": "Pasa al candidato anterior.",
|
||||
"keybinding.action.suggestionPageNext": "Página siguiente",
|
||||
"keybinding.action.suggestionPageNext.desc": "Muestra la siguiente página de sugerencias (hasta 12 en total).",
|
||||
"keybinding.action.suggestionPagePrev": "Página anterior",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Muestra la página anterior de sugerencias.",
|
||||
"input.insights.tabs.graph": "Grafo",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Nodos de frase",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "El recibo de datos locales no está disponible ahora. No se muestran cantidades ni retención.",
|
||||
"input.feedback.clearFailed": "No se pudieron eliminar los datos recopilados.",
|
||||
"input.feedback.excludedFailed": "No se pudieron guardar las exclusiones.",
|
||||
"input.feedback.recommendationFailed": "No se pudo añadir {{app}} a las exclusiones."
|
||||
"input.feedback.recommendationFailed": "No se pudo añadir {{app}} a las exclusiones.",
|
||||
"popup.caption.loading": "Preparando el modelo de voz…",
|
||||
"popup.caption.waiting": "Escuchando… el primer subtítulo puede tardar unos segundos",
|
||||
"popup.caption.dragHint": "Arrastra para mover · doble clic para restablecer"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Accepter",
|
||||
"popup.suggestion.hintNext": "Suivant",
|
||||
"popup.suggestion.hintDismiss": "Fermer",
|
||||
"popup.suggestion.hintMove": "Déplacer",
|
||||
"popup.suggestion.hintPage": "Page",
|
||||
"popup.suggestion.loading": "Génération…",
|
||||
"keybinding.ui.sectionInput": "Suggestions de saisie",
|
||||
"keybinding.action.suggestionAccept": "Accepter la suggestion",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Préparation du modèle…",
|
||||
"popup.suggestion.hintGenerating": "Génération…",
|
||||
"popup.suggestion.hintGeneratingMore": "Génération en cours… (jusqu'à {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Suggestion précédente",
|
||||
"keybinding.action.suggestionPrev.desc": "Passe au candidat précédent.",
|
||||
"keybinding.action.suggestionPageNext": "Page suivante",
|
||||
"keybinding.action.suggestionPageNext.desc": "Affiche la page suivante de suggestions (jusqu'à 12 au total).",
|
||||
"keybinding.action.suggestionPagePrev": "Page précédente",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Affiche la page précédente de suggestions.",
|
||||
"input.insights.tabs.graph": "Graphe",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Nœuds de phrase",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "Le reçu de données locales est indisponible. Les quantités et durées de conservation ne sont pas affichées.",
|
||||
"input.feedback.clearFailed": "Les données collectées n’ont pas pu être supprimées.",
|
||||
"input.feedback.excludedFailed": "Les exclusions n’ont pas pu être enregistrées.",
|
||||
"input.feedback.recommendationFailed": "Impossible d’ajouter {{app}} aux exclusions."
|
||||
"input.feedback.recommendationFailed": "Impossible d’ajouter {{app}} aux exclusions.",
|
||||
"popup.caption.loading": "Préparation du modèle vocal…",
|
||||
"popup.caption.waiting": "Écoute… le premier sous-titre peut prendre quelques secondes",
|
||||
"popup.caption.dragHint": "Glisser pour déplacer · double-clic pour réinitialiser"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "承認",
|
||||
"popup.suggestion.hintNext": "次へ",
|
||||
"popup.suggestion.hintDismiss": "閉じる",
|
||||
"popup.suggestion.hintMove": "移動",
|
||||
"popup.suggestion.hintPage": "ページ",
|
||||
"popup.suggestion.loading": "生成中…",
|
||||
"keybinding.ui.sectionInput": "入力サジェスト",
|
||||
"keybinding.action.suggestionAccept": "サジェストを承認",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "モデルを準備中…",
|
||||
"popup.suggestion.hintGenerating": "生成中…",
|
||||
"popup.suggestion.hintGeneratingMore": "さらに生成中…(最大{{max}}件)",
|
||||
"keybinding.action.suggestionPrev": "前の候補",
|
||||
"keybinding.action.suggestionPrev.desc": "前の候補に移動します。",
|
||||
"keybinding.action.suggestionPageNext": "次のページ",
|
||||
"keybinding.action.suggestionPageNext.desc": "次の提案ページを表示します(最大12件まで)。",
|
||||
"keybinding.action.suggestionPagePrev": "前のページ",
|
||||
"keybinding.action.suggestionPagePrev.desc": "前の提案ページに戻ります。",
|
||||
"input.insights.tabs.graph": "グラフ",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "文ノード",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "ローカルデータの明細は現在利用できません。件数と保持期間は表示されません。",
|
||||
"input.feedback.clearFailed": "収集したデータを削除できませんでした。",
|
||||
"input.feedback.excludedFailed": "除外設定を保存できませんでした。",
|
||||
"input.feedback.recommendationFailed": "{{app}} を除外に追加できませんでした。"
|
||||
"input.feedback.recommendationFailed": "{{app}} を除外に追加できませんでした。",
|
||||
"popup.caption.loading": "音声モデルを準備中…",
|
||||
"popup.caption.waiting": "聞き取り中… 最初の字幕まで数秒かかることがあります",
|
||||
"popup.caption.dragHint": "ドラッグで移動 · ダブルクリックで元の位置"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1225,7 +1225,7 @@
|
|||
"popup.time.daysAgo": "{{d}}일 전",
|
||||
"popup.copy": "복사",
|
||||
"popup.error.default": "오류가 발생했습니다",
|
||||
"popup.caption.loading": "⏳ STT 모델 로딩 중...",
|
||||
"popup.caption.loading": "음성 모델 준비 중…",
|
||||
"mobile.paywall.title": "D3RO PRO 및 리워드",
|
||||
"mobile.paywall.close": "결제 화면 닫기",
|
||||
"mobile.paywall.currentPlan": "현재 요금제",
|
||||
|
|
@ -1763,6 +1763,8 @@
|
|||
"popup.suggestion.hintAccept": "수락",
|
||||
"popup.suggestion.hintNext": "다음",
|
||||
"popup.suggestion.hintDismiss": "닫기",
|
||||
"popup.suggestion.hintMove": "이동",
|
||||
"popup.suggestion.hintPage": "페이지",
|
||||
"popup.suggestion.loading": "생성 중…",
|
||||
"keybinding.ui.sectionInput": "입력 제안",
|
||||
"keybinding.action.suggestionAccept": "제안 수락",
|
||||
|
|
@ -1838,8 +1840,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "모델 준비 중…",
|
||||
"popup.suggestion.hintGenerating": "생성 중…",
|
||||
"popup.suggestion.hintGeneratingMore": "더 생성 중… (최대 {{max}}개)",
|
||||
"keybinding.action.suggestionPrev": "이전 제안",
|
||||
"keybinding.action.suggestionPrev.desc": "이전 제안 후보로 이동합니다.",
|
||||
"keybinding.action.suggestionPageNext": "다음 페이지",
|
||||
"keybinding.action.suggestionPageNext.desc": "다음 제안 페이지를 봅니다 (최대 12개까지).",
|
||||
"keybinding.action.suggestionPagePrev": "이전 페이지",
|
||||
"keybinding.action.suggestionPagePrev.desc": "이전 제안 페이지로 이동합니다.",
|
||||
"input.insights.tabs.graph": "그래프",
|
||||
"input.graph.description": "내 문장을 노드로, 문장 사이의 관계(무엇이 무엇 뒤에 오는지, 어떤 용어를 공유하는지)를 엣지로 저장해 제안에 개인 문맥을 끌어옵니다. 전부 로컬입니다.",
|
||||
"input.graph.nodes": "문장 노드",
|
||||
|
|
@ -1901,5 +1908,7 @@
|
|||
"input.privacy.unavailable": "지금은 로컬 데이터 영수증을 불러올 수 없습니다. 수량과 보존 기간은 표시하지 않습니다.",
|
||||
"input.feedback.clearFailed": "수집된 데이터를 삭제하지 못했습니다.",
|
||||
"input.feedback.excludedFailed": "제외 목록을 저장하지 못했습니다.",
|
||||
"input.feedback.recommendationFailed": "{{app}}을(를) 제외 목록에 추가하지 못했습니다."
|
||||
"input.feedback.recommendationFailed": "{{app}}을(를) 제외 목록에 추가하지 못했습니다.",
|
||||
"popup.caption.waiting": "듣는 중… 첫 자막까지 몇 초 걸릴 수 있어요",
|
||||
"popup.caption.dragHint": "끌어서 이동 · 더블클릭하면 원위치"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Aceitar",
|
||||
"popup.suggestion.hintNext": "Próxima",
|
||||
"popup.suggestion.hintDismiss": "Descartar",
|
||||
"popup.suggestion.hintMove": "Mover",
|
||||
"popup.suggestion.hintPage": "Página",
|
||||
"popup.suggestion.loading": "Gerando…",
|
||||
"keybinding.ui.sectionInput": "Sugestões de entrada",
|
||||
"keybinding.action.suggestionAccept": "Aceitar sugestão",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Preparando o modelo…",
|
||||
"popup.suggestion.hintGenerating": "Gerando…",
|
||||
"popup.suggestion.hintGeneratingMore": "Gerando mais… (até {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Sugestão anterior",
|
||||
"keybinding.action.suggestionPrev.desc": "Vai para o candidato anterior.",
|
||||
"keybinding.action.suggestionPageNext": "Próxima página",
|
||||
"keybinding.action.suggestionPageNext.desc": "Mostra a próxima página de sugestões (até 12 no total).",
|
||||
"keybinding.action.suggestionPagePrev": "Página anterior",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Mostra a página anterior de sugestões.",
|
||||
"input.insights.tabs.graph": "Grafo",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Nós de frase",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "O recibo de dados locais está indisponível agora. Quantidades e retenção não são exibidas.",
|
||||
"input.feedback.clearFailed": "Não foi possível excluir os dados coletados.",
|
||||
"input.feedback.excludedFailed": "Não foi possível salvar as exclusões.",
|
||||
"input.feedback.recommendationFailed": "Não foi possível adicionar {{app}} às exclusões."
|
||||
"input.feedback.recommendationFailed": "Não foi possível adicionar {{app}} às exclusões.",
|
||||
"popup.caption.loading": "Preparando o modelo de voz…",
|
||||
"popup.caption.waiting": "Ouvindo… a primeira legenda pode levar alguns segundos",
|
||||
"popup.caption.dragHint": "Arraste para mover · clique duplo para restaurar"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Принять",
|
||||
"popup.suggestion.hintNext": "Далее",
|
||||
"popup.suggestion.hintDismiss": "Закрыть",
|
||||
"popup.suggestion.hintMove": "Перемещение",
|
||||
"popup.suggestion.hintPage": "Страница",
|
||||
"popup.suggestion.loading": "Генерация…",
|
||||
"keybinding.ui.sectionInput": "Подсказки ввода",
|
||||
"keybinding.action.suggestionAccept": "Принять подсказку",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Подготовка модели…",
|
||||
"popup.suggestion.hintGenerating": "Генерация…",
|
||||
"popup.suggestion.hintGeneratingMore": "Создаётся ещё… (до {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Предыдущая подсказка",
|
||||
"keybinding.action.suggestionPrev.desc": "Перейти к предыдущему варианту.",
|
||||
"keybinding.action.suggestionPageNext": "Следующая страница",
|
||||
"keybinding.action.suggestionPageNext.desc": "Показывает следующую страницу подсказок (до 12 всего).",
|
||||
"keybinding.action.suggestionPagePrev": "Предыдущая страница",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Показывает предыдущую страницу подсказок.",
|
||||
"input.insights.tabs.graph": "Граф",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Узлы-предложения",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "Квитанция локальных данных сейчас недоступна. Количества и сроки хранения не показаны.",
|
||||
"input.feedback.clearFailed": "Не удалось удалить собранные данные.",
|
||||
"input.feedback.excludedFailed": "Не удалось сохранить исключения.",
|
||||
"input.feedback.recommendationFailed": "Не удалось добавить {{app}} в исключения."
|
||||
"input.feedback.recommendationFailed": "Не удалось добавить {{app}} в исключения.",
|
||||
"popup.caption.loading": "Подготовка речевой модели…",
|
||||
"popup.caption.waiting": "Слушаю… первый субтитр может появиться через несколько секунд",
|
||||
"popup.caption.dragHint": "Перетащите, чтобы переместить · двойной щелчок — сброс"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "ยอมรับ",
|
||||
"popup.suggestion.hintNext": "ถัดไป",
|
||||
"popup.suggestion.hintDismiss": "ปิด",
|
||||
"popup.suggestion.hintMove": "ย้าย",
|
||||
"popup.suggestion.hintPage": "หน้า",
|
||||
"popup.suggestion.loading": "กำลังสร้าง…",
|
||||
"keybinding.ui.sectionInput": "คำแนะนำการป้อน",
|
||||
"keybinding.action.suggestionAccept": "ยอมรับคำแนะนำ",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "กำลังเตรียมโมเดล…",
|
||||
"popup.suggestion.hintGenerating": "กำลังสร้าง…",
|
||||
"popup.suggestion.hintGeneratingMore": "กำลังสร้างเพิ่ม… (สูงสุด {{max}})",
|
||||
"keybinding.action.suggestionPrev": "คำแนะนำก่อนหน้า",
|
||||
"keybinding.action.suggestionPrev.desc": "ย้ายไปยังตัวเลือกก่อนหน้า",
|
||||
"keybinding.action.suggestionPageNext": "หน้าถัดไป",
|
||||
"keybinding.action.suggestionPageNext.desc": "แสดงคำแนะนำหน้าถัดไป (สูงสุด 12 รายการ)",
|
||||
"keybinding.action.suggestionPagePrev": "หน้าก่อนหน้า",
|
||||
"keybinding.action.suggestionPagePrev.desc": "แสดงคำแนะนำหน้าก่อนหน้า",
|
||||
"input.insights.tabs.graph": "กราฟ",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "โหนดประโยค",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "ใบรับข้อมูลในเครื่องไม่พร้อมใช้งานขณะนี้ จึงไม่แสดงจำนวนและระยะเวลาเก็บข้อมูล",
|
||||
"input.feedback.clearFailed": "ไม่สามารถลบข้อมูลที่เก็บรวบรวมได้",
|
||||
"input.feedback.excludedFailed": "ไม่สามารถบันทึกรายการยกเว้นได้",
|
||||
"input.feedback.recommendationFailed": "ไม่สามารถเพิ่ม {{app}} ในรายการยกเว้นได้"
|
||||
"input.feedback.recommendationFailed": "ไม่สามารถเพิ่ม {{app}} ในรายการยกเว้นได้",
|
||||
"popup.caption.loading": "กำลังเตรียมโมเดลเสียง…",
|
||||
"popup.caption.waiting": "กำลังฟัง… คำบรรยายแรกอาจใช้เวลาสักครู่",
|
||||
"popup.caption.dragHint": "ลากเพื่อย้าย · ดับเบิลคลิกเพื่อรีเซ็ต"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "Chấp nhận",
|
||||
"popup.suggestion.hintNext": "Tiếp",
|
||||
"popup.suggestion.hintDismiss": "Đóng",
|
||||
"popup.suggestion.hintMove": "Di chuyển",
|
||||
"popup.suggestion.hintPage": "Trang",
|
||||
"popup.suggestion.loading": "Đang tạo…",
|
||||
"keybinding.ui.sectionInput": "Gợi ý nhập liệu",
|
||||
"keybinding.action.suggestionAccept": "Chấp nhận gợi ý",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "Đang chuẩn bị mô hình…",
|
||||
"popup.suggestion.hintGenerating": "Đang tạo…",
|
||||
"popup.suggestion.hintGeneratingMore": "Đang tạo thêm… (tối đa {{max}})",
|
||||
"keybinding.action.suggestionPrev": "Gợi ý trước",
|
||||
"keybinding.action.suggestionPrev.desc": "Chuyển về ứng viên trước đó.",
|
||||
"keybinding.action.suggestionPageNext": "Trang tiếp theo",
|
||||
"keybinding.action.suggestionPageNext.desc": "Hiển thị trang gợi ý tiếp theo (tối đa 12 gợi ý).",
|
||||
"keybinding.action.suggestionPagePrev": "Trang trước",
|
||||
"keybinding.action.suggestionPagePrev.desc": "Hiển thị trang gợi ý trước đó.",
|
||||
"input.insights.tabs.graph": "Đồ thị",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "Nút câu",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "Biên nhận dữ liệu cục bộ hiện không khả dụng. Số lượng và thời hạn lưu giữ không được hiển thị.",
|
||||
"input.feedback.clearFailed": "Không thể xóa dữ liệu đã thu thập.",
|
||||
"input.feedback.excludedFailed": "Không thể lưu danh sách loại trừ.",
|
||||
"input.feedback.recommendationFailed": "Không thể thêm {{app}} vào danh sách loại trừ."
|
||||
"input.feedback.recommendationFailed": "Không thể thêm {{app}} vào danh sách loại trừ.",
|
||||
"popup.caption.loading": "Đang chuẩn bị mô hình giọng nói…",
|
||||
"popup.caption.waiting": "Đang nghe… phụ đề đầu tiên có thể mất vài giây",
|
||||
"popup.caption.dragHint": "Kéo để di chuyển · nhấp đúp để đặt lại"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "接受",
|
||||
"popup.suggestion.hintNext": "下一個",
|
||||
"popup.suggestion.hintDismiss": "關閉",
|
||||
"popup.suggestion.hintMove": "移動",
|
||||
"popup.suggestion.hintPage": "翻頁",
|
||||
"popup.suggestion.loading": "產生中…",
|
||||
"keybinding.ui.sectionInput": "輸入建議",
|
||||
"keybinding.action.suggestionAccept": "接受建議",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "正在準備模型…",
|
||||
"popup.suggestion.hintGenerating": "產生中…",
|
||||
"popup.suggestion.hintGeneratingMore": "正在產生更多…(最多 {{max}} 則)",
|
||||
"keybinding.action.suggestionPrev": "上一則建議",
|
||||
"keybinding.action.suggestionPrev.desc": "移動到上一則候選。",
|
||||
"keybinding.action.suggestionPageNext": "下一頁",
|
||||
"keybinding.action.suggestionPageNext.desc": "顯示下一頁建議(最多 12 則)。",
|
||||
"keybinding.action.suggestionPagePrev": "上一頁",
|
||||
"keybinding.action.suggestionPagePrev.desc": "顯示上一頁建議。",
|
||||
"input.insights.tabs.graph": "圖譜",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "句子節點",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "本機資料憑據目前無法使用,因此不顯示數量和保留期。",
|
||||
"input.feedback.clearFailed": "無法刪除已收集的資料。",
|
||||
"input.feedback.excludedFailed": "無法儲存排除清單。",
|
||||
"input.feedback.recommendationFailed": "無法將 {{app}} 加入排除清單。"
|
||||
"input.feedback.recommendationFailed": "無法將 {{app}} 加入排除清單。",
|
||||
"popup.caption.loading": "正在準備語音模型…",
|
||||
"popup.caption.waiting": "聆聽中… 第一則字幕可能需要幾秒鐘",
|
||||
"popup.caption.dragHint": "拖曳以移動 · 按兩下還原"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,6 +374,8 @@
|
|||
"popup.suggestion.hintAccept": "接受",
|
||||
"popup.suggestion.hintNext": "下一个",
|
||||
"popup.suggestion.hintDismiss": "关闭",
|
||||
"popup.suggestion.hintMove": "移动",
|
||||
"popup.suggestion.hintPage": "翻页",
|
||||
"popup.suggestion.loading": "生成中…",
|
||||
"keybinding.ui.sectionInput": "输入建议",
|
||||
"keybinding.action.suggestionAccept": "接受建议",
|
||||
|
|
@ -449,8 +451,13 @@
|
|||
"input.unit.percent": "%",
|
||||
"popup.suggestion.warming": "正在准备模型…",
|
||||
"popup.suggestion.hintGenerating": "生成中…",
|
||||
"popup.suggestion.hintGeneratingMore": "正在生成更多…(最多 {{max}} 条)",
|
||||
"keybinding.action.suggestionPrev": "上一条建议",
|
||||
"keybinding.action.suggestionPrev.desc": "移动到上一条候选。",
|
||||
"keybinding.action.suggestionPageNext": "下一页",
|
||||
"keybinding.action.suggestionPageNext.desc": "显示下一页建议(最多 12 条)。",
|
||||
"keybinding.action.suggestionPagePrev": "上一页",
|
||||
"keybinding.action.suggestionPagePrev.desc": "显示上一页建议。",
|
||||
"input.insights.tabs.graph": "图谱",
|
||||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||||
"input.graph.nodes": "句子节点",
|
||||
|
|
@ -512,5 +519,8 @@
|
|||
"input.privacy.unavailable": "本地数据凭据暂不可用,因此不显示数量和保留期。",
|
||||
"input.feedback.clearFailed": "无法删除已收集的数据。",
|
||||
"input.feedback.excludedFailed": "无法保存排除列表。",
|
||||
"input.feedback.recommendationFailed": "无法将 {{app}} 添加到排除列表。"
|
||||
"input.feedback.recommendationFailed": "无法将 {{app}} 添加到排除列表。",
|
||||
"popup.caption.loading": "正在准备语音模型…",
|
||||
"popup.caption.waiting": "正在聆听… 第一条字幕可能需要几秒钟",
|
||||
"popup.caption.dragHint": "拖动以移动 · 双击复位"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue