Compare commits

...

47 Commits
v2.4 ... v2.4.4

Author SHA1 Message Date
Veronica Berglyd Olsen
0c7808a24b Release 2.4.4 (#1924) 2024-06-12 21:19:24 +02:00
Veronica Berglyd Olsen
4aadbdaed2 Bump version to 2.4.4 and update changelog 2024-06-11 22:36:31 +02:00
Veronica Berglyd Olsen
195a7e354b Ensure editor content is saved before using it (#1923) 2024-06-11 22:12:03 +02:00
Veronica Berglyd Olsen
c03e832c7b Make sure editor document is saved before using first title to set item label (#1914) 2024-06-11 22:00:59 +02:00
Veronica Berglyd Olsen
73515c96d8 Add a method in the shared object to ensure document editor is saved 2024-06-11 21:59:58 +02:00
Veronica Berglyd Olsen
a11a013d16 Remove deleteLater calls from Manuscript tools (#1905) 2024-05-30 16:48:17 +02:00
Veronica Berglyd Olsen
f34cb567e4 Backport deleteLater fix for Manuscript tools from 2.5 release 2024-05-30 16:43:47 +02:00
Veronica Berglyd Olsen
6cb330b06c Update Portuguese translation (#1904) 2024-05-30 16:37:08 +02:00
Veronica Berglyd Olsen
04cf375725 Update translation sources, and completed Portuguese translation 2024-05-30 16:31:17 +02:00
Veronica Berglyd Olsen
7b8021de02 Release 2.4.3 (#1878) 2024-05-20 12:32:32 +02:00
Veronica Berglyd Olsen
60593cde21 Bump version to 2.4.3 and update changelog 2024-05-20 12:29:03 +02:00
Veronica Berglyd Olsen
f9292d61da Fix how document font is set (#1877) 2024-05-20 12:16:41 +02:00
Veronica Berglyd Olsen
9388ce6a46 Fix support for 90% font 2024-05-20 12:00:19 +02:00
Veronica Berglyd Olsen
cb19475409 Add font init to viewer, and update manuscript tool preview 2024-05-20 11:36:30 +02:00
Veronica Berglyd Olsen
09b51badd4 Add an explicit font setting function for text editor that covers all font settings 2024-05-20 11:17:23 +02:00
Veronica Berglyd Olsen
fddd5fda47 Fix crash in dictionaries install tool (#1876) 2024-05-19 21:52:54 +02:00
Veronica Berglyd Olsen
5b0a6f05ed Fix enchant folder missing bug for dictionaries tool (#1874) 2024-05-19 21:47:53 +02:00
Veronica Berglyd Olsen
09018d1214 Release 2.4.2 (#1872) 2024-05-18 15:22:19 +02:00
Veronica Berglyd Olsen
de12b22c97 Bump version and update changelog 2024-05-18 15:19:30 +02:00
Veronica Berglyd Olsen
d1ae7f5fe2 Update Dutch and Chinese translations 2024-05-18 15:08:39 +02:00
Veronica Berglyd Olsen
6a441b1c6b Fix syntax highlighter init (#1866) 2024-05-14 09:37:00 +02:00
Veronica Berglyd Olsen
0afa15f2db Call highlighter init on editor init (#1865) 2024-05-14 09:29:21 +02:00
Veronica Berglyd Olsen
e4acfb4831 Fix manuscript tool font issue (#1863) 2024-05-13 12:33:22 +02:00
Veronica Berglyd Olsen
a8101c2231 Fix text font for header on build tool 2024-05-13 12:29:18 +02:00
Veronica Berglyd Olsen
2dbd3e2534 Release 2.4.1 (#1853) 2024-05-06 21:44:15 +02:00
Veronica Berglyd Olsen
f871a51e5b Bump version number to 2.4.1 and update changelog 2024-05-06 21:40:50 +02:00
Veronica Berglyd Olsen
6ab3c68ebb Update translation files for 2.4.1 (#1850) 2024-05-06 21:29:35 +02:00
Veronica Berglyd Olsen
7243ccd44c Update translation files 2024-05-04 21:00:51 +02:00
Veronica Berglyd Olsen
2a96fa1a2d Update the docs for 2.4.1 2024-05-04 20:54:56 +02:00
Veronica Berglyd Olsen
a3ed079828 Make sure dialogs close when project closes (#1848) 2024-05-02 21:08:46 +02:00
Veronica Berglyd Olsen
976ce16ac2 Update imports 2024-05-02 21:04:39 +02:00
Veronica Berglyd Olsen
5faeb12a74 Close non-modal dialogs when project closes 2024-05-02 21:02:23 +02:00
Veronica Berglyd Olsen
acc463eb76 Prune some unneeded translation strings 2024-05-02 19:38:13 +02:00
Veronica Berglyd Olsen
3b7459ffbc Add usability updates to the build tool (#1846) 2024-05-01 22:18:15 +02:00
Veronica Berglyd Olsen
cfb19a697a Restore build preview scroll bar after update (#1837) 2024-05-01 22:10:54 +02:00
Veronica Berglyd Olsen
ceec43db67 Make sure open document is saved before we update preview or build manuscript (#1835) 2024-05-01 22:09:43 +02:00
Veronica Berglyd Olsen
229fa39436 Fix build settings bug (#1845) 2024-05-01 20:33:22 +02:00
Veronica Berglyd Olsen
d0a45bceca Make sure build map is cleared when list is updated 2024-05-01 20:30:32 +02:00
Veronica Berglyd Olsen
e1a1b5980e Make sure build settings are closed before deletion 2024-05-01 20:23:59 +02:00
Veronica Berglyd Olsen
0092b3ece6 Fix two minor issues (#1843) 2024-05-01 19:30:13 +02:00
Veronica Berglyd Olsen
d01c1e867d Pin MacOS tests to macos-13 image 2024-05-01 19:26:59 +02:00
Veronica Berglyd Olsen
dd3c8dfac8 Use GUI font for the header and footer in the editor and viewer (#1842) 2024-05-01 19:22:22 +02:00
Veronica Berglyd Olsen
7c9c5a9a76 Fix garbage collection blocker in build settings 2024-05-01 19:12:45 +02:00
Veronica Berglyd Olsen
8f9a55c5ca Add tools settings to pyproject 2024-05-01 19:12:27 +02:00
Veronica Berglyd Olsen
d3c9168ebf Make MacOS build script executable 2024-04-21 13:17:55 +02:00
Veronica Berglyd Olsen
4d153b8d99 Backport ARM build for MacOS from 2.5 branch 2024-04-21 13:14:38 +02:00
Veronica Berglyd Olsen
cb94be5b3c Post-release updates 2024-04-20 17:30:35 +02:00
35 changed files with 2893 additions and 3262 deletions

View File

@@ -9,7 +9,7 @@ jobs:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
architecture: x64
- name: Install Packages (apt)
@@ -35,7 +35,7 @@ jobs:
novelwriter/assets/manual.pdf
novelwriter/assets/i18n/*.qm
if-no-files-found: error
retention-days: 1
retention-days: 14
buildLinux:
needs: buildAssets
@@ -72,11 +72,16 @@ jobs:
name: AppImage-${{ matrix.python-version }}-${{ matrix.linux-tag }}
path: dist_appimage
if-no-files-found: error
retention-days: 1
retention-days: 14
buildMac:
buildMac-AMD64:
needs: buildAssets
# Stay on macos-12 due to https://github.com/create-dmg/create-dmg/issues/143
runs-on: macos-12
env:
PYTHON_VERSION: "3.12"
PACKAGE_ARCH: x86_64
MINICONDA_ARCH: x86_64
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -88,12 +93,40 @@ jobs:
path: novelwriter/assets
- name: Build App Bundle
run: ./setup/macos/build.sh
run: ./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: MacOS-DMG
name: MacOS-AMD64-DMG
path: dist_macos
if-no-files-found: error
retention-days: 1
retention-days: 14
buildMac-M1:
needs: buildAssets
runs-on: macos-14
env:
PYTHON_VERSION: "3.12"
PACKAGE_ARCH: aarch64
MINICONDA_ARCH: arm64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build App Bundle
run: ./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: MacOS-M1-DMG
path: dist_macos
if-no-files-found: error
retention-days: 14

View File

@@ -12,7 +12,7 @@ on:
jobs:
testMac:
runs-on: macos-latest
runs-on: macos-13
steps:
- name: Python Setup
uses: actions/setup-python@v5

View File

@@ -1,5 +1,111 @@
# novelWriter Changelog
## Version 2.4.4 [2024-06-12]
### Release Notes
This is a patch release that fixes a usage issue when setting document label from an unsaved
document, fixes a rare chance of a crash when closing the Manuscript tool, and updates the
Portuguese translation.
### Detailed Changelog
**Bugfixes**
* Backported some memory improvements from the upcoming 2.5 release. This also fixes a potential,
but low probability crash in the Manuscript tool. If the tool is closed during the milliseconds
long window when the clock on the yellow label is updated, the app can crash with a segmentation
fault. PRs #1903 and #1905.
* Fixed an issue where changing a document's label to match the document heading would suggest the
wrong title if the document was open in the editor, but in an unsaved state. An easy condition to
encounter when creating a new document and setting the heading first. Issue #1914. PR #1923.
**Internationalisation**
* Portuguese translation updated by Oli Maia. PR #1904.
----
## Version 2.4.3 [2024-05-20]
### Release Notes
This is a patch release that fixes issues with the document font in the editor, viewer and
manuscript preview on some Linux distros, and also fixes a potential crash on Windows when using
the spell check dictionary install tool.
### Detailed Changelog
**Bugfixes**
* Fixed a crash in the dictionaries install tool on Windows if the config folder reported by the
third party Enchant spell checker tool didn't already exist prior to adding new dictionaries.
The folder is now created when the tool is opened if it doesn't exist. Issue #1874. PR #1876.
* Fixed issues when setting a different text font for the editor and viewer, and related issues
with the preview in the Manuscript Build tool, on certain platforms. Changing the font and
setting non-standard font sizes produced unexpected results when reloading. The issue seems to be
related to Qt 5.15.3, but that is not fully confirmed. However, the only place so far where the
issue is observed is on Mint 21.3. Issues #1862 and #1875. PR #1877.
----
## Version 2.4.2 [2024-05-18]
### Release Notes
This is a patch release that fixes two minor font issues and updates the Dutch and Chinese
translations.
### Detailed Changelog
**Bugfixes**
* Change the preview widget in the Manuscript Build tool to use the document font only for the
document itself, not the yellow heading stating the age of the previewed text. PR #1863.
* Fixes the syntax highlighter so that it is re-initialised when the document editor is
re-initialised, so that changes to document font size regenerates the heading font sizes as well.
Issue #1865. PR #1866.
**Internationalisation**
* Dutch translation updated by Martijn van der Kleijn (@mvdkleijn). PR #1872.
* Chinese translation updated by @longqzh. PR #1872.
----
## Version 2.4.1 [2024-05-06]
### Release Notes
This is a patch release that fixes a number of minor issues with the Manuscript Build tool. The
only critical fix is related to a potential crash when deleting a build entry when its settings
dialog is still open.
### Detailed Changelog
**Bugfixes**
* Fixed an issue that could crash novelWriter if a build settings entry was deleted from the
Manuscript tool while its settings window was open. PR #1845.
**Improvements**
* Changed the font used for the document editor and viewer header and footer from the one used for
the document text to the one used for the user interface. Issue #1842. PR #1843.
* Added a save document step in the editor before running a manuscript build or a preview job. This
ensures that the text in the editor is included in the manuscript. Issue #1835. PR #1846.
* Restore preview panel scroll bar position after updating the preview on the Manuscript tool.
Issue #1837. PR #1846.
* Close all non-modal dialogs when a project is closed. PR #1848.
**Code Improvements**
* Fixed an issue with the Build Settings dialog that blocks the garbage collector from deleting the
dialog after it's been closed. PR #1843.
* Remove some deprecated translation entries from the translation files. PR #1850.
----
## Version 2.4 [2024-04-20]
### Release Notes

View File

@@ -16,13 +16,21 @@ This is a list of hopefully helpful little tips on how to get the most out of no
Managing the Project
====================
.. dropdown:: Create a Project from a Template
:animate: fade-in-slide-down
On the Welcome dialog's **Create New Project** form, you can select to "Prefill Project" from
the content of a different project. This feature is most useful if you copy a project you have
dedicated to be a template project. If you have a structure and settings you want to use for
every new project, this is the best solution.
.. dropdown:: Merge Multiple Documents Into One
:animate: fade-in-slide-down
If you need to merge a selection of documents in your project into a single document, you can
achieve this by first making a new folder for just that purpose, and drag all the files you want
merged into this folder. Then you can right click the folder, select :guilabel:`Transform` and
:guilabel:`Merge Documents in Folder`.
achieve this by first making a new folder for just that purpose, and drag all the documents you
want merged into this folder. Then you can right click the folder, select :guilabel:`Transform`
and :guilabel:`Merge Documents in Folder`.
In the dialog that pops up, the documents will be in the same order as in the folder, but you
can rearrange them here of you wish. See :ref:`a_ui_tree_split_merge` for more details.
@@ -58,8 +66,6 @@ Organising Your Text
such text. Separating chapter and scene files also allows you to make scene files child
documents of the chapter.
.. versionadded:: 2.0
.. dropdown:: Distinguishing Soft and Hard Scene Breaks
:animate: fade-in-slide-down

View File

@@ -1,8 +1,17 @@
.. _a_proj:
**************
Novel Projects
**************
*****************
Managing Projects
*****************
Your text in novelWriter is organised into projects. Each project is meant to contain one novel
and associated notes. If you have multiple novels in a series, with the same characters and shared
notes, it is also possible to keep all of them in the same project.
.. _a_proj_new:
Creating Project
================
New projects can be created from the **Project** menu by selecting **Create or Open Project**. This
will open the **Welcome** dialog, where you can select the :guilabel:`New` button that will assist
@@ -27,10 +36,19 @@ and page counts, is available through the **Novel Details** dialog. Statistics a
is also available in the **Manuscript Build** tool.
Template Projects
-----------------
From the Welcome dialog you can also create a new from another existing project. If you have a
specific structure you want to use for all your new projects, you can create a dedicated project to
be used as a template, and select to copy an existing project from the :guilabel:"Prefill Project"
option from the **New Project** form.
.. _a_proj_roots:
Project Roots
=============
Project Structure
=================
Projects are structured into a set of top level folders called "Root Folders". They are visible in
the project tree at the left side of the main window.

View File

@@ -763,27 +763,27 @@
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation type="unfinished" />
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation type="unfinished" />
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation type="unfinished" />
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation type="unfinished" />
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation type="unfinished" />
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation type="unfinished" />
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation type="unfinished" />
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation type="unfinished" />
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation type="unfinished" />
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation type="unfinished" />
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation type="unfinished" />
</message>
@@ -3860,79 +3860,20 @@
<translation type="unfinished" />
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation type="unfinished" />
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation type="unfinished" />
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation type="unfinished" />
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation type="unfinished" />
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation type="unfinished" />
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation type="unfinished" />
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation type="unfinished" />
</message>

View File

@@ -763,27 +763,27 @@
<translation>Installationspfad der Wörterbücher</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Weitere Wörterbücher gefunden: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Erweiterung für FreeOffice oder LibreOffice</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Dateien suchen</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>Wörterbuchdatei konnte nicht verarbeitet werden</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Hinzugefügt: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Zeile: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Wörter: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Wörter: {0} markiert</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>Status</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Werkzeugleiste ein/aus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Gliederung</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Ablenkungsfrei ein/aus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Schließen</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Suchen nach</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Ersetzen durch</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Suchen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Groß-/Kleinschreibung beachten</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Nur ganze Wörter</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>RegEx-Modus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Suche am Anfang fortsetzen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Nächstes Dokument durchsuchen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Groß-/Kleinschreibung beibehalten</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Suche schließen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Im geöffneten Dokument suchen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Im geöffneten Dokument suchen und ersetzen</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Dokument geöffnet: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>Dieses Dokument wurde außerhalb von novelWriter geändert, während es hier geöffnet war. Möchten Sie die externen Änderungen überschreiben?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>Dokument konnte nicht gespeichert werden.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Dokument gespeichert: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>Die Rechtschreibprüfung erfordert das Paket PyEnchant. Es scheint nicht installiert zu sein.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>Rechtschreibprüfung abgeschlossen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Details</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Erstellt: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Aktualisiert: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>Dateispeicherort: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Als Dokumentname verwenden</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Schlagwort öffnen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Notiz für Schlagwort erstellen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Ausschneiden</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Einfügen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Alles markieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Wort markieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Absatz markieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Korrekturvorschläge</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>Keine Vorschläge</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Zum Wörterbuch hinzufügen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Bitte markieren Sie den Text, in dem die Anführungszeichen ersetzt werden sollen.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>Möchten Sie für das Schlagwort „{0}“ eine neue Projektnotiz erstellen?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Fett mit Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Kursiv mit Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Durchgestrichen mit Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Fett mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Kursiv mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Durchgestrichen mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Unterstrichen mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Hervorheben mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Hochgestellt mit Shortcode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Tiefgestellt mit Shortcode</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Ansichtsbereich ein-/ausblenden</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Kommentare</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Kommentare anzeigen</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Zusammenfassung</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Zusammenfassung anzeigen</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Gliederung</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Vor</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Aktualisieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Schließen</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>Fehler beim Erstellen der Vorschau.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Alles markieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Wort markieren</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Absatz markieren</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Manuskript erstellen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Ausgabeformat</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Inhaltsverzeichnis</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Pfad</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>Dateiname</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Dateiname auf Standard zurücksetzen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Ordner öffnen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;Erstellen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Verzeichnis wählen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>Das Ausgabeverzeichnis existiert nicht.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>Die Datei ist bereits vorhanden. Möchten Sie sie überschreiben?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Gliederung für</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Standard wiederherstellen</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Zurück</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Zurück</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Fortsetzen</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Weiter</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;Weiter &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Commit</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Fertig</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Fertig</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>&amp;Abbrechen</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Hilfe</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>novelWriter-Projektdatei oder Zip-Datei</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>novelWriter-Projektdatei</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Projekt öffnen</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Einstellung</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Wert</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Auswahl</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Titel</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Ausgeblendet</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Information</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Frage</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Zum Generieren den "Vorschau"-Button anklicken ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>In Bearbeitung ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Fertig</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Unbekannt</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Erstellt</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Wörter</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Zeichen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Wörter in Überschriften</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Wörter im Text</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Überschriften</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Absätze</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Zeichen in Überschriften</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Zeichen im Text</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Zeichen ohne Leerzeichen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Zeichen in Überschriften ohne Leerzeichen</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Zeichen im Text ohne Leerzeichen</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>Dictionary install location</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Additional dictionaries found: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Free or Libre Office extension</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Browse Files</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>Could not process dictionary file</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Added: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Line: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Words: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Words: {0} selected</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>Status</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Toggle Tool Bar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Outline</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Search</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Toggle Focus Mode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Close</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Search for</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Replace with</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Search</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Case Sensitive</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Whole Words Only</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>RegEx Mode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Loop Search</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Search Next File</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Preserve Case</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Close Search</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Find in current document</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Find and replace in current document</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Opened Document: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>Could not save document.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Saved Document: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>Spell checking requires the package PyEnchant. It does not appear to be installed.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>Spell check complete</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Document Details</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Created: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Updated: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>File Location: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Set as Document Name</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Follow Tag</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Create Note for Tag</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Cut</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Copy</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Paste</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Select All</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Select Word</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Select Paragraph</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Spelling Suggestion(s)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>No Suggestions</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Add Word to Dictionary</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Please select some text before calling replace quotes.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>Do you want to create a new project note for the tag '{0}'?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Markdown Bold</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Markdown Italic</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Markdown Strikethrough</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Shortcode Bold</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Shortcode Italic</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Shortcode Strikethrough</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Shortcode Underline</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Shortcode Highlight</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Shortcode Superscript</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Shortcode Subscript</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Show/Hide Viewer Panel</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Comments</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Show Comments</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Synopsis</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Show Synopsis Comments</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Outline</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Go Backward</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Go Forward</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Reload</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Close</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>An error occurred while generating the preview.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Copy</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Select All</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Select Word</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Select Paragraph</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Build Manuscript</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Output Format</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Table of Contents</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Path</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>File Name</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Reset file name to default</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;Build</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Select Folder</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>Output folder does not exist.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>The file already exists. Do you want to overwrite it?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Outline of</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Restore Defaults</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Go Back</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Back</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Continue</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Next</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;Next &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Commit</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Done</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Finish</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Help</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Help</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>novelWriter Project File or Zip File</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>novelWriter Project File</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Open Project</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Setting</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Value</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Selection</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Title</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Hidden</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Information</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Warning</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Question</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Press the "Preview" button to generate ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>Processing ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Done</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Unknown</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Built</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Words</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Characters</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Words in Headings</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Words in Text</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Headings</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Paragraphs</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Characters in Headings</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Characters in Text</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Characters, No Spaces</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Characters in Headings, No Spaces</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Characters in Text, No Spaces</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>Ubicación para instalar el diccionario</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Diccionarios encontrados: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Extensión de Free o Libre Office</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Explorar Archivos</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>No se pudo procesar el archivo de diccionario</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Agregado: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Línea: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Palabras: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Palabras: {0} seleccionadas</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>Estado</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Alternar Barra de Herramientas</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Estructura</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Buscar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Alternar el Modo Enfocado</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Cerrar</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Buscar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Reemplazar con</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Buscar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Sensibilidad a Mayúsculas y Minúsculas</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Sólo Palabras Enteras</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>Modo ExReg</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Reiniciar la Búsqueda</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Buscar en el Siguiente Archivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Conservar Mayúsculas y Minúsculas</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Cerrar la Búsqueda</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Buscar en el documento actual</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Buscar y reemplazar en el documento actual</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Se Abrió el Documento: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>Este documento ha cambiado por fuera de novelWriter estando abierto. ¿Sobreescribir en el disco?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>No se puedo guardar el documento.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Documento Guardado: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>Para la corrección ortográfica se requiere del paquete PyEnchant. Parece que no se encuentra instalado.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>Se completó la comprobación ortográfica</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Detalles del Documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Creación: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Actualizado en: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>Ubicación del Archivo: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Elegir como Nombre del Documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Continuar a Etiqueta</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Crear Nota para la Etiqueta</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Cortar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Pegar</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Seleccionar Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Seleccionar Palabra</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Seleccionar Párrafo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Sugerencia(s) de Ortografía</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>No Hay Sugerencias</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Añadir Palabra al Diccionario</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Por favor seleccione algo del texto antes de intentar reemplazar las comillas.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>¿Desea crear una nueva nota del proyecto para la etiqueta '{0}'?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Negrita (de Markdown)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Cursiva (de Markdown)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Tachado (de Markdown)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Negrita (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Cursiva (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Tachado (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Subrayado (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Resaltado (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Superíndice (en código)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Subíndice (en código)</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Mostrar / Ocultar Panel del Visualizador</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Comentarios</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Mostrar los Comentarios</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Sinopsis</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Mostrar las Sinopsis</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Estructura</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Ir Atrás</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Ir Adelante</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Actualizar</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Cerrar</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>Ocurrió un error al generar la vista previa.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Seleccionar Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Seleccionar Palabra</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Seleccionar Párrafo</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Compilar el Manuscrito</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Grabar al Siguiente Formato</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Tabla de Contenidos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Ruta</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>Nombre del Archivo</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Restablecer al Nombre de Archivo Por Defecto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Abrir la Carpeta</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>C&amp;ompilar</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Seleccionar una Carpeta</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>La carpeta destino no existe en la ruta definida.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>El archivo ya existe. ¿Desea sobrescribirlo?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Estructura de</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Restaurar valores predeterminados</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Volver</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Volver</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Siguiente</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>Seguir &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Confirmar</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Listo</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Finalizar</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Ayuda</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Ayuda</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>Archivo de proyecto de novelWriter o archivo Zip</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>Archivo de Proyecto de novelWriter</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Abrir un Proyecto</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Opciones</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Valores Definidos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Selecciones</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Título</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Oculto</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Información</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Advertencia</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Pregunta</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Pulse el botón "Vista Previa" para así generarla...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>Procesando...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Hecho</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Desconocido</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Compilado</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Palabras</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Caracteres</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Palabras en Titulos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Palabras en el Texto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Títulos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Párrafos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Caracteres en los Títulos</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Caracteres en el Texto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Caracteres, Sin Espacios</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Caracteres en los Títulos, Sin Espacios</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Caracteres en el Texto, Sin Espacios</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>Emplacement d'installation du dictionnaire</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Dictionnaires supplémentaires trouvés : {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Extension Free Office ou Libre Office</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Parcourir les fichiers</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>Impossible de traiter le fichier de dictionnaire</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Ajouté : {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Ligne : {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Mots : {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Mots sélectionnés : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>État</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Afficher/Masquer la barre d'outils</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Plan</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Chercher</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Basculer le mode focus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Fermer</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Rechercher</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Remplacer par</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Chercher</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Sensible à la casse</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Mots entiers uniquement</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>Expressions régulières</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Recherche en boucle</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Chercher dans le fichier suivant</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Conserver la casse</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Terminer la recherche</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Chercher dans le document actuel</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Chercher et remplacer dans le document actuel</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Document ouvert : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>Ce document a été modifié en dehors de novelWriter pendant qu'il était ouvert. Écraser le fichier sur le disque ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>Impossible d'enregistrer le document.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Document enregistré : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>La vérification orthographique nécessite PyEnchant qui ne semble pas installé ici.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>La vérification orthographique est terminée</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Détails du document</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Créé : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Mis à jour : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>Emplacement du fichier : {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Définir comme nom du document</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Suivre cette étiquette</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Créer une note pour l'étiquette</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Couper</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Coller</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Sélectionner tout</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Sélectionner le mot</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Sélectionner le paragraphe</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Orthographe suggérée</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>Pas de suggestion</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Ajouter ce mot au dictionnaire</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Veuillez sélectionner du texte avant de demander le remplacement des guillemets.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>Voulez-vous créer une nouvelle note de projet pour l'étiquette '{0}' ?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Markdown gras</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Markdown italique</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Markdown barré</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Code court gras</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Code court italique</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Code court barré</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Code court souligné</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Surligner les codes courts</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Code court exposant</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Code court indice</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Afficher/Masquer le panneau de visualisation</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Commentaires</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Afficher les commentaires</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Synopsis</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Afficher les commentaires du synopsis</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Plan</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Reculer</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Avancer</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Recharger</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Fermer</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>Une erreur est survenue durant la génération de l'aperçu.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Sélectionner tout</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Sélectionner le mot</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Sélectionner le paragraphe</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Compiler le manuscrit</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Format de sortie</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Table des matières</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Emplacement</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>Nom du fichier</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Rétablir le nom de fichier par défaut</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Ouvrir le dossier</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;Compiler</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Sélectionner un dossier</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>Le dossier de sortie n'existe pas.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>Ce fichier existe déjà. Voulez-vous l'écraser ?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Plan de</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Rétablir les valeurs par défaut</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Revenir en arrière</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; Retour</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Continuer</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Suivant</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;Suivant &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Appliquer</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Terminé</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Terminer</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>Fichier de projet ou fichier Zip novelWriter</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>Fichier projet novelWriter</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Ouvrir un projet</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Paramètre</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Valeur</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Sélection</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Titre</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Caché</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Information</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Avertissement</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Question</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Appuyez sur le bouton "Aperçu" pour générer...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>Traitement en cours...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Terminé</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Inconnu</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Compilé</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Mots</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Signes, espaces compris</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Mots dans les titres</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Mots dans le texte</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Titres</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Paragraphes</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Signes dans les titres</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Signes dans le texte</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Signes, espaces exclus</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Signes dans les titres, espaces exclus</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Signes dans le texte, espaces exclus</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>Posizione installazione del dizionario</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Dizionari aggiuntivi trovati: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Estensione di Free o Libre Office</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Sfoglia i file</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>Impossibile elaborare il file del dizionario</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Aggiunto: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Riga: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Parole: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Parole: {0} selezionate</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>Stato</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Attiva/disattiva la Barra degli strumenti</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Struttura</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Attiva/Disattiva modalità Focus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Chiudi</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Ricerca</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Sostituisci con</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Considera maiuscole/minuscole</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Solo parole intere</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>Modalità RegEx</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Ricerca a ciclo continuo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Cerca nel file successivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Non considerare maiuscole/minuscole</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Chiudi ricerca</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Trova nel documento corrente</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Trova e sostituisci nel documento corrente</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Documento aperto: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>Questo documento è stato cambiato al di fuori di novelWriter mentre era aperto. Sovrascrivere il file su disco?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>Impossibile salvare il documento.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Documento salvato: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>Il controllo ortografico richiede il pacchetto PyEnchant. Non sembra essere installato.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>Controllo ortografico completo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Dettagli del documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Creato: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Aggiornato: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>Posizione del file: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Imposta come nome del documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Segui i Tag</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Crea una nota per il Tag</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Taglia</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Incolla</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Seleziona tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Seleziona parola</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Seleziona paragrafo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Suggerimento(i) ortografico(i)</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>Nessun suggerimento</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Aggiungi parola al dizionario</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Per favore seleziona del testo prima di chiedere il cambio di virgolette.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>Vuoi creare una nuova nota di progetto per il tag '{0}'?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Markdown grassetto</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Markdown corsivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Markdown barrato</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Shortcode grassetto</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Shortcode corsivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Shortcode barrato</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Shortcode sottolineato</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Evidenziazione</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Shortcode apice</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Shortcode pendice</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Mostra/Nascondi il Pannello di visualizzazione</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Commenti</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Mostra i commenti</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Sinossi</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Mostra i commenti relativi alla sinossi</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Struttura</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Vai Indietro</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Vai Avanti</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Ricarica</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Chiudi</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>Si è verificato un errore durante la generazione dell'anteprima.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Seleziona tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Seleziona parola</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Seleziona paragrafo</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Compila manoscritto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Formato di output</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Tavola dei contenuti</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Percorso</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>Nome file</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Ripristina il nome del file predefinito</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Apri cartella</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;Compila</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Seleziona cartella</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>La cartella di output non esiste.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>Questo file esiste già. Vuoi sovrascriverlo?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Struttura di</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Ripristina predefiniti</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Torna indietro</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Indietro</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Successivo</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;Successivo &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Esegui</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Fatto</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Termina</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>Cancella</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Aiuto</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Aiuto</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>File di progetto di novelWriter o file Zip</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>File di progetto di novelWriter</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Apri progetto</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Valore</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Selezione</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Titolo</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Nascosto</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Informazioni</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Attenzione</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Domanda</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Premi il tasto "Anteprima" per compilarla ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>In elaborazione ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Fatto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Sconosciuto</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Realizzata</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Parole</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Caratteri</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Parole nelle intestazioni</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Parole nel testo</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Intestazioni</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Paragrafi</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Caratteri nelle intestazioni</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Caratteri nel testo</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Caratteri, esclusi gli spazi</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Caratteri nelle intestazioni, esclusi gli spazi</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Caratteri nel testo, esclusi gli spazi</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>辞書のインストール場所</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>追加の辞書が見つかりました: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Free または Libre Office拡張</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>ファイルを参照</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>辞書ファイルを処理できませんでした</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>追加: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>行: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>単語: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>単語: {0} 選択済み</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>ステータス</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>ツールバーの切り替え</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>アウトライン</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>フォーカスモードの切り替え</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>閉じる</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>置換候補</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>大文字と小文字を区別</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>完全一致のみ</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>正規表現モード</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>ループ検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>次のファイルを検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>大文字と小文字を保持</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>検索を閉じる</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>現在のドキュメント内を検索</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>現在のドキュメント内を検索して置き換え</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>開かれたドキュメント: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>このドキュメントは、開いている間にnovelWriter以外で変更されました。ディスクにファイルを上書きしますか?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>ドキュメントを保存できませんでした。</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>保存済みドキュメント: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>スペルチェックにはPyEnchantパッケージが必要ですが、インストールされていないようです。</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>スペルチェック完了</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>ドキュメントの詳細</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>作成済み: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>更新: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>ファイル場所: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>ドキュメント名として設定</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>タグをフォロー</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>タグのメモを作成</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>切り取り</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>コピー</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>貼り付け</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>すべて選択</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>単語を選択</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>段落を選択</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>スペルの提案</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>候補なし</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>単語を辞書に追加</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>置き換え引用符を呼び出す前にテキストを選択してください。</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>タグ '{0}' の新しいプロジェクトノートを作成しますか?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>マークダウン 太字</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>マークダウン 斜体</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>マークダウン 取り消し線</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>ショートコード 太字</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>ショートコード 斜体</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>ショートコード 取り消し線</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>ショートコード 下線</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>ショートコードハイライト</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>ショートコード 上付き文字</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>ショートコード 下付き文字</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>ビューアーパネルの表示/非表示</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>コメント</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>コメントを表示</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>あらすじ</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>あらすじコメントを表示</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>アウトライン</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>戻る</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>進む</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>リロード</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>閉じる</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>プレビューの生成中にエラーが発生しました。</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>コピー</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>すべて選択</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>単語を選択</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>段落を選択</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>原稿をビルド</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>出力形式</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>目次</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>パス</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>ファイル名</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>ファイル名をデフォルトにリセット</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>フォルダーを開く</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;ビルド</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>フォルダーを選択</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>出力フォルダが存在しません。</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>このファイルはすでに存在します。上書きしますか?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>アウトライン</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>既定値に戻す</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>戻る</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;戻る</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>続行</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;次へ</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;次へ &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>コミット</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>完了</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;終了</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>キャンセル</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>ヘルプ</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;ヘルプ</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>novelWriterプロジェクトファイルまたはZipファイル</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>novelWriterプロジェクトファイル</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>プロジェクトを開く</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>設定</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>値</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>名前</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>選択</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>タイトル</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>非表示</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>情報</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>エラー</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>質問</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>"プレビュー" ボタンを押して生成します ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>処理中…</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>完了</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>不明</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>ビルドされた</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>単語数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>文字数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>見出し内の単語数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>テキスト内の単語数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>見出し</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>段落</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>見出し内の文字数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>テキスト内の文字数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>スペースなし文字数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>見出し内のスペースなし文字数</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>テキスト内のスペースなし文字数</translation>
</message>

View File

@@ -763,27 +763,27 @@
<translation>Mappe hvor ordbøkene er installert</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="158" />
<location filename="../novelwriter/tools/dictionaries.py" line="159" />
<source>Additional dictionaries found: {0}</source>
<translation>Ordbøker funnet: {0}</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="185" />
<location filename="../novelwriter/tools/dictionaries.py" line="186" />
<source>Free or Libre Office extension</source>
<translation>Free- eller Libre Office-utvidelse</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="188" />
<location filename="../novelwriter/tools/dictionaries.py" line="189" />
<source>Browse Files</source>
<translation>Bla gjennom</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="198" />
<location filename="../novelwriter/tools/dictionaries.py" line="199" />
<source>Could not process dictionary file</source>
<translation>Kunne ikke behandle ordbokfilen</translation>
</message>
<message>
<location filename="../novelwriter/tools/dictionaries.py" line="248" />
<location filename="../novelwriter/tools/dictionaries.py" line="249" />
<source>Added: {0} [{1}B]</source>
<translation>Lagt til: {0} [{1}B]</translation>
</message>
@@ -791,22 +791,22 @@
<context>
<name>GuiDocEditFooter</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3007" />
<location filename="../novelwriter/gui/doceditor.py" line="3029" />
<source>Line: {0} ({1})</source>
<translation>Linje: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3008" />
<location filename="../novelwriter/gui/doceditor.py" line="3030" />
<source>Words: {0} ({1})</source>
<translation>Ord: {0} ({1})</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3009" />
<location filename="../novelwriter/gui/doceditor.py" line="3031" />
<source>Words: {0} selected</source>
<translation>Ord: {0} valgt</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="3021" />
<location filename="../novelwriter/gui/doceditor.py" line="3043" />
<source>Status</source>
<translation>Status</translation>
</message>
@@ -814,27 +814,27 @@
<context>
<name>GuiDocEditHeader</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2805" />
<location filename="../novelwriter/gui/doceditor.py" line="2823" />
<source>Toggle Tool Bar</source>
<translation>Vis/skjul verktøylinje</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2810" />
<location filename="../novelwriter/gui/doceditor.py" line="2828" />
<source>Outline</source>
<translation>Disposisjon</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2815" />
<location filename="../novelwriter/gui/doceditor.py" line="2833" />
<source>Search</source>
<translation>Søk</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2820" />
<location filename="../novelwriter/gui/doceditor.py" line="2838" />
<source>Toggle Focus Mode</source>
<translation>Slå av/på "Fokus-modus"</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2825" />
<location filename="../novelwriter/gui/doceditor.py" line="2843" />
<source>Close</source>
<translation>Lukk</translation>
</message>
@@ -842,62 +842,62 @@
<context>
<name>GuiDocEditSearch</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2413" />
<location filename="../novelwriter/gui/doceditor.py" line="2424" />
<source>Search for</source>
<translation>Søketekst</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2418" />
<location filename="../novelwriter/gui/doceditor.py" line="2428" />
<source>Replace with</source>
<translation>Erstatt med</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2426" />
<location filename="../novelwriter/gui/doceditor.py" line="2436" />
<source>Search</source>
<translation>Søk</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2434" />
<location filename="../novelwriter/gui/doceditor.py" line="2441" />
<source>Case Sensitive</source>
<translation>Skill store/små bokstaver</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2440" />
<location filename="../novelwriter/gui/doceditor.py" line="2447" />
<source>Whole Words Only</source>
<translation>Kun hele ord</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2446" />
<location filename="../novelwriter/gui/doceditor.py" line="2453" />
<source>RegEx Mode</source>
<translation>RegEx-modus</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2452" />
<location filename="../novelwriter/gui/doceditor.py" line="2459" />
<source>Loop Search</source>
<translation>Søk rundt</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2458" />
<location filename="../novelwriter/gui/doceditor.py" line="2465" />
<source>Search Next File</source>
<translation>Søk i neste file</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2466" />
<location filename="../novelwriter/gui/doceditor.py" line="2473" />
<source>Preserve Case</source>
<translation>Behold store/små bokstaver</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2474" />
<location filename="../novelwriter/gui/doceditor.py" line="2481" />
<source>Close Search</source>
<translation>Lukk søk</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2485" />
<location filename="../novelwriter/gui/doceditor.py" line="2492" />
<source>Find in current document</source>
<translation>Søk i det åpne dokumentet</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2489" />
<location filename="../novelwriter/gui/doceditor.py" line="2496" />
<source>Find and replace in current document</source>
<translation>Søk og erstatt i det åpne dokumentet</translation>
</message>
@@ -905,122 +905,122 @@
<context>
<name>GuiDocEditor</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="441" />
<location filename="../novelwriter/gui/doceditor.py" line="456" />
<source>Opened Document: {0}</source>
<translation>Åpnet dokument: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="484" />
<location filename="../novelwriter/gui/doceditor.py" line="499" />
<source>This document has been changed outside of novelWriter while it was open. Overwrite the file on disk?</source>
<translation>Dette dokumentet er endret utenfor novelWriter mens det var åpent. Overskrive filen på disken?</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="493" />
<location filename="../novelwriter/gui/doceditor.py" line="508" />
<source>Could not save document.</source>
<translation>Kunne ikke lagre dokumentet.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="518" />
<location filename="../novelwriter/gui/doceditor.py" line="533" />
<source>Saved Document: {0}</source>
<translation>Lagret dokument: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="687" />
<location filename="../novelwriter/gui/doceditor.py" line="702" />
<source>Spell checking requires the package PyEnchant. It does not appear to be installed.</source>
<translation>Stavekontroll krever at pakken PyEnchant er installert. Det ser det ikke ut til at den er.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="713" />
<location filename="../novelwriter/gui/doceditor.py" line="728" />
<source>Spell check complete</source>
<translation>Stavekontrollen er ferdig</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="833" />
<location filename="../novelwriter/gui/doceditor.py" line="848" />
<source>Document Details</source>
<translation>Dokumentdetaljer</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="835" />
<location filename="../novelwriter/gui/doceditor.py" line="850" />
<source>Created: {0}</source>
<translation>Opprettet: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="836" />
<location filename="../novelwriter/gui/doceditor.py" line="851" />
<source>Updated: {0}</source>
<translation>Oppdatert: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="838" />
<location filename="../novelwriter/gui/doceditor.py" line="853" />
<source>File Location: {0}</source>
<translation>Filplassering: {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1112" />
<location filename="../novelwriter/gui/doceditor.py" line="1127" />
<source>Set as Document Name</source>
<translation>Sett som dokumentnavn</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1118" />
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<source>Follow Tag</source>
<translation>Følg knagg</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1122" />
<location filename="../novelwriter/gui/doceditor.py" line="1137" />
<source>Create Note for Tag</source>
<translation>Opprett notat for knagg</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1128" />
<location filename="../novelwriter/gui/doceditor.py" line="1143" />
<source>Cut</source>
<translation>Klipp</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1130" />
<location filename="../novelwriter/gui/doceditor.py" line="1145" />
<source>Copy</source>
<translation>Kopier</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1133" />
<location filename="../novelwriter/gui/doceditor.py" line="1148" />
<source>Paste</source>
<translation>Lim inn</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1138" />
<location filename="../novelwriter/gui/doceditor.py" line="1153" />
<source>Select All</source>
<translation>Velg hele teksten</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1140" />
<location filename="../novelwriter/gui/doceditor.py" line="1155" />
<source>Select Word</source>
<translation>Velg hele ordet</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1144" />
<location filename="../novelwriter/gui/doceditor.py" line="1159" />
<source>Select Paragraph</source>
<translation>Velg hele avsnittet</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1160" />
<location filename="../novelwriter/gui/doceditor.py" line="1175" />
<source>Spelling Suggestion(s)</source>
<translation>Forslag fra stavekontrollen</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1167" />
<location filename="../novelwriter/gui/doceditor.py" line="1182" />
<source>No Suggestions</source>
<translation>Ingen forslag</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1170" />
<location filename="../novelwriter/gui/doceditor.py" line="1185" />
<source>Add Word to Dictionary</source>
<translation>Legg til ord i ordbok</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1596" />
<location filename="../novelwriter/gui/doceditor.py" line="1611" />
<source>Please select some text before calling replace quotes.</source>
<translation>Venligst velg en del av teksten før du velger å erstatte sitattegn.</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="1903" />
<location filename="../novelwriter/gui/doceditor.py" line="1918" />
<source>Do you want to create a new project note for the tag '{0}'?</source>
<translation>Vil du opprette et nytt prosjektnotat for knaggen '{0}'?</translation>
</message>
@@ -1104,52 +1104,52 @@
<context>
<name>GuiDocToolBar</name>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2270" />
<location filename="../novelwriter/gui/doceditor.py" line="2285" />
<source>Markdown Bold</source>
<translation>Fet skrift med Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2276" />
<location filename="../novelwriter/gui/doceditor.py" line="2291" />
<source>Markdown Italic</source>
<translation>Kursiv med Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2282" />
<location filename="../novelwriter/gui/doceditor.py" line="2297" />
<source>Markdown Strikethrough</source>
<translation>Gjennomstrek med Markdown</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2288" />
<location filename="../novelwriter/gui/doceditor.py" line="2303" />
<source>Shortcode Bold</source>
<translation>Fet skrift med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2309" />
<source>Shortcode Italic</source>
<translation>Kursiv med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2300" />
<location filename="../novelwriter/gui/doceditor.py" line="2315" />
<source>Shortcode Strikethrough</source>
<translation>Gjennomstrek med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2306" />
<location filename="../novelwriter/gui/doceditor.py" line="2321" />
<source>Shortcode Underline</source>
<translation>Understrek med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2312" />
<location filename="../novelwriter/gui/doceditor.py" line="2327" />
<source>Shortcode Highlight</source>
<translation>Tekstutheving med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2318" />
<location filename="../novelwriter/gui/doceditor.py" line="2333" />
<source>Shortcode Superscript</source>
<translation>Hevet skrift med kortkode</translation>
</message>
<message>
<location filename="../novelwriter/gui/doceditor.py" line="2324" />
<location filename="../novelwriter/gui/doceditor.py" line="2339" />
<source>Shortcode Subscript</source>
<translation>Senket skrift med kortkode</translation>
</message>
@@ -1157,27 +1157,27 @@
<context>
<name>GuiDocViewFooter</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="867" />
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<source>Show/Hide Viewer Panel</source>
<translation>Vis/skjul visningspanelet</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="871" />
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<source>Comments</source>
<translation>Kommentarer</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="877" />
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<source>Show Comments</source>
<translation>Vis kommentarer</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="881" />
<location filename="../novelwriter/gui/docviewer.py" line="891" />
<source>Synopsis</source>
<translation>Sammendrag</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="887" />
<location filename="../novelwriter/gui/docviewer.py" line="897" />
<source>Show Synopsis Comments</source>
<translation>Vis sammendrag</translation>
</message>
@@ -1185,27 +1185,27 @@
<context>
<name>GuiDocViewHeader</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="659" />
<location filename="../novelwriter/gui/docviewer.py" line="663" />
<source>Outline</source>
<translation>Disposisjon</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="664" />
<location filename="../novelwriter/gui/docviewer.py" line="668" />
<source>Go Backward</source>
<translation>Gå bakover</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="669" />
<location filename="../novelwriter/gui/docviewer.py" line="673" />
<source>Go Forward</source>
<translation>Gå fremover</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="674" />
<location filename="../novelwriter/gui/docviewer.py" line="678" />
<source>Reload</source>
<translation>Oppdater</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="679" />
<location filename="../novelwriter/gui/docviewer.py" line="683" />
<source>Close</source>
<translation>Lukk</translation>
</message>
@@ -1213,27 +1213,27 @@
<context>
<name>GuiDocViewer</name>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="221" />
<location filename="../novelwriter/gui/docviewer.py" line="229" />
<source>An error occurred while generating the preview.</source>
<translation>Det har oppstått en feil under genereringen av visningen.</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="392" />
<location filename="../novelwriter/gui/docviewer.py" line="400" />
<source>Copy</source>
<translation>Kopier</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="398" />
<location filename="../novelwriter/gui/docviewer.py" line="406" />
<source>Select All</source>
<translation>Velg hele teksten</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="402" />
<location filename="../novelwriter/gui/docviewer.py" line="410" />
<source>Select Word</source>
<translation>Velg hele ordet</translation>
</message>
<message>
<location filename="../novelwriter/gui/docviewer.py" line="408" />
<location filename="../novelwriter/gui/docviewer.py" line="416" />
<source>Select Paragraph</source>
<translation>Velg hele avsnittet</translation>
</message>
@@ -2198,57 +2198,57 @@
<context>
<name>GuiManuscriptBuild</name>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="72" />
<location filename="../novelwriter/tools/manusbuild.py" line="70" />
<source>Build Manuscript</source>
<translation>Bygg manuskript</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="93" />
<location filename="../novelwriter/tools/manusbuild.py" line="91" />
<source>Output Format</source>
<translation>Dokumentformat</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="119" />
<location filename="../novelwriter/tools/manusbuild.py" line="117" />
<source>Table of Contents</source>
<translation>Innholdsfortegnelse</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="147" />
<location filename="../novelwriter/tools/manusbuild.py" line="145" />
<source>Path</source>
<translation>Filbane</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="157" />
<location filename="../novelwriter/tools/manusbuild.py" line="155" />
<source>File Name</source>
<translation>Filnavn</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="160" />
<location filename="../novelwriter/tools/manusbuild.py" line="158" />
<source>Reset file name to default</source>
<translation>Tilbakestill filnavn til standard</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<location filename="../novelwriter/tools/manusbuild.py" line="182" />
<source>Open Folder</source>
<translation>Åpne mappe</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="186" />
<location filename="../novelwriter/tools/manusbuild.py" line="184" />
<source>&amp;Build</source>
<translation>&amp;Bygg</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="281" />
<location filename="../novelwriter/tools/manusbuild.py" line="279" />
<source>Select Folder</source>
<translation>Velg mappe</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="319" />
<location filename="../novelwriter/tools/manusbuild.py" line="317" />
<source>Output folder does not exist.</source>
<translation>Mappen eksisterer ikke.</translation>
</message>
<message>
<location filename="../novelwriter/tools/manusbuild.py" line="327" />
<location filename="../novelwriter/tools/manusbuild.py" line="325" />
<source>The file already exists. Do you want to overwrite it?</source>
<translation>Filen eksisterer allerede. Vil du overskrive den?</translation>
</message>
@@ -2415,7 +2415,7 @@
<context>
<name>GuiOutlineToolBar</name>
<message>
<location filename="../novelwriter/gui/outline.py" line="223" />
<location filename="../novelwriter/gui/outline.py" line="222" />
<source>Outline of</source>
<translation>Disposisjon for</translation>
</message>
@@ -3860,79 +3860,20 @@
<translation>Gjennopprett standard</translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
<location filename="qtbase.py" line="54" />
<source>Go Back</source>
<translation>Gå tilbake</translation>
</message>
<message>
<location filename="qtbase.py" line="55" />
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Tilbake</translation>
</message>
<message>
<location filename="qtbase.py" line="56" />
<source>Continue</source>
<translation>Fortsett</translation>
</message>
<message>
<location filename="qtbase.py" line="57" />
<source>&amp;Next</source>
<translation>&amp;Neste</translation>
</message>
<message>
<location filename="qtbase.py" line="58" />
<source>&amp;Next &gt;</source>
<translation>&amp;Neste &gt;</translation>
</message>
<message>
<location filename="qtbase.py" line="59" />
<source>Commit</source>
<translation>Gjennomfør</translation>
</message>
<message>
<location filename="qtbase.py" line="60" />
<source>Done</source>
<translation>Ferdig</translation>
</message>
<message>
<location filename="qtbase.py" line="61" />
<source>&amp;Finish</source>
<translation>&amp;Fullfør</translation>
</message>
<message>
<location filename="qtbase.py" line="63" />
<location filename="qtbase.py" line="62" />
<source>Cancel</source>
<translation>Avbryt</translation>
</message>
<message>
<location filename="qtbase.py" line="64" />
<source>Help</source>
<translation>Hjelp</translation>
</message>
<message>
<location filename="qtbase.py" line="65" />
<source>&amp;Help</source>
<translation>&amp;Hjelp</translation>
</message>
</context>
<context>
<name>SharedData</name>
<message>
<location filename="../novelwriter/shared.py" line="249" />
<location filename="../novelwriter/shared.py" line="250" />
<source>novelWriter Project File or Zip File</source>
<translation>novelWriter prosjektfil eller Zip-fil</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="250" />
<location filename="../novelwriter/shared.py" line="251" />
<source>novelWriter Project File</source>
<translation>novelWriter prosjektfil</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="254" />
<location filename="../novelwriter/shared.py" line="255" />
<source>Open Project</source>
<translation>Åpne prosjekt</translation>
</message>
@@ -4041,32 +3982,32 @@
<context>
<name>_DetailsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Setting</source>
<translation>Innstilling</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="522" />
<location filename="../novelwriter/tools/manuscript.py" line="533" />
<source>Value</source>
<translation>Verdi</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="589" />
<location filename="../novelwriter/tools/manuscript.py" line="600" />
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="595" />
<location filename="../novelwriter/tools/manuscript.py" line="606" />
<source>Selection</source>
<translation>Utvalg</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="611" />
<location filename="../novelwriter/tools/manuscript.py" line="622" />
<source>Title</source>
<translation>Tittel</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="612" />
<location filename="../novelwriter/tools/manuscript.py" line="623" />
<source>Hidden</source>
<translation>Skjult</translation>
</message>
@@ -4112,22 +4053,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="410" />
<location filename="../novelwriter/shared.py" line="422" />
<source>Information</source>
<translation>Informasjon</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="413" />
<location filename="../novelwriter/shared.py" line="425" />
<source>Warning</source>
<translation>Advarsel</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="416" />
<location filename="../novelwriter/shared.py" line="428" />
<source>Error</source>
<translation>Feil</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="419" />
<location filename="../novelwriter/shared.py" line="431" />
<source>Question</source>
<translation>Spørsmål</translation>
</message>
@@ -4438,27 +4379,27 @@
<context>
<name>_PreviewWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="757" />
<location filename="../novelwriter/tools/manuscript.py" line="768" />
<source>Press the "Preview" button to generate ...</source>
<translation>Trykk på "Forhåndsvisning"-knappen for å generere ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="855" />
<location filename="../novelwriter/tools/manuscript.py" line="873" />
<source>Processing ...</source>
<translation>Behandler ...</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="877" />
<location filename="../novelwriter/tools/manuscript.py" line="894" />
<source>Done</source>
<translation>Ferdig</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="927" />
<location filename="../novelwriter/tools/manuscript.py" line="944" />
<source>Unknown</source>
<translation>Ukjent</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="928" />
<location filename="../novelwriter/tools/manuscript.py" line="945" />
<source>Built</source>
<translation>Bygget</translation>
</message>
@@ -4557,59 +4498,59 @@
<context>
<name>_StatsWidget</name>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1090" />
<location filename="../novelwriter/tools/manuscript.py" line="1050" />
<location filename="../novelwriter/tools/manuscript.py" line="1108" />
<location filename="../novelwriter/tools/manuscript.py" line="1068" />
<source>Words</source>
<translation>Ord</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1117" />
<location filename="../novelwriter/tools/manuscript.py" line="1053" />
<location filename="../novelwriter/tools/manuscript.py" line="1135" />
<location filename="../novelwriter/tools/manuscript.py" line="1071" />
<source>Characters</source>
<translation>Tegn</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1091" />
<location filename="../novelwriter/tools/manuscript.py" line="1109" />
<source>Words in Headings</source>
<translation>Ord i overskrifter</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1092" />
<location filename="../novelwriter/tools/manuscript.py" line="1110" />
<source>Words in Text</source>
<translation>Ord i tekst</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1094" />
<location filename="../novelwriter/tools/manuscript.py" line="1112" />
<source>Headings</source>
<translation>Overskrifter</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1095" />
<location filename="../novelwriter/tools/manuscript.py" line="1113" />
<source>Paragraphs</source>
<translation>Avsnitt</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1118" />
<location filename="../novelwriter/tools/manuscript.py" line="1136" />
<source>Characters in Headings</source>
<translation>Tegn i overskrifter</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1119" />
<location filename="../novelwriter/tools/manuscript.py" line="1137" />
<source>Characters in Text</source>
<translation>Tegn i tekst</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1120" />
<location filename="../novelwriter/tools/manuscript.py" line="1138" />
<source>Characters, No Spaces</source>
<translation>Tegn, utenom mellomrom</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1121" />
<location filename="../novelwriter/tools/manuscript.py" line="1139" />
<source>Characters in Headings, No Spaces</source>
<translation>Tegn i overskrifter, utenom mellomrom</translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="1122" />
<location filename="../novelwriter/tools/manuscript.py" line="1140" />
<source>Characters in Text, No Spaces</source>
<translation>Tegn i tekst, utenom mellomrom</translation>
</message>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -47,19 +47,3 @@ QT_TRANSLATE_NOOP("QPlatformTheme", "Help")
QT_TRANSLATE_NOOP("QPlatformTheme", "Apply")
QT_TRANSLATE_NOOP("QPlatformTheme", "Reset")
QT_TRANSLATE_NOOP("QPlatformTheme", "Restore Defaults")
# QWizard
# =======
QT_TRANSLATE_NOOP("QWizard", "Go Back")
QT_TRANSLATE_NOOP("QWizard", "< &Back")
QT_TRANSLATE_NOOP("QWizard", "Continue")
QT_TRANSLATE_NOOP("QWizard", "&Next")
QT_TRANSLATE_NOOP("QWizard", "&Next >")
QT_TRANSLATE_NOOP("QWizard", "Commit")
QT_TRANSLATE_NOOP("QWizard", "Done")
QT_TRANSLATE_NOOP("QWizard", "&Finish")
QT_TRANSLATE_NOOP("QWizard", "Cancel")
QT_TRANSLATE_NOOP("QWizard", "Cancel")
QT_TRANSLATE_NOOP("QWizard", "Help")
QT_TRANSLATE_NOOP("QWizard", "&Help")

View File

@@ -47,9 +47,9 @@ __license__ = "GPLv3"
__author__ = "Veronica Berglyd Olsen"
__maintainer__ = "Veronica Berglyd Olsen"
__email__ = "code@vkbo.net"
__version__ = "2.4"
__hexversion__ = "0x020400f0"
__date__ = "2024-04-20"
__version__ = "2.4.4"
__hexversion__ = "0x020404f0"
__date__ = "2024-06-12"
__status__ = "Stable"
__domain__ = "novelwriter.io"

View File

@@ -1,7 +1,7 @@
{
"Synopsis": "Sinopse",
"Short Description": "Descrição breve",
"Comment": "Comentários",
"Comment": "Comentário",
"Notes": "Notas",
"Tag": "Etiqueta",
"Point of View": "Ponto de vista",
@@ -30,87 +30,87 @@
"14": "Quatorze",
"15": "Quinze",
"16": "Dezesseis",
"17": "Dezesete",
"17": "Dezessete",
"18": "Dezoito",
"19": "Dezenove",
"20": "Vinte",
"21": "Vinte e Um",
"22": "Vinte e Dois",
"23": "Vinte e Três",
"24": "Vinte e Quatro",
"25": "Vinte e Cinco",
"26": "Vinte e Seis",
"27": "Vinte e Sete",
"28": "Vinte e Oito",
"29": "Vinte e Nove",
"21": "Vinte e um",
"22": "Vinte e dois",
"23": "Vinte e três",
"24": "Vinte e quatro",
"25": "Vinte e cinco",
"26": "Vinte e seis",
"27": "Vinte e sete",
"28": "Vinte e oito",
"29": "Vinte e nove",
"30": "Trinta",
"31": "Trinta e Um",
"32": "Trinta e Dois",
"33": "Trinta e Três",
"34": "Trinta e Quatro",
"35": "Trinta e Cinco",
"36": "Trinta e Seis",
"37": "Trinta e Sete",
"38": "Trinta e Oito",
"39": "Trinta e Nove",
"31": "Trinta e um",
"32": "Trinta e dois",
"33": "Trinta e três",
"34": "Trinta e quatro",
"35": "Trinta e cinco",
"36": "Trinta e seis",
"37": "Trinta e sete",
"38": "Trinta e oito",
"39": "Trinta e nove",
"40": "Quarenta",
"41": "Quarenta e Um",
"42": "Quarenta e Dois",
"43": "Quarenta e Três",
"44": "Quarenta e Quatro",
"45": "Quarenta e Cinco",
"46": "Quarenta e Seis",
"47": "Quarenta e Sete",
"48": "Quarenta e Oito",
"49": "Quarenta e Nove",
"41": "Quarenta e um",
"42": "Quarenta e dois",
"43": "Quarenta e três",
"44": "Quarenta e quatro",
"45": "Quarenta e cinco",
"46": "Quarenta e seis",
"47": "Quarenta e sete",
"48": "Quarenta e oito",
"49": "Quarenta e nove",
"50": "Cinquenta",
"51": "Cinquenta e Um",
"52": "Cinquenta e Dois",
"53": "Cinquenta e Três",
"54": "Cinquenta e Quatro",
"55": "Cinquenta e Cinco",
"56": "Cinquenta e Seis",
"57": "Cinquenta e Sete",
"58": "Cinquenta e Oito",
"59": "Cinquenta e Nove",
"51": "Cinquenta e um",
"52": "Cinquenta e dois",
"53": "Cinquenta e três",
"54": "Cinquenta e quatro",
"55": "Cinquenta e cinco",
"56": "Cinquenta e seis",
"57": "Cinquenta e sete",
"58": "Cinquenta e oito",
"59": "Cinquenta e nove",
"60": "Sessenta",
"61": "Sessenta e Um",
"62": "Sessenta e Dois",
"63": "Sessenta e Três",
"64": "Sessenta e Quatro",
"65": "Sessenta e Cinco",
"66": "Sessenta e Seis",
"67": "Sessenta e Sete",
"68": "Sessenta e Oito",
"69": "Sessenta e Nove",
"61": "Sessenta e um",
"62": "Sessenta e dois",
"63": "Sessenta e três",
"64": "Sessenta e quatro",
"65": "Sessenta e cinco",
"66": "Sessenta e seis",
"67": "Sessenta e sete",
"68": "Sessenta e oito",
"69": "Sessenta e nove",
"70": "Setenta",
"71": "Setenta e Um",
"72": "Setenta e Dois",
"73": "Setenta e Três",
"74": "Setenta e Quatro",
"75": "Setenta e Cinco",
"76": "Setenta e Seis",
"77": "Setenta e Sete",
"78": "Setenta e Oito",
"79": "Setenta e Nove",
"71": "Setenta e um",
"72": "Setenta e dois",
"73": "Setenta e três",
"74": "Setenta e quatro",
"75": "Setenta e cinco",
"76": "Setenta e seis",
"77": "Setenta e sete",
"78": "Setenta e oito",
"79": "Setenta e nove",
"80": "Oitenta",
"81": "Oitenta e Um",
"82": "Oitenta e Dois",
"83": "Oitenta e Três",
"84": "Oitenta e Quatro",
"85": "Oitenta e Cinco",
"86": "Oitenta e Seis",
"87": "Oitenta e Sete",
"88": "Oitenta e Oito",
"89": "Oitenta e Nove",
"81": "Oitenta e um",
"82": "Oitenta e dois",
"83": "Oitenta e três",
"84": "Oitenta e quatro",
"85": "Oitenta e cinco",
"86": "Oitenta e seis",
"87": "Oitenta e sete",
"88": "Oitenta e oito",
"89": "Oitenta e nove",
"90": "Noventa",
"91": "Noventa e Um",
"92": "Noventa e Dois",
"93": "Noventa e Três",
"94": "Noventa e Quatro",
"95": "Noventa e Cinco",
"96": "Noventa e Seis",
"97": "Noventa e Sete",
"98": "Noventa e Oito",
"99": "Noventa e Nove"
"91": "Noventa e um",
"92": "Noventa e dois",
"93": "Noventa e três",
"94": "Noventa e quatro",
"95": "Noventa e cinco",
"96": "Noventa e seis",
"97": "Noventa e sete",
"98": "Noventa e oito",
"99": "Noventa e nove"
}

View File

@@ -27,11 +27,23 @@ from __future__ import annotations
from PyQt5.QtCore import QSize, Qt
from PyQt5.QtGui import QWheelEvent
from PyQt5.QtWidgets import QComboBox, QDoubleSpinBox, QSpinBox, QToolButton, QWidget
from PyQt5.QtWidgets import QComboBox, QDialog, QDoubleSpinBox, QSpinBox, QToolButton, QWidget
from novelwriter import SHARED
class NDialog(QDialog):
def softDelete(self) -> None:
"""Since calling deleteLater is sometimes not safe from Python,
as the C++ object can be deleted before the Python process is
done with the object, we instead set the dialog's parent to None
so that it gets garbage collected when it runs out of scope.
"""
self.setParent(None) # type: ignore
return
class NComboBox(QComboBox):
def __init__(self, parent: QWidget | None = None) -> None:

View File

@@ -39,12 +39,12 @@ from time import time
from typing import TYPE_CHECKING
from PyQt5.QtCore import (
pyqtSignal, pyqtSlot, QObject, QPoint, QRegExp, QRegularExpression,
QRunnable, Qt, QTimer
QObject, QPoint, QRegExp, QRegularExpression, QRunnable, Qt, QTimer,
pyqtSignal, pyqtSlot
)
from PyQt5.QtGui import (
QColor, QCursor, QFont, QKeyEvent, QKeySequence, QMouseEvent, QPalette,
QPixmap, QResizeEvent, QTextBlock, QTextCursor, QTextDocument, QTextOption
QColor, QCursor, QKeyEvent, QKeySequence, QMouseEvent, QPalette, QPixmap,
QResizeEvent, QTextBlock, QTextCursor, QTextDocument, QTextOption
)
from PyQt5.QtWidgets import (
QAction, QApplication, QFrame, QGridLayout, QHBoxLayout, QLabel, QLineEdit,
@@ -65,7 +65,7 @@ from novelwriter.text.counting import standardCounter
from novelwriter.tools.lipsum import GuiLipsum
from novelwriter.types import (
QtAlignCenterTop, QtAlignJustify, QtAlignLeft, QtAlignLeftTop,
QtAlignRight, QtKeepAnchor, QtModCtrl, QtMouseLeft, QtModeNone, QtModShift,
QtAlignRight, QtKeepAnchor, QtModCtrl, QtModeNone, QtModShift, QtMouseLeft,
QtMoveAnchor, QtMoveLeft, QtMoveRight
)
@@ -301,8 +301,6 @@ class GuiDocEditor(QPlainTextEdit):
self.docHeader.matchColours()
self.docFooter.matchColours()
self._qDocument.syntaxHighlighter.initHighlighter()
return
def initEditor(self) -> None:
@@ -331,10 +329,10 @@ class GuiDocEditor(QPlainTextEdit):
SHARED.updateSpellCheckLanguage()
# Set font
font = QFont()
font.setFamily(CONFIG.textFont)
font.setPointSize(CONFIG.textSize)
self.setFont(font)
self.initFont()
# Update highlighter settings
self._qDocument.syntaxHighlighter.initHighlighter()
# Set default text margins
# Due to cursor visibility, a part of the margin must be
@@ -381,6 +379,23 @@ class GuiDocEditor(QPlainTextEdit):
return
def initFont(self) -> None:
"""Set the font of the main widget and sub-widgets. This needs
special attention since there appears to be a bug in Qt 5.15.3.
See issues #1862 and #1875.
"""
font = self.font()
font.setFamily(CONFIG.textFont)
font.setPointSize(CONFIG.textSize)
self.setFont(font)
# Reset sub-widget font to GUI font
self.docHeader.updateFont()
self.docFooter.updateFont()
self.docSearch.updateFont()
return
def loadText(self, tHandle: str, tLine: int | None = None) -> bool:
"""Load text from a document into the editor. If we have an I/O
error, we must handle this and clear the editor so that we don't
@@ -2395,9 +2410,6 @@ class GuiDocEditSearch(QFrame):
iSz = SHARED.theme.baseIconSize
mPx = CONFIG.pxInt(6)
self.boxFont = SHARED.theme.guiFont
self.boxFont.setPointSizeF(0.9*SHARED.theme.fontPointSize)
self.setContentsMargins(0, 0, 0, 0)
self.setAutoFillBackground(True)
self.setFrameStyle(QFrame.Shape.StyledPanel | QFrame.Shadow.Plain)
@@ -2409,12 +2421,10 @@ class GuiDocEditSearch(QFrame):
# ==========
self.searchBox = QLineEdit(self)
self.searchBox.setFont(self.boxFont)
self.searchBox.setPlaceholderText(self.tr("Search for"))
self.searchBox.returnPressed.connect(self._doSearch)
self.replaceBox = QLineEdit(self)
self.replaceBox.setFont(self.boxFont)
self.replaceBox.setPlaceholderText(self.tr("Replace with"))
self.replaceBox.returnPressed.connect(self._doReplace)
@@ -2424,12 +2434,9 @@ class GuiDocEditSearch(QFrame):
self.searchOpt.setContentsMargins(0, 0, 0, 0)
self.searchLabel = QLabel(self.tr("Search"), self)
self.searchLabel.setFont(self.boxFont)
self.searchLabel.setIndent(CONFIG.pxInt(6))
self.resultLabel = QLabel("?/?", self)
self.resultLabel.setFont(self.boxFont)
self.resultLabel.setMinimumWidth(SHARED.theme.getTextWidth("?/?", self.boxFont))
self.toggleCase = QAction(self.tr("Case Sensitive"), self)
self.toggleCase.setCheckable(True)
@@ -2514,6 +2521,7 @@ class GuiDocEditSearch(QFrame):
self.replaceButton.setVisible(False)
self.adjustSize()
self.updateFont()
self.updateTheme()
logger.debug("Ready: GuiDocEditSearch")
@@ -2597,7 +2605,9 @@ class GuiDocEditSearch(QFrame):
numCount = f"{lim:n}+" if (resCount or 0) > lim else f"{resCount:n}"
sCurrRes = "?" if currRes is None else str(currRes)
sResCount = "?" if resCount is None else numCount
minWidth = SHARED.theme.getTextWidth(f"{sResCount}//{sResCount}", self.boxFont)
minWidth = SHARED.theme.getTextWidth(
f"{sResCount}//{sResCount}", SHARED.theme.guiFontSmall
)
self.resultLabel.setText(f"{sCurrRes}/{sResCount}")
self.resultLabel.setMinimumWidth(minWidth)
self.adjustSize()
@@ -2608,6 +2618,18 @@ class GuiDocEditSearch(QFrame):
# Methods
##
def updateFont(self) -> None:
"""Update the font settings."""
self.setFont(SHARED.theme.guiFont)
self.searchBox.setFont(SHARED.theme.guiFontSmall)
self.replaceBox.setFont(SHARED.theme.guiFontSmall)
self.searchLabel.setFont(SHARED.theme.guiFontSmall)
self.resultLabel.setFont(SHARED.theme.guiFontSmall)
self.resultLabel.setMinimumWidth(
SHARED.theme.getTextWidth("?/?", SHARED.theme.guiFontSmall)
)
return
def updateTheme(self) -> None:
"""Update theme elements."""
qPalette = QApplication.palette()
@@ -2792,10 +2814,6 @@ class GuiDocEditHeader(QWidget):
self.itemTitle.setAlignment(QtAlignCenterTop)
self.itemTitle.setFixedHeight(iPx)
lblFont = self.itemTitle.font()
lblFont.setPointSizeF(0.9*SHARED.theme.fontPointSize)
self.itemTitle.setFont(lblFont)
# Other Widgets
self.outlineMenu = QMenu(self)
@@ -2849,6 +2867,7 @@ class GuiDocEditHeader(QWidget):
self.setContentsMargins(0, 0, 0, 0)
self.setMinimumHeight(iPx + 2*mPx)
self.updateFont()
self.updateTheme()
logger.debug("Ready: GuiDocEditHeader")
@@ -2887,6 +2906,12 @@ class GuiDocEditHeader(QWidget):
logger.debug("Document outline updated in %.3f ms", 1000*(time() - tStart))
return
def updateFont(self) -> None:
"""Update the font settings."""
self.setFont(SHARED.theme.guiFont)
self.itemTitle.setFont(SHARED.theme.guiFontSmall)
return
def updateTheme(self) -> None:
"""Update theme elements."""
self.tbButton.setThemeIcon("menu")
@@ -3000,9 +3025,6 @@ class GuiDocEditFooter(QWidget):
bSp = CONFIG.pxInt(4)
hSp = CONFIG.pxInt(6)
lblFont = self.font()
lblFont.setPointSizeF(0.9*SHARED.theme.fontPointSize)
# Cached Translations
self._trLineCount = self.tr("Line: {0} ({1})")
self._trWordCount = self.tr("Words: {0} ({1})")
@@ -3025,7 +3047,6 @@ class GuiDocEditFooter(QWidget):
self.statusText.setAutoFillBackground(True)
self.statusText.setFixedHeight(fPx)
self.statusText.setAlignment(QtAlignLeftTop)
self.statusText.setFont(lblFont)
# Lines
self.linesIcon = QLabel("", self)
@@ -3040,7 +3061,6 @@ class GuiDocEditFooter(QWidget):
self.linesText.setAutoFillBackground(True)
self.linesText.setFixedHeight(fPx)
self.linesText.setAlignment(QtAlignLeftTop)
self.linesText.setFont(lblFont)
# Words
self.wordsIcon = QLabel("", self)
@@ -3055,7 +3075,6 @@ class GuiDocEditFooter(QWidget):
self.wordsText.setAutoFillBackground(True)
self.wordsText.setFixedHeight(fPx)
self.wordsText.setAlignment(QtAlignLeftTop)
self.wordsText.setFont(lblFont)
# Assemble Layout
self.outerBox = QHBoxLayout()
@@ -3078,6 +3097,7 @@ class GuiDocEditFooter(QWidget):
self.setMinimumHeight(fPx + 2*mPx)
# Fix the Colours
self.updateFont()
self.updateTheme()
# Initialise Info
@@ -3091,6 +3111,14 @@ class GuiDocEditFooter(QWidget):
# Methods
##
def updateFont(self) -> None:
"""Update the font settings."""
self.setFont(SHARED.theme.guiFont)
self.statusText.setFont(SHARED.theme.guiFontSmall)
self.linesText.setFont(SHARED.theme.guiFontSmall)
self.wordsText.setFont(SHARED.theme.guiFontSmall)
return
def updateTheme(self) -> None:
"""Update theme elements."""
iPx = round(0.9*SHARED.theme.baseIconHeight)

View File

@@ -30,11 +30,8 @@ import logging
from enum import Enum
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QPoint, Qt, QUrl
from PyQt5.QtGui import (
QCursor, QFont, QMouseEvent, QPalette, QResizeEvent, QTextCursor,
QTextOption
)
from PyQt5.QtCore import QPoint, Qt, QUrl, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCursor, QMouseEvent, QPalette, QResizeEvent, QTextCursor, QTextOption
from PyQt5.QtWidgets import (
QAction, QApplication, QFrame, QHBoxLayout, QLabel, QMenu, QTextBrowser,
QToolButton, QWidget
@@ -44,7 +41,7 @@ from novelwriter import CONFIG, SHARED
from novelwriter.common import cssCol
from novelwriter.constants import nwHeaders, nwUnicode
from novelwriter.core.tohtml import ToHtml
from novelwriter.enum import nwItemType, nwDocAction, nwDocMode
from novelwriter.enum import nwDocAction, nwDocMode, nwItemType
from novelwriter.error import logException
from novelwriter.extensions.eventfilters import WheelEventFilter
from novelwriter.extensions.modified import NIconToolButton
@@ -141,12 +138,7 @@ class GuiDocViewer(QTextBrowser):
def initViewer(self) -> None:
"""Set editor settings from main config."""
self._makeStyleSheet()
# Set Font
font = QFont()
font.setFamily(CONFIG.textFont)
font.setPointSize(CONFIG.textSize)
self.setFont(font)
self.initFont()
# Set the widget colours to match syntax theme
mainPalette = self.palette()
@@ -189,6 +181,22 @@ class GuiDocViewer(QTextBrowser):
return
def initFont(self) -> None:
"""Set the font of the main widget and sub-widgets. This needs
special attention since there appears to be a bug in Qt 5.15.3.
See issues #1862 and #1875.
"""
font = self.font()
font.setFamily(CONFIG.textFont)
font.setPointSize(CONFIG.textSize)
self.setFont(font)
# Reset sub-widget font to GUI font
self.docHeader.updateFont()
self.docFooter.updateFont()
return
def loadText(self, tHandle: str, updateHistory: bool = True) -> bool:
"""Load text into the viewer from an item handle."""
if not SHARED.project.tree.checkType(tHandle, nwItemType.FILE):
@@ -646,10 +654,6 @@ class GuiDocViewHeader(QWidget):
self.itemTitle.setAlignment(QtAlignCenterTop)
self.itemTitle.setFixedHeight(iPx)
lblFont = self.itemTitle.font()
lblFont.setPointSizeF(0.9*SHARED.theme.fontPointSize)
self.itemTitle.setFont(lblFont)
# Other Widgets
self.outlineMenu = QMenu(self)
@@ -700,7 +704,7 @@ class GuiDocViewHeader(QWidget):
self.outerBox.setContentsMargins(mPx, mPx, mPx, mPx)
self.setMinimumHeight(iPx + 2*mPx)
# Fix the Colours
self.updateFont()
self.updateTheme()
logger.debug("Ready: GuiDocViewHeader")
@@ -745,6 +749,12 @@ class GuiDocViewHeader(QWidget):
self._docOutline = data
return
def updateFont(self) -> None:
"""Update the font settings."""
self.setFont(SHARED.theme.guiFont)
self.itemTitle.setFont(SHARED.theme.guiFontSmall)
return
def updateTheme(self) -> None:
"""Update theme elements."""
self.outlineButton.setThemeIcon("list")
@@ -886,11 +896,6 @@ class GuiDocViewFooter(QWidget):
self.showSynopsis.toggled.connect(self._doToggleSynopsis)
self.showSynopsis.setToolTip(self.tr("Show Synopsis Comments"))
lblFont = self.font()
lblFont.setPointSizeF(0.9*SHARED.theme.fontPointSize)
self.showComments.setFont(lblFont)
self.showSynopsis.setFont(lblFont)
# Assemble Layout
self.outerBox = QHBoxLayout()
self.outerBox.addWidget(self.showHide, 0)
@@ -906,7 +911,7 @@ class GuiDocViewFooter(QWidget):
self.outerBox.setContentsMargins(mPx, mPx, mPx, mPx)
self.setMinimumHeight(iPx + 2*mPx)
# Fix the Colours
self.updateFont()
self.updateTheme()
logger.debug("Ready: GuiDocViewFooter")
@@ -917,6 +922,13 @@ class GuiDocViewFooter(QWidget):
# Methods
##
def updateFont(self) -> None:
"""Update the font settings."""
self.setFont(SHARED.theme.guiFont)
self.showComments.setFont(SHARED.theme.guiFontSmall)
self.showSynopsis.setFont(SHARED.theme.guiFontSmall)
return
def updateTheme(self) -> None:
"""Update theme elements."""
# Icons

View File

@@ -32,10 +32,8 @@ from enum import Enum
from time import time
from typing import TYPE_CHECKING
from PyQt5.QtCore import QPoint, QTimer, Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import (
QDragEnterEvent, QDragMoveEvent, QDropEvent, QIcon, QMouseEvent, QPalette
)
from PyQt5.QtCore import QPoint, Qt, QTimer, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QDragEnterEvent, QDragMoveEvent, QDropEvent, QIcon, QMouseEvent, QPalette
from PyQt5.QtWidgets import (
QAbstractItemView, QAction, QDialog, QFrame, QHBoxLayout, QHeaderView,
QLabel, QMenu, QShortcut, QSizePolicy, QTreeWidget, QTreeWidgetItem,
@@ -44,14 +42,14 @@ from PyQt5.QtWidgets import (
from novelwriter import CONFIG, SHARED
from novelwriter.common import minmax
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
from novelwriter.constants import nwHeaders, nwLabels, nwUnicode, trConst
from novelwriter.core.coretools import DocDuplicator, DocMerger, DocSplitter
from novelwriter.core.item import NWItem
from novelwriter.dialogs.docmerge import GuiDocMerge
from novelwriter.dialogs.docsplit import GuiDocSplit
from novelwriter.dialogs.editlabel import GuiEditLabel
from novelwriter.dialogs.projectsettings import GuiProjectSettings
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout
from novelwriter.enum import nwDocMode, nwItemClass, nwItemLayout, nwItemType
from novelwriter.extensions.modified import NIconToolButton
from novelwriter.gui.theme import STYLES_MIN_TOOLBUTTON
from novelwriter.types import QtAlignLeft, QtAlignRight, QtMouseLeft, QtMouseMiddle, QtUserRole
@@ -1830,6 +1828,7 @@ class _TreeContextMenu(QMenu):
def _itemHeader(self) -> None:
"""Check if there is a header that can be used for rename."""
SHARED.ensureEditorSaved(self._handle)
if hItem := SHARED.project.index.getItemHeading(self._handle, "T0001"):
action = self.addAction(self.tr("Rename to Heading"))
action.triggered.connect(

View File

@@ -30,9 +30,7 @@ from math import ceil
from pathlib import Path
from PyQt5.QtCore import QSize, Qt
from PyQt5.QtGui import (
QPalette, QColor, QIcon, QFont, QFontMetrics, QFontDatabase, QPixmap
)
from PyQt5.QtGui import QColor, QFont, QFontDatabase, QFontMetrics, QIcon, QPalette, QPixmap
from PyQt5.QtWidgets import QApplication
from novelwriter import CONFIG
@@ -154,6 +152,8 @@ class GuiTheme:
self.guiFont = QApplication.font()
self.guiFontB = QApplication.font()
self.guiFontB.setBold(True)
self.guiFontSmall = QApplication.font()
self.guiFontSmall.setPointSizeF(0.9*self.guiFont.pointSizeF())
qMetric = QFontMetrics(self.guiFont)
fHeight = qMetric.height()

View File

@@ -26,21 +26,21 @@ from __future__ import annotations
import logging
from pathlib import Path
from time import time
from typing import TYPE_CHECKING, TypeVar
from pathlib import Path
from PyQt5.QtCore import QObject, QRunnable, QThreadPool, QTimer, pyqtSignal
from PyQt5.QtWidgets import QFileDialog, QMessageBox, QWidget
from novelwriter.common import formatFileFilter
from novelwriter.common import formatFileFilter
from novelwriter.constants import nwFiles
from novelwriter.core.spellcheck import NWSpellEnchant
if TYPE_CHECKING: # pragma: no cover
from novelwriter.guimain import GuiMain
from novelwriter.gui.theme import GuiTheme
from novelwriter.core.project import NWProject
from novelwriter.gui.theme import GuiTheme
from novelwriter.guimain import GuiMain
logger = logging.getLogger(__name__)
@@ -198,11 +198,25 @@ class SharedData(QObject):
def closeProject(self) -> None:
"""Close the current project."""
self._closeDialogs()
self.project.closeProject(self._idleTime)
self._resetProject()
self._resetIdleTimer()
return
def ensureEditorSaved(self, tHandle: str | None) -> None:
"""Ensure that the editor content is saved. Optionally, only if
it is a specific handle.
"""
docEditor = self.mainGui.docEditor
if (
self.hasProject and docEditor.docHandle
and (tHandle is None or tHandle == docEditor.docHandle)
):
logger.debug("Saving editor document before action")
docEditor.saveText()
return
def updateSpellCheckLanguage(self, reload: bool = False) -> None:
"""Update the active spell check language from settings."""
from novelwriter import CONFIG
@@ -356,6 +370,17 @@ class SharedData(QObject):
self._idleTime = 0.0
return
def _closeDialogs(self) -> None:
"""Close non-modal dialogs."""
from novelwriter.tools.manuscript import GuiManuscript
from novelwriter.tools.writingstats import GuiWritingStats
for widget in self.mainGui.children():
if isinstance(widget, (GuiManuscript, GuiWritingStats)):
widget.close()
return
# END Class SharedData

View File

@@ -36,7 +36,7 @@ from PyQt5.QtWidgets import (
)
from novelwriter import CONFIG, SHARED
from novelwriter.common import formatFileFilter, openExternalPath, formatInt, getFileSize
from novelwriter.common import formatFileFilter, formatInt, getFileSize, openExternalPath
from novelwriter.error import formatException
from novelwriter.extensions.modified import NIconToolButton
from novelwriter.types import QtDialogClose
@@ -143,11 +143,12 @@ class GuiDictionaries(QDialog):
try:
import enchant
path = Path(enchant.get_user_config_dir())
self._installPath = Path(path).resolve()
self._installPath.mkdir(exist_ok=True, parents=True)
except Exception:
logger.error("Could not get enchant path")
return False
self._installPath = Path(path).resolve()
if path.is_dir():
self.inPath.setText(str(path))
hunspell = path / "hunspell"
@@ -199,9 +200,9 @@ class GuiDictionaries(QDialog):
if self._installPath:
temp = self.huInput.text()
if temp and (path := Path(temp)).is_file():
hunspell = self._installPath / "hunspell"
hunspell.mkdir(exist_ok=True)
try:
hunspell = self._installPath / "hunspell"
hunspell.mkdir(exist_ok=True)
nAff, nDic = self._extractDicts(path, hunspell)
if nAff == 0 or nDic == 0:
self._appendLog(procErr, err=True)

View File

@@ -44,9 +44,7 @@ from novelwriter.core.item import NWItem
from novelwriter.enum import nwBuildFmt
from novelwriter.extensions.modified import NIconToolButton
from novelwriter.extensions.simpleprogress import NProgressSimple
from novelwriter.types import (
QtAlignCenter, QtDialogClose, QtRoleAction, QtRoleReject, QtUserRole
)
from novelwriter.types import QtAlignCenter, QtDialogClose, QtRoleAction, QtRoleReject, QtUserRole
logger = logging.getLogger(__name__)
@@ -328,6 +326,9 @@ class GuiManuscriptBuild(QDialog):
):
return False
# Make sure editor content is saved before we start
SHARED.mainGui.saveDocument()
docBuild = NWBuildDocument(SHARED.project, self._build)
docBuild.queueAll()

View File

@@ -30,14 +30,14 @@ from datetime import datetime
from time import time
from typing import TYPE_CHECKING
from PyQt5.QtCore import QTimer, QUrl, Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QColor, QCursor, QFont, QPalette, QResizeEvent
from PyQt5.QtPrintSupport import QPrintPreviewDialog, QPrinter
from PyQt5.QtCore import Qt, QTimer, QUrl, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QColor, QCursor, QPalette, QResizeEvent
from PyQt5.QtPrintSupport import QPrinter, QPrintPreviewDialog
from PyQt5.QtWidgets import (
QAbstractItemView, QApplication, QDialog, QFormLayout, QGridLayout,
QHBoxLayout, QLabel, QListWidget, QListWidgetItem, QPushButton,
QSizePolicy, QSplitter, QStackedWidget, QTabWidget, QTextBrowser,
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget
QAbstractItemView, QApplication, QFormLayout, QGridLayout, QHBoxLayout,
QLabel, QListWidget, QListWidgetItem, QPushButton, QSizePolicy, QSplitter,
QStackedWidget, QTabWidget, QTextBrowser, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -48,7 +48,7 @@ from novelwriter.core.tohtml import ToHtml
from novelwriter.core.tokenizer import HeadingFormatter
from novelwriter.error import logException
from novelwriter.extensions.circularprogress import NProgressCircle
from novelwriter.extensions.modified import NIconToggleButton, NIconToolButton
from novelwriter.extensions.modified import NDialog, NIconToggleButton, NIconToolButton
from novelwriter.gui.theme import STYLES_FLAT_TABS, STYLES_MIN_TOOLBUTTON
from novelwriter.tools.manusbuild import GuiManuscriptBuild
from novelwriter.tools.manussettings import GuiBuildSettings
@@ -63,7 +63,7 @@ if TYPE_CHECKING: # pragma: no cover
logger = logging.getLogger(__name__)
class GuiManuscript(QDialog):
class GuiManuscript(NDialog):
"""GUI Tools: Manuscript Tool
The dialog displays all the users build definitions, a preview panel
@@ -285,7 +285,7 @@ class GuiManuscript(QDialog):
if isinstance(obj, GuiBuildSettings) and obj.isVisible():
obj.close()
event.accept()
self.deleteLater()
self.softDelete()
return
##
@@ -319,6 +319,8 @@ class GuiManuscript(QDialog):
"""Delete the currently selected build settings entry."""
if build := self._getSelectedBuild():
if SHARED.question(self.tr("Delete build '{0}'?".format(build.name))):
if dialog := self._findSettingsDialog(build.buildID):
dialog.close()
self._builds.removeBuild(build.buildID)
self._updateBuildsList()
return
@@ -340,6 +342,9 @@ class GuiManuscript(QDialog):
if not (build := self._getSelectedBuild()):
return
# Make sure editor content is saved before we start
SHARED.ensureEditorSaved(None)
docBuild = NWBuildDocument(SHARED.project, build)
docBuild.setPreviewMode(True)
docBuild.queueAll()
@@ -467,14 +472,10 @@ class GuiManuscript(QDialog):
def _openSettingsDialog(self, build: BuildSettings) -> None:
"""Open the build settings dialog."""
for obj in self.mainGui.children():
# Don't open a second dialog if one exists
if isinstance(obj, GuiBuildSettings):
if obj.buildID == build.buildID:
logger.debug("Found instance of GuiBuildSettings")
obj.show()
obj.raise_()
return
if dialog := self._findSettingsDialog(build.buildID):
dialog.show()
dialog.raise_()
return
dlgSettings = GuiBuildSettings(self.mainGui, build)
dlgSettings.setModal(False)
@@ -489,6 +490,7 @@ class GuiManuscript(QDialog):
def _updateBuildsList(self) -> None:
"""Update the list of available builds."""
self.buildList.clear()
self._buildMap.clear()
for key, name in self._builds.builds():
bItem = QListWidgetItem()
bItem.setText(name)
@@ -507,6 +509,15 @@ class GuiManuscript(QDialog):
self._updateBuildsList()
return
def _findSettingsDialog(self, buildID: str) -> GuiBuildSettings | None:
"""Return an open build settings dialog for a given build, if
one exists.
"""
for obj in SHARED.mainGui.children():
if isinstance(obj, GuiBuildSettings) and obj.buildID == buildID:
return obj
return None
# END Class GuiManuscript
@@ -741,6 +752,7 @@ class _PreviewWidget(QTextBrowser):
self._docTime = 0
self._buildName = ""
self._scrollPos = 0
# Document Setup
dPalette = self.palette()
@@ -749,7 +761,6 @@ class _PreviewWidget(QTextBrowser):
self.setPalette(dPalette)
self.setMinimumWidth(40*SHARED.theme.textNWidth)
self.setTextFont(CONFIG.textFont, CONFIG.textSize)
self.setTabStopDistance(CONFIG.getTabWidth())
self.setOpenExternalLinks(False)
@@ -790,6 +801,8 @@ class _PreviewWidget(QTextBrowser):
self._updateDocMargins()
self._updateBuildAge()
self.setTextFont(CONFIG.textFont, CONFIG.textSize)
# Age Timer
self.ageTimer = QTimer(self)
self.ageTimer.setInterval(10000)
@@ -819,12 +832,17 @@ class _PreviewWidget(QTextBrowser):
return
def setTextFont(self, family: str, size: int) -> None:
"""Set the text font properties."""
if family:
font = QFont()
"""Set the text font properties and then reset for sub-widgets.
This needs special attention since there appears to be a bug in
Qt 5.15.3. See issues #1862 and #1875.
"""
if family and size > 4:
font = self.font()
font.setFamily(family)
font.setPointSize(size)
self.setFont(font)
self.buildProgress.setFont(SHARED.theme.guiFont)
self.ageLabel.setFont(SHARED.theme.guiFontSmall)
return
##
@@ -837,6 +855,7 @@ class _PreviewWidget(QTextBrowser):
self.buildProgress.setValue(0)
self.buildProgress.setCentreText(None)
self.buildProgress.setVisible(True)
self._scrollPos = self.verticalScrollBar().value()
self.setPlaceholderText("")
self.clear()
return
@@ -849,7 +868,6 @@ class _PreviewWidget(QTextBrowser):
def setContent(self, data: dict) -> None:
"""Set the content of the preview widget."""
sPos = self.verticalScrollBar().value()
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self.buildProgress.setCentreText(self.tr("Processing ..."))
@@ -866,7 +884,6 @@ class _PreviewWidget(QTextBrowser):
cursor = self.textCursor()
cursor.insertText("\t")
self.verticalScrollBar().setValue(sPos)
self._docTime = checkInt(data.get("time"), 0)
self._updateBuildAge()
@@ -877,7 +894,7 @@ class _PreviewWidget(QTextBrowser):
self.buildProgress.setCentreText(self.tr("Done"))
QApplication.restoreOverrideCursor()
QApplication.processEvents()
QTimer.singleShot(300, self._hideProgress)
QTimer.singleShot(300, self._postUpdate)
return
@@ -932,9 +949,10 @@ class _PreviewWidget(QTextBrowser):
return
@pyqtSlot()
def _hideProgress(self) -> None:
"""Clean up the build progress bar."""
def _postUpdate(self) -> None:
"""Run tasks after content update."""
self.buildProgress.setVisible(False)
self.verticalScrollBar().setValue(self._scrollPos)
return
##

View File

@@ -27,13 +27,13 @@ import logging
from typing import TYPE_CHECKING
from PyQt5.QtGui import QFont, QIcon, QSyntaxHighlighter, QTextCharFormat, QTextDocument
from PyQt5.QtCore import QEvent, Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QFont, QIcon, QSyntaxHighlighter, QTextCharFormat, QTextDocument
from PyQt5.QtWidgets import (
QAbstractButton, QAbstractItemView, QDialog, QDialogButtonBox,
QFontDialog, QFrame, QGridLayout, QHBoxLayout, QHeaderView, QLabel,
QLineEdit, QMenu, QPlainTextEdit, QPushButton, QSplitter, QStackedWidget,
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget
QAbstractButton, QAbstractItemView, QDialogButtonBox, QFontDialog, QFrame,
QGridLayout, QHBoxLayout, QHeaderView, QLabel, QLineEdit, QMenu,
QPlainTextEdit, QPushButton, QSplitter, QStackedWidget, QTreeWidget,
QTreeWidgetItem, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -42,7 +42,9 @@ from novelwriter.core.buildsettings import BuildSettings, FilterMode
from novelwriter.extensions.configlayout import (
NColourLabel, NFixedPage, NScrollableForm, NScrollablePage
)
from novelwriter.extensions.modified import NComboBox, NDoubleSpinBox, NIconToolButton, NSpinBox
from novelwriter.extensions.modified import (
NComboBox, NDialog, NDoubleSpinBox, NIconToolButton, NSpinBox
)
from novelwriter.extensions.pagedsidebar import NPagedSideBar
from novelwriter.extensions.switch import NSwitch
from novelwriter.extensions.switchbox import NSwitchBox
@@ -57,7 +59,7 @@ if TYPE_CHECKING: # pragma: no cover
logger = logging.getLogger(__name__)
class GuiBuildSettings(QDialog):
class GuiBuildSettings(NDialog):
"""GUI Tools: Manuscript Build Settings Dialog
The main tool for configuring manuscript builds. It's a GUI tool for
@@ -199,7 +201,7 @@ class GuiBuildSettings(QDialog):
self._askToSaveBuild()
self._saveSettings()
event.accept()
self.deleteLater()
self.softDelete()
return
##
@@ -1060,8 +1062,6 @@ class _FormatTab(NScrollableForm):
def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None:
super().__init__(parent=buildMain)
self.buildMain = buildMain
self._build = build
self._unitScale = 1.0

View File

@@ -25,13 +25,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
from __future__ import annotations
import os
import sys
import shutil
import zipfile
import datetime
import subprocess
import email.utils
import os
import shutil
import subprocess
import sys
import zipfile
OS_NONE = 0
OS_LINUX = 1
@@ -330,59 +330,59 @@ def buildQtI18nTS(sysArgs: list[str]) -> None:
print("Scanning Source Tree:")
print("")
srcList = [os.path.join("i18n", "qtbase.py")]
for nRoot, _, nFiles in os.walk("novelwriter"):
if os.path.isdir(nRoot):
for aFile in nFiles:
aPath = os.path.join(nRoot, aFile)
if os.path.isfile(aPath) and aFile.endswith(".py"):
srcList.append(aPath)
sources = [os.path.join("i18n", "qtbase.py")]
for root, _, files in os.walk("novelwriter"):
if os.path.isdir(root):
for file in files:
source = os.path.join(root, file)
if os.path.isfile(source) and file.endswith(".py"):
sources.append(source)
for aSource in srcList:
print(aSource)
for source in sources:
print(source)
print("")
print("TS Files to Update:")
print("")
tsList = []
translations = []
if len(sysArgs) >= 2:
for anArg in sysArgs[1:]:
if not (anArg.startswith("i18n") and anArg.endswith(".ts")):
for arg in sysArgs[1:]:
if not (arg.startswith("i18n") and arg.endswith(".ts")):
continue
fName = os.path.basename(anArg)
if not fName.startswith("nw_") and len(fName) > 6:
print("Skipping non-novelWriter TS file %s" % fName)
file = os.path.basename(arg)
if not file.startswith("nw_") and len(file) > 6:
print("Skipping non-novelWriter TS file %s" % file)
continue
if os.path.isfile(anArg):
tsList.append(anArg)
elif os.path.exists(anArg):
if os.path.isfile(arg):
translations.append(arg)
elif os.path.exists(arg):
pass
else: # Create an empty new language file
lCode = fName[3:-3]
writeFile(anArg, (
langCode = file[3:-3]
writeFile(arg, (
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<!DOCTYPE TS>\n"
f"<TS version=\"2.0\" language=\"{lCode}\" sourcelanguage=\"en_GB\"/>\n"
f"<TS version=\"2.0\" language=\"{langCode}\" sourcelanguage=\"en_GB\"/>\n"
))
tsList.append(anArg)
translations.append(arg)
else:
print("No translation files selected for update ...")
print("")
return
for aTS in tsList:
print(aTS)
for translation in translations:
print(translation)
print("")
print("Updating Language Files:")
print("")
# Using the pylupdate tool from PyQt6 as it supports TS file format 2.1.
lupdate(srcList, tsList, no_obsolete=True, no_summary=False)
lupdate(sources, translations, no_obsolete=True, no_summary=False)
print("")
@@ -563,7 +563,7 @@ def importI18nUpdates(sysArgs: list[str]) -> None:
def makeMinimalPackage(targetOS: int) -> None:
"""Pack the core source file in a single zip file."""
from zipfile import ZipFile, ZIP_DEFLATED
from zipfile import ZIP_DEFLATED, ZipFile
print("")
print("Building Minimal ZIP File")
@@ -926,8 +926,8 @@ def makeForLaunchpad(doSign: bool = False, isFirst: bool = False) -> None:
def makeAppImage(sysArgs: list[str]) -> list[str]:
"""Build an AppImage."""
import glob
import argparse
import glob
try:
import python_appimage # noqa: F401 # type: ignore
@@ -1144,9 +1144,9 @@ def makeWindowsEmbedded(sysArgs: list[str]) -> None:
"""Set up a package with embedded Python and dependencies for
Windows installation.
"""
import compileall
import urllib.request
import zipfile
import compileall
print("")
print("Build Standalone Windows Package")

View File

@@ -46,3 +46,22 @@ include = ["novelwriter*"]
[project.gui-scripts]
novelwriter = "novelwriter:main"
[tool.isort]
py_version="310"
line_length = 99
wrap_length = 79
multi_line_output = 5
force_grid_wrap = 0
lines_between_types = 1
forced_separate = ["tests.*"]
[tool.flake8]
max-line-length = 99
ignore = ["E133", "E221", "E226", "E228", "E241", "W503", "ANN101", "ANN102", "ANN401"]
per-file-ignores = ["tests/*:ANN"]
exclude = ["docs/*"]
[tool.autopep8]
max_line_length = 99
ignore = ["E133", "E221", "E226", "E228", "E241", "W503"]

View File

@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="2.4" hexVersion="0x020400f0" fileVersion="1.5" fileRevision="3" timeStamp="2024-04-20 15:25:00">
<project id="e2be99af-f9bf-4403-857a-c3d1ac25abea" saveCount="1701" autoCount="264" editTime="83373">
<novelWriterXML appVersion="2.4.2" hexVersion="0x020402f0" fileVersion="1.5" fileRevision="3" timeStamp="2024-05-20 12:18:46">
<project id="e2be99af-f9bf-4403-857a-c3d1ac25abea" saveCount="1712" autoCount="264" editTime="83669">
<name>Sample Project</name>
<author>Jane Smith</author>
</project>
@@ -57,7 +57,7 @@
<name status="sf24ce6" import="ia857f0" active="yes">Chapter One</name>
</item>
<item handle="636b6aa9b697b" parent="6a2d6d5f4f401" root="7031beac91f75" order="0" type="FILE" class="NOVEL" layout="DOCUMENT">
<meta expanded="no" heading="H3" charCount="2937" wordCount="520" paraCount="15" cursorPos="1465" />
<meta expanded="no" heading="H3" charCount="2937" wordCount="520" paraCount="15" cursorPos="19" />
<name status="s90e6c9" import="ia857f0" active="yes">Making a Scene</name>
</item>
<item handle="bc0cbd2a407f3" parent="6a2d6d5f4f401" root="7031beac91f75" order="1" type="FILE" class="NOVEL" layout="DOCUMENT">

View File

@@ -1,5 +1,18 @@
#! /bin/bash
if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
echo "Not enouch input arguments"
exit 1
fi
PYTHON="$1"
ARCH="$2"
CONDA="$3"
echo "Python Version: $PYTHON"
echo "Architecture: $ARCH"
echo "Miniconda Architecture: $CONDA"
# Use RAM disk if possible
if [ -d /dev/shm ]; then
TEMP_BASE=/dev/shm
@@ -76,13 +89,13 @@ pushd "$BUILD_DIR"/ || exit 1
# --- Create Miniconda Env ---------------------------------------------------------------------- #
echo "Downloading Miniconda ..."
curl -LO https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
bash Miniconda3-latest-MacOSX-x86_64.sh -b -p ~/miniconda -f
rm Miniconda3-latest-MacOSX-x86_64.sh
curl -LO https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-$CONDA.sh
bash Miniconda3-latest-MacOSX-$CONDA.sh -b -p ~/miniconda -f
rm Miniconda3-latest-MacOSX-$CONDA.sh
export PATH="$HOME/miniconda/bin:$PATH"
echo "Creating Conda env ..."
conda create -n novelWriter -c conda-forge python=3.11 --yes
conda create -n novelWriter -c conda-forge python=$PYTHON --yes
source activate novelWriter
echo "Installing dictionaries ..."
@@ -123,10 +136,10 @@ cp $SRC_DIR/setup/macos/novelwriter.icns novelWriter.app/Contents/Resources/
# Create entry script
echo "Creating entry script ..."
cat > novelWriter.app/Contents/MacOS/novelWriter <<\EOF
cat > novelWriter.app/Contents/MacOS/novelWriter << EOF
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
$DIR/../Resources/bin/python -sE $DIR/../Resources/novelWriter/novelWriter.py $@
DIR="\$( cd "\$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
\$DIR/../Resources/bin/python -sE \$DIR/../Resources/novelWriter/novelWriter.py \$@
EOF
# Make it executable
@@ -173,8 +186,8 @@ brew install create-dmg
create-dmg --volname "novelWriter $VERSION" --volicon $SRC_DIR/setup/macos/novelwriter.icns \
--window-pos 200 120 --window-size 800 400 --icon-size 100 \
--icon novelWriter.app 200 190 --hide-extension novelWriter.app \
--app-drop-link 600 185 $RLS_DIR/novelWriter-"${VERSION}".dmg "$BUILD_DIR"/
--app-drop-link 600 185 $RLS_DIR/novelWriter-"${VERSION}"-$ARCH.dmg "$BUILD_DIR"/
pushd $RLS_DIR || exit 1
shasum -a 256 novelWriter-"${VERSION}".dmg | tee novelWriter-"${VERSION}".dmg.sha256
shasum -a 256 novelWriter-"${VERSION}"-$ARCH.dmg | tee novelWriter-"${VERSION}"-$ARCH.dmg.sha256
popd || exit 1

View File

@@ -20,12 +20,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
from __future__ import annotations
import pytest
import enchant
from zipfile import ZipFile
from mocked import causeException
import enchant
import pytest
from PyQt5.QtGui import QDesktopServices
from PyQt5.QtWidgets import QFileDialog
@@ -33,11 +31,15 @@ from PyQt5.QtWidgets import QFileDialog
from novelwriter import SHARED
from novelwriter.tools.dictionaries import GuiDictionaries
from tests.mocked import causeException
@pytest.mark.gui
def testToolDictionaries_Main(qtbot, monkeypatch, nwGUI, fncPath):
"""Test the Dictionaries downloader tool."""
monkeypatch.setattr(enchant, "get_user_config_dir", lambda *a: str(fncPath))
# Must also create the enchant folder, see issue #1874
enchPath = fncPath / "enchant"
monkeypatch.setattr(enchant, "get_user_config_dir", lambda *a: str(enchPath))
# Fail to open
with monkeypatch.context() as mp:
@@ -52,7 +54,7 @@ def testToolDictionaries_Main(qtbot, monkeypatch, nwGUI, fncPath):
nwDicts = SHARED.findTopLevelWidget(GuiDictionaries)
assert isinstance(nwDicts, GuiDictionaries)
assert nwDicts.isVisible()
assert nwDicts.inPath.text() == str(fncPath)
assert nwDicts.inPath.text() == str(enchPath)
# Allow Open Dir
SHARED._lastAlert = ""
@@ -98,9 +100,9 @@ def testToolDictionaries_Main(qtbot, monkeypatch, nwGUI, fncPath):
nwDicts._doBrowseHunspell()
assert nwDicts.huInput.text() == str(foDict)
nwDicts._doImportHunspell()
assert (fncPath / "hunspell").is_dir()
assert (fncPath / "hunspell" / "en_GB.aff").is_file()
assert (fncPath / "hunspell" / "en_GB.dic").is_file()
assert (enchPath / "hunspell").is_dir()
assert (enchPath / "hunspell" / "en_GB.aff").is_file()
assert (enchPath / "hunspell" / "en_GB.dic").is_file()
assert nwDicts.infoBox.blockCount() == 3
# Import Libre Office Dictionary
@@ -109,9 +111,9 @@ def testToolDictionaries_Main(qtbot, monkeypatch, nwGUI, fncPath):
nwDicts._doBrowseHunspell()
assert nwDicts.huInput.text() == str(loDict)
nwDicts._doImportHunspell()
assert (fncPath / "hunspell").is_dir()
assert (fncPath / "hunspell" / "en_US.aff").is_file()
assert (fncPath / "hunspell" / "en_US.dic").is_file()
assert (enchPath / "hunspell").is_dir()
assert (enchPath / "hunspell" / "en_US.aff").is_file()
assert (enchPath / "hunspell" / "en_US.dic").is_file()
assert nwDicts.infoBox.blockCount() == 5
# Handle Unreadable File

View File

@@ -20,18 +20,16 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
from __future__ import annotations
import pytest
import sys
from pathlib import Path
from pytestqt.qtbot import QtBot
from mocked import causeOSError
from tools import C, buildTestProject
import pytest
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtPrintSupport import QPrintPreviewDialog
from PyQt5.QtWidgets import QAction, QListWidgetItem
from pytestqt.qtbot import QtBot
from novelwriter import CONFIG, SHARED
from novelwriter.constants import nwHeadFmt
@@ -42,6 +40,9 @@ from novelwriter.tools.manuscript import GuiManuscript
from novelwriter.tools.manussettings import GuiBuildSettings
from novelwriter.types import QtAlignAbsolute, QtAlignJustify, QtDialogApply, QtDialogSave
from tests.mocked import causeOSError
from tests.tools import C, buildTestProject
@pytest.mark.gui
def testManuscript_Init(monkeypatch, qtbot: QtBot, nwGUI: GuiMain, projPath: Path, mockRnd):
@@ -81,7 +82,9 @@ def testManuscript_Init(monkeypatch, qtbot: QtBot, nwGUI: GuiMain, projPath: Pat
manus.show()
manus.loadContent()
assert manus.docPreview.toPlainText().strip() == ""
manus.close()
nwGUI.closeProject() # This should auto-close the manuscript tool
assert manus.isHidden()
# qtbot.stop()
@@ -270,7 +273,7 @@ def testManuscript_Features(monkeypatch, qtbot, nwGUI, projPath, mockRnd):
assert manus.docPreview.document().defaultTextOption().alignment() == QtAlignAbsolute
# Tests are too fast to trigger this one, so we trigger it manually to ensure it isn't failing
manus.docPreview._hideProgress()
manus.docPreview._postUpdate()
# Builds
# ======