用python写一个机翻stable-diffusion-webui本地化文件(localizations.json)的小脚本

用python写一个机翻stable-diffusion-webui本地化文件(localizations.json)的小脚本

import requests
import json
import chardet

# 检测文件编码
def detect_encoding(file_path):
    with open(file_path, 'rb') as f:
        result = chardet.detect(f.read())
        return result['encoding']

# 翻译函数
def translate(text, from_lang, to_lang):
    params = {
        'q': text,
        'langpair': from_lang + '|' + to_lang
    }
    response = requests.get('https://api.mymemory.translated.net/get', params=params)
    result = json.loads(response.text)
    return result['responseData']['translatedText']

# 读取文件
file_path = 'lo.json'
encoding = detect_encoding(file_path)
with open(file_path, 'r', encoding=encoding) as f:
    data = json.load(f)

# 遍历翻译
translated_data = {}
count = 0
for key, value in data.items():
    count += 1
    print(f'正在翻译第{count}条:{value}')
    translated_data[key] = translate(value, 'en', 'zh-CN')

# 保存翻译结果
with open('translated_data.json', 'w', encoding='utf-8') as f:
    json.dump(translated_data, f, ensure_ascii=False)

临时翻译凑合用用,此脚本可以改进的地方有很多

  1. 可以使用其他翻译能力强大的api,比如百度腾讯阿里谷歌,甚至可以用CHATGPT
  2. 可以跳过符号的翻译
  3. 可以多线程来加速翻译
  4. 之后保存的translated_data.json需要格式化一下代码才看着才舒服,可以修改为每行一条内容。

等有时间再弄吧。

给TA打赏
共{{data.count}}人
人已打赏
站长笔记

Stable Diffusion web UI 部署教程

2023-1-27 19:20:00

站长笔记

最近迷上了AIGC和NLP

2023-1-28 3:23:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索