8000 support multiple language #1 · ag-python-qt/pyqt-openai@a00ca8a · GitHub
[go: up one dir, main page]

Skip to content

Commit a00ca8a

Browse files
committed
support multiple language yjg30737#1
1 parent dfb24aa commit a00ca8a

20 files changed

+587
-64
lines changed

pyqt_openai/aboutDialog.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from qtpy.QtGui import QPixmap, QDesktopServices
33
from qtpy.QtWidgets import QDialog, QPushButton, QHBoxLayout, QWidget, QVBoxLayout, QLabel
44

5+
from pyqt_openai.res.language_dict import LangClass
56
from pyqt_openai.svgLabel import SvgLabel
67

78

@@ -24,20 +25,20 @@ def __init__(self):
2425
self.__initUi()
2526

2627
def __initUi(self):
27-
self.setWindowTitle('About')
28+
self.setWindowTitle(LangClass.TRANSLATIONS['About'])
2829
self.setWindowFlags(Qt.Window | Qt.WindowCloseButtonHint)
2930

30-
self.__okBtn = QPushButton('OK')
31+
self.__okBtn = QPushButton(LangClass.TRANSLATIONS['OK'])
3132
self.__okBtn.clicked.connect(self.accept)
3233

3334
p = QPixmap('pyqtopenai.png')
3435
logoLbl = QLabel()
3536
logoLbl.setPixmap(p)
3637

