diff --git a/novelwriter/constants.py b/novelwriter/constants.py index 6ed952bf..ee2f4481 100644 --- a/novelwriter/constants.py +++ b/novelwriter/constants.py @@ -23,6 +23,8 @@ along with this program. If not, see . """ from __future__ import annotations +from typing import Literal + from PyQt5.QtCore import QT_TRANSLATE_NOOP, QCoreApplication from novelwriter.enum import ( @@ -30,9 +32,9 @@ from novelwriter.enum import ( ) -def trConst(text: str) -> str: +def trConst(text: str, context: Literal["Constant", "Stats", "Shape"] = "Constant") -> str: """Wrapper function for locally translating constants.""" - return QCoreApplication.translate("Constant", text) + return QCoreApplication.translate(context, text) class nwConst: diff --git a/novelwriter/dialogs/projectsettings.py b/novelwriter/dialogs/projectsettings.py index a610373b..950eda3d 100644 --- a/novelwriter/dialogs/projectsettings.py +++ b/novelwriter/dialogs/projectsettings.py @@ -409,7 +409,7 @@ class _StatusPage(NFixedPage): def buildMenu(menu: QMenu, items: dict[nwStatusShape, str]) -> None: for shape, label in items.items(): icon = NWStatus.createIcon(self._iPx, iColor, shape) - action = menu.addAction(icon, trConst(label)) + action = menu.addAction(icon, trConst(label, "Shape")) action.triggered.connect(qtLambda(self._selectShape, shape)) self._icons[shape] = icon diff --git a/novelwriter/gui/itemdetails.py b/novelwriter/gui/itemdetails.py index feb09938..91a24256 100644 --- a/novelwriter/gui/itemdetails.py +++ b/novelwriter/gui/itemdetails.py @@ -65,9 +65,9 @@ class GuiItemDetails(QWidget): fntValue = self.font() fntValue.setPointSizeF(0.9*fPt) - trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS]) - trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS]) - trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) + trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats") + trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats") + trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats") # Label self.labelName = QLabel(self.tr("Label"), self) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 02527c2b..f925fa72 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -601,7 +601,7 @@ class GuiMainMenu(QMenuBar): self.mInsField = self.insMenu.addMenu(self.tr("Word/Character Count")) for field in nwStats.ALL_FIELDS: value = nwShortcode.FIELD_VALUE.format(field) - action = self.mInsField.addAction(trConst(nwLabels.STATS_NAME[field])) + action = self.mInsField.addAction(trConst(nwLabels.STATS_NAME[field], "Stats")) action.triggered.connect(qtLambda(self.requestDocInsertText.emit, value)) # Insert > Breaks and Vertical Space diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index 8bb59d8f..dd7fea6c 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -815,9 +815,9 @@ class GuiOutlineDetails(QScrollArea): bFont = SHARED.theme.guiFontB - trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS]) - trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS]) - trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) + trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats") + trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats") + trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats") # Details Area self.titleLabel = QLabel(self.tr("Title"), self) diff --git a/novelwriter/tools/manuscript.py b/novelwriter/tools/manuscript.py index 367c4ff3..4d28b605 100644 --- a/novelwriter/tools/manuscript.py +++ b/novelwriter/tools/manuscript.py @@ -1037,17 +1037,17 @@ class _StatsWidget(QWidget): hPx = CONFIG.pxInt(12) vPx = CONFIG.pxInt(4) - trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS]) - trTextChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TEXT]) - trTitleChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TITLE]) - trParagraphCount = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) - trTitleCount = trConst(nwLabels.STATS_NAME[nwStats.TITLES]) - trAllWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_ALL]) - trTextWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT]) - trTitleWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE]) - trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS]) - trTextWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TEXT]) - trTitleWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TITLE]) + trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats") + trTextChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TEXT], "Stats") + trTitleChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TITLE], "Stats") + trParagraphCount = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats") + trTitleCount = trConst(nwLabels.STATS_NAME[nwStats.TITLES], "Stats") + trAllWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_ALL], "Stats") + trTextWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT], "Stats") + trTitleWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE], "Stats") + trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats") + trTextWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TEXT], "Stats") + trTitleWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TITLE], "Stats") # Minimal Form self.minWordCount = QLabel(self)