Merge branch 'dev' into feature/build_gui

This commit is contained in:
Veronica Berglyd Olsen
2023-04-13 18:21:41 +02:00
37 changed files with 5112 additions and 631 deletions
+11 -7
View File
@@ -15,11 +15,14 @@ jobs:
- name: Install Packages (apt) - name: Install Packages (apt)
run: | run: |
sudo apt update sudo apt update
sudo apt install qttools5-dev-tools python3-sphinx latexmk texlive texlive-latex-extra sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
- name: Checkout Source - name: Checkout Source
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Packages (pip)
run: pip install -r docs/source/requirements.txt
- name: Build Assets - name: Build Assets
run: python setup.py qtlrelease sample manual run: python setup.py qtlrelease sample manual
@@ -37,9 +40,10 @@ jobs:
buildLinux: buildLinux:
needs: buildAssets needs: buildAssets
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: strategy:
LINUX_TAG: "manylinux_2_28_x86_64" matrix:
PY_VER: "3.10" python-version: ["3.10"]
linux-tag: ["manylinux_2_24_x86_64", "manylinux_2_28_x86_64"]
steps: steps:
- name: Python Setup - name: Python Setup
uses: actions/setup-python@v4 uses: actions/setup-python@v4
@@ -67,13 +71,13 @@ jobs:
path: novelwriter/assets path: novelwriter/assets
- name: Build AppImage - name: Build AppImage
run: python setup.py build-appimage --linux-tag ${{ env.LINUX_TAG }} --python-version ${{ env.PY_VER }} run: python setup.py build-appimage --linux-tag ${{ matrix.linux-tag }} --python-version ${{ matrix.python-version }}
- name: Upload Artifacts - name: Upload Artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: novelWriter-${{ env.VERSION }}-py${{ env.PY_VER }}-${{ env.LINUX_TAG }}.AppImage name: novelWriter-${{ env.VERSION }}-py${{ matrix.python-version }}-${{ matrix.linux-tag }}.AppImage
path: dist_appimage/novelWriter-${{ env.VERSION }}-py${{ env.PY_VER }}-${{ env.LINUX_TAG }}.AppImage path: dist_appimage/novelWriter-${{ env.VERSION }}-py${{ matrix.python-version }}-${{ matrix.linux-tag }}.AppImage
if-no-files-found: error if-no-files-found: error
retention-days: 1 retention-days: 1
+2 -2
View File
@@ -4,11 +4,11 @@ on:
push: push:
branches: branches:
- main - main
- patch - dev
pull_request: pull_request:
branches: branches:
- main - main
- patch - dev
jobs: jobs:
checkSyntax: checkSyntax:
+2 -2
View File
@@ -4,11 +4,11 @@ on:
push: push:
branches: branches:
- main - main
- patch - dev
pull_request: pull_request:
branches: branches:
- main - main
- patch - dev
jobs: jobs:
testLinux: testLinux:
+2 -2
View File
@@ -4,11 +4,11 @@ on:
push: push:
branches: branches:
- main - main
- patch - dev
pull_request: pull_request:
branches: branches:
- main - main
- patch - dev
jobs: jobs:
testMac: testMac:
+2 -2
View File
@@ -4,11 +4,11 @@ on:
push: push:
branches: branches:
- main - main
- patch - dev
pull_request: pull_request:
branches: branches:
- main - main
- patch - dev
jobs: jobs:
testWin: testWin:
-13
View File
@@ -1,24 +1,11 @@
# Read the Docs configuration file # Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2 version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx: sphinx:
configuration: docs/source/conf.py configuration: docs/source/conf.py
# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml
# Optionally build your docs in additional formats such as PDF
formats: formats:
- htmlzip - htmlzip
- epub
- pdf - pdf
# Optionally set the version of Python and requirements required to build your docs
python: python:
install: install:
- requirements: docs/source/requirements.txt - requirements: docs/source/requirements.txt
+1
View File
@@ -21,6 +21,7 @@ translators for the languages currently available:
* French: Jan Lüdke (@jyhelle) * French: Jan Lüdke (@jyhelle)
* German: Myian (@heymyian) * German: Myian (@heymyian)
* Italian: Riccardo Mangili * Italian: Riccardo Mangili
* Japanese: hebekeg (@hebekeg)
* Latin American Spanish: Tommy Marplatt (@tmarplatt) * Latin American Spanish: Tommy Marplatt (@tmarplatt)
* Norwegian: Veronica Berglyd Olsen (@vkbo) * Norwegian: Veronica Berglyd Olsen (@vkbo)
* Portuguese: Bruno Meneguello (@bkmeneguello) * Portuguese: Bruno Meneguello (@bkmeneguello)
+17 -141
View File
@@ -1,15 +1,11 @@
# novelWriter # novelWriter
[![release](https://img.shields.io/github/v/release/vkbo/novelwriter)](https://github.com/vkbo/novelWriter/releases)
[![Linux](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml) [![Linux](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml)
[![Windows](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml) [![Windows](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml)
[![macOS](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml) [![macOS](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml)
[![flake8](https://github.com/vkbo/novelWriter/workflows/flake8/badge.svg)](https://github.com/vkbo/novelWriter/actions) [![flake8](https://github.com/vkbo/novelWriter/workflows/flake8/badge.svg)](https://github.com/vkbo/novelWriter/actions)
[![codecov](https://codecov.io/gh/vkbo/novelWriter/branch/main/graph/badge.svg)](https://codecov.io/gh/vkbo/novelWriter) [![codecov](https://codecov.io/gh/vkbo/novelWriter/branch/main/graph/badge.svg)](https://codecov.io/gh/vkbo/novelWriter)
[![docs](https://readthedocs.org/projects/novelwriter/badge/?version=latest)](https://novelwriter.readthedocs.io/en/latest/?badge=latest)
[![release](https://img.shields.io/github/v/release/vkbo/novelwriter)](https://github.com/vkbo/novelWriter/releases)
[![pypi](https://img.shields.io/pypi/v/novelwriter)](https://pypi.org/project/novelWriter)
[![python](https://img.shields.io/pypi/pyversions/novelwriter)](https://pypi.org/project/novelWriter)
[![Crowdin](https://badges.crowdin.net/novelwriter/localized.svg)](https://crowdin.com/project/novelwriter)
<img align="left" style="margin: 0 16px 4px 0;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter.png"> <img align="left" style="margin: 0 16px 4px 0;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter.png">
@@ -23,43 +19,22 @@ synchronisation tools. All text is saved as plain text files with a meta data he
project structure is stored in a single project XML file. Other meta data is primarily saved as project structure is stored in a single project XML file. Other meta data is primarily saved as
JSON files. JSON files.
The full documentation is available at For more details, and how to install and use novelWriter, please see the main website and
[novelwriter.readthedocs.io](https://novelwriter.readthedocs.io). documentation.
The full credits are listed in **Project Links**
[CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
You can also follow novelWriter on Mastodon at [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter). * Website: [novelwriter.io](https://novelwriter.io)
* Documentation: [docs.novelwriter.io](https://docs.novelwriter.io)
* Internationalisation: [crowdin.com/project/novelwriter](https://crowdin.com/project/novelwriter)
* PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
* Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
## Implementation ## Implementation
The application is written with Python 3 (3.7+) using Qt5 and PyQt5 (5.10+). It is developed on novelWriter is written with Python 3 (3.7+) using Qt5 and PyQt5 (5.10+), and is released on Linux,
Linux, but should in principle work fine on other operating systems as well as long as dependencies Windows and macOS. It can in principle run on any Operating System that also supports Qt, PyQt and
are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and macOS. Python.
## Installation
### Linux Mint, Ubuntu and Debian
The Releases page has a `.deb` package that should install on Mint, Ubuntu and Debian.
You can also use the novelWriter [PPA](https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter).
For more details, check the [Getting Started](https://novelwriter.readthedocs.io/en/latest/int_started.html)
section in the documentation.
### Windows 10+
The Release page has a `setup.exe` file for Windows 10, that should also work on other Windows
versions. The installer includes Python 3.10 and the library dependencies.
### Other Install Options
You can also download and install one of the minimal zip files from the
[Releases](https://github.com/vkbo/novelWriter/releases) page or the
[novelwriter.io](https://novelwriter.io/) website.
The [Getting Started](https://novelwriter.readthedocs.io/en/latest/int_started.html) section of the
documentation has detailed install instructions for these packages, and for installation via the
Python Package Index.
## Project Contributions ## Project Contributions
@@ -73,6 +48,8 @@ also be appreciated, but please make an issue or a discussion topic first. Befor
code, please also read the full code, please also read the full
[Contributing Guide](https://github.com/vkbo/novelWriter/blob/main/CONTRIBUTING.md). [Contributing Guide](https://github.com/vkbo/novelWriter/blob/main/CONTRIBUTING.md).
Project credits are available in [CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
### Translations ### Translations
New translations are always welcome. This project uses Crowdin to maintain translations, and you New translations are always welcome. This project uses Crowdin to maintain translations, and you
@@ -83,111 +60,10 @@ If you have any questions, feel free to post them to the
For more details, and how to use Qt Linguist for translations, see the For more details, and how to use Qt Linguist for translations, see the
[i18n instructions](https://github.com/vkbo/novelWriter/blob/main/i18n/README.md). [i18n instructions](https://github.com/vkbo/novelWriter/blob/main/i18n/README.md).
## Key Features
Some key features of novelWriter are listed below. The
[documentation](https://novelwriter.readthedocs.io) has a lot more information.
### Formatting Codes
Although novelWriter is a plain text editor, it uses a Markdown-like syntax to allow for a minimal
set of formatting that is useful for the specific task of writing novels.
| Code | Usage | Description |
|------------|----------|-------------|
| `#` | Prefix | Headings level 1 to 4. |
| `_` | Wrapped | Emphasised (italicised) text. |
| `**` | Wrapped | Strongly emphasised (bold) text. |
| `~~` | Wrapped | Strikethrough text. |
| `%` | Prefix | A comment; does not count towards the word count.<sup>1</sup> |
| `@` | Prefix | The following text is parsed as a keyword/value command for meta data. |
| `>` | Prefix | The paragraph is indented one tab width from the left. |
| `<` | Suffix | The paragraph is indented one tab width from the right. |
| `>>` | Prefix | The paragraph is right-aligned. |
| `<<` | Suffix | The paragraph is left-aligned. |
| `>>`, `<<` | Wrapped | The paragraph is centred. |
<sup>1</sup> If the first word of the comment is `synopsis:`, the comment is indexed and treated as
the synopsis for the section of text where it occurs. These synopsis comments can be used to build
an outline and exported to external documents.
### Export Formats
The core export formats of novelWriter are Open Document and HTML5. Open Document is an open
standard for office type documents that is supported by most office applications. See
[Open Document > Application Support](https://en.wikipedia.org/wiki/OpenDocument#Application_support)
for more details.
You can also export the entire project as a single novelWriter-markup document. These can later be
imported again into novelWriter. In addition, printing and export to PDF is offered through the Qt
library, although with limitations to formatting.
### Colour Themes
The editor has syntax highlighting for the features it supports, and includes a set of different
syntax highlighting themes. Optional GUI themes are also available, including dark themes.
### Easy Organising of Project Files
The structure of the project is shown on the left hand side of the main window. Project files are
organised into root folders, indicating what class of file they are. The most important root folder
is the `Novel` folder, which contains all of the files that make up the novel itself. Each root
folder can have subfolders. Subfolders have no impact on the final project structure, they are
there for you to organise your files in whatever way you want.
The editor supports four levels of headings, which determine what level the following text belongs
to. Headings of level one signify a book or partition title. Headings of level two signify the
start of a new chapter. Headings of level three signify the start of a new scene. Headings of level
four can be used internally in each scene to create separate sections.
See the [documentation](https://novelwriter.readthedocs.io) for further details.
### Project Notes
Supporting notes can be added for the story plot, characters, locations, story timeline, etc. These
have their separate root folders and are optional to use.
### Visualisation of Story Elements
The different notes can be assigned tags, which other files can refer back to using `@`-prefixed
meta keywords. This information can be used to display an outline of the story, showing where each
scene connects to the plot, and which characters, etc. occur in them. In addition, the tags
themselves are clickable in the document view pane, and control-clickable in the editor. They make
it possible to quickly navigate between the documents while writing.
## Installing or Running from Source
If you want to run novelWriter directly from the source code, you must run the `novelWriter.py`
file from command line.
Dependencies can generally be installed from PyPi with:
```bash
pip install -r requirements.txt
```
On Linux, the dependencies are generally available in the standard package repository.
For more details on running or installing from source, see the
[documentation](https://novelwriter.readthedocs.io).
## Debugging
If you need to debug novelWriter, you can run it from the command line and increase terminal output
by adding the `--info` or `--debug` flags. By default, only warnings and errors are printed.
## Licence ## Licence
This is Open Source software, and novelWriter is licenced under GPLv3. See the This is Open Source software, and novelWriter is licenced under GPLv3. See the
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more [GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
details, or consult the [LICENSE](https://github.com/vkbo/novelWriter/blob/main/LICENSE.md) file. details, or consult the [License](https://github.com/vkbo/novelWriter/blob/main/LICENSE.md)
document. Bundled assets and their licences are listed in the
Bundled assets and their licences are listed in [Credits](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md) document.
[CREDITS](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
## Screenshots
**novelWriter with default system theme:**
![Screenshot 1](https://raw.githubusercontent.com/vkbo/novelWriter/main/docs/source/images/screenshot_default.png)
**novelWriter with dark theme:**
![Screenshot 2](https://raw.githubusercontent.com/vkbo/novelWriter/main/docs/source/images/screenshot_dark.png)
+13 -2
View File
@@ -1,3 +1,14 @@
body article section { span.guilabel {
margin-top: 1.8em; font-weight: 400;
}
.nw-sidebar-title {
height: unset;
max-height: unset;
flex-direction: column;
justify-content: center;
gap: .25rem;
font-size: 1.25rem;
font-weight: normal;
text-align: center;
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@@ -0,0 +1,3 @@
{% if docstitle %}
<p class="nw-sidebar-title">{{ docstitle }}</p>
{% endif %}
+24 -52
View File
@@ -1,7 +1,7 @@
# """
# Configuration file for the Sphinx documentation builder. Configuration file for the Sphinx documentation builder.
# Documentation: http://www.sphinx-doc.org/en/master/config Documentation: http://www.sphinx-doc.org/en/master/config
# """
# -- Imports ----------------------------------------------------------------- # -- Imports -----------------------------------------------------------------
@@ -12,7 +12,7 @@ import datetime
# -- Project Information ----------------------------------------------------- # -- Project Information -----------------------------------------------------
project = "novelWriter" project = "novelWriter"
copyright = f"{datetime.date.today().year}, Veronica Berglyd Olsen" copyright = f"{datetime.date.today().year}"
author = "Veronica Berglyd Olsen" author = "Veronica Berglyd Olsen"
initFile = os.path.join( initFile = os.path.join(
@@ -34,7 +34,7 @@ version = release.split("-")[0]
os.environ["TZ"] = "Europe/Oslo" os.environ["TZ"] = "Europe/Oslo"
time.tzset() time.tzset()
needs_sphinx = "4.0" needs_sphinx = "5.0"
extensions = [] extensions = []
templates_path = ["_templates"] templates_path = ["_templates"]
source_suffix = ".rst" source_suffix = ".rst"
@@ -45,23 +45,27 @@ exclude_patterns = []
# -- Options for HTML Output ------------------------------------------------- # -- Options for HTML Output -------------------------------------------------
html_theme = "furo" html_theme = "sphinx_book_theme"
html_title = f"Version {release}"
html_static_path = ["_static"] html_static_path = ["_static"]
html_css_files = ["custom.css"] html_css_files = ["custom.css"]
html_theme_options = { html_theme_options = {
"light_logo": "novelwriter-light.png", "logo": {
"dark_logo": "novelwriter-dark.png", "image_light": "_static/novelwriter-light.png",
"image_dark": "_static/novelwriter-dark.png",
},
"show_toc_level": 2,
"show_navbar_depth": 1,
"repository_url": "https://github.com/vkbo/novelwriter",
"navigation_with_keys": True, "navigation_with_keys": True,
"dark_css_variables": { "use_repository_button": True,
"admonition-font-size": "92%", "use_issues_button": True,
}, "pygment_light_style": "tango",
"light_css_variables": { "pygment_dark_style": "dracula",
"admonition-font-size": "92%", }
}, html_sidebars = {
"**": ["navbar-logo", "sidebar-title", "sbt-sidebar-nav"],
} }
html_title = f"<div style='text-align: center'>Documentation Version {release}</div>"
pygments_style = "tango"
pygments_dark_style = "native"
# -- Options for HTMLHelp Output --------------------------------------------- # -- Options for HTMLHelp Output ---------------------------------------------
@@ -79,44 +83,12 @@ latex_elements = {
), ),
"figure_align": "htbp", "figure_align": "htbp",
} }
latex_logo = "_static/novelwriter-pdf.png"
# Grouping the document tree into LaTeX files. List of tuples # Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, # (source start file, target name, title,
# author, documentclass [howto, manual, or own class]). # author, documentclass [howto, manual, or own class]).
latex_documents = [( latex_documents = [(
master_doc, "manual.tex", "novelWriter Documentation", master_doc, "manual.tex", "User Guide",
author, "manual" author, "manual"
)] )]
# -- Options for Man Page Output ---------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [(
master_doc, "novelwriter", "novelWriter Documentation", [author], 1
)]
# -- Options for Texinfo Output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [(
master_doc, "novelWriter", "novelWriter Documentation", author,
"novelWriter", "Markdown-like editor for novels.", "Miscellaneous"
)]
# -- Options for EPub Output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
# epub_identifier = ""
# A unique identification for the text.
# epub_uid = ""
# A list of files that should not be packed into the epub file.
epub_exclude_files = ["search.html"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

+8 -12
View File
@@ -1,14 +1,9 @@
############################# ######################
Documentation for novelWriter novelWriter User Guide
############################# ######################
.. image:: images/novelwriter_logo.png | **Release Version:** |release|
:align: right | **Updated:** |today|
:width: 48
| **For Release:** |release|
| **Last Updated:** |today|
|
novelWriter is an open source plain text editor designed for writing novels assembled from many novelWriter is an open source plain text editor designed for writing novels assembled from many
smaller text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta smaller text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta
@@ -17,6 +12,7 @@ editor that allows for easy organisation of text and notes, using human readable
storage for robustness. storage for robustness.
.. figure:: images/screenshot_multi.png .. figure:: images/screenshot_multi.png
:class: dark-light
:align: center :align: center
:width: 500 :width: 500
@@ -31,14 +27,14 @@ as well. novelWriter can also be run directly from the Python source, or install
the pip tool. See :ref:`a_started` for more details. the pip tool. See :ref:`a_started` for more details.
.. note:: .. note::
Version 1.3 introduced a few changes that will require you to make some minor modifications to Release 1.5 introduced a few changes that will require you to make some minor modifications to
some of the headings in your project. It should be fairly quick and straightforward. Please see some of the headings in your project. It should be fairly quick and straightforward. Please see
the :ref:`a_prjfmt_1_3` section for more details. the :ref:`a_prjfmt_1_3` section for more details.
**Useful Links** **Useful Links**
* Website: https://novelwriter.io * Website: https://novelwriter.io
* Documentation: https://novelwriter.readthedocs.io * Documentation: https://docs.novelwriter.io
* Internationalisation: https://crowdin.com/project/novelwriter * Internationalisation: https://crowdin.com/project/novelwriter
* Source Code: https://github.com/vkbo/novelWriter * Source Code: https://github.com/vkbo/novelWriter
* Source Releases: https://github.com/vkbo/novelWriter/releases * Source Releases: https://github.com/vkbo/novelWriter/releases
+25 -13
View File
@@ -16,25 +16,37 @@ your own syntax themes, and install additional dictionaries.
Spell Check Dictionaries Spell Check Dictionaries
======================== ========================
novelWriter uses Enchant_ as the spell checking tool. Depending on you operating system, it may or novelWriter uses Enchant_ as the spell checking tool. Depending on your operating system, it may or
may not load installed spell check dictionaries. may not load installed spell check dictionaries.
Linux Linux and MacOS
On Linux, you generally only have to install hunspell or aspell dictionaries on your system like ---------------
you do for other applications. See your distro's documentation for how to do this. These
dictionaries should then show up as available spell check languages in novelWriter. On Linux and MacOS, you generally only have to install hunspell or aspell dictionaries on your
system like you do for other applications. See your distro or OS documentation for how to do this.
These dictionaries should then show up as available spell check languages in novelWriter.
Windows Windows
For Windows, English is included with the installation. For other languages you have to download -------
and add dictionaries yourself. You can find the various dictionaries on the `Free Desktop`_
website. You should find a folder for your language, if it is available at all, and download the
files ending with ``.aff`` and ``.dic``. These files must then be copied to the following
location:
``C:\Users\<USER>\AppData\Local\enchant\hunspell`` For Windows, English is included with the installation. For other languages you have to download
and add dictionaries yourself. You can find the various dictionaries on the `Free Desktop`_
website. You should find a folder for your language, if it is available at all, and download the
files ending with ``.aff`` and ``.dic``. These files must then be copied to the following location:
This assumes your user profile is stored at ``C:\Users\<USER>``. The last one or two folders may ``C:\Users\<USER>\AppData\Local\enchant\hunspell``
not exist, so you may need to create them.
This assumes your user profile is stored at ``C:\Users\<USER>``. The last one or two folders may
not exist, so you may need to create them.
.. note::
The Free Desktop link points to a repository, and what may look like file links inside the
dictionary folder are actually links to web pages. If you right-click and download those, you
get HTML files, not dictionaries!
In order to download the actual dictionary files, right-click the "plain" label at the end of
each line and download that.
.. _a_custom_theme: .. _a_custom_theme:
+1 -1
View File
@@ -51,7 +51,7 @@ Merge Multiple Documents Into One
If you need to merge a set of documents in your project into a single document, you can achieve If you need to merge a set of documents in your project into a single document, you can achieve
this by first making a new folder for just that purpose, and drag all the files you want merged this by first making a new folder for just that purpose, and drag all the files you want merged
into this folder. Then you can right click the folder, select :guilabel:`Transform` and into this folder. Then you can right click the folder, select :guilabel:`Transform` and
:guilabel:`Merge Documents in FOlder`. :guilabel:`Merge Documents in Folder`.
In the dialog that pops up, the documents will be in the same order as in the folder, but you can In the dialog that pops up, the documents will be in the same order as in the folder, but you can
also rearrange them here of you wish. also rearrange them here of you wish.
+6 -6
View File
@@ -68,12 +68,12 @@ Below are some key features of novelWriter.
Screenshots Screenshots
=========== ===========
**novelWriter with default theme:** .. figure:: images/screenshot_default.png
:class: dark-light
.. image:: images/screenshot_default.png novelWriter with default theme
:width: 800
**novelWriter with dark theme:** .. figure:: images/screenshot_dark.png
:class: dark-light
.. image:: images/screenshot_dark.png novelWriter with dark theme
:width: 800
+3 -2
View File
@@ -1,4 +1,5 @@
furo sphinx-book-theme
sphinx>=4.0 sphinx>=5.0
sphinx-favicon
pygments>=2.7 pygments>=2.7
docutils>=0.17.1 docutils>=0.17.1
+1 -1
View File
@@ -4,7 +4,7 @@
How Data is Stored How Data is Stored
****************** ******************
.. _documentation: https://novelwriter.readthedocs.io .. _documentation: https://docs.novelwriter.io/
This section contains details of how novelWriter stores and handles the project data. This section contains details of how novelWriter stores and handles the project data.
+1 -1
View File
@@ -5,7 +5,7 @@ Project Format Changes
********************** **********************
.. _File Format Spec 1.5: _static/fileformatspec15.pdf .. _File Format Spec 1.5: _static/fileformatspec15.pdf
.. _documentation: https://novelwriter.readthedocs.io .. _documentation: https://docs.novelwriter.io/
Most of the changes to the file formats over the history of novelWriter have no impact on the Most of the changes to the file formats over the history of novelWriter have no impact on the
user-side of things. The project files are generally updated automatically. However, some of the user-side of things. The project files are generally updated automatically. However, some of the
+57 -57
View File
@@ -3254,52 +3254,52 @@
<context> <context>
<name>GuiProjectToolBar</name> <name>GuiProjectToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="230" /> <location filename="../novelwriter/gui/projtree.py" line="234" />
<source>Project Content</source> <source>Project Content</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="238" /> <location filename="../novelwriter/gui/projtree.py" line="242" />
<source>Quick Links</source> <source>Quick Links</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="246" /> <location filename="../novelwriter/gui/projtree.py" line="250" />
<source>Move Up</source> <source>Move Up</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="251" /> <location filename="../novelwriter/gui/projtree.py" line="255" />
<source>Move Down</source> <source>Move Down</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="287" /> <location filename="../novelwriter/gui/projtree.py" line="291" />
<source>Add Item</source> <source>Add Item</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="296" /> <location filename="../novelwriter/gui/projtree.py" line="300" />
<source>Expand All</source> <source>Expand All</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="299" /> <location filename="../novelwriter/gui/projtree.py" line="303" />
<source>Collapse All</source> <source>Collapse All</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="302" /> <location filename="../novelwriter/gui/projtree.py" line="306" />
<source>Undo Move</source> <source>Undo Move</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="305" /> <location filename="../novelwriter/gui/projtree.py" line="309" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="309" /> <location filename="../novelwriter/gui/projtree.py" line="313" />
<source>More Options</source> <source>More Options</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
@@ -3307,204 +3307,204 @@
<context> <context>
<name>GuiProjectTree</name> <name>GuiProjectTree</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="492" /> <location filename="../novelwriter/gui/projtree.py" line="513" />
<source>Active</source> <source>Active</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="493" /> <location filename="../novelwriter/gui/projtree.py" line="514" />
<source>Inactive</source> <source>Inactive</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="560" /> <location filename="../novelwriter/gui/projtree.py" line="581" />
<source>Did not find anywhere to add the file or folder!</source> <source>Did not find anywhere to add the file or folder!</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="572" /> <location filename="../novelwriter/gui/projtree.py" line="593" />
<source>Cannot add new files or folders to the Trash folder.</source> <source>Cannot add new files or folders to the Trash folder.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="581" /> <location filename="../novelwriter/gui/projtree.py" line="602" />
<source>New Note</source> <source>New Note</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="584" /> <location filename="../novelwriter/gui/projtree.py" line="605" />
<source>New Chapter</source> <source>New Chapter</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="587" /> <location filename="../novelwriter/gui/projtree.py" line="608" />
<source>New Scene</source> <source>New Scene</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="590" /> <location filename="../novelwriter/gui/projtree.py" line="611" />
<source>New Document</source> <source>New Document</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="593" /> <location filename="../novelwriter/gui/projtree.py" line="614" />
<source>New Folder</source> <source>New Folder</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="810" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="821" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1202" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="827" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="828" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="930" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="874" />
<source>Delete</source> <source>Delete</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="875" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="931" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1194" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Open Document</source> <source>Open Document</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1198" /> <location filename="../novelwriter/gui/projtree.py" line="1219" />
<source>View Document</source> <source>View Document</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1207" /> <location filename="../novelwriter/gui/projtree.py" line="1228" />
<source>Change Label</source> <source>Rename</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1211" /> <location filename="../novelwriter/gui/projtree.py" line="1232" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1216" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1229" /> <location filename="../novelwriter/gui/projtree.py" line="1250" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1246" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<source>Transform</source> <source>Transform</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1273" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1267" /> <location filename="../novelwriter/gui/projtree.py" line="1288" />
<location filename="../novelwriter/gui/projtree.py" line="1261" /> <location filename="../novelwriter/gui/projtree.py" line="1282" />
<location filename="../novelwriter/gui/projtree.py" line="1255" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1300" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1281" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1285" /> <location filename="../novelwriter/gui/projtree.py" line="1306" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1310" />
<source>Split Document by Headers</source> <source>Split Document by Headers</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1298" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1300" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1304" /> <location filename="../novelwriter/gui/projtree.py" line="1325" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1328" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1495" /> <location filename="../novelwriter/gui/projtree.py" line="1516" />
<source>Convert Folder</source> <source>Convert Folder</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1496" /> <location filename="../novelwriter/gui/projtree.py" line="1517" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1541" /> <location filename="../novelwriter/gui/projtree.py" line="1562" />
<source>No documents selected for merging.</source> <source>No documents selected for merging.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1550" /> <location filename="../novelwriter/gui/projtree.py" line="1571" />
<source>Merged</source> <source>Merged</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1630" /> <location filename="../novelwriter/gui/projtree.py" line="1651" />
<location filename="../novelwriter/gui/projtree.py" line="1566" /> <location filename="../novelwriter/gui/projtree.py" line="1587" />
<source>Could not write document content.</source> <source>Could not write document content.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1707" /> <location filename="../novelwriter/gui/projtree.py" line="1728" />
<location filename="../novelwriter/gui/projtree.py" line="1690" /> <location filename="../novelwriter/gui/projtree.py" line="1711" />
<source>There is nowhere to add item with name '{0}'.</source> <source>There is nowhere to add item with name '{0}'.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
+57 -57
View File
@@ -3254,52 +3254,52 @@
<context> <context>
<name>GuiProjectToolBar</name> <name>GuiProjectToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="230" /> <location filename="../novelwriter/gui/projtree.py" line="234" />
<source>Project Content</source> <source>Project Content</source>
<translation>Projektinhalt</translation> <translation>Projektinhalt</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="238" /> <location filename="../novelwriter/gui/projtree.py" line="242" />
<source>Quick Links</source> <source>Quick Links</source>
<translation>Schnellzugriff</translation> <translation>Schnellzugriff</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="246" /> <location filename="../novelwriter/gui/projtree.py" line="250" />
<source>Move Up</source> <source>Move Up</source>
<translation>Nach oben</translation> <translation>Nach oben</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="251" /> <location filename="../novelwriter/gui/projtree.py" line="255" />
<source>Move Down</source> <source>Move Down</source>
<translation>Nach unten</translation> <translation>Nach unten</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="287" /> <location filename="../novelwriter/gui/projtree.py" line="291" />
<source>Add Item</source> <source>Add Item</source>
<translation>Element hinzufügen</translation> <translation>Element hinzufügen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="296" /> <location filename="../novelwriter/gui/projtree.py" line="300" />
<source>Expand All</source> <source>Expand All</source>
<translation>Alle ausklappen</translation> <translation>Alle ausklappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="299" /> <location filename="../novelwriter/gui/projtree.py" line="303" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Alle einklappen</translation> <translation>Alle einklappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="302" /> <location filename="../novelwriter/gui/projtree.py" line="306" />
<source>Undo Move</source> <source>Undo Move</source>
<translation>Verschieben rückgängig machen</translation> <translation>Verschieben rückgängig machen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="305" /> <location filename="../novelwriter/gui/projtree.py" line="309" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Papierkorb leeren</translation> <translation>Papierkorb leeren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="309" /> <location filename="../novelwriter/gui/projtree.py" line="313" />
<source>More Options</source> <source>More Options</source>
<translation>Weitere Optionen</translation> <translation>Weitere Optionen</translation>
</message> </message>
@@ -3307,204 +3307,204 @@
<context> <context>
<name>GuiProjectTree</name> <name>GuiProjectTree</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="492" /> <location filename="../novelwriter/gui/projtree.py" line="513" />
<source>Active</source> <source>Active</source>
<translation>Aktiv</translation> <translation>Aktiv</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="493" /> <location filename="../novelwriter/gui/projtree.py" line="514" />
<source>Inactive</source> <source>Inactive</source>
<translation>Inaktiv</translation> <translation>Inaktiv</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="560" /> <location filename="../novelwriter/gui/projtree.py" line="581" />
<source>Did not find anywhere to add the file or folder!</source> <source>Did not find anywhere to add the file or folder!</source>
<translation>Konnte das Dokument oder den Ordner nirgends hinzufügen!</translation> <translation>Konnte das Dokument oder den Ordner nirgends hinzufügen!</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="572" /> <location filename="../novelwriter/gui/projtree.py" line="593" />
<source>Cannot add new files or folders to the Trash folder.</source> <source>Cannot add new files or folders to the Trash folder.</source>
<translation>Im Papierkorb kann kein neuer Ordner erstellt werden.</translation> <translation>Im Papierkorb kann kein neuer Ordner erstellt werden.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="581" /> <location filename="../novelwriter/gui/projtree.py" line="602" />
<source>New Note</source> <source>New Note</source>
<translation>Neue Notiz</translation> <translation>Neue Notiz</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="584" /> <location filename="../novelwriter/gui/projtree.py" line="605" />
<source>New Chapter</source> <source>New Chapter</source>
<translation>Neues Kapitel</translation> <translation>Neues Kapitel</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="587" /> <location filename="../novelwriter/gui/projtree.py" line="608" />
<source>New Scene</source> <source>New Scene</source>
<translation>Neue Szene</translation> <translation>Neue Szene</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="590" /> <location filename="../novelwriter/gui/projtree.py" line="611" />
<source>New Document</source> <source>New Document</source>
<translation>Neues Dokument</translation> <translation>Neues Dokument</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="593" /> <location filename="../novelwriter/gui/projtree.py" line="614" />
<source>New Folder</source> <source>New Folder</source>
<translation>Neuer Ordner</translation> <translation>Neuer Ordner</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="810" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>Derzeit gibt es keinen Papierkorb für dieses Projekt.</translation> <translation>Derzeit gibt es keinen Papierkorb für dieses Projekt.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="821" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>Papierkorb ist bereits leer.</translation> <translation>Papierkorb ist bereits leer.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1202" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="827" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Papierkorb leeren</translation> <translation>Papierkorb leeren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="828" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>{0} Element(e) endgültig löschen?</translation> <translation>{0} Element(e) endgültig löschen?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="930" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="874" />
<source>Delete</source> <source>Delete</source>
<translation>Löschen</translation> <translation>Löschen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="875" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>„{0}“ in den Papierkorb verschieben?</translation> <translation>„{0}“ in den Papierkorb verschieben?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Hauptordner können nur gelöscht werden, wenn sie leer sind.</translation> <translation>Hauptordner können nur gelöscht werden, wenn sie leer sind.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="931" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>„{0}“ endgültig löschen?</translation> <translation>„{0}“ endgültig löschen?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1194" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Open Document</source> <source>Open Document</source>
<translation>Dokument öffnen</translation> <translation>Dokument öffnen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1198" /> <location filename="../novelwriter/gui/projtree.py" line="1219" />
<source>View Document</source> <source>View Document</source>
<translation>Dokument anzeigen</translation> <translation>Dokument anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1207" /> <location filename="../novelwriter/gui/projtree.py" line="1228" />
<source>Change Label</source> <source>Rename</source>
<translation>Umbenennen</translation> <translation>Umbenennen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1211" /> <location filename="../novelwriter/gui/projtree.py" line="1232" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Aktivieren/Deaktivieren</translation> <translation>Aktivieren/Deaktivieren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1216" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Status ändern zu ...</translation> <translation>Status ändern zu ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1229" /> <location filename="../novelwriter/gui/projtree.py" line="1250" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Wichtigkeit ändern zu ...</translation> <translation>Wichtigkeit ändern zu ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1246" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<source>Transform</source> <source>Transform</source>
<translation>Umwandeln</translation> <translation>Umwandeln</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1273" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1267" /> <location filename="../novelwriter/gui/projtree.py" line="1288" />
<location filename="../novelwriter/gui/projtree.py" line="1261" /> <location filename="../novelwriter/gui/projtree.py" line="1282" />
<location filename="../novelwriter/gui/projtree.py" line="1255" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Umwandeln in {0}</translation> <translation>Umwandeln in {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1300" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Unterelemente in dieses Dokument zusammenführen</translation> <translation>Unterelemente in dieses Dokument zusammenführen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1281" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Unterelemente in neues Dokument zusammenführen</translation> <translation>Unterelemente in neues Dokument zusammenführen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1285" /> <location filename="../novelwriter/gui/projtree.py" line="1306" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Dokumente im Ordner zusammenführen</translation> <translation>Dokumente im Ordner zusammenführen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1310" />
<source>Split Document by Headers</source> <source>Split Document by Headers</source>
<translation>Dokument nach Überschriften aufteilen</translation> <translation>Dokument nach Überschriften aufteilen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1298" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Alle ausklappen</translation> <translation>Alle ausklappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1300" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Alle einklappen</translation> <translation>Alle einklappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1304" /> <location filename="../novelwriter/gui/projtree.py" line="1325" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Endgültig löschen</translation> <translation>Endgültig löschen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1328" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>In den Papierkorb verschieben</translation> <translation>In den Papierkorb verschieben</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1495" /> <location filename="../novelwriter/gui/projtree.py" line="1516" />
<source>Convert Folder</source> <source>Convert Folder</source>
<translation>Ordner umwandeln</translation> <translation>Ordner umwandeln</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1496" /> <location filename="../novelwriter/gui/projtree.py" line="1517" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Möchten Sie den Ordner umwandeln zu {0}? Diese Aktion kann nicht rückgängig gemacht werden.</translation> <translation>Möchten Sie den Ordner umwandeln zu {0}? Diese Aktion kann nicht rückgängig gemacht werden.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1541" /> <location filename="../novelwriter/gui/projtree.py" line="1562" />
<source>No documents selected for merging.</source> <source>No documents selected for merging.</source>
<translation>Keine Dokumente zum Zusammenführen ausgewählt.</translation> <translation>Keine Dokumente zum Zusammenführen ausgewählt.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1550" /> <location filename="../novelwriter/gui/projtree.py" line="1571" />
<source>Merged</source> <source>Merged</source>
<translation>Zusammengeführt</translation> <translation>Zusammengeführt</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1630" /> <location filename="../novelwriter/gui/projtree.py" line="1651" />
<location filename="../novelwriter/gui/projtree.py" line="1566" /> <location filename="../novelwriter/gui/projtree.py" line="1587" />
<source>Could not write document content.</source> <source>Could not write document content.</source>
<translation>Inhalt des Dokuments konnte nicht geschrieben werden.</translation> <translation>Inhalt des Dokuments konnte nicht geschrieben werden.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1707" /> <location filename="../novelwriter/gui/projtree.py" line="1728" />
<location filename="../novelwriter/gui/projtree.py" line="1690" /> <location filename="../novelwriter/gui/projtree.py" line="1711" />
<source>There is nowhere to add item with name '{0}'.</source> <source>There is nowhere to add item with name '{0}'.</source>
<translation>Konnte das Element mit dem Namen „{0}“ nirgends hinzufügen.</translation> <translation>Konnte das Element mit dem Namen „{0}“ nirgends hinzufügen.</translation>
</message> </message>
+58 -58
View File
@@ -3254,52 +3254,52 @@
<context> <context>
<name>GuiProjectToolBar</name> <name>GuiProjectToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="230" /> <location filename="../novelwriter/gui/projtree.py" line="234" />
<source>Project Content</source> <source>Project Content</source>
<translation>Project Content</translation> <translation>Project Content</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="238" /> <location filename="../novelwriter/gui/projtree.py" line="242" />
<source>Quick Links</source> <source>Quick Links</source>
<translation>Quick Links</translation> <translation>Quick Links</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="246" /> <location filename="../novelwriter/gui/projtree.py" line="250" />
<source>Move Up</source> <source>Move Up</source>
<translation>Move Up</translation> <translation>Move Up</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="251" /> <location filename="../novelwriter/gui/projtree.py" line="255" />
<source>Move Down</source> <source>Move Down</source>
<translation>Move Down</translation> <translation>Move Down</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="287" /> <location filename="../novelwriter/gui/projtree.py" line="291" />
<source>Add Item</source> <source>Add Item</source>
<translation>Add Item</translation> <translation>Add Item</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="296" /> <location filename="../novelwriter/gui/projtree.py" line="300" />
<source>Expand All</source> <source>Expand All</source>
<translation>Expand All</translation> <translation>Expand All</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="299" /> <location filename="../novelwriter/gui/projtree.py" line="303" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Collapse All</translation> <translation>Collapse All</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="302" /> <location filename="../novelwriter/gui/projtree.py" line="306" />
<source>Undo Move</source> <source>Undo Move</source>
<translation>Undo Move</translation> <translation>Undo Move</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="305" /> <location filename="../novelwriter/gui/projtree.py" line="309" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Empty Trash</translation> <translation>Empty Trash</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="309" /> <location filename="../novelwriter/gui/projtree.py" line="313" />
<source>More Options</source> <source>More Options</source>
<translation>More Options</translation> <translation>More Options</translation>
</message> </message>
@@ -3307,204 +3307,204 @@
<context> <context>
<name>GuiProjectTree</name> <name>GuiProjectTree</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="492" /> <location filename="../novelwriter/gui/projtree.py" line="513" />
<source>Active</source> <source>Active</source>
<translation>Active</translation> <translation>Active</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="493" /> <location filename="../novelwriter/gui/projtree.py" line="514" />
<source>Inactive</source> <source>Inactive</source>
<translation>Inactive</translation> <translation>Inactive</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="560" /> <location filename="../novelwriter/gui/projtree.py" line="581" />
<source>Did not find anywhere to add the file or folder!</source> <source>Did not find anywhere to add the file or folder!</source>
<translation>Did not find anywhere to add the file or folder!</translation> <translation>Did not find anywhere to add the file or folder!</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="572" /> <location filename="../novelwriter/gui/projtree.py" line="593" />
<source>Cannot add new files or folders to the Trash folder.</source> <source>Cannot add new files or folders to the Trash folder.</source>
<translation>Cannot add new files or folders to the Trash folder.</translation> <translation>Cannot add new files or folders to the Trash folder.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="581" /> <location filename="../novelwriter/gui/projtree.py" line="602" />
<source>New Note</source> <source>New Note</source>
<translation>New Note</translation> <translation>New Note</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="584" /> <location filename="../novelwriter/gui/projtree.py" line="605" />
<source>New Chapter</source> <source>New Chapter</source>
<translation>New Chapter</translation> <translation>New Chapter</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="587" /> <location filename="../novelwriter/gui/projtree.py" line="608" />
<source>New Scene</source> <source>New Scene</source>
<translation>New Scene</translation> <translation>New Scene</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="590" /> <location filename="../novelwriter/gui/projtree.py" line="611" />
<source>New Document</source> <source>New Document</source>
<translation>New Document</translation> <translation>New Document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="593" /> <location filename="../novelwriter/gui/projtree.py" line="614" />
<source>New Folder</source> <source>New Folder</source>
<translation>New Folder</translation> <translation>New Folder</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="810" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>There is currently no Trash folder in this project.</translation> <translation>There is currently no Trash folder in this project.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="821" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>The Trash folder is already empty.</translation> <translation>The Trash folder is already empty.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1202" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="827" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Empty Trash</translation> <translation>Empty Trash</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="828" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>Permanently delete {0} file(s) from Trash?</translation> <translation>Permanently delete {0} file(s) from Trash?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="930" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="874" />
<source>Delete</source> <source>Delete</source>
<translation>Delete</translation> <translation>Delete</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="875" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>Move '{0}' to Trash?</translation> <translation>Move '{0}' to Trash?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Root folders can only be deleted when they are empty.</translation> <translation>Root folders can only be deleted when they are empty.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="931" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>Permanently delete '{0}'?</translation> <translation>Permanently delete '{0}'?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1194" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Open Document</source> <source>Open Document</source>
<translation>Open Document</translation> <translation>Open Document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1198" /> <location filename="../novelwriter/gui/projtree.py" line="1219" />
<source>View Document</source> <source>View Document</source>
<translation>View Document</translation> <translation>View Document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1207" /> <location filename="../novelwriter/gui/projtree.py" line="1228" />
<source>Change Label</source> <source>Rename</source>
<translation>Change Label</translation> <translation>Rename</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1211" /> <location filename="../novelwriter/gui/projtree.py" line="1232" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Toggle Active</translation> <translation>Toggle Active</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1216" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Set Status to ...</translation> <translation>Set Status to ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1229" /> <location filename="../novelwriter/gui/projtree.py" line="1250" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Set Importance to ...</translation> <translation>Set Importance to ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1246" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<source>Transform</source> <source>Transform</source>
<translation>Transform</translation> <translation>Transform</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1273" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1267" /> <location filename="../novelwriter/gui/projtree.py" line="1288" />
<location filename="../novelwriter/gui/projtree.py" line="1261" /> <location filename="../novelwriter/gui/projtree.py" line="1282" />
<location filename="../novelwriter/gui/projtree.py" line="1255" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Convert to {0}</translation> <translation>Convert to {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1300" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Merge Child Items into Self</translation> <translation>Merge Child Items into Self</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1281" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Merge Child Items into New</translation> <translation>Merge Child Items into New</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1285" /> <location filename="../novelwriter/gui/projtree.py" line="1306" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Merge Documents in Folder</translation> <translation>Merge Documents in Folder</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1310" />
<source>Split Document by Headers</source> <source>Split Document by Headers</source>
<translation>Split Document by Headers</translation> <translation>Split Document by Headers</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1298" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Expand All</translation> <translation>Expand All</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1300" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Collapse All</translation> <translation>Collapse All</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1304" /> <location filename="../novelwriter/gui/projtree.py" line="1325" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Delete Permanently</translation> <translation>Delete Permanently</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1328" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Move to Trash</translation> <translation>Move to Trash</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1495" /> <location filename="../novelwriter/gui/projtree.py" line="1516" />
<source>Convert Folder</source> <source>Convert Folder</source>
<translation>Convert Folder</translation> <translation>Convert Folder</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1496" /> <location filename="../novelwriter/gui/projtree.py" line="1517" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <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> <translation>Do you want to convert the folder to a {0}? This action cannot be reversed.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1541" /> <location filename="../novelwriter/gui/projtree.py" line="1562" />
<source>No documents selected for merging.</source> <source>No documents selected for merging.</source>
<translation>No documents selected for merging.</translation> <translation>No documents selected for merging.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1550" /> <location filename="../novelwriter/gui/projtree.py" line="1571" />
<source>Merged</source> <source>Merged</source>
<translation>Merged</translation> <translation>Merged</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1630" /> <location filename="../novelwriter/gui/projtree.py" line="1651" />
<location filename="../novelwriter/gui/projtree.py" line="1566" /> <location filename="../novelwriter/gui/projtree.py" line="1587" />
<source>Could not write document content.</source> <source>Could not write document content.</source>
<translation>Could not write document content.</translation> <translation>Could not write document content.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1707" /> <location filename="../novelwriter/gui/projtree.py" line="1728" />
<location filename="../novelwriter/gui/projtree.py" line="1690" /> <location filename="../novelwriter/gui/projtree.py" line="1711" />
<source>There is nowhere to add item with name '{0}'.</source> <source>There is nowhere to add item with name '{0}'.</source>
<translation>There is nowhere to add item with name '{0}'.</translation> <translation>There is nowhere to add item with name '{0}'.</translation>
</message> </message>
+10 -10
View File
@@ -1925,7 +1925,7 @@
<message> <message>
<location filename="../novelwriter/gui/mainmenu.py" line="797" /> <location filename="../novelwriter/gui/mainmenu.py" line="797" />
<source>Check Spelling</source> <source>Check Spelling</source>
<translation>Comprobar Ortografía</translation> <translation>Comprobar la Ortografía</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/mainmenu.py" line="805" /> <location filename="../novelwriter/gui/mainmenu.py" line="805" />
@@ -3352,44 +3352,44 @@
<translation>Nueva Carpeta</translation> <translation>Nueva Carpeta</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="789" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>No hay actualmente una carpeta Papelera en este proyecto.</translation> <translation>No hay actualmente una carpeta Papelera en este proyecto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="800" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>La carpeta Papelera ya está vacía.</translation> <translation>La carpeta Papelera ya está vacía.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1181" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="806" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Vaciar la Papelera</translation> <translation>Vaciar la Papelera</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="807" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>¿Eliminar {0} archivo(s) permanentemente de la Papelera?</translation> <translation>¿Eliminar {0} archivo(s) permanentemente de la Papelera?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="853" />
<source>Delete</source> <source>Delete</source>
<translation>Eliminar</translation> <translation>Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="854" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>¿Mover '{0}' a la Papelera?</translation> <translation>¿Mover '{0}' a la Papelera?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="888" />
<source>Root folders can only be deleted when they are empty.</source> <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> <translation>Las carpetas raíz sólo pueden eliminarse si están vacías.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="910" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>¿Eliminar Permanentemente '{0}'?</translation> <translation>¿Eliminar Permanentemente '{0}'?</translation>
</message> </message>
+58 -58
View File
@@ -3254,52 +3254,52 @@
<context> <context>
<name>GuiProjectToolBar</name> <name>GuiProjectToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="230" /> <location filename="../novelwriter/gui/projtree.py" line="234" />
<source>Project Content</source> <source>Project Content</source>
<translation>Contenuto del progetto</translation> <translation>Contenuto del progetto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="238" /> <location filename="../novelwriter/gui/projtree.py" line="242" />
<source>Quick Links</source> <source>Quick Links</source>
<translation>Collegamenti rapidi</translation> <translation>Collegamenti rapidi</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="246" /> <location filename="../novelwriter/gui/projtree.py" line="250" />
<source>Move Up</source> <source>Move Up</source>
<translation>Sposta su</translation> <translation>Sposta su</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="251" /> <location filename="../novelwriter/gui/projtree.py" line="255" />
<source>Move Down</source> <source>Move Down</source>
<translation>Sposta giù</translation> <translation>Sposta giù</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="287" /> <location filename="../novelwriter/gui/projtree.py" line="291" />
<source>Add Item</source> <source>Add Item</source>
<translation>Aggiungi elemento</translation> <translation>Aggiungi elemento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="296" /> <location filename="../novelwriter/gui/projtree.py" line="300" />
<source>Expand All</source> <source>Expand All</source>
<translation>Espandi tutto</translation> <translation>Espandi tutto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="299" /> <location filename="../novelwriter/gui/projtree.py" line="303" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Collassa tutto</translation> <translation>Collassa tutto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="302" /> <location filename="../novelwriter/gui/projtree.py" line="306" />
<source>Undo Move</source> <source>Undo Move</source>
<translation>Annulla azione</translation> <translation>Annulla azione</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="305" /> <location filename="../novelwriter/gui/projtree.py" line="309" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Svuota il cestino</translation> <translation>Svuota il cestino</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="309" /> <location filename="../novelwriter/gui/projtree.py" line="313" />
<source>More Options</source> <source>More Options</source>
<translation>Altre opzioni</translation> <translation>Altre opzioni</translation>
</message> </message>
@@ -3307,204 +3307,204 @@
<context> <context>
<name>GuiProjectTree</name> <name>GuiProjectTree</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="492" /> <location filename="../novelwriter/gui/projtree.py" line="513" />
<source>Active</source> <source>Active</source>
<translation>Attivo</translation> <translation>Attivo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="493" /> <location filename="../novelwriter/gui/projtree.py" line="514" />
<source>Inactive</source> <source>Inactive</source>
<translation>Inattivo</translation> <translation>Inattivo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="560" /> <location filename="../novelwriter/gui/projtree.py" line="581" />
<source>Did not find anywhere to add the file or folder!</source> <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> <translation>Non è stato trovato alcun posto dove aggiungere il file o la cartella!</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="572" /> <location filename="../novelwriter/gui/projtree.py" line="593" />
<source>Cannot add new files or folders to the Trash folder.</source> <source>Cannot add new files or folders to the Trash folder.</source>
<translation>Impossibile aggiungere nuovi file o cartelle alla cartella Cestino.</translation> <translation>Impossibile aggiungere nuovi file o cartelle alla cartella Cestino.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="581" /> <location filename="../novelwriter/gui/projtree.py" line="602" />
<source>New Note</source> <source>New Note</source>
<translation>Nuova nota</translation> <translation>Nuova nota</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="584" /> <location filename="../novelwriter/gui/projtree.py" line="605" />
<source>New Chapter</source> <source>New Chapter</source>
<translation>Nuovo capitolo</translation> <translation>Nuovo capitolo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="587" /> <location filename="../novelwriter/gui/projtree.py" line="608" />
<source>New Scene</source> <source>New Scene</source>
<translation>Nuova scena</translation> <translation>Nuova scena</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="590" /> <location filename="../novelwriter/gui/projtree.py" line="611" />
<source>New Document</source> <source>New Document</source>
<translation>Nuovo documento</translation> <translation>Nuovo documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="593" /> <location filename="../novelwriter/gui/projtree.py" line="614" />
<source>New Folder</source> <source>New Folder</source>
<translation>Nuova cartella</translation> <translation>Nuova cartella</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="810" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>Al momento non c'è una cartella Cestino in questo progetto.</translation> <translation>Al momento non c'è una cartella Cestino in questo progetto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="821" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>La cartella Cestino è già vuota.</translation> <translation>La cartella Cestino è già vuota.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1202" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="827" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Svuota il cestino</translation> <translation>Svuota il cestino</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="828" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>Eliminare definitivamente {0} file(s) dal cestino?</translation> <translation>Eliminare definitivamente {0} file(s) dal cestino?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="930" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="874" />
<source>Delete</source> <source>Delete</source>
<translation>Elimina</translation> <translation>Elimina</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="875" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>Spostare '{0}' nel Cestino?</translation> <translation>Spostare '{0}' nel Cestino?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Le cartelle radice possono essere eliminate solo quando sono vuote.</translation> <translation>Le cartelle radice possono essere eliminate solo quando sono vuote.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="931" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>Eliminare definitivamente '{0}'?</translation> <translation>Eliminare definitivamente '{0}'?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1194" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Open Document</source> <source>Open Document</source>
<translation>Apri documento</translation> <translation>Apri documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1198" /> <location filename="../novelwriter/gui/projtree.py" line="1219" />
<source>View Document</source> <source>View Document</source>
<translation>Visualizza documento</translation> <translation>Visualizza documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1207" /> <location filename="../novelwriter/gui/projtree.py" line="1228" />
<source>Change Label</source> <source>Rename</source>
<translation>Cambia etichetta</translation> <translation>Rinomina</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1211" /> <location filename="../novelwriter/gui/projtree.py" line="1232" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Attiva/Disattiva</translation> <translation>Attiva/Disattiva</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1216" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Imposta lo stato a ...</translation> <translation>Imposta lo stato a ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1229" /> <location filename="../novelwriter/gui/projtree.py" line="1250" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Imposta importanza a ...</translation> <translation>Imposta importanza a ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1246" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<source>Transform</source> <source>Transform</source>
<translation>Trasforma</translation> <translation>Trasforma</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1273" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1267" /> <location filename="../novelwriter/gui/projtree.py" line="1288" />
<location filename="../novelwriter/gui/projtree.py" line="1261" /> <location filename="../novelwriter/gui/projtree.py" line="1282" />
<location filename="../novelwriter/gui/projtree.py" line="1255" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Converti in {0}</translation> <translation>Converti in {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1300" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Fondi elementi figli</translation> <translation>Fondi elementi figli</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1281" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Fondi elementi figli in uno nuovo</translation> <translation>Fondi elementi figli in uno nuovo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1285" /> <location filename="../novelwriter/gui/projtree.py" line="1306" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Fondi i documenti nella cartella</translation> <translation>Fondi i documenti nella cartella</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1310" />
<source>Split Document by Headers</source> <source>Split Document by Headers</source>
<translation>Dividi il documento per intestazioni</translation> <translation>Dividi il documento per intestazioni</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1298" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Espandi tutto</translation> <translation>Espandi tutto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1300" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Collassa tutto</translation> <translation>Collassa tutto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1304" /> <location filename="../novelwriter/gui/projtree.py" line="1325" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Elimina definitivamente</translation> <translation>Elimina definitivamente</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1328" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Sposta nel Cestino</translation> <translation>Sposta nel Cestino</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1495" /> <location filename="../novelwriter/gui/projtree.py" line="1516" />
<source>Convert Folder</source> <source>Convert Folder</source>
<translation>Converti la cartella</translation> <translation>Converti la cartella</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1496" /> <location filename="../novelwriter/gui/projtree.py" line="1517" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <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> <translation>Vuoi convertire la cartella in un {0}? Questa azione non può essere annullata.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1541" /> <location filename="../novelwriter/gui/projtree.py" line="1562" />
<source>No documents selected for merging.</source> <source>No documents selected for merging.</source>
<translation>Nessun documento selezionato per la fusione.</translation> <translation>Nessun documento selezionato per la fusione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1550" /> <location filename="../novelwriter/gui/projtree.py" line="1571" />
<source>Merged</source> <source>Merged</source>
<translation>Uniti</translation> <translation>Uniti</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1630" /> <location filename="../novelwriter/gui/projtree.py" line="1651" />
<location filename="../novelwriter/gui/projtree.py" line="1566" /> <location filename="../novelwriter/gui/projtree.py" line="1587" />
<source>Could not write document content.</source> <source>Could not write document content.</source>
<translation>Impossibile scrivere il contenuto del documento.</translation> <translation>Impossibile scrivere il contenuto del documento.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1707" /> <location filename="../novelwriter/gui/projtree.py" line="1728" />
<location filename="../novelwriter/gui/projtree.py" line="1690" /> <location filename="../novelwriter/gui/projtree.py" line="1711" />
<source>There is nowhere to add item with name '{0}'.</source> <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> <translation>Non c'è nessun posto dove aggiungere un elemento con il nome '{0}.</translation>
</message> </message>
+4480
View File
File diff suppressed because it is too large Load Diff
+57 -57
View File
@@ -3254,52 +3254,52 @@
<context> <context>
<name>GuiProjectToolBar</name> <name>GuiProjectToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="230" /> <location filename="../novelwriter/gui/projtree.py" line="234" />
<source>Project Content</source> <source>Project Content</source>
<translation>Prosjektets innhold</translation> <translation>Prosjektets innhold</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="238" /> <location filename="../novelwriter/gui/projtree.py" line="242" />
<source>Quick Links</source> <source>Quick Links</source>
<translation>Hurtiglenker</translation> <translation>Hurtiglenker</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="246" /> <location filename="../novelwriter/gui/projtree.py" line="250" />
<source>Move Up</source> <source>Move Up</source>
<translation>Flytt opp</translation> <translation>Flytt opp</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="251" /> <location filename="../novelwriter/gui/projtree.py" line="255" />
<source>Move Down</source> <source>Move Down</source>
<translation>Flytt ned</translation> <translation>Flytt ned</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="287" /> <location filename="../novelwriter/gui/projtree.py" line="291" />
<source>Add Item</source> <source>Add Item</source>
<translation>Legg til element</translation> <translation>Legg til element</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="296" /> <location filename="../novelwriter/gui/projtree.py" line="300" />
<source>Expand All</source> <source>Expand All</source>
<translation>Utvid alle</translation> <translation>Utvid alle</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="299" /> <location filename="../novelwriter/gui/projtree.py" line="303" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Lukk alle</translation> <translation>Lukk alle</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="302" /> <location filename="../novelwriter/gui/projtree.py" line="306" />
<source>Undo Move</source> <source>Undo Move</source>
<translation>Angre flytting</translation> <translation>Angre flytting</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="305" /> <location filename="../novelwriter/gui/projtree.py" line="309" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Tøm papirkurven</translation> <translation>Tøm papirkurven</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="309" /> <location filename="../novelwriter/gui/projtree.py" line="313" />
<source>More Options</source> <source>More Options</source>
<translation>Flere valg</translation> <translation>Flere valg</translation>
</message> </message>
@@ -3307,204 +3307,204 @@
<context> <context>
<name>GuiProjectTree</name> <name>GuiProjectTree</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="492" /> <location filename="../novelwriter/gui/projtree.py" line="513" />
<source>Active</source> <source>Active</source>
<translation>Aktiv</translation> <translation>Aktiv</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="493" /> <location filename="../novelwriter/gui/projtree.py" line="514" />
<source>Inactive</source> <source>Inactive</source>
<translation>Inaktiv</translation> <translation>Inaktiv</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="560" /> <location filename="../novelwriter/gui/projtree.py" line="581" />
<source>Did not find anywhere to add the file or folder!</source> <source>Did not find anywhere to add the file or folder!</source>
<translation>Fant ikke noe sted å legge til filen eller mappen!</translation> <translation>Fant ikke noe sted å legge til filen eller mappen!</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="572" /> <location filename="../novelwriter/gui/projtree.py" line="593" />
<source>Cannot add new files or folders to the Trash folder.</source> <source>Cannot add new files or folders to the Trash folder.</source>
<translation>Kan ikke legge til nye filer eller mapper i papirkurvmappen.</translation> <translation>Kan ikke legge til nye filer eller mapper i papirkurvmappen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="581" /> <location filename="../novelwriter/gui/projtree.py" line="602" />
<source>New Note</source> <source>New Note</source>
<translation>Nytt notat</translation> <translation>Nytt notat</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="584" /> <location filename="../novelwriter/gui/projtree.py" line="605" />
<source>New Chapter</source> <source>New Chapter</source>
<translation>Nytt kapittel</translation> <translation>Nytt kapittel</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="587" /> <location filename="../novelwriter/gui/projtree.py" line="608" />
<source>New Scene</source> <source>New Scene</source>
<translation>Ny scene</translation> <translation>Ny scene</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="590" /> <location filename="../novelwriter/gui/projtree.py" line="611" />
<source>New Document</source> <source>New Document</source>
<translation>Nytt dokument</translation> <translation>Nytt dokument</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="593" /> <location filename="../novelwriter/gui/projtree.py" line="614" />
<source>New Folder</source> <source>New Folder</source>
<translation>Ny mappe</translation> <translation>Ny mappe</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="810" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>Det er for øyeblikket ingen papirkurv i dette prosjektet.</translation> <translation>Det er for øyeblikket ingen papirkurv i dette prosjektet.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="821" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>Papirkurven er allerede tom.</translation> <translation>Papirkurven er allerede tom.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1202" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="827" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Tøm papirkurven</translation> <translation>Tøm papirkurven</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="828" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>Vil du slette {0} filer i papirkurven for godt?</translation> <translation>Vil du slette {0} filer i papirkurven for godt?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="930" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="874" />
<source>Delete</source> <source>Delete</source>
<translation>Slett</translation> <translation>Slett</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="875" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>Vil du flytte filen "{0}" til søpla?</translation> <translation>Vil du flytte filen "{0}" til søpla?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Rotmapper kan bare slettes når de er tomme.</translation> <translation>Rotmapper kan bare slettes når de er tomme.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="931" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>Slette filen "{0}" for godt?</translation> <translation>Slette filen "{0}" for godt?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1194" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Open Document</source> <source>Open Document</source>
<translation>Åpne dokument</translation> <translation>Åpne dokument</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1198" /> <location filename="../novelwriter/gui/projtree.py" line="1219" />
<source>View Document</source> <source>View Document</source>
<translation>Vis dokument</translation> <translation>Vis dokument</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1207" /> <location filename="../novelwriter/gui/projtree.py" line="1228" />
<source>Change Label</source> <source>Rename</source>
<translation>Endre navn</translation> <translation>Endre navn</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1211" /> <location filename="../novelwriter/gui/projtree.py" line="1232" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Aktiver/deaktiver</translation> <translation>Aktiver/deaktiver</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1216" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Sett status til ...</translation> <translation>Sett status til ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1229" /> <location filename="../novelwriter/gui/projtree.py" line="1250" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Sett viktighetsnivå til ...</translation> <translation>Sett viktighetsnivå til ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1246" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<source>Transform</source> <source>Transform</source>
<translation>Transformer</translation> <translation>Transformer</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1273" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1267" /> <location filename="../novelwriter/gui/projtree.py" line="1288" />
<location filename="../novelwriter/gui/projtree.py" line="1261" /> <location filename="../novelwriter/gui/projtree.py" line="1282" />
<location filename="../novelwriter/gui/projtree.py" line="1255" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Konverter til {0}</translation> <translation>Konverter til {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1300" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Lim inn underelementer i dette dokumentet</translation> <translation>Lim inn underelementer i dette dokumentet</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1281" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Lim inn underelementer i nytt dokument</translation> <translation>Lim inn underelementer i nytt dokument</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1285" /> <location filename="../novelwriter/gui/projtree.py" line="1306" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Slå sammen dokumenter i mappen</translation> <translation>Slå sammen dokumenter i mappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1310" />
<source>Split Document by Headers</source> <source>Split Document by Headers</source>
<translation>Del dokumentet etter overskrift</translation> <translation>Del dokumentet etter overskrift</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1298" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Utvid alle</translation> <translation>Utvid alle</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1300" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Lukk alle</translation> <translation>Lukk alle</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1304" /> <location filename="../novelwriter/gui/projtree.py" line="1325" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Slett permanent</translation> <translation>Slett permanent</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1328" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Flytt til papirkurv</translation> <translation>Flytt til papirkurv</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1495" /> <location filename="../novelwriter/gui/projtree.py" line="1516" />
<source>Convert Folder</source> <source>Convert Folder</source>
<translation>Konverter mappe</translation> <translation>Konverter mappe</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1496" /> <location filename="../novelwriter/gui/projtree.py" line="1517" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <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> <translation>Vil du konvertere mappen til et {0}? Denne handlingen kan ikke angres.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1541" /> <location filename="../novelwriter/gui/projtree.py" line="1562" />
<source>No documents selected for merging.</source> <source>No documents selected for merging.</source>
<translation>Ingen dokumenter er valgt for sammenslåing.</translation> <translation>Ingen dokumenter er valgt for sammenslåing.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1550" /> <location filename="../novelwriter/gui/projtree.py" line="1571" />
<source>Merged</source> <source>Merged</source>
<translation>Sammenslått</translation> <translation>Sammenslått</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1630" /> <location filename="../novelwriter/gui/projtree.py" line="1651" />
<location filename="../novelwriter/gui/projtree.py" line="1566" /> <location filename="../novelwriter/gui/projtree.py" line="1587" />
<source>Could not write document content.</source> <source>Could not write document content.</source>
<translation>Kan ikke skrive til dokumentet.</translation> <translation>Kan ikke skrive til dokumentet.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1707" /> <location filename="../novelwriter/gui/projtree.py" line="1728" />
<location filename="../novelwriter/gui/projtree.py" line="1690" /> <location filename="../novelwriter/gui/projtree.py" line="1711" />
<source>There is nowhere to add item with name '{0}'.</source> <source>There is nowhere to add item with name '{0}'.</source>
<translation>Fant ikke noe sted å legge til enheten med navn {0}'.</translation> <translation>Fant ikke noe sted å legge til enheten med navn {0}'.</translation>
</message> </message>
+52 -41
View File
@@ -757,32 +757,32 @@
<context> <context>
<name>GuiDocEditFooter</name> <name>GuiDocEditFooter</name>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2924" /> <location filename="../novelwriter/gui/doceditor.py" line="2931" />
<source>Status</source> <source>Status</source>
<translation>Status</translation> <translation>Status</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="3073" /> <location filename="../novelwriter/gui/doceditor.py" line="3080" />
<source>Line: {0} ({1})</source> <source>Line: {0} ({1})</source>
<translation>Regel: {0} ({1})</translation> <translation>Regel: {0} ({1})</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="3102" /> <location filename="../novelwriter/gui/doceditor.py" line="3109" />
<source>Words: {0} ({1})</source> <source>Words: {0} ({1})</source>
<translation>Woorden: {0} ({1})</translation> <translation>Woorden: {0} ({1})</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="3107" /> <location filename="../novelwriter/gui/doceditor.py" line="3114" />
<source>Document size is {0} bytes</source> <source>Document size is {0} bytes</source>
<translation>Document grootte is {0} bytes</translation> <translation>Document grootte is {0} bytes</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="3119" /> <location filename="../novelwriter/gui/doceditor.py" line="3126" />
<source>Words: {0} selected</source> <source>Words: {0} selected</source>
<translation>Woorden: {0} geselecteerd</translation> <translation>Woorden: {0} geselecteerd</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="3122" /> <location filename="../novelwriter/gui/doceditor.py" line="3129" />
<source>Character count: {0}</source> <source>Character count: {0}</source>
<translation>Aantal tekens: {0}</translation> <translation>Aantal tekens: {0}</translation>
</message> </message>
@@ -790,22 +790,22 @@
<context> <context>
<name>GuiDocEditHeader</name> <name>GuiDocEditHeader</name>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2694" /> <location filename="../novelwriter/gui/doceditor.py" line="2701" />
<source>Edit document label</source> <source>Edit document label</source>
<translation>Bewerk document label</translation> <translation>Bewerk document label</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2703" /> <location filename="../novelwriter/gui/doceditor.py" line="2710" />
<source>Search document</source> <source>Search document</source>
<translation>Doorzoek document</translation> <translation>Doorzoek document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2712" /> <location filename="../novelwriter/gui/doceditor.py" line="2719" />
<source>Toggle Focus Mode</source> <source>Toggle Focus Mode</source>
<translation>Schakel focus modus in/uit</translation> <translation>Schakel focus modus in/uit</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2721" /> <location filename="../novelwriter/gui/doceditor.py" line="2728" />
<source>Close the document</source> <source>Close the document</source>
<translation>Sluit het document</translation> <translation>Sluit het document</translation>
</message> </message>
@@ -813,58 +813,58 @@
<context> <context>
<name>GuiDocEditSearch</name> <name>GuiDocEditSearch</name>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2287" /> <location filename="../novelwriter/gui/doceditor.py" line="2294" />
<location filename="../novelwriter/gui/doceditor.py" line="2274" /> <location filename="../novelwriter/gui/doceditor.py" line="2281" />
<source>Search</source> <source>Search</source>
<translation>Zoek</translation> <translation>Zoek</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2279" /> <location filename="../novelwriter/gui/doceditor.py" line="2286" />
<source>Replace</source> <source>Replace</source>
<translation>Vervang</translation> <translation>Vervang</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2295" /> <location filename="../novelwriter/gui/doceditor.py" line="2302" />
<source>Case Sensitive</source> <source>Case Sensitive</source>
<translation>Hoofdlettergevoelig</translation> <translation>Hoofdlettergevoelig</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2301" /> <location filename="../novelwriter/gui/doceditor.py" line="2308" />
<source>Whole Words Only</source> <source>Whole Words Only</source>
<translation>Alleen hele woorden</translation> <translation>Alleen hele woorden</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2307" /> <location filename="../novelwriter/gui/doceditor.py" line="2314" />
<source>RegEx Mode</source> <source>RegEx Mode</source>
<translation>RegEx modus</translation> <translation>RegEx modus</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2313" /> <location filename="../novelwriter/gui/doceditor.py" line="2320" />
<source>Loop Search</source> <source>Loop Search</source>
<translation>Zoekopdracht lus</translation> <translation>Zoekopdracht lus</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2319" /> <location filename="../novelwriter/gui/doceditor.py" line="2326" />
<source>Search Next File</source> <source>Search Next File</source>
<translation>Doorzoek volgend bestand</translation> <translation>Doorzoek volgend bestand</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2327" /> <location filename="../novelwriter/gui/doceditor.py" line="2334" />
<source>Preserve Case</source> <source>Preserve Case</source>
<translation>Behoud hoofd/kleine letters</translation> <translation>Behoud hoofd/kleine letters</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2335" /> <location filename="../novelwriter/gui/doceditor.py" line="2342" />
<source>Close Search</source> <source>Close Search</source>
<translation>Zoekopdracht afsluiten</translation> <translation>Zoekopdracht afsluiten</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2351" /> <location filename="../novelwriter/gui/doceditor.py" line="2358" />
<source>Find in current document</source> <source>Find in current document</source>
<translation>Zoeken in huidige document</translation> <translation>Zoeken in huidige document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/doceditor.py" line="2356" /> <location filename="../novelwriter/gui/doceditor.py" line="2363" />
<source>Find and replace in current document</source> <source>Find and replace in current document</source>
<translation>Zoek en vervang in huidig document</translation> <translation>Zoek en vervang in huidig document</translation>
</message> </message>
@@ -2050,55 +2050,66 @@
<context> <context>
<name>GuiNovelToolBar</name> <name>GuiNovelToolBar</name>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="207" /> <location filename="../novelwriter/gui/noveltree.py" line="216" />
<source>Outline of {0}</source> <source>Outline of {0}</source>
<translation>Omlijning van {0}</translation> <translation>Omlijning van {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="215" /> <location filename="../novelwriter/gui/noveltree.py" line="224" />
<source>Novel Root</source> <source>Novel Root</source>
<translation>Roman Hoofdmap</translation> <translation>Roman Hoofdmap</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="221" /> <location filename="../novelwriter/gui/noveltree.py" line="230" />
<source>Refresh</source> <source>Refresh</source>
<translation>Verversen</translation> <translation>Verversen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="228" /> <location filename="../novelwriter/gui/noveltree.py" line="237" />
<source>Last Column</source> <source>Last Column</source>
<translation>Laatste Kolom</translation> <translation>Laatste Kolom</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="231" /> <location filename="../novelwriter/gui/noveltree.py" line="240" />
<source>Hidden</source> <source>Hidden</source>
<translation>Verborgen</translation> <translation>Verborgen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="232" /> <location filename="../novelwriter/gui/noveltree.py" line="241" />
<source>Point of View Character</source> <source>Point of View Character</source>
<translation>Perspectief Karakter</translation> <translation>Perspectief Karakter</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="233" /> <location filename="../novelwriter/gui/noveltree.py" line="242" />
<source>Focus Character</source> <source>Focus Character</source>
<translation>Focus Karakter</translation> <translation>Focus Karakter</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="234" /> <location filename="../novelwriter/gui/noveltree.py" line="243" />
<source>Novel Plot</source> <source>Novel Plot</source>
<translation>Roman Plot</translation> <translation>Roman Plot</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="237" /> <location filename="../novelwriter/gui/noveltree.py" line="361" />
<location filename="../novelwriter/gui/noveltree.py" line="246" />
<source>Column Size</source>
<translation>Kolom grootte</translation>
</message>
<message>
<location filename="../novelwriter/gui/noveltree.py" line="250" />
<source>More Options</source> <source>More Options</source>
<translation>Meer Opties</translation> <translation>Meer Opties</translation>
</message> </message>
<message>
<location filename="../novelwriter/gui/noveltree.py" line="361" />
<source>Maximum column size in %</source>
<translation>Maximum kolom grootte in %</translation>
</message>
</context> </context>
<context> <context>
<name>GuiNovelTree</name> <name>GuiNovelTree</name>
<message> <message>
<location filename="../novelwriter/gui/noveltree.py" line="778" /> <location filename="../novelwriter/gui/noveltree.py" line="815" />
<source>No meta data</source> <source>No meta data</source>
<translation>Geen metadata</translation> <translation>Geen metadata</translation>
</message> </message>
@@ -3341,44 +3352,44 @@
<translation>Nieuwe map</translation> <translation>Nieuwe map</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="789" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>Er is momenteel geen Prullenbak map in dit project.</translation> <translation>Er is momenteel geen Prullenbak map in dit project.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="800" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>De Prullenbak map is al leeg.</translation> <translation>De Prullenbak map is al leeg.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1181" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="806" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Prullenbak legen</translation> <translation>Prullenbak legen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="807" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>{0} bestand(en) permanent verwijderen uit de prullenbak?</translation> <translation>{0} bestand(en) permanent verwijderen uit de prullenbak?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="853" />
<source>Delete</source> <source>Delete</source>
<translation>Verwijderen</translation> <translation>Verwijderen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="854" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>Verplaats '{0}' naar Prullenbak?</translation> <translation>Verplaats '{0}' naar Prullenbak?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="888" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Root mappen kunnen alleen verwijderd worden wanneer ze leeg zijn.</translation> <translation>Root mappen kunnen alleen verwijderd worden wanneer ze leeg zijn.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="910" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>'{0}' permanent verwijderen?</translation> <translation>'{0}' permanent verwijderen?</translation>
</message> </message>
+9 -9
View File
@@ -3352,44 +3352,44 @@
<translation>Novo Diretório</translation> <translation>Novo Diretório</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="788" /> <location filename="../novelwriter/gui/projtree.py" line="789" />
<source>There is currently no Trash folder in this project.</source> <source>There is currently no Trash folder in this project.</source>
<translation>Não exite um diretório de Lixeira neste projeto.</translation> <translation>Não exite um diretório de Lixeira neste projeto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="799" /> <location filename="../novelwriter/gui/projtree.py" line="800" />
<source>The Trash folder is already empty.</source> <source>The Trash folder is already empty.</source>
<translation>O diretório de Lixeira já está vazio.</translation> <translation>O diretório de Lixeira já está vazio.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1181" /> <location filename="../novelwriter/gui/projtree.py" line="1181" />
<location filename="../novelwriter/gui/projtree.py" line="805" /> <location filename="../novelwriter/gui/projtree.py" line="806" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Esvaziar a Lixeira</translation> <translation>Esvaziar a Lixeira</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="806" /> <location filename="../novelwriter/gui/projtree.py" line="807" />
<source>Permanently delete {0} file(s) from Trash?</source> <source>Permanently delete {0} file(s) from Trash?</source>
<translation>Permanentemente remover {0} arquivo(s) da Lixeira?</translation> <translation>Permanentemente remover {0} arquivo(s) da Lixeira?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="908" /> <location filename="../novelwriter/gui/projtree.py" line="909" />
<location filename="../novelwriter/gui/projtree.py" line="852" /> <location filename="../novelwriter/gui/projtree.py" line="853" />
<source>Delete</source> <source>Delete</source>
<translation>Excluir</translation> <translation>Excluir</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="853" /> <location filename="../novelwriter/gui/projtree.py" line="854" />
<source>Move '{0}' to Trash?</source> <source>Move '{0}' to Trash?</source>
<translation>Mover '{0}' para a Lixeira?</translation> <translation>Mover '{0}' para a Lixeira?</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="887" /> <location filename="../novelwriter/gui/projtree.py" line="888" />
<source>Root folders can only be deleted when they are empty.</source> <source>Root folders can only be deleted when they are empty.</source>
<translation>Os diretórios-raiz só podem ser excluídos quando estiverem vazios.</translation> <translation>Os diretórios-raiz só podem ser excluídos quando estiverem vazios.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="909" /> <location filename="../novelwriter/gui/projtree.py" line="910" />
<source>Permanently delete '{0}'?</source> <source>Permanently delete '{0}'?</source>
<translation>Excluir permanentemente '{0}?</translation> <translation>Excluir permanentemente '{0}?</translation>
</message> </message>
+6 -4
View File
@@ -59,17 +59,17 @@ __license__ = "GPLv3"
__author__ = "Veronica Berglyd Olsen" __author__ = "Veronica Berglyd Olsen"
__maintainer__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen"
__email__ = "code@vkbo.net" __email__ = "code@vkbo.net"
__version__ = "2.1-alpha0" __version__ = "2.0.6"
__hexversion__ = "0x020100a0" __hexversion__ = "0x020006f0"
__date__ = "2023-02-12" __date__ = "2023-02-26"
__status__ = "Stable" __status__ = "Stable"
__domain__ = "novelwriter.io" __domain__ = "novelwriter.io"
__url__ = "https://novelwriter.io" __url__ = "https://novelwriter.io"
__docurl__ = "https://docs.novelwriter.io/"
__sourceurl__ = "https://github.com/vkbo/novelWriter" __sourceurl__ = "https://github.com/vkbo/novelWriter"
__issuesurl__ = "https://github.com/vkbo/novelWriter/issues" __issuesurl__ = "https://github.com/vkbo/novelWriter/issues"
__helpurl__ = "https://github.com/vkbo/novelWriter/discussions" __helpurl__ = "https://github.com/vkbo/novelWriter/discussions"
__releaseurl__ = "https://github.com/vkbo/novelWriter/releases/latest" __releaseurl__ = "https://github.com/vkbo/novelWriter/releases/latest"
__docurl__ = "https://novelwriter.readthedocs.io"
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -246,6 +246,8 @@ def main(sysArgs=None):
nwApp.setApplicationName(CONFIG.appName) nwApp.setApplicationName(CONFIG.appName)
nwApp.setApplicationVersion(__version__) nwApp.setApplicationVersion(__version__)
nwApp.setOrganizationDomain(__domain__) nwApp.setOrganizationDomain(__domain__)
nwApp.setOrganizationName(__domain__)
nwApp.setDesktopFileName(CONFIG.appName)
# Connect the exception handler before making the main GUI # Connect the exception handler before making the main GUI
sys.excepthook = exceptionHandler sys.excepthook = exceptionHandler
+105
View File
@@ -0,0 +1,105 @@
{
"Synopsis": "あらすじ",
"Comment": "コメント ",
"Notes": "ノート",
"0": "零",
"1": "一",
"2": "二",
"3": "三",
"4": "四",
"5": "五",
"6": "六",
"7": "七",
"8": "八",
"9": "九",
"10": "十",
"11": "十一",
"12": "十二",
"13": "十三",
"14": "十四",
"15": "十五",
"16": "十六",
"17": "十七",
"18": "十八",
"19": "十九",
"20": "二十",
"21": "二十一",
"22": "二十二",
"23": "二十三",
"24": "二十四",
"25": "二十五",
"26": "二十六",
"27": "二十七",
"28": "二十八",
"29": "二十九",
"30": "三十",
"31": "三十一",
"32": "三十二",
"33": "三十三",
"34": "三十四",
"35": "三十五",
"36": "三十六",
"37": "三十七",
"38": "三十八",
"39": "三十九",
"40": "四十",
"41": "四十一",
"42": "四十二",
"43": "四十三",
"44": "四十四",
"45": "四十五",
"46": "四十六",
"47": "四十七",
"48": "四十八",
"49": "四十九",
"50": "五十",
"51": "五十一",
"52": "五十二",
"53": "五十三",
"54": "五十四",
"55": "五十五",
"56": "五十六",
"57": "五十七",
"58": "五十八",
"59": "五十九",
"60": "六十",
"61": "六十一",
"62": "六十二",
"63": "六十三",
"64": "六十四",
"65": "六十五",
"66": "六十六",
"67": "六十七",
"68": "六十八",
"69": "六十九",
"70": "七十",
"71": "七十一",
"72": "七十二",
"73": "七十三",
"74": "七十四",
"75": "七十五",
"76": "七十六",
"77": "七十七",
"78": "七十八",
"79": "七十九",
"80": "八十",
"81": "八十一",
"82": "八十二",
"83": "八十三",
"84": "八十四",
"85": "八十五",
"86": "八十六",
"87": "八十七",
"88": "八十八",
"89": "八十九",
"90": "九十",
"91": "九十一",
"92": "九十二",
"93": "九十三",
"94": "九十四",
"95": "九十五",
"96": "九十六",
"97": "九十七",
"98": "九十八",
"99": "九十九"
}
+1
View File
@@ -26,6 +26,7 @@ translators for the languages currently available:</p>
<b>French:</b> Jan Lüdke (<a href="https://github.com/jyhelle">@jyhelle</a>)<br> <b>French:</b> Jan Lüdke (<a href="https://github.com/jyhelle">@jyhelle</a>)<br>
<b>German:</b> Myian (<a href="https://github.com/heymyian">@heymyian</a>)<br> <b>German:</b> Myian (<a href="https://github.com/heymyian">@heymyian</a>)<br>
<b>Italian:</b> Riccardo Mangili<br> <b>Italian:</b> Riccardo Mangili<br>
<b>Japanese:</b> hebekeg (<a href="https://github.com/hebekeg">@hebekeg</a>)<br>
<b>Latin American Spanish:</b> Tommy Marplatt (<a href="https://github.com/tmarplatt">@tmarplatt</a>)<br> <b>Latin American Spanish:</b> Tommy Marplatt (<a href="https://github.com/tmarplatt">@tmarplatt</a>)<br>
<b>Norwegian:</b> Veronica Berglyd Olsen (<a href="https://github.com/vkbo">@vkbo</a>)<br> <b>Norwegian:</b> Veronica Berglyd Olsen (<a href="https://github.com/vkbo">@vkbo</a>)<br>
<b>Portuguese:</b> Bruno Meneguello (<a href="https://github.com/bkmeneguello">@bkmeneguello</a>)<br> <b>Portuguese:</b> Bruno Meneguello (<a href="https://github.com/bkmeneguello">@bkmeneguello</a>)<br>
+14 -16
View File
@@ -724,14 +724,13 @@ class GuiDocEditor(QTextEdit):
_, theProvider = self.spEnchant.describeDict() _, theProvider = self.spEnchant.describeDict()
self.spellDictionaryChanged.emit(str(theLang), str(theProvider)) self.spellDictionaryChanged.emit(str(theLang), str(theProvider))
if not self._bigDoc: if not self._bigDoc:
self.spellCheckDocument() self.spellCheckDocument()
return True return True
def toggleSpellCheck(self, theMode): def toggleSpellCheck(self, theMode):
"""This is the master spell check setting function, and this one """This is the main spell check setting function, and this one
should call all other setSpellCheck functions in other classes. should call all other setSpellCheck functions in other classes.
If the spell check mode (theMode) is not defined (None), then If the spell check mode (theMode) is not defined (None), then
toggle the current status saved in this class. toggle the current status saved in this class.
@@ -754,7 +753,8 @@ class GuiDocEditor(QTextEdit):
self.mainGui.mainMenu.setSpellCheck(theMode) self.mainGui.mainMenu.setSpellCheck(theMode)
self.theProject.data.setSpellCheck(theMode) self.theProject.data.setSpellCheck(theMode)
self.highLight.setSpellCheck(theMode) self.highLight.setSpellCheck(theMode)
if not self._bigDoc: if not self._bigDoc or theMode is False:
# We don't run the spell checker automatically on big docs
self.spellCheckDocument() self.spellCheckDocument()
logger.debug("Spell check is set to '%s'", str(theMode)) logger.debug("Spell check is set to '%s'", str(theMode))
@@ -768,18 +768,16 @@ class GuiDocEditor(QTextEdit):
the undo stack, so we only do it for big documents. the undo stack, so we only do it for big documents.
""" """
logger.debug("Running spell checker") logger.debug("Running spell checker")
if self._spellCheck: start = time()
bfTime = time() qApp.setOverrideCursor(QCursor(Qt.WaitCursor))
qApp.setOverrideCursor(QCursor(Qt.WaitCursor)) if self._bigDoc:
if self._bigDoc: # This is much faster for large documents
theText = self.getText() self.setPlainText(self.getText())
self.setPlainText(theText) else:
else: self.highLight.rehighlight()
self.highLight.rehighlight() qApp.restoreOverrideCursor()
qApp.restoreOverrideCursor() logger.debug("Document highlighted in %.3f ms", 1000*(time() - start))
afTime = time() self.mainGui.mainStatus.setStatus(self.tr("Spell check complete"))
logger.debug("Document highlighted in %.3f ms", 1000*(afTime-bfTime))
self.mainGui.mainStatus.setStatus(self.tr("Spell check complete"))
return True return True
@@ -1359,7 +1357,7 @@ class GuiDocEditor(QTextEdit):
if self._docHandle is None or self._nwItem is None: if self._docHandle is None or self._nwItem is None:
return return
logger.debug("User selectee %d words", wCount) logger.debug("User selected %d words", wCount)
self.docFooter.updateCounts(wCount=wCount, cCount=cCount) self.docFooter.updateCounts(wCount=wCount, cCount=cCount)
self.wcTimerSel.stop() self.wcTimerSel.stop()
+22 -1
View File
@@ -38,6 +38,7 @@ from PyQt5.QtWidgets import (
QMenu, QShortcut, QSizePolicy, QToolButton, QTreeWidget, QTreeWidgetItem, QMenu, QShortcut, QSizePolicy, QToolButton, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget QVBoxLayout, QWidget
) )
from novelwriter.core.item import NWItem
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
@@ -108,6 +109,9 @@ class GuiProjectView(QWidget):
self.keyContext.setContext(Qt.WidgetShortcut) self.keyContext.setContext(Qt.WidgetShortcut)
self.keyContext.activated.connect(lambda: self.projTree.openContextOnSelected()) self.keyContext.activated.connect(lambda: self.projTree.openContextOnSelected())
# Signals
self.selectedItemChanged.connect(self.projBar._treeSelectionChanged)
# Function Mappings # Function Mappings
self.emptyTrash = self.projTree.emptyTrash self.emptyTrash = self.projTree.emptyTrash
self.requestDeleteItem = self.projTree.requestDeleteItem self.requestDeleteItem = self.projTree.requestDeleteItem
@@ -418,6 +422,23 @@ class GuiProjectToolBar(QWidget):
return return
##
# Slots
##
@pyqtSlot(str)
def _treeSelectionChanged(self, tHandle):
"""Toggle the visibility of the new item enties for novel
documents. They should only be visible if novel documents can
actually be added.
"""
nwItem = self.theProject.tree[tHandle]
allowDoc = isinstance(nwItem, NWItem) and nwItem.documentAllowed()
self.aAddEmpty.setVisible(allowDoc)
self.aAddChap.setVisible(allowDoc)
self.aAddScene.setVisible(allowDoc)
return
# END Class GuiProjectToolBar # END Class GuiProjectToolBar
@@ -1204,7 +1225,7 @@ class GuiProjectTree(QTreeWidget):
# Edit Item Settings # Edit Item Settings
# ================== # ==================
aLabel = ctxMenu.addAction(self.tr("Change Label")) aLabel = ctxMenu.addAction(self.tr("Rename"))
aLabel.triggered.connect(lambda: self.renameTreeItem(tHandle)) aLabel.triggered.connect(lambda: self.renameTreeItem(tHandle))
if isFile: if isFile:
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="2.1-alpha0" hexVersion="0x020100a0" fileVersion="1.5" timeStamp="2023-02-13 00:23:21"> <novelWriterXML appVersion="2.0.6" hexVersion="0x020006f0" fileVersion="1.5" timeStamp="2023-04-04 18:12:56">
<project id="e2be99af-f9bf-4403-857a-c3d1ac25abea" saveCount="1472" autoCount="237" editTime="74447"> <project id="e2be99af-f9bf-4403-857a-c3d1ac25abea" saveCount="1473" autoCount="237" editTime="74507">
<name>Sample Project</name> <name>Sample Project</name>
<title>Sample Project</title> <title>Sample Project</title>
<author>Jane Smith</author> <author>Jane Smith</author>
+1 -1
View File
@@ -25,7 +25,7 @@ classifiers =
Topic :: Text Editors Topic :: Text Editors
project_urls = project_urls =
Bug Tracker = https://github.com/vkbo/novelWriter/issues Bug Tracker = https://github.com/vkbo/novelWriter/issues
Documentation = https://novelwriter.readthedocs.io/en/stable Documentation = https://docs.novelwriter.io
Source Code = https://github.com/vkbo/novelWriter Source Code = https://github.com/vkbo/novelWriter
[options] [options]
+1 -1
View File
@@ -17,5 +17,5 @@ are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and macOS.
novelWriter is developed and maintained by [Veronica Berglyd Olsen](https://github.com/vkbo). novelWriter is developed and maintained by [Veronica Berglyd Olsen](https://github.com/vkbo).
**Website:** https://novelwriter.io **Website:** https://novelwriter.io
**Documentation:** https://novelwriter.readthedocs.io **Documentation:** https://docs.novelwriter.io/
**Source Code:** https://github.com/vkbo/novelWriter **Source Code:** https://github.com/vkbo/novelWriter