3738
expWidget = QLabel()
38-
expWidget.setText('''
39+
expWidget.setText(f'''
3940
<h1>pyqt-openai</h1>
40-
<p>Powered by qtpy</p>
41+
<p>{LangClass.TRANSLATIONS['Powered by qtpy']}</p>
4142
''')
4243
expWidget.setAlignment(Qt.AlignTop)
4344

@@ -75,7 +76,7 @@ def __initUi(self):
7576
topWidget = QWidget()
7677
topWidget.setLayout(lay)
7778

78-
cancelBtn = QPushButton('Cancel')
79+
cancelBtn = QPushButton(LangClass.TRANSLATIONS['Cancel'])
7980
cancelBtn.clicked.connect(self.close)
8081

8182
lay = QHBoxLayout()

pyqt_openai/chat_widget/chatBrowser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from pyqt_openai.chat_widget.aiChatUnit import AIChatUnit
77
from pyqt_openai.chat_widget.userChatUnit import UserChatUnit
8+
from pyqt_openai.res.language_dict import LangClass
89

910

1011
class ChatBrowser(QScrollArea):
@@ -19,7 +20,7 @@ def __initVal(self):
1920
self.__cur_id = 0
2021

2122
def __initUi(self):
22-
self.__homeWidget = QLabel('Home')
23+
self.__homeWidget = QLabel(LangClass.TRANSLATIONS['Home'])
2324
self.__homeWidget.setAlignment(Qt.AlignCenter)
2425
self.__homeWidget.setFont(QFont('Arial', 32))
2526

pyqt_openai/chat_widget/prompt.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from pyqt_openai.chat_widget.textEditPropmtGroup import TextEditPropmtGroup
77
from pyqt_openai.propmt_command_completer.commandSuggestionWidget import CommandSuggestionWidget
8+
from pyqt_openai.res.language_dict import LangClass
89
from pyqt_openai.sqlite import SqliteDatabase
910
from pyqt_openai.svgToolButton import SvgToolButton
1011

@@ -49,28 +50,28 @@ def __initUi(self):
4950

5051
settingsBtn = SvgToolButton()
5152
settingsBtn.setIcon('ico/vertical_three_dots.svg')
52-
settingsBtn.setToolTip('Prompt Settings')
53+
settingsBtn.setToolTip(LangClass.TRANSLATIONS['Prompt Settings'])
5354

5455
# Create the menu
5556
menu = QMenu(self)
5657

5758
# Create the actions
58-
beginningAction = QAction("Show Beginning", self)
59+
beginningAction = QAction(LangClass.TRANSLATIONS['Show Beginning'], self)
5960
beginningAction.setShortcut('Ctrl+B')
6061
beginningAction.setCheckable(True)
6162
beginningAction.toggled.connect(self.__showBeginning)
6263

63-
endingAction = QAction("Show Ending", self)
64+
endingAction = QAction(LangClass.TRANSLATIONS['Show Ending'], self)
6465
endingAction.setShortcut('Ctrl+E')
6566
endingAction.setCheckable(True)
6667
endingAction.toggled.connect(self.__showEnding)
6768

68-
supportPromptCommandAction = QAction('Support Prompt Command', self)
69+
supportPromptCommandAction = QAction(LangClass.TRANSLATIONS['Support Prompt Command'], self)
6970
supportPromptCommandAction.setShortcut('Ctrl+Shift+P')
7071
supportPromptCommandAction.setCheckable(True)
7172
supportPromptCommandAction.toggled.connect(self.__supportPromptCommand)
7273

73-
readingFilesAction = QAction('Upload Files...', self)
74+
readingFilesAction = QAction(LangClass.TRANSLATIONS['Upload Files...'], self)
7475
readingFilesAction.triggered.connect(self.__readingFiles)
7576

7677
# Add the actions to the menu

pyqt_openai/chat_widget/textEditPropmtGroup.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from qtpy.QtWidgets import QVBoxLayout, QWidget
44

55
from pyqt_openai.chat_widget.textEditPrompt import TextEditPrompt
6+
from pyqt_openai.res.language_dict import LangClass
67
from pyqt_openai.sqlite import SqliteDatabase
78

89

@@ -21,18 +22,18 @@ def __initVal(self, db):
2122

2223
def __initUi(self):
2324
self.__beginningTextEdit = TextEditPrompt()
24-
self.__beginningTextEdit.setPlaceholderText('Beginning')
25+
self.__beginningTextEdit.setPlaceholderText(LangClass.TRANSLATIONS['Beginning'])
2526

2627
self.__textEdit = TextEditPrompt()
27-
self.__textEdit.setPlaceholderText('Write some text...')
28+
self.__textEdit.setPlaceholderText(LangClass.TRANSLATIONS['Write some text...'])
2829

2930
# old code
3031
# self.__textEdit.textChanged.connect(self.textChanged)
3132
# self.__textEdit.sendSuggestionWidget.connect(self.__initPromptCommandAutocomplete)
32-
# self.__textEdit.setPlaceholderText('Write some text...')
33+
# self.__textEdit.setPlaceholderText(LangClass.TRANSLATIONS['Write some text...'])
3334

3435
self.__endingTextEdit = TextEditPrompt()
35-
self.__endingTextEdit.setPlaceholderText('Ending')
36+
self.__endingTextEdit.setPlaceholderText(LangClass.TRANSLATIONS['Ending'])
3637

3738
# all false by default
3839
self.__beginningTextEdit.setVisible(False)

pyqt_openai/customizeDialog.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from qtpy.QtWidgets import QGraphicsScene, QGraphicsView
1111

1212
from pyqt_openai.circleProfileImage import RoundedImage
13+
from pyqt_openai.res.language_dict import LangClass
1314

1415

1516
class SingleImageGraphicsView(QGraphicsView):
@@ -72,7 +73,7 @@ def __showToolTip(self):
7273

7374
def __prepareMenu(self, pos):
7475
menu = QMenu(self< 10000 /span>)
75-
openDirAction = QAction('Open Path')
76+
openDirAction = QAction(LangClass.TRANSLATIONS['Open Path'])
7677
openDirAction.setEnabled(self.text().strip() != '')
7778
openDirAction.triggered.connect(self.__openPath)
7879
menu.addAction(openDirAction)
@@ -102,7 +103,7 @@ def __initUi(self, default_filename: str = ''):
102103
if default_filename:
103104
self.__pathLineEdit.setText(default_filename)
104105

105-
self.__pathFindBtn = QPushButton('Find...')
106+
self.__pathFindBtn = QPushButton(LangClass.TRANSLATIONS['Find...'])
106107

107108
self.__pathFindBtn.clicked.connect(self.__find)
108109

@@ -172,7 +173,7 @@ def __initVal(self):
172173
pass
173174

174175
def __initUi(self):
175-
self.setWindowTitle('Customize (working)')
176+
self.setWindowTitle(LangClass.TRANSLATIONS['Customize (working)'])
176177
self.setWindowFlags(Qt.Window | Qt.WindowCloseButtonHint)
177178

178179
homePageGraphicsView = SingleImageGraphicsView()
@@ -213,9 +214,9 @@ def __initUi(self):
213214
aiWidget.setLayout(lay3)
214215

215216
lay = QFormLayout()
216-
lay.addRow('Home Image', homePageWidget)
217-
lay.addRow('User Image', userWidget)
218-
lay.addRow('AI Image', aiWidget)
217+
lay.addRow(LangClass.TRANSLATIONS['Home Image'], homePageWidget)
218+
lay.addRow(LangClass.TRANSLATIONS['User Image'], userWidget)
219+
lay.addRow(LangClass.TRANSLATIONS['AI Image'], aiWidget)
219220

220221
self.__topWidget = QWidget()
221222
self.__topWidget.setLayout(lay)
@@ -224,10 +225,10 @@ def __initUi(self):
224225
sep.setFrameShape(QFrame.HLine)
225226
sep.setFrameShadow(QFrame.Sunken)
226227

227-
self.__okBtn = QPushButton('OK')
228+
self.__okBtn = QPushButton(LangClass.TRANSLATIONS['OK'])
228229
self.__okBtn.clicked.connect(self.accept)
229230

230-
cancelBtn = QPushButton('Cancel')
231+
cancelBtn = QPushButton(LangClass.TRANSLATIONS['Cancel'])
231232
cancelBtn.clicked.connect(self.close)
232233

233234
lay = QHBoxLayout()

pyqt_openai/image_gen_widget/imageDallEPage.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from qtpy.QtCore import Signal, QThread
55

66
from pyqt_openai.notifier import NotifierWidget
7+
from pyqt_openai.res.language_dict import LangClass
78
from pyqt_openai.toast import Toast
89

910

@@ -96,7 +97,7 @@ def __failToGenerate(self, e):
9697
def __afterGenerated(self, image_url):
9798
self.submitDallE.emit(image_url)
9899
if not self.isVisible():
99-
self.__notifierWidget = NotifierWidget(informative_text='Response 👌', detailed_text='Click this!')
100+
self.__notifierWidget = NotifierWidget(informative_text=LangClass.TRANSLATIONS['Response 👌'], detailed_text=LangClass.TRANSLATIONS['Click this!'])
100101
self.__notifierWidget.show()
101102
self.__notifierWidget.doubleClicked.connect(self.notifierWidgetActivated)
102103
self.__submitBtn.setEnabled(True)

pyqt_openai/image_gen_widget/imageGeneratingToolWidget.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from pyqt_openai.image_gen_widget.imageDallEPage import ImageDallEPage
66
from pyqt_openai.image_gen_widget.leftSideBar import LeftSideBar
77
from pyqt_openai.image_gen_widget.viewWidget import ViewWidget
8+
from pyqt_openai.res.language_dict import LangClass
89
from pyqt_openai.svgButton import SvgButton
910

1011

@@ -97,7 +98,7 @@ def setAIEnabled(self, f):
9798
self.__rightSideBarWidget.setEnabled(f)
9899

99100
def __addImageGroup(self):
100-
cur_id = self.__db.insertConv('New Chat')
101+
cur_id = self.__db.insertConv(LangClass.TRANSLATIONS['New Chat'])
101102
self.__browser.resetChatWidget(cur_id)
102103
self.__leftSideBarWidget.addImageGroup(cur_id)
103104
self.__lineEdit.setFocus()

pyqt_openai/image_gen_widget/leftSideBar.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from qtpy.QtWidgets import QWidget, QCheckBox, QVBoxLayout, QHBoxLayout, QSpacerItem, QSizePolicy, QListWidgetItem
33

44
from pyqt_openai.image_gen_widget.imageListWidget import ImageListWidget
5+
from pyqt_openai.res.language_dict import LangClass
56
from pyqt_openai.searchBar import SearchBar
67
from pyqt_openai.svgButton import SvgButton
78

@@ -30,15 +31,15 @@ def __initUi(self):
3031
self.__delBtn.setIcon('ico/delete.svg')
3132
self.__saveBtn.setIcon('ico/save.svg')
3233

33-
self.__addBtn.setToolTip('Add')
34-
self.__delBtn.setToolTip('Delete')
35-
self.__saveBtn.setToolTip('Save')
34+
self.__addBtn.setToolTip(LangClass.TRANSLATIONS['Add'])
35+
self.__delBtn.setToolTip(LangClass.TRANSLATIONS['Delete'])
36+
self.__saveBtn.setToolTip(LangClass.TRANSLATIONS['Save'])
3637

3738
self.__addBtn.clicked.connect(self.__addClicked)
3839
self.__delBtn.clicked.connect(self.__deleteClicked)
3940
self.__saveBtn.clicked.connect(self.__saveClicked)
4041

41-
self.__allCheckBox = QCheckBox('Check All')
42+
self.__allCheckBox = QCheckBox(LangClass.TRANSLATIONS['Check All'])
4243
self.__allCheckBox.stateChanged.connect(self.__stateChanged)
4344

4445
lay = QHBoxLayout()
@@ -74,7 +75,7 @@ def __addClicked(self):
7475
self.added.emit()
7576

7677
def addImageGroup(self, id):
77-
self.__imageListWidget.addImage('New Chat', id)
78+
self.__imageListWidget.addImage(LangClass.TRANSLATIONS['New Chat'], id)
7879
self.__imageListWidget.setCurrentRow(0)
7980
#
8081
# def isCurrentImageExists(self):

pyqt_openai/image_gen_widget/thumbnailView.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from qtpy.QtWidgets import QGraphicsScene, QGraphicsPixmapItem, QGraphicsView, QApplication, QWidget, QHBoxLayout, QFileDialog, QCheckBox, \
77
QGraphicsProxyWidget
88

9+
from pyqt_openai.res.language_dict import LangClass
910
from pyqt_openai.svgButton import SvgButton
1011

1112

@@ -92,7 +93,7 @@ def __copy(self):
9293
QApplication.clipboard().setPixmap(self._p)
9394

9495
def __save(self):
95-
filename = QFileDialog.getSaveFileName(self, 'Save', os.path.expanduser('~'), 'Image file (*.png)')
96+
filename = QFileDialog.getSaveFileName(self, LangClass.TRANSLATIONS['Save'], os.path.expanduser('~'), 'Image file (*.png)')
9697
if filename[0]:
9798
filename = filename[0]
9899
self._p.save(filename)

pyqt_openai/image_gen_widget/viewWidget.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from pyqt_openai.image_gen_widget.explorerWidget import ExplorerWidget
88
from pyqt_openai.image_gen_widget.thumbnailView import ThumbnailView
9+
from pyqt_openai.res.language_dict import LangClass
910

1011

1112
class ViewWidget(QWidget):
@@ -34,7 +35,7 @@ def __initUi(self):
3435
}
3536
''')
3637

