Skip to content

Rewrite I18n Scan#1294

Merged
RVC-Boss merged 4 commits into
RVC-Boss:mainfrom
SapphireLab:i18n_scan
Jul 12, 2024
Merged

Rewrite I18n Scan#1294
RVC-Boss merged 4 commits into
RVC-Boss:mainfrom
SapphireLab:i18n_scan

Conversation

@SapphireLab

@SapphireLab SapphireLab commented Jul 11, 2024

Copy link
Copy Markdown
Contributor

Note

合并并修改 i18n 的扫描和更新函数, 方便开发者及时更新相应文本.

原有文件存在一些读写问题, 且分为两个文件, 为了方便使用进行了修改.

具体细节:
先使用 scan_i18n_strings() 对整个项目扫描得到现有的 i18n 键 code_keys;
后遍历 i18n/locale 文件夹下的 json 文件使用 update_i18n_json() 进行更新:

  1. 补足缺少的键:若为默认的中文 zh_CN 则直接将键作为值;其他语言则添加 #! 开头以标识未被翻译;
  2. 删除多余的键;
  3. 显示未被翻译的键;

注1: 文件开头使用 SHOW_KEYS 用于控制是否在终端显示具体的键,默认为 False 不显示;
注2: 现有文件基本为原文件 133 + 缺失 138 - 多余 116 = 155 条 (KR 除外)

Warning

  • 将更新的 i18n 上传?
  • 存在非常长的句子,如 UVR5 的提示部分使用了 <br> 进行换行,应考虑拆分成多句?

在 PR 1344 中完成.

终端示例图片

image

image

@RVC-Boss

Copy link
Copy Markdown
Owner

话说之前locale_diff是干啥用的,没见有地方调用到,也是手工扫描吗?

@SapphireLab

SapphireLab commented Jul 12, 2024

Copy link
Copy Markdown
Contributor Author

话说之前locale_diff是干啥用的,没见有地方调用到,也是手工扫描吗?

原本需要先执行 scan_i18n.py 扫描项目然后结果更新到标准语言文件(在此项目为中文配置),
然后再手动执行 locale_diff.py 以标准语言文件为基础更新其他的语言文件的键。

就是需要按顺序手动执行这两个文件,所以干脆合并了,改成只需要手动执行一次。

@RVC-Boss RVC-Boss merged commit ea83174 into RVC-Boss:main Jul 12, 2024
@SapphireLab

SapphireLab commented Jul 12, 2024

Copy link
Copy Markdown
Contributor Author

@RVC-Boss 我才发现一个尴尬的事情,就是 GPT_SoVITS 文件夹外有一个 i18n/locale 文件夹,tools 文件夹下也有一个 i18n/locale。
我修改的是 tools 下的。

这个要怎么安排呢?


看了一下是 I18nAuto() 读取的时候就是直接读的 \i18n\locale 而不是 tools\i18n\locale 下。应当做一下迁移?

@SapphireLab SapphireLab deleted the i18n_scan branch July 13, 2024 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants