diff --git a/nw/__init__.py b/nw/__init__.py index a2122e73..596e3447 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -74,8 +74,8 @@ __helpurl__ = "https://github.com/vkbo/novelWriter/discussions" __releaseurl__ = "https://github.com/vkbo/novelWriter/releases/latest" __docurl__ = "https://novelwriter.readthedocs.io" __credits__ = [ - "Veronica Berglyd Olsen (developer)", - "Marian Lückhof (contributor, tester)" + "Veronica Berglyd Olsen (author, maintainer)", + "Marian Lückhof (concept, testing)" ] ## diff --git a/nw/gui/about.py b/nw/gui/about.py index f2335c1a..5e0c9da7 100644 --- a/nw/gui/about.py +++ b/nw/gui/about.py @@ -135,8 +135,8 @@ class GuiAbout(QDialog): webLink = f"{nw.__domain__:s}" aboutMsg = ( "

{title1}

" - "

{copyright}.

" - "

{website}

" + "

{copy}

" + "

{link}

" "

{intro}

" "

{license1}

" "

{license2}

" @@ -144,27 +144,27 @@ class GuiAbout(QDialog): "

{title2}

" "

{credits}

" ).format( - title1 = self.tr("About novelWriter"), - copyright = nw.__copyright__, - website = self.tr("Website: {0}").format(webLink), - title2 = self.tr("Credits"), - credits = "
".join(["%s%s" % (listPrefix, x) for x in nw.__credits__]), - intro = self.tr( + title1 = self.tr("About novelWriter"), + copy = nw.__copyright__, + link = self.tr("Website: {0}").format(webLink), + title2 = self.tr("Credits"), + credits = "
".join(["%s%s" % (listPrefix, x) for x in nw.__credits__]), + intro = self.tr( "novelWriter is a markdown-like text editor designed for organising and " "writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5." ), - license1 = self.tr( + license1 = self.tr( "novelWriter is free software: you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the " "Free Software Foundation, either version 3 of the License, or (at your " "option) any later version." ), - license2 = self.tr( + license2 = self.tr( "novelWriter is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; without even the implied warranty of " "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ), - license3 = self.tr( + license3 = self.tr( "See the Licence tab for the full licence text, or visit the " "GNU website at {0} for more details." ).format( @@ -172,34 +172,47 @@ class GuiAbout(QDialog): ), ) + trOrder = self.tr("{0}{1}: {2}") + i18n = [ + ("American English", "Veronica Berglyd Olsen"), + ("British English", "Veronica Berglyd Olsen"), + ("Français", "Jan Lüdke (jyhelle)"), + ("Norsk Bokmål", "Veronica Berglyd Olsen"), + ("Português", "Bruno Meneguello"), + ] + aboutMsg += "

%s

%s

" % ( + self.tr("Translations"), + "
".join([trOrder.format(listPrefix, n, c) for n, c in i18n]), + ) + theTheme = self.theParent.theTheme theIcons = self.theParent.theTheme.theIcons - if theTheme.themeName: + if theTheme.themeName and theTheme.themeAuthor != "N/A": aboutMsg += "

%s

%s
%s
%s

" % ( - self.tr("Theme: {0}").format(theTheme.themeName), - self.tr("Author: {0}").format(theTheme.themeAuthor), - self.tr("Credit: {0}").format(theTheme.themeCredit), - self.tr("Licence: {0}").format( + self.tr("Theme: {0}").format(theTheme.themeName), + self.tr("Author: {0}").format(theTheme.themeAuthor), + self.tr("Credit: {0}").format(theTheme.themeCredit), + self.tr("Licence: {0}").format( f"{theTheme.themeLicense}" ) ) if theIcons.themeName: aboutMsg += "

%s

%s
%s
%s

" % ( - self.tr("Icons: {0}").format(theIcons.themeName), - self.tr("Author: {0}").format(theIcons.themeAuthor), - self.tr("Credit: {0}").format(theIcons.themeCredit), - self.tr("Licence: {0}").format( + self.tr("Icons: {0}").format(theIcons.themeName), + self.tr("Author: {0}").format(theIcons.themeAuthor), + self.tr("Credit: {0}").format(theIcons.themeCredit), + self.tr("Licence: {0}").format( f"{theIcons.themeLicense}" ) ) if theTheme.syntaxName: aboutMsg += "

%s

%s
%s
%s

" % ( - self.tr("Syntax: {0}").format(theTheme.syntaxName), - self.tr("Author: {0}").format(theTheme.syntaxAuthor), - self.tr("Credit: {0}").format(theTheme.syntaxCredit), - self.tr("Licence: {0}").format( + self.tr("Syntax: {0}").format(theTheme.syntaxName), + self.tr("Author: {0}").format(theTheme.syntaxAuthor), + self.tr("Credit: {0}").format(theTheme.syntaxCredit), + self.tr("Licence: {0}").format( f"{theTheme.syntaxLicense}" ) )