journey-ad / sd-webui-bilingual-localization

Stable Diffusion web UI bilingual localization extensions. SD WebUI双语对照翻译插件
MIT License
853 stars 77 forks source link

设置双语时不起作用,已找到解决方法(只治标不治本) #51

Open sunhot223 opened 6 months ago

sunhot223 commented 6 months ago

在按照步骤,将User interface->Localization设置为None,Bilingual Localization->Localization file设置为zh_CN后,重启,双语设置依然无效。

在extensions/sd-webui-bilingual-localization/javascript/bilingual_localization.js文件中的112行(也就是if (!enabled || file === "None" || dirs === "None") return 该语句的下面一行)修改dirs如下:

dirs = '{"zh_CN": "extensions\\stable-diffusion-webui-localization-zh_CN\\localizations\\zh_CN.json"}'

其中”zh_CH“是下载的翻译的json字符串文件名,"extensions\\stable-diffusion-webui-localization-zh_CN\\localizations\\zh_CN.json"为该文件所在位置

由于我是直接在扩展中直接下载的,所以该json文件所在目录为extensions中,如果是在${根目录}/localizations,则修改为对应的目录即可(每尝试过)

修改完之后重启,双语有效了

sunhot223 commented 6 months ago

究其原因,是在加载js文件的时候,获取的dirs为undefined,没有获取到本来应该设置的opts["bilingual_localization_dirs"]字典值

whereishappiness commented 6 months ago

把config.json里的“bilingual_localization_dirs”项删掉,然后重启设置下就行

sunhot223 commented 6 months ago

把config.json里的“bilingual_localization_dirs”项删掉,然后重启设置下就行

尝试了 没成功,我上面写的dirs = '{"zh_CN": "extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"}'应该是dirs = '{"zh_CN": "extensions\\stable-diffusion-webui-localization-zh_CN\\localizations\\zh_CN.json"}',应该是四个斜杠,不知道复制上去为啥就变成两个了,修改后可以成功

whereishappiness commented 6 months ago

您好!    您的来信已收到,我会尽快给您回复!-------------------------------------------------------------以上是我设置的自动回复信息,表示您的邮件已投递成功。This is an automatic mail reply.Your message has been delivered successfully.

94kll commented 6 months ago

把config.json里的“bilingual_localization_dirs”项删掉,然后重启设置下就行

尝试了 没成功,我上面写的dirs = '{"zh_CN": "extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"}'应该是dirs = '{"zh_CN": "extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"}',应该是四个斜杠,不知道复制上去为啥就变成两个了,修改后可以成功

先点下双语旁边的刷新就可以了

hoyelo commented 5 months ago

dirs = {"zh_CN": "extensions/stable-diffusion-webui-localization-zh_CN/localizations/zh_CN.json"}

ieatchili2024 commented 5 months ago

在按照步骤,将User interface->Localization设置为None,Bilingual Localization->Localization file设置为zh_CN后,重启,双语设置依然无效。

在extensions/sd-webui-bilingual-localization/javascript/bilingual_localization.js文件中的112行(也就是if (!enabled || file === "None" || dirs === "None") return 该语句的下面一行)修改dirs如下:

dirs = '{"zh_CN": "extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"}'

其中”zh_CH“是下载的翻译的json字符串文件名,"extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"为该文件所在位置

由于我是直接在扩展中直接下载的,所以该json文件所在目录为extensions中,如果是在${根目录}/localizations,则修改为对应的目录即可(每尝试过)

修改完之后重启,双语有效了

试了很多遍结果都没有效果,然后看到楼下 @hoyelo 的格式,改成 / 斜杠才能用,我是 windows 11 系统

sunhot223 commented 5 months ago

在按照步骤,将User interface->Localization设置为None,Bilingual Localization->Localization file设置为zh_CN后,重启,双语设置依然无效。 在extensions/sd-webui-bilingual-localization/javascript/bilingual_localization.js文件中的112行(也就是if (!enabled || file === "None" || dirs === "None") return 该语句的下面一行)修改dirs如下: dirs = '{"zh_CN": "extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"}' 其中”zh_CH“是下载的翻译的json字符串文件名,"extensions\stable-diffusion-webui-localization-zh_CN\localizations\zh_CN.json"为该文件所在位置 由于我是直接在扩展中直接下载的,所以该json文件所在目录为extensions中,如果是在${根目录}/localizations,则修改为对应的目录即可(每尝试过) 修改完之后重启,双语有效了

试了很多遍结果都没有效果,然后看到楼下 @hoyelo 的格式,改成 / 斜杠才能用,我是 windows 11 系统

四个'\'才行,发到评论区后被吞了两个,我一开始没想到用'/',感谢@hoyelo的补充

piaodbg commented 5 months ago

我找到了治标的方法,并且已经提交修改 https://github.com/journey-ad/sd-webui-bilingual-localization/pull/53。 作者已经8个月没更新了,如果你不想自己改,可以下载我fork的分支:https://github.com/piaodbg/sd-webui-bilingual-localization_comfortable

whereishappiness commented 5 months ago

您好!    您的来信已收到,我会尽快给您回复!-------------------------------------------------------------以上是我设置的自动回复信息,表示您的邮件已投递成功。This is an automatic mail reply.Your message has been delivered successfully.

The-Administrator commented 3 months ago

批注 2024-05-16 152652 批注 2024-05-16 152838

注意到,一个是{251行对应localization,364行对应bilingual...},另一个是{41行对应bilingual...,257行对应localization}。 前面那个是我双语对照失败的config.json,后面是正常的。 我有个大胆的猜测,localization在前面为None就会导致bilingual接收不到汉化翻译,而bilingual在前面,localization在后面就可以接收到翻译,似乎是因为越往上优先级越高,所以为None的话就无法进行翻译了,而且设置成ZH也只会是中文不会是双语。 在设置中,一旦点击保存设置就会在webui下生成一个config.json,不点击它就不会先生成。 这个config.json是存在一定问题的,它并不会检测已经删除掉的插件所保留的key,正因为没有删除这个key:value,导致问题产生,无论怎么卸载重装插件都是没用的。它的key:value也不是完全按字母顺序排列的,即使按顺序排列,它的内部权重也是个问题。我在一开始先设置了快捷设置列表tab,然后点击了保存设置,或许就是这一步,它优先把localization的值设为了None,导致我后面设置双语对照的时候无法成功。 最快的解决办法就是删除掉config.json,然后它会还你一个干净的界面,然后你直接去设置双语对照为zh_CN。

whereishappiness commented 3 months ago

您好!    您的来信已收到,我会尽快给您回复!-------------------------------------------------------------以上是我设置的自动回复信息,表示您的邮件已投递成功。This is an automatic mail reply.Your message has been delivered successfully.