novelWriter 2.6.2__py3-none-any.whl → 2.6.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: novelWriter
3
- Version: 2.6.2
3
+ Version: 2.6.3
4
4
  Summary: A markdown-like text editor for planning and writing novels
5
5
  Author-email: Veronica Berglyd Olsen <code@vkbo.net>
6
6
  License: GNU General Public License v3
@@ -1,28 +1,28 @@
1
- novelwriter/__init__.py,sha256=rOcJN1w7All2F39QCff5AOG5GV6GA61IHXkYJEZAP3g,8843
1
+ novelwriter/__init__.py,sha256=B1YB_y84qIPE4qtQiSAUgMcT5Ly0Mgq5xcOkpR0NjfI,8843
2
2
  novelwriter/common.py,sha256=i5kxxzOOg0W60uZ8w1HhwlgEUYKqv60F1JTlu4KEjrY,21751
3
3
  novelwriter/config.py,sha256=1pQwU0QsGJ5qAvxZ_iL2vwjTMajjsAuXdTP0IRK1X30,41108
4
- novelwriter/constants.py,sha256=QVRHVUPE8JlJ4hUSYoVF2qsJtZoB0wvQmvIqQr4eZCU,26086
4
+ novelwriter/constants.py,sha256=hakaZkZsJOQkYyvgqUwxLuYPM5Oy7_buPHrFkXX6w4s,26300
5
5
  novelwriter/enum.py,sha256=bZFqyYVR76B-P1pod1zaYSG2pS8DBQdBP9oqxWJoiFg,3635
6
6
  novelwriter/error.py,sha256=Pq4ogfb4GlqTBC698o9bJ537Ce5kXzyNw2JZxMGmZJM,6849
7
7
  novelwriter/guimain.py,sha256=UsBrDPsF2Y0SY3hzg9A3CWldhUi5ID765vce2dx1rRQ,49653
8
8
  novelwriter/shared.py,sha256=MaIQuDHX3XvW4SbhGaDlfI6YFn_yxzeq92IKi1ri810,17511
9
9
  novelwriter/types.py,sha256=-qQovORltSnUMWn5Hcjv2FJV18t_DumGkggjch_oFRE,5098
10
- novelwriter/assets/manual.pdf,sha256=jOInSwBi9cvkauWPFshtaCKQFGN-K5pwBecrVv5KXVk,2687676
10
+ novelwriter/assets/manual.pdf,sha256=p8LVvcj46b5VDRdnIHwh_DZT9mgQEAZhYnnTXZLdc8Q,2687800
11
11
  novelwriter/assets/manual_fr_FR.pdf,sha256=EUJk5-5IBxH1HvUt6ZHgmTtgxWEnIAWybJq5M5l6LmE,2719136
