Merge pull request #693 from vkbo/translations

Translations Rondup
This commit is contained in:
Veronica Berglyd Olsen
2021-02-24 22:34:04 +01:00
committed by GitHub
13 changed files with 5235 additions and 383 deletions
+4853
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -350,7 +350,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/about.py" line="95"/> <location filename="../nw/gui/about.py" line="95"/>
<source>License</source> <source>Licence</source>
<translation>Licence</translation> <translation>Licence</translation>
</message> </message>
<message> <message>
@@ -380,7 +380,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/about.py" line="146"/> <location filename="../nw/gui/about.py" line="146"/>
<source>See the License tab for the full license text, or visit the GNU website at {0} for more details.</source> <source>See the Licence tab for the full licence text, or visit the GNU website at {0} for more details.</source>
<translation>Ouvrez l&apos;onglet Licence pour voir le texte complet de la licence (en anglais), ou visitez le site de GNU à l&apos;adresse {0} pour en lire une traduction ou pour obtenir plus de détails.</translation> <translation>Ouvrez l&apos;onglet Licence pour voir le texte complet de la licence (en anglais), ou visitez le site de GNU à l&apos;adresse {0} pour en lire une traduction ou pour obtenir plus de détails.</translation>
</message> </message>
<message> <message>
@@ -400,7 +400,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/about.py" line="198"/> <location filename="../nw/gui/about.py" line="198"/>
<source>License: {0}</source> <source>Licence: {0}</source>
<translation>Licence: {0}</translation> <translation>Licence: {0}</translation>
</message> </message>
<message> <message>
@@ -678,7 +678,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/build.py" line="471"/> <location filename="../nw/gui/build.py" line="471"/>
<source>JSON + novelWriters Markdown (.json)</source> <source>JSON + novelWriter Markdown (.json)</source>
<translation>JSON + Markdown novelWriter (.json)</translation> <translation>JSON + Markdown novelWriter (.json)</translation>
</message> </message>
<message> <message>
@@ -1008,7 +1008,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/doceditor.py" line="1332"/> <location filename="../nw/gui/doceditor.py" line="1332"/>
<source>Please selection some text before calling replace quotes.</source> <source>Please select some text before calling replace quotes.</source>
<translation>Veuillez sélectionner du texte avant de demander le remplacement des guillemets.</translation> <translation>Veuillez sélectionner du texte avant de demander le remplacement des guillemets.</translation>
</message> </message>
</context> </context>
@@ -2521,11 +2521,6 @@
<source>Writing Statistics</source> <source>Writing Statistics</source>
<translation>Statistiques d&apos;écriture</translation> <translation>Statistiques d&apos;écriture</translation>
</message> </message>
<message>
<location filename="../nw/gui/mainmenu.py" line="992"/>
<source>Show the writing statistics dialog</source>
<translation>Afficher le dialogue des statistiques d&apos;écriture</translation>
</message>
<message> <message>
<location filename="../nw/gui/mainmenu.py" line="999"/> <location filename="../nw/gui/mainmenu.py" line="999"/>
<source>Preferences</source> <source>Preferences</source>
@@ -2606,6 +2601,11 @@
<source>Open the novelWriter website at {0}</source> <source>Open the novelWriter website at {0}</source>
<translation>Ouvrir le site web de novelWriter à {0}</translation> <translation>Ouvrir le site web de novelWriter à {0}</translation>
</message> </message>
<message>
<location filename="../nw/gui/mainmenu.py" line="992"/>
<source>Show the writing statistics dialogue</source>
<translation>Afficher le dialogue des statistiques d&apos;écriture</translation>
</message>
</context> </context>
<context> <context>
<name>GuiMainStatus</name> <name>GuiMainStatus</name>
@@ -3283,7 +3283,7 @@
</message> </message>
<message> <message>
<location filename="../nw/gui/preferences.py" line="380"/> <location filename="../nw/gui/preferences.py" line="380"/>
<source>Can be overridden for individual projects in project settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Peut être invalidé pour des projets spécifiques dans leurs paramètres.</translation> <translation>Peut être invalidé pour des projets spécifiques dans leurs paramètres.</translation>
</message> </message>
<message> <message>
@@ -4411,12 +4411,12 @@
</message> </message>
<message> <message>
<location filename="../nw/core/project.py" line="989"/> <location filename="../nw/core/project.py" line="989"/>
<source>You must set a valid backup path in preferences to use the automatic project backup feature.</source> <source>You must set a valid backup path in Preferences to use the automatic project backup feature.</source>
<translation>Vous devez spécifier un répertoire de sauvegarde valide dans les préférences du projet avant d&apos;utiliser la fonction de sauvegarde automatique.</translation> <translation>Vous devez spécifier un répertoire de sauvegarde valide dans les préférences du projet avant d&apos;utiliser la fonction de sauvegarde automatique.</translation>
</message> </message>
<message> <message>
<location filename="../nw/core/project.py" line="998"/> <location filename="../nw/core/project.py" line="998"/>
<source>You must set a valid project name in project settings to use the automatic project backup feature.</source> <source>You must set a valid project name in Project Settings to use the automatic project backup feature.</source>
<translation>Vous devez spécifier un titre de travail valide dans les préférences du projet avant d&apos;utiliser la fonction de sauvegarde automatique.</translation> <translation>Vous devez spécifier un titre de travail valide dans les préférences du projet avant d&apos;utiliser la fonction de sauvegarde automatique.</translation>
</message> </message>
<message> <message>
+177 -178
View File
File diff suppressed because it is too large Load Diff
+176 -177
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -32,6 +32,7 @@ SOURCES += \
nw/guimain.py nw/guimain.py
TRANSLATIONS += \ TRANSLATIONS += \
i18n/nw_en_US.ts \
i18n/nw_fr.ts \ i18n/nw_fr.ts \
i18n/nw_nb_NO.ts \ i18n/nw_nb_NO.ts \
i18n/nw_pt.ts i18n/nw_pt.ts
+1 -1
View File
@@ -137,7 +137,7 @@ def main(sysArgs=None):
"This program is distributed in the hope that it will be useful,\n" "This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
"GNU General Public License for more details.\n" "GNU General Public Licence for more details.\n"
"\n" "\n"
"Usage:\n" "Usage:\n"
" -h, --help Print this message.\n" " -h, --help Print this message.\n"
+2 -2
View File
@@ -988,7 +988,7 @@ class NWProject():
if not os.path.isdir(self.mainConf.backupPath): if not os.path.isdir(self.mainConf.backupPath):
self.theParent.makeAlert( self.theParent.makeAlert(
self.tr( self.tr(
"You must set a valid backup path in preferences to use " "You must set a valid backup path in Preferences to use "
"the automatic project backup feature." "the automatic project backup feature."
), nwAlert.WARN ), nwAlert.WARN
) )
@@ -997,7 +997,7 @@ class NWProject():
if self.projName == "": if self.projName == "":
self.theParent.makeAlert( self.theParent.makeAlert(
self.tr( self.tr(
"You must set a valid project name in project settings to " "You must set a valid project name in Project Settings to "
"use the automatic project backup feature." "use the automatic project backup feature."
), nwAlert.WARN ), nwAlert.WARN
) )
+7 -7
View File
@@ -92,7 +92,7 @@ class GuiAbout(QDialog):
self.tabBox = QTabWidget() self.tabBox = QTabWidget()
self.tabBox.addTab(self.pageAbout, self.tr("About")) self.tabBox.addTab(self.pageAbout, self.tr("About"))
self.tabBox.addTab(self.pageNotes, self.tr("Release")) self.tabBox.addTab(self.pageNotes, self.tr("Release"))
self.tabBox.addTab(self.pageLicense, self.tr("License")) self.tabBox.addTab(self.pageLicense, self.tr("Licence"))
self.innerBox.addWidget(self.tabBox) self.innerBox.addWidget(self.tabBox)
# OK Button # OK Button
@@ -165,7 +165,7 @@ class GuiAbout(QDialog):
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
), ),
license3 = self.tr( license3 = self.tr(
"See the License tab for the full license text, or visit the " "See the Licence tab for the full licence text, or visit the "
"GNU website at {0} for more details." "GNU website at {0} for more details."
).format( ).format(
"<a href='https://www.gnu.org/licenses/gpl-3.0.html'>GPL v3.0</a>" "<a href='https://www.gnu.org/licenses/gpl-3.0.html'>GPL v3.0</a>"
@@ -179,7 +179,7 @@ class GuiAbout(QDialog):
self.tr("Theme: {0}").format(theTheme.themeName), self.tr("Theme: {0}").format(theTheme.themeName),
self.tr("Author: {0}").format(theTheme.themeAuthor), self.tr("Author: {0}").format(theTheme.themeAuthor),
self.tr("Credit: {0}").format(theTheme.themeCredit), self.tr("Credit: {0}").format(theTheme.themeCredit),
self.tr("License: {0}").format( self.tr("Licence: {0}").format(
f"<a href='{theTheme.themeLicenseUrl}'>{theTheme.themeLicense}</a>" f"<a href='{theTheme.themeLicenseUrl}'>{theTheme.themeLicense}</a>"
) )
) )
@@ -189,7 +189,7 @@ class GuiAbout(QDialog):
self.tr("Icons: {0}").format(theIcons.themeName), self.tr("Icons: {0}").format(theIcons.themeName),
self.tr("Author: {0}").format(theIcons.themeAuthor), self.tr("Author: {0}").format(theIcons.themeAuthor),
self.tr("Credit: {0}").format(theIcons.themeCredit), self.tr("Credit: {0}").format(theIcons.themeCredit),
self.tr("License: {0}").format( self.tr("Licence: {0}").format(
f"<a href='{theIcons.themeLicenseUrl}'>{theIcons.themeLicense}</a>" f"<a href='{theIcons.themeLicenseUrl}'>{theIcons.themeLicense}</a>"
) )
) )
@@ -199,7 +199,7 @@ class GuiAbout(QDialog):
self.tr("Syntax: {0}").format(theTheme.syntaxName), self.tr("Syntax: {0}").format(theTheme.syntaxName),
self.tr("Author: {0}").format(theTheme.syntaxAuthor), self.tr("Author: {0}").format(theTheme.syntaxAuthor),
self.tr("Credit: {0}").format(theTheme.syntaxCredit), self.tr("Credit: {0}").format(theTheme.syntaxCredit),
self.tr("License: {0}").format( self.tr("Licence: {0}").format(
f"<a href='{theTheme.syntaxLicenseUrl}'>{theTheme.syntaxLicense}</a>" f"<a href='{theTheme.syntaxLicenseUrl}'>{theTheme.syntaxLicense}</a>"
) )
) )
@@ -221,7 +221,7 @@ class GuiAbout(QDialog):
return return
def _fillLicensePage(self): def _fillLicensePage(self):
"""Load the content for the License page. """Load the content for the Licence page.
""" """
docPath = os.path.join(self.mainConf.assetPath, "text", "gplv3_en.htm") docPath = os.path.join(self.mainConf.assetPath, "text", "gplv3_en.htm")
if os.path.isfile(docPath): if os.path.isfile(docPath):
@@ -229,7 +229,7 @@ class GuiAbout(QDialog):
helpText = inFile.read() helpText = inFile.read()
self.pageLicense.setHtml(helpText) self.pageLicense.setHtml(helpText)
else: else:
self.pageLicense.setHtml("Error loading license text ...") self.pageLicense.setHtml("Error loading licence text ...")
return return
def _setStyleSheet(self): def _setStyleSheet(self):
+1 -1
View File
@@ -468,7 +468,7 @@ class GuiBuildNovel(QDialog):
self.saveJsonH.triggered.connect(lambda: self._saveDocument(self.FMT_JSON_H)) self.saveJsonH.triggered.connect(lambda: self._saveDocument(self.FMT_JSON_H))
self.saveMenu.addAction(self.saveJsonH) self.saveMenu.addAction(self.saveJsonH)
self.saveJsonM = QAction(self.tr("JSON + novelWriters Markdown (.json)"), self) self.saveJsonM = QAction(self.tr("JSON + novelWriter Markdown (.json)"), self)
self.saveJsonM.triggered.connect(lambda: self._saveDocument(self.FMT_JSON_M)) self.saveJsonM.triggered.connect(lambda: self._saveDocument(self.FMT_JSON_M))
self.saveMenu.addAction(self.saveJsonM) self.saveMenu.addAction(self.saveJsonM)
+1 -1
View File
@@ -1330,7 +1330,7 @@ class GuiDocEditor(QTextEdit):
else: else:
self.theParent.makeAlert( self.theParent.makeAlert(
self.tr("Please selection some text before calling replace quotes."), self.tr("Please select some text before calling replace quotes."),
nwAlert.ERROR nwAlert.ERROR
) )
+1 -1
View File
@@ -989,7 +989,7 @@ class GuiMainMenu(QMenuBar):
# Tools > Writing Stats # Tools > Writing Stats
self.aWritingStats = QAction(self.tr("Writing Statistics"), self) self.aWritingStats = QAction(self.tr("Writing Statistics"), self)
self.aWritingStats.setStatusTip(self.tr("Show the writing statistics dialog")) self.aWritingStats.setStatusTip(self.tr("Show the writing statistics dialogue"))
self.aWritingStats.setShortcut("F6") self.aWritingStats.setShortcut("F6")
self.aWritingStats.triggered.connect(lambda: self.theParent.showWritingStatsDialog()) self.aWritingStats.triggered.connect(lambda: self.theParent.showWritingStatsDialog())
self.toolsMenu.addAction(self.aWritingStats) self.toolsMenu.addAction(self.aWritingStats)
+1 -1
View File
@@ -380,7 +380,7 @@ class GuiPreferencesProjects(QWidget):
self.mainForm.addRow( self.mainForm.addRow(
self.tr("Run backup when the project is closed"), self.tr("Run backup when the project is closed"),
self.backupOnClose, self.backupOnClose,
self.tr("Can be overridden for individual projects in project settings.") self.tr("Can be overridden for individual projects in Project Settings.")
) )
## Ask before backup ## Ask before backup
+1 -1
View File
@@ -55,7 +55,7 @@ def testGuiAbout_Dialog(qtbot, monkeypatch, nwGUI):
assert msgAbout.pageNotes.toPlainText() == "Error loading release notes text ..." assert msgAbout.pageNotes.toPlainText() == "Error loading release notes text ..."
msgAbout._fillLicensePage() msgAbout._fillLicensePage()
assert msgAbout.pageLicense.toPlainText() == "Error loading license text ..." assert msgAbout.pageLicense.toPlainText() == "Error loading licence text ..."
msgAbout.showReleaseNotes() msgAbout.showReleaseNotes()
assert msgAbout.tabBox.currentWidget() == msgAbout.pageNotes assert msgAbout.tabBox.currentWidget() == msgAbout.pageNotes