37-
homeWidget = QLabel('Home')
38+
homeWidget = QLabel(LangClass.TRANSLATIONS['Home'])
3839
homeWidget.setAlignment(Qt.AlignCenter)
3940
homeWidget.setFont(QFont('Arial', 32))
4041

pyqt_openai/inputDialog.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from qtpy.QtCore import Qt
33
from qtpy.QtGui import QIcon
44

5+
from pyqt_openai.res.language_dict import LangClass
6+
57

68
class InputDialog(QDialog):
79
def __init__(self, title, text, parent=None):
@@ -19,10 +21,10 @@ def __initUi(self, title, text):
1921
sep.setFrameShape(QFrame.HLine)
2022
sep.setFrameShadow(QFrame.Sunken)
2123

22-
self.__okBtn = QPushButton('OK')
24+
self.__okBtn = QPushButton(LangClass.TRANSLATIONS['OK'])
2325
self.__okBtn.clicked.connect(self.accept)
2426

25-
cancelBtn = QPushButton('Cancel')
27+
cancelBtn = QPushButton(LangClass.TRANSLATIONS['Cancel'])
2628
cancelBtn.clicked.connect(self.close)
2729

2830
lay = QHBoxLayout()

pyqt_openai/leftSideBar.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
QLabel
66

77
from pyqt_openai.convListWidget import ConvListWidget
8+
from pyqt_openai.res.language_dict import LangClass
89
from pyqt_openai.searchBar import SearchBar
910
from pyqt_openai.svgButton import SvgButton
1011