12
- novelwriter/assets/sample.zip,sha256=0WIwlVBjecYDANezpOcJRpQyPLExpZqgZHl1GHg3214,28035
13
- novelwriter/assets/i18n/nw_cs_CZ.qm,sha256=XiDuN3kdGRhyBxqUB7dm5t8IhFELa2rSW5BHJ22-j1g,97439
14
- novelwriter/assets/i18n/nw_de_DE.qm,sha256=T7sqOXBBW4lakypIXCvBVqkvBFtThClmMsOgh5CCyHs,102407
15
- novelwriter/assets/i18n/nw_en_US.qm,sha256=G8orcdkczAjSXFmbjGk6Los5dW3yADhKl2HuQaF6aEg,95153
16
- novelwriter/assets/i18n/nw_es_419.qm,sha256=wxYAyhPu-LWPPJ-m5cG34ch8rjMWXFrGhdP4CMcSwNY,105274
17
- novelwriter/assets/i18n/nw_fr_FR.qm,sha256=TpfOCWH5gz9W0OTEHXOBuECcqdyEiJYAts761JD1J_A,105257
18
- novelwriter/assets/i18n/nw_it_IT.qm,sha256=LkdtZwBqCEnu4ToZNpIUX2UunLchfednEyoXl_x-Img,105389
19
- novelwriter/assets/i18n/nw_ja_JP.qm,sha256=i3I2DCEEsh4o891DcxUXF4Jz736EvPEbOzkxjC1DaIE,78758
20
- novelwriter/assets/i18n/nw_nb_NO.qm,sha256=akO2Or98k903AJB5Z1x_PFOsDXp4LQjS6P47pBbz97M,97725
21
- novelwriter/assets/i18n/nw_nl_NL.qm,sha256=20gCLmjMD8w9XCQkiulfBZT_NgmHUq8z_XSgP0Wty9Q,96613
22
- novelwriter/assets/i18n/nw_pl_PL.qm,sha256=5CN8ZUFCiHzY7-DCL5ieDSaLmqHLurSozjOpdH6gVbE,100659
23
- novelwriter/assets/i18n/nw_pt_BR.qm,sha256=GoZDWm5RU0LSKAO4BCcwL5kEK-HKQ7z-VGKX1T2lkes,103697
24
- novelwriter/assets/i18n/nw_ru_RU.qm,sha256=WR0B0Jc2Vm64iYO6Q-GqOMCX1JsyB9VJqv-w4jAM4O8,94740
25
- novelwriter/assets/i18n/nw_zh_CN.qm,sha256=AjV2BT7XgD1LWaAqweQNxrh7sITtpf-amRq4FbwL6Xc,70408
12
+ novelwriter/assets/sample.zip,sha256=ogCIh5H4VhUgEpHHpBuCTHzcIAZV-Y6sVcH7MlJ_Vxo,28035
13
+ novelwriter/assets/i18n/nw_cs_CZ.qm,sha256=wqS376aERqXduw3lc7FFhcWapwcn9NYdTICkZYoDI1w,97499
14
+ novelwriter/assets/i18n/nw_de_DE.qm,sha256=xKyyeNEd02EquAF7KSiHr4GUccfagD74O_gipoQK1Io,102467
15
+ novelwriter/assets/i18n/nw_en_US.qm,sha256=fRG9Tg0a9IwsinP1wU162P_Y7mNl-grTKKx3TzKndSI,95213
16
+ novelwriter/assets/i18n/nw_es_419.qm,sha256=enE-iIGb_7DypKUXj9o4vddauaR6NO5KO9aAoh9GsEI,105334
17
+ novelwriter/assets/i18n/nw_fr_FR.qm,sha256=nIuseguPyp-BW-2QaxZTgTEAq82epUZyAsCpm3Vl0Wg,105307
18
+ novelwriter/assets/i18n/nw_it_IT.qm,sha256=eQKNQVvvwO_ja95sSXvZMkAv2TCxBIDYsMcT3k3KeC4,105449
19
+ novelwriter/assets/i18n/nw_ja_JP.qm,sha256=fMTV1RI_GhpStiX8RlkCIsyawz6tfcSfrFzuHzS-zpU,78818
20
+ novelwriter/assets/i18n/nw_nb_NO.qm,sha256=HIwt18aTorGzdk0j98XJtr652Hd3mCPZi8Ee771-vZw,97781
21
+ novelwriter/assets/i18n/nw_nl_NL.qm,sha256=igF8xjFTb4BBnyFThnLCqmk_KQLP3KcDWdUvjfwdBD8,96665
22
+ novelwriter/assets/i18n/nw_pl_PL.qm,sha256=etp4w60penSQTTsUavoWFcz1G8vtrV4RPAHTWloCrEg,100719
23
+ novelwriter/assets/i18n/nw_pt_BR.qm,sha256=LKeE4hvMlGRk0VIhuIuOkWcOy0SRf0fgQRbhuLQ0dgk,103757
24
+ novelwriter/assets/i18n/nw_ru_RU.qm,sha256=T44JdPKRuI27Az7ZjVznT-O4pR941-iVlV6agR-ydcI,94800
25
+ novelwriter/assets/i18n/nw_zh_CN.qm,sha256=_MbLHUgM3jBnDBU_fsB3vQlAw8YeWQKpidgJ5p-jiIo,70468
26
26
  novelwriter/assets/i18n/project_cs_CZ.json,sha256=0A71su1wmPrGD1DD3FruFqnoWQqo4XaggWp5NJKT9lc,2861
27
27
  novelwriter/assets/i18n/project_de_DE.json,sha256=-9-FF2zYD9ulez9dXAKLbFWsbEX2KLXKE1cJS8csx1g,2866
