Merge branch 'main' into dev

This commit is contained in:
Veronica Berglyd Olsen
2024-01-27 17:04:44 +01:00
23 changed files with 3219 additions and 2805 deletions
+14 -18
View File
@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
@@ -18,7 +18,7 @@ jobs:
sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Packages (pip)
run: pip install -r docs/source/requirements.txt
@@ -27,7 +27,7 @@ jobs:
run: python pkgutils.py qtlrelease sample manual
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: nw-assets
path: |
@@ -46,7 +46,7 @@ jobs:
linux-tag: ["manylinux_2_24_x86_64", "manylinux_2_28_x86_64"]
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
@@ -55,10 +55,10 @@ jobs:
run: pip install python-appimage
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
@@ -67,12 +67,10 @@ jobs:
run: python pkgutils.py build-appimage --linux-tag ${{ matrix.linux-tag }} --python-version ${{ matrix.python-version }}
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: novelWriter-Packages
path: |
dist_appimage/novelWriter*.AppImage
dist_appimage/novelWriter*.AppImage.sha256
name: AppImage-${{ matrix.python-version }}-${{ matrix.linux-tag }}
path: dist_appimage
if-no-files-found: error
retention-days: 1
@@ -81,10 +79,10 @@ jobs:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
@@ -93,11 +91,9 @@ jobs:
run: ./setup/macos/build.sh
- name: Upload DMG
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: novelWriter-Packages
path: |
dist_macos/novelWriter*.dmg
dist_macos/novelWriter*.dmg.sha256
name: MacOS-DMG
path: dist_macos
if-no-files-found: error
retention-days: 1
+2 -2
View File
@@ -15,12 +15,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3
architecture: x64
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install flake8
run: pip install flake8
- name: Syntax Check
+2 -2
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
@@ -27,7 +27,7 @@ jobs:
sudo apt update
sudo apt install libenchant-2-dev qttools5-dev-tools aspell-en
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Dependencies (pip)
run: |
pip install -U -r requirements.txt -r tests/requirements.txt
+2 -2
View File
@@ -15,7 +15,7 @@ jobs:
runs-on: macos-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
@@ -23,7 +23,7 @@ jobs:
run: |
brew install enchant
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Dependencies (pip)
run: |
pip install -U pyobjc -r requirements.txt -r tests/requirements.txt
+2 -2
View File
@@ -15,12 +15,12 @@ jobs:
runs-on: windows-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
- name: Checkout Source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Dependencies (pip)
run: |
pip install -U -r requirements.txt -r tests/requirements.txt
+23
View File
@@ -1,5 +1,28 @@
# novelWriter Changelog
## Version 2.2.1 [2024-01-27]
### Release Notes
This is a patch release that fixes an issue where the Project View would sometimes switch to the
Novel View when a new item was created. This patch also includes updated translations for German
and Chinese.
### Detailed Changelog
**Bugfixes**
* Fix a bug in the toggle for the tree view on the left would trigger each time a new project item
was created. Issue #1649. PR #1648.
* Fix an issue where multiple Manuscript and Writing Stats dialogs could be opened. PR #1671.
**Internationalisation**
* Updated German translation, by @HeyMyian. PR #1666.
* Updated Chinese translation, by @ruixuan658 and @longqzh. PR #1666.
----
## Version 2.2 [2023-12-17]
### Release Notes
+1 -1
View File
@@ -96,7 +96,7 @@ set as ``name`` inside the file.
suitable one.
Gustom GUI and Icons Theme
Custom GUI and Icons Theme
--------------------------
A GUI theme ``.conf`` file consists of the following settings:
+1 -1
View File
@@ -82,7 +82,7 @@ Instead, run the following commands to add the repository and key:
.. code-block:: bash
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
Then run the update and install commands as for Ubuntu:
+1308 -1126
View File
File diff suppressed because it is too large Load Diff
+83 -83
View File
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation>Project Content</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation>Quick Links</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation>Move Up</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation>Move Down</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation>Add Item</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation>Expand All</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation>Collapse All</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation>Empty Trash</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation>More Options</translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation>Active</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation>Inactive</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation>Did not find anywhere to add the file or folder!</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation>Cannot add new files or folders to the Trash folder.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation>New Note</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation>New Chapter</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation>New Scene</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation>New Document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation>New Folder</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation>There is currently no Trash folder in this project.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation>The Trash folder is already empty.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation>Permanently delete {0} file(s) from Trash?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>Move '{0}' to Trash?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation>Root folders can only be deleted when they are empty.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>Permanently delete '{0}'?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation>No documents selected for merging.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation>Merged</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation>Could not write document content.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation>Do you want to duplicate this document?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation>Do you want to duplicate this item and all child items?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation>Could not duplicate all items.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>There is nowhere to add item with name '{0}'.</translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation>New Project</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation>New Chapter</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation>New Scene</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation>Title Page</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation>By</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation>Summary of the chapter.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation>Summary of the scene.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation>A short description.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation>Chapter {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation>Scene {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation>Main Plot</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation>Protagonist</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation>Main Location</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation>Failed to create a new example project.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation>Information</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation>Warning</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation>Question</translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation>Empty Trash</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation>Rename</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation>Open Document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation>View Document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>Set Active to ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation>Active</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation>Inactive</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation>Toggle Active</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>Set Status to ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>Manage Labels ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>Set Importance to ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation>Transform</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>Convert to {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation>Merge Child Items into Self</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation>Merge Child Items into New</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation>Merge Documents in Folder</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation>Split Document by Headers</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation>Expand All</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation>Collapse All</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation>Duplicate from Here</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation>Duplicate Document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation>Delete Permanently</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation>Move to Trash</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>Move {0} items to Trash?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Do you want to convert the folder to a {0}? This action cannot be reversed.</translation>
</message>
+83 -83
View File
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation>Contenido del Proyecto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation>Enlaces Rápidos</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation>Mover Arriba</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation>Mover Abajo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation>Añadir Ítem</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation>Expandir Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation>Contraer Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation>Vaciar la Papelera</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation>Más Opciones</translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation>En uso</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation>Sin uso</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation>¡No se encontró dónde añadir el archivo o carpeta!</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation>No se puede añadir nuevos archivos o carpetas a la carpeta Papelera.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation>Nota nueva</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation>Capítulo Nuevo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation>Escena Nueva</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation>Documento Nuevo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation>Nueva Carpeta</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation>No hay actualmente una carpeta Papelera en este proyecto.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation>La carpeta Papelera ya está vacía.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation>¿Eliminar {0} archivo(s) permanentemente de la Papelera?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>¿Mover '{0}' a la Papelera?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation>Las carpetas raíz sólo pueden eliminarse si están vacías.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>¿Eliminar Permanentemente '{0}'?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>Sólo se permite arrastrar y soltar de a un solo elemento, o de a múltiples elementos no raíz o con el mismo elemento superior.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation>No se han seleccionado documentos para combinar.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation>Combinado</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation>No se pudo escribir el contenido del documento.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation>¿Desea duplicar este documento?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation>¿Desea duplicar este ítem y todos sus ítems secundarios?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation>No se ha podido duplicar todos los ítems.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>No hay ningún lugar en el que añadir un ítem nombrado '{0}'.</translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation>Proyecto Nuevo</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation>Capítulo Nuevo</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation>Escena Nueva</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation>Título de la Página</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation>Por</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation>Resumen del capítulo.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation>Resumen de la escena.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation>Una breve descripción.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation>Capítulo {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation>Escena {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation>Argumento Principal</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation>Protagonista</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation>Lugar Principal</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation>Hubo un fallo al crear un nuevo proyecto de ejemplo.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation>Hubo un fallo al crear un nuevo proyecto de ejemplo. No se pudieron encontrar los archivos necesarios. Aparentemente esta instalación carece de ellos.</translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation>Información</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation>Advertencia</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation>Pregunta</translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation>Vaciar la Papelera</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation>Renombrar</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation>Abrir el Documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation>Visualizar el Documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>Inclusión ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation>En uso</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation>Sin uso</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation>Alternar su Inclusión</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>Cambiar el Estado a ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>Administrar las Etiquetas ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>Importancia ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation>Transformar</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>Convertir a {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation>Combinar Ítems Descendientes con mismo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation>Combinar los Ítems Descendientes en uno Nuevo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation>Combinar los Documentos de la Carpeta</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation>Separar el Documento por Encabezados</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation>Expandir Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation>Contraer Todo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation>Duplicar a partir de Aquí</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation>Duplicar el Documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation>Eliminar Permanentemente</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation>Mover a la Papelera</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>¿Mover '{0}' ítems a la Papelera?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>¿Desea convertir la carpeta a {0}? Esta acción es irreversible.</translation>
</message>
+83 -83
View File
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation>Contenu du projet</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation>Liens rapides</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation>Déplacer vers le haut</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation>Déplacer vers le bas</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation>Ajouter un élément</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation>Tout développer</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation>Tout replier</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation>Vider la corbeille</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation>Autres options</translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation>Actif</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation>Inactif</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation>Pas trouvé d'emplacement pour y ajouter le fichier ou le dossier !</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation>Impossible d'ajouter de nouveaux fichiers ou dossiers dans le dossier Corbeille.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation>Nouvelle note</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation>Nouveau chapitre</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation>Nouvelle scène</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation>Nouveau document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation>Nouveau dossier</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation>Il n'existe pas actuellement de dossier Corbeille pour ce projet.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation>Le dossier Corbeille est déjà vide.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation>Effacer définitivement {0} fichier(s) dans la Corbeille ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>Déplacer '{0}' dans la corbeille ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation>Les dossiers racines ne peuvent être supprimés que s'ils sont vides.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>Effacer définitivement '{0} ' ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>Le glisser-déposer n'est autorisé que pour des éléments individuels, des éléments non racines, ou des ensembles d'éléments ayant le même parent.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation>Aucun document n'a é sélectionné pour la fusion.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation>Fusionné</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation>Impossible d'écrire le contenu du document.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation>Voulez-vous dupliquer ce document ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation>Voulez-vous dupliquer cet élément et tous ceux qu'il contient ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation>Impossible de dupliquer tous les éléments.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>Il n'y a pas d'emplacement pour ajouter l'item nommé '{0}'.</translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation>Nouveau projet</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation>Nouveau chapitre</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation>Nouvelle scène</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation>Page de titre</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation>Par</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation>Résumé du chapitre.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation>Résumé de la scène.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation>Une description sommaire.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation>Chapitre {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation>Scène {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation>Intrigue principale</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation>Protagoniste</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation>Lieu principal</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation>Il n'a pas été possible de créer un nouveau projet d'exemple.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation>Impossible de créer un nouveau projet d'exemple. Les fichiers nécessaires n'ont pas pu être trouvés. Ils semblent absents de cette installation.</translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation>Information</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation>Avertissement</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation>Question</translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation>Vider la corbeille</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation>Ouvrir le document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation>Afficher le document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>Définir Actif à ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation>Actif</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation>Inactif</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation>Activer/Désactiver</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>Définir le statut à ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>Gérer les étiquettes...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>Définir l'Importance à ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation>Transformer</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>Convertir en {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation>Intégrer les éléments enfants</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation>Créer une fusion des éléments enfants</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation>Fusionner les documents du dossier</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation>Diviser le document selon les en-têtes</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation>Tout développer</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation>Tout replier</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation>Dupliquer à partir d'ici</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation>Dupliquer le document</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation>Supprimer définitivement</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation>Déplacer vers la corbeille</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>Déplacer {0} élément(s) dans la corbeille ?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Voulez-vous convertir le dossier en {0} ? Cette action est irréversible.</translation>
</message>
+83 -83
View File
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation>Contenuto del progetto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation>Collegamenti rapidi</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation>Sposta su</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation>Sposta giù</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation>Aggiungi elemento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation>Espandi tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation>Collassa tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation>Svuota il cestino</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation>Altre opzioni</translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation>Attivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation>Inattivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation>Non è stato trovato alcun posto dove aggiungere il file o la cartella!</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation>Impossibile aggiungere nuovi file o cartelle alla cartella Cestino.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation>Nuova nota</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation>Nuovo capitolo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation>Nuova scena</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation>Nuovo documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation>Nuova cartella</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation>Al momento non c'è una cartella Cestino in questo progetto.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation>La cartella Cestino è già vuota.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation>Eliminare definitivamente {0} file(s) dal cestino?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>Spostare '{0}' nel Cestino?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation>Le cartelle radice possono essere eliminate solo quando sono vuote.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>Eliminare definitivamente '{0}'?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>Il trascinamento è consentito solo per singoli oggetti, oggetti non radice, o più oggetti con lo stesso genitore.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation>Nessun documento selezionato per la fusione.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation>Uniti</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation>Impossibile scrivere il contenuto del documento.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation>Vuoi duplicare questo documento?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation>Vuoi duplicare questo elemento e tutti gli elementi figli?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation>Impossibile duplicare tutti gli elementi.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>Non c'è nessun posto dove aggiungere un elemento con il nome '{0}.</translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation>Nuovo progetto</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation>Nuovo capitolo</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation>Nuova scena</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation>Pagina del titolo</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation>Di</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation>Riassunto del capitolo.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation>Riassunto della scena.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation>Una breve descrizione.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation>Capitolo {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation>Scena {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation>Trama principale</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation>Protagonista</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation>Località principale</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation>Impossibile creare un nuovo progetto di esempio.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation>Impossibile creare un nuovo progetto di esempio. Impossibile trovare i file necessari. Sembrano mancanti da questa installazione.</translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation>Informazioni</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation>Attenzione</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation>Domanda</translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation>Svuota il cestino</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation>Apri documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation>Visualizza documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>Imposta attività su ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation>Attivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation>Non attivo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation>Commuta Attiva/Disattiva</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>Imposta lo stato su ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>Gestisci Etichette ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>Imposta l'importanza su ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation>Trasforma</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>Converti in {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation>Fondi elementi figli</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation>Fondi elementi figli in uno nuovo</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation>Fondi i documenti nella cartella</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation>Dividi il documento alle intestazioni</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation>Espandi tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation>Collassa tutto</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation>Duplica da qui</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation>Duplica il documento</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation>Elimina definitivamente</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation>Sposta nel cestino</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>Spostare {0} elementi nel cestino?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Vuoi convertire la cartella in un {0}? Questa azione non può essere annullata.</translation>
</message>
+85 -85
View File
@@ -2157,7 +2157,7 @@
<message>
<location filename="../novelwriter/tools/manuscript.py" line="172" />
<source>Build</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/tools/manuscript.py" line="175" />
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation></translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation> {0} </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>'{0}' </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>'{0}' </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>&amp;使</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>'{0}' </translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation> {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation> {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation></translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation></translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>... </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>... </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>{0} </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation></translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>{0} </translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation> {0}  </translation>
</message>
+83 -83
View File
@@ -3416,47 +3416,47 @@
<context>
<name>GuiProjectToolBar</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="254" />
<location filename="../novelwriter/gui/projtree.py" line="253" />
<source>Project Content</source>
<translation>Prosjektets innhold</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="262" />
<location filename="../novelwriter/gui/projtree.py" line="261" />
<source>Quick Links</source>
<translation>Hurtiglenker</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="270" />
<location filename="../novelwriter/gui/projtree.py" line="269" />
<source>Move Up</source>
<translation>Flytt opp</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="275" />
<location filename="../novelwriter/gui/projtree.py" line="274" />
<source>Move Down</source>
<translation>Flytt ned</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="311" />
<location filename="../novelwriter/gui/projtree.py" line="310" />
<source>Add Item</source>
<translation>Legg til element</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="320" />
<location filename="../novelwriter/gui/projtree.py" line="319" />
<source>Expand All</source>
<translation>Utvid alle</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="323" />
<location filename="../novelwriter/gui/projtree.py" line="322" />
<source>Collapse All</source>
<translation>Lukk alle</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="326" />
<location filename="../novelwriter/gui/projtree.py" line="325" />
<source>Empty Trash</source>
<translation>Tøm papirkurven</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="330" />
<location filename="../novelwriter/gui/projtree.py" line="329" />
<source>More Options</source>
<translation>Flere valg</translation>
</message>
@@ -3464,118 +3464,118 @@
<context>
<name>GuiProjectTree</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="528" />
<location filename="../novelwriter/gui/projtree.py" line="527" />
<source>Active</source>
<translation>Aktiv</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="529" />
<location filename="../novelwriter/gui/projtree.py" line="528" />
<source>Inactive</source>
<translation>Inaktiv</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="616" />
<location filename="../novelwriter/gui/projtree.py" line="615" />
<source>Did not find anywhere to add the file or folder!</source>
<translation>Fant ikke noe sted å legge til filen eller mappen!</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="625" />
<location filename="../novelwriter/gui/projtree.py" line="624" />
<source>Cannot add new files or folders to the Trash folder.</source>
<translation>Kan ikke legge til nye filer eller mapper i papirkurvmappen.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="632" />
<location filename="../novelwriter/gui/projtree.py" line="631" />
<source>New Note</source>
<translation>Nytt notat</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="635" />
<location filename="../novelwriter/gui/projtree.py" line="634" />
<source>New Chapter</source>
<translation>Nytt kapittel</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="638" />
<location filename="../novelwriter/gui/projtree.py" line="637" />
<source>New Scene</source>
<translation>Ny scene</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="641" />
<location filename="../novelwriter/gui/projtree.py" line="640" />
<source>New Document</source>
<translation>Nytt dokument</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="644" />
<location filename="../novelwriter/gui/projtree.py" line="643" />
<source>New Folder</source>
<translation>Ny mappe</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="858" />
<location filename="../novelwriter/gui/projtree.py" line="857" />
<source>There is currently no Trash folder in this project.</source>
<translation>Det er for øyeblikket ingen papirkurv i dette prosjektet.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="867" />
<location filename="../novelwriter/gui/projtree.py" line="866" />
<source>The Trash folder is already empty.</source>
<translation>Papirkurven er allerede tom.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="871" />
<location filename="../novelwriter/gui/projtree.py" line="870" />
<source>Permanently delete {0} file(s) from Trash?</source>
<translation>Vil du slette {0} filer i papirkurven for godt?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="917" />
<location filename="../novelwriter/gui/projtree.py" line="916" />
<source>Move '{0}' to Trash?</source>
<translation>Vil du flytte filen "{0}" til søpla?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="949" />
<location filename="../novelwriter/gui/projtree.py" line="948" />
<source>Root folders can only be deleted when they are empty.</source>
<translation>Rotmapper kan bare slettes når de er tomme.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="968" />
<location filename="../novelwriter/gui/projtree.py" line="967" />
<source>Permanently delete '{0}'?</source>
<translation>Slette filen "{0}" for godt?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1260" />
<location filename="../novelwriter/gui/projtree.py" line="1259" />
<source>Drag and drop is only allowed for single items, non-root items, or multiple items with the same parent.</source>
<translation>Dra og slipp er bare tillatt for enkeltelementer, ikke hovedmapper, eller elementer under samme mappe eller dokument.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1393" />
<location filename="../novelwriter/gui/projtree.py" line="1392" />
<source>No documents selected for merging.</source>
<translation>Ingen dokumenter er valgt for sammenslåing.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1401" />
<location filename="../novelwriter/gui/projtree.py" line="1400" />
<source>Merged</source>
<translation>Sammenslått</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1481" />
<location filename="../novelwriter/gui/projtree.py" line="1417" />
<location filename="../novelwriter/gui/projtree.py" line="1480" />
<location filename="../novelwriter/gui/projtree.py" line="1416" />
<source>Could not write document content.</source>
<translation>Kan ikke skrive til dokumentet.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1503" />
<location filename="../novelwriter/gui/projtree.py" line="1502" />
<source>Do you want to duplicate this document?</source>
<translation>Vil du duplisere dette dokumentet?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1505" />
<location filename="../novelwriter/gui/projtree.py" line="1504" />
<source>Do you want to duplicate this item and all child items?</source>
<translation>Vil du duplisere dette elementet og alle underelementer?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1519" />
<location filename="../novelwriter/gui/projtree.py" line="1518" />
<source>Could not duplicate all items.</source>
<translation>Kunne ikke duplisere alle elementer.</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1576" />
<location filename="../novelwriter/gui/projtree.py" line="1575" />
<source>There is nowhere to add item with name '{0}'.</source>
<translation>Fant ikke noe sted å legge til enheten med navn {0}'.</translation>
</message>
@@ -4211,78 +4211,78 @@
<context>
<name>ProjectBuilder</name>
<message>
<location filename="../novelwriter/core/coretools.py" line="346" />
<location filename="../novelwriter/core/coretools.py" line="347" />
<source>New Project</source>
<translation>Nytt prosjekt</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="347" />
<location filename="../novelwriter/core/coretools.py" line="348" />
<source>New Chapter</source>
<translation>Nytt kapittel</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="348" />
<location filename="../novelwriter/core/coretools.py" line="349" />
<source>New Scene</source>
<translation>Ny scene</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="349" />
<location filename="../novelwriter/core/coretools.py" line="350" />
<source>Title Page</source>
<translation>Tittelside</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="350" />
<location filename="../novelwriter/core/coretools.py" line="351" />
<source>By</source>
<translation>Av</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="407" />
<location filename="../novelwriter/core/coretools.py" line="408" />
<source>Summary of the chapter.</source>
<translation>Sammendrag av kapittelet.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="408" />
<location filename="../novelwriter/core/coretools.py" line="409" />
<source>Summary of the scene.</source>
<translation>Sammendrag av scenen.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="409" />
<location filename="../novelwriter/core/coretools.py" line="410" />
<source>A short description.</source>
<translation>En kort beskrivelse.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="414" />
<location filename="../novelwriter/core/coretools.py" line="415" />
<source>Chapter {0}</source>
<translation>Kapittel {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="430" />
<location filename="../novelwriter/core/coretools.py" line="422" />
<location filename="../novelwriter/core/coretools.py" line="431" />
<location filename="../novelwriter/core/coretools.py" line="423" />
<source>Scene {0}</source>
<translation>Scene {0}</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="437" />
<location filename="../novelwriter/core/coretools.py" line="438" />
<source>Main Plot</source>
<translation>Hovedplott</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="438" />
<location filename="../novelwriter/core/coretools.py" line="439" />
<source>Protagonist</source>
<translation>Protagonist</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="439" />
<location filename="../novelwriter/core/coretools.py" line="440" />
<source>Main Location</source>
<translation>Hovedlokasjon</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="483" />
<location filename="../novelwriter/core/coretools.py" line="484" />
<source>Failed to create a new example project.</source>
<translation>Kunne ikke lage nytt eksempel-prosjekt.</translation>
</message>
<message>
<location filename="../novelwriter/core/coretools.py" line="489" />
<location filename="../novelwriter/core/coretools.py" line="490" />
<source>Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation.</source>
<translation>Kunne ikke lage nytt eksempel-prosjekt. Kunne ikke finne de nødvendige filene. De ser ut til å mangle i denne installasjonen.</translation>
</message>
@@ -4544,22 +4544,22 @@
<context>
<name>_GuiAlert</name>
<message>
<location filename="../novelwriter/shared.py" line="361" />
<location filename="../novelwriter/shared.py" line="362" />
<source>Information</source>
<translation>Informasjon</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="364" />
<location filename="../novelwriter/shared.py" line="365" />
<source>Warning</source>
<translation>Advarsel</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="367" />
<location filename="../novelwriter/shared.py" line="368" />
<source>Error</source>
<translation>Feil</translation>
</message>
<message>
<location filename="../novelwriter/shared.py" line="370" />
<location filename="../novelwriter/shared.py" line="371" />
<source>Question</source>
<translation>Spørsmål</translation>
</message>
@@ -4661,132 +4661,132 @@
<context>
<name>_TreeContextMenu</name>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1663" />
<location filename="../novelwriter/gui/projtree.py" line="1662" />
<source>Empty Trash</source>
<translation>Tøm papirkurven</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1679" />
<location filename="../novelwriter/gui/projtree.py" line="1678" />
<source>Rename</source>
<translation>Endre navn</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1710" />
<location filename="../novelwriter/gui/projtree.py" line="1709" />
<source>Open Document</source>
<translation>Åpne dokument</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1714" />
<location filename="../novelwriter/gui/projtree.py" line="1713" />
<source>View Document</source>
<translation>Vis dokument</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<location filename="../novelwriter/gui/projtree.py" line="1722" />
<source>Set Active to ...</source>
<translation>Sett aktiv til ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1724" />
<location filename="../novelwriter/gui/projtree.py" line="1723" />
<source>Active</source>
<translation>Aktiv</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1726" />
<location filename="../novelwriter/gui/projtree.py" line="1725" />
<source>Inactive</source>
<translation>Inaktiv</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1729" />
<location filename="../novelwriter/gui/projtree.py" line="1728" />
<source>Toggle Active</source>
<translation>Aktiver/deaktiver</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1736" />
<location filename="../novelwriter/gui/projtree.py" line="1735" />
<source>Set Status to ...</source>
<translation>Sett status til ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1765" />
<location filename="../novelwriter/gui/projtree.py" line="1748" />
<location filename="../novelwriter/gui/projtree.py" line="1764" />
<location filename="../novelwriter/gui/projtree.py" line="1747" />
<source>Manage Labels ...</source>
<translation>Administrer etiketter ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1753" />
<location filename="../novelwriter/gui/projtree.py" line="1752" />
<source>Set Importance to ...</source>
<translation>Sett viktighetsnivå til ...</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1773" />
<location filename="../novelwriter/gui/projtree.py" line="1772" />
<source>Transform</source>
<translation>Transformer</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1798" />
<location filename="../novelwriter/gui/projtree.py" line="1794" />
<location filename="../novelwriter/gui/projtree.py" line="1790" />
<location filename="../novelwriter/gui/projtree.py" line="1786" />
<location filename="../novelwriter/gui/projtree.py" line="1797" />
<location filename="../novelwriter/gui/projtree.py" line="1793" />
<location filename="../novelwriter/gui/projtree.py" line="1789" />
<location filename="../novelwriter/gui/projtree.py" line="1785" />
<source>Convert to {0}</source>
<translation>Konverter til {0}</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1802" />
<location filename="../novelwriter/gui/projtree.py" line="1801" />
<source>Merge Child Items into Self</source>
<translation>Lim inn underelementer i dette dokumentet</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1804" />
<location filename="../novelwriter/gui/projtree.py" line="1803" />
<source>Merge Child Items into New</source>
<translation>Lim inn underelementer i nytt dokument</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1808" />
<location filename="../novelwriter/gui/projtree.py" line="1807" />
<source>Merge Documents in Folder</source>
<translation>Slå sammen dokumenter i mappen</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1812" />
<location filename="../novelwriter/gui/projtree.py" line="1811" />
<source>Split Document by Headers</source>
<translation>Del dokumentet etter overskrift</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1822" />
<location filename="../novelwriter/gui/projtree.py" line="1821" />
<source>Expand All</source>
<translation>Utvid alle</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1824" />
<location filename="../novelwriter/gui/projtree.py" line="1823" />
<source>Collapse All</source>
<translation>Lukk alle</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1826" />
<location filename="../novelwriter/gui/projtree.py" line="1825" />
<source>Duplicate from Here</source>
<translation>Dupliser herfra</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1829" />
<location filename="../novelwriter/gui/projtree.py" line="1828" />
<source>Duplicate Document</source>
<translation>Dupliser dokument</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1833" />
<location filename="../novelwriter/gui/projtree.py" line="1832" />
<source>Delete Permanently</source>
<translation>Slett permanent</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1843" />
<location filename="../novelwriter/gui/projtree.py" line="1836" />
<location filename="../novelwriter/gui/projtree.py" line="1842" />
<location filename="../novelwriter/gui/projtree.py" line="1835" />
<source>Move to Trash</source>
<translation>Flytt til papirkurv</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1855" />
<location filename="../novelwriter/gui/projtree.py" line="1854" />
<source>Move {0} items to Trash?</source>
<translation>Vil du flytte {0} filer til papirkurven?</translation>
</message>
<message>
<location filename="../novelwriter/gui/projtree.py" line="1934" />
<location filename="../novelwriter/gui/projtree.py" line="1933" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Vil du konvertere mappen til et {0}? Denne handlingen kan ikke angres.</translation>
</message>
+1312 -1130
View File
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,6 @@
{
"Synopsis": "Synopsis",
"Short Description": "Kurzbeschreibung",
"Comment": "Kommentar",
"Notes": "Notizen",
"Tag": "Schlagwort",
@@ -1,7 +1,18 @@
{
"Synopsis": "概要",
"Short Description": "简短描述",
"Comment": "注释",
"Notes": "笔记",
"Tag": "标签",
"Point of View": "视角",
"Focus": "聚焦",
"Characters": "角色",
"Plot": "情节",
"Timeline": "时间线",
"Locations": "地点",
"Objects": "物品",
"Entities": "条目",
"Custom": "自定义",
"0": "零",
"1": "一",
"2": "二",
+10
View File
@@ -5,6 +5,8 @@
<h2>Release Notes for 2.2</h2>
<p><i>Released on 17 December 2023</i></p>
<p>Scroll down for <a href="#patch">Patch Notes</a></p>
<p>This release comes with a number of new features. These are some highlights.</p>
<p>In addition to the common Markdown style formatting for bold, italic and strike through, a set
of new shortcodes have been added. The shortcodes are far more flexible than the Markdown style
@@ -46,5 +48,13 @@ had to be removed. It may be added back later.</p>
<p><i>See also the <a href="https://github.com/vkbo/novelWriter/releases">Releases</a> page.</i></p>
<a name="patch"></a><h2>Patch Notes</h2>
<h3>Patch 2.2.1 &ndash; 27 January 2024</h3>
<p>This is a patch release that fixes an issue where the Project View would sometimes switch to the
Novel View when a new item was created. This patch also includes updated translations for German
and Chinese.</p>
</body>
</html>
+14 -14
View File
@@ -46,9 +46,9 @@ from novelwriter.constants import nwConst, nwUnicode
logger = logging.getLogger(__name__)
# =============================================================================================== #
##
# Checker Functions
# =============================================================================================== #
##
def checkStringNone(value: Any, default: str | None) -> str | None:
"""Check if a variable is a string or a None."""
@@ -131,9 +131,9 @@ def checkPath(value: Any, default: Path) -> Path:
return default
# =============================================================================================== #
##
# Validator Functions
# =============================================================================================== #
##
def isHandle(value: Any) -> bool:
"""Check if a string is a valid novelWriter handle.
@@ -204,9 +204,9 @@ def checkIntTuple(value: int, valid: tuple | list | set, default: int) -> int:
return default
# =============================================================================================== #
##
# Formatting Functions
# =============================================================================================== #
##
def formatInt(value: int) -> str:
"""Formats an integer with k, M, G etc."""
@@ -255,9 +255,9 @@ def formatVersion(value: str) -> str:
return value.lower().replace("a", " Alpha ").replace("b", " Beta ").replace("rc", " RC ")
# =============================================================================================== #
##
# String Functions
# =============================================================================================== #
##
def simplified(text: str) -> str:
"""Take a string and strip leading and trailing whitespaces, and
@@ -376,9 +376,9 @@ def numberToRoman(value: int, toLower: bool = False) -> str:
return roman.lower() if toLower else roman
# =============================================================================================== #
##
# Encoder Functions
# =============================================================================================== #
##
def jsonEncode(data: dict | list | tuple, n: int = 0, nmax: int = 0) -> str:
"""Encode a dictionary, list or tuple as a json object or array, and
@@ -468,9 +468,9 @@ def xmlIndent(tree: ET.Element | ET.ElementTree) -> None:
return
# =============================================================================================== #
##
# File and File System Functions
# =============================================================================================== #
##
def readTextFile(path: str | Path) -> str:
"""Read the content of a text file in a robust manner."""
@@ -512,9 +512,9 @@ def openExternalPath(path: Path) -> bool:
return False
# =============================================================================================== #
##
# Classes
# =============================================================================================== #
##
class NWConfigParser(ConfigParser):
"""Common: Adapted Config Parser
+2 -4
View File
@@ -41,6 +41,7 @@ from PyQt5.QtWidgets import (
)
from novelwriter import CONFIG, SHARED
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout
from novelwriter.common import minmax
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
from novelwriter.core.item import NWItem
@@ -49,9 +50,6 @@ 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, nwWidget
)
if TYPE_CHECKING: # pragma: no cover
from novelwriter.guimain import GuiMain
@@ -682,7 +680,7 @@ class GuiProjectTree(QTreeWidget):
# Add the new item to the project tree
self.revealNewTreeItem(tHandle, nHandle=nHandle, wordCount=True)
self.mainGui.switchFocus(nwWidget.TREE)
self.projView.setTreeFocus() # See issue #1376
return True
+4 -2
View File
@@ -833,7 +833,8 @@ class GuiMain(QMainWindow):
def showBuildManuscriptDialog(self) -> None:
"""Open the build manuscript dialog."""
if SHARED.hasProject:
dialog = GuiManuscript(self)
if (dialog := SHARED.findTopLevelWidget(GuiManuscript)) is None:
dialog = GuiManuscript(self)
dialog.setModal(False)
dialog.show()
dialog.raise_()
@@ -854,7 +855,8 @@ class GuiMain(QMainWindow):
def showWritingStatsDialog(self) -> None:
"""Open the session stats dialog."""
if SHARED.hasProject:
dialog = GuiWritingStats(self)
if (dialog := SHARED.findTopLevelWidget(GuiWritingStats)) is None:
dialog = GuiWritingStats(self)
dialog.setModal(False)
dialog.show()
dialog.raise_()
+10 -1
View File
@@ -27,7 +27,7 @@ from __future__ import annotations
import logging
from time import time
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING, TypeVar
from pathlib import Path
from PyQt5.QtCore import QObject, QRunnable, QThreadPool, pyqtSignal
@@ -43,6 +43,8 @@ if TYPE_CHECKING: # pragma: no cover
logger = logging.getLogger(__name__)
NWWidget = TypeVar("NWWidget", bound=QWidget)
class SharedData(QObject):
@@ -230,6 +232,13 @@ class SharedData(QObject):
)
return Path(projFile) if projFile else None
def findTopLevelWidget(self, kind: type[NWWidget]) -> NWWidget | None:
"""Find a top level widget."""
for widget in self.mainGui.children():
if isinstance(widget, kind):
return widget
return None
##
# Signal Proxy
##