因为我英文不好,对接口、函数、结构体起名字的时候特别为难,因此我使用Python写了一个工具
在输入框输入中文,就可以生成Golang语言对应的接口、函数或接口体的写法;也可以切换到英文翻译。如下演示:

python中英文翻译代码 python英文界面翻译_python中英文翻译代码

看懂代码之后,就可以修改为其它语言对应的写法。这里使用到百度的翻译API,因此自己要替换掉下面的两个key值就直接可以用了。
Baidufanyi类用于中英文翻译;
Initface类用于创建窗口,之后调用第一个Frame,这里为了能切换不同页面,使用两个Frame作为两个页面
OneFace类是第一个页面,init函数用于初始化页面,faceUI方法用于显示控件和逻辑控制,并使用了grid布局,oneBack方法用于销毁本页面并切换到另一个页面
TwoFace类和第一个页面用法一致,页面使用了pack布局

# 翻译.py
import tkinter
import requests
import hashlib
import pyperclip
import time


class Baidufanyi:
    def __init__(self, appid="百度API的应用ID", key="百度API的key"):
        self.appid = appid
        self.key = key
        self.salt = "1435660288"

    def getEnglish(self, srcdata):
        q = srcdata
        froms = "&from=zh"
        tos = "&to=en"
        sign = self.appid+q+self.salt+self.key
        sign = "&sign="+hashlib.md5(sign.encode(encoding='utf-8')).hexdigest()
        url = "http://api.fanyi.baidu.com/api/trans/vip/translate?"+"q="+q + \
            froms+tos+"&appid="+self.appid+"&salt="+self.salt+sign
        result = requests.get(url)
        en_resu = eval(result.text)
        return en_resu["trans_result"][0]["dst"]

    def getChina(self, srcdata):
        q = srcdata
        froms = "&from=en"
        tos = "&to=zh"
        sign = self.appid+q+self.salt+self.key
        sign = "&sign="+hashlib.md5(sign.encode(encoding='utf-8')).hexdigest()
        url = "http://api.fanyi.baidu.com/api/trans/vip/translate?"+"q="+q + \
            froms+tos+"&appid="+self.appid+"&salt="+self.salt+sign
        result = requests.get(url)
        en_resu = eval(result.text)
        return en_resu["trans_result"][0]["dst"]


fanyi = Baidufanyi()


class Initface:
    def __init__(self, windows):
        self.windows = windows
        self.windows.title("Golang翻译")
        self.windows.iconbitmap('D:/Python代码/Python的py转exe/mingyu.ico')
        self.windows.geometry('610x300')  # 设置窗口大小
        self.windows.configure(background='#87CEFF')
        OneFace(self.windows)  # 默认打开第一个页面