28
28
  novelwriter/assets/i18n/project_en_GB.json,sha256=CvBOO8kaW0k7NlwvxFi62Br9HYKJKQLDk1nQfvXOj48,2537
@@ -336,10 +336,10 @@ novelwriter/gui/dochighlight.py,sha256=z6WcQfkHzSlXg4-DALtJUHl_8wnikP-YT0iIZmnCV
336
336
  novelwriter/gui/docviewer.py,sha256=SJ38_Zn6CMmSRdVF3EPztTQe907yWSqQr5B-0Mg6iVo,34518
337
337
  novelwriter/gui/docviewerpanel.py,sha256=3MXehPMyf__mpNaKPNow1I-9CUme_8cpXd-cOCAxWls,19726
338
338
  novelwriter/gui/editordocument.py,sha256=opqrQc_GMNa9InQBAWW_WugSHVO_5cievX7DuF1Cbm4,4723
339
- novelwriter/gui/itemdetails.py,sha256=HQ2E1p9EiDsuNTgULEV__AzqW1DJ6qjB5DWILtlkeyg,9678
340
- novelwriter/gui/mainmenu.py,sha256=VKMgE8_jxRM8973ycArOpGMaTwHy-7ju2TIzm2-Zqqo,41629
339
+ novelwriter/gui/itemdetails.py,sha256=Wl8_VAFoeYvgTHCBI4vI5-1JioVlN6xA2GDLgwEx7OU,9687
340
+ novelwriter/gui/mainmenu.py,sha256=v3KvkPsqQiHhwQoiJ_SH9FuU9qpPfHK9PeNviz34DY4,41638
341
341
  novelwriter/gui/noveltree.py,sha256=-XKR_zBGjbO44hEknhZt64NeW00LIC_31LQURgjsv_U,27136
342
- novelwriter/gui/outline.py,sha256=e1U_KakgnJX044nmP5NsXzbrSVd-G_t0tJ_531zMXZI,38446
342
+ novelwriter/gui/outline.py,sha256=v0rrn5o5BUsuvxBZOvICTPAP6YUhD0eFS3msvNfYuaI,38455
343
343
  novelwriter/gui/projtree.py,sha256=g-OoMsoAOOLHiftztDSI5H4J9C-5TBRGks9KQWpuKnM,53120
344
344
  novelwriter/gui/search.py,sha256=xP5M4iEA-6Hulgk2JwNqg8_myWi2KT8Yk9ufw4H3gh0,12844
345
345
  novelwriter/gui/sidebar.py,sha256=oPlbPu7jlE5J1P5Jn9X5YtvLgInzPz2Jr7AC98Z2S4k,6286
@@ -350,14 +350,14 @@ novelwriter/text/patterns.py,sha256=T2BpUcVvXXFIadIdOqOYF1eih4LFBiRAZ7CtRuO85c8,
350
350
  novelwriter/tools/dictionaries.py,sha256=EhBGOvAW9AJnA29_GYan5XcRfciL6tSq7ZB-mmF8Ums,9250
351
351
  novelwriter/tools/lipsum.py,sha256=NZdCJ5TNwKdfwYqtRXtQ5pDbtVFbQzxiGoNPctpCHDk,4819
352
352
  novelwriter/tools/manusbuild.py,sha256=fUAGp7uaPY2rFUXRaGyE8Fce49z4-xkz1i8GAV2fXlI,14107
353
- novelwriter/tools/manuscript.py,sha256=ib5FKpcQR_A6jBWuTfQCHpx32ySvE4YFtz56a8pLAxE,40053
353
+ novelwriter/tools/manuscript.py,sha256=LC8w3pQLC9iL01_GcfLok5_Ul0wvxh13dhpF15_B5Eo,40053
354
354
  novelwriter/tools/manussettings.py,sha256=jn8E6SroiuwHv5NINvRgYgaW85ji2li2bZW2NSobvTI,60883
355
355
  novelwriter/tools/noveldetails.py,sha256=k17ZH21M7yfLNEhY_qD-GREia5CxanN9dbVWt1selkk,18506
356
356
  novelwriter/tools/welcome.py,sha256=kE8HWfgvvncwEQnfXPoFipNzugpe2JemcVJr2kNiHIc,28020
