diff --git a/novelwriter/constants.py b/novelwriter/constants.py index 91a8c08ea..61ca94425 100644 --- a/novelwriter/constants.py +++ b/novelwriter/constants.py @@ -23,8 +23,6 @@ """ from __future__ import annotations -from typing import Literal - from PyQt5.QtCore import QT_TRANSLATE_NOOP, QCoreApplication from novelwriter.enum import ( @@ -32,9 +30,14 @@ ) -def trConst(text: str, context: Literal["Constant", "Stats"] = "Constant") -> str: +def trConst(text: str) -> str: """Wrapper function for locally translating constants.""" - return QCoreApplication.translate(context, text) + return QCoreApplication.translate("Constant", text) + + +def trStats(text: str) -> str: + """Wrapper function for locally translating stats constants.""" + return QCoreApplication.translate("Stats", text) class nwConst: diff --git a/novelwriter/gui/itemdetails.py b/novelwriter/gui/itemdetails.py index 91a24256b..95a086fde 100644 --- a/novelwriter/gui/itemdetails.py +++ b/novelwriter/gui/itemdetails.py @@ -32,7 +32,7 @@ from novelwriter import CONFIG, SHARED from novelwriter.common import elide -from novelwriter.constants import nwLabels, nwStats, trConst +from novelwriter.constants import nwLabels, nwStats, trConst, trStats from novelwriter.enum import nwChange from novelwriter.types import ( QtAlignLeft, QtAlignLeftBase, QtAlignRight, QtAlignRightBase, @@ -65,9 +65,9 @@ def __init__(self, parent: QWidget) -> None: fntValue = self.font() fntValue.setPointSizeF(0.9*fPt) - trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats") - trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats") - trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats") + trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS]) + trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS]) + trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) # Label self.labelName = QLabel(self.tr("Label"), self) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index f925fa72f..aee7b5734 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -35,7 +35,7 @@ from novelwriter.common import openExternalPath, qtLambda from novelwriter.constants import ( nwConst, nwKeyWords, nwLabels, nwShortcode, nwStats, nwStyles, nwUnicode, - trConst + trConst, trStats ) from novelwriter.enum import nwDocAction, nwDocInsert, nwFocus, nwView from novelwriter.extensions.eventfilters import StatusTipFilter @@ -601,7 +601,7 @@ def _buildInsertMenu(self) -> None: 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], "Stats")) + action = self.mInsField.addAction(trStats(nwLabels.STATS_NAME[field])) 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 dd7fea6c5..2c2a584dc 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -42,7 +42,7 @@ from novelwriter import CONFIG, SHARED from novelwriter.common import checkInt, formatFileFilter -from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst +from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst, trStats from novelwriter.enum import nwChange, nwDocMode, nwItemClass, nwItemLayout, nwItemType, nwOutline from novelwriter.error import logException from novelwriter.extensions.configlayout import NColourLabel @@ -815,9 +815,9 @@ def __init__(self, outlineView: GuiOutlineView) -> None: bFont = SHARED.theme.guiFontB - trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats") - trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats") - trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats") + trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS]) + trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS]) + trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) # Details Area self.titleLabel = QLabel(self.tr("Title"), self) diff --git a/novelwriter/tools/manuscript.py b/novelwriter/tools/manuscript.py index 4d28b6052..4904ba149 100644 --- a/novelwriter/tools/manuscript.py +++ b/novelwriter/tools/manuscript.py @@ -43,7 +43,7 @@ from novelwriter import CONFIG, SHARED from novelwriter.common import fuzzyTime -from novelwriter.constants import nwLabels, nwStats, trConst +from novelwriter.constants import nwLabels, nwStats, trStats from novelwriter.core.buildsettings import BuildCollection, BuildSettings from novelwriter.core.docbuild import NWBuildDocument from novelwriter.extensions.modified import NIconToggleButton, NIconToolButton, NToolDialog @@ -1037,17 +1037,17 @@ def _buildBottomPanel(self) -> None: hPx = CONFIG.pxInt(12) vPx = CONFIG.pxInt(4) - 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") + trAllChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS]) + trTextChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TEXT]) + trTitleChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TITLE]) + trParagraphCount = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS]) + trTitleCount = trStats(nwLabels.STATS_NAME[nwStats.TITLES]) + trAllWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_ALL]) + trTextWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT]) + trTitleWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE]) + trAllWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS]) + trTextWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TEXT]) + trTitleWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TITLE]) # Minimal Form self.minWordCount = QLabel(self)