Gpt翻译完整版

上一篇文章收到了很多小伙伴的反馈,总结了一下主要以下几点:

1. 说不知道怎么调api

2. 目前只是把所有的中文变成了英文,如果想要做多语言还需要把这些关键字提炼出来成放到message_zh.properties和message_en.properties文件中,否则的话这样的翻译没有意义,后续如果要加俄语或阿拉伯语就没办法进行动态切换了

3. 日志中的中文不需要做多语言,只有返回前端的数据需要做多语言

所以针对上面三点,我又对代码做了些改动,来让整个国际化更加智能。

直接上代码,代码解决了第二个和第三个问题

import json
import os
import re
import tempfile
import shutil
import difflib

from pydantic import BaseModel

from OpenAIClient import client


# 判断文本中是否包含中文字符(这里只检测实际内容,不包括缩进)
def has_chinese(text: str) -> bool:
    return bool(re.search(r"[\u4e00-\u9fff]", text))


# 调用大语言模型进行翻译的函数
def translate_text(text: str) -> str:
    return get_completion(text)


class TransResult(BaseModel):
    result: str
    key: str
    value_zh: str
    value_en: str


# gpt-4o-mini
def get_completion_eng_word(code_segment, model="gpt-4o-mini"):
    # return 'return Result.error("FILE_UPLOAD_FAILED," + state.getState());'
    messages = [
        {
            "role": "system",
            "content": (
                "你是一个专业的代码国际化助手。请将代码中所有的中文提示信息翻译成英文。翻译后的英文应该简短、准确,并且遵循以下规则:"
                "1. 使用单个英文单词来表示中文内容,如果一个中文句子由多个词组成,请用下划线连接多个单词。"
                "2. 所有被翻译的英文单词应全部用小写。未翻译的单词保持原状"
                "3. 请确保替换后的翻译尽量简洁,避免过长的英文描述。"
                "4. 保持代码结构和格式不变,仅替换中文字符串内容。不改变代码的其它部分。"
                '5. 如果输入的代码中字符串中需要拼接变量的,类似 return Result.succeed("导入数据成功,一共【"+rowNum+"】行"); ,需要把变量提取出来,当成参数传入,输出应为:’'
                '{"result":"return Result.succeed("import_data_success_count", rowNum);", "key":"import_data_success_count", "value_zh":"导入数据成功,一共【"+rowNum+"】行", "value_en":"The data import is successful, and there are a total of ["+rowNum+"] rows"}'
             
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值