diff --git a/src/renderer/src/components/dictation/DictationIndicator.tsx b/src/renderer/src/components/dictation/DictationIndicator.tsx index e92f2b1ab89..e28f3d62f16 100644 --- a/src/renderer/src/components/dictation/DictationIndicator.tsx +++ b/src/renderer/src/components/dictation/DictationIndicator.tsx @@ -75,7 +75,8 @@ function useIsCloudModel(): boolean { let current = true if (!catalogRequest) { catalogRequest = Promise.resolve() - .then(() => window.api.speech.getCatalog()) + // The paired web client's fallback resolves with nothing rather than a list. + .then(async () => (await window.api.speech.getCatalog()) ?? []) .catch(() => []) } void catalogRequest.then((catalog) => { diff --git a/src/renderer/src/i18n/locales/de.json b/src/renderer/src/i18n/locales/de.json index 090345f268b..21f10a7612b 100644 --- a/src/renderer/src/i18n/locales/de.json +++ b/src/renderer/src/i18n/locales/de.json @@ -16974,7 +16974,8 @@ "micFallback": "Ausgewähltes Mikrofon nicht verfügbar. Systemstandard wird verwendet.", "micDisconnected": "Mikrofon getrennt. Diktat gestoppt.", "cloudLimitReached": "Diktat am 10-Minuten-Limit der Cloud gestoppt.", - "stoppedAfterSilence": "Nach einer Minute Stille beendet" + "stoppedAfterSilence": "Nach einer Minute Stille beendet", + "retryUnmatched": "Beim erneuten Versuch war nicht erkennbar, welche Wörter schon eingegeben waren, daher wurden alle eingefügt." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "Das Diktat konnte nicht eingefügt werden und wurde in die Zwischenablage kopiert.", @@ -16982,7 +16983,21 @@ "lost": "Das Diktat konnte weder eingefügt noch kopiert werden." }, "DictationIndicator": { - "4977162383": "Zu laut" + "4977162383": "Zu laut", + "finishing": "Wird abgeschlossen…", + "listening": "Hört zu…", + "cancel": "Abbrechen", + "finish": "Fertig", + "oneMinuteLeft": "Noch eine Minute.", + "sendsWhenLanded": "Sendet, sobald der Text da ist", + "entersWhenLanded": "Drückt Enter, sobald der Text da ist" + }, + "DictationPillFailure": { + "discard": "Aufnahme verwerfen", + "modelFailed": "Modell nicht geladen.", + "transcribeFailed": "Nicht erkannt. Aufnahme behalten.", + "openSettings": "Einstellungen", + "retry": "Wiederholen" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/es.json b/src/renderer/src/i18n/locales/es.json index e7c433aa147..24007e63f01 100644 --- a/src/renderer/src/i18n/locales/es.json +++ b/src/renderer/src/i18n/locales/es.json @@ -16700,7 +16700,8 @@ "micFallback": "Micrófono seleccionado no disponible. Se usará el predeterminado del sistema.", "micDisconnected": "Micrófono desconectado. Dictado detenido.", "cloudLimitReached": "Dictado detenido al llegar al límite de 10 minutos en la nube.", - "stoppedAfterSilence": "Se detuvo tras un minuto de silencio" + "stoppedAfterSilence": "Se detuvo tras un minuto de silencio", + "retryUnmatched": "Al reintentar no se pudo saber qué palabras ya estaban escritas, así que se insertaron todas." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "No se pudo insertar el dictado, así que se copió al portapapeles.", @@ -16708,7 +16709,21 @@ "lost": "No se pudo insertar ni copiar el dictado." }, "DictationIndicator": { - "4977162383": "Volumen demasiado alto" + "4977162383": "Volumen demasiado alto", + "finishing": "Terminando…", + "listening": "Escuchando…", + "cancel": "Cancelar", + "finish": "Terminar", + "oneMinuteLeft": "Queda un minuto.", + "sendsWhenLanded": "Se enviará cuando llegue el texto", + "entersWhenLanded": "Pulsará Enter cuando llegue el texto" + }, + "DictationPillFailure": { + "discard": "Descartar grabación", + "modelFailed": "El modelo no cargó.", + "transcribeFailed": "No se transcribió. Grabación guardada.", + "openSettings": "Configuración", + "retry": "Reintentar" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/fr.json b/src/renderer/src/i18n/locales/fr.json index 2b8b042c3ed..fc72f89f67c 100644 --- a/src/renderer/src/i18n/locales/fr.json +++ b/src/renderer/src/i18n/locales/fr.json @@ -16925,7 +16925,8 @@ "micFallback": "Micro sélectionné indisponible. Utilisation du micro par défaut du système.", "micDisconnected": "Micro déconnecté. Dictée arrêtée.", "cloudLimitReached": "Dictée arrêtée à la limite cloud de 10 minutes.", - "stoppedAfterSilence": "Arrêt après une minute de silence" + "stoppedAfterSilence": "Arrêt après une minute de silence", + "retryUnmatched": "La nouvelle tentative n'a pas pu repérer les mots déjà saisis, ils ont donc tous été insérés." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "La dictée n'a pas pu être insérée, elle a donc été copiée dans le presse-papiers.", @@ -16933,7 +16934,21 @@ "lost": "La dictée n'a pu être ni insérée ni copiée." }, "DictationIndicator": { - "4977162383": "Trop fort" + "4977162383": "Trop fort", + "finishing": "Finalisation…", + "listening": "Écoute…", + "cancel": "Annuler", + "finish": "Terminer", + "oneMinuteLeft": "Plus qu’une minute.", + "sendsWhenLanded": "Envoi dès que le texte arrive", + "entersWhenLanded": "Entrée dès que le texte arrive" + }, + "DictationPillFailure": { + "discard": "Supprimer l'enregistrement", + "modelFailed": "Modèle non chargé.", + "transcribeFailed": "Échec. Enregistrement conservé.", + "openSettings": "Paramètres", + "retry": "Réessayer" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/ja.json b/src/renderer/src/i18n/locales/ja.json index 0b518832052..a161f789437 100644 --- a/src/renderer/src/i18n/locales/ja.json +++ b/src/renderer/src/i18n/locales/ja.json @@ -16298,7 +16298,8 @@ "micFallback": "選択したマイクが使用できません。システムのデフォルトを使用します。", "micDisconnected": "マイクが接続されていません。ディクテーションが停止しました。", "cloudLimitReached": "クラウドの10分の上限に達したため、ディクテーションが停止しました。", - "stoppedAfterSilence": "1分間音声がなかったため停止しました。" + "stoppedAfterSilence": "1分間音声がなかったため停止しました。", + "retryUnmatched": "再試行で入力済みの語句を特定できなかったため、すべて挿入しました。" }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "音声入力を挿入できなかったため、クリップボードにコピーしました。", @@ -16306,7 +16307,21 @@ "lost": "音声入力を挿入もコピーもできませんでした。" }, "DictationIndicator": { - "4977162383": "音量が大きすぎます" + "4977162383": "音量が大きすぎます", + "finishing": "仕上げ中…", + "listening": "聞き取り中…", + "cancel": "キャンセル", + "finish": "完了", + "oneMinuteLeft": "残り1分です。", + "sendsWhenLanded": "テキストの入力後に送信します", + "entersWhenLanded": "テキストの入力後に Enter を押します" + }, + "DictationPillFailure": { + "discard": "録音を破棄", + "modelFailed": "音声モデルを読み込めません。", + "transcribeFailed": "文字起こしに失敗。録音は保持しました。", + "openSettings": "設定を開く", + "retry": "再試行" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/ko.json b/src/renderer/src/i18n/locales/ko.json index 0180fd9d8bd..75e6a229e7a 100644 --- a/src/renderer/src/i18n/locales/ko.json +++ b/src/renderer/src/i18n/locales/ko.json @@ -16298,7 +16298,8 @@ "micFallback": "선택한 마이크를 사용할 수 없습니다. 시스템 기본값을 사용합니다.", "micDisconnected": "마이크 연결이 끊어졌습니다. 받아쓰기가 중지되었습니다.", "cloudLimitReached": "클라우드 10분 제한에 도달해 받아쓰기가 중지되었습니다.", - "stoppedAfterSilence": "1분 동안 말소리가 없어 중지했습니다." + "stoppedAfterSilence": "1분 동안 말소리가 없어 중지했습니다.", + "retryUnmatched": "다시 시도할 때 이미 입력된 단어를 찾지 못해 전부 삽입했습니다." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "받아쓰기를 삽입할 수 없어 클립보드에 복사했습니다.", @@ -16306,7 +16307,21 @@ "lost": "받아쓰기를 삽입하거나 복사할 수 없습니다." }, "DictationIndicator": { - "4977162383": "음량이 너무 큽니다" + "4977162383": "음량이 너무 큽니다", + "finishing": "마무리 중…", + "listening": "듣는 중…", + "cancel": "취소", + "finish": "완료", + "oneMinuteLeft": "1분 남았습니다.", + "sendsWhenLanded": "텍스트가 입력되면 전송합니다", + "entersWhenLanded": "텍스트가 입력되면 Enter를 누릅니다" + }, + "DictationPillFailure": { + "discard": "녹음 삭제", + "modelFailed": "음성 모델을 불러오지 못했습니다.", + "transcribeFailed": "받아쓰기에 실패했습니다. 녹음은 보관됩니다.", + "openSettings": "설정 열기", + "retry": "다시 시도" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/pt.json b/src/renderer/src/i18n/locales/pt.json index 720b00f8403..fe78ad3d3de 100644 --- a/src/renderer/src/i18n/locales/pt.json +++ b/src/renderer/src/i18n/locales/pt.json @@ -19259,7 +19259,8 @@ "micFallback": "O microfone selecionado não está disponível. Usando o padrão do sistema.", "micDisconnected": "Microfone desconectado. O ditado foi interrompido.", "cloudLimitReached": "O ditado foi interrompido no limite de 10 minutos da nuvem.", - "stoppedAfterSilence": "Parou após um minuto de silêncio" + "stoppedAfterSilence": "Parou após um minuto de silêncio", + "retryUnmatched": "Ao tentar de novo, não foi possível saber quais palavras já estavam digitadas, então todas foram inseridas." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "Não foi possível inserir o ditado, então ele foi copiado para a área de transferência.", @@ -19267,7 +19268,21 @@ "lost": "Não foi possível inserir nem copiar o ditado." }, "DictationIndicator": { - "4977162383": "Muito alto" + "4977162383": "Muito alto", + "finishing": "Finalizando…", + "listening": "Ouvindo…", + "cancel": "Cancelar", + "finish": "Concluir", + "oneMinuteLeft": "Falta um minuto.", + "sendsWhenLanded": "Envia quando o texto chegar", + "entersWhenLanded": "Pressiona Enter quando o texto chegar" + }, + "DictationPillFailure": { + "discard": "Descartar gravação", + "modelFailed": "Modelo não carregou.", + "transcribeFailed": "Não transcrito. Gravação mantida.", + "openSettings": "Configurações", + "retry": "Repetir" } }, "link": { diff --git a/src/renderer/src/i18n/locales/ru.json b/src/renderer/src/i18n/locales/ru.json index 774868e30fb..cc61948d8e0 100644 --- a/src/renderer/src/i18n/locales/ru.json +++ b/src/renderer/src/i18n/locales/ru.json @@ -17470,7 +17470,8 @@ "micFallback": "Выбранный микрофон недоступен. Используется системный микрофон по умолчанию.", "micDisconnected": "Микрофон отключён. Диктовка остановлена.", "cloudLimitReached": "Диктовка остановлена: достигнут 10-минутный облачный лимит.", - "stoppedAfterSilence": "Остановлено после минуты тишины" + "stoppedAfterSilence": "Остановлено после минуты тишины", + "retryUnmatched": "При повторе не удалось понять, какие слова уже введены, поэтому вставлено всё." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "Не удалось вставить диктовку, поэтому она скопирована в буфер обмена.", @@ -17478,7 +17479,21 @@ "lost": "Не удалось ни вставить, ни скопировать диктовку." }, "DictationIndicator": { - "4977162383": "Слишком громко" + "4977162383": "Слишком громко", + "finishing": "Завершение…", + "listening": "Слушаю…", + "cancel": "Отмена", + "finish": "Готово", + "oneMinuteLeft": "Осталась минута.", + "sendsWhenLanded": "Отправится, когда текст появится", + "entersWhenLanded": "Нажмёт Enter, когда текст появится" + }, + "DictationPillFailure": { + "discard": "Удалить запись", + "modelFailed": "Модель не загружена.", + "transcribeFailed": "Не удалось распознать. Запись сохранена.", + "openSettings": "Настройки", + "retry": "Повторить" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/tr.json b/src/renderer/src/i18n/locales/tr.json index 47a5314415e..b1d069b3554 100644 --- a/src/renderer/src/i18n/locales/tr.json +++ b/src/renderer/src/i18n/locales/tr.json @@ -16958,7 +16958,8 @@ "micFallback": "Seçili mikrofon kullanılamıyor. Sistem varsayılanı kullanılıyor.", "micDisconnected": "Mikrofon bağlantısı kesildi. Dikte durduruldu.", "cloudLimitReached": "Dikte, 10 dakikalık bulut sınırında durduruldu.", - "stoppedAfterSilence": "Bir dakika sessizlikten sonra durduruldu" + "stoppedAfterSilence": "Bir dakika sessizlikten sonra durduruldu", + "retryUnmatched": "Yeniden deneme hangi kelimelerin zaten yazıldığını anlayamadı, bu yüzden hepsini ekledi." }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "Dikte eklenemedi, bu yüzden panoya kopyalandı.", @@ -16966,7 +16967,21 @@ "lost": "Dikte eklenemedi ve kopyalanamadı." }, "DictationIndicator": { - "4977162383": "Çok yüksek sesli" + "4977162383": "Çok yüksek sesli", + "finishing": "Tamamlanıyor…", + "listening": "Dinleniyor…", + "cancel": "İptal", + "finish": "Bitir", + "oneMinuteLeft": "Bir dakika kaldı.", + "sendsWhenLanded": "Metin gelince gönderilecek", + "entersWhenLanded": "Metin gelince Enter'a basılacak" + }, + "DictationPillFailure": { + "discard": "Kaydı sil", + "modelFailed": "Model yüklenemedi.", + "transcribeFailed": "Yazıya dökülemedi. Kayıt saklandı.", + "openSettings": "Ayarlar", + "retry": "Yeniden dene" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/zh-Hant.json b/src/renderer/src/i18n/locales/zh-Hant.json index 0d6da58cb87..abaa5ff49a0 100644 --- a/src/renderer/src/i18n/locales/zh-Hant.json +++ b/src/renderer/src/i18n/locales/zh-Hant.json @@ -16747,7 +16747,8 @@ "micFallback": "所選麥克風不可用。使用系統預設值。", "micDisconnected": "麥克風已中斷連線。聽寫已停止。", "cloudLimitReached": "已達 10 分鐘雲端上限。聽寫已停止。", - "stoppedAfterSilence": "靜音一分鐘後已停止" + "stoppedAfterSilence": "靜音一分鐘後已停止", + "retryUnmatched": "重試時無法判斷哪些字詞已輸入,因此已全部插入。" }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "無法插入聽寫內容,已複製到剪貼簿。", @@ -16755,7 +16756,21 @@ "lost": "無法插入或複製聽寫內容。" }, "DictationIndicator": { - "4977162383": "聲音太大" + "4977162383": "聲音太大", + "finishing": "正在完成…", + "listening": "正在聆聽…", + "cancel": "取消", + "finish": "完成", + "oneMinuteLeft": "剩下 1 分鐘。", + "sendsWhenLanded": "文字送達後自動傳送", + "entersWhenLanded": "文字送達後自動按 Enter" + }, + "DictationPillFailure": { + "discard": "捨棄錄音", + "modelFailed": "無法載入語音模型。", + "transcribeFailed": "無法轉錄。已保留錄音。", + "openSettings": "開啟設定", + "retry": "重試" } }, "dashboard": { diff --git a/src/renderer/src/i18n/locales/zh.json b/src/renderer/src/i18n/locales/zh.json index 602f52d1124..4f7595734eb 100644 --- a/src/renderer/src/i18n/locales/zh.json +++ b/src/renderer/src/i18n/locales/zh.json @@ -16298,7 +16298,8 @@ "micFallback": "所选麦克风不可用。使用系统默认值。", "micDisconnected": "麦克风已断开。听写停止了。", "cloudLimitReached": "已达 10 分钟云端上限。听写已停止。", - "stoppedAfterSilence": "静音一分钟后已停止" + "stoppedAfterSilence": "静音一分钟后已停止", + "retryUnmatched": "重试时无法判断哪些字词已输入,因此已全部插入。" }, "dictation-transcript-delivery": { "copiedAfterFailedInsert": "无法插入听写内容,已复制到剪贴板。", @@ -16306,7 +16307,21 @@ "lost": "无法插入或复制听写内容。" }, "DictationIndicator": { - "4977162383": "音量过大" + "4977162383": "音量过大", + "finishing": "正在完成…", + "listening": "正在聆听…", + "cancel": "取消", + "finish": "完成", + "oneMinuteLeft": "还剩 1 分钟。", + "sendsWhenLanded": "文字送达后自动发送", + "entersWhenLanded": "文字送达后自动按 Enter" + }, + "DictationPillFailure": { + "discard": "舍弃录音", + "modelFailed": "无法加载语音模型。", + "transcribeFailed": "无法转录。已保留录音。", + "openSettings": "打开设置", + "retry": "重试" } }, "dashboard": {