357
357
  novelwriter/tools/writingstats.py,sha256=tuIkHkkiAPJv4zUBIFyh6_mVHRK-beYSc_zBUKG8MnM,22792
358
- novelWriter-2.6.2.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
359
- novelWriter-2.6.2.dist-info/METADATA,sha256=U8hqFtjlPm7HZl96W6TxD4cj1yTluSAoS5xys-KrylA,2581
360
- novelWriter-2.6.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
361
- novelWriter-2.6.2.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
362
- novelWriter-2.6.2.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
363
- novelWriter-2.6.2.dist-info/RECORD,,
358
+ novelWriter-2.6.3.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
359
+ novelWriter-2.6.3.dist-info/METADATA,sha256=Hh36yolhBWLShycU9Mg8H47K4Zv4cSll5xKxOOTxV-U,2581
360
+ novelWriter-2.6.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
361
+ novelWriter-2.6.3.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
362
+ novelWriter-2.6.3.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
363
+ novelWriter-2.6.3.dist-info/RECORD,,
novelwriter/__init__.py CHANGED
@@ -47,8 +47,8 @@ __license__ = "GPLv3"
47
47
  __author__ = "Veronica Berglyd Olsen"
48
48
  __maintainer__ = "Veronica Berglyd Olsen"
49
49
  __email__ = "code@vkbo.net"
50
- __version__ = "2.6.2"
51
- __hexversion__ = "0x020602f0"
50
+ __version__ = "2.6.3"
51
+ __hexversion__ = "0x020603f0"
52
52
  __date__ = "2025-02-16"
53
53
  __status__ = "Stable"
54
54
  __domain__ = "novelwriter.io"
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
novelwriter/constants.py CHANGED
@@ -35,6 +35,11 @@ def trConst(text: str) -> str:
35
35
  return QCoreApplication.translate("Constant", text)
36
36
 
37
37
 
38
+ def trStats(text: str) -> str:
39
+ """Wrapper function for locally translating stats constants."""
40
+ return QCoreApplication.translate("Stats", text)
41
+
42
+
38
43
  class nwConst:
39
44
 
40
45
  # Date and Time Formats
@@ -370,32 +375,32 @@ class nwLabels:
370
375
  nwBuildFmt.J_NWD: ".json",
371
376
  }
372
377
  SHAPES_PLAIN = {
373
- nwStatusShape.SQUARE: QT_TRANSLATE_NOOP("Shape", "Square"),
374
- nwStatusShape.TRIANGLE: QT_TRANSLATE_NOOP("Shape", "Triangle"),
375
- nwStatusShape.NABLA: QT_TRANSLATE_NOOP("Shape", "Nabla"),
376
- nwStatusShape.DIAMOND: QT_TRANSLATE_NOOP("Shape", "Diamond"),
377
- nwStatusShape.PENTAGON: QT_TRANSLATE_NOOP("Shape", "Pentagon"),
378
- nwStatusShape.HEXAGON: QT_TRANSLATE_NOOP("Shape", "Hexagon"),
379
- nwStatusShape.STAR: QT_TRANSLATE_NOOP("Shape", "Star"),
380
- nwStatusShape.PACMAN: QT_TRANSLATE_NOOP("Shape", "Pacman"),
378
+ nwStatusShape.SQUARE: QT_TRANSLATE_NOOP("Constant", "Square"),
379
+ nwStatusShape.TRIANGLE: QT_TRANSLATE_NOOP("Constant", "Triangle"),
380
+ nwStatusShape.NABLA: QT_TRANSLATE_NOOP("Constant", "Nabla"),
381
+ nwStatusShape.DIAMOND: QT_TRANSLATE_NOOP("Constant", "Diamond"),
382
+ nwStatusShape.PENTAGON: QT_TRANSLATE_NOOP("Constant", "Pentagon"),
383
+ nwStatusShape.HEXAGON: QT_TRANSLATE_NOOP("Constant", "Hexagon"),
384
+ nwStatusShape.STAR: QT_TRANSLATE_NOOP("Constant", "Star"),
385
+ nwStatusShape.PACMAN: QT_TRANSLATE_NOOP("Constant", "Pacman"),
381
386
  }
