From 10c3d10145c55418fd99fa109c9bc4b9a464c593 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 1 Apr 2025 14:34:12 +0800 Subject: [PATCH] :art: Improve petal loading https://github.com/siyuan-note/bazaar/pull/1546 --- kernel/model/plugin.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/kernel/model/plugin.go b/kernel/model/plugin.go index 8f2806c04..2af31d7bd 100644 --- a/kernel/model/plugin.go +++ b/kernel/model/plugin.go @@ -134,7 +134,7 @@ func loadCode(petal *Petal) { langJSONs, readErr := os.ReadDir(i18nDir) if nil != readErr { logging.LogErrorf("read plugin [%s] i18n failed: %s", petal.Name, readErr) - } else { + } else if 0 < len(langJSONs) { preferredLang := Conf.Lang + ".json" foundPreferredLang := false foundEnUS := false @@ -166,13 +166,15 @@ func loadCode(petal *Petal) { } } - data, err = filelock.ReadFile(filepath.Join(i18nDir, preferredLang)) - if err != nil { - logging.LogErrorf("read plugin [%s] i18n failed: %s", petal.Name, err) - } else { - petal.I18n = map[string]interface{}{} - if err = gulu.JSON.UnmarshalJSON(data, &petal.I18n); err != nil { - logging.LogErrorf("unmarshal plugin [%s] i18n failed: %s", petal.Name, err) + if langFilePath := filepath.Join(i18nDir, preferredLang); gulu.File.IsExist(langFilePath) { + data, err = filelock.ReadFile(langFilePath) + if err != nil { + logging.LogErrorf("read plugin [%s] i18n failed: %s", petal.Name, err) + } else { + petal.I18n = map[string]interface{}{} + if err = gulu.JSON.UnmarshalJSON(data, &petal.I18n); err != nil { + logging.LogErrorf("unmarshal plugin [%s] i18n failed: %s", petal.Name, err) + } } } }