@@ -33,15 +34,15 @@ def __initUi(self):
3334
self.__delBtn.setIcon('ico/delete.svg')
3435
self.__saveBtn.setIcon('ico/save.svg')
3536

36-
self.__addBtn.setToolTip('Add')
37-
self.__delBtn.setToolTip('Delete')
38-
self.__saveBtn.setToolTip('Save')
37+
self.__addBtn.setToolTip(LangClass.TRANSLATIONS['Add'])
38+
self.__delBtn.setToolTip(LangClass.TRANSLATIONS['Delete'])
39+
self.__saveBtn.setToolTip(LangClass.TRANSLATIONS['Save'])
3940

4041
self.__addBtn.clicked.connect(self.__addClicked)
4142
self.__delBtn.clicked.connect(self.__deleteClicked)
4243
self.__saveBtn.clicked.connect(self.__saveClicked)
4344

44-
self.__allCheckBox = QCheckBox('Check All')
45+
self.__allCheckBox = QCheckBox(LangClass.TRANSLATIONS['Check All'])
4546
self.__allCheckBox.stateChanged.connect(self.__stateChanged)
4647

4748
lay = QHBoxLayout()
@@ -77,7 +78,7 @@ def __addClicked(self):
7778
self.added.emit()
7879

7980
def addToList(self, id):
80-
self.__convListWidget.addConv('New Chat', id)
81+
self.__convListWidget.addConv(LangClass.TRANSLATIONS['New Chat'], id)
8182
self.__convListWidget.setCurrentRow(0)
8283

8384
def isCurrentConvExists(self):

0 commit comments

Comments
 (0)
0