382
387
  SHAPES_CIRCLE = {
383
- nwStatusShape.CIRCLE_Q: QT_TRANSLATE_NOOP("Shape", "1/4 Circle"),
384
- nwStatusShape.CIRCLE_H: QT_TRANSLATE_NOOP("Shape", "Half Circle"),
385
- nwStatusShape.CIRCLE_T: QT_TRANSLATE_NOOP("Shape", "3/4 Circle"),
386
- nwStatusShape.CIRCLE: QT_TRANSLATE_NOOP("Shape", "Full Circle"),
388
+ nwStatusShape.CIRCLE_Q: QT_TRANSLATE_NOOP("Constant", "1/4 Circle"),
389
+ nwStatusShape.CIRCLE_H: QT_TRANSLATE_NOOP("Constant", "Half Circle"),
390
+ nwStatusShape.CIRCLE_T: QT_TRANSLATE_NOOP("Constant", "3/4 Circle"),
391
+ nwStatusShape.CIRCLE: QT_TRANSLATE_NOOP("Constant", "Full Circle"),
387
392
  }
388
393
  SHAPES_BARS = {
389
- nwStatusShape.BARS_1: QT_TRANSLATE_NOOP("Shape", "1 Bar"),
390
- nwStatusShape.BARS_2: QT_TRANSLATE_NOOP("Shape", "2 Bars"),
391
- nwStatusShape.BARS_3: QT_TRANSLATE_NOOP("Shape", "3 Bars"),
392
- nwStatusShape.BARS_4: QT_TRANSLATE_NOOP("Shape", "4 Bars"),
394
+ nwStatusShape.BARS_1: QT_TRANSLATE_NOOP("Constant", "1 Bar"),
395
+ nwStatusShape.BARS_2: QT_TRANSLATE_NOOP("Constant", "2 Bars"),
396
+ nwStatusShape.BARS_3: QT_TRANSLATE_NOOP("Constant", "3 Bars"),
397
+ nwStatusShape.BARS_4: QT_TRANSLATE_NOOP("Constant", "4 Bars"),
393
398
  }
394
399
  SHAPES_BLOCKS = {
395
- nwStatusShape.BLOCK_1: QT_TRANSLATE_NOOP("Shape", "1 Block"),
396
- nwStatusShape.BLOCK_2: QT_TRANSLATE_NOOP("Shape", "2 Blocks"),
397
- nwStatusShape.BLOCK_3: QT_TRANSLATE_NOOP("Shape", "3 Blocks"),
398
- nwStatusShape.BLOCK_4: QT_TRANSLATE_NOOP("Shape", "4 Blocks"),
400
+ nwStatusShape.BLOCK_1: QT_TRANSLATE_NOOP("Constant", "1 Block"),
401
+ nwStatusShape.BLOCK_2: QT_TRANSLATE_NOOP("Constant", "2 Blocks"),
402
+ nwStatusShape.BLOCK_3: QT_TRANSLATE_NOOP("Constant", "3 Blocks"),
403
+ nwStatusShape.BLOCK_4: QT_TRANSLATE_NOOP("Constant", "4 Blocks"),
399
404
  }
400
405
  FILE_FILTERS = {
401
406
  "*.txt": QT_TRANSLATE_NOOP("Constant", "Text files"),
@@ -32,7 +32,7 @@ from PyQt5.QtWidgets import QGridLayout, QLabel, QWidget
32
32
 
33
33
  from novelwriter import CONFIG, SHARED
34
34
  from novelwriter.common import elide
35
- from novelwriter.constants import nwLabels, nwStats, trConst
35
+ from novelwriter.constants import nwLabels, nwStats, trConst, trStats
36
36
  from novelwriter.enum import nwChange
37
37
  from novelwriter.types import (
38
38
  QtAlignLeft, QtAlignLeftBase, QtAlignRight, QtAlignRightBase,
@@ -65,9 +65,9 @@ class GuiItemDetails(QWidget):
65
65
  fntValue = self.font()
66
66
  fntValue.setPointSizeF(0.9*fPt)
67
67
 
68
- trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS])
69
- trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS])
70
- trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
68
+ trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
69
+ trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
70
+ trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
71
71
 