# 第一个页面
class OneFace:
    def __init__(self, oneWindows):
        self.oneWindows = oneWindows
        self.oneface = tkinter.Frame(self.oneWindows)
        self.oneface.configure(background='#87CEFF')
        self.oneface.grid()
        self.faceUI()

	# 使用了grid布局,显示控件,里面的函数用于逻辑处理
    def faceUI(self):
        # 获取翻译结果并写入到大文本框
        def getEn():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_0).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata)
            text.insert("0.0", data)

        # 获取翻译结果并写入到大文本框
        def getInterface():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_1).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('?', '').replace('\'', '')
            data = "// " + srcdata + "接口\ntype " + \
                data + "er" + " interface{\n\t\n}"
            text.insert("0.0", data)

        # 获取翻译结果并写入到大文本框

        def getStruct():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_2).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('\'', '').replace('?', '')
            data = "// " + srcdata + "结构体\ntype " + \
                data.capitalize() + " struct{\n\t\n}"
            text.insert("0.0", data)

        # 获取翻译结果并写入到大文本框

        def getFunc():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_3).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('?', '').replace('\'', '')
            data = "// " + srcdata + "函数\nfunc " + \
                data.capitalize() + "(  ) (err error) " + "{\n\t\n}"
            text.insert("0.0", data)

        def CopyData():
            pyperclip.copy(text.get("0.0", "end"))
            nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            tishistr.set('已复制\n' + nowtime)

        # 根据多行文本的变量名获取里面的值,textname:多行文本的变量名
        def getTextInput(textname):
            return textname.get("1.0", "end")

        oneBtn_1 = tkinter.Button(
            self.oneface, text="切换到中文翻译", bg="#32CD32", command=self.oneBack)
        oneBtn_1.grid(row="0", column="2")

        china0 = tkinter.Label(
            self.oneface, text="输入中文普通翻译:", bg='#87CEFF', font=("微软雅黑", 13))
        china0.grid(row="1", column="1")
        text_0 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_0.grid(row="1", column="2")
        btn_0 = tkinter.Button(
            self.oneface, text="点击翻译", command=getEn, bg="#696969")
        btn_0.grid(row="1", column="3")

        china1 = tkinter.Label(
            self.oneface, text="输入中文获取接口:", bg='#87CEFF', font=("微软雅黑", 13))
        china1.grid(row="2", column="1")
        text_1 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_1.grid(row="2", column="2")
        btn_1 = tkinter.Button(
            self.oneface, text="点击翻译", command=getInterface, bg="#696969")
        btn_1.grid(row="2", column="3")

        china2 = tkinter.Label(
            self.oneface, text="输入中文获取结构体:", bg='#87CEFF', font=("微软雅黑", 13))
        china2.grid(row="3", column="1")
        text_2 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_2.grid(row="3", column="2")
        btn_2 = tkinter.Button(
            self.oneface, text="点击翻译", command=getStruct, bg="#B4EEB4")
        btn_2.grid(row="3", column="3")

        china3 = tkinter.Label(
            self.oneface, text="输入中文获取函数:", bg='#87CEFF', font=("微软雅黑", 13))
        china3.grid(row="4", column="1")
        text_3 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_3.grid(row="4", column="2")
        btn_3 = tkinter.Button(
            self.oneface, text="点击翻译", command=getFunc, bg="#AB82FF")
        btn_3.grid(row="4", column="3")

        # 多行文本输入框
        tishistr = tkinter.StringVar()
        tishi = tkinter.Label(
            self.oneface, textvariable=tishistr, bg='#87CEFF', font=("微软雅黑", 10))
        tishi.grid(row="5", column="1")
        text = tkinter.Text(self.oneface, width="40",
                            height=8, bg='#FF83FA')
        text.grid(row="5", column="2")
        btn_4 = tkinter.Button(
            self.oneface, text="复制译文", command=CopyData, bg="#FF6A6A")
        btn_4.grid(row="5", column="3")

    def oneBack(self):
        self.oneface.destroy()
        TwoFace(self.oneWindows)


# 第二个页面
class TwoFace():
    def __init__(self, twoWindows):
        self.twoWindows = twoWindows
        self.twoface = tkinter.Frame(self.twoWindows)
        self.twoface.config(bg='#87CEFF')
        self.twoface.pack()
        self.faceUI()

	# 使用了pack布局,显示控件
    def faceUI(self):
        # 根据多行文本的变量名获取里面的值,textname:多行文本的变量名
        def getTextInput(textname):
            return textname.get("1.0", "end")

        def getCh():
            twoText_2.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(twoText_0).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getChina(srcdata)
            twoText_2.insert("0.0", data)

        twoBtn_1 = tkinter.Button(
            self.twoface, text="切换到英文翻译", bg="#32CD32", command=self.twoBack)
        twoBtn_1.pack()
        twoText_0 = tkinter.Text(
            self.twoface, width="50", height="8", bg='#FF83FA')
        twoText_0.pack()
        twoBtn_0 = tkinter.Button(
            self.twoface, text="点击翻译", bg="#7B68EE", command=getCh)
        twoBtn_0.pack()
        twoText_2 = tkinter.Text(
            self.twoface, width="70", height="8", bg='#FF83FA')
        twoText_2.pack()

	# 切换到其他页面
    def twoBack(self):
        self.twoface.destroy()  # 销毁页面
        OneFace(self.twoWindows)  # 切换到另一个页面


if __name__ == '__main__':
    windows = tkinter.Tk()
    Initface(windows)
    windows.mainloop()

然后使用命令打包

pyinstaller -F -w -i D:\Python代码\Python的py转exe\mingyu.ico D:\Python代码\Python的py转exe\翻译.py

得到一个exe的文件

python中英文翻译代码 python英文界面翻译_python中英文翻译代码_02