diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index 7fca87a12..1bbb7afdd 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -1642,6 +1642,7 @@ "262": "غدًا", "263": "التالي %d أيام", "264": "الحقل [%s] فارغ", - "265": "خارج النطاق" + "265": "خارج النطاق", + "266": "Tesseract OCR غير مثبت أو غير مهيأ، يرجى الرجوع إلى دليل المستخدم - قسم ملفات الموارد لإجراء الإعداد" } } diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index 3d3f03a9c..47f75f90f 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -1642,6 +1642,7 @@ "262": "Morgen", "263": "Nächste %d Tage", "264": "Das Feld [%s] ist leer", - "265": "Außerhalb des Bereichs" + "265": "Außerhalb des Bereichs", + "266": "Tesseract OCR ist nicht installiert oder konfiguriert, bitte lesen Sie das Benutzerhandbuch - Abschnitt Ressourcen-Dateien zur Konfiguration" } } diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index f0b540463..9e821ddd4 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1642,6 +1642,7 @@ "262": "Tomorrow", "263": "Next %d days", "264": "Field [%s] is empty", - "265": "Out of range" + "265": "Out of range", + "266": "Tesseract OCR is not installed or configured, please refer to the User Guide - Assets section for configuration" } } diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 0268c882c..383e9d0c8 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1642,6 +1642,7 @@ "262": "Mañana", "263": "Próximos %d días", "264": "El campo [%s] está vacío", - "265": "Fuera de rango" + "265": "Fuera de rango", + "266": "Tesseract OCR no está instalado o configurado, consulte la Guía del Usuario - Sección de archivos de recursos para la configuración" } } diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 134c2d530..982d32481 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1642,6 +1642,7 @@ "262": "Demain", "263": "Les %d prochains jours", "264": "Le champ [%s] est vide", - "265": "Hors de portée" + "265": "Hors de portée", + "266": "Tesseract OCR n'est pas installé ou configuré, veuillez consulter le Guide de l'utilisateur - Section des fichiers de ressources pour la configuration" } } diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index b69bb0489..5b7274fb1 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -1642,6 +1642,7 @@ "262": "מחר", "263": "ה-%d ימים הבאים", "264": "השדה [%s] ריק", - "265": "מחוץ לטווח" + "265": "מחוץ לטווח", + "266": "Tesseract OCR לא הותקן או הוגדר, אנא עיין במדריך למשתמש - פרק קבצי משאבים לצורך הגדרה" } } diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index fa3d8219f..d811d2bfe 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -1642,6 +1642,7 @@ "262": "Domani", "263": "Prossimi %d giorni", "264": "Il campo [%s] è vuoto", - "265": "Fuori intervallo" + "265": "Fuori intervallo", + "266": "Tesseract OCR non è installato o configurato, fare riferimento alla Guida utente - Sezione file di risorse per la configurazione" } } diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 99d26871e..830dd3edb 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1642,6 +1642,7 @@ "262": "明日", "263": "次の %d 日間", "264": "フィールド [%s] の値が空です", - "265": "範囲外" + "265": "範囲外", + "266": "Tesseract OCR がインストールされていないか、設定されていません。ユーザーガイド - リソースファイルセクションを参照して設定してください" } } diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index dc13d5dbd..092d8ff85 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -1642,6 +1642,7 @@ "262": "Jutro", "263": "Następne %d dni", "264": "Pole [%s] jest puste", - "265": "Poza zakresem" + "265": "Poza zakresem", + "266": "Tesseract OCR nie jest zainstalowany lub skonfigurowany, zapoznaj się z Podręcznikiem użytkownika - Sekcja plików zasobów, aby skonfigurować" } } diff --git a/app/appearance/langs/pt_BR.json b/app/appearance/langs/pt_BR.json index 562a94c4c..dceafde79 100644 --- a/app/appearance/langs/pt_BR.json +++ b/app/appearance/langs/pt_BR.json @@ -1642,6 +1642,7 @@ "262": "Amanhã", "263": "Próximos %d dias", "264": "O campo [%s] está vazio", - "265": "Fora do intervalo" + "265": "Fora do intervalo", + "266": "Tesseract OCR não está instalado ou configurado, consulte o Guia do Usuário - Seção de Arquivos de Recursos para configuração" } } diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index 4695eb594..674a42eab 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -1642,6 +1642,7 @@ "262": "Завтра", "263": "Следующие %d дней", "264": "Поле [%s] имеет пустое значение", - "265": "Вне диапазона" + "265": "Вне диапазона", + "266": "Tesseract OCR не установлен или не настроен, пожалуйста, обратитесь к Руководству пользователя - Раздел ресурсов для настройки" } } diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 31b1365e3..7329141da 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1642,6 +1642,7 @@ "262": "明天", "263": "未來 %d 天", "264": "字段 [%s] 值為空", - "265": "不在範圍內" + "265": "不在範圍內", + "266": "Tesseract OCR 未安裝或未配置,請參考 使用者指南-資料文件 章節進行配置" } } diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index d536d748c..310492d55 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1642,6 +1642,7 @@ "262": "明天", "263": "未来 %d 天", "264": "字段 [%s] 值为空", - "265": "不在范围内" + "265": "不在范围内", + "266": "Tesseract OCR 未安装或未配置,请参考 用户指南-资源文件 章节进行配置" } } diff --git a/kernel/api/asset.go b/kernel/api/asset.go index f67c7ad0a..446906560 100644 --- a/kernel/api/asset.go +++ b/kernel/api/asset.go @@ -153,7 +153,14 @@ func ocr(c *gin.Context) { path := arg["path"].(string) - ocrJSON := util.OcrAsset(path) + ocrJSON, err := util.OcrAsset(path) + if nil != err { + ret.Code = -1 + ret.Msg = err.Error() + ret.Data = map[string]interface{}{"closeTimeout": 7000} + return + } + ret.Data = map[string]interface{}{ "text": util.GetOcrJsonText(ocrJSON), "ocrJSON": ocrJSON, diff --git a/kernel/util/ocr.go b/kernel/util/ocr.go index 7aabfc7e5..6dd817fff 100644 --- a/kernel/util/ocr.go +++ b/kernel/util/ocr.go @@ -149,7 +149,12 @@ func ExistsAssetText(asset string) (ret bool) { return } -func OcrAsset(asset string) (ret []map[string]interface{}) { +func OcrAsset(asset string) (ret []map[string]interface{}, err error) { + if !TesseractEnabled { + err = fmt.Errorf(Langs[Lang][266]) + return + } + assetsPath := GetDataAssetsAbsPath() assetAbsPath := strings.TrimPrefix(asset, "assets") assetAbsPath = filepath.Join(assetsPath, assetAbsPath)