72
72
  # Label
73
73
  self.labelName = QLabel(self.tr("Label"), self)
@@ -35,7 +35,7 @@ from novelwriter import CONFIG, SHARED
35
35
  from novelwriter.common import openExternalPath, qtLambda
36
36
  from novelwriter.constants import (
37
37
  nwConst, nwKeyWords, nwLabels, nwShortcode, nwStats, nwStyles, nwUnicode,
38
- trConst
38
+ trConst, trStats
39
39
  )
40
40
  from novelwriter.enum import nwDocAction, nwDocInsert, nwFocus, nwView
41
41
  from novelwriter.extensions.eventfilters import StatusTipFilter
@@ -601,7 +601,7 @@ class GuiMainMenu(QMenuBar):
601
601
  self.mInsField = self.insMenu.addMenu(self.tr("Word/Character Count"))
602
602
  for field in nwStats.ALL_FIELDS:
603
603
  value = nwShortcode.FIELD_VALUE.format(field)
604
- action = self.mInsField.addAction(trConst(nwLabels.STATS_NAME[field]))
604
+ action = self.mInsField.addAction(trStats(nwLabels.STATS_NAME[field]))
605
605
  action.triggered.connect(qtLambda(self.requestDocInsertText.emit, value))
606
606
 
607
607
  # Insert > Breaks and Vertical Space
@@ -42,7 +42,7 @@ from PyQt5.QtWidgets import (
42
42
 
43
43
  from novelwriter import CONFIG, SHARED
44
44
  from novelwriter.common import checkInt, formatFileFilter
45
- from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst
45
+ from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst, trStats
46
46
  from novelwriter.enum import nwChange, nwDocMode, nwItemClass, nwItemLayout, nwItemType, nwOutline
47
47
  from novelwriter.error import logException
48
48
  from novelwriter.extensions.configlayout import NColourLabel
@@ -815,9 +815,9 @@ class GuiOutlineDetails(QScrollArea):
815
815
 
816
816
  bFont = SHARED.theme.guiFontB
817
817
 
818
- trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS])
819
- trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS])
820
- trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
818
+ trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
819
+ trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
820
+ trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
821
821
 
822
822
  # Details Area
823
823
  self.titleLabel = QLabel(self.tr("Title"), self)
@@ -43,7 +43,7 @@ from PyQt5.QtWidgets import (
43
43
 
44
44
  from novelwriter import CONFIG, SHARED
45
45
  from novelwriter.common import fuzzyTime
46
- from novelwriter.constants import nwLabels, nwStats, trConst
46
+ from novelwriter.constants import nwLabels, nwStats, trStats
47
47
  from novelwriter.core.buildsettings import BuildCollection, BuildSettings
48
48
  from novelwriter.core.docbuild import NWBuildDocument
49
49
  from novelwriter.extensions.modified import NIconToggleButton, NIconToolButton, NToolDialog
@@ -1037,17 +1037,17 @@ class _StatsWidget(QWidget):
1037
1037
  hPx = CONFIG.pxInt(12)
1038
1038
  vPx = CONFIG.pxInt(4)
1039
1039
 
1040
- trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS])
1041
- trTextChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TEXT])
1042
- trTitleChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TITLE])
1043
- trParagraphCount = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
1044
- trTitleCount = trConst(nwLabels.STATS_NAME[nwStats.TITLES])
1045
- trAllWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_ALL])
1046
- trTextWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT])
1047
- trTitleWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE])
1048
- trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS])
1049
- trTextWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TEXT])
1050
- trTitleWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TITLE])
1040
+ trAllChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
1041
+ trTextChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TEXT])
1042
+ trTitleChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TITLE])
1043
+ trParagraphCount = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
1044
+ trTitleCount = trStats(nwLabels.STATS_NAME[nwStats.TITLES])
1045
+ trAllWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_ALL])
1046
+ trTextWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT])
1047
+ trTitleWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE])
1048
+ trAllWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
1049
+ trTextWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TEXT])
1050
+ trTitleWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TITLE])
1051
1051
 
1052
1052
  # Minimal Form
1053
1053
  self.minWordCount = QLabel(self)