使用pyqt6+ google三方库实现
界面如下图,包含输入和输出窗口,支持中译英,英译中

界面比较粗糙
主要包含窗口UI的绘制, 翻译逻辑,可以自动识别输入的文本语言,目前只支持中文和英文,其他语言暂不支持
核心逻辑
- 界面布局设计
python
def initUI(self):
self.setWindowTitle('翻译')
self.setGeometry(400, 400, 400, 450)
m_layout = QVBoxLayout()
i_layout = QHBoxLayout()
self.input_label = QLabel("输入")
i_layout.addWidget(self.input_label)
self.input_text = QTextEdit(self)
i_layout.addWidget(self.input_text)
self.output_label = QLabel("翻译结果")
i_layout.addWidget(self.output_label)
self.output_text = QTextEdit(self)
i_layout.addWidget(self.output_text)
self.output_text.setReadOnly(True)
self.btn = QPushButton('翻译', self)
self.btn.clicked.connect(self.submit_translation)
m_layout.addLayout(i_layout)
m_layout.addWidget(self.btn)
self.setLayout(m_layout)
self.show()
- 翻译
使用googletrans三方库
首先:pip install googletrans
安装完之后使用Translator方法
python
# 检测输入的语言
src_lang = self.translator.detect(text).lang
# 执行翻译
result = self.translator.translate(text, dest=dest_lang)
- 执行
python
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = fanyi()
sys.exit(app.exec())
最终实现效果
