diff --git a/i18n/snowflaQe.pro b/i18n/snowflaQe.pro new file mode 100644 index 0000000..381b78c --- /dev/null +++ b/i18n/snowflaQe.pro @@ -0,0 +1,16 @@ +FORMS += ../src/ui/mainWindow.ui +FORMS += ../src/ui/sldImportance_ui.ui +FORMS += ../src/ui/editors/editorWidget_ui.ui + + +SOURCES += ../src/main.py +SOURCES += ../src/loadSave.py +SOURCES += ../src/mainWindow.py +SOURCES += ../src/ui/helpLabel.py +SOURCES += ../src/ui/sldImportance.py +SOURCES += ../src/ui/editors/customTextEdit.py +SOURCES += ../src/ui/editors/editorWidget.py + + +TRANSLATIONS += snowflaQe_fr.ts + diff --git a/i18n/snowflaQe_fr.qm b/i18n/snowflaQe_fr.qm new file mode 100644 index 0000000..db381f2 Binary files /dev/null and b/i18n/snowflaQe_fr.qm differ diff --git a/i18n/snowflaQe_fr.ts b/i18n/snowflaQe_fr.ts new file mode 100644 index 0000000..431f3d0 --- /dev/null +++ b/i18n/snowflaQe_fr.ts @@ -0,0 +1,657 @@ + + + + MainWindow + + + MainWindow + + + + + Overview + Aperçu + + + + Book infos + Informations sur le livre + + + + Title + Titre + + + + Subtitle + Sous-titre + + + + Serie + Série + + + + Volume + Volume + + + + Genre + Genre + + + + License + License + + + + Author + Informations sur l'auteur + + + + Name + Nom + + + + Email + Email + + + + Summary + Résumé + + + + One sentance + Une phrase + + + + One sentance summary + Résumé en une phrase + + + + Next + Suivant + + + + One paragraph + Un paragraphe + + + + One paragraph summary + Résumé en un paragraphe + + + + One page + Une page + + + + Expand each sentence of your one paragraph summary to a paragraph + Développez chaque phrase du paragraphe précédent en un paragraphe complet + + + + Full + Complet + + + + One page summary + Résumé en une page + + + + Full summary + Résumé complet + + + + Characters + Personnages + + + + Names + Noms + + + + Filter + Filtre + + + + Basic infos + Informations générales + + + + Importance + Importance + + + + Motivation + Motivation + + + + Goal + Goal + + + + Conflict + Conflit + + + + Epiphany + Épiphanie + + + + <html><head/><body><p align="right">One sentance<br/>summary</p></body></html> + <html><head/><body><p align="right">Résumé<br/>en une phrase</p></body></html> + + + + <html><head/><body><p align="right">One paragraph<br/>summary</p></body></html> + <html><head/><body><p align="right">Résumé<br/>en un paragraphe</p></body></html> + + + + Notes + Notes + + + + Detailed infos + Informations détaillées + + + + Plots + Intrigues + + + + Principale + + + + + Autre intrigue + + + + + Plot + Intrigue + + + + Character(s) + Personnage(s) + + + + Description + Description + + + + Result + Résultat + + + + Albert + + + + + Sylvestre + + + + + Gentiana + + + + + Resolution steps + Étapes de résolution + + + + Context + Contexte + + + + Outline + Plan + + + + Scenes list + Liste des scènes + + + + Intrigue secondaire + + + + + POV: + POV: + + + + Goal: + Goal: + + + + One line scene summary + Résumé en une ligne + + + + Few sentences summary: + Résumé en quelques phrases: + + + + Redaction + Rédaction + + + + F11 + + + + + Scene + Scène + + + + Properties + Propriétés + + + + POV + POV + + + + Status + + + + + Compile + Compile + + + + Scene summary + Résumé de la scène + + + + Tools + Outils + + + + Cheat sheet + Aide-mémoire + + + + Albert - perso + + + + + Jean - perso + + + + + Crapoquak - animal + + + + + La revenche du capitaine - intrigue + + + + + Debug + + + + + FlatData + + + + + Persos + + + + + Perso Infos + + + + + File + Fichier + + + + Help + Aide + + + + Open + Ouvrir + + + + Ctrl+O + + + + + Recents + Récents + + + + Ctrl+R + + + + + Save + Enregistrer + + + + Ctrl+S + + + + + Save as... + Enregistrer sous... + + + + Ctrl+Shift+S + + + + + Quit + Quitter + + + + Ctrl+Q + + + + + &Snowflake + + + + + New + Nouveau + + + + Ctrl+N + + + + + Show help texts + Montrer les bulles d'aides + + + + Ctrl+Shift+B + + + + + Spellcheck + Correcteur orthographique + + + + F8 + + + + + Word count + Nombre de mots + + + + Mode + Mode + + + + New character + Nouveau perso + + + + (~{} pages) + (~{} pages) + + + + Enter infos about your book, and yourself. + Entrez toutes les informations relatives au livre, ainsi qu'à vous. + + + + Take time to think about a one sentance (~50 words) summary of your book. Then expand it to a paragraph, then to a page, then to a full summary. + Prenez le temps de réfléchir à un résumé de votre livre, en une phrase (~50 mots). Puis augmentez cette phrase en un paragraphe, puis en une page, puis en un résumé complet. + + + + Create your characters. + Créez ici vos personnage. + + + + Develop plots. + Développez vos intrigues. + + + + Create the outline of your masterpiece. + Créez le plan de votre chef-d'œuvre. + + + + Write. + Écrivez. + + + + Debug infos. Sometimes useful. + Des infos pour débugger des fois pendant qu'on code c'est utile. + + + + Dictionary + Dictionnaire + + + + Install PyEnchant to use spellcheck + Installez PyEnchant pour profiter du correcteur orthographique + + + + Words: {}{} + Mots: {}{} + + + + Un bâteau arrive au port et personne ne sait pourquoi + + + + + Le roi envoie des émissaires à bord. Ils ne reviennent jamais. + + + + + Le roi envoie son armée. + + + + + Intrigue général + + + + + Scène 1 + + + + + Scène 2 + + + + + SpellAction + + + Spelling Suggestions + Suggestions + + + + app + + + Loaded transation: {}. + Traduction chargée: {}. + + + + Failed to load translator for {}... + La traduction pour {} n'a pas pu être chargée... + + + + editorWidget + + + {} words / {} + {} mots / {} + + + + {} words + {} mots + + + + editorWidget_ui + + + Form + + + + + helpLabel + + + If you don't wanna see me, you can hide me in Help menu. + Infobulle: Si tu me trouve dérengant, tu peux me cacher via le menu Aide. + + + + qApp + + + Saving to {}. + Enregistrement de {}. + + + + Loading {}... + Chargement de {}... + + + + sldImportance + + + Form + + + + + TextLabel + + + + + Minor + Mineur + + + + Secondary + Secondaire + + + + Main + Principal + + + diff --git a/languages/snowflaQe.pro b/languages/snowflaQe.pro deleted file mode 100644 index 12d60c3..0000000 --- a/languages/snowflaQe.pro +++ /dev/null @@ -1,3 +0,0 @@ -FORMS += ../src/ui/mainWindow.ui -SOURCES += ../src/main.py -TRANSLATIONS += snowflaQe_fr.ts diff --git a/languages/snowflaQe_fr.qm b/languages/snowflaQe_fr.qm deleted file mode 100644 index 10b544f..0000000 Binary files a/languages/snowflaQe_fr.qm and /dev/null differ diff --git a/languages/snowflaQe_fr.ts b/languages/snowflaQe_fr.ts deleted file mode 100644 index 098d482..0000000 --- a/languages/snowflaQe_fr.ts +++ /dev/null @@ -1,536 +0,0 @@ - - - - MainWindow - - - MainWindow - - - - - Aperçu - Test - - - - Information sur le livre - - - - - Titre - - - - - Sous titre - - - - - Volume - - - - - Genre - - - - - License - - - - - Informations sur l'auteur - - - - - Nom - - - - - Email - - - - - Une phrase - - - - - Suivant - - - - - Un paragraphe - - - - - Une page - - - - - 4 pages - - - - - Personnages - - - - - Noms - - - - - Filter - - - - - Importance - - - - - Motivation - - - - - Goal - - - - - Conflit - - - - - Epiphanie - - - - - Notes - - - - - Intrigues - - - - - Principale - - - - - Autre intrigue - - - - - Intrigue - - - - - Perso(s) - - - - - Description - - - - - Albert - - - - - Sylvestre - - - - - Gentiana - - - - - Complet - - - - - Contexte - - - - - Plan - - - - - Intrigue secondaire - - - - - POV: - - - - - Goal: - - - - - Nombre de mots - - - - - F11 - - - - - POV - - - - - Status - - - - - Compile - - - - - Tools - - - - - Albert - perso - - - - - Jean - perso - - - - - Crapoquak - animal - - - - - La revenche du capitaine - intrigue - - - - - Debug - - - - - FlatData - - - - - Persos - - - - - Perso Infos - - - - - Outline - - - - - &Fichier - - - - - Mo&de - - - - - &Aide - - - - - &Outlis - - - - - &Ouvrir - - - - - Ctrl+O - - - - - Ctrl+R - - - - - &Enregistrer - - - - - Ctrl+S - - - - - Enregistrer &sous... - - - - - Ctrl+Shift+S - - - - - &Quitter - - - - - Ctrl+Q - - - - - &Snowflake - - - - - &Nouveau - - - - - Ctrl+N - - - - - Afficher les &bulles d'aide - - - - - Ctrl+Shift+B - - - - - Correcteur ortographique - - - - - F8 - - - - - Dictionnaire - - - - - Aperçu - - - - - Série - - - - - Résumé - - - - - Résumé en une phrase - - - - - Résumé en un paragraphe - - - - - Écrire chaque phrase du paragraphe précédent en une paragraphe. - - - - - Résumé en 1 page - - - - - Résumé complet - - - - - Informations générales - - - - - <html><head/><body><p align="right">Résumé<br/>une phrase</p></body></html> - - - - - <html><head/><body><p align="right">Résumé<br/>un paragraphe</p></body></html> - - - - - Informations détaillées - - - - - Résultat - - - - - Étapes de résolution - - - - - Un bâteau arrive au port et personne ne sait pourquoi - - - - - Le roi envoie des émissaires à bord. Ils ne reviennent jamais. - - - - - Le roi envoie son armée. - - - - - Liste de scènes - - - - - Intrigue général - - - - - Scène 1 - - - - - Scène 2 - - - - - Résumé de la scène en une ligne - - - - - Résumé en quelques phrases: - - - - - Rédaction - - - - - Scène - - - - - Propriétés - - - - - Résumé de la scène - - - - - Notes pour la scène - - - - - Aide mémoire - - - - - &Récents - - - - diff --git a/makefile b/makefile index 03a5f28..d15ed54 100644 --- a/makefile +++ b/makefile @@ -1,6 +1,7 @@ UI := $(wildcard src/ui/*.ui) $(wildcard src/ui/*/*.ui) $(wildcard src/ui/*.qrc) UIs= $(UI:.ui=.py) $(UI:.qrc=_rc.py) - +TS := $(wildcard i18n/*.ts) +QMs= $(TS:.ts=.qm) ui: $(UIs) @@ -20,10 +21,12 @@ compile: cd src && python3 setup.py build_ext --inplace translation: - pylupdate5 languages/snowflaQe.pro + pylupdate5 -noobsolete i18n/snowflaQe.pro linguist: - linguist languages/snowflaQe_fr.ts + linguist i18n/snowflaQe_fr.ts + +i18n: $(QMs) %_rc.py : %.qrc pyrcc5 "$<" -o "$@" @@ -32,4 +35,6 @@ linguist: # pyuic4 "$<" > "$@" pyuic5 "$<" > "$@" +%.qm: %.ts + lrelease "$<" diff --git a/src/loadSave.py b/src/loadSave.py index e574861..bd879e6 100644 --- a/src/loadSave.py +++ b/src/loadSave.py @@ -38,14 +38,14 @@ def saveStandardItemModelXML(mdl, xml): if mdl.data(mdl.index(x, y)) != "": col.text = mdl.data(mdl.index(x, y)) - print("Saving to {}.".format(xml)) + print(qApp.tr("Saving to {}.").format(xml)) ET.ElementTree(root).write(xml, encoding="UTF-8", xml_declaration=True, pretty_print=True) def loadStandardItemModelXML(mdl, xml): - print("Loading {}... ".format(xml), end="") + print(qApp.tr("Loading {}... ").format(xml), end="") try: tree = ET.parse(xml) diff --git a/src/main.py b/src/main.py index 9cb948b..1fd8043 100644 --- a/src/main.py +++ b/src/main.py @@ -14,14 +14,16 @@ def run(): ### Translation process locale = QLocale.system().name() + locale = "fr_CH" #qtTranslator = QTranslator() #if qtTranslator.load("qt_" + locale): #app.installTranslator(qtTranslator) appTranslator = QTranslator() - if appTranslator.load("languages/snowflaQe_{}".format(locale)): + if appTranslator.load("i18n/snowflaQe_{}.qm".format(locale)): app.installTranslator(appTranslator) + print(app.tr("Loaded transation: {}.").format(locale)) else: - print("Failed to load translator...") + print(app.tr("Failed to load translator for {}...").format(locale)) from mainWindow import MainWindow diff --git a/src/mainWindow.py b/src/mainWindow.py index f6bbcbb..ff4c1e7 100644 --- a/src/mainWindow.py +++ b/src/mainWindow.py @@ -278,7 +278,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): def createPerso(self): "Creates a perso by adding a row in mdlPersos and a column in mdlPersosInfos with same ID" - p = QStandardItem("Nouveau perso") + p = QStandardItem(self.tr("New character")) self.mdlPersos.appendRow(p) pid = self.getPersosID() self.checkPersosID() # Attributes a persoID (which is logically pid) @@ -410,9 +410,9 @@ class MainWindow(QMainWindow, Ui_MainWindow): }[i] wc = wordCount(src.toPlainText()) - if i in [2, 3]: pages = " (~{} pages)".format(int(wc / 25) / 10.) + if i in [2, 3]: pages = self.tr(" (~{} pages)").format(int(wc / 25) / 10.) else: pages = "" - lbl.setText("Mots: {}{}".format(wc, pages)) + lbl.setText(self.tr("Words: {}{}").format(wc, pages)) def setupMoreUi(self): @@ -437,19 +437,19 @@ class MainWindow(QMainWindow, Ui_MainWindow): # Help box references = [ (self.lytTabOverview, - "Entrez toutes les informations relatives au livre, ainsi qu'à vous."), + self.tr("Enter infos about your book, and yourself.")), (self.lytTabSummary, - "Prenez le temps de réfléchir à un résumé de votre livre, en une phrase. Puis augmentez cette phrase en un paragraphe, puis en une page, puis en un résumé complet."), + self.tr("Take time to think about a one sentance (~50 words) summary of your book. Then expand it to a paragraph, then to a page, then to a full summary.")), (self.lytTabPersos, - "Créez ici vos personnage."), + self.tr("Create your characters.")), (self.lytTabPlot, - "Développez vos intrigues."), + self.tr("Develop plots.")), (self.lytTabOutline, - "Créez le plan de votre chef-d'œuvre."), + self.tr("Create the outline of your masterpiece.")), (self.lytTabRedac, - "Écrivez."), + self.tr("Write.")), (self.lytTabDebug, - "Des infos pour débugger des fois pendant qu'on code c'est utile."), + self.tr("Debug infos. Sometimes useful."),) ] for widget, text in references: @@ -461,7 +461,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): # Spellcheck if enchant: - self.menuDict = QMenu("Dictionary") + self.menuDict = QMenu(self.tr("Dictionary")) self.menuDictGroup = QActionGroup(self) for i in enchant.list_dicts(): @@ -482,7 +482,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): else: # No Spell check support self.actSpellcheck.setVisible(False) - a = QAction("Install PyEnchant to use spellcheck", self) + a = QAction(self.tr("Install PyEnchant to use spellcheck"), self) a.setIcon(self.style().standardIcon(QStyle.SP_MessageBoxWarning)) a.triggered.connect(self.openPyEnchantWebPage) self.menuTools.addAction(a) diff --git a/src/ui/editors/customTextEdit.py b/src/ui/editors/customTextEdit.py index 86cd369..cc009e5 100644 --- a/src/ui/editors/customTextEdit.py +++ b/src/ui/editors/customTextEdit.py @@ -133,7 +133,7 @@ class customTextEdit(QTextEdit): if self.textCursor().hasSelection(): text = str(self.textCursor().selectedText()) if not self.dict.check(text): - spell_menu = QMenu('Spelling Suggestions') + spell_menu = QMenu(self.tr('Spelling Suggestions')) for word in self.dict.suggest(text): action = self.SpellAction(word, spell_menu) action.correct.connect(self.correctWord) diff --git a/src/ui/editors/editorWidget.py b/src/ui/editors/editorWidget.py index 83d0856..f368be5 100644 --- a/src/ui/editors/editorWidget.py +++ b/src/ui/editors/editorWidget.py @@ -122,10 +122,10 @@ class editorWidget(QWidget, Ui_editorWidget_ui): drawProgress(p, rect, pg, 2) del p mw.lblRedacProgress.setPixmap(self.px) - mw.lblRedacWC.setText("{} mots / {}".format(wc, goal)) + mw.lblRedacWC.setText(self.tr("{} words / {}").format(wc, goal)) else: mw.lblRedacProgress.hide() - mw.lblRedacWC.setText("{} mots".format(wc)) + mw.lblRedacWC.setText(self.tr("{} words").format(wc)) def toggleSpellcheck(self, v): self.spellcheck = v diff --git a/src/ui/helpLabel.py b/src/ui/helpLabel.py index 82ae2fb..ec7574b 100644 --- a/src/ui/helpLabel.py +++ b/src/ui/helpLabel.py @@ -13,7 +13,7 @@ class helpLabel(QLabel): self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) - self.setStatusTip("Infobulle: Si tu me trouve dérengant, tu peux me cacher via le menu Aide.") + self.setStatusTip(self.tr("If you don't wanna see me, you can hide me in Help menu.")) self.setStyleSheet(""" QLabel { diff --git a/src/ui/mainWindow.py b/src/ui/mainWindow.py index ce4288b..a2ea284 100644 --- a/src/ui/mainWindow.py +++ b/src/ui/mainWindow.py @@ -745,6 +745,7 @@ class Ui_MainWindow(object): self.horizontalLayout_11.addWidget(self.txtOutlineGoal) self.verticalLayout_13.addLayout(self.horizontalLayout_11) self.txtPlanSummarySentance = QtWidgets.QLineEdit(self.frame) + self.txtPlanSummarySentance.setText("") self.txtPlanSummarySentance.setObjectName("txtPlanSummarySentance") self.verticalLayout_13.addWidget(self.txtPlanSummarySentance) self.label_9 = QtWidgets.QLabel(self.frame) @@ -1112,8 +1113,6 @@ class Ui_MainWindow(object): icon = QtGui.QIcon.fromTheme("tools-check-spelling") self.actSpellcheck.setIcon(icon) self.actSpellcheck.setObjectName("actSpellcheck") - self.actSpellcheckDict = QtWidgets.QAction(MainWindow) - self.actSpellcheckDict.setObjectName("actSpellcheckDict") self.menu_Fichier.addAction(self.actionNouveau) self.menu_Fichier.addAction(self.actionOuvrir) self.menu_Fichier.addAction(self.action_R_cents) @@ -1149,53 +1148,53 @@ class Ui_MainWindow(object): def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) - self.grpBookInfos.setTitle(_translate("MainWindow", "Information sur le livre")) - self.label_10.setText(_translate("MainWindow", "Titre")) - self.label_11.setText(_translate("MainWindow", "Sous titre")) - self.label_12.setText(_translate("MainWindow", "Série")) + self.grpBookInfos.setTitle(_translate("MainWindow", "Book infos")) + self.label_10.setText(_translate("MainWindow", "Title")) + self.label_11.setText(_translate("MainWindow", "Subtitle")) + self.label_12.setText(_translate("MainWindow", "Serie")) self.label_13.setText(_translate("MainWindow", "Volume")) self.label_14.setText(_translate("MainWindow", "Genre")) self.label_16.setText(_translate("MainWindow", "License")) - self.grpAuthor.setTitle(_translate("MainWindow", "Informations sur l\'auteur")) - self.label_15.setText(_translate("MainWindow", "Nom")) + self.grpAuthor.setTitle(_translate("MainWindow", "Author")) + self.label_15.setText(_translate("MainWindow", "Name")) self.label_19.setText(_translate("MainWindow", "Email")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOverview), _translate("MainWindow", "Aperçu")) - self.label.setText(_translate("MainWindow", "Résumé en une phrase")) - self.btnStepTwo.setText(_translate("MainWindow", "Suivant")) - self.tabSummary.setTabText(self.tabSummary.indexOf(self.tab_14), _translate("MainWindow", "Une phrase")) - self.label_21.setText(_translate("MainWindow", "Résumé en une phrase")) - self.label_2.setText(_translate("MainWindow", "Résumé en un paragraphe")) - self.btnStepThree.setText(_translate("MainWindow", "Suivant")) - self.tabSummary.setTabText(self.tabSummary.indexOf(self.tab_13), _translate("MainWindow", "Un paragraphe")) - self.label_22.setText(_translate("MainWindow", "Résumé en un paragraphe")) - self.btnStepFive.setText(_translate("MainWindow", "Suivant")) - self.label_17.setText(_translate("MainWindow", "Écrire chaque phrase du paragraphe précédent en une paragraphe.")) - self.tabSummary.setTabText(self.tabSummary.indexOf(self.tabWidgetPage1), _translate("MainWindow", "Une page")) - self.label_23.setText(_translate("MainWindow", "Résumé en 1 page")) - self.btnStepSeven.setText(_translate("MainWindow", "Suivant")) - self.label_20.setText(_translate("MainWindow", "Résumé complet")) - self.tabSummary.setTabText(self.tabSummary.indexOf(self.tabWidgetPage2), _translate("MainWindow", "4 pages")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabSummary), _translate("MainWindow", "Résumé")) - self.groupBox.setTitle(_translate("MainWindow", "Noms")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOverview), _translate("MainWindow", "Overview")) + self.label.setText(_translate("MainWindow", "One sentance summary")) + self.btnStepTwo.setText(_translate("MainWindow", "Next")) + self.tabSummary.setTabText(self.tabSummary.indexOf(self.tab_14), _translate("MainWindow", "One sentance")) + self.label_21.setText(_translate("MainWindow", "One sentance summary")) + self.label_2.setText(_translate("MainWindow", "One paragraph summary")) + self.btnStepThree.setText(_translate("MainWindow", "Next")) + self.tabSummary.setTabText(self.tabSummary.indexOf(self.tab_13), _translate("MainWindow", "One paragraph")) + self.label_22.setText(_translate("MainWindow", "One paragraph summary")) + self.btnStepFive.setText(_translate("MainWindow", "Next")) + self.label_17.setText(_translate("MainWindow", "Expand each sentence of your one paragraph summary to a paragraph")) + self.tabSummary.setTabText(self.tabSummary.indexOf(self.tabWidgetPage1), _translate("MainWindow", "One page")) + self.label_23.setText(_translate("MainWindow", "One page summary")) + self.btnStepSeven.setText(_translate("MainWindow", "Next")) + self.label_20.setText(_translate("MainWindow", "Full summary")) + self.tabSummary.setTabText(self.tabSummary.indexOf(self.tabWidgetPage2), _translate("MainWindow", "Full")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabSummary), _translate("MainWindow", "Summary")) + self.groupBox.setTitle(_translate("MainWindow", "Names")) self.txtPersosFilter.setPlaceholderText(_translate("MainWindow", "Filter")) - self.label_3.setText(_translate("MainWindow", "Nom")) + self.label_3.setText(_translate("MainWindow", "Name")) self.label_18.setText(_translate("MainWindow", "Importance")) self.label_4.setText(_translate("MainWindow", "Motivation")) self.label_5.setText(_translate("MainWindow", "Goal")) - self.label_6.setText(_translate("MainWindow", "Conflit")) - self.label_7.setText(_translate("MainWindow", "Epiphanie")) - self.label_24.setText(_translate("MainWindow", "

Résumé
une phrase

")) - self.label_8.setText(_translate("MainWindow", "

Résumé
un paragraphe

")) - self.btnStepFour.setText(_translate("MainWindow", "Suivant")) - self.tabPersos.setTabText(self.tabPersos.indexOf(self.infos), _translate("MainWindow", "Informations générales")) - self.btnStepSix.setText(_translate("MainWindow", "Suivant")) - self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_11), _translate("MainWindow", "Résumé")) + self.label_6.setText(_translate("MainWindow", "Conflict")) + self.label_7.setText(_translate("MainWindow", "Epiphany")) + self.label_24.setText(_translate("MainWindow", "

One sentance
summary

")) + self.label_8.setText(_translate("MainWindow", "

One paragraph
summary

")) + self.btnStepFour.setText(_translate("MainWindow", "Next")) + self.tabPersos.setTabText(self.tabPersos.indexOf(self.infos), _translate("MainWindow", "Basic infos")) + self.btnStepSix.setText(_translate("MainWindow", "Next")) + self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_11), _translate("MainWindow", "Summary")) self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_19), _translate("MainWindow", "Notes")) self.lineEdit.setPlaceholderText(_translate("MainWindow", "Filter")) - self.btnStepEight.setText(_translate("MainWindow", "Suivant")) - self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_12), _translate("MainWindow", "Informations détaillées")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPersos), _translate("MainWindow", "Personnages")) - self.groupBox_2.setTitle(_translate("MainWindow", "Intrigues")) + self.btnStepEight.setText(_translate("MainWindow", "Next")) + self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_12), _translate("MainWindow", "Detailed infos")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPersos), _translate("MainWindow", "Characters")) + self.groupBox_2.setTitle(_translate("MainWindow", "Plots")) __sortingEnabled = self.listWidget_3.isSortingEnabled() self.listWidget_3.setSortingEnabled(False) item = self.listWidget_3.item(0) @@ -1206,11 +1205,11 @@ class Ui_MainWindow(object): item.setText(_translate("MainWindow", "Autre intrigue")) self.listWidget_3.setSortingEnabled(__sortingEnabled) self.lineEdit_7.setPlaceholderText(_translate("MainWindow", "Filter")) - self.label_25.setText(_translate("MainWindow", "Intrigue")) + self.label_25.setText(_translate("MainWindow", "Plot")) self.label_31.setText(_translate("MainWindow", "Importance")) - self.label_26.setText(_translate("MainWindow", "Perso(s)")) + self.label_26.setText(_translate("MainWindow", "Character(s)")) self.label_27.setText(_translate("MainWindow", "Description")) - self.label_28.setText(_translate("MainWindow", "Résultat")) + self.label_28.setText(_translate("MainWindow", "Result")) __sortingEnabled = self.listWidget_4.isSortingEnabled() self.listWidget_4.setSortingEnabled(False) item = self.listWidget_4.item(0) @@ -1220,7 +1219,7 @@ class Ui_MainWindow(object): item = self.listWidget_4.item(2) item.setText(_translate("MainWindow", "Gentiana")) self.listWidget_4.setSortingEnabled(__sortingEnabled) - self.tabPlot.setTabText(self.tabPlot.indexOf(self.infos_2), _translate("MainWindow", "Informations générales")) + self.tabPlot.setTabText(self.tabPlot.indexOf(self.infos_2), _translate("MainWindow", "Basic infos")) __sortingEnabled = self.listWidget_2.isSortingEnabled() self.listWidget_2.setSortingEnabled(False) item = self.listWidget_2.item(0) @@ -1230,14 +1229,14 @@ class Ui_MainWindow(object): item = self.listWidget_2.item(2) item.setText(_translate("MainWindow", "Le roi envoie son armée.")) self.listWidget_2.setSortingEnabled(__sortingEnabled) - self.tabPlot.setTabText(self.tabPlot.indexOf(self.tab_15), _translate("MainWindow", "Étapes de résolution")) - self.grpPlotSummary.setTitle(_translate("MainWindow", "Résumé")) - self.comboBox_2.setItemText(0, _translate("MainWindow", "Un paragraphe")) - self.comboBox_2.setItemText(1, _translate("MainWindow", "Une page")) - self.comboBox_2.setItemText(2, _translate("MainWindow", "Complet")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPlot), _translate("MainWindow", "Intrigues")) - self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Contexte")) - self.treeWidget_2.headerItem().setText(0, _translate("MainWindow", "Liste de scènes")) + self.tabPlot.setTabText(self.tabPlot.indexOf(self.tab_15), _translate("MainWindow", "Resolution steps")) + self.grpPlotSummary.setTitle(_translate("MainWindow", "Summary")) + self.comboBox_2.setItemText(0, _translate("MainWindow", "One paragraph")) + self.comboBox_2.setItemText(1, _translate("MainWindow", "One page")) + self.comboBox_2.setItemText(2, _translate("MainWindow", "Full")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPlot), _translate("MainWindow", "Plots")) + self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Context")) + self.treeWidget_2.headerItem().setText(0, _translate("MainWindow", "Scenes list")) __sortingEnabled = self.treeWidget_2.isSortingEnabled() self.treeWidget_2.setSortingEnabled(False) self.treeWidget_2.topLevelItem(0).setText(0, _translate("MainWindow", "Intrigue général")) @@ -1249,22 +1248,22 @@ class Ui_MainWindow(object): self.treeWidget_2.setSortingEnabled(__sortingEnabled) self.lblPlanPOV.setText(_translate("MainWindow", "POV:")) self.lblPlanGoal.setText(_translate("MainWindow", "Goal:")) - self.txtOutlineGoal.setPlaceholderText(_translate("MainWindow", "Nombre de mots")) - self.txtPlanSummarySentance.setPlaceholderText(_translate("MainWindow", "Résumé de la scène en une ligne")) - self.label_9.setText(_translate("MainWindow", "Résumé en quelques phrases:")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Plan")) + self.txtOutlineGoal.setPlaceholderText(_translate("MainWindow", "Word count")) + self.txtPlanSummarySentance.setPlaceholderText(_translate("MainWindow", "One line scene summary")) + self.label_9.setText(_translate("MainWindow", "Few sentences summary:")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Outline")) self.btnRedacFullscreen.setShortcut(_translate("MainWindow", "F11")) - self.groupBox_4.setTitle(_translate("MainWindow", "Propriétés")) + self.groupBox_4.setTitle(_translate("MainWindow", "Properties")) self.lblRedacPOV.setText(_translate("MainWindow", "POV")) self.label_30.setText(_translate("MainWindow", "Status")) self.label_32.setText(_translate("MainWindow", "Compile")) self.label_29.setText(_translate("MainWindow", "Goal")) - self.txtRedacGoal.setPlaceholderText(_translate("MainWindow", "Nombre de mots")) - self.groupBox_5.setTitle(_translate("MainWindow", "Résumé de la scène")) - self.txtRedacSummarySentance.setPlaceholderText(_translate("MainWindow", "Résumé de la scène en une ligne")) - self.groupBox_6.setTitle(_translate("MainWindow", "Notes pour la scène")) - self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Scène")) - self.groupBox_3.setTitle(_translate("MainWindow", "Aide mémoire")) + self.txtRedacGoal.setPlaceholderText(_translate("MainWindow", "Word count")) + self.groupBox_5.setTitle(_translate("MainWindow", "Scene summary")) + self.txtRedacSummarySentance.setPlaceholderText(_translate("MainWindow", "One line scene summary")) + self.groupBox_6.setTitle(_translate("MainWindow", "Notes")) + self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Scene")) + self.groupBox_3.setTitle(_translate("MainWindow", "Cheat sheet")) self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Filter")) __sortingEnabled = self.listWidget_5.isSortingEnabled() self.listWidget_5.setSortingEnabled(False) @@ -1278,38 +1277,37 @@ class Ui_MainWindow(object): item.setText(_translate("MainWindow", "La revenche du capitaine - intrigue")) self.listWidget_5.setSortingEnabled(__sortingEnabled) self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_18), _translate("MainWindow", "Tools")) - self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabRedac), _translate("MainWindow", "Rédaction")) + self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabRedac), _translate("MainWindow", "Redaction")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_9), _translate("MainWindow", "FlatData")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_10), _translate("MainWindow", "Persos")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_16), _translate("MainWindow", "Perso Infos")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_20), _translate("MainWindow", "Outline")) self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabDebug), _translate("MainWindow", "Debug")) - self.menu_Fichier.setTitle(_translate("MainWindow", "&Fichier")) - self.menuMode.setTitle(_translate("MainWindow", "Mo&de")) - self.menu_Aide.setTitle(_translate("MainWindow", "&Aide")) - self.menuTools.setTitle(_translate("MainWindow", "&Outlis")) - self.actionOuvrir.setText(_translate("MainWindow", "&Ouvrir")) + self.menu_Fichier.setTitle(_translate("MainWindow", "File")) + self.menuMode.setTitle(_translate("MainWindow", "Mode")) + self.menu_Aide.setTitle(_translate("MainWindow", "Help")) + self.menuTools.setTitle(_translate("MainWindow", "Tools")) + self.actionOuvrir.setText(_translate("MainWindow", "Open")) self.actionOuvrir.setShortcut(_translate("MainWindow", "Ctrl+O")) - self.action_R_cents.setText(_translate("MainWindow", "&Récents")) + self.action_R_cents.setText(_translate("MainWindow", "Recents")) self.action_R_cents.setShortcut(_translate("MainWindow", "Ctrl+R")) - self.actionEnregistrer.setText(_translate("MainWindow", "&Enregistrer")) + self.actionEnregistrer.setText(_translate("MainWindow", "Save")) self.actionEnregistrer.setShortcut(_translate("MainWindow", "Ctrl+S")) - self.actionEnregistrer_sous.setText(_translate("MainWindow", "Enregistrer &sous...")) + self.actionEnregistrer_sous.setText(_translate("MainWindow", "Save as...")) self.actionEnregistrer_sous.setShortcut(_translate("MainWindow", "Ctrl+Shift+S")) - self.actionQuitter.setText(_translate("MainWindow", "&Quitter")) + self.actionQuitter.setText(_translate("MainWindow", "Quit")) self.actionQuitter.setShortcut(_translate("MainWindow", "Ctrl+Q")) self.actionSnowflakeMode.setText(_translate("MainWindow", "&Snowflake")) - self.actionNouveau.setText(_translate("MainWindow", "&Nouveau")) + self.actionNouveau.setText(_translate("MainWindow", "New")) self.actionNouveau.setShortcut(_translate("MainWindow", "Ctrl+N")) - self.actShowHelp.setText(_translate("MainWindow", "Afficher les &bulles d\'aide")) + self.actShowHelp.setText(_translate("MainWindow", "Show help texts")) self.actShowHelp.setShortcut(_translate("MainWindow", "Ctrl+Shift+B")) - self.actSpellcheck.setText(_translate("MainWindow", "Correcteur ortographique")) + self.actSpellcheck.setText(_translate("MainWindow", "Spellcheck")) self.actSpellcheck.setShortcut(_translate("MainWindow", "F8")) - self.actSpellcheckDict.setText(_translate("MainWindow", "Dictionnaire")) -from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser from ui.cmbOutlineStatusChoser import cmbOutlineStatusChoser -from ui.sldImportance import sldImportance from ui.chkOutlineCompile import chkOutlineCompile -from ui.editors.editorWidget import editorWidget from ui.collapsibleGroupBox2 import collapsibleGroupBox2 +from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser +from ui.sldImportance import sldImportance +from ui.editors.editorWidget import editorWidget diff --git a/src/ui/mainWindow.ui b/src/ui/mainWindow.ui index 2006d07..c31723f 100644 --- a/src/ui/mainWindow.ui +++ b/src/ui/mainWindow.ui @@ -25,7 +25,7 @@ - Aperçu + Overview @@ -33,7 +33,7 @@ - Information sur le livre + Book infos @@ -48,7 +48,7 @@ - Titre + Title @@ -58,7 +58,7 @@ - Sous titre + Subtitle @@ -68,7 +68,7 @@ - Série + Serie @@ -128,7 +128,7 @@ - Informations sur l'auteur + Author @@ -143,7 +143,7 @@ - Nom + Name @@ -172,7 +172,7 @@ - Résumé + Summary @@ -185,13 +185,13 @@ - Une phrase + One sentance - Résumé en une phrase + One sentance summary @@ -228,7 +228,7 @@ - Suivant + Next @@ -241,7 +241,7 @@ - Un paragraphe + One paragraph @@ -249,7 +249,7 @@ - Résumé en une phrase + One sentance summary @@ -293,7 +293,7 @@ - Résumé en un paragraphe + One paragraph summary @@ -323,7 +323,7 @@ - Suivant + Next @@ -338,7 +338,7 @@ - Une page + One page @@ -346,7 +346,7 @@ - Résumé en un paragraphe + One paragraph summary @@ -373,7 +373,7 @@ - Suivant + Next @@ -396,7 +396,7 @@ - Écrire chaque phrase du paragraphe précédent en une paragraphe. + Expand each sentence of your one paragraph summary to a paragraph @@ -416,7 +416,7 @@ - 4 pages + Full @@ -424,7 +424,7 @@ - Résumé en 1 page + One page summary @@ -441,7 +441,7 @@ - Suivant + Next @@ -464,7 +464,7 @@ - Résumé complet + Full summary @@ -488,7 +488,7 @@ - Personnages + Characters @@ -501,7 +501,7 @@ - Noms + Names @@ -560,7 +560,7 @@ - Informations générales + Basic infos @@ -569,7 +569,7 @@ - Nom + Name @@ -606,7 +606,7 @@ - Conflit + Conflict @@ -616,7 +616,7 @@ - Epiphanie + Epiphany @@ -626,7 +626,7 @@ - <html><head/><body><p align="right">Résumé<br/>une phrase</p></body></html> + <html><head/><body><p align="right">One sentance<br/>summary</p></body></html> @@ -636,7 +636,7 @@ - <html><head/><body><p align="right">Résumé<br/>un paragraphe</p></body></html> + <html><head/><body><p align="right">One paragraph<br/>summary</p></body></html> @@ -661,7 +661,7 @@ - Suivant + Next @@ -686,7 +686,7 @@ - Résumé + Summary @@ -710,7 +710,7 @@ - Suivant + Next @@ -735,7 +735,7 @@ - Informations détaillées + Detailed infos @@ -812,7 +812,7 @@ - Suivant + Next @@ -832,7 +832,7 @@ - Intrigues + Plots @@ -842,7 +842,7 @@ - Intrigues + Plots @@ -943,7 +943,7 @@ - Informations générales + Basic infos @@ -952,7 +952,7 @@ - Intrigue + Plot @@ -969,7 +969,7 @@ - Perso(s) + Character(s) @@ -986,7 +986,7 @@ - Résultat + Result @@ -1064,7 +1064,7 @@ - Étapes de résolution + Resolution steps @@ -1202,7 +1202,7 @@ - Résumé + Summary @@ -1215,17 +1215,17 @@ - Un paragraphe + One paragraph - Une page + One page - Complet + Full @@ -1278,12 +1278,12 @@ - Contexte + Context - Plan + Outline @@ -1300,7 +1300,7 @@ - Liste de scènes + Scenes list @@ -1426,7 +1426,7 @@ false - Nombre de mots + Word count @@ -1434,15 +1434,18 @@ + + + - Résumé de la scène en une ligne + One line scene summary - Résumé en quelques phrases: + Few sentences summary: @@ -1532,7 +1535,7 @@ - Rédaction + Redaction @@ -1708,7 +1711,9 @@ - + + + F11 @@ -1749,7 +1754,7 @@ - Scène + Scene @@ -1767,7 +1772,7 @@ - Propriétés + Properties true @@ -1861,7 +1866,7 @@ false - Nombre de mots + Word count @@ -1871,7 +1876,7 @@ - Résumé de la scène + Scene summary true @@ -1889,7 +1894,7 @@ - Résumé de la scène en une ligne + One line scene summary @@ -1902,7 +1907,7 @@ - Notes pour la scène + Notes true @@ -1933,7 +1938,7 @@ - Aide mémoire + Cheat sheet true @@ -2066,7 +2071,7 @@ - &Fichier + File @@ -2078,19 +2083,19 @@ - Mo&de + Mode - &Aide + Help - &Outlis + Tools @@ -2107,7 +2112,7 @@ - &Ouvrir + Open Ctrl+O @@ -2120,7 +2125,7 @@ - &Récents + Recents Ctrl+R @@ -2133,7 +2138,7 @@ - &Enregistrer + Save Ctrl+S @@ -2146,7 +2151,7 @@ - Enregistrer &sous... + Save as... Ctrl+Shift+S @@ -2159,7 +2164,7 @@ - &Quitter + Quit Ctrl+Q @@ -2183,7 +2188,7 @@ - &Nouveau + New Ctrl+N @@ -2202,7 +2207,7 @@ - Afficher les &bulles d'aide + Show help texts Ctrl+Shift+B @@ -2216,20 +2221,17 @@ true - + + + - Correcteur ortographique + Spellcheck F8 - - - Dictionnaire - - diff --git a/src/ui/sldImportance.py b/src/ui/sldImportance.py index 95d324d..5a757bd 100644 --- a/src/ui/sldImportance.py +++ b/src/ui/sldImportance.py @@ -25,9 +25,9 @@ class sldImportance(QWidget, Ui_sldImportance): def changed(self, v): val = [ - "Mineur", - "Secondaire", - "Principal", + self.tr("Minor"), + self.tr("Secondary"), + self.tr("Main"), ] self.lbl.setText(val[v])