journey-ad/sd-webui-bilingual-localization

发现一个可能是bug的问题

NeonXi opened this issue · 9 comments

NeonXi commented

7ce335825b302842dc84ccc47fd30e57_720
17ef27d5a86101cad73d6567b29677fb_720
我在用户界面里直接选择本地化文件,然后我在json文件里,加入新的词条,重载后成功显示了翻译
但是我启动双语对照,用户界面里选了none,在双语插件的设置里选择了本地化文件,却不能显示新加的翻译字段
image
image

image
我用的是journey-ad的那个翻译文件
文件放在了根目录下localization里 和双语插件目录下Localization里 都试过了

试试ctrl+f5强刷页面,可能是有缓存

NeonXi commented

强制刷新并不好使,我也想到缓存的问题。而且有很多看起来很奇怪的现象,比如我将一个本来双语对照插件能正常显示的翻译文件,稍加修改,另存为了另一个文件,然后在设置中选这个新的文件,他就完全不显示对照了,只显示英文原文

NeonXi commented

已经有两次了,在我昨晚改完文件,然后第二天白天再开启webui他就刷新了文件内容(对照插件)。
直接在用户界面选本地化文件,看起来就是非常单纯的每次重新加载了文件内容,那么对照插件的工作方式是什么样的,缓存文件我能否手动删除呢

NeonXi commented

我现在总结了一个最大的问题,我只能在选择了这个插件提供的json文件时,才能正确的显示对照翻译(但同时存在无法重启刷新新加词条的问题)。他这个文件,我任何时候,从任何设置换到他,我删除插件再重装,他随时都直接好使,但我自己弄下面的操作就不好使,就非常奇怪,我头要裂开了。
image

用我自己写的.json文件,用您的I18N_sd-webui-zh_CN.json,或者用上面提到的那个插件的文件我换个地方改了个名,这三种情况都不能显示对照翻译,只会显示英文原文。
我不知道是哪里有问题。
我现在想做的是,把没有人做翻译的插件,我自己去翻译,添加字段在json文件里,并且能重启UI就可以刷新看到新加的字段。大佬可以教教吗,可能是我走了弯路或者我哪里没注意到。
大佬救救我

NeonXi commented

刚才突然,我在上一条提到的插件提供的json文件内做的修改,可以重载马上刷新出来了,但是用其他文件仍然不显示对照,我实在是懵了

f12打开控制台看下操作正常(开启双语插件,选择翻译文件,且关闭webUI自带本地化功能)却只显示英文原文时有无报错信息

NeonXi commented

抱歉最近一段时间去忙别的事没有搞这些
关闭自带本地化选项
image
选择我自建的一个文件
image
文件内容
image
这个看起来是相关报错吗
image

CleanShot 2024-01-13 at 01 37 16@2x

遇到一樣問題
code 是這段有噴錯~
CleanShot 2024-01-13 at 01 37 38@2x

console.log 整個 config 去看 dir
CleanShot 2024-01-13 at 01 42 41@2x

可能是路徑 py -> js 的過程中,因為一些原因讀不到

# The localization files
I18N_DIRS = { k: str(Path(v).relative_to(ROOT_DIR).as_posix()) for k, v in localizations.items() }

在 py 那邊 print 都還是有值的 :(


提供 dev mode console

CleanShot 2024-01-13 at 01 54 23@2x


給遇到一樣問題的人

找到檔案
extensions/sd-webui-bilingual-localization/javascript/bilingual_localization.js

手動把 120行 readFile(dirs[file]) 改成 localizations 預期字典檔的 value 就可以了
readFile(dirs[file]) 改成
readFile( '/Users/xxxx/Documents/stable-diffusion-webui/extensions/stable-diffusion-webui-localization-XXXX/localizations/XXXX.json' )
CleanShot 2024-01-13 at 01 